body {
    font-family: 'Noto Serif JP', serif;
}

img {
    height: auto;
}

.cap {
    right: 5px;
    bottom: 5px;
}

.float_bnr {
    position: fixed;
    right: 0;
    bottom: 25%;
    width: 50px;
    z-index: 1001;
}

.bottom_note {
    font-size: 10px;
    max-width: 1054px;
    width: 90%;
    margin: 50px auto 0;
}

.mv {
    position: relative;
    overflow: hidden;
}

.mv .cap {
    right: auto;
    left: 8px;
}

#opening {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #f1f1f1;
    z-index: 10;
}

.opening_container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
}

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

.opening_container .video_wrap {
    height: 100%;
    text-align: center;
}

.opening_container video {
    width: 100%;
    height: 100%;
}

#opening_skip {
    cursor: pointer;
    font-size: clamp( 15px, 1.6vw, 18px);
    position: absolute;
    top: 15px;
    right: 10px;
}

#opening_skip span {
    letter-spacing: -0.6em;
    margin: 0 0.5em 0 5px;
}

.opening_slides {
    position: relative;
    width: 100%;
    height: 37.05vw;
}

.opening_slide {
    display: none;
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
}

.opening_slide .inner {
    width: 100%;
    height: 100%;
}

.opening_slide video {
    width: auto;
    height: 100.5%;
}

.opening_slide .box {
    overflow: hidden;
    position: relative;
}

.opening_slide .txt {
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    left: 50%;
    opacity: 0;
    transition: 2s all;
}

.opening_slide .txt img {
    max-width: none;
    width: auto;
    height: 22vw;
}

.opening_slide01 .inner {
    display: grid;
    grid-template-columns: repeat(2,1fr);
}

.opening_slide01 .box01 .cap {
    right: auto;
    left: 5px;
}

.opening_slide01 .box01 video {
    transition: 3s all;
    translate: -15% 0;
}

.opening_slide01.active .box01 video {
    translate: 0 0;
}

.opening_slide01 .box02 {
    position: relative;
    background-image: url(../images/index/opening_slide01_img01.jpg);
    background-size: cover;
    background-position: 0 0;
    transition: 3s all;
}

.opening_slide01.active .box02 {
    background-position: 0 100%;
}


.opening_slide02 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.opening_slide02 .box01 {
    position: relative;
    background-image: url(../images/index/opening_slide02_img01.jpg);
    background-size: cover;
    background-position: 100% 0;
    transition: 3s all;
}

.opening_slide02 .box01 .cap {
    right: auto;
    left: 5px;
}

.opening_slide02.active .box01 {
    background-position: 0 0;
}

.opening_slide02 .box02 video {
    translate: 0 0;
    transition: 3s all;
}

.opening_slide02.active .box02 video {
    translate: -20% 0;
}



.opening_slide03 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.opening_slide03 .box01 .cap {
    right: auto;
    left: 5px;
}

.opening_slide03 .box01 video {
    translate: -20% 0;
    transition: 3s all;
}

.opening_slide03 .box02 {
    position: relative;
    background-image: url(../images/index/opening_slide03_img01.jpg);
    background-size: cover;
    background-position: 100% 0;
    transition: 3s all;
}

.opening_slide03.active .box01 video {
    translate: 0 0;
}

.opening_slide03.active .box02 {
    background-position: 0 0;
}


.opening_slide04 .inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.opening_slide04 .box01 {
    position: relative;
    background-image: url(../images/index/opening_slide04_img01.jpg?260213);
    background-size: cover;
    background-position: 0 0;
    transition: 3s all;
}

.opening_slide04 .box01 .cap {
    right: auto;
    left: 5px;
}

.opening_slide04.active .box01 {
    background-position: 100% 0;
}

.opening_slide04 .box02 {
    position: relative;
    background-image: url(../images/index/opening_slide04_img02.jpg);
    background-size: cover;
    background-position: 100% 0;
    transition: 3s all;
}

.opening_slide04.active .box02 {
    background-position: 0 0;
}

.fadeIn {
    animation-name: fadeIn_anime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
}

@keyframes fadeIn_anime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeOut {
    animation-name: fadeOut_anime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
}

