/* 来場予約 */

@media screen and (min-width: 641px){

#res {
	line-height: 200%;
	}

#res .main {
	width: 90%;
	max-width: 1200px;
	margin: 0px auto 80px auto;
	}

#res .main h2 {
	font-size: 32px;
	line-height: 120%;
	margin: 0px 0px 50px 0px;
	text-align: center;
	}

#res .main h2 br:nth-child(2) {
	display: none;
	}

#res .main ol {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	}

#res .main dl {
	width: 31.666%;
	background: #f5f5f5;
	margin: 0px 2.5% 0px 0px;
	position: relative;
	overflow: hidden;
	}

#res .main dl:nth-child(3n) {
	margin: 0px;
	}

#res .main dt {
	position: relative;
	}

#res .main dt img {
	width: 100%;
	}

#res .main dd {
	width: 100%;
	padding: 20px 5.263% 30px 5.263%;
	}

#res .sta {
	width: 90%;
	margin: 0px auto 130px auto;
	}

#res .sta h2 {
	font-size: 21px;
	line-height: 120%;
	margin: 0px auto 40px auto;
	text-align: center;
	display: table;
	position: relative;
	}

#res .sta h2:before {
	content: '';
	width: 2px;
	height: 85px;
	background: #E52082;
	position: absolute;
	left: -25px;
	top: -20px;
    transform: rotate(-20deg);
	}

#res .sta h2:after {
	content: '';
	width: 2px;
	height: 85px;
	background: #E52082;
	position: absolute;
	right: -25px;
	top: -20px;
    transform: rotate(20deg);
	}

#res .sta h2 br:nth-child(1),
#res .sta h2 br:nth-child(3) {
	display: none;
	}

#res .sta img {
	width: 100%;
	max-width: 600px;
	margin: 0px auto;
	display: block;
	}

#res .sta h2 font:before {
	content: '・・・・・・・';
	font-weight: 500;
	position: absolute;
    left: 50%;
	top: -20px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

#res form {
	width: 100%;
	background: #f5f5f5;
	padding: 130px 0px;
	}

#res form .sho {
	width: 90%;
	max-width: 1200px;
	margin: 0px auto 60px auto;
	}

#res form .sho h3 {
	font-size: 21px;
	margin: 0px 0px 40px 0px;
	text-align: center;
	}

#res form .sho h3 br {
	display: none;
	}

#res form .sho ul {
	display: flex;
	flex-wrap: wrap;
	}

#res form .sho label {
	width: 48.333%;
	background: #ffffff;
	margin: 0px 3.333% 40px 0px;
	padding: 0px 0px 90px 0px;
	text-align: center;
	display: block;
	position: relative;
	cursor: pointer;
	overflow: hidden;
	}

#res form .sho label:nth-child(2n) {
	margin: 0px 0px 40px 0px;
	}

#res form .sho label img {
	width: 80%;
	max-width: 480px;
	margin: 50px auto 40px auto;
	display: block;
	}

#res form .sho label h4 {
	width: 90%;
	font-size: 28px;
	letter-spacing: normal;
	margin: 0px auto 20px auto;
	}

#res form .sho label p {
	margin: 0px 8.620%;
	}

#res form .sho label span {
  	display: inline-block;
	}

#res form .sho label input[type="radio"],
#res form .sho label input[type="checkbox"] {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	opacity: 0;
	}

#res form .sho label input[type="radio"] + span::before,
#res form .sho label input[type="radio"] + span::after,
#res form .sho label input[type="checkbox"] + span::before,
#res form .sho label input[type="checkbox"] + span::after {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	display: inline-block;
  	content: '';
	}

#res form .sho label input[type="radio"] + span::before,
#res form .sho label input[type="checkbox"] + span::before {
  	width: 100%;
  	height: 100%;
	border: 5px #999999 solid;
	border-radius: 10px;
  	z-index: 1;
	}

#res form .sho label input[type="radio"]:checked + span::before,
#res form .sho label input[type="checkbox"]:checked + span::before {
  	border: 5px #E52082 solid;
	}

#res form .sho label font {
	width: 100%;
	background: #999999;
	font-size: 21px;
	font-weight: bold;
	line-height: 80px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	}

#res form .sho label input[type="radio"]:checked + span + font,
#res form .sho label input[type="checkbox"]:checked + span + font {
	display: none;
	}

#res form .sho label strong {
	display: none;
	}

#res form .sho label input[type="radio"]:checked + span + font + strong,
#res form .sho label input[type="checkbox"]:checked + span + font + strong {
	width: 100%;
	background: #E52082;
	font-size: 21px;
	font-weight: bold;
	line-height: 80px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	display: block;
	}

#res form .conres {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto 50px auto;
	display: block;
	}

#res form .add {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto;
	}

