/* 来場予約 */

@media screen and (min-width: 641px){

#res {
	line-height: 150%;
	}

#res .main {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto 100px auto;
	text-align: center;
	}

#res .main img {
	width: 80%;
	margin: 0px auto 50px auto;
	display: block;
	}

#res .main ol {
	width: 90%;
	margin: 0px auto 0px auto;
	}

#res .main h2 {
	font-size: 21px;
	line-height: 150%;
	color: #DE586A;
	margin: 0px 0px 20px 0px;
	}

#res .off {
	width: 90%;
	max-width: 600px;
	background: #DE586A;
	color: #ffffff;
	margin: 0px auto 80px auto;
	padding: 20px 0px;
	display: block;
	}

#res .off dl {
	width: 90%;
	margin: 0px auto;
	display: table;
	}

#res .off dt {
	width: 30.769%;
	display: table-cell;
	vertical-align: middle;
	}

#res .off dt img {
	width: 100%;
	}

#res .off dd {
	width: 69.230%;
	font-size: 18px;
	padding: 0px 0px 0px 3.846%;
	display: table-cell;
	vertical-align: middle;
	}

#res .off dd h2 {
	font-size: 21px;
	margin: 20px 0px 10px 0px;
	}

#res .off dd h2 font {
	font-size: 60px;
	}

#res .off dd p {
	background: url(../../img/arr01.png) no-repeat right top;
	background-size: 20px auto;
	border-bottom: 2px #ffffff solid;
	line-height: 100%;
	padding: 0px 30px 5px 0px;
	display: table;
	}

#res .poi ul {
	width: 90%;
	max-width: 600px;
	margin: 0px auto 80px auto;
	display: flex;
	flex-wrap: wrap;
	}

#res .poi li {
	width: calc((100% - 0px) / 3);
	font-weight: bold;
	margin: 0px 0px 0px 0px;
	text-align: center;
	}

#res .poi li:last-child {
	margin: 0px;
	}

#res .poi li p {
	max-width: 160px;
	height: 160px;
	background: #EDEBE9;
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	line-height: 160px;
	margin: 0px auto 10px auto;
	}

#res .poi li p img {
	max-width: 70px;
	display: inline-block;
	vertical-align: middle;
	}

#res .poi li:nth-child(1) p img {
	max-width: 100px;
	}

#res .con {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto;
	}

#res .con h2 {
	font-size: 24px;
	margin: 0px 0px 20px 0px;
	text-align: center;
	}

#res form .mod {
	margin: 50px auto;
	}

#res form .mod h3,
#res form .add h3 {
	font-size: 16px;
	color: #DE586A;
	margin: 0px 0px 20px 0px;
	text-align: center;
	}

#res form .mod h3 p,
#res form .add h3 p {
	font-size: 14px;
	margin: 0px 0px 15px 0px;
	}

#res form .mod h3 p font,
#res form .add h3 p font {
	font-size: 24px;
	}

#res form .mod ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	}

#res form .mod label {
	width: calc((100% - 20px) / 3);
	background: #ffffff;
	margin: 0px 10px 30px 0px;
	padding: 0px 0px 50px 0px;
	text-align: center;
	display: block;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2));
	}

#res form .mod label:nth-child(3n) {
	margin: 0px 0px 30px 0px;
	}

#res form .mod label img {
	width: 100%;
	margin: 0px 0px 15px 0px;
	}

#req #res form .mod label img {
	width: 80%;
	max-width: 180px;
	margin: 50px auto 30px auto;
	display: block;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
	}

#res form .mod label h4 {
	font-size: 14px;
	margin: 0px 0px 10px 0px;
	}

#res form .mod label p {
	margin: 0px 8.181%;
	text-align: left;
	}

#res form .mod label span {
  	display: inline-block;
	}

#res form .mod label input[type="radio"],
#res form .mod label input[type="checkbox"] {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	opacity: 0;
	}

#res form .mod label input[type="radio"] + span::before,
#res form .mod label input[type="radio"] + span::after,
#res form .mod label input[type="checkbox"] + span::before,
#res form .mod label input[type="checkbox"] + span::after {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	display: inline-block;
  	content: '';
	}

#res form .mod label input[type="radio"] + span::before,
#res form .mod label input[type="checkbox"] + span::before {
  	width: 100%;
  	height: 100%;
  	z-index: 1;
	}

#res form .mod label input[type="radio"]:checked + span::before,
#res form .mod label input[type="checkbox"]:checked + span::before {
  	border: 3px #DE586A solid;
	}

#res form .mod label font {
	width: 100%;
	background: #111111;
	font-size: 14px;
	font-weight: bold;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	}