@keyframes fadeOut_anime {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.modal_cp_bnr {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: 10000;
}

.modal_cp_bnr .bg {
    position: absolute;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: hsla(0, 0%, 0%, 0.8);
}

.modal_cp_bnr .contents {
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    left: 50%;
    max-width: 650px;
    width: 90%;
    margin: 0 auto;
    animation-name: fadeIn_anime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.modal_cp_bnr .js-close {
    cursor: pointer;
}

.modal_cp_bnr .cp_bnr_close {
    width: 40px;
    height: 40px;
    position: relative;
    margin: 0 0 0 auto;
}

.modal_cp_bnr .cp_bnr_close span {
    width: 100%;
    height: 2px;
    background-color: #fff;
    position: absolute;
    translate: 0 -50%;
}

.modal_cp_bnr .cp_bnr_close span:nth-child(1) {
    rotate: 45deg;
    top: 50%;
}

.modal_cp_bnr .cp_bnr_close span:nth-child(2) {
    rotate: -45deg;
    top: 50%;
}

.modal_cp_bnr a {
    position: relative;
    display: flex;
}

.modal_cp_bnr a .ttl {
    opacity: 0;
    transition: 1s all;
    position: absolute;
    translate: -50% 0;
    top: -8%;
    left: 50%;
    z-index: 1;
}

.modal_cp_bnr a .bnr01 {
    opacity: 0;
    transition: 1s all;
    position: relative;
}

.modal_cp_bnr a .bnr02 {
    opacity: 0;
    transition: 1s all;
    position: relative;
}

.modal_cp_bnr a .icon {
    opacity: 0;
    transition: 1s all;
    position: absolute;
    width: 15%;
    top: -10%;
    left: 3%;
}

.modal_cp_bnr a .icon span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(45deg, transparent 45%, #ffffff92 50%, transparent 55%);
    background-size: 500% 100%;
    mask-image: url(../images/index/cp_bnr_icon.png);
    mask-size: cover;
}

.modal_cp_bnr a .bnr01 span,
.modal_cp_bnr a .bnr02 span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(45deg, transparent 45%, #ffffff92 50%, transparent 55%);
    background-size: 500% 100%;
}

.modal_cp_bnr a .bnr01 span.active {
    animation: shine 3s infinite;
}
.modal_cp_bnr a .bnr02 span.active {
    animation: shine 3s infinite;
    animation-delay: 1s;
}
.modal_cp_bnr a .icon span.active {
    animation: shine 3s infinite;
}


.mv_video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    background-color: hsla(0, 0%, 100%, 0.8);
}

.mv_video .inner {
    position: relative;
    width: 66%;
    height: 100%;
    margin: 0 auto;
}

.mv_video video {
    width: auto;
    height: 100%;
}

.mv_video .video_skip {
    position: absolute;
    translate: 100% 0;
    bottom: 10px;
    right: -10px;
    background-color: #fff;
    line-height: 1;
    padding: 6px 13px 5px 10px;
    cursor: pointer;
    font-size: clamp(14px,1.4vw,16px);
}

.mv_video .video_skip::after {
    content: '\0232A\0232A';
    letter-spacing: -0.8em;
    margin-left: 8px;
}

.slide {
    position: relative;
}

.slide .cap {
    left: auto;
    left: 5px;
    bottom: 8px;
}

.slide03 .cap {
    font-size: clamp(13px,1.4vw,15px);
}

/* SP調整 */
@media screen and (max-width:730px) {

    .mv {
        height: 110vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        background-color: #1c2650;
    }

    .modal_cp_bnr a {
        flex-direction: column;
    }

    .modal_cp_bnr a .ttl {
        translate: -50% -50%;
        width: 85%;
        top: 61.5%;
        left: 50%;
    }

    .modal_cp_bnr a .icon {
        width: 25%;
        top: -4%;
        left: auto;
        right: 0;
    }
    
    .opening_slides {
        height: 140.5vw;
    }

    .opening_slides .cap {
        scale: 0.8;
        right: -1px;
        bottom: 2px;
    }

    .opening_slide .txt img {
        height: 48vw;
    }

    .opening_slide01 .inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .opening_slide01 .box01 .cap {
        left: -1px;
    }

    .opening_slide02 .inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .opening_slide02 .box01 .cap {
        left: -3px;
        bottom: 0;
    }

    .opening_slide02 .box03 video {
        translate: -20% 0;
    }

    .opening_slide02.active .box03 video {
        translate: 0 0;
    }

    .opening_slide03 .inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .opening_slide03 .box01 .cap {
        left: -1px;
    }

    .opening_slide03 .box02 .cap {
        right: -7px;
    }

    .opening_slide04 .inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .opening_slide04 .box01 .cap {
        left: -5px;
    }

    .opening_slide04 .box02 .cap {
        right: -5px;
    }

    .opening_container_inner {
        height: auto;
    }

    .opening_container {
        justify-content: flex-start;
    }

    .opening_container .video_wrap {
        height: auto;
    }

    #opening_skip {
        position: static;
        text-align: right;
        padding: 8px 3px 8px 0;
    }

    .float_bnr {
        width: 40px;
        bottom: 35%;
    }

    .bottom_note {
        margin-top: 30px;
    }
        
    .slide .cap {
        left: auto;
        right: 2%;
        bottom: 3%;
    }


    .mv .slide .cap {
        right: 0%;
        bottom: -6%;
    }
}












.price {
    max-width: 500px;
    width: 90%;
    margin: 30px auto 40px;
}

.price .txt {
    letter-spacing: 0.8px;
    text-align: center;
    font-size: clamp(35px, 3vw, 43px);
    margin-top: 15px;
}

.price .txt span {
    font-size: clamp(13px, 1.4vw, 15px);
}

.price_bottom {
    padding-top: 40px;
}

.action {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 15px;
    line-height: 1.5;
    text-align: center;
    font-size: clamp(25px,3.5vw,38px);
    color: #a50f2f;
    margin-top: 30px;
}

.action .small {
    font-size: clamp(18px,2vw,25px);
}

.action .border {
    display: inline-block;
    border: 1px solid #a50f2f;
    padding: 3px 3px 4px;
}

.action .border2 {
    display: inline-block;
    line-height: 1;
    background-color: #fff;
    border: 1px solid #a50f2f;
    padding: 5px 10px 7px;
    margin-top: 3px;
}

.merit_wrap {
    padding: 20px 0;
    background-color: var(--bgSkyBlue);
}