#res form .cop {
	text-align: center;
	}

#res form .add ol {
	background: #ffffff;
	margin: 50px 0px 0px 0px;
	padding: 50px 5% 100px 5%;
	}

#res form .add dl {
	width: 100%;
	border-top: 1px #e0e0e0 solid;
	padding: 20px 0px;
	display: table;
	}

#res form .add dl:nth-last-child(3) {
	border-bottom: 1px #e0e0e0 solid;
	}

#res form .add dt {
	width: 250px;
	padding: 0px 10px 0px 0px;
	display: table-cell;
	vertical-align: middle;
	}

#res form .add dt span {
	width: 60px;
	background: #FDEEF5;
	border: 1px #E52082 solid;
	font-size: 14px;
	font-weight: bold;
	line-height: 28px;
	color: #E52082;
	margin: 0px 10px 0px 0px;
	text-align: center;
	display: inline-block;
	float: left;
	}

#res form .add dt span.any {
	background: #f8f8f8;
	border: 1px #aaaaaa solid;
	color: #aaaaaa;
	}

#res form .add dd {
	width: calc(100% - 250px);
	display: table-cell;
	}

#res form .add dd strong p {
	font-weight: normal;
	display: inline-block;
	}

#res form .add dd .day:nth-child(2) {
	margin: 20px 0px 0px 0px;
	}

#res form .add dd .day h4 {
	font-size: 16px;
	margin: 0px 0px 10px 0px;
	}

#res form .add dd .pos {
	font-size: 12px;
	margin: 10px 0px 0px 0px;
	}

#res form .add dd input[type="text"],
#res form .add dd input[type="email"],
#res form .add dd input[type="tel"],
#res form .add dd select,
#res form .add dd textarea {
	width: 50%;
	font-size: 16px;
	padding: 20px 15px;
	}

#res form .add dd input[type="checkbox"],
#res form .add dd input[type="radio"] {
	margin: 0px 5px 0px 0px;
	}

#res form .add dd.sma input[type="tel"] {
	width: 100px;
	}

#res form .add dd select {
	width: 40%;
	}

#res form .add dd textarea {
	width: 100%;
	}

#res form .add dd label {
	margin: 0px 0px 0px 0px;
	display: block;
	}

#res form .add dd p {
	width: calc(100% / 2);
	margin: 0px 0px 10px 0px;
	float: left;
	}

#res form .add dd p.lon {
	width: 100%;
	}

#res form .que_btn {
	width: 50%;
	background: #cc0000;
	border-radius: 40px;
	font-size: 24px;
	font-weight: bold;
	line-height: 80px;
	color: #ffffff;
	letter-spacing: 0.1em;
	margin: 70px auto;
	text-align: center;
	position: relative;
	display: block;
	cursor: pointer;
	box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.1);
	}

#res form .que_btn span {
  	display: inline-block;
	}

#res form .que_btn input[type="checkbox"] {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	opacity: 0;
	}

#res form .que_btn input[type="checkbox"] + span::before {
	content: '';
	width: 13px;
	height: 13px;
	border-top: 3px #ffffff solid;
	border-right: 3px #ffffff solid;
	position: absolute;
	right: 32px;
    top: 30px;
	transform: rotate(135deg);
	}

#res form .que_btn input[type="checkbox"]:checked + span::before {
	content: '';
	width: 13px;
	height: 13px;
	border-top: 3px #ffffff solid;
	border-right: 3px #ffffff solid;
	position: absolute;
	right: 32px;
    top: 37px;
	transform: rotate(-45deg);
	}

#res form .que {
	width: 100%;
	border-bottom: 1px #e0e0e0 solid;
	}

#res form #que {
	width: 100%;
	}

#res form #que dl:last-child {
	border-bottom: none;
	}

#res form #que label {
	margin: 0px 0px 5px 0px;
	display: block;
	cursor: pointer;
	}

#res form #que label.oth {
	display: inline-block;
	}

#res form #que select {
	margin: 10px 0px 0px 0px;
	}

#res form #que dd p {
	width: 100%;
	}

#res form .cond {
	font-size: 12px;
	line-height: 150%;
	margin: 30px 0px 0px 0px;
	}

#res form .cond p {
	padding-left: 1em;
	text-indent: -1em;
	}

#res form .send {
	width: 460px;
	background: #FFD814;
	border: none;
	border-radius: 45px;
	font-family: "Jost", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 24px;
	font-weight: bold;
	line-height: 90px;
	color: #111111;
	letter-spacing: 0.1em;
	margin: 50px auto 0px auto;
	text-align: center;
	display: block;
	cursor: pointer;
	box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.1);
	}

#res.tha {
	width: 90%;
	max-width: 800px;
	margin: 0px auto;
	}