#res form .mod label input[type="radio"]:checked + span + font,
#res form .mod label input[type="checkbox"]:checked + span + font {
	display: none;
	}

#res form .mod label strong {
	display: none;
	}

#res form .mod label input[type="radio"]:checked + span + font + strong,
#res form .mod label input[type="checkbox"]:checked + span + font + strong {
	width: 100%;
	background: #DE586A;
	font-size: 14px;
	font-weight: bold;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	display: block;
	}

#res .con .add dl {
	width: 100%;
	margin: 20px 0px 0px 0px;
	overflow: hidden;
	}

#res .con .add dt {
	font-size: 14px;
	font-weight: bold;
	margin: 0px 0px 10px 0px;
	}

#res .con .que dt {
	font-weight: bold;
	}

#res .con .add dt span {
	background: #D1443D;
	font-size: 10px;
	color: #ffffff;
	margin: 0px 10px 0px 0px;
	padding: 3px 5px;
	text-align: center;
	}

#res .con .add dt span.any {
	background: #aaaaaa;
	}

#res .con .add dd input,
#res .con .add dd select,
#res .con .add dd textarea {
	font-size: 14px;
	padding: 15px;
	}

#res .con .add dd input[type="text"],
#res .con .add dd input[type="email"],
#res .con .add dd input[type="tel"] {
	width: 100%;
	}

#res .con [required="required"] {
	background: #DE586A;
	border: 1px #D1443D solid;
	}

#res .con .add dd select {
	margin: 10px 0px 0px 0px;
	}

#res .con .add dd textarea {
	width: 100%;
	}

#res .con .add label {
	display: block;
	}

#res .con .add dd span {
	font-size: 10px;
	margin: 10px 0px 0px 0px;
	display: block;
	}

#res .con .add button {
	width: 90%;
	max-width: 300px;
	background: #FFD814;
	border: none;
	border-radius: 25px;
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	font-family: "Jost", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 50px;
	color: #111111 !important;
	text-decoration: none;
	margin: 40px auto 0px auto;
	display: block;
	cursor: pointer;
	}

#res.tha {
	width: 90%;
	max-width: 800px;
	line-height: 150%;
	margin: 0px auto;
	}

#res.tha h2 {
	font-size: 16px;
	margin: 0px 0px 20px 0px;
	}

}

@media screen and (max-width: 640px){

#res {
	line-height: 150%;
	}

#res .main {
	width: 100%;
	margin: -40px 0px 40px 0px;
	}

#res .main img {
	width: 100%;
	margin: 0px 0px 50px 0px;
	}

#res .main ol {
	width: 90%;
	margin: 0px auto 0px auto;
	}

#res .main h2 {
	font-size: 16px;
	line-height: 150%;
	color: #DE586A;
	margin: 0px 0px 20px 0px;
	}

#res .off {
	width: 90%;
	background: #DE586A;
	color: #ffffff;
	margin: 0px auto 40px auto;
	padding: 15px 0px;
	display: block;
	}

#res .off dl {
	width: 90%;
	margin: 0px auto;
	display: table;
	}

#res .off dt {
	width: 30.769%;
	display: table-cell;
	vertical-align: middle;
	}

#res .off dt img {
	width: 100%;
	}

#res .off dd {
	width: 69.230%;
	padding: 0px 0px 0px 3.846%;
	display: table-cell;
	vertical-align: middle;
	}

#res .off dd h2 {
	font-size: 14px;
	margin: 10px 0px 10px 0px;
	}

#res .off dd h2 font {
	font-size: 36px;
	}

#res .off dd p {
	background: url(../../img/arr01.png) no-repeat right top;
	background-size: 20px auto;
	border-bottom: 2px #ffffff solid;
	line-height: 100%;
	padding: 2px 30px 5px 0px;
	display: table;
	}

#res .poi ul {
	width: 90%;
	margin: 0px auto 50px auto;
	display: flex;
	flex-wrap: wrap;
	}

#res .poi li {
	width: calc((100% - 10px) / 3);
	font-weight: bold;
	margin: 0px 5px 0px 0px;
	text-align: center;
	}

#res .poi li:last-child {
	margin: 0px;
	}

#res .poi li p {
	max-width: 100px;
	height: 100px;
	background: #EDEBE9;
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	line-height: 100px;
	margin: 0px auto 10px auto;
	}

#res .poi li p img {
	max-width: 50px;
	display: inline-block;
	vertical-align: middle;
	}

#res .poi li:nth-child(1) p img {
	max-width: 70px;
	}

#res .con {
	width: 90%;
	margin: 0px auto;
	}