.merit_wrap img {
    display: block;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.merit_wrap ul {
    max-width: 1054px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.merit_wrap ul li {
    border-right: 1px solid #000000;
    padding: 0 20px;
}

.merit_wrap ul li:last-child {
    border: none;
}

/* .merit_wrap img {
    display: block;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
} */

/* SP調整 */
@media screen and (max-width:730px) {

    .price {
        width: 80%;
        margin: 15px auto 30px;
    }

    .price_bottom {
        width: 100%;
        padding-top: 15px;
    }
    
    .merit_wrap ul {
        flex-direction: column;
    }

    .merit_wrap ul li,
    .merit_wrap ul li:last-child {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #000;
        padding: 10px 0;
    }

    .merit_wrap ul li:nth-child(2) {
        order: 4;
        border: none;
        margin-top: 10px;
    }
}


.suumo_access {
    max-width: 700px;
    width: 70%;
    display: flex;
    justify-content: space-between;
    margin: 50px auto 60px;
}

.suumo_access img {
    width: 48%;
}

.okome_bnr {
    max-width: 700px;
    width: 90%;
    margin: 0 auto;
}

.btn_wrap {
    max-width: 730px;
    width: 90%;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
}

.btn_wrap li {
    width: 48%;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.btn_wrap li a {
    display: block;
    padding: 10px 5px;
    font-size: clamp(20px,2vw,24px);
    margin-top: auto;
}

.btn_wrap li.reserve_btn a {
    border: 2px solid #ffffff;
    background: var(--goldBg);
    color: #fff;
}

.btn_wrap li.entry_btn .deco {
    width: 80%;
    margin: 0 auto 10px;
}

.btn_wrap li.entry_btn a {
    border: 2px solid var(--gold);
    background: #fff;
    color: var(--gold);
}

.plan_link_wrap {
    background-color: var(--bgSkyBlue);
    padding: 40px 0;
}

.plan_link_wrap ul {
    max-width: 700px;
    width: 70%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.plan_link_wrap ul li {
    width: 47%;
}


.recommend_point_wrap {
    margin-top: 80px;
}

.recommend_point_wrap .recommend_ttl_wrap {
    background-color: #ddeaf7;
    border-bottom: 3px solid #84b2f0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
}

.recommend_point_wrap .recommend_ttl_small {
    color: #6265a1;
    font-weight: bold;
    text-align: center;
    font-size: clamp( 14px, 1.5vw, 16px);
    margin-bottom: 10px;
}

.recommend_point_wrap .recommend_ttl {
    text-align: center;
    font-size: clamp( 25px, 3vw, 33px);
}

.recommend_point_wrap .recommend_ttl_wrap .deco {
    max-width: 100px;
    width: 20%;
}

.recommend_point_wrap .recommend_txt {
    text-align: center;
    margin: 10px 0;
    font-size: clamp( 14px, 1.4vw, 16px);
}

.recommend_point_wrap .recommend_txt::after {
    content: '';
    width: 20px;
    height: 15px;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: #84b2f0;
    display: block;
    margin: 15px auto 0;
}

.recommend_slider {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.recommend_slider .slide {
    margin: 0 10px;
    cursor: pointer;
}

.recommend_slider .slick-dots {
    bottom: -45px;
}

.recommend_slider .slick-dots li button {
    width: 10px;
    height: 10px;
}

.recommend_slider .slick-dots li button:before {
    content: '';
    background-color: #000;
    width: 10px;
    height: 10px;
}

.recommend_modal {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: 10000;
    display: none;
}

.recommend_modal .bg {
    cursor: pointer;
    position: absolute;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: hsla(0, 0%, 0%, 0.8);
}

.recommend_modal_close {
    position: absolute;
    top: -4%;
    right: -3%;
    max-width: 74px;
    width: 18%;
    cursor: pointer;
}

.recommend_modal .arrow {
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    width: 30px;
    height: 55px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.recommend_modal .arrow.prev {
    background-image: url(../images/index/modal_arrow.png);
    left: -0px;
}

.recommend_modal .arrow.next {
    background-image: url(../images/index/modal_arrow.png);
    transform: rotate(-180deg);
    right: -30px;
}

.recommend_modal_container {
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    left: 50%;
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    background-color: #6265a1;
    border-radius: 20px;
    padding: 30px 20px;
}

.recommend_modal_ttl {
    color: #fff;
    text-align: center;
    font-size: clamp( 25px, 3vw, 30px);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 16px;
}

.recommend_modal_ttl_l {
    vertical-align: baseline;
    line-height: 1;
}

.recommend_modal_ttl .small {
    font-size: clamp( 15px, 1.6vw, 18px);
}

.recommend_modal_ttl .large {
    margin-left: 2px;
    font-size: clamp( 30px, 3.6vw, 36px);
}

.recommend_modal_ttl .icon {
    display: block;
    max-width: 70px;
}

.point_txt {
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(15px, 2.2vw, 24px);
    margin-left: 10px;
}

#recommend06 .recommend_modal_ttl .point_txt,
#recommend07 .recommend_modal_ttl .point_txt {
    font-size: clamp(14px, 2.2vw, 24px);;
}

.recommend_modal_box_wrap {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 0 20px;
    margin-top: 14px;
}

.recommend_modal_box_wrap .cap {
    text-align: right;
}

.recommend_modal_box_wrap .box02 {
    background-color: #dce0e0;
    padding: 20px 15px;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.recommend_modal_box_wrap .box_ttl {
    text-align: center;
    color: #6265a1;
    font-size: clamp( 16px, 1.9vw, 19px);
    margin: 0 -20px;
}

.recommend_modal_box_wrap .box_txt {
    margin-top: 10px;
    font-size: clamp( 11px, 1.2vw, 12px);
}

.recommend_modal_btn {
    text-align: center;
}

.recommend_modal_btn a {
    letter-spacing: -0.05em;
    display: inline-block;
    margin: 20px auto 0;
    background-color: #fff;
    border-radius: 30px;
    padding: 10px 5px 10px 10px;
    font-size: clamp( 13px, 1.7vw, 18px);
}

.recommend_modal_btn a .txt {
    margin: 0 auto;
}

.recommend_modal_btn a .blue {
    background-color: #84b2f0;
    border-radius: 30px;
    padding: 5px 15px;
    color: #fff;
    margin-left: 10px;
}

.recommend_modal_btn a .blue::after {
    content: '\0232A\0232A\0232A';
    letter-spacing: -0.7em;
}

#recommend05.recommend_modal .image .cap2 {
    right: 53%;
    text-align: left;
}

.plan_btn_wrap {
    display: flex;
    max-width: 700px;
    margin: 100px auto 0;
    justify-content: space-between;
    width: 90%;
}

.plan_btn_wrap li {
    width: 49%;
}

.piakitchen_bnr {
    max-width: 700px;
    width: 90%;
    margin: 30px auto 0;
}

.index_top_reserve_wrap {
    margin: 80px 0;
}

.index_top_reserve_wrap .txt {
    line-height: 1.4;
    text-align: center;
    font-size: clamp(27px, 3.5vw, 38px);
    color: #a50f2f;
    margin-bottom: 20px;
}

.index_top_reserve_wrap .modelroom_slider {
    max-width: 1300px;
    margin: 0 auto 40px;
    display: flex;
    justify-content: space-between;
}

.index_top_reserve_wrap .modelroom_slider .slide {
    width: calc(95%/5);
}

.modelroom_slider_wrap {
    margin: 80px 0;
}

.modelroom_slider_wrap .txt {
    line-height: 1.4;
    text-align: center;
    font-size: clamp(27px, 3.5vw, 38px);
    color: #a50f2f;
    margin-bottom: 20px;
}

.modelroom_slider_wrap .modelroom_slider {
    max-width: 450px;
    margin: 0 auto 40px;
    display: flex;
    justify-content: center;
}

.modelroom_slider_wrap .modelroom_slider .slide {
    width: calc(100%/1);
}

.index_top_reserve_wrap .price02 {
    max-width: 400px;
    width: 80%;
    margin: 0 auto 40px;
}


.index_top_reserve_wrap .btn {
    max-width: 500px;
    width: 90%;
    margin: 0 auto;
}

.index_top_reserve_wrap .btn a {
    display: block;
    outline: 1px solid #fff;
    outline-offset: -4px;
    color: #fff;
    padding: 8px 0 12px;
    font-size: clamp(20px,2vw,25px);
    position: relative;
    text-align: center;
}

.index_top_reserve_wrap .btn a::after {
    position: absolute;
    translate: 0 -50%;
    right: 15px;
    top: 50%;
    content: '\0232A\0232A';
    letter-spacing: -0.7em;
    margin-left: 10px;
}

.index_top_reserve_wrap .reserve_btn a {
    background-color: #36908c;
}


.index_top_reserve_wrap .entry_btn {
    margin-top: 30px;
}

.index_top_reserve_wrap .entry_btn a {
    background-color: #988858;
}

.index_top_reserve_wrap .entry_btn .deco {
    max-width: 300px;
    width: 70%;
    margin: 0 auto 10px;
}

.top_reserve_wrap {
    margin: 40px 0 80px;
}

.top_reserve_wrap .lead {
    text-align: center;
    font-size: clamp(22px, 2.5vw, 30px);
    letter-spacing: 0.05em;
    color: #36908c;
}

.top_reserve_wrap .btn {
    max-width: 500px;
    width: 90%;
    margin: 15px auto 0;
}

.top_reserve_wrap .btn a {
    background: #36908c;
    margin-top: 10px;
    display: block;
    outline: 1px solid #fff;
    outline-offset: -4px;
    color: #fff;
    padding: 8px 0 12px;
    font-size: clamp(20px,2vw,25px);
    position: relative;
    text-align: center;
}

.top_reserve_wrap .btn a::after {
    position: absolute;
    translate: 0 -50%;
    right: 15px;
    top: 50%;
    content: '\0232A\0232A';
    letter-spacing: -0.7em;
    margin-left: 10px;
}

.location_bnr {
    max-width: 700px;
    width: 90%;
    margin: 0 auto;
}

.bnr_wrap {
    max-width: 1054px;
    width: 90%;
    margin: 80px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 30px 0;
}

.bnr_wrap li {
    width: calc(50% - 30px/2);
}

.movie_bnr {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
}

.top_bnr_wrap {
    max-width: 700px;
    width: 90%;
    margin: 80px auto 0;
    display: flex;
    flex-direction: column;
    gap: 40px 0;
}

.top_bnr_wrap .cp_quo_bnr {
    width: 101.6%;
}

.movie_wrap {
    max-width: 900px;
    width: 90%;
    margin: 80px auto 60px;
}

.interview_bnr {
    max-width: 700px;
    width: 90%;
    margin: 0 auto 60px;
}

.voice_bnr {
    max-width: 700px;
    width: 90%;
    margin: 0 auto 60px;
}

.bnr_wrap li.reserve_bnr {
    width: 100%;
}

.bnr_wrap li.reserve_bnr a {
    display: block;
    width: calc(50% - 30px/2);
    margin: 0 auto;
}

.bnr_wrap02 {
    justify-content: center;
}

.entry_reserve_wrap {
    max-width: 700px;
    width: 90%;
    margin: 0 auto 80px;
    display: flex;
    flex-direction: column;
    gap: 20px 0;
}


.entry_reserve_wrap .container {
    padding: 20px 30px 30px;
}

.entry_reserve_wrap .ttl {
    text-align: center;
    font-size: clamp(22px,2.5vw,30px);
    letter-spacing: 0.05em;
}

.entry_reserve_wrap .lead {
    font-size: clamp(15px,1.8vw,22px);
}

.entry_reserve_wrap .btn {
    max-width: 500px;
    margin: 20px auto 0;
}

.entry_reserve_wrap .btn a {
    margin-top: 10px;
    display: block;
    outline: 1px solid #fff;
    outline-offset: -4px;
    color: #fff;
    padding: 8px 0 12px;
    font-size: clamp(20px,2vw,25px);
    position: relative;
    text-align: center;
}

.entry_reserve_wrap .btn a::after {
    position: absolute;
    translate: 0 -50%;
    right: 15px;
    top: 50%;
    content: '\0232A\0232A';
    letter-spacing: -0.7em;
    margin-left: 10px;
}

.entry_reserve_wrap .reserve .container {
    background-color: #fdfaf4;
    border: 1px solid #73aaa7;
}

.entry_reserve_wrap .reserve .ttl {
    color: #36908c;
}

.entry_reserve_wrap .reserve .lead {
    text-align: center;
    font-size: clamp(13px,1.8vw,18px);
    border-bottom: 1px solid #36908c;
    padding-bottom: 10px;
    margin: 8px 0 20px;
}

.entry_reserve_wrap .reserve .container>.btn {
    margin-top: 10px;
    width: 100%;
}

.entry_reserve_wrap .reserve .container>.btn a {
    background: #36908c;
}


.entry_reserve_wrap .course_wrap_ttl {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    background-color: #36908c;
    color: #fff;
    text-align: center;
    font-size: clamp(20px, 2.5vw, 25px);
}

.entry_reserve_wrap .course_zeh {
    max-width: 500px;
    margin: 15px auto 0;
}

.entry_reserve_wrap .course_wrap {
    max-width: 500px;
    width: 100%;
    margin: 13px auto 0;
    display: flex;
    justify-content: space-between;
}

.entry_reserve_wrap .course_wrap li {
    width: 48%;
    cursor: pointer;
}

.course_modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: hsla(0, 0%, 0%, 0.8);
    z-index: 10000;
}

.course_modal_inner {
    max-width: 700px;
    width: 90%;
    min-height: 90vh;
    min-height: 90dvh;
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    left: 50%;
    overflow: hidden;
}

.course_modal_close {
    cursor: pointer;
    width: 30px;
    height: 30px;
    position: relative;
}

.course_modal_close span {
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #fff;
    top: 15px;
    rotate: 45deg;
}

.course_modal_close span:nth-child(2) {
    rotate: -45deg;
}


.course_modal_contents {
    width: 100%;
    max-height: calc(90vh - 30px);
    max-height: calc(90dvh - 30px);
    overflow-y: scroll;
    padding: 15px 50px 50px;
}

#course_hyojun .course_modal_contents {
    background-color: #72593b;
}
#course_jitan .course_modal_contents {
    background-color: #2f4565;
}

.course_modal_contents::-webkit-scrollbar {
    display: none;
}

.course_modal_contents_inner {
    max-width: 500px;
    margin: 0 auto;
}

.course_modal .course_ttl {
    color: #ebd280;
    text-align: center;
    font-size: clamp(28px, 2.8vw, 28px);
}

.course_modal .course_ttl::after {
    display: block;
    margin-top: 5px;
    content: '';
    width: 100%;
    height: 2px;
    background: linear-gradient(to right,
            transparent 0%,
            #968649 50%,
            transparent 100%);
}

.course_modal .list_wrap {
    display: flex;
    flex-direction: column;
    gap: 25px 0;
    margin-top: 20px;
}

.course_modal .list_wrap li {
    position: relative;
}

.course_modal .list_wrap li:not(:last-child)::after {
    position: absolute;
    translate: -50% 100%;
    bottom: -8px;
    left: 53%;
    content: '';
    width: 15px;
    height: 8px;
    background-color: #ebd280;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.course_modal .list_txt_wrap {
    display: flex;
}

.course_modal .list_txt_wrap .list_no {
    font-size: clamp(20px, 2vw, 20px);
    font-family: 'Hedvig Letters Serif', 'EB Garamond', serif;
    width: 1.6em;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(to right,
            #857342 0%,
            #c7a65b 50%,
            #857342 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.course_modal .list_txt_wrap .list_ttl {
    font-size: clamp(17px, 1.8vw, 18px);
    width: 100%;
    background-color: #fff8f1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.05em;
    padding: 4px 0;
    line-height: 1.2;
}
#course_hyojun .list_txt_wrap .list_ttl {
    color: #72593b;
}
#course_jitan .list_txt_wrap .list_ttl {
    color: #2f4565;
}

.course_modal .txt {
    text-align: center;
    color: #fff;
    font-size: clamp(13px,1.3vw,13px);
    margin-top: 10px;
}

.course_modal .btn {
    margin-top: 50px;
}

.course_modal .btn a {
    background: linear-gradient(
        to right,
        #857342 0%,
        #c7a65b 50%,
        #857342 100%
    );
}

.entry_reserve_wrap .time_txt {
    text-align: center;
    font-size: clamp( 14px, 1.6vw, 17px);
    margin-top: 20px;
}


.entry_reserve_wrap .entry .container {
    background-color: #f4efe2;
    border: 1px solid #988858;
    padding-bottom: 60px;
}

.entry_reserve_wrap .entry .ttl {
    color: #988858;
    border-color: #988858;
}

.entry_reserve_wrap .entry .flex {
    margin-top: 40px;
}

.entry_reserve_wrap .entry .btn .deco {
    max-width: 300px;
    width: 70%;
    margin: 0 auto 10px;
}

.entry_reserve_wrap .entry .btn a {
    background-color: #988858;
}


/* SP調整 */
@media screen and (max-width:730px) {
    .recommend_modal .arrow {
        width: 26px;
        height: 53px;
    }

    .recommend_modal .arrow.next {
        right: -26px;
    }

    .recommend_modal_close {
        top: -6%;
    }

    .recommend_modal_ttl {
        justify-content: space-between;
        gap: 0 14px;
    }

    .recommend_modal_ttl_l {
        text-align: left;
        line-height: 1;
        gap: 0 8px;
    }

    .recommend_modal_ttl .point_txt {
        margin: 0;
    }

    .recommend_modal_ttl .icon {
        max-width: 56px;
    }

    .recommend_modal_ttl .large {
        margin-left: 4px;
    }

    .recommend_point_wrap {
        margin-top: 70px;
    }

    .recommend_point_wrap .recommend_ttl_small {
        margin-bottom: 3px;
    }

    .recommend_point_wrap .recommend_txt {
        margin-bottom: 0;
    }

    .recommend_slider {
        width: 100%;
    }

    .recommend_modal_box_wrap {
        display: flex;
        flex-direction: column;
        gap: 10px 0;
    }

    .recommend_modal_box_wrap .box02 {
        padding: 15px 20px 20px;
    }

    .recommend_modal_btn a .blue {
        padding: 5px 8px;
    }

    #recommend11 .recommend_modal_btn a .blue {
        padding: 10px 8px;
    }

    #recommend11 .recommend_modal_btn a {
        display: flex;
        align-items: center;
        padding: 5px 5px 5px 10px;
    }

    .plan_btn_wrap {
        margin-top: 80px;
    }

    .piakitchen_bnr {
        margin-top: 20px;
    }

    .index_top_reserve_wrap {
        margin: 60px 0 60px;
    }

    .index_top_reserve_wrap .txt {
        margin-bottom: 20px;
    }

    .index_top_reserve_wrap .txt .large {
        display: block;
        font-size: 33px;
    }

    .index_top_reserve_wrap .modelroom_slider {
        margin-bottom: 60px;
    }

    .index_top_reserve_wrap .modelroom_slider .slide {
        padding: 0 10px;
    }

    .index_top_reserve_wrap .slick-dots li {
        width: 10px;
        height: 10px;
        margin: 0 11px;
    }
    .index_top_reserve_wrap .slick-dots li button {
        width: 10px;
        height: 10px;
    }

    .index_top_reserve_wrap .modelroom_slider .slick-dots li button:before {
        content: '';
        background-color: #000;
        width: 10px;
        height: 10px;
    }

    .index_top_reserve_wrap .txt {
        margin-bottom: 20px;
    }

    .index_top_reserve_wrap .txt .large {
        display: block;
        font-size: 33px;
    }

    .modelroom_slider_wrap{
        margin: 40px 0;
    }

    .modelroom_slider_wrap .modelroom_slider {
        margin-bottom: 60px;
    }

    .modelroom_slider_wrap .modelroom_slider .slide {
        padding: 0 10px;
    }

    .modelroom_slider_wrap .slick-dots li {
        width: 10px;
        height: 10px;
        margin: 0 11px;
    }
    .modelroom_slider_wrap .slick-dots li button {
        width: 10px;
        height: 10px;
    }

    .modelroom_slider_wrap .modelroom_slider .slick-dots li button:before {
        content: '';
        background-color: #000;
        width: 10px;
        height: 10px;
    }

    .index_top_reserve_wrap .price02 {
        margin-bottom: 20px;
    }

    .voice_bnr {
        margin-bottom: 30px;
    }

    .entry_reserve_wrap {
        flex-direction: column;
        gap: 10px 0;
        margin: 0 auto 60px;
    }

    .entry_reserve_wrap .reserve,
    .entry_reserve_wrap .entry {
        width: 100%;
    }

    .entry_reserve_wrap .container {
        padding: 10px 15px 18px;
    }

    .entry_reserve_wrap .reserve .lead {
        margin-bottom: 15px;
    }

    .entry_reserve_wrap .course_zeh {
        margin-top: 10px;
    }

    .entry_reserve_wrap .course_wrap {
        margin-top: 10px;
    }

    .entry_reserve_wrap .reserve>.btn {
        margin-top: 15px;
        width: 100%;
    }

    .entry_reserve_wrap .time_txt {
        margin-top: 13px;
    }

    .entry_reserve_wrap .reserve .container>.btn {
        margin-top: 5px;
    }

    .course_modal_contents {
        padding: 15px 20px 40px;
    }

    .course_modal .list_wrap {
        gap: 30px 0;
    }

    .course_modal .list_wrap li:not(:last-child)::after {
        bottom: -10px;
        left: 54%;
        width: 20px;
        height: 10px;
    }

    .list_txt_wrap .list_ttl {
        padding: 5px 0;
    }

    .course_modal .btn {
        margin-top: 40px;
    }


    .entry_reserve_wrap .entry .container {
        padding-bottom: 15px;
    }

    .entry_reserve_wrap .entry .flex {
        margin-top: 15px;
    }

    .entry_reserve_wrap .entry .btn {
        margin-top: 15px;
        width: 100%;
    }
}

