@charset "utf-8";
body {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.zen-maru-gothic-light {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 300;
    font-style: normal;
  }
  
  .zen-maru-gothic-regular {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .zen-maru-gothic-medium {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-style: normal;
  }
  
  .zen-maru-gothic-bold {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  
  .zen-maru-gothic-black {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 900;
    font-style: normal;
  }
  
header img {
    width: 100%;
}
.ta_center {
    text-align: center;
}
.pos_rel {
    position: relative;
}
.pos_abs {
    position: absolute;
}
ul.top_li {
    list-style-type: none;
    margin: 0 auto;
    padding-left: 0;
    width: 100%;
    max-width: 600px;
}
ul.top_li li {
    color: #645aaf;
    font-weight: bold;
    font-size: clamp(1.25rem, 1rem + 1.25vw, 1.938rem);
    border-bottom: 0.7px solid #645aaf;
    padding: 10px 30px;
}
ul.top_li li img {
    padding-right: 15px;
}
h3 {
    color: #645aaf;
    font-size: clamp(1.375rem, 0.852rem + 2.61vw, 2.813rem);
    text-align: center;
    margin-top: 70px;
    border-bottom: none;
}
h3 span:not(.koe_midashi span,.naname_midashi) {
    background: linear-gradient(transparent 70%, #ffee55 70%);
    padding-left: 10px;
    padding-right: 10px;
}
.img08 {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: 45%;
    z-index: -10;
    width: 100%;
}
.img09 {
    background-image: url(https://maxdrs.com/wp-content/themes/max_t/images/2026summer/img_09.webp);
    z-index: -10;
    background-repeat: no-repeat;
    background-size: 100%;
    position: static;
}
.flex {
    display: flex;
}
ul.kibou {
    list-style-type: none;
    max-width: 1200px;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 2%;
}
.img43 {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: 1%;
}
.container_in {
    max-width: 1200px;
    width: 100%;
}
.justify-center {
    justify-content: center;
}
.sec01Inner-02 {
    width: min(1200px, 100%);
    margin: 60px auto;
    gap: 30px;
    align-items: center;
}
.semicircle {
    /* position: relative; */
    background: #ffffffc4;
    height: auto;
    z-index: 0;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding-top: 70px;
    padding-bottom: 30px;
  }
  
  .semicircle::before {
    position: absolute;
    content: '';
    left: 50%;
    z-index: 10;
    width: 200px;
    height: 100px;
    border-radius: 50% / 100% 100% 0 0;
    background: #ffffffc4;
    transform: translateX(-50%) translateY(50%);
    top: -150px;
}
.semicircle::after {
    position: absolute;
  content: '';
  top: -10px;
  left: -10px;
  right: 10px;
  bottom: 10px;         /* これで親要素いっぱいに広がる */
  z-index: 1;        /* 子要素より前面に表示 */
  pointer-events: none; /* クリックは下のコンテンツへ透過 */
  background-image: repeating-linear-gradient(180deg, #645aaf, #645aaf 137px, transparent 137px, transparent 150px),
                    repeating-linear-gradient(90deg, #645aaf, #645aaf 137px, transparent 137px, transparent 150px);
  background-position: right top, left 100px bottom;
  background-repeat: repeat-y, repeat-x;
  background-size: 1.5px 100%, calc(100% * 150) 1px;
}
.tit1 {
    text-align: center;
    font-size: 37px;
}
.tit1 span {
    display: block;
    margin-bottom: 10px;
    font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
    background: none;
}
.sec01Inner-02 > div > h4 {
    text-align: center;
    background: #ffee55;
    border-radius: 20px;
    color: #645aaf;
    font-size: 21px;
    line-height: 1.2;
    padding-bottom: 5px;
}
.sec01Inner-02 > div > h4 span {
    font-size: 31px;
}
.img44,
.img47,
.img49,
.img51 {
    top: -50px;
    z-index: 10;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.img45 {
    top: -12%;
    left: -5%;
    max-width: 470px;
    width: calc((470 / 1200) * 100%);
}
.left {
    padding-left: 30px;
}
.right {
    padding-right: 30px;
}
.sankaku {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 150px;
}
.img48 {
    right: -60px;
    top: -95px;
    z-index: 10;
}
.img50 {
    left: -140px;
    top: -95px;
    z-index: 10;
}
.row-reverse{
    flex-direction: row-reverse;
}
.point2 {
    width: 60%;
    margin-left: 80px;
    padding-left: 0;
}
.point2 h3 {
    margin-top: 0;
    text-align: left;
}
.point2 p {
    width: 82%;
}
.pinkWaku {
    border: 1px solid #645aaf;
    margin: 0 2%;
    padding: 15px 25px;
}
.pinkWaku p {
    width: 40%;
    margin: 0 auto;
}
.naname_midashi {
    position: relative;
    padding: 0 1.5rem;
    font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
    margin: 0;
}
.naname_midashi::before,
.naname_midashi::after {
    position: absolute;
    top: 0.8rem;
    height: 1.8rem;
    content: '';
}
.naname_midashi::before {
    border-left: solid 3px;
    left: 0;
    transform: rotate(-30deg);
}
.naname_midashi::after {
    border-right: solid 3px;
    right: 0;
    transform: rotate(30deg);
}
.disc_none {
    list-style-type: none;
    padding-left: 0;
}
.flex.column_3 {
    width: min(1200px, 100%);
    margin: 60px auto;
    gap: 30px;
    align-items: center;
}
.img52 {
    right: 20px;
    top: -45px;
}
.right_w60 {
    width: 60%;
    margin-left: auto;
    z-index: 10;
    position: relative;
}
.left_w60 {
    width: 60%;
    margin-right: auto;
    z-index: 10;
    position: relative;
}
.tokuten1 p {
    padding-left: 50px;
    padding-right: 10px;
}
.tokuten1,
.tokuten2 {
    margin-bottom: 50px;
}
.tokuten2 img {
    width: 33%;
}
.tokuten2 p {
    padding-left: 20px;
    padding-right: 50px;
}
.tokuten3 {
    width: 80%;
    margin-left: auto;
}
.img26 {
    left: 0;
    bottom: -135px;
}
.img27 {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
/* バスリンクを前面に（.semicircle::after および img26/img27 より上に） */
.bus-link-wrap {
    position: relative;
    z-index: 2;
}
.tokuten4 {
    width: 50%;
    margin-left: auto;
    padding-right: 10px;
}
.img53 {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    padding-top: 30px;
    padding-bottom: 30px;
}
h3.kaijo_midashi {
    padding-left: 10px;
    padding-right: 10px;
    display: inline;
    background: linear-gradient(transparent 70%, #ffee55 70%);
}
.kaijo_midashi span {
    font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
}
dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
dt {
    width: 15%;
}
dd {
    width: 85%;
    font-size: 20px;
}
dd span {
    color: #f56b6e;
    text-decoration: underline;
    text-underline-offset: 8px;
}
.img37-wrapper {
    position: relative;
}
.img37 {
    background-image: url(https://maxdrs.com/wp-content/themes/max_t/images/2026summer/img_37.webp);
    position: relative;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 2;
    top: -40px;
}
.img37-back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background-color: #fff;
    border-radius: 135px;
}
.img54 {
    background-image: url(https://maxdrs.com/wp-content/themes/max_t/images/2026summer/img_54.webp);
    background-repeat: repeat-y;
    background-size: 100%;
}
.koe {
    width: 80%;
    margin-left: auto;
}
.koe_midashi {
    text-align: left;
}
.koe_midashi span {
    color: #fff;
    background-color: #645aaf;
    font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
    padding-left: 15px;
}
.koe {
    position: absolute;
    left: 50%;
    top: 105px;
    transform: translateX(-50%);
    width: 80%;      /* 必要なら調整 */
    margin: 0;       /* auto は不要 */
  }
.dotted_bottom {
    border-bottom: 2px dotted #686868;
}
.kaijo_p {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
    font-size: 20px;
    color: #686868;
}
.img55 {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    position: absolute;
    z-index: 3;
}
.koe_area {
    padding-top: 400px;
    padding-bottom: 50px;
}
.koe_nakami {
    border-radius: 16px;
    border: 10px solid transparent;
    background: linear-gradient(#ffffff, #ffffff) padding-box, linear-gradient(90deg, #c8d0ec, #e6c4f6) border-box;
    margin: 0 30px 30px;
    padding: 30px;
}
.koe_nakami dl {
    justify-content: center;
}
.koe_nakami dl:first-child {
    border-bottom: 2px dotted #645aaf;
}
.koe_nakami dl:last-child {
    gap: 30px;
}
.koe_nakami dl:first-child dt {
    width: 10%;
}
.koe_nakami dl:first-child dd {
    width: 80%;
    margin-bottom: 0;
    color: #645aaf;
    font-size: 23px;
}
.koe_nakami dl:last-child dt {
    width: 80%;
    font-size: 18px;
    color: #686868;
}
.koe_nakami dl:last-child dd {
    width: 10%;
    margin-bottom: 0;
}
.img56 {
    background-image: url(https://maxdrs.com/wp-content/themes/max_t/images/2026summer/img_56.webp);
    background-repeat: repeat-y;
    background-size: 100%;
}
.pad0_5p {
    padding: 0 5%;
}
.img19 {
    top:0;
    right:-3%;
}
/* 料金タブ切り替え */
.price_content {
    display: none;
}
.price_content.active {
    display: block;
}
.price_tab {
    cursor: pointer;
}
.price_tab.active {
    font-weight: bold;
}
.bgc-fff {
    background-color: #fff;
    border-radius: 135px;
    padding: 40px 10px;
    margin-top: 70px;
}
.img41 {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -45px;
}
.plan_p {
    text-align: center;
    margin-top: 60px;
    font-size: 20px;
    color: #645aaf;
}
.img42 {
    left: 5%;
}
.plan_w table {
    width: 100%;
    margin-bottom: 20px;
}
.bgc_f1 {
    background-color: #f1f1f1;
}
.plan_w table th, .plan_w table td {
    border: 1px solid #999999;
    text-align: center;
    line-height: 1.2;
    padding-top: 10px;
    padding-bottom: 10px;
}
table.lp_ryokin {
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}
table.lp_ryokin th,
table.lp_ryokin td {
    border: 1px solid #999999;
    text-align: center;
    line-height: 1.2;
    padding-top: 10px;
    padding-bottom: 10px;
}
.price_content {
    display: none;
  }
  
  .price_content.active {
    display: block;
  }
  .syasyu_tit_w {
    background: none!important;
  }
  footer {
    margin-top: 20px;
    padding: 140px 20px 20px;
  }
  .footer-inner {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
  }
  footer .footer-right {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
  }
  footer .footer-right h2 {
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 25px;
  }
  .footer-nav {
    display: flex;
    gap: 25px;
    align-items: center;
  }
  .btnWrap2 a.btn {
    display: inline-block;
    min-width: 250px;
    border-radius: 25px;
    padding: 12px 15px 12px;
    font-size: 18px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #e60020;
    text-decoration: none;
    position: relative;
    color: #e60020;
}
  .copyright {
    font-size: 16px;
    margin-top: 25px;
  }
  a[target="_blank"]::after{
    display: none;
  }
  .reserveBtnWrap {
    text-align: center;
    position: sticky;
    z-index: 100;
    bottom: 5%;
    width: 100%;
    margin-top: -160px;
}
.reserveBtnWrap .inner .ue {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.reserveBtnWrap .inner .tit {
    z-index: 10;
    margin-top: -50px;
    background-color: #fff;
    display: inline-block;
    padding: 15px 25px;
    border-radius: 10px;
    color: #ff7373;
    font-size: 20px;
}
.reserveBtnWrap .reserveBtn {
    background-image: url(../images/2026summer/btn-line.webp);
    background-repeat: repeat-x;
    background-position: center;
}
.reserveBtnWrap a.btn {
    display: inline-block;
    padding: 20px 60px;
    background-color: #ff7373;
    border: 1px solid #ff7373;
    color: #fff;
    position: relative;
    font-size: 27px;
    margin-top: -20px;
}
.reserveBtnWrap a.btn::after {
    content: url(../images/2026spring/reservebtn-arrow.webp);
    display: inline-block;
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
}
.pc_disp {display: block;}
.sp_disp {display: none;}
/* モーダル背景 */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: rgb(55 55 55 / 92%);
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  
  /* モーダル表示状態 */
  .modal.active {
    display: flex;
    opacity: 1;
    pointer-events: auto;
  }
  
  /* モーダルの中身*/
  .modal-content {
    background: #fff;
    padding: 1rem 1rem 60px;
    border-radius: 10px;
    width: 80vw;
    max-width: 1200px;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
    height: 80%;
    overflow: scroll;
  }
  .modal-content .container_in {
    max-width: 1180px;
    margin: 0 auto;
    width: 100%;
  }
  /* アニメーション*/
  .modal.active .modal-content {
    animation: fadeInScale 0.4s ease forwards;
  }
  
@media screen and (max-width: 1300px) {
    .img45 {
        top: -12%;
        left: 7%;
        width: 30%;
    }
    .img48 {
        right: 7%;
        top: -95px;
        z-index: 10;
        width: 30%;
    }
    .img50 {
        left: 9%;
        top: -95px;
        z-index: 10;
        width: 30%;
    }
    .img52 {
        right: 6%;
        top: -132px;
        width: 30%;
    }
    .img19 {
        top: 0;
        right: 0;
    }
}
  @media screen and (max-width: 768px) {
    .pc_disp {display: none;}
    .sp_disp {display: block;}
    .sec01Inner-02 {
      flex-direction: column;
      gap: 25px;
      margin-bottom: 0;
      padding-top: 60px;
    }
    /*
    .sec01Inner-02 > img {
      position: absolute;
      top: 0;
      width: 80px;
      right: 0;
    }
      */
  ul.kibou li {
    width: 50%;
  }
  ul.top_li {
    width: 98%;
  }
  .reserveBtnWrap .inner .ue {
    margin-bottom: 5px;
}
.reserveBtnWrap .inner .ue img {
    width: 120px;
}
.reserveBtnWrap .inner .tit {
    font-size: 14px;
    padding: 8px 12px;
    margin-bottom: 5px;
}
.reserveBtnWrap a.btn {
    font-size: 16px;
    padding: 10px 25px;
    width: 60%;
}
.img45 {
    top: -75px;
    right: 22px;
    left: revert-layer;
width: 30%;
z-index: 10;
}
    
    .naname_midashi::before {
        left: 7%;
    }
    .naname_midashi::after {
        right: 7%;
    }
    .left {
        padding-right: 30px;
    }
    .right {
        padding-left: 30px;
    }
    .img10 {
        display: none;
    }
    .img48 {
        width: 30%;
        right: 35px;
    }
    .flex_w1 {
        display: block;
    }
    .img09 {
        background-repeat: repeat-y;
    }
    .point2 {
        width: 96%;
        padding-left: 2%;
        padding-right: 2%;
        margin-left: 0;
    }
    .point2 p {
        width: 100%;
    }
    .img19 {
        right: 0;
    }
    .flex.flex_w1 p {
        width: 100%;
    }
    .img50 {
        left: 60%;
        width: 30%;
    }
    .flex.column_3 {
        text-align: center;
    }
    .img52 {
        width: 30%;
        z-index: 10;
    }
    .right_w60,
    .left_w60 {
        width: 100%;
    }
    .tokuten1, .tokuten2 {
        margin-top: 30px;
    }
    .tokuten1 p {
        width: 60%;
    }
    .tokuten1 img {
        width: 40%;
        height: 40%;
    }
    .tokuten1 p {
        padding-left: 10px;
    }
    .left_w60 {
        padding-top: 35%;
    }
    .tokuten2 p {
        padding-left: 10px;
        padding-right: 15px;
    }
    .tokuten2 img {
        width: 40%;
        height: 40%;
    }
    .tokuten3_midashi {
        padding-top: 40%;
    }
    .tokuten3 {
        width: 96%;
        margin-left: 0;
        padding-left: 2%;
        padding-right: 2%;
    }
    .img26 {
        width: 55%;
        bottom: -130%;
    }
    dt {
        width: 30%;
    }
    dd {
        width: 70%;
        font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    }
    .kaijp_p {
        font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    }
    .img55 {
        top: -83px;
    }
    /*
    .koe_midashi span {
        font-size: clamp(1.5rem, 1.409rem + 0.45vw, 1.75rem);
    }
        */
    .koe_area {
        padding-top: 265px;
    }
    .koe_nakami dl:first-child dt {
        width: 20%;
    }
    .koe_nakami dl:first-child dd {
        width: 80%;
    }
    .koe_nakami dl:last-child {
        gap: 0;
        flex-direction: column-reverse;
    }
    .koe_nakami dl:last-child dt,
    .koe_nakami dl:last-child dd {
        width: 100%;
    }
    ul.top_li li {
        padding: 10px 0;
    }
    footer {
        padding: 20px 0 10px;
      }
      .footer-inner {
        gap: 5px;
        flex-direction: column;
        text-align: center;
      }
      .footer-inner .footer-left img {
        width: 120px;
        margin: 0 auto 5px;
        display: block;
      }
      .img42 {
        display: none;
      }
      .footer-right {
        padding-right: 20px;
      }
}