#res.tha h2 {
	font-size: 18px;
	margin: 0px 0px 30px 0px;
	}

}

@media screen and (max-width: 640px){

#res {
	line-height: 200%;
	}

#res .main {
	width: 90%;
	margin: 0px auto 40px auto;
	}

#res .main h2 {
	font-size: 21px;
	line-height: 120%;
	margin: 0px 0px 30px 0px;
	text-align: center;
	}

#res .main ol {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	}

#res .main dl {
	width: 100%;
	background: #f5f5f5;
	margin: 0px 0px 10px 0px;
	display: table;
	position: relative;
	overflow: hidden;
	}

#res .main dl:nth-child(3n) {
	margin: 0px;
	}

#res .main dt {
	width: 35%;
	display: table-cell;
	vertical-align: top;
	position: relative;
	}

#res .main dt img {
	width: 100%;
	}

#res .main dd {
	width: 65%;
	line-height: 150%;
	padding: 0px 5%;
	display: table-cell;
	vertical-align: middle;
	}

#res .sta {
	width: 90%;
	margin: 0px auto 70px auto;
	}

#res .sta h2 {
	font-size: 16px;
	line-height: 120%;
	margin: 0px auto 20px auto;
	text-align: center;
	display: table;
	position: relative;
	}

#res .sta h2:before {
	content: '';
	width: 2px;
	height: 85px;
	background: #E52082;
	position: absolute;
	left: -20px;
	top: -5px;
    transform: rotate(-20deg);
	}

#res .sta h2:after {
	content: '';
	width: 2px;
	height: 85px;
	background: #E52082;
	position: absolute;
	right: -20px;
	top: -5px;
    transform: rotate(20deg);
	}

#res .sta img {
	width: 80%;
	margin: 0px auto;
	display: block;
	}

#res .sta h2 font:before {
	content: '・・・・・・・';
	font-weight: 500;
	position: absolute;
    left: 50%;
	top: -20px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

#res form {
	width: 100%;
	background: #f5f5f5;
	padding: 70px 0px;
	}

#res form .conres {
	width: 90%;
	margin: 0px auto 30px auto;
	display: block;
	}

#res form .sho {
	width: 90%;
	margin: 0px auto 50px auto;
	}

#res form .sho h3 {
	font-size: 16px;
	margin: 0px 0px 30px 0px;
	text-align: center;
	}

#res form .sho label {
	width: 100%;
	background: #ffffff;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 60px 0px;
	text-align: center;
	display: block;
	position: relative;
	cursor: pointer;
	overflow: hidden;
	}

#res form .sho label img {
	width: 70%;
	margin: 30px auto 30px auto;
	display: block;
	}

#res form .sho label h4 {
	width: 90%;
	font-size: 21px;
	letter-spacing: normal;
	margin: 0px auto 10px auto;
	}

#res form .sho label p {
	margin: 0px 8.620%;
	text-align: left;
	}

#res form .sho label span {
  	display: inline-block;
	}

#res form .sho label input[type="radio"],
#res form .sho label input[type="checkbox"] {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	opacity: 0;
	}

#res form .sho label input[type="radio"] + span::before,
#res form .sho label input[type="radio"] + span::after,
#res form .sho label input[type="checkbox"] + span::before,
#res form .sho label input[type="checkbox"] + span::after {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	display: inline-block;
  	content: '';
	}

#res form .sho label input[type="radio"] + span::before,
#res form .sho label input[type="checkbox"] + span::before {
  	width: 100%;
  	height: 100%;
	border: 5px #999999 solid;
	border-radius: 10px;
  	z-index: 1;
	}

#res form .sho label input[type="radio"]:checked + span::before,
#res form .sho label input[type="checkbox"]:checked + span::before {
  	border: 5px #E52082 solid;
	}

#res form .sho label font {
	width: 100%;
	background: #999999;
	font-size: 18px;
	font-weight: bold;
	line-height: 60px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	}

#res form .sho label input[type="radio"]:checked + span + font,
#res form .sho label input[type="checkbox"]:checked + span + font {
	display: none;
	}

#res form .sho label strong {
	display: none;
	}

#res form .sho label input[type="radio"]:checked + span + font + strong,
#res form .sho label input[type="checkbox"]:checked + span + font + strong {
	width: 100%;
	background: #E52082;
	font-size: 18px;
	font-weight: bold;
	line-height: 60px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	display: block;
	}

#res form .add {
	width: 90%;
	margin: 0px auto;
	}

#res form .add ol {
	background: #ffffff;
	margin: 30px 0px 0px 0px;
	padding: 30px 5% 50px 5%;
	}

#res form .add dl {
	width: 100%;
	border-top: 1px #e0e0e0 solid;
	padding: 20px 0px;
	display: table;
	}