/* SP調整 */
@media screen and (max-width:730px) {

    .action {
        flex-wrap: wrap;
        gap: 5px 10px;
        margin-top: 20px;
    }

    .action .large {
        display: block;
        font-size: 30px;
        line-height: 1.2;
    }

    .suumo_access {
        width: 90%;
        margin: 30px auto 40px;
    }

    .top_reserve_wrap {
        margin: 25px 0 70px;
    }

    .btn_wrap {
        width: 80%;
        flex-direction: column;
        gap: 20px 0;
        margin-top: 25px;
    }

    .btn_wrap li {
        width: 100%;
    }

    .plan_link_wrap {
        padding: 30px 0;
        margin-top: 20px;
    }

    .plan_link_wrap ul {
        width: 90%;
        margin: 0 auto;
    }

    .cert_bnr {
        margin-top: 40px;
    }

    .top_bnr_wrap  {
        margin: 60px auto 0;
        gap: 30px 0;
    }

    .movie_wrap {
        margin: 40px auto;
    }

    .interview_bnr {
        margin-bottom: 40px;
    }

    .bnr_wrap {
        flex-direction: column;
        gap: 20px 0;
        margin: 40px auto 50px;
    }

    .bnr_wrap li {
        width: 100%;
    }

    .bnr_wrap02 {
        margin-top: 30px;
    }

}

