@charset "utf-8";

/*********************
* 予約（レースパック・貸切）
* PC用
*********************/

#reservation_rp .page_header {
	background-image: url(../images/reservation/main.jpg);
}

#reservation_rp .s1 {
  margin: 130px 0;
}

#reservation_rp .s1 > p {
  font-size: 1.286em;
  text-align: center;
}

#reservation_rp .s1 > p strong {
  font-size: 1.112em;
}

#reservation_rp .s1 > .btn1 {
  margin: 20px auto 0;
}
#reservation_rp.racepack .s1 > .btn1 {
  width: 500px;
}
#reservation_rp.private .s1 > .btn1 {
  width: 570px;
}

#reservation_rp .s1_box {
  width: 96.25vw;
  border-radius: 20px;
  margin: 90px auto 0;
  padding: 70px 20px;
}
#reservation_rp.racepack .s1_box {
  background-color: #fac000;
}
#reservation_rp.private .s1_box {
  background-color: #f479b3;
}

#reservation_rp .s1_inner {
  background-color: #fff;
  border-radius: 20px;
  padding: 3.34% 5%;
}

#reservation_rp .s1_inner + .s1_inner {
  margin-top: 20px;
}

#reservation_rp .s1_inner h2 {
  font-size: 2.143em;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}

#reservation_rp .s1_inner h3 {
  font-size: 1.714em;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}
#reservation_rp .s1_inner p + h3 {
  margin-top: 20px;
}

#reservation_rp .s1_inner p {
  font-size: 1.143em;
}

#reservation_rp .s1_inner .pink {
  color: #cc4466;
}

#reservation_rp .s2 {
  margin-bottom: 170px;
}

#reservation_rp .s2 h2 {
  font-size: 2.143em;
  line-height: 1.3;
  letter-spacing: .1em;
  background: no-repeat left center;
  margin-bottom: 20px;
  padding-left: 45px;
}
#reservation_rp.racepack .s2 h2 {
  background-image: url(../images/how_to_enjoy_kart/img14.png);
}
#reservation_rp.private .s2 h2 {
  background-image: url(../images/how_to_enjoy_kart/img15.png);
}
#reservation_rp .s2 h2#calendar {
  background-position: left bottom;
  margin-top: -118px;
  padding-top: 118px;
}

#reservation_rp .s2 h2 small {
  font-size: .6em;
  letter-spacing: 0;
  margin-left: 1em;
}

#reservation_rp .s2 .w50 {
  width: 46.67%;
}

#reservation_rp .s2 h3 {
  font-size: 1.286em;
  line-height: 1.3;
  letter-spacing: .1em;
}

#reservation_rp .s2 p {
  font-size: 1.143em;
}

#reservation_rp .s2 .tbl_price + p {
  margin-top: 20px;
}

#reservation_rp .s2 .tbl_price {
  width: 100%;
  table-layout: fixed;
  margin-top: 20px;
}
#reservation_rp.racepack .s2 .tbl_price {
  width: 50%;
}

#reservation_rp .s2 .tbl_price thead tr th {
  font-size: 1.143em;
  font-weight: 700;
  border-left: 1px solid #fff;
  padding: 10px 0;
}

#reservation_rp .s2 .tbl_price thead tr th:first-of-type {
  border-left: none;
  border-radius: 20px 0 0 0;
}
#reservation_rp.racepack .s2 .tbl_price thead tr th {
  background-color: #fff0bf;
}
#reservation_rp.private .s2 .tbl_price thead tr th {
  background-color: #fcd7e8;
}
#reservation_rp.racepack .s2 .tbl_price thead tr th:first-of-type {
  width: 50%;
  background-color: #fcd85f;
}
#reservation_rp.private .s2 .tbl_price thead tr th:first-of-type {
  background-color: #fabbd8;
}
#reservation_rp .s2 .tbl_price thead tr th:last-of-type {
  border-radius: 0 20px 0 0;
}

#reservation_rp .s2 .tbl_price tbody tr th {
  font-size: 1.143em;
  text-align: left;
  line-height: 1.3;
  background-color: #f8f8f8;
  border-bottom: 1px solid #ddd;
  padding: 10px;
  vertical-align: middle;
}

#reservation_rp .s2 .tbl_price tbody tr th small {
  font-size: .875em;
}

#reservation_rp .s2 .tbl_price tbody tr td {
  font-size: 1.143em;
  text-align: center;
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
  vertical-align: middle;
}

#reservation_rp .s2 hr {
  background-color: #999;
  border: none;
  margin: 150px 0 50px;
}

#reservation_rp .s2 .btns {
  margin: 30px 0;
}

#reservation_rp .s2 .btns li {
  font-size: 1.286em;
  color: #425744;
}

#reservation_rp .s2 .btns li a {
  display: flex;
  align-items: center;
  color: #425744;
  text-decoration: none;
}

#reservation_rp .s2 .btns li a span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: #425744;
  border-radius: 50%;
  margin-left: 20px;
}

#reservation_rp .s2 .btns li.prev a span {
  margin: 0 20px 0 0;
}

#reservation_rp .s2 .btns li a span img {
  width: 30px;
}

#reservation_rp .s2 .btns li.prev a span img {
  transform: scale(-1, 1);
}

#reservation_rp .s2 .btns li a:hover {
  text-decoration: underline;
}

#reservation_rp .s2 .tbl_calendar {
  width: 100%;
}

#reservation_rp .s2 .tbl_calendar + .tbl_calendar {
  margin-top: 20px;
}

#reservation_rp .s2 .tbl_calendar thead tr th {
  color: #fff;
  background-color: #425744;
  padding: 1px;
}

#reservation_rp .s2 .tbl_calendar thead tr:first-of-type th:not(:first-of-type) {
  font-size: 1.143em;
  font-weight: 500;
}

#reservation_rp .s2 .tbl_calendar thead tr:nth-of-type(2) th:not(:first-of-type) {
  background-color: #607262;
}

#reservation_rp .s2 .tbl_calendar thead tr th:not(:first-of-type) {
  border-left: 2px solid #fff;
}
#reservation_rp .s2 .tbl_calendar thead tr:nth-of-type(2) th:not(:first-of-type):nth-of-type(odd) {
  border-left: 1px solid rgba(255, 255, 255, .5);
}

#reservation_rp .s2 .tbl_calendar thead tr:first-of-type th:first-of-type {
  border-radius: 20px 0 0 0;
}

#reservation_rp .s2 .tbl_calendar thead tr:first-of-type th:last-of-type {
  border-radius: 0 20px 0 0;
}

#reservation_rp .s2 .tbl_calendar tbody tr th {
  font-weight: 700;
  text-align: left;
  background-color: #f8f8f8;
  border-bottom: 1px solid #ddd;;
  padding: 5px;
}

#reservation_rp .s2 .tbl_calendar tbody tr td {
  text-align: center;
  background-color: #eee;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;;
  padding: 5px;
}

#reservation_rp .s2 .tbl_calendar tbody tr td:nth-of-type(even) {
  border-left-style: dashed;
}

#reservation_rp .s2 .tbl_calendar tbody tr td:first-of-type {
  border-left: 2px solid #fff;
}

#reservation_rp .s2 .tbl_calendar tbody tr td.regok {
  font-size: 1.143em;
  background-color: #fff;
}

#reservation_rp .s2 .tbl_calendar tbody tr td.regok a {
  color: #cc4466;
  text-decoration: none;
}

#reservation_rp .s2 .tbl_calendar tbody tr td.regok a:hover {
  text-decoration: underline;
}

