/* 来場予約 */

@media screen and (min-width: 641px){

#res {
	line-height: 200%;
	}

#res .tel {
	width: 90%;
	max-width: 800px;
	height: 200px;
	background: #ffffff;
	border: 5px #bebebe solid;
	margin: 0px auto 130px auto;
	padding: 40px 0px 0px 7%;
	text-align: center;
	position: relative;
	display: table;
	}

#res .tel img {
	height: 140px;
	position: absolute;
    left: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	top: 50%;
	}

#res .tel h3 {
	font-size: 16px;
	margin: 0px 0px 15px 0px;
	}

#res .tel h3 p {
	font-size: 48px;
	margin: 20px 0px 0px 0px;
	}

#res form {
	width: 100%;
	background: #f6f6f6;
	padding: 130px 0px;
	position: relative;
	display: table;
	}

#res form:before {
	content: '';
	width: 1px;
	height: 40px;
	border-right: 1px #ffffff solid;
	position: absolute;
    left: 50%;
	top: 0px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

#res form:after {
	content: '';
	width: 1px;
	height: 40px;
	border-right: 1px #eeeeee solid;
	position: absolute;
    left: 50%;
	top: -40px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

#res form .off {
	width: 90%;
	max-width: 800px;
	margin: 0px auto 80px auto;
	display: block;
	}

#res form .sho {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto 30px auto;
	}

#res form .sho h3,
#res form .add h3 {
	font-size: 18px;
	margin: 0px 0px 50px 0px;
	text-align: center;
	}

#res form .sho h3 br,
#res form .add h3 br {
	display: none;
	}

#res form .sho ul {
	display: flex;
	flex-wrap: wrap;
	}

#res form .sho label {
	width: 47.5%;
	background: #ffffff;
	margin: 0px 5% 50px 0px;
	padding: 50px 5% 108px 5%;
	display: block;
	position: relative;
	cursor: pointer;
	}

#res form .sho label:nth-child(2n) {
	margin: 0px 0px 50px 0px;
	}

#res form .sho label img {
	width: 100%;
	margin: 0px 0px 20px 0px;
	}

#res form .sho label h4 {
	font-size: 14px;
	font-weight: normal;
	margin: 0px 0px 10px 0px;
	}

#res form .sho label h4 p {
	font-size: 21px;
	font-weight: bold;
	margin: 0px 0px 5px 0px;
	}

#res form .sho label a {
	width: 70px;
	background: url(img/map.svg) no-repeat 10px center;
	background-size: auto 14px;
	background-color: #8AA8AB;
	font-weight: bold;
	line-height: 24px;
	color: #ffffff;
	margin: 0px 0px 0px 20px;
	padding: 0px 0px 0px 9px;
	text-align: center;
	display: inline-block;
	position: relative;
	z-index: 2;
	}

#res form .sho label a img {
	height: 14px;
	margin: 0px 5px 0px 0px;
	display: inline-block;
	vertical-align: middle;
	}

#res form .sho label span {
  	display: inline-block;
	}

#res form .sho label input[type="radio"] {
  	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 {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	display: inline-block;
  	content: '';
	}

#res form .sho label input[type="radio"] + span::before {
  	width: 100%;
  	height: 100%;
  	z-index: 1;
	}

#res form .sho label input[type="radio"]:checked + span::before {
  	border: 5px #282828 solid;
	}

#res form .sho label font {
	width: 100%;
	background: #F6F4EE;
	font-size: 16px;
	font-weight: bold;
	line-height: 58px;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	}

#res form .sho label input[type="radio"]:checked + span + font {
	background: #282828;
	color: #ffffff;
	}

#res form .add {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto;
	}

#res form .add dl {
	width: 100%;
	margin: 50px 0px 0px 0px;
	display: table;
	}

#res form .add dl:nth-last-child(2) {
	margin: 50px 0px;
	}

#res form .add dt {
	width: 25%;
	font-weight: bold;
	padding: 0px 3% 0px 0px;
	display: table-cell;
	vertical-align: top;
	}

#res form .add span.req {
	width: 40px;
	background: #474F8F;
	font-size: 12px;
	line-height: 20px;
	color: #ffffff;
	margin: 0px 10px 0px 0px;
	text-align: center;
	display: inline-block;
	}

#res form .add span.any {
	background: #ffffff;
	color: #282828;
	}

#res form .add dd {
	display: table-cell;
	}

#res form .add dd span {
	font-size: 12px;
	color: #cc0000;
	margin: 10px 0px 0px 0px;
	display: block;
	}

#res form input,
#res form select,
#res form textarea {
	border: 1px #bebebe solid;
	}