.other_page_nav {
    overflow: hidden;
    margin-top: 30px;
}

.other_page_nav .list_wrap {
    max-width: 1054px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.other_page_nav .list_wrap li {
    width: calc(100%/3 - 20px*2/3);
    position: relative;
}

.route_wrap {
    margin: 80px auto 0;
    padding: 40px 0;
    background-color: #cfe0df;
}

.route_wrap .inner {
    max-width: 1054px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.route_wrap .box {
    width: 48%;
}







.other_page_nav .list_wrap li {
    opacity: 0;
}

.other_page_nav .list_wrap.active li {
    animation-name: listAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.other_page_nav .list_wrap li:nth-child(2) {
    animation-delay: 0.3s;
}
.other_page_nav .list_wrap li:nth-child(3) {
    animation-delay: 0.6s;
}
.other_page_nav .list_wrap li:nth-child(4) {
    animation-delay: 0.9s;
}
.other_page_nav .list_wrap li:nth-child(5) {
    animation-delay: 1.2s;
}
.other_page_nav .list_wrap li:nth-child(6) {
    animation-delay: 1.5s;
}
.other_page_nav .list_wrap li:nth-child(7) {
    width: 100%;
    animation-delay: 1.8s;
}

@keyframes listAnime {
    from {
        opacity: 0;
        translate: 0 10%;
    }

    to {
        opacity: 1;
        translate: 0 0;
    }
}


/* SP調整 */
@media screen and (max-width:730px) {


    .other_page_nav {
        margin-top: 10px;
    }

    .other_page_nav .list_wrap {
        width: 90%;
        margin: 0 auto;
        gap: 15px;
    }

    .other_page_nav .list_wrap li {
        width: calc(100%/2 - 15px/2);
    }
    

    .route_wrap {
        margin-top: 40px;
        padding: 30px 0;
    }
}




.bottom_bnr_wrap {
    max-width: 680px;
    width: 90%;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 30px 0;
}

.bottom_bnr_wrap .yahoo_bnr .note {
    font-size: clamp(10px, 1.2vw, 12px);
    margin-top: 5px;
    text-align: right;
    text-decoration: underline;
}

.modal_open {
    cursor: pointer;
}

.modal_contents {
    background-color: hsla(0, 0%, 0%, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1001;
    display: none;
}

.modal_contents .inner {
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    max-width: 1054px;
    width: 90%;
    height: 90%;
    padding: 50px 0 0;
    margin: 0 auto;
}

.modal_contents .scroll {
    width: 100%;
    height: 100%;
    overflow: scroll;
    position: relative;
}

.modal_contents .scroll::-webkit-scrollbar {
    display: none;
}

.modal_contents .close {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    cursor: pointer;
}

.modal_contents .close span {
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #fff;
    top: 19px;
}

.modal_contents .close span:nth-child(1) {
    transform: rotate(-45deg);
}

.modal_contents .close span:nth-child(2) {
    transform: rotate(45deg);
}

#matsuri .ttl {
    position: relative;
}

#matsuri .ttl .cap {
    right: 5px;
    bottom: 5px;
}

#matsuri .lead {
    text-align: center;
    padding: 25px 0;
    background: linear-gradient(
        to right,
        #625336 0%,
        #968256 50%,
        #625336 100%
    );
    color: #fff;
    font-size: clamp(18px,2vw,22px);
}

#matsuri .bg {
    background-color: #fff6e9;
    padding: 30px;
}

