@charset "utf-8";

/* =========================================================
 料金表
========================================================= */
.admissionBlock p {
  font-size: 14px;
  font-weight: bold;
  height: 35px;
  line-height: 35px;
  position: relative;
  background-color: #feffdd;
  text-indent: 10px;
  border-bottom: 1px solid #925932;
}

.admissionBlock p:last-of-type {
  border-bottom: none;
}

.admissionBlock span {
  position: absolute;
  right: 0;
  font-size: 16px;
  background-color: #ffffff;
  display: inline-block;
  width: 222px;
  margin-right: 0;
  border-left: 1px solid #925932;
}

#mainPriceWrap {
  position: relative;
  border: 1px solid #614243;
  box-sizing: border-box;
}

.mainPrice {
  /* position: relative; */
}

#mainPriceWrap h4 {
  margin: 0 auto;
}

#mainPriceWrap .extentionPrice {
  background-color: #ff7386;
  color: #ffffff;
  margin: 0 auto;
  text-align: center;
}

.meetingPlan {
  position: absolute;
  left: 396px;
  bottom: 97px;
}

.transportationPriceBox {
  width: 720px;
  margin: 45px auto 58px;
  position: relative;
}

.transportationLink {
  /* position: absolute; */
  bottom: 19px;
  width: 719px;
  height: 36px;
  /* background: url(/img/system/bg_transportationLink.png); */
  /* background-repeat: no-repeat; */
  /* background-position: left top; */
  left: 20px;
  margin-top: 15px;
  background-color: #FF6375;
  padding: 2px;
  box-sizing: border-box;
  transition: all .2s ease;
}

.transportationLink:hover {
  /* background-position: left bottom; */
}

.transportationLink a {
  /* text-indent: -9999px; */
  display: block;
  height: 100%;
  width: 100%;
  background-color: #fff4f5;
  text-decoration: none;
  color: #7e6465;
  line-height: 32px;
  font-size: 15px;
  transition: all .2s ease;
}

.deliveryInfoNav {
  margin: 20px 0 10px;
}

/*入会とデリバリー項目*/
.priceContent {
  margin-bottom: 9px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.members {
  border: 1px solid #b9bdc2;
  background-color: #ffffff;
  width: 100%;
  /* height: 100%; */
  box-sizing: border-box;
  margin-top: 12px;
}

.members .menberTittle {
  border-bottom: 1px solid #b9bdc2;
  background-color: #ff697b;
  height: 33px;
  color: #ffffff;
}

.members .menberTittle a {
  color: #ffffff;
}

.members .menberTittle div {
  float: left;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 32px;
  margin-left: 4px;
  padding-top: 2px;
  position: relative;
}

.members .menberTittle div img {
  padding-right: 10px;
  height: 29px;
  width: auto;
}

.members .menberTittle p {
  float: right;
  font-size: 12px;
  margin-right: 10px;
  margin-top: 13px;
}

.members>ul {
  margin: 10px auto 16px;
}

.members ul li {
  font-size: 14px;
  margin-top: 6px;
  text-indent: 1.0em;
}

.members ul li::before {
  content: "・";
}

.members:nth-child(2) ul li:last-child {
  text-indent: 1em;
}

.members:nth-child(2) ul li:last-child::before {
  content: "";
}

/*クレジット*/
#credit {
  border: 2px dotted #8e8e8e;
  padding: 10px;
  width: 49.5%;
  /* background: url("/img/system/bg_credit.jpg"); */
  box-sizing: border-box;
  margin-bottom: 15px;
}

.creditTitle {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.creditTitle h4 {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}

.credit_link {
  margin: 0;
}

.credit_link a {
  font-size: 12px;
  letter-spacing: 0.8px;
  color: #301500;
}

.creditImg {
  clear: both;
  width: 50%;
}

#rightContents .creditText {
  font-size: 14px;
  letter-spacing: -0.2px;
  line-height: 1.3em;
  margin: 8px 0 0;
  color: #1d1e1f;
}

#rightContents .creditText:first-of-type {
  margin-top: 0;
}

/* =========================================================
 ご利用にあたって
========================================================= */
#cautionNeeded {
  margin-top: 20px;
}

#cautionNeeded li {
  /* line-height: 1.43em; */
}

.course {
  margin-bottom: 20px;
}

.accordionTrigger {
  background-image: url(/img/system/icon_open.png);
  background-repeat: no-repeat;
  color: #0000ff;
  cursor: pointer;
  font-weight: normal;
  margin: 0 auto;
  text-decoration: underline;
}

.accordionTrigger.opened {
  background-image: url(/img/system/icon_close.png);
  text-decoration: none;
}

.accordionContents {
  letter-spacing: 0.05em;
  margin: 0 auto;
  width: 97%;
}

#cautionNeeded .accordionContents p {
  margin-top: 0;
}

.notesBox li {
  list-style: inside;
}

.pinkText {
  color: #ff697b;
  font-weight: bold;
}

/* 近郊デリいたします */
.transportationWrap {
  background-color: #FF7A8C;
  font-family: genjyu_pb, sans-serif;
  text-align: center;
  position: relative;
}

.transportationWrap::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #FF7A8C;
  border-top: 0;
  position: absolute;
}

.transportationWrap h4 {
  color: #ffffff;
  letter-spacing: 0.1em;
}

.transportationWrap>p {
  color: #ffffff;
  line-height: 1.5;
}

.transportationWrap>p span {
  color: #FFFEA3;
}

.deliPrice {
  background-color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.deliPrice::after {
  content: "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・";
  position: absolute;
}

.deliPrice p {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
}

.deliPrice p:first-of-type {
  color: #654647;
}

.deliPrice p:last-of-type {
  color: #FF435C;
}

/* 2025.2交通費 */
.deliveryMap {
  border: 1px solid #ff7a8c;
  box-sizing: border-box;
  width: 100%;
}

.deliveryMap img {
  width: 100%;
}

.deliveryFeeBox table {
  border: 1px solid #ff7a8c;
}

.deliveryFeeBox tr {
  border-bottom: 1px solid #ff7a8c;
}

.deliveryFeeBox tr:last-of-type {
  border-bottom: 0;
}

.deliveryFeeBox td {
  vertical-align: middle;
  color: #614243;
  background-color: #ffffff;
}

.deliveryFeeBox td:last-of-type {
  border-left: 1px solid #ff7a8c;
  text-align: center;
}

.mapHotelLink {
  background-color: #ffffff;
}

.mapHotelLink a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: #ffffff;
  background-color: #ff7a8c;
  border-bottom-color: #c9364a;
  border-bottom-style: solid;
  text-align: center;
  font-weight: bold;
}

.mapHotelLink a::first-letter {
  font-size: 0.7em;
  display: inline-block;
  margin-right: 0.25em;
  vertical-align: 0.13em;
}

p.deliText {
  line-height: 1.5;
}