#res .con h2 {
	font-size: 24px;
	margin: 0px 0px 20px 0px;
	text-align: center;
	}

#res form .mod {
	margin: 50px auto;
	}

#res form .mod h3,
#res form .add h3 {
	font-size: 16px;
	color: #DE586A;
	margin: 0px 0px 20px 0px;
	text-align: center;
	}

#res form .mod h3 p,
#res form .add h3 p {
	font-size: 14px;
	margin: 0px 0px 15px 0px;
	}

#res form .mod h3 p font,
#res form .add h3 p font {
	font-size: 24px;
	}

#res form .mod ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	}

#res form .mod label {
	width: calc((100% - 5px) / 2);
	background: #ffffff;
	margin: 0px 5px 30px 0px;
	padding: 0px 0px 50px 0px;
	text-align: center;
	display: block;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2));
	}

#res form .mod label:nth-child(2n) {
	margin: 0px 0px 30px 0px;
	}

#res form .mod label img {
	width: 100%;
	margin: 0px 0px 15px 0px;
	}

#req #res form .mod label img {
	width: 70%;
	max-width: 180px;
	margin: 30px auto 15px auto;
	display: block;
	filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2));
	}

#res form .mod label h4 {
	font-size: 14px;
	margin: 0px 0px 10px 0px;
	}

#res form .mod label p {
	margin: 0px 10%;
	text-align: left;
	}

#res form .mod label span {
  	display: inline-block;
	}

#res form .mod label input[type="radio"],
#res form .mod label input[type="checkbox"] {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	opacity: 0;
	}

#res form .mod label input[type="radio"] + span::before,
#res form .mod label input[type="radio"] + span::after,
#res form .mod label input[type="checkbox"] + span::before,
#res form .mod label input[type="checkbox"] + span::after {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	display: inline-block;
  	content: '';
	}

#res form .mod label input[type="radio"] + span::before,
#res form .mod label input[type="checkbox"] + span::before {
  	width: 100%;
  	height: 100%;
  	z-index: 1;
	}

#res form .mod label input[type="radio"]:checked + span::before,
#res form .mod label input[type="checkbox"]:checked + span::before {
  	border: 3px #DE586A solid;
	}

#res form .mod label font {
	width: 100%;
	background: #111111;
	font-size: 14px;
	font-weight: bold;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	}

#res form .mod label input[type="radio"]:checked + span + font,
#res form .mod label input[type="checkbox"]:checked + span + font {
	display: none;
	}

#res form .mod label strong {
	display: none;
	}

#res form .mod label input[type="radio"]:checked + span + font + strong,
#res form .mod label input[type="checkbox"]:checked + span + font + strong {
	width: 100%;
	background: #DE586A;
	font-size: 14px;
	font-weight: bold;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	display: block;
	}

#res .con .add dl {
	width: 100%;
	margin: 20px 0px 0px 0px;
	overflow: hidden;
	}

#res .con .add dt {
	font-size: 14px;
	font-weight: bold;
	margin: 0px 0px 10px 0px;
	}

#res .con .que dt {
	font-weight: bold;
	}

#res .con .add dt span {
	background: #D1443D;
	font-size: 10px;
	color: #ffffff;
	margin: 0px 10px 0px 0px;
	padding: 3px 5px;
	text-align: center;
	}

#res .con .add dt span.any {
	background: #aaaaaa;
	}

#res .con .add dd input,
#res .con .add dd select,
#res .con .add dd textarea {
	font-size: 14px;
	padding: 15px;
	}

#res .con .add dd input[type="text"],
#res .con .add dd input[type="email"],
#res .con .add dd input[type="tel"] {
	width: 100%;
	}

#res .con [required="required"] {
	background: #DE586A;
	border: 1px #D1443D solid;
	}

#res .con .add dd select {
	margin: 10px 0px 0px 0px;
	}

#res .con .add dd textarea {
	width: 100%;
	}

#res .con .add label {
	display: block;
	}

#res .con .add dd span {
	margin: 10px 0px 0px 0px;
	display: block;
	}

#res .con .add button {
	width: 90%;
	max-width: 300px;
	background: #FFD814;
	border: none;
	border-radius: 25px;
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	font-family: "Jost", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 50px;
	color: #111111 !important;
	text-decoration: none;
	margin: 40px auto 0px auto;
	display: block;
	cursor: pointer;
	}

#res.tha {
	width: 90%;
	line-height: 150%;
	margin: 0px auto;
	}

#res.tha h2 {
	font-size: 16px;
	margin: 0px 0px 20px 0px;
	}

}