#matsuri .bg_ttl {
    text-align: center;
    color: #968256;
    font-size: clamp(20px,3vw,30px);
}

#matsuri .bg_txt {
    text-align: center;
    font-size: clamp(12px,1.4vw,16px);
    line-height: 1.8;
    margin: 20px 0 40px;
}

#matsuri .bg .image_wrap {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#matsuri .bg .image_wrap .box01 {
    width: 53%;
}

#matsuri .bg .image_wrap .box02 {
    width: 44.5%;
}

#matsuri .bg .image_wrap .note {
    margin-top: 5px;
    text-align: right;
}

#matsuri .bg02 {
    background-color: #35265e;
    padding: 50px 30px;
}

#matsuri .bg02 .map {
    max-width: 900px;
    margin: 0 auto;
}

#matsuri .bg02 .movie_bnr {
    max-width: 500px;
    margin: 40px auto 50px;
}

#matsuri .bg02 .reserve_btn a {
    max-width: 500px;
    margin: 0 auto;
    display: block;
    background: linear-gradient(
        to right,
        #625336 0%,
        #968256 50%,
        #625336 100%
    );
    color: #eccc87;
    text-align: center;
    padding: 15px 0;
    font-size: clamp(20px,2.3vw,25px);
    border: 2px  solid #eccc87;
}