#res form input[type="text"],
#res form input[type="email"],
#res form input[type="tel"],
#res form textarea {
	width: 100%;
	}

#res form input[type="text"],
#res form input[type="email"],
#res form input[type="tel"],
#res form select,
#res form textarea {
	padding: 20px;
	}

#res form dd.sma input[type="tel"] {
	width: 120px;
	}

#res form input.day {
	width: 300px;
	}

#res form input[type="checkbox"],
#res form input[type="radio"] {
	margin: 0px 5px 0px 0px;
	}

#res form label {
	margin: 0px 3% 10px 0px;
	display: inline-block;
	cursor: pointer;
	}

#res form dd.sma > label {
	margin: 0px 0px 10px 0px;
	display: table;
	}

#res form dd p {
	margin: 0px 0px 10px 0px;
	}

#res form p > label {
	margin: 0px;
	}

#res form .add .pla {
	text-align: center;
	}

#res form .add .pla img {
	width: 100%;
	}

#res form .add .pla h4 {
	font-size: 18px;
	margin: 20px 0px 10px 0px;
	}

#res form .est {
	width: 100%;
	border-top: 1px #bebebe solid;
	border-bottom: 1px #bebebe solid;
	margin: 30px 0px;
	padding: 30px 0px;
	}

#res form .est h4 {
	font-size: 24px;
	color: #cc0000;
	text-align: center;
	}

#res form .est h4 br:nth-child(2) {
	display: none;
	}

#res form .est img {
	width: 100%;
	margin: 30px 0px 10px 0px;
	}

#res form .est dd label {
	margin: 10px 0px 0px 0px;
	display: block;
	}

#res form .est dd ul {
	margin: 0px 0px 20px 0px;
	}

#res form .est dd h5 {
	font-size: 14px;
	margin: 10px 0px 10px 0px;
	}

#res form .cond {
	font-size: 12px;
	line-height: 150%;
	}

#res form .send {
	width: 240px;
	background: #FFD814;
	border: none;
	border-radius: 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	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: 60px;
	color: #282828;
	letter-spacing: 0.1em;
	margin: 50px auto 0px auto;
	text-align: center;
	display: block;
	cursor: pointer;
	}

#res.tha {
	width: 90%;
	max-width: 1000px;
	margin: 0px auto;
	}

#res.tha h2 {
	font-size: 18px;
	margin: 0px 0px 40px 0px;
	}

}

@media screen and (max-width: 640px){

#res {
	line-height: 200%;
	}

#res .mak {
	width: 90%;
	margin: 0px auto;
	}

#res .tel {
	width: 90%;
	background: #ffffff;
	border: 5px #bebebe solid;
	margin: 0px auto 70px auto;
	padding: 30px 0px;
	text-align: center;
	position: relative;
	}

#res .tel img {
	width: 40%;
	margin: 0px auto 20px auto;
	display: block;
	}

#res .tel h3 {
	font-size: 14px;
	margin: 0px 0px 15px 0px;
	}

#res .tel h3 p {
	font-size: 36px;
	margin: 10px 0px 0px 0px;
	}

#res form {
	width: 100%;
	background: #f6f6f6;
	padding: 70px 0px;
	position: relative;
	}

#res form:before {
	content: '';
	width: 1px;
	height: 40px;
	border-right: 1px #ffffff solid;
	position: absolute;
    left: 50%;
	top: 0px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

#res form:after {
	content: '';
	width: 1px;
	height: 40px;
	border-right: 1px #eeeeee solid;
	position: absolute;
    left: 50%;
	top: -40px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

#res form .off {
	width: 90%;
	margin: 0px auto 40px auto;
	display: block;
	}

#res form .sho {
	width: 90%;
	margin: 0px auto 10px auto;
	}

#res form .sho h3,
#res form .add h3 {
	font-size: 16px;
	margin: 0px 0px 30px 0px;
	text-align: center;
	}

#res form .sho label {
	width: 100%;
	background: #ffffff;
	margin: 0px 0px 30px 0px;
	padding: 40px 10% 88px 10%;
	display: block;
	position: relative;
	cursor: pointer;
	}

#res form .sho label:nth-child(2n) {
	margin: 0px 0px 50px 0px;
	}

#res form .sho label img {
	width: 100%;
	margin: 0px 0px 20px 0px;
	}

#res form .sho label h4 {
	font-size: 12px;
	font-weight: normal;
	margin: 0px 0px 10px 0px;
	}

#res form .sho label h4 p {
	font-size: 18px;
	font-weight: bold;
	margin: 0px 0px 5px 0px;
	}

