@charset "utf-8";

/*********************
* 予約
*********************/

form select {
	border: 1px solid #f2f2f2;
	border-radius: 0;
	box-shadow: none;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	background-color: #f2f2f2;
	padding: 15px;
}

form input[type="radio"] {
	border: none;
	border-radius: 0;
	box-shadow: none;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	background-color: transparent;
	margin-top: 0;
  margin-left: 0;
  padding: 0;
}

/* PC */
@media print,screen and (min-width: 1001px) {
#reservation .page_header {
	background-image: url(../images/reservation/main.jpg);
}

#reservation .s2 {
  margin: 120px 0;
}

#reservation .s3 {
  margin: 120px 0;
}

#reservation .s3 .contents_inner > p {
  font-size: 1.286em;
  text-align: center;
  margin-bottom: 50px;
}

#reservation .s3 .reservation_tbl {
  max-width: 750px;
  margin: 0 auto;
}

#reservation .s3 .reservation_tbl tr th,
#reservation .s3 .reservation_tbl tr td {
	font-size: 1.143em;
	padding-bottom: 50px;
  vertical-align: top;
}

#reservation .s3 .reservation_tbl tr th {
	width: 175px;
  text-align: left;
}
#reservation .s3 .reservation_tbl tr th.caption1 {
  font-size: 1.286em;
  font-weight: 700;
	text-align: center;
  padding-bottom: 5px;
}

#reservation .s3 .reservation_tbl tr td {
	width: 575px;
}

#reservation .s3 .reservation_tbl tr td input[type="radio"]:nth-of-type(even) {
  margin-left: 50px;
}

#reservation .s3 .reservation_tbl tr td input[type="text"] {
  max-width: 560px;
}

#reservation .s3 .reservation_tbl tr td select {
  margin-bottom: 10px;
}

#reservation .s3 .reservation_tbl .estimated_time {
  width: 50%;
  border: 2px solid #425744;
  padding: 10px;
}

#reservation .s3 .reservation_tbl .estimated_time > dl {
  margin: 5px 0;
  padding: 0 20px;
}

#reservation .s3 .reservation_tbl .estimated_time > p,
#reservation .s3 .reservation_tbl .estimated_time > dl dt,
#reservation .s3 .reservation_tbl .estimated_time > dl dd {
  font-size: inherit;
}

#reservation .s3 .reservation_tbl .estimated_time > dl dt {
  width: 6em;
  text-align: right;
  padding-right: 1em;
}

#reservation .s3 .reservation_tbl .estimated_time > dl dt:first-of-type {
  text-align: center;
}

#reservation .s3 .reservation_tbl .estimated_time > dl dd {
  width: calc(100% - 6em);
}

#reservation .s3 .reservation_tbl .s3_box1 {
  background-color: #f8f8f8;
  border-radius: 20px;
  padding: 20px 0;
}

#reservation .s3 .reservation_tbl .s3_box1 p {
  font-size: inherit;
}

#reservation .s3 .reservation_tbl .s3_box1 span.alert {
  display: block;
  text-align: center;
}

#reservation .s3 .button_bg input {
  width: 780px;
  font-size: 1.429em;
  margin: 0 auto;
	cursor: pointer;
}

#reservation .s3 .inquiry_text {
  font-size: 1.143em;
  text-align: center;
	margin-top: 60px;
}

#reservation .s3 .re_btn {
	width: 100px;
	margin: 30px auto 0;
}

#reservation .s3 .re_btn input {
	display: block;
	width: 100%;
	background-color: #ccc;
  padding: 15px 0;
	transition: ease all .7s;
	cursor: pointer;
}

#reservation .s3 .re_btn input:hover {
	opacity: .7;
}


} /* @media print,screen and (min-width: 1001px) */



/* SP */
@media screen and (max-width: 1000px) {
#reservation .page_header {
	background-image: url(../images/reservation/main_sp.jpg);
}

#reservation .s2 {
  margin: 13vw 0;
}

#reservation .s3 {
  margin: 13vw 0;
}

#reservation .s3 .contents_inner > p {
  font-size: 1.077em;
  text-align: center;
  margin-bottom: 7vw;
}

#reservation .s3 .reservation_tbl {
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-word;
}

#reservation .s3 .reservation_tbl tr th,
#reservation .s3 .reservation_tbl tr td {
  display: block;
}

#reservation .s3 .reservation_tbl tr th {
  text-align: left;
  margin-bottom: 1vw;
}
#reservation .s3 .reservation_tbl tr th.caption1 {
  font-size: 1.154em;
  font-weight: 700;
	text-align: center;
}

#reservation .s3 .reservation_tbl tr td {
	margin-bottom: 5vw;
}

#reservation .s3 .reservation_tbl tr td select {
  margin-bottom: 10px;
}

#reservation .s3 .reservation_tbl tr td input[type="text"] {
  width: 100%;
}

#reservation .s3 .reservation_tbl .estimated_time {
  width: 100%;
  border: 2px solid #425744;
  padding: 3vw;
}

#reservation .s3 .reservation_tbl .estimated_time > dl {
  margin: 1vw 0;
}

#reservation .s3 .reservation_tbl .estimated_time > dl dt {
  width: 6em;
  text-align: right;
  padding-right: 1em;
}

#reservation .s3 .reservation_tbl .estimated_time > dl dt:first-of-type {
  text-align: center;
}

#reservation .s3 .reservation_tbl .estimated_time > dl dd {
  width: calc(100% - 6em);
}

#reservation .s3 .reservation_tbl .s3_box1 {
  background-color: #f8f8f8;
  border-radius: 20px;
  padding: 5vw;
}

#reservation .s3 .reservation_tbl .s3_box1 p {
  font-size: inherit;
}

#reservation .s3 .reservation_tbl .s3_box1 span.alert {
  display: block;
  text-align: center;
}

#reservation .s3 .button_bg input {
  font-size: 1.231em;
  margin: 0 auto;
	cursor: pointer;
}

#reservation .s3 .inquiry_text {
	margin-top: 10vw;
}

#reservation .s3 .re_btn {
	width: 5em;
	margin: 7vw auto 0;
}

#reservation .s3 .re_btn input {
  display: block;
  width: 100%;
  background-color: #ccc;
  border-radius: 5px;
  padding-top: 2vw;
  padding-bottom: 2vw;
  cursor: pointer;
}

} /* @media screen and (max-width: 1000px) */