#res form .add dl:nth-last-child(3) {
	border-bottom: 1px #e0e0e0 solid;
	}

#res form .add dt {
	font-weight: bold;
	margin: 0px 0px 10px 0px;
	}

#res form .add dt span {
	width: 50px;
	background: #FDEEF5;
	border: 1px #E52082 solid;
	font-size: 12px;
	font-weight: bold;
	line-height: 24px;
	color: #E52082;
	margin: 0px 10px 0px 0px;
	text-align: center;
	display: inline-block;
	float: left;
	}

#res form .add dt span.any {
	background: #f8f8f8;
	border: 1px #aaaaaa solid;
	color: #aaaaaa;
	}

#res form .add dd strong p {
	font-weight: normal;
	}

#res form .add dd .day:nth-child(2) {
	margin: 10px 0px 0px 0px;
	}

#res form .add dd .day h4 {
	font-size: 14px;
	margin: 0px 0px 5px 0px;
	}

#res form .add dd .pos {
	font-size: 10px;
	margin: 10px 0px 0px 0px;
	}

#res form .add dd input[type="text"],
#res form .add dd input[type="email"],
#res form .add dd input[type="tel"],
#res form .add dd select,
#res form .add dd textarea {
	width: 100%;
	font-size: 14px;
	padding: 15px;
	}

#res form .add dd input[type="checkbox"],
#res form .add dd input[type="radio"] {
	margin: 0px 5px 0px 0px;
	}

#res form .add dd.sma input[type="tel"] {
	width: 30%;
	}

#res form .add dd select {
	margin: 10px 0px 0px 0px;
	}

#res form .add dd label {
	margin: 0px 5% 0px 0px;
	display: inline-block;
	}

#res form .add dd p {
	margin: 0px 0px 10px 0px;
	}

#res form .que_btn {
	width: 100%;
	background: #cc0000;
	border-radius: 30px;
	font-size: 18px;
	font-weight: bold;
	line-height: 60px;
	letter-spacing: 0.1em;
	color: #ffffff;
	margin: 40px auto;
	text-align: center;
	position: relative;
	display: block;
	box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.1);
	}

#res form .que_btn span {
  	display: inline-block;
	}

#res form .que_btn input[type="checkbox"] {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	opacity: 0;
	}

#res form .que_btn input[type="checkbox"] + span::before {
	content: '';
	width: 6px;
	height: 6px;
	border-top: 2px #ffffff solid;
	border-right: 2px #ffffff solid;
	position: absolute;
	right: 5%;
    top: 25px;
	transform: rotate(135deg);
	}

#res form .que_btn input[type="checkbox"]:checked + span::before {
	content: '';
	width: 6px;
	height: 6px;
	border-top: 2px #ffffff solid;
	border-right: 2px #ffffff solid;
	position: absolute;
	right: 5%;
    top: 28px;
	transform: rotate(-45deg);
	}

#res form .que {
	width: 100%;
	border-bottom: 1px #e0e0e0 solid;
	}

#res form #que {
	width: 100%;
	}

#res form #que dl:last-child {
	border-bottom: none;
	}

#res form #que label {
	margin: 0px 0px 5px 0px;
	display: block;
	cursor: pointer;
	}

#res form #que label.oth {
	display: inline-block;
	}

#res form #que .trigger {
	width: 100%;
	background: #cc0000;
	border-radius: 30px;
	font-size: 18px;
	font-weight: bold;
	line-height: 60px;
	color: #ffffff;
	margin: 0px auto 50px auto;
	text-align: center;
	position: relative;
	box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.1);
	}

#res form #que .trigger:before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 3px #ffffff solid;
	border-right: 3px #ffffff solid;
	position: absolute;
	right: 5%;
    top: 24px;
	transform: rotate(135deg);
	}

#res form #que .trigger.active:before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 3px #ffffff solid;
	border-right: 3px #ffffff solid;
	position: absolute;
	right: 5%;
    top: 27px;
	transform: rotate(-45deg);
	}

#res form #que dl:last-child {
	border-bottom: none;
	}

#res form .cond {
	font-size: 10px;
	line-height: 150%;
	margin: 20px 0px 0px 0px;
	}

#res form .cond p {
	padding-left: 1em;
	text-indent: -1em;
	}

#res form .send {
	width: 300px;
	background: #FFD814;
	border: none;
	border-radius: 45px;
	font-family: "Jost", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 60px;
	color: #111111;
	letter-spacing: 0.1em;
	margin: 30px auto 0px auto;
	text-align: center;
	display: block;
	cursor: pointer;
	box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.1);
	}

#res.tha {
	width: 90%;
	margin: 0px auto;
	}

#res.tha h2 {
	font-size: 16px;
	margin: 0px 0px 20px 0px;
	}

}