#res form .sho label a {
	width: 70px;
	background: url(img/map.svg) no-repeat 10px center;
	background-size: auto 14px;
	background-color: #8AA8AB;
	font-weight: bold;
	line-height: 24px;
	color: #ffffff;
	margin: 0px 0px 0px 20px;
	padding: 0px 0px 0px 9px;
	text-align: center;
	display: inline-block;
	position: relative;
	z-index: 2;
	}

#res form .sho label a img {
	height: 14px;
	margin: 0px 5px 0px 0px;
	display: inline-block;
	vertical-align: middle;
	}

#res form .sho label span {
  	display: inline-block;
	}

#res form .sho label input[type="radio"] {
  	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 {
  	position: absolute;
  	left: 0px;
  	top: 0px;
  	display: inline-block;
  	content: '';
  	}

#res form .sho label input[type="radio"] + span::before {
  	width: 100%;
  	height: 100%;
  	z-index: 1;
	}

#res form .sho label input[type="radio"]:checked + span::before {
  	border: 5px #282828 solid;
	}

#res form .sho label font {
	width: 100%;
	background: #F6F4EE;
	font-size: 16px;
	font-weight: bold;
	line-height: 58px;
	text-align: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	}

#res form .sho label input[type="radio"]:checked + span + font {
	background: #282828;
	color: #ffffff;
	}

#res form .add {
	width: 90%;
	margin: 0px auto;
	}

#res form .add dl {
	width: 100%;
	margin: 30px 0px 0px 0px;
	}

#res form .add dl:nth-last-child(2) {
	margin: 30px 0px;
	}

#res form .add dt {
	font-weight: bold;
	margin: 0px 0px 10px 0px;
	}

#res form .add span.req {
	width: 36px;
	background: #474F8F;
	font-size: 10px;
	line-height: 20px;
	color: #ffffff;
	margin: 0px 10px 0px 0px;
	text-align: center;
	display: inline-block;
	}

#res form .add span.any {
	background: #ffffff;
	color: #282828;
	}

#res form .add dd br {
	display: none;
	}

#res form .add dd span {
	color: #cc0000;
	margin: 5px 0px 0px 0px;
	display: block;
	}

#res form input,
#res form select,
#res form textarea {
	border: 1px #bebebe solid;
	}

#res form input[type="text"],
#res form input[type="email"],
#res form input[type="tel"],
#res form select,
#res form textarea {
	width: 100%;
	}

#res form input[type="text"],
#res form input[type="email"],
#res form input[type="tel"],
#res form select,
#res form textarea {
	font-size: 14px;
	padding: 20px;
	}

#res form dd.sma input[type="tel"] {
	width: 40%;
	}

#res form select {
	margin: 10px 0px 0px 0px;
	}

#res form input[type="checkbox"],
#res form input[type="radio"] {
	margin: 0px 5px 0px 0px;
	}

#res form label {
	margin: 0px 5% 0px 0px;
	display: inline-block;
	cursor: pointer;
	}

#res form dd.sma > label {
	margin: 0px 0px 10px 0px;
	display: table;
	}

#res form dd p {
	margin: 0px 0px 10px 0px;
	}

#res form p > label {
	margin: 0px;
	}

#res form .add .pla img {
	width: 100%;
	}

#res form .add .pla h4 {
	font-size: 16px;
	margin: 15px 0px 5px 0px;
	text-align: center;
	}

#res form .est {
	width: 100%;
	border-top: 1px #bebebe solid;
	border-bottom: 1px #bebebe solid;
	margin: 20px 0px;
	padding: 20px 0px;
	}

#res form .est h4 {
	font-size: 18px;
	color: #cc0000;
	text-align: center;
	}

#res form .est img {
	width: 100%;
	margin: 20px 0px 0px 0px;
	}

#res form .est dd label {
	margin: 10px 0px 0px 0px;
	display: block;
	}

#res form .est dd ul {
	margin: 0px 0px 20px 0px;
	}

#res form .est dd h5 {
	font-size: 14px;
	margin: 10px 0px 10px 0px;
	}

#res form .cond {
	font-size: 10px;
	line-height: 150%;
	}

#res form .send {
	width: 240px;
	font-family: "Jost", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-size: 17px;
	background: #FFD814;
	border: none;
	border-radius: 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	font-size: 16px;
	font-weight: bold;
	line-height: 60px;
	color: #282828;
	letter-spacing: 0.1em;
	margin: 50px auto 0px auto;
	text-align: center;
	display: block;
	}

#res.tha {
	width: 90%;
	margin: 0px auto;
	}

#res.tha h2 {
	font-size: 16px;
	margin: 0px 0px 30px 0px;
	}

}