/* =========================================================
 PC用
========================================================= */
@media screen and (min-width: 769px) {
  #cautionNeeded p:last-of-type {
    /* font-size: 12px; */
    /* margin-bottom: 25px; */
  }

  .cautionNeeded ul {
    margin: 10px auto 25px;
  }

  .notesBox {
    margin: 20px 0;
  }

  .accordionTrigger {
    background-image: url(/img/system/icon_open.png);
    background-repeat: no-repeat;
    color: #0000ff;
    cursor: pointer;
    font-size: 12px;
    font-weight: normal;
    height: 15px;
    line-height: 15px;
    margin: 0 auto 10px;
    padding: 0 0 0 25px;
    text-decoration: underline;
  }

  .accordionTrigger.opened {
    background-image: url(/img/system/icon_close.png);
    text-decoration: none;
  }

  .accordionContents {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 17px;
    margin: 0 auto 20px;
    width: 97%;
  }

  #cautionNeeded .accordionContents p {
    margin-top: 0;
  }

  #option {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
  }

  .admissionBlock {
    /* height: 100%; */
    border: 1px solid #925932;
    box-sizing: border-box;
    /* width: 49.5%; */
    /* margin-bottom: 15px; */
  }

  /* 2008バナーエリア追加 */
  .benefitsBanner {
    background-color: #ffffff;
    width: 760px;
    margin: 15px auto;
  }

  .benefitsBanner img:hover {
    opacity: 0.8;
    transition: all .3s ease;
  }

  .members .menberTittle a::before {
    content: ">";
  }

  .annotationText {
    font-size: 12px;
    margin-bottom: 10px;
    line-height: 1.3;
  }

  .prev {
    text-indent: -9999px;
    background: url('/img/system/btn_Movie.png');
    width: 100px;
    height: 24px;
    position: absolute;
    right: 4px;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 3px -2px rgba(0, 0, 0, 0.2);
  }

  .GCourse .prev,
  .ICourse .prev {
    text-indent: -9999px;
    background: url(/img/system/btn_noMovie.png);
    width: 102px;
    height: 38px;
    position: absolute;
    right: 4px;
    top: -4% !important;
    box-shadow: 0 2px 3px -2px rgba(0, 0, 0, 0.2);
  }

  .prev:hover {
    background-position: left bottom;
  }

  .neighboringDeli {
    position: relative;
  }

  .neighboringDeliText {
    position: absolute;
    font-size: 12px;
    color: #232323;
    bottom: 111px;
    left: 46px;
    letter-spacing: -0.2px;
    line-height: 1.5em;
  }

  p.mapHotelLink {
    /* position: absolute; */
    /* left: 33px; */
    /* bottom: 38px; */
  }


  /* 共通部分　見出しと背景 */
  .CourseBox {
    border: 1px solid #715139;
    background-color: #ffd850;
    background: url('/img/system/bg_systemContents.png');
    border-radius: 5px;
    margin-bottom: 20px;
    position: relative;
    /* z-index: 0; */
  }

  .CourseBox h4 {
    background-color: #875431;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    height: 45px;
    line-height: 2.6em;
    text-indent: 1.1em;
    border-radius: 5px 5px 0 0;
    margin-bottom: 24px;
  }

  .CourseBox h4 span {
    font-weight: bold;
    font-size: 13px;
    margin-left: 14px;
  }

  .CourseContents {
    position: relative;
    width: 720px;
    margin: 0 auto 19px;
  }

  #pack .CourseContents {
    margin-left: 7px;
    margin-bottom: 10px;
  }

  #pack .prev {
    right: 4px;
    top: 3%;
  }

  #pack .noPrev {
    position: absolute;
    right: 3px;
    top: -11px;
  }

  #mirudakeCourse {
    background: url('/img/system/img_mirudakeCourse.png') no-repeat;
    height: 132px;
  }

  #tekokiCourse {
    background: url('/img/system/img_tekokiCourse.png') no-repeat;
    height: 132px;
  }

  #relaxationCourse {
    background: url('/img/system/img_relaxationCourse.png') no-repeat;
    height: 132px;
  }

  #pack>p {
    font-size: 12px;
    line-height: 1.2em;
    padding: 0 0 20px 130px;
    opacity: 0.8;
  }



  .extensionFee {
    border: 1px solid #a38d7d;
    color: #a38d7d;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: -10px;
    padding: 14px 0;
    text-align: center;
  }

  /* デリバリー部分画像 */
  .CourseBox .deliImg {
    margin: 19px;
  }

  /* 料金表HTML化 */
  #mainPriceWrap {
    background: url(/img/system/bg_price_top.png) no-repeat left top/contain, url(/img/system/bg_price_bottom.png) no-repeat left bottom/contain, url(/img/system/bg_price_base.jpg) left top/200px;
    margin-bottom: 50px;
  }

  .mainPrice {
    margin-top: 40px;
  }

  #mainPriceWrap h4 {
    width: 266px;
  }

  .priceImageBox {
    height: 696px;
  }

  .mainPrice .priceImageBox img.forPc {
    position: relative;
  }

  #mainPriceWrap .extentionPrice {
    width: 340px;
    line-height: 34px;
    font-size: 17px;
  }

  .priceTextBox {
    width: 690px;
    margin: 20px auto 30px;
  }

  .mainPrice .priceTextBox .priceRow {
    left: 33px;
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    /* width: 650px; */
    margin: 0 auto;
    padding: 15px 18px 15px 10px;
    border-bottom: 1px solid #ff7386;
  }

  .mainPrice .priceTextBox .priceRow p {
    /* display: inline; */
    color: #ff7386;
    font-weight: bold;
    font-family: genjyu_pb, sans-serif;
  }

  .mainPrice .priceTextBox .priceRow p.forPc span.circle {
    background: #ff7386;
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 15px;
    color: #000;
    margin-right: 6px;
  }

  .mainPrice .priceTextBox .priceRow p.forPc span.circle:last-of-type {
    margin-right: 0;
  }

  .mainPrice .priceTextBox .priceRow p:first-of-type {
    font-size: 60px;
    margin-right: 20px;
    width: 150px;
  }

  .mainPrice .priceTextBox .priceRow p:first-of-type span {
    font-size: 33px;
    font-weight: bold;
  }

  .mainPrice .priceTextBox .priceRow p:nth-of-type(2) {
    color: #fff;
    background-color: #ff7386;
    display: inline-block;
    width: 135px;
    line-height: 37px;
    text-align: center;
    /* padding: 5px 0; */
    font-size: 23px;
    border-radius: 4px;
    vertical-align: 4px;
  }

  .mainPrice .priceTextBox .priceRow p:nth-of-type(3) {
    /* margin-right: 18px; */
    margin-left: 10px;
    vertical-align: super;
    width: 33px;
  }

  .mainPrice .priceTextBox .priceRow p:last-of-type {
    font-size: 72px;
    width: 270px;
  }

  .mainPrice .priceTextBox .priceRow p:last-of-type span {
    font-size: 38px;
    font-weight: bold;
  }

  .mainPrice .priceTextBox .priceRow p:last-of-type span:first-of-type {
    font-size: 50px;
    font-weight: bold;
  }

  .mainPrice .priceTextBox p.grayText {
    text-align: center;
    position: absolute;
    top: 640px;
    left: 50%;
    transform: translateX(-50%);
    color: #848484;
    /* font-weight: bold; */
    font-size: 15px;
  }

  /* 料金表HTML化ここまで */

  /* 追加オプション
  --------------------------------------------------------- */
  #option .optionText {
    font-weight: bold;
    margin: 20px auto 12px;
    width: 720px;
  }

  .optionList {
    width: 507px;
    /* margin: 0 auto; */
  }

  /* 動画再生用の装飾
  --------------------------------------------------------- */
  .videoWrap {
    position: fixed;
    top: 150px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1000 !important;
    width: 854px;
  }

  video {
    display: none;
  }

  video p {
    color: #ffffff;
  }

  /*ライトボックス*/
  #overlayBox {
    border: 2px solid #ffffff;
    color: #ffffff;
    cursor: pointer;
    display: none;
    font-size: 40px;
    height: 38px;
    margin: 0 auto;
    position: absolute;
    right: 0;
    text-align: center;
    top: -42px;
    width: 38px;
    z-index: 1001;
  }

  #overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    background-color: #000000;
    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    z-index: -1;
    left: 0;
  }

  article:first-of-type {
    position: relative;
    z-index: 1;
  }

  .course {
    position: relative;
    width: 95%;
    margin: 0 auto;
    /* z-index: 1; */
    margin-top: 3%;
    margin-bottom: 3%;
  }

  /* #basic .course:nth-of-type(1) {
    z-index: 0;
  } */

  #basic .course:nth-of-type(2) {
    z-index: 0;
  }

  .course h5 {
    font-weight: bold;
    font-size: 30px;
    color: #ff4c62;
    text-indent: 16px;
    line-height: 1.5;
    position: relative;
    margin-left: 9px;
    text-shadow: #ffffff 1px 1px 5px, #ffffff -1px 1px 5px,
      #ffffff 1px -1px 5px, #ffffff -1px -1px 5px;
    z-index: 1;
  }

  .course h5 span {
    font-size: 41px;
    font-weight: bold;
    color: #ffffff;
    letter-spacing: 3px;
    float: left;
    line-height: 1.35;
    text-shadow: none;
  }

  .course h5::before {
    background-image: url(/img/system/img_heart.png);
    background-repeat: no-repeat;
    content: "";
    height: 170%;
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    z-index: -1;
  }

  .course h5::after {
    content: "";
    display: block;
    width: 89%;
    height: 1px;
    background: #ff4c62;
    position: absolute;
    top: 37px;
    left: 77px;
  }

  .course p.underTitle {
    color: #4e2509;
    margin-left: 87px;
  }

  .course table,
  .packCourse table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 1px 0;
  }

  .course table {
    margin-top: 10px;
    margin-bottom: 12px;
  }

  .packCourse table {
    margin-top: 3px;
    margin-bottom: 14px;
  }

  .course table tr,
  .packCourse table tr {
    font-size: 18px;
  }

  .course table tr {
    letter-spacing: 1px;
  }

  .course table th,
  .course table td,
  .packCourse table th,
  .packCourse table td {
    font-weight: bold;
    text-align: center;
    /* width: 16.67%; */
    width: 14.285%;
  }

  .course table th:last-child,
  .course table td:last-child,
  .packCourse table th:last-child,
  .packCourse table td:last-child {
    margin-right: 0;
  }

  .course table th,
  .packCourse table th {
    background-color: #ff8192;
    color: #ffffff;
    padding: 4px 0 5px;
    position: relative;
  }

  /* .course table th:nth-child(3), .packCourse table th:nth-child(3) {
    border-top: 3px solid #ff4c62;
    border-right: 3px solid #ff4c62;
    border-left: 3px solid #ff4c62;
  } */

  #pack.CourseBox h4 {
    margin-bottom: 10px;
  }

  .packCourse table th:nth-child(3) {
    text-indent: 5px;
  }

  .course table th:nth-child(3)::before,
  .packCourse table th:nth-child(3)::before {
    background-image: url(/img/system/img_no1.png);
    background-repeat: no-repeat;
    content: "";
    height: 30px;
    position: absolute;
    top: -2px;
    left: -2px;
    width: 100%;
  }

  .course table td,
  .packCourse table td {
    background-color: #ffedef;
    color: #ff8192;
    padding: 6px 0 3px;
  }

  .packCourse {
    position: relative;
    width: 95%;
    margin: 0 auto;
    margin-bottom: 3%;
  }

  .courseLeft {
    float: left;
    width: 15%;
    position: relative;
    margin-top: 8px;
  }

  .courseRight {
    float: left;
    width: 85%;
  }

  .callout {
    background: url(/img/system/img_callout.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 110%;
    height: 65px;
    position: absolute;
    top: 75px;
    left: -8px;
    transform: rotate(-4deg);
    filter: drop-shadow(0px 2px 1px rgba(0, 0, 0, 0.3));
  }

  .callout p {
    color: #ff697b;
    font-size: 14px;
    font-weight: bold;
    margin: 5px 0 0 11px;
    transform: rotate(-8deg);
  }

  .callout p span.large {
    font-size: 26px;
    font-weight: bold;
  }

  .callout p span.medium {
    font-size: 16px;
    font-weight: bold;
  }

  .callout p span.small {
    font-size: 12px;
    font-weight: bold;
    text-align: right;
    width: 91px;
    display: inline-block;
  }

  .packCourse h5 {
    font-weight: bold;
    font-size: 16px;
    color: #ff4c62;
    /* text-indent: 50px; */
    line-height: 1.5;
    /* letter-spacing: 1pt; */
    position: relative;
    text-shadow: #ffffff 1px 1px 10px, #ffffff -1px 1px 10px, #ffffff 1px -1px 10px, #ffffff -1px -1px 10px;
    padding-bottom: 2%;
  }

  .packCourse h5::before {
    background-image: url(/img/system/img_handJob.png);
    background-repeat: no-repeat;
    content: "";
    height: 30px;
    position: absolute;
    top: 6px;
    left: 0;
    width: 100%;
  }

  .packCourse h5::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #ff8192;
    position: absolute;
    top: 34px;
    left: 0;
  }

  .packRanking {
    width: 722px;
    margin: 0 auto 24px;
  }

  .packRanking ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto 2px;
  }

  .packRanking li {
    width: 117px;
    height: 58px;
    line-height: 60px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
  }

  .packRanking li:nth-of-type(odd) {
    background-color: #ff8192;
    color: #ffffff;
  }

  .packRanking li:nth-of-type(even) {
    background-color: #ffedef;
    color: #ff4c62;
  }

  .packRanking li:nth-of-type(2) {
    width: 359px;
    text-align: left;
    text-indent: 20px;
  }

  .course h6 {
    color: #ff4c62;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
    text-shadow: #ffffff 1px 1px 5px, #ffffff -1px 1px 5px, #ffffff 1px -1px 5px, #ffffff -1px -1px 5px;
    border-bottom: 1px solid #ff4c62;
    margin-bottom: 10px;
  }

  .courseOption ul {
    display: flex;
    padding-top: 3px;
    flex-wrap: wrap;
  }

  .courseOption li {
    text-indent: -9999px;
    width: 100px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 3px;
  }

  .courseOption ul li:nth-of-type(7) {
    margin-right: 0;
  }

  .courseOption li:last-of-type {
    margin-right: 0;
  }

  .optionBlock {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 720px;
    margin: 6px auto;
  }

  .optionNotes {
    width: 100%;
    margin: 12px auto 10px;
    font-weight: bold;
  }

  .optionTitle {
    width: 205px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 20px;
  }

  .extensionPrice {
    border: 1px solid #a38d7d;
    color: #a38d7d;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 14px 0;
    text-align: center;
  }

  .course.fullOption {
    padding: 28px 19px;
  }

  .course.fullOption h5 {
    border-bottom: 1px solid #ff4c62;
    line-height: 1.5;
    text-indent: 0;
    margin-left: 0;
    font-size: 31px;
    margin-bottom: 8px;
    z-index: 0;
    text-shadow: #ffffff 2px 2px 0px, #ffffff -2px 2px 0px, #ffffff 2px -2px 0px, #ffffff -2px -2px 0px, #ffffff 2px 2px 0px, #ffffff -2px 2px 0px, #ffffff 2px -2px 0px, #ffffff -2px -2px 0px;
  }

  .course.fullOption h5::before,
  .course.fullOption h5::after {
    display: none;
  }

  .course.fullOption {
    border: 1px solid #715139;
    background-color: #ffd850;
    background: url(/img/system/bg_systemContents.png);
    border-radius: 5px;
    margin-bottom: 20px;
    position: relative;
    /* z-index: 0; */
  }

  .course.fullOption p {
    font-weight: bold;
  }

  .optionList ul {
    display: flex;
    flex-wrap: wrap;
  }

  .optionList li {
    text-indent: -9999px;
    width: 165px;
    height: 60px;
    margin: 0 6px 0 0;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
  }

  .optionList li:nth-child(3n) {
    margin-right: 0;
  }

  .optionList li:nth-child(n + 4) {
    margin-top: 6px;
  }

  .optionList p {
    text-shadow: #ffffff 1px 1px 5px, #ffffff -1px 1px 5px, #ffffff 1px -1px 5px, #ffffff -1px -1px 5px;
    font-weight: bold;
    margin-top: 5px;
  }

  .annotation {
    line-height: 1.1em;
    margin: 0 0 16px 126px;
  }

  .annotation li {
    font-size: 12px;
    color: #4e2509;
  }

  #reservePop {
    z-index: 0;
  }

  .cautionNeededContents article {
    /* z-index: -1; */
  }

  .course .optionNotes p:first-of-type {
    margin-bottom: 1%;
  }

  .course .optionNotes p:nth-of-type(2) {
    line-height: 1.3;
  }

  .deluxe .course .optionNotes p:first-of-type {
    margin-bottom: 0;
  }

  /* 基本プレイ */
  .basicPlay {
    margin-top: 20px;
  }

  .deliBlock {
    display: flex;
    box-sizing: border-box;
    flex-wrap: wrap;
    width: 100%;
  }

  .deliBlock li {
    font-size: 14px;
    height: 32px;
    line-height: 30px;
    color: #333333;
    background-color: #f8ffd5;
    font-weight: bold;
    margin: 0 10px 10px 0;
    border: 1px solid #614243;
    box-sizing: border-box;
    width: 118px;
    text-align: center;
  }

  .deliBlock li:nth-of-type(6n) {
    margin-right: 0;
  }

  /* 無料オプション */
  .toggleBtn {
    display: none;
  }

  .option .subBoxImg {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .option .subBoxImg .optionBox {
    position: relative;
    border: 1px solid #614243;
    width: 173px;
    margin-bottom: 20px;
    margin-right: 20px;
  }

  .option .subBoxImg .optionBox span.optionNumber {
    color: #ffffff;
    background-color: #ff7a8c;
    padding: 3px 0;
    border-bottom: 1px solid #614243;
  }

  .option .subBoxImg .optionBox span.optionNumber,
  .option .subBoxImg .optionBox span.optionName {
    display: block;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
  }

  .option .subBoxImg .optionBox img {
    display: block;
    width: 100%;
    border-bottom: 1px solid #614243;
  }

  .option .subBoxImg .optionBox span.optionName {
    color: #666666;
    background-color: #fffef1;
    padding: 6px 0;
  }

  .option .subBoxImg .optionBox span.optionName.small {
    font-size: 14px;
  }

  .option .subBoxImg .optionBox:nth-of-type(4n) {
    margin-right: 0;
  }

  p.priceNotes,
  .optionText {
    margin: 7px auto;
    line-height: 1.5;
    font-size: 14px;
  }

  .option .subBoxImg .optionBox::before {
    content: "";
    position: absolute;
    bottom: 23px;
    width: 72px;
    height: 59px;
    background: url(/img/system/icon_pay_free.png);
    background-repeat: no-repeat;
  }

  .option .subBoxImg .optionBox.option1000::before {
    background: url(/img/system/icon_pay_1000.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  .option .subBoxImg .optionBox.option1500::before {
    background: url(/img/system/icon_pay_1500.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  .option .subBoxImg .optionBox.option2000::before {
    background: url(/img/system/icon_pay_2000.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  .option .subBoxImg .optionBox.option3000::before {
    background: url(/img/system/icon_pay_3000.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  .option .subBoxImg .optionBox.option5000::before {
    background: url(/img/system/icon_pay_5000.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  .option .subBoxImg .optionBox.option7000::before {
    background: url(/img/system/icon_pay_7000.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  .option .subBoxImg .optionBox.option8000::before {
    background: url(/img/system/icon_pay_8000.png);
    background-repeat: no-repeat;
    bottom: 33px;
    left: -1px;
    width: 77px;
    height: 28px;
  }

  /* 遊び方 */
  .howtoBox {
    border: 1px solid #4e2509;
    width: 758px;
    /* height: 120px; */
    margin-bottom: 10px;
    background-color: #fdffd4;
    box-sizing: border-box;
    position: relative;
  }

  .stepImg {
    /* background-color: #333333; */
    width: 109px;
    height: 118px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
  }

  .stepImg::before {
    content: "";
    display: block;
    /* position: absolute; */
    width: 100%;
    height: 100%;
    /* top: 15px; */
    background-image: url("/img/howto/bg_step.png");
    background-repeat: no-repeat;
    background-position: center;
  }

  .stepImg::after {
    position: absolute;
    top: 39%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 61px;
  }

  .step1 .stepImg::after {
    content: "1";
  }

  .step2 .stepImg::after {
    content: "2";
  }

  .step3 .stepImg::after {
    content: "3";
  }

  .step4 .stepImg::after {
    content: "4";
  }

  .textBold {
    font-weight: bold;
  }

  .textColor {
    color: #ff7a8c;
  }

  .howtoDescription {
    /* height: 118px; */
    width: 560px;
  }

  .howtoDescription h4 {
    border-bottom: 1px solid #ff697b;
    font-weight: bold;
    font-size: 16px;
    padding-top: 17px;
    text-indent: 11px;
    padding-bottom: 15px;
    width: 97%;
    color: #ff697b;
  }

  .howtoDescription p {
    padding: 11px 0 20px 11px;
    line-height: 1.2em;
    width: 85%;
    box-sizing: border-box;
    position: relative;
  }

  .supplementText {
    line-height: 1.5em;
    margin: 0 auto 10px;
    position: relative;
    letter-spacing: -0.03em;
  }

  .hotelBtn {
    bottom: -17px;
    height: 30px;
    position: absolute;
    right: 10px;
    width: 170px;
    bottom: 10px;
    /* background: url(/img/howto/btn_storeAccess.png)no-repeat scroll 0 0; */
    /* transition: all .3s ease; */
  }

  .step2 .hotelBtn {
    /* background: url(/img/howto/btn_hotelGuide.png)no-repeat scroll 0 0; */
  }

  .hotelBtn a {
    color: #ffffff;
    display: block;
    font-size: 12px;
    font-weight: bold;
    height: 100%;
    line-height: 27px;
    text-align: center;
    width: 100%;
    text-decoration: underline;
    /* padding-left: 32px; */
    box-sizing: border-box;
    /* text-indent: -9999px; */
    background-color: #ff7a8c;
    border: 1px solid #ff7a8c;
  }

  .smallText {
    font-size: 12px;
  }

  #googleMapWrap {
    width: 760px;
    position: relative;
  }

  #contentsWrapper #googleMapWrap h3 {
    font-family: yu-mincho-pr6n, sans-serif;
    font-size: 20px;
    box-shadow: none;
    padding-left: 22px;
    margin: 13px auto 0;
    height: 43px;
    line-height: 2em;
    position: relative;
    border-radius: 7px 7px 0px 0px;
    background-color: #000000;
    color: #ffffff;
    letter-spacing: -0.03em;
  }

  .googlrMapContainer {
    background-color: #f9ffda;
    border: 1px solid #b9bdc2;
  }

  #googleMapWrap h3:before,
  #googleMapWrap h3:after {
    content: none;
  }

  #googleMapWrap #googleMapBox {
    position: absolute;
    top: 40px;
    width: 758px;
    background-color: #ffffff;
    border-radius: 0px 0px 7px 7px;
    border-bottom: solid 1px #000000;
    border-left: solid 1px #000000;
    border-right: solid 1px #000000;
  }

  #googleMapWrap .supplementText {
    width: 720px;
    margin-bottom: 20px;
    padding-top: 7px;
  }

  .mapWrap {
    width: 723px;
    margin: 0 auto 20px auto;
  }

  .mapAreaTitle {
    font-size: 16px;
    letter-spacing: 0.01em;
    margin-bottom: 10px;
    color: #ce9b2c;
    font-weight: bold;
  }

  .eastMapAreaWrap .mapArea {
    position: relative;
    margin-bottom: 22px;
    border-bottom: 1px #a47a1b dashed;
    padding-bottom: 22px;
  }

  .westMapAreaWrap .mapArea {
    position: relative;
    margin-bottom: 22px;
  }

  .googleMapContainer {
    background-color: #f9ffda;
    border: 1px solid #b9bdc2;
  }

  .mapAreaWrap {
    width: 722px;
    margin: 0 auto 20px;
  }

  .googleMapBox {
    width: 355px;
    float: left;
    border-bottom: 3px solid #654647;
    border-top: 3px solid #654647;
    border-left: 3px solid #654647;
    height: 261px;
    padding-left: 21px;
  }

  .mapTextBox {
    margin-bottom: 14px;
    margin-top: 15px;
  }

  .mapTextBox p {
    font-weight: bold;
    color: #432400;
    font-size: 14px;
  }

  .mapTextBox p span {
    font-size: 12px;
    letter-spacing: -0.3px;
    font-weight: bold;
  }

  .googleMap {
    border: 1px solid #ffffff;
    width: 335px;
    height: 175px;
    background-color: #000000;
  }

  .mapAreaTitle {
    font-size: 14px;
    color: #ff7a8c;
    font-weight: bold;
    margin: 18px auto 11px;
    letter-spacing: 0em;
    width: 715px;
  }

  .mapImage {
    border: 3px solid #654647;
    float: right;
    position: relative;
  }

  .mapImage::before {
    content: "";
    position: absolute;
    top: 140px;
    left: -36px;
    border-top: 19px solid transparent;
    border-right: 33px solid #654647;
    border-bottom: 19px solid transparent;
  }

  .mapTextBox .normalText {
    font-weight: normal;
    line-height: 1em;
    margin-top: 3px;
  }

  .mapArea {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #ff7a8c;
  }

  #meetBlock .step1 {
    height: auto;
  }

  #meetBlock .step1 .stepImg {
    top: 0;
    transform: none;
  }

  .howtoBoxContent {
    padding-left: 88px;
  }

  .howtoContents {
    margin-top: 25px;
  }

  .howtoContents>h4 {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
  }

  /* 遊び方ここまで */

  /* 近郊デリいたします */
  .transportationWrap {
    padding: 23px 20px;
  }

  .transportationWrap::after {
    /* width: 0; */
    /* height: 0; */
    /* border-style: solid; */
    /* border-right: 50px solid transparent; */
    /* border-left: 50px solid transparent; */
    /* border-bottom: 40px solid #ff7a8c; */
    /* border-top: 0; */
    border-width: 0 50px 35px 50px;
    top: -35px;
    right: 140px;
  }

  .transportationWrap h4 {
    font-size: 42px;
    text-shadow: 2px 3px 1px #b73546;
  }

  .transportationWrap>p {
    font-size: 17px;
  }

  .deliPrice {
    width: 500px;
    margin: 20px auto;
    height: 49px;
    font-size: 22px;
  }

  .deliPrice::after {
    right: 47px;
    font-size: 16px;
  }

  .deliPrice p {}

  .deliPrice p:first-of-type {
    padding-left: 12px;
    padding-right: 5px;
  }

  .deliPrice p:last-of-type {
    padding-right: 12px;
    padding-left: 5px;
  }

  .transportationLink a::before {
    content: "▶";
  }

  .transportationLink:hover {
    background-image: linear-gradient(45deg, #ff314d 30%, #ff6374 50%, #ff314d 70%);
  }

  .transportationLink:hover a {
    background-color: #ff314d;
    color: #ffffff;
  }

  /* 2025.2交通費 */
  .deliveryMap {
    height: 660px;
    margin: 20px auto;
  }

  .deliveryFeeBox td {
    font-size: 14px;
  }

  .deliveryFeeBox td:first-of-type {
    width: 620px;
    padding: 9px 0 9px 12px;
  }

  .deliveryFeeBox td:last-of-type {
    width: 97px;
  }

  .mapHotelLink {
    margin: 15px auto;
  }

  .mapHotelLink a {
    font-size: 20px;
    line-height: 43px;
    border-bottom-width: 4px;
    transition: opacity .15s ease;
  }

  .mapHotelLink:hover a {
    opacity: .8;
  }

  p.deliText {
    font-size: 14px;
  }

}

/* =========================================================
 スマホ用
========================================================= */
@media screen and (max-width: 768px) {
  .course {
    margin: 3% auto 0;
    position: relative;
  }

  .priceContent {
    margin: 0 auto;
    display: grid;
  }

  #mainPriceWrap {
    width: 100%;
    margin: 3% auto 7%;
    background: url(/s/img/system/bg_price_top.png) no-repeat left top/contain, url(/s/img/system/bg_price_bottom.png) no-repeat left bottom/contain, url(/img/system/bg_price_base.jpg) left top/15%;
    border: 1vw solid #b59e8f;
  }

  #supplementText {
    margin: 0 3% 6%;
    line-height: 1.4;
  }

  .contentsBlock {
    margin: 0 2% 3%;
  }

  /* コースTable */
  .course .priceTable {
    display: flex;
    align-items: flex-start;
  }

  .course .priceTable {
    margin-top: 1%;
    margin: 0 4%;
    padding-bottom: 3%;
    border-bottom: 1px solid #9f7459;
  }

  .course .priceTable table {
    table-layout: fixed;
    border: 1px solid #fe4c62;
  }

  .course .priceTable th,
  .course .priceTable td {
    border-bottom: 1px solid #fe4c62;
  }

  .course .priceTable table th {
    border-right: 1px solid #fe4c62;
  }

  .course .priceTable table tr:first-child {
    border-bottom: none;
  }

  .course .priceTable table:first-child {
    margin-right: 2%;
  }

  /* コースTableここまで */

  /* 料金表HTML化 */
  .mainPrice {
    /* min-height: 85vw; */
    /* position: relative; */
    margin-top: 6%;
  }

  #mainPriceWrap h4 {
    width: 45%;
  }

  .mainPrice .priceImageBox img.forPc {
    position: relative;
  }

  #mainPriceWrap .extentionPrice {
    width: 50%;
    line-height: 1.7;
    font-size: 0.9em;
  }

  .priceTextBox {
    width: 86.5%;
    margin: 2% auto 4%;
  }

  .mainPrice .priceTextBox .priceRow {
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    /* width: 86.5%; */
    /* margin: 0 auto 2.9%; */
    border-bottom: 1px solid #ff7386;
    box-sizing: border-box;
    padding: 1.7% 1%;
  }

  .mainPrice .priceTextBox .priceRow p {
    display: inline;
    color: #ff7386;
    font-weight: bold;
    font-family: genjyu_pb, sans-serif;
  }

  .mainPrice .priceTextBox .priceRow p:first-of-type {
    font-size: 7vw;
    margin-right: 3%;
    width: 23%;
  }

  .mainPrice .priceTextBox .priceRow p:first-of-type span {
    font-size: 5.5vw;
    font-weight: bold;
  }

  .mainPrice .priceTextBox .priceRow p:nth-of-type(2) {
    color: #fff;
    background-color: #ff7386;
    display: inline-block;
    width: 23%;
    text-align: center;
    padding: 1% 0;
    font-size: 3.3vw;
    border-radius: 0.7vw;
    vertical-align: bottom;
  }

  .mainPrice .priceTextBox .priceRow p:nth-of-type(4) {
    /* margin-right: 1%; */
    margin-left: 1%;
    vertical-align: super;
    width: 5%;
  }

  .mainPrice .priceTextBox .priceRow p:last-of-type {
    font-size: 9.3vw;
    width: 45%;
  }

  .mainPrice .priceTextBox .priceRow p:last-of-type span {
    font-size: 6vw;
    font-weight: bold;
  }

  .mainPrice .priceTextBox .priceRow p:last-of-type span:first-of-type {
    font-size: 6vw;
    font-weight: bold;
  }

  .mainPrice .priceTextBox p.grayText {
    text-align: center;
    position: absolute;
    top: 91%;
    left: 50%;
    transform: translateX(-50%);
    color: #848484;
    font-size: 3.44vw;
    display: block;
    width: 100%;
  }

  /* 料金表HTML化ここまで */

  .CourseBox {
    position: relative;
  }

  .CourseBox .deliImg {
    margin: 3%;
  }

  .CourseBox p.mapHotelLink {
    position: absolute;
    bottom: 4.6%;
    left: 6.2%;
    width: 87.6%;
  }

  .CourseBox p.mapHotelLink a {
    display: block;
  }

  .admissionBlock p {
    font-size: 3.44vw;
    background-color: #f8ffd5;
    border-bottom-color: #925932;
    height: 9vw;
    line-height: 9vw;
    text-indent: 3vw;
  }

  .admissionBlock span {
    font-size: 3.44vw;
    border-left-color: #925932;
    width: 46%;
  }

  .members .menberTittle div {
    font-size: 4vw;
    letter-spacing: 1px;
    line-height: 10vw;
    margin-left: 0;
    padding-top: 0;
    padding-left: 3vw;
  }

  .members .menberTittle p {
    font-size: 3vw;
    line-height: 1.1;
    position: absolute;
    float: none;
    top: 50%;
    right: 2%;
    transform: translate(0, -50%);
    margin: 0;
    border-radius: 4px;
    text-align: center;
    height: auto;
    width: 21%;
    box-sizing: border-box;
    box-shadow: #8a2315 0px 3px 0px 0px;
    background-color: #ffffff;
  }

  .members .menberTittle a {
    color: #654647;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: block;
    padding: 5% 0 3.5%;
    box-sizing: border-box;
  }

  .members .menberTittle div img {
    padding-right: 0;
    height: 11vw;
    position: absolute;
    top: 12vw;
    left: 3vw;
  }

  .members>ul {
    padding-left: 14vw;
    margin: 4% auto;
  }

  .members ul li {
    font-size: 3.44vw;
    margin: 0 auto 2vw;
    text-indent: 1.0em;
  }

  .members>p {
    padding: 3%;
    line-height: 1.5;
  }

  #credit {
    height: auto;
    padding: 4% 3%;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 3vw;
    grid-row: 4;
    position: relative;
  }

  .creditTitle {
    display: block;
  }

  .creditTitle h4 {
    font-size: 4.5vw;
    margin-bottom: 3vw;
    text-align: center;
  }

  .creditImg {
    width: 100%;
  }

  #rightContents .creditText {
    font-size: 3.44vw;
    letter-spacing: -0.2px;
    line-height: 1.5;
    margin: 4% auto 0;
  }

  .credit_link {
    margin: 0 auto;
    text-align: center;
    position: absolute;
    bottom: 5%;
    left: 0;
    right: 0;
    width: 96%;
    height: 12vw;
    line-height: 12vw;
    box-sizing: border-box;
    padding: 0;
    color: #654647;
    background-image: linear-gradient(to right bottom, #ff4974 0, #ffb2cb 50%, #ff4974 100%);
    background-size: cover;
    box-shadow: #654647 0px 1vw 0px 0px;
    border: 1px solid #ff7a8c;
    border-radius: 5px;
  }

  .credit_link a {
    display: block;
    text-decoration: none;
    color: inherit;
    font-size: 3.8vw;
    font-weight: bold;
    letter-spacing: 0.2vw;
    width: 100%;
    height: 100%;
    margin: 0 0 0 auto;
    background-image: -webkit-linear-gradient(-76deg, #ffffff 50%, #fff0f5 50%);
  }

  .members {
    width: 100%;
    margin: 3% auto;
    height: auto;
  }

  .members.rankBenefits {
    grid-row: 3;
  }

  .members.memberBenefits {
    grid-row: 2;
  }

  .members .menberTittle {
    height: 10vw;
    position: relative;
  }

  .members .menberTittle div {
    grid-row: 2;
  }

  #cautionNeeded {
    margin: 0 auto 10vw;
  }

  #cautionNeeded p.cautionNeededTitle {
    font-size: 16px;
  }

  #cautionNeeded li {
    /* line-height: 1.5; */
    /* font-size: 3.44vw; */
    /* text-indent: -1.3em; */
    /* padding-left: 1.3em; */
    /* letter-spacing: 1px; */
  }

  .admissionBlock {
    width: 100%;
    margin: 0 auto 3%;
    grid-row: 1;
    border: 1px solid #925932;
  }

  #option {
    width: 94%;
    margin: 0 auto 3%;
    display: flex;
    flex-wrap: wrap;
  }

  .priceContent {
    width: 94%;
  }

  /* ホテルガイドボタン */
  .transportationLink {
    background-color: #ff7a8c;
    background-image: none;
    width: 96%;
    height: 12vw;
    margin: 3% auto 0;
    box-sizing: border-box;
    padding: 1px;
    box-shadow: #654647 0px 3px 0px 0px;
    -webkit-box-shadow: #654647 0px 3px 0px 0px;
    /* left: 50%; */
    /* transform: translateX(-50%); */
    border-radius: 1vw;
  }

  .transportationLink a {
    text-indent: 0;
    display: block;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    background: linear-gradient(-14deg, #fff8f8 50%, #ffffff 50%);
    border-radius: 1vw;
    color: #654647;
    line-height: 12vw;
    font-size: 4vw;
  }

  /* 2008バナーエリア追加 */
  .bannerArea {
    margin-bottom: 6vw;
  }

  .benefitsBanner {
    width: 96%;
    margin: 3% auto;
  }

  #commonBanner h3 {
    display: none;
  }

  .annotationText {
    margin: 3% 4%;
  }

  .annotationText li {
    font-size: 86%;
    padding-left: 1em;
    text-indent: -1em;
  }

  .optionList {
    margin: 2% 0 0;
  }

  .courseName {
    background-size: contain;
    background-repeat: no-repeat;
    width: 15vw;
    height: 10.4vw;
    padding-bottom: 2.8vw;
    font-size: 7.5vw;
    font-weight: bold;
    color: #ff4c62;
    text-align: center;
    float: left;
    margin-left: 1%;
  }

  .CourseBox h4 {
    background-color: rgba(135, 84, 49, 0.8);
    color: #ffffff;
    font-weight: bold;
    height: 9vw;
    line-height: 9vw;
    font-size: 4.5vw;
    text-indent: 0.5em;
  }

  .course h5 {
    font-size: 5.8vw;
    font-weight: bold;
    color: #ff4c62;
    width: 83%;
    margin: 0 2% 0 auto;
    letter-spacing: -0.5pt;
    text-shadow: #ffffff 1px 1px 2px, #ffffff -1px 1px 2px, #ffffff 1px -1px 2px, #ffffff -1px -1px 2px;
    position: relative;
    border-bottom: 1px solid #ff8192;
    line-height: 1.3;
  }

  .course h5::before {
    background-image: url(/s/img/system/img_heart.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 11vw;
    position: absolute;
    top: 3%;
    left: -14.5%;
    width: 11.5vw;
    z-index: 0;
  }


  p.underTitle {
    color: #4e2509;
    font-size: 3.5vw;
    margin: 0.8% 0 3% 15%;
    line-height: 1.3;
  }

  p.prev {
    cursor: pointer;
    position: absolute;
    background-color: #fff4db;
    border: 1px solid #5f3212;
    border-bottom: 3px solid #815500;
    text-align: center;
    font-size: 3.2vw;
    width: 22%;
    height: 5.5vw;
    line-height: 5.5vw;
    /* top: 13%; */
    top: 0;
    right: 3.2%;
  }

  video {
    display: none;
  }

  .CourseBox table {
    margin: 0 auto;
    width: 96%;
  }

  .CourseBox table tr:first-child {
    border-bottom: 1px solid rgba(254, 255, 223, 0.8);
  }

  .CourseBox table th,
  .CourseBox table td {
    text-align: center;
    font-size: 88%;
    font-weight: bold;
    /* padding: 1% 0; */
    line-height: 2;
    width: calc(100% / 6);
  }

  .CourseBox table th {
    background-color: #ff8192;
    color: #ffffff;
  }

  .CourseBox table th:not(:first-child),
  .CourseBox table td:not(:first-child) {
    border-left: 1px solid rgba(254, 255, 223, 0.8);
  }

  .CourseBox table th.bestCourseMinute {
    background-color: #ff4c62;
    position: relative;
    box-shadow: 0 -0.75vw 0 #c61125 inset;
  }

  .bestCourseMinute::before {
    background-color: #ff4c62;
    content: "1番人気";
    display: block;
    font-size: 70%;
    left: 0;
    position: absolute;
    text-align: center;
    top: -3vw;
    width: 100%;
    z-index: 1;
    font-weight: bold;
    color: #fcff0c;
    padding-top: 1px;
    height: 3vw;
    line-height: 3.5vw;
  }

  .CourseBox table td {
    background-color: #ffedef;
    color: #ff8192;
  }

  .CourseBox table td.bestCoursePrice {
    color: #ff4c62;
  }

  .CourseBox {
    background-color: rgba(254, 255, 223, 0.8);
    border-top: 1px solid #714f39;
    border-bottom: 1px solid #714f39;
    margin: 3% 0 0;
    padding: 0 0 3%;
  }

  .packCourse {
    margin: 5% auto;
    position: relative;
  }

  /* 延長料金 */
  .extensionPrice {
    background-color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(163, 141, 125, 0.7);
    margin: 3% 2%;
    padding: 2.5% 1% 2.5% 0%;
    line-height: 1.2;
  }

  .extensionPrice p {
    padding-left: 2%;
  }

  /* 延長料金 */

  .courseLeft {
    position: relative;
    height: 100%;
  }

  .courseName {}

  .callout {
    position: absolute;
    top: 7vw;
    left: 16vw;
    border-bottom: 1px solid #ff8192;
    width: 81%;
  }

  .callout p {
    background: url(/s/img/system/callout_yellow_img.png) no-repeat center;
    background-size: contain;
    color: #ff697b;
    font-weight: bold;
    font-size: 3.2vw;
    text-align: center;
    width: 40vw;
    height: 7vw;
    line-height: 6vw;
    filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.2));
    margin-top: 1.5%;
  }

  .callout p span {
    font-weight: inherit;
  }

  .callout p span.large {
    font-size: 1.3em;
  }

  .courseRight {}

  .courseRight h5 {
    margin: 0 0 10vw 17vw;
    padding-top: 0.3vw;
    color: #ff4c62;
    font-weight: bold;
    font-size: 3.5vw;
    line-height: 1.1;
    text-shadow: #ffffff 1px 1px 2px, #ffffff -1px 1px 2px, #ffffff 1px -1px 2px, #ffffff -1px -1px 2px;
  }

  .courseOption {
    width: 96%;
    margin: 0 auto 1.5%;
  }

  .courseOption ul {
    display: flex;
    flex-wrap: wrap;
  }

  .courseOption li {
    /* margin-right: 1%; */
    text-indent: -9999px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 32%;
    padding-top: 10%;
    height: 100%;
    margin: 0 0 1% 2%;
  }

  .courseOption li:nth-child(3n+1) {
    margin-left: 0;
  }

  .course h6 {
    color: #ff4c62;
    font-weight: bold;
    font-size: 5.5vw;
    width: 96%;
    margin: 0 auto;
    border-bottom: 1px solid #ff4c62;
    padding-top: 3%;
    margin-bottom: 2%;
    line-height: 1.4;
  }

  .optionNotes {
    font-size: 90%;
    color: #6b5d53;
    margin-bottom: 3%;
    line-height: 1.3;
    max-width: 96%;
    margin: 0 auto;
  }

  /* 新パック5コース */
  .courseOption li {
    margin-right: 1%;
    text-indent: -9999px;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% !important;
    width: 31%;
    padding-top: 10%;
    margin-bottom: 1%;
  }

  .annotation {
    width: 96%;
    margin: 0 auto;
    line-height: 1.3;
  }

  .CourseBox .priceTable {
    display: flex;
    margin-top: 1.5%;
    margin: 0 2%;
    padding-bottom: 3%;
    border-bottom: 1px solid #9f7459;
  }

  .CourseBox .priceTable table {
    table-layout: fixed;
    width: 49%;
    border: 1px solid #fe4c62;
  }

  .CourseBox .priceTable table th,
  .CourseBox .priceTable table td {
    text-align: center;
    font-size: 88%;
    font-weight: bold;
    padding: 1% 0;
    border-bottom: 1px solid #fe4c62;
  }

  .CourseBox .priceTable table:first-child {
    margin-right: 2%;
  }

  .subText {
    width: 96%;
    margin: 0 auto;
  }

  .subText li {
    line-height: 1.2;
  }

  .extensionFee {
    background-color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(163, 141, 125, 0.7);
    width: 96%;
    margin: 3% auto;
    padding: 2%;
    box-sizing: border-box;
    line-height: 1.3;
  }

  .extensionFee span {
    float: right;
  }

  .optionContents {
    background-color: rgba(254, 255, 223, 0.8);
    border-bottom: 1px solid rgba(255, 216, 80, 0.8);
    padding: 0 0 2%;
    margin: -4% 0 3%;
  }

  .optionNotes {
    /* font-size: 90%; */
    color: #4e2509;
    /* text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 3%;
    line-height: 1.3; */
  }

  .optionTitle {
    font-size: 125%;
    font-weight: bold;
    border-style: none none solid;
    border-width: 1px;
  }

  .optionList {
    margin: 2% 0 0;
  }

  .optionList li {
    float: left;
    margin: 1% 0 0 2%;
    width: 32%;
    height: 0;
    padding-top: 15%;
    text-indent: -9999px;
    background-size: contain;
    background-repeat: no-repeat;
  }

  .videoWrap {
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    transform: translate(0, -50%);
    margin: 0 auto;
    z-index: 1000;
    width: 100%;
    height: 100%;
  }

  .videoWrap video {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translate(0, -50%);
  }

  #overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    background-color: #000000;
    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    z-index: -1;
    left: 0;
  }

  #overlayBox {
    display: none;
  }

  /* 基本プレイ */
  ul.deliBlock {
    width: 94%;
    margin: 0 auto 3%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
  }

  .deliBlock li {
    box-sizing: border-box;
    font-size: 4.3vw;
    letter-spacing: 0.2vw;
    line-height: 1.5;
    width: 50%;
    position: relative;
    text-indent: 1.5em;
  }

  .deliBlock li::before {
    content: "";
    position: absolute;
    background-color: #ff7a8c;
    width: 3vw;
    height: 3vw;
    border-radius: 50%;
    display: block;
    top: 40%;
    left: 2%;
    transform: translate(0, -50%);
  }

  .basicPlay p.optionText {
    width: 94%;
    margin: 0 auto;
    padding-bottom: 3%;
    line-height: 1.4;
  }

  /* 基本プレイここまで */


  /* 無料オプション */
  p.priceNotes {
    width: 94%;
    margin: 0 auto 4%;
    line-height: 1.5;
  }

  .subBoxImg {
    margin: 0 3.125%;
    display: flex;
    flex-wrap: wrap;
  }

  .optionBox {
    margin: 0 2% 2% 0;
    width: 32%;
    box-sizing: border-box;
    background-color: #f8ffd5;
    border: 1px solid #6D4C4A;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .optionBox:nth-of-type(3n) {
    margin-right: 0;
  }

  .optionNumber {
    color: #ffffff;
    background: #ff7a8c;
    text-align: center;
    display: block;
    /* border-left: 1px solid #6D4C4A; */
    /* border-top: 1px solid #6D4C4A; */
    /* border-right: 1px solid #6D4C4A; */
  }

  .optionBox img {
    /* border-left: 1px solid #6D4C4A; */
    border-bottom: 1px solid #6D4C4A;
    /* border-right: 1px solid #6D4C4A; */
    border-top: 1px solid #6D4C4A;
    height: 25vw;
    object-fit: cover;
    box-sizing: border-box;
  }

  .optionBox span.optionName {
    color: #654647;
    /* background-color: #f8ffd5; */
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 87%;
    line-height: 1.2;
    /* border: 1px solid #6D4C4A; */
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-top: none;
    padding: 2% 0 3%;
  }

  .subBoxImg+.toggleBtn {
    background-image: -webkit-linear-gradient(-76deg, #ffffff 50%, #fff0f5 50%);
    background-size: 100% 100%;
    border: 1px solid #ff4974;
    overflow: hidden;
    cursor: pointer;
    line-height: 3em;
    margin: 2% auto 4%;
    width: 94%;
    height: 11vw;
    line-height: 11vw;
    text-align: center;
    color: #232323;
    border-radius: 1vw;
    box-shadow: #2f2f2f 0px 2px 0px 0px;
    font-weight: bold;
  }

  .accordionContents {
    display: flex;
    flex-wrap: wrap;
  }

  .accordionContents {
    letter-spacing: 0.05em;
    margin: 0 auto;
    width: 100%;
  }

  /* 無料オプションここまで */

  /* 遊び方 */
  .howtoBox {
    border: 1px solid #4e2509;
    width: 758px;
    margin-bottom: 10px;
    background-color: #fdffd4;
    box-sizing: border-box;
    position: relative;
  }

  .stepImg {
    width: 109px;
    height: 118px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
  }

  .stepImg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url("/img/howto/bg_step.png");
    background-repeat: no-repeat;
    background-position: center;
  }

  .supplementText {
    width: 94%;
    margin: 3% auto;
    line-height: 1.5;
  }

  #deliveryBlock>ul,
  #meetBlock>ul {
    width: 96%;
    margin: 0 auto;
  }

  .howtoBox {
    width: 96%;
    height: auto;
    margin-bottom: 3vw;
    border-color: #925932;
    margin: 0 auto 3%;
  }

  .stepImg {
    width: 22%;
    height: 100%;
  }

  .stepImg::before {
    height: 100%;
    background-position-y: 3vw;
    background-size: 55%;
  }

  .stepImg::after {
    position: absolute;
    top: 8vw;
    font-size: 8vw;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
  }

  .step1 .stepImg::after {
    content: "1";
  }

  .step2 .stepImg::after {
    content: "2";
  }

  .step3 .stepImg::after {
    content: "3";
  }

  .howtoDescription h4 {
    font-size: 4vw;
    padding: 0;
    text-indent: 1.1em;
    width: 100%;
    line-height: 1.3;
    border-bottom: 1px solid #ff697b;
    font-weight: bold;
    color: #ff7a8c;
  }

  .howtoDescription p {
    padding-top: 4.3%;
    padding-left: 1.2em;
    line-height: 1.3;
    width: 91%;
    margin-bottom: 5%;
  }

  .smallText {
    font-size: 3.2vw;
    line-height: 1.7;
  }

  .supplementText.clearfix>span {
    letter-spacing: 0.1em;
    height: 10vw;
    width: 100%;
    position: static;
    float: none;
    margin-top: 5vw;
    display: block;
  }

  .supplementText.clearfix a {
    font-size: 4vw;
    height: 100%;
    line-height: 10vw;
    width: 90%;
    margin: 0 auto;
  }

  #googleMapWrap {
    width: 100%;
    margin: 0 auto 7vw;
  }

  #contentsWrapper #googleMapWrap h3 {
    font-size: 5vw;
    padding-left: 4vw;
    margin: 3vw auto 0;
    height: 10vw;
    line-height: 10vw;
    letter-spacing: 0;
    text-indent: 0;
    box-sizing: border-box;
    width: 100%;
  }

  #googleMapWrap #googleMapBox {
    width: 100%;
    position: static;
    box-sizing: border-box;
  }

  #googleMapWrap .supplementText {
    width: 94%;
    margin: 0 auto 5vw;
    padding-top: 5vw;
  }

  .googleMapContainer {
    border: none;
  }

  .mapWrap {
    width: 96%;
    margin: 0 auto;
  }

  .mapAreaTitle {
    font-size: 5vw;
    margin-bottom: 3vw;
    line-height: 1.2;
    color: #654647;
    padding-left: 2%;
    border-top: 1vw solid #654647;
    padding-top: 3%;
  }

  .mapAreaWrap {
    width: 100%;
    margin: 0 auto 20px;
  }

  .eastMapAreaWrap .mapArea,
  .westMapAreaWrap .mapArea {
    margin-bottom: 2vw;
    padding-bottom: 0;
    border: none;
    background-color: #ffffff;
  }

  .eastMapAreaWrap .mapArea {
    margin-bottom: 5vw;
    border-bottom: none;
  }

  .mapArea {
    border-bottom: none;
  }

  .googleMapBox {
    width: 96%;
    float: none;
    border: none;
    height: auto;
    box-sizing: border-box;
    padding: 0;
    margin: 0 auto;
    border-top: 1px dashed #ff7a8c;
  }

  .mapTextBox {
    margin-bottom: 0;
    margin-top: 0;
    /* background-color: #ce9b2c; */
    line-height: 1.3;
    /* text-indent: 3vw; */
    padding: 3% 0;
  }

  .mapTextBox p {
    font-size: 4.2vw;
    font-weight: normal;
  }

  .mapTextBox p:first-of-type {
    color: #ff7a8c;
    font-weight: bold;
  }

  .mapTextBox p span {
    font-size: 3.2vw;
    font-weight: normal;
    padding-left: 1vw;
  }

  .googleMap {
    width: 100%;
    height: 65vw;
    box-sizing: border-box;
    border: none;
  }

  .mapImage {
    border: none;
    float: none;
    position: relative;
    width: 96%;
    margin: 2vw auto 0;
  }

  .mapImage::before {
    top: 78px;
    left: -36px;
    border-top: 19px solid transparent;
    border-right: 33px solid #d1b35c;
    border-bottom: 19px solid transparent;
    content: none;
  }

  .googleMap iframe {
    width: 100%;
    height: 100%;
  }

  .mapImage img {
    width: 100%;
    height: auto;
  }

  #deliveryBlock {
    margin-bottom: 9vw;
  }

  .howtoBoxContent {
    padding-left: 0;
  }

  .howtoDescription {
    height: auto;
    width: 95%;
    margin-top: 5%;
    padding-left: 15%;
    box-sizing: border-box;
  }

  #meetBlock .step1 .stepImg {
    /* height: 29vw; */
    /* border-bottom: 1px solid #11b877; */
  }

  .photos {
    width: 94%;
  }

  .photos li {
    width: 100%;
    margin-bottom: 3%;
  }

  .waitingList .title {
    font-size: 4.5vw;
    padding: 3% 0;
  }

  .waitingList .title span {
    font-size: 3vw;
    font-weight: inherit;
  }

  .waitingList p:not(.title) {
    height: 10vw;
    line-height: 10vw;
  }

  .waitingList iframe {
    height: 58vw;
  }

  .otherPagesBtn {
    position: static;
    width: 97%;
    margin: 2% auto 5%;
  }

  .otherPagesBtn a {
    height: 9vw;
    line-height: 9vw;
    font-size: 3.44vw;
    font-weight: bold;
    box-shadow: 0 0.8vw 0 #00ad82;
    border-radius: 5px;
  }

  #cautionNeeded {
    /* display: none; */
  }

  .hotelBtn {
    position: relative;
    bottom: 0;
    right: 0;
    width: 94%;
    margin: 0 auto 4%;
    height: 12vw;
    box-shadow: #ff3e53 0px 3px 0px 0px;
    border-radius: 1vw;
  }

  .step2 .hotelBtn {
    box-shadow: #ff3e53 0px 3px 0px 0px;
    border-radius: 1vw;
  }

  .hotelBtn a {
    color: #ffffff;
    line-height: 12vw;
    text-decoration: none;
    font-size: 4.5vw;
    text-indent: 0;
    border-radius: 1vw;
    background-color: #ff7a8c;
    border: 1px solid #ff7a8c;
    display: block;
    width: 100%;
    height: 100%;
    font-weight: bold;
    text-align: center;
  }

  .howtoContents {
    margin-top: 6%;
  }

  .howtoContents>h4 {
    font-weight: bold;
    width: 94%;
    margin: 0 auto;
  }

  /* 遊び方ここまで */

  /* 近郊デリいたします */
  .transportationWrap {
    padding: 4% 0;
  }

  .transportationWrap::after {
    border-width: 0 6.5vw 5vw 6.5vw;
    top: -4.8vw;
    right: 22%;
  }

  .transportationWrap h4 {
    font-size: 7vw;
  }

  .transportationWrap>p {
    font-size: 3.4vw;
  }

  .deliPrice {
    height: 9vw;
    font-size: 4vw;
    margin: 3% auto;
    width: 90%;
  }

  .deliPrice::after {
    right: 1.5%;
    font-size: 3.2vw;
  }

  .deliPrice p:first-of-type {
    padding-left: 3%;
    padding-right: 1%;
  }

  .deliPrice p:last-of-type {
    padding-right: 3%;
    padding-left: 1%;
  }

  .transportationPriceBox {
    margin: 8% auto 12%;
    width: 96%;
  }

  .creditBanners {
    width: 94%;
  }

  /* 2025.2交通費 */
  .deliveryMap {
    margin: 3.5% auto 4%;
  }

  .deliveryFeeBox td {
    font-size: 3.4vw;
    line-height: 1.2;
    color: #565656;
  }

  .deliveryFeeBox td:first-of-type {
    padding: 1.5% 0 1.5% 1.5%;
    width: 80%;
  }

  .mapHotelLink {
    margin: 3% auto;
  }

  .mapHotelLink a {
    line-height: 2.2;
  }

  p.deliText {
    font-size: 0.85em;
    color: #565656;
  }

}