#area_cp .scroll {
    font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Arial', sans-serif;
}

#area_cp .ttl_wrap {
    padding: 45px 30px 140px;
    background-image: url(../images/index/area_bg.jpg);
    background-size: cover;
    background-position: left;
    position: relative;
}

#area_cp .ttl_wrap::after {
    content: '';
    background-image: url(../images/index/area_bg2.svg);
    background-size: cover;
    background-position: center;
    position: absolute;
    width: 100%;
    height: 93px;
    bottom: -1px;
    left: 0;
}

#area_cp .ttl_wrap .ttl {
    max-width: 800px;
    margin: 0 auto;
}

#area_cp .ttl_wrap .lead {
    text-align: center;
    font-size: clamp(13px,1.4vw,16px);
    color: #fff;
    line-height: 1.8;
    margin: 30px 0 0;
}

#area_cp .white_bg {
    background-color: #ffffff;
    padding-bottom: 50px;
}

#area_cp .wrap01 {
    position: relative;
    z-index: 1;
    max-width: 900px;
    width: 90%;
    margin: -40px auto 50px;
}

#area_cp .wrap01 .ttl {
    max-width: 750px;
    margin: 0 auto;
}

#area_cp .wrap01 .foocot_wrap {
    margin: 30px auto 0;
    display: flex;
    justify-content: center;
    gap: 0 30px;
    align-items: center;
}

#area_cp .wrap01 .foocot_wrap .image {
    max-width: 720px;
    width: 90%;
}

#area_cp .wrap01 .foocot_wrap .txt {
    font-size: clamp(14px,1.6vw,20px);
    line-height: 1.8;
}

.txt .gold {
    display: inline-block;
    font-family: 'Noto Serif JP', serif;
    color: #f0da5d;
    background: linear-gradient(
        to right,
        #877342 0%,
        #c9a85b 50%,
        #877342 100%
    );
    padding: 0px 3px 0px 10px;
    font-size: clamp(16px,2vw,22px);
    font-weight: bold;
    margin-top: 5px;
}

#area_cp .wrap01 .list_wrap {
    max-width: 900px;
    display: flex;
    flex-direction: column;
    gap: 20px 0;
    margin: 50px auto 0;
}

#area_cp .wrap01 .list_wrap li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 30px;
}

#area_cp .wrap01 .list_wrap li .lead {
    width: 120px;
    text-align: center;
    flex-shrink: 0;
    background-color: #445c8d;
    color: #fff;
    font-size: clamp(16px,1.8vw,19px);
    padding: 0 5px;
}

#area_cp .wrap01 .list_wrap li .txt {
    width: calc(100% - 120px);
    font-size: clamp(14px,1.4vw,16px);
}

#area_cp .wrap01 .list_wrap li .txt .note {
    display: block;
    margin-top: 5px;
}

#area_cp .wrap01 .list_wrap li:nth-child(3) .txt {
    display: flex;
    flex-wrap: wrap;
}

#area_cp .wrap01 .list_wrap li:nth-child(3) .txt .small {
    font-size: clamp(12px,1.2vw,13px);
}

#area_cp .area_sec_ttl {
    padding: 20px 10px 16px;
    margin-bottom: 30px;
}

#area_cp .area_sec_ttl img {
    display: block;
    max-height: 43px;
}

#area_cp .area_sec_inner {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
}

#area_cp .area_sec_lead {
    font-size: clamp(17px,2vw,21px);
    margin-bottom: 10px;
}

#area_cp .area_sec_txt {
    font-size: clamp(11px,1.2vw,13px);
}

#area_cp .image_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

#area_cp .image_wrap .image01 {
    grid-column: 1/3;
}

#area_cp .info_txt {
    grid-column: 1/3;
    font-size: clamp(11px,1.2vw,13px);
}

#area_cp .info_txt .ttl {
    font-size: clamp(13px,1.4vw,15px);
}

#area_cp .info_txt .note {
    display: block;
    margin-top: 5px;
}

#area_cp .area_sec01 {
    margin-bottom: 50px;
}

#area_cp .area_sec01 .area_sec_ttl {
    background-color: #489f9d;
}

#area_cp .area_sec01 .area_sec_inner>.flex_wrap {
    display: flex;
    justify-content: space-between;
}

#area_cp .area_sec01 .area_sec_inner>.flex_wrap .con01,
#area_cp .area_sec01 .area_sec_inner>.flex_wrap .con02 {
    width: 48%;
}

#area_cp .area_sec01 .area_sec_inner>.flex_wrap .con02 .area_sec_txt {
    grid-column: 2/3;
    grid-row: 2/4;
}

#area_cp .area_sec01 .area_sec_inner>.flex_wrap .con02 .info_txt {
    grid-column: 1/2;
    grid-row: 3/4;
}

#area_cp .area_sec01 .con03 {
    margin-top: 40px;
}

#area_cp .area_sec01 .con03 .image_wrap {
    gap: 20px;
}

#area_cp .area_sec01 .con03 .info_txt {
    grid-column: 2/3;
    grid-row: 1/2;
}

#area_cp .area_sec01 .con03 .lead {
    background-color: #489f9d;
    color: #fff;
    font-size: clamp(14px,1.6vw,17px);
    padding: 5px 15px;
}

#area_cp .area_sec01 .con03 .txt {
    background-color: #c8e2e1;
    font-size: clamp(11px,1.3vw,13px);
    padding: 8px 15px 10px;
}

#area_cp .area_sec01 .con03 .txt .note {
    display: block;
    margin-top: 5px;
}


#area_cp .area_sec02 .area_sec_ttl {
    background-color: #445c8d;
}

#area_cp .area_sec02 .area_sec_inner>.flex_wrap {
    display: flex;
    justify-content: space-between;
}

#area_cp .area_sec02 .area_sec_inner>.flex_wrap .con01,
#area_cp .area_sec02 .area_sec_inner>.flex_wrap .con02 {
    width: 48%;
}

#area_cp .area_sec02 .area_sec_inner>.flex_wrap .con01 .area_sec_txt,
#area_cp .area_sec02 .area_sec_inner>.flex_wrap .con02 .area_sec_txt {
    grid-column: 2/3;
    grid-row: 2/4;
}

#area_cp .area_sec02 .area_sec_inner>.flex_wrap .con01 .info_txt,
#area_cp .area_sec02 .area_sec_inner>.flex_wrap .con02 .info_txt {
    grid-column: 1/2;
    grid-row: 3/4;
}

#area_cp .btn {
    max-width: 340px;
    width: 50%;
    margin: 50px auto 0;
    text-align: center;
}

#area_cp .btn a {
    display: block;
    padding: 10px 5px;
    font-size: clamp(20px,2vw,24px);
    border: 2px solid #ffffff;
    background: var(--goldBg);
    color: #fff;
}

/* SP調整 */
@media screen and (max-width:730px) {

    .matsuri_bnr {
        margin-bottom: 60px;
    }

    .modal_contents .inner {
        padding-top: 35px;
    }
    
    .modal_contents .close {
        width: 35px;
        height: 35px;
    }
    
    .modal_contents .close span {
        height: 2px;
        top: 16px;
    }

    #matsuri .ttl .cap {
        right: auto;
        left: 5px;
        bottom: 5px;
    }

    #matsuri .lead {
        padding: 15px 0;
    }

    #matsuri .bg {
        padding: 20px;
    }

    #matsuri .bg_ttl {
        margin: 0 -20px;
    }

    #matsuri .bg_txt {
        margin: 15px -20px 25px;
    }

    #matsuri .bg .image_wrap {
        flex-direction: column;
        gap: 20px 0;
    }

    #matsuri .bg .image_wrap .box01,
    #matsuri .bg .image_wrap .box02 {
        width: 100%;
    }

    #matsuri .bg02 {
        padding: 30px 20px;
    }

    #matsuri .bg02 .movie_bnr {
        margin: 20px auto 30px;
    }

    #area_cp .white_bg {
        padding-bottom: 35px;
    }

    #area_cp .ttl_wrap {
        padding: 35px 20px 75px;
    }

    #area_cp .ttl_wrap .lead {
        margin-top: 20px;
    }

    #area_cp .ttl_wrap::after {
        height: 50px;
    }

    #area_cp .wrap01 {
        margin: -15px auto 50px;
    }

    #area_cp .wrap01 .foocot_wrap {
        flex-direction: column;
        gap: 15px 0;
    }

    #area_cp .wrap01 .foocot_wrap .image {
        width: 100%;
    }

    #area_cp .wrap01 .foocot_wrap .txt {
        text-align: center;
    }

    #area_cp .wrap01 .list_wrap {
        margin-top: 40px;
    }

    #area_cp .wrap01 .list_wrap li {
        flex-direction: column;
        gap: 10px 0;
    }

    #area_cp .wrap01 .list_wrap li .lead {
        width: 100px;
    }

    #area_cp .wrap01 .list_wrap li .txt {
        width: 100%;
    }
    
    #area_cp .area_sec_ttl {
        margin-bottom: 20px;
    }

    #area_cp .area_sec_ttl img {
        max-height: 30px;
    }

    #area_cp .area_sec01 .area_sec_inner>.flex_wrap {
        flex-direction: column;
        gap: 40px 0;
    }

    #area_cp .area_sec01 .area_sec_inner>.flex_wrap .con01,
    #area_cp .area_sec01 .area_sec_inner>.flex_wrap .con02 {
        width: 100%;
    }

    #area_cp .area_sec01 .con03 .image_wrap {
        display: flex;
        flex-direction: column;
    }

    #area_cp .area_sec01 .con03 .image_wrap .info_txt {
        margin-top: -10px;
    }

    #area_cp .area_sec02 .area_sec_inner>.flex_wrap {
        flex-direction: column;
        gap: 50px 0;
    }

    #area_cp .area_sec02 .area_sec_inner>.flex_wrap .con01,
    #area_cp .area_sec02 .area_sec_inner>.flex_wrap .con02 {
        width: 100%;
    }

    #area_cp .btn {
        width: 80%;
        margin-top: 30px;
    }
}




.info_wrap {
    max-width: 700px;
    width: 90%;
    margin: 60px auto 0;
}

.info_lead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 10px;
    font-size: clamp( 17px, 1.8vw, 18px);
    margin-bottom: -0.7em;
    color: #c20303;
}

.info_lead span {
    flex-shrink: 0;
}

.info_lead::before,
.info_lead::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #c20303;

}


.info_txt {
    border: 1px solid #c20303;
    border-top: none;
    padding: 30px;
    text-align: center;
    line-height: 1.5;
    font-size: clamp( 14px, 1.5vw, 16px);
}

.info_txt span {
    display: inline-block;
    margin: 0.5em 0;
    font-weight: bold;
    font-size: clamp( 16px, 1.8vw, 20px);
}


/* SP調整 */
@media screen and (max-width:730px) {

    .info_wrap {
        margin-top: 40px;
    }

    .info_txt {
        padding: 25px 20px 20px;
    }
}