@charset "UTF-8";

/* 基礎 */
.sitedesign-wrapper > [class="container"] { width:100%; padding-inline:0px;}

.pure_content,
.pure_content * {
    margin:0px;
    padding:0px;
    box-sizing:border-box;
}
.pure_content {
    --color-black:#19261B;
    --trans:0.75s ease;
    --img-after-scale:1.05;
    --noto-sans:"Noto Sans JP", sans-serif;

    font-family:"Shippori Mincho", serif;
    letter-spacing:0.05em;
    color:var(--color-black);
    font-size:clamp(0.875rem, calc(0.818rem + 0.242vw), 1rem);/* viewport:375-1200px 14-16px */
    overflow-x:clip;

    & :is(h1, h2, h3, h4, h5, h6) { font-weight:normal;}
    & img { vertical-align:bottom; max-width:100%; height:auto;}
    & :where(ul, ol) { list-style:none;}
    & a { text-decoration:none; color:inherit;}
    & .sec_inner { width:min(1200px, 92%); margin-inline:auto;}
    & .text_vertical { writing-mode:vertical-rl; letter-spacing:0.25em;}
    & .caution {
        padding-left:1em;
        text-indent:-1em;
        font-family:var(--noto-sans);
        font-size:13px;

        &:before { content:"※";}
    }
    & br.pc { display:block!important;}
    & br.sp { display:none!important;}

    & .bg_hexagon {
        position:relative;
        display:grid;
        place-items:center;
        height:auto;
        aspect-ratio:68/79;

        &:before {
            content:"";
            position:absolute;
            inset:0 auto auto 0;
            display:block;
            width:100%;
            height:100%;
            background-color:currentColor;
            mask:url(/images/2025lp_pure/hexagon.svg) no-repeat center / contain;
        }
    }
    & .pure_links {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:wrap;
        gap:clamp(1.25rem, calc(0.824rem + 1.818vw), 2.188rem) 7%;/* viewport:375-1200px 20-32px */
        margin-top:2em;

        & a {
            position:relative;
            display:grid;
            place-items:center;
            font-size:clamp(0.938rem, calc(0.795rem + 0.606vw), 1.25rem);/* viewport:375-1200px 15-20px */
            width:clamp(15.313rem, calc(12.614rem + 11.515vw), 21.25rem);/* viewport:375-1200px 245-340px */
            height:clamp(3.125rem, calc(2.273rem + 3.636vw), 5rem);/* viewport:375-1200px 50-80px */
            border:solid 1px var(--color-black);
            transition:color var(--trans), background-color var(--trans);

            &:focus { color:#fff; background-color:var(--color-black);}
            @media(any-hover:hover) { &:hover { color:#fff; background-color:var(--color-black);}}
            @media(any-hover:none) { &:active { color:#fff; background-color:var(--color-black);}}
        }
        & p { margin-top:0.875em; line-height:1.6875; text-align:center;}
        & .pure_links_wide { width:min(650px, 100%); text-align:center;}
    }

    & .pure_sec_title {
        position:relative;
        display:grid;
        justify-items:center;
        width:100%;
        max-height:1400px;
        aspect-ratio:1;

        & h2 {
            text-align:center;
            font-size:clamp(2.5rem, calc(2.216rem + 1.212vw), 3.125rem);/* viewport:375-1200px 40-50px */
        }
        & small {
            display:block;
            margin-top:0.5em;
            font-size:clamp(1rem, calc(0.744rem + 1.091vw), 1.563rem);/* viewport:375-1200px 16-25px */
        }
        & p { line-height:3.5;}
    }
    & .pure_sec_title_inner {
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:3em;
        width:fit-content;
    }
    & .pure_sec_title_bg img {
        position:absolute;
        inset:0 auto auto 0;
        width:100%;
        height:100%;
        object-fit:cover;
        z-index:-1;
    }
    & .pure_catch {
        margin-block:clamp(2.625rem, calc(1.886rem + 3.152vw), 4.25rem);/* viewport:375-1200px 42-68px */
        text-align:center;
        line-height:1.6;

        & h5 {
            font-size:clamp(1.25rem, calc(1.108rem + 0.606vw), 1.563rem);/* viewport:375-1200px 20-25px */
        }
        & p {
            margin-top:1rem;
        }
    }

    & a.hasImg {
        display:block;
        overflow:clip;

        & img { transition:scale var(--trans);}
        &:focus img { scale:var(--img-after-scale);}

        @media (any-hover:hover) { &:hover img { scale:var(--img-after-scale);}}
        @media (any-hover:none) { &:active img { scale:var(--img-after-scale);}}
    }
}
@media (max-width:767px){
    .pure_content {

        & br.pc { display:none!important;}
        & br.sp { display:block!important;}
        & .text_vertical { letter-spacing:0.15em;}
        & .pure_sec_title {
            height:clamp(40.625rem, calc(19.318rem + 90.909vw), 87.5rem);/* viewport:375-1200px  650-1400px */

            & p { line-height:2.5;}
        }
        & .pure_links .pure_links_wide { padding:1em; width:68%; height:auto;}
    }
}


/*==================================================
    A-TOOL用のcss打ち消し
    ※videoタグはwidth:100%!important;が適用されている
==================================================*/
html:has(.pure_content) { font-size:16px;}
.pure_content {

    & :is(h1, h2, h3, h4, h5, h6) {
        padding:0px;
        background:none;
        border:none;
        color:inherit;

        &:before,
        &:after { content:none;}
        & small { color:inherit;}
    }
    & :is(ul, ol) li:before {
        content:none;
        position:unset;
        display:inline;
        background:none;
    }
    & ol li { background:none;}
    & ol li:before { font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit;}
    & dt { font-weight:inherit;}
    & a:hover { opacity:1!important; background-color:inherit;}
}
.pure_sec_other .pure_other_access li:before {
    display:inline;
    background:none;
    border-radius:unset;
    position:static;
    width:auto;
    height:auto;
}





/*==================================================
    pure_sec_fv
==================================================*/
.pure_sec_fv {
    position:relative;

    & h1 {
        position:absolute;
        inset:min(22px, 3.2vw) auto auto min(14px, 2.1333vw);
        width:clamp(7.063rem, calc(5.585rem + 6.303vw), 10.313rem);/* viewport:375-1200px 113-165px */
    }
    & .pure_fv_bg {
        width:100%;
        height:clamp(40.625rem, calc(31.818rem + 37.576vw), 60rem);/* viewport:375-1200px 650-960px */
        object-fit:cover;
    }
}
@media (max-width:767px){

}

/*==================================================
    pure_sec_intro
==================================================*/
.pure_sec_intro {
    padding-bottom:clamp(9.375rem, calc(7.955rem + 6.061vw), 12.5rem);/* viewport:375-1200px  150-200px */
    font-size:clamp(0.875rem, calc(0.761rem + 0.485vw), 1.125rem);/* viewport:375-1200px  14-18px */

    & .sec_inner { padding-top:clamp(5.438rem, calc(3.648rem + 7.636vw), 9.375rem);/* viewport:375-1200px  87-150px */}
    & .pure_intro_imgset { display:flex; align-items:center;}
    & :is(.pure_intro_imgset2, .pure_intro_imgset4, .pure_intro_imgset6) { flex-direction:row-reverse;}
    & .pure_intro_imgset:not(.pure_intro_imgset1) p { line-height:3.3333;}
    & .pure_intro_imgset video { height:auto; object-fit:cover;}

    & .pure_intro_imgset1 { align-items:start;}
    & .pure_intro_imgset1 picture { margin-top:100px; width:59%;}
    & .pure_intro_imgset1 p {
        flex-grow:1;
        display:flex;
        align-items:center;
        font-size:clamp(1.125rem, calc(0.784rem + 1.455vw), 1.875rem);/* viewport:375-1200px 18-30px */
    }
    & .pure_intro_imgset2 video { margin-top:-2em; width:33.3333%!important; aspect-ratio:516/411; object-position:right 25% top 50%;}
    & .pure_intro_imgset2 p { flex-grow:1; display:flex; justify-content:center;}
    & .pure_intro_imgset3 { gap:7.6666%;}
    & .pure_intro_imgset3 img { width:43%;}
    & .pure_intro_imgset4 video {
        margin-top:-1.5em;
        margin-right:22.5%;
        width:25%!important;
        aspect-ratio:301/375;
        object-position:center;
    }
    & .pure_intro_imgset4 p { flex-grow:1; display:flex; justify-content:center;}
    & .pure_intro_imgset5 { gap:10.75%; margin-top:3.3333em;}
    & .pure_intro_imgset5 img { width:41.6666%;}
    & .pure_intro_imgset6 { align-items:start; gap:8.3333%; margin-top:4.6666em;}
    & .pure_intro_imgset6 img:nth-of-type(1) { width:51.6666%;}
    & .pure_intro_imgset6 img:nth-of-type(2) { width:23.8333%; margin-top:min(288px, 24vw);}

    & .pure_intro_title {
        width:clamp(17.438rem, calc(5.08rem + 52.727vw), 44.625rem);/* viewport:375-1200px 279-714px */
        margin:100px auto 0px;
    }
    & .pure_intro_bg {
        display:flex;
        align-items:center;
        justify-content:center;
        margin-top:126px;
        width:100%;
        max-height:1120px;
        aspect-ratio:1440/1120;
        background:url(/images/2025lp_pure/intro/bg.webp) no-repeat center / cover;
        color:#fff;
        font-size:clamp(1.125rem, calc(1.068rem + 0.242vw), 1.25rem);/* viewport:375-1200px 18-20px */
        line-height:2.5;
        letter-spacing:0.3em;
    }
}
@media (max-width:767px){
    .pure_sec_intro {
        container-type:inline-size;

        & :is(.pure_intro_imgset1, .pure_intro_imgset2, .pure_intro_imgset3, .pure_intro_imgset6) {
            margin-inline:calc((100% - 100cqw) / 2);
        }
        & .pure_intro_imgset:not(.pure_intro_imgset1) p { line-height:2;}
        & .pure_intro_imgset1 picture { width:74.5%;}
        & .pure_intro_imgset2 { flex-direction:column-reverse; align-items:unset;}
        & .pure_intro_imgset2 video {
            margin-top:auto;
            margin-inline:auto 0;
            width:61.8666%!important;
            aspect-ratio:232/159;
        }
        & .pure_intro_imgset2 p {
            justify-content:unset;
            margin-block:3em;
            margin-left:calc(4% + 45px);
        }
        & .pure_intro_imgset3 { display:block; margin-top:3em;}
        & .pure_intro_imgset3 img { width:89.8666%;}
        & .pure_intro_imgset3 p { margin-block:3em; margin-left:calc(4% + 45px);}
        & .pure_intro_imgset4 { justify-content:space-between;}
        & .pure_intro_imgset4 video { margin:auto; width:35.4666%!important;}
        & .pure_intro_imgset4 p { display:block;}
        & .pure_intro_imgset5 { display:block; margin-top:3em;}
        & .pure_intro_imgset5 img { width:100%;}
        & .pure_intro_imgset5 p { width:fit-content; margin:3em auto;}
        & .pure_intro_imgset6 { flex-direction:column; margin-block:auto;}
        & .pure_intro_imgset6 img:nth-of-type(1) { width:75.2%; margin-inline:auto 4%;}
        & .pure_intro_imgset6 img:nth-of-type(2) { width:58.4%; margin-top:2.3333em; aspect-ratio:219/189; object-fit:cover;}

        & .pure_intro_title { margin-top:135px;}
        & .pure_intro_bg { margin-top:165px; height:650px; aspect-ratio:unset;}
    }
}

/*==================================================
    pure_sec_foods
==================================================*/
.pure_sec_foods {

    & .pure_sec_title { position:relative; padding-top:min(145px, 12.0833vw); background:none; color:#fff;}
    & .pure_sec_title video {
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        z-index:-1;
    }
    & .sec_inner {
        container-type:inline-size;
        padding-top:clamp(3.75rem, calc(1.903rem + 7.879vw), 7.813rem);/* viewport:375-1200px 60-125px */
        padding-bottom:clamp(9.375rem, calc(7.955rem + 6.061vw), 12.5rem);/* viewport:375-1200px 150-200px */
    }
    & .pure_foods_block {
        display:flex;
        align-items:start;
        gap:9.5833cqw;

        & + .pure_foods_block { margin-top:85px;}

        & .pure_foods_block_item1 { width:53.75%;}
        & .pure_foods_block_item2 { width:fit-content;}
        & h3 { font-size:clamp(1.75rem, calc(1.409rem + 1.455vw), 2.5rem);/* viewport:375-1200px 28-40px */}
        & h3 small {
            display:block;
            font-size:clamp(1rem, calc(0.886rem + 0.485vw), 1.25rem);/* viewport:375-1200px 16-20px */
            line-height:3;
        }
        & p { margin-top:1.5em; line-height:2.5;}
        & p + small { margin-top:0.75em; font-size:0.8125em; line-height:3;}
    }
    & :nth-child(even of .pure_foods_block) { flex-direction:row-reverse;}
    & :nth-child(1 of .pure_foods_block) .pure_foods_block_item2 img { margin-top:min(185px, 12.85vw);}
    & :nth-child(2 of .pure_foods_block) .pure_foods_block_item2 img { margin-top:min(145px, 10vw);}
    & :nth-child(3 of .pure_foods_block) .pure_foods_block_item2 img { margin-top:min(95px, 6.59vw);}
    
    & .pure_foods_menu_wrap { width:min(650px, 100%); margin-inline:auto;}
    & .pure_links {
        margin-top:clamp(4.063rem, calc(2.358rem + 7.273vw), 7.813rem);/* viewport:375-1200px 65-125px */
    }
    & .pure_foods_menu {
        margin-top:clamp(2.813rem, calc(2.67rem + 0.606vw), 3.125rem);/* viewport:375-1200px 45-50px */
        padding:1.125rem clamp(1rem, calc(0.432rem + 2.424vw), 2.25rem);/* viewport:375-1200px 16-36px */
        background-color:#FAF8E8;

        & h4 {
            font-size:clamp(1.375rem, calc(1.29rem + 0.364vw), 1.563rem);/* viewport:375-1200px 22-25px */
            text-align:center;
        }
        & p { margin-top:1em; line-height:1.875;}
    }
    & .pure_foods_menu_other {
        margin-top:1rem;
        font-family:var(--noto-sans);
        line-height:1.7;

        & p {
            font-size:clamp(0.875rem, calc(0.818rem + 0.242vw), 1rem);/* viewport:375-1200px 14-16px */
            font-weight:bold;
        }
    }
}
@media (max-width:767px){
    .pure_sec_foods {

        & .pure_foods_block {
            --row-gap:10.6666vw;/* viewport:375px 40px */
            --column-gap:4.5333vw;/* viewport:375px 17px */
            display:grid;
            gap:var(--row-gap) var(--column-gap);

            & .pure_foods_block_item1 { grid-area:img1; width:100%;}
            & .pure_foods_block_item2 { display:contents;}
            & .pure_foods_block_item2 picture { grid-area:img2;}
            & .pure_foods_block_text { grid-area:text;}
        }
        & :nth-child(1 of .pure_foods_block) {
            grid-template:
                "text text" auto
                "img1 img2" auto / 1fr 29.56%;

            & .pure_foods_block_text { width:fit-content; margin-inline:auto;}
            & .pure_foods_block_item1 { width:calc(100% + (100vw - 100cqw) / 2); margin-left:calc((100cqw - 100vw) / 2);}
            & .pure_foods_block_item2 img { margin-top:40vw;}
        }
        & :nth-child(2 of .pure_foods_block) {
            grid-template:
                "text text" auto
                "img2 img1" auto / 26.37% 1fr;
            margin-top:0px;

            & .pure_foods_block_item2 img { margin-top:32vw;}
        }
        & :nth-child(3 of .pure_foods_block) {
            grid-template:
                "h3 img2" auto
                "p p" auto
                "small small" auto
                "img1 img1" 1fr / 1fr auto;
            row-gap:0px;
            margin-top:var(--row-gap);

            & .pure_foods_block_text { display:contents;}
            & .pure_foods_block_text :is(h3, h3 ~ p, h3 ~ small) { margin-left:3vw;}
            & .pure_foods_block_text h3 { grid-area:h3; align-self:center;}
            & .pure_foods_block_text p { grid-area:p;}
            & .pure_foods_block_text small { grid-area:small;}
            & .pure_foods_block_item1 { margin-top:var(--row-gap);}
            & .pure_foods_block_item1 img { width:100%;}
            & .pure_foods_block_item2 picture { width:28.5333vw; margin-right:calc((100cqw - 100vw) / 2);}
            & .pure_foods_block_item2 img { margin-top:0px;}
        }
    }
}


/*==================================================
    pure_sec_seasons
==================================================*/
.pure_sec_seasons {

    & .pure_sec_title { padding-top:min(135px, 11.25vw);}
    & .sec_inner { padding-bottom:clamp(9.375rem, calc(7.955rem + 6.061vw), 12.5rem);/* viewport:375-1200px 150-200px */}
    & .bg_hexagon {
        width:1.8em;
        font-size:clamp(1.563rem, calc(0.852rem + 3.03vw), 3.125rem);/* viewport:375-1200px 25-50px */
    }
    & .pure_season {
        position:relative;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:start;
        gap:14px;
        margin-top:clamp(3rem, calc(0.813rem + 9.333vw), 7.813rem);/* viewport:375-1200px  48-125px */
        padding-top:45px;
        aspect-ratio:1200/675;
        background:url() no-repeat center / cover;
        & img {
            position:absolute;
            inset:0 auto auto 0;
            width:100%;
            height:100%;
            object-fit:cover;
            z-index:-1;
        }
        & h3 { font-size:20px;}
        & p { line-height:1.875; text-align:center;}
    }
    & :is(.pure_season_summer, .pure_season_autumn, .pure_season_winter) { color:#fff;}
    & :is(.pure_season_summer, .pure_season_autumn) :not(img) { filter:drop-shadow(0px 0px 10px #000);}
}
@media (min-width:768px) and (max-width:1280px) {
    .pure_sec_seasons {
        .pure_season_spring {
            color:#fff;
            
            & :not(img) { filter:drop-shadow(0px 0px 10px #000);}
        }
    }
}
@media (max-width:767px){
    .pure_sec_seasons {

        & .pure_season {
            display:grid;
            grid-template:
                "hexagon h3 p" auto
                "img img img" 1fr / auto auto 1fr;
            padding-top:0px;
    
            & .bg_hexagon { grid-area:hexagon;}
            & h3 { grid-area:h3;}
            & p { grid-area:p; width:fit-content; margin-inline:auto 0; text-align:start;}
            & img { grid-area:img; position:static;}
        }
        & :is(.pure_season_summer, .pure_season_autumn, .pure_season_winter) { color:unset;}
        & :is(.pure_season_summer, .pure_season_autumn) :not(img) { filter:unset;}
    }
}



/*==================================================
    pure_sec_accommodations
==================================================*/
.pure_sec_accommodations {

    & .pure_sec_title { padding-top:min(135px, 11.25vw); color:#fff;}
    & .pure_sec_title_inner { filter:drop-shadow(0px 0px 10px #000);}
    & .sec_inner {
        padding-top:clamp(3.125rem, calc(0.994rem + 9.091vw), 7.813rem);/* viewport:375-1200px 50-125px */
        padding-bottom:clamp(9.375rem, calc(7.386rem + 8.485vw), 13.75rem);/* viewport:375-1200px 150-220px */
        width:min(1250px, 92%);
    }
    & .pure_accommodation_category {
        display:grid;
        grid-template-columns:230px 1fr;

        & h3 { font-size:clamp(1.25rem, calc(0.966rem + 1.212vw), 1.875rem);/* viewport:375-1200px 20-30px */}
        & :is(h3, .pure_accommodation_list) { padding-top:clamp(2.188rem, calc(1.335rem + 3.636vw), 4.063rem);/* viewport:375-1200px 35-65px */}
        & + .pure_accommodation_category { margin-top:clamp(2.188rem, calc(1.335rem + 3.636vw), 4.063rem);/* viewport:375-1200px 35-65px */}
        & + .pure_accommodation_category .pure_accommodation_list { border-top:solid 1px;}
    }
    & :nth-child(1 of .pure_accommodation_category) h3 { padding-top:0px;}
    & .pure_accommodation_list {
        display:grid;
        grid-template-columns:repeat(auto-fill, minmax(315px, 1fr));
        row-gap:clamp(2.5rem, calc(2.216rem + 1.212vw), 3.125rem);/* viewport:375-1200px 40-50px */
        column-gap:clamp(1.125rem, calc(0.727rem + 1.697vw), 2rem);/* viewport:375-1200px 18-32px */

        & article { grid-row:span 2; display:grid; grid-template-rows:subgrid; gap:0px;}
        & img { width:100%;}
        & figcaption {
            margin-top:clamp(0.75rem, calc(0.523rem + 0.97vw), 1.25rem);/* viewport:375-1200px  12-20px */
            font-size:clamp(1.125rem, calc(1.068rem + 0.242vw), 1.25rem);/* viewport:375-1200px 18-20px */
            overflow-wrap:anywhere;
            word-break:keep-all;
            line-height:1.5;
        }
        & p { margin-top:1em; line-height:1.875; word-break:break-all;}
    }
}

@media (min-width:768px){
    .pure_sec_accommodations :nth-child(1 of .pure_accommodation_category) .pure_accommodation_list { padding-top:0px;}
} 
@media (max-width:767px){
    .pure_sec_accommodations {

        & .pure_accommodation_category {
            grid-template-columns:1fr;

            & h3 { padding-top:0px; text-align:center;}
            & + .pure_accommodation_category .pure_accommodation_list { border:none;}
            & + .pure_accommodation_category h3 { border-top:solid 1px;}
        }
        & .pure_accommodation_list {
            grid-template-columns:1fr 1fr;
            
        }
    }
}


/*==================================================
    pure_sec_locations
==================================================*/
.pure_sec_locations {

    & .pure_sec_title { padding-top:min(105px, 8.75vw); max-height:600px;}
    & .pure_sec_title_inner { gap:0;}
    & .sec_inner {
        padding-top:clamp(3.5rem, calc(1.54rem + 8.364vw), 7.813rem);/* viewport:375-1200px 56-125px */
        padding-bottom:clamp(9.375rem, calc(7.955rem + 6.061vw), 12.5rem);/* viewport:375-1200px 150-200px */
    }
    & .pure_locations_list {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:clamp(2.5rem, calc(1.364rem + 4.848vw), 5rem) 8.3333%;/* viewport:375-1200px 40-80px */
    }
    & img { width:100%;}
    & iframe { width:100%; height:auto; aspect-ratio:16/9;}
    & .pure_location_name { margin-bottom:0.75em; font-size:20px;}
    & .pure_links { margin-top:85px;}
}
@media (max-width:767px){
    .pure_sec_locations {

        & .pure_sec_title { height:clamp(18.75rem, calc(10.227rem + 36.364vw), 37.5rem);/* viewport:375-1200px  300-600px */}
        & .pure_locations_list {
            grid-template-columns:1fr;
        }
    }
}


/*==================================================
    pure_sec_course
==================================================*/
.pure_sec_course {

    & .pure_sec_title { padding-top:min(130px, 10.8333vw);}
    & .sec_inner {
        container-type:inline-size;
        padding-top:clamp(3.125rem, calc(0.994rem + 9.091vw), 7.813rem);/* viewport:375-1200px 50-125px */
        padding-bottom:clamp(9.375rem, calc(7.102rem + 9.697vw), 14.375rem);/* viewport:375-1200px 150-230px */
    }
    & .pure_course_step {
        --gap:12.5cqw;
        --gap:clamp(1.875rem, calc(-1.534rem + 14.545vw), 9.375rem);/* viewport:375-1200px 30-150px */

        display:grid;
        grid-template-columns:1fr 1fr;
        gap:var(--gap);

        & figure { position:relative; z-index:1;}
        & figure + figure { margin-top:clamp(2.25rem, calc(-0.136rem + 10.182vw), 7.5rem);/* viewport:375-1200px 36-120px */}
        & figcaption { margin-top:0.5em; font-size:clamp(0.813rem, calc(0.67rem + 0.606vw), 1.125rem);/* viewport:375-1200px 13-18px */}
        & .pure_course_step_odd { margin-top:clamp(5rem, calc(1.79rem + 13.697vw), 12.063rem);/* viewpoer:375-1200px 80-193px */}
        & .pure_course_step_odd figure:after,
        & .pure_course_step_even figure:not(:first-of-type):before {
            content:"";
            position:absolute;
            width:calc(var(--gap) + 2px);
            aspect-ratio:1;
            background:url(/images/2025lp_pure/course/line.svg) no-repeat center / contain;
            z-index:-1;
        }
        & .pure_course_step_odd figure:after { inset:auto auto 24.3333cqw calc(100% - 1px); scale:1 1;}
        & .pure_course_step_even figure:not(:first-of-type):before { inset:auto calc(100% - 1px) 23.6666cqw auto; scale:-1 1;}
    }
    & .pure_course_catch {
        margin-top:clamp(2.813rem, calc(1.534rem + 5.455vw), 5.625rem);/* viewport:375-1200px 45-90px */
        text-align:center;
        font-size:clamp(1.125rem, calc(1.068rem + 0.242vw), 1.25rem);/* viewport:375-1200px 18-20px */
        line-height:2;
    }
    & .pure_cautions {
        /* viewport:375-1200px 41-36px【(36~41)-(-5~5)】 */
        margin-top:calc(
            clamp(2.25rem, calc(2.108rem + 0.606vw), 2.563rem) -
            clamp(-0.312rem, calc(-0.597rem + 1.212vw), 0.313rem)
        );
    }
    & .pure_links {
        margin-top:clamp(2.875rem, calc(0.773rem + 8.97vw), 7.5rem);/* viewport:width:375-1200px 46-120px */
    }
}
@media (max-width:767px){
    .pure_sec_course {

        & .pure_course_step {
            
            & .pure_course_step_odd figure:after,
            & .pure_course_step_even figure:not(:first-of-type):before {
                aspect-ratio:85.74/49.5;
                background-image:url(/images/2025lp_pure/course/line_sp.svg);
            }
            & .pure_course_step_odd figure:after { inset-block:1.7391cqw auto;}
            & .pure_course_step_even figure:not(:first-of-type):before { inset-block:2.8985cqw auto;}
        }
    }
}


/*==================================================
    pure_sec_other
==================================================*/
.pure_sec_other {

    & .sec_inner {
        padding-top:clamp(4.125rem, calc(2.449rem + 7.152vw), 7.813rem);/* viewport:375-1200px 66-125px */
        padding-bottom:clamp(5.75rem, calc(5.097rem + 2.788vw), 7.188rem);/* viewport:375-1200px 92-115px */
    }
    & .pure_other_movie video {
        width:100%;
        max-height:960px;
        height:clamp(40.625rem, calc(31.818rem + 37.576vw), 60rem);/* viewport:375-1200px 650-960px */
        object-fit:cover;
    }
    & .pure_other_booking {
        text-align:center;

        & h2 {
            font-size:clamp(1.5rem, calc(1.045rem + 1.939vw), 2.5rem);/* viewport:375-1200px 24-40px */
            line-height:1.25;
        }
        & p {
            margin-top:clamp(1.313rem, calc(0.375rem + 4vw), 3.375rem);/* viewport:375-1200px 21-54px */
            font-size:clamp(0.875rem, calc(0.761rem + 0.485vw), 1.125rem);/* viewport:375-1200px 14-18px */
            line-height:3.3333;
        }
        & .pure_links {
            justify-content:space-evenly;
            column-gap:1rem;
            margin-top:clamp(2.188rem, calc(1.136rem + 4.485vw), 4.5rem);/* viewport:375-1200px 35-72px */
        }
    }
    & .pure_other_faq {
        display:grid;
        grid-template-columns:190px 1fr;
        margin-top:clamp(4.125rem, calc(0.318rem + 16.242vw), 12.5rem);/* viewport:375-1200px 66-200px */

        & h3 { font-size:clamp(1.5rem, calc(1.045rem + 1.939vw), 2.5rem);/* viewport:375-1200px 24-40px */}
        & dl {
            font-size:clamp(0.875rem, calc(0.761rem + 0.485vw), 1.125rem);/* viewport:375-1200px 14-18px */
            line-height:1.6666;
        }
        & :is(dt, dd) { padding-left:2em; text-indent:-2em;}
        & dt:before { content:"Q：";}
        & dd { margin-top:0.85em;}
        & dd:before { content:"A：";}
        & dl + dl {
            margin-top:clamp(1.125rem, calc(0.784rem + 1.455vw), 1.875rem);/* viewport:375-1200px 18-30px */
            padding-top:clamp(1.125rem, calc(0.784rem + 1.455vw), 1.875rem);/* viewport:375-1200px 18-30px */
            border-top:solid 1px;
        }
        & + .pure_links { margin-top:clamp(4.688rem, calc(3.267rem + 6.061vw), 7.813rem);/* viewport:375-1200px 75-125px */}
    }
    & .pure_other_access {
        margin:clamp(6.25rem, calc(2.415rem + 16.364vw), 14.688rem) auto 0px;/* viewport:375-1200px 100-235px */
        width:min(730px, 100%);

        & .pure_other_access_wrap { position:relative;}
        & .pure_other_access_wrap p { position:absolute; inset:0 auto auto 0; font-size:18px;}
        & .pure_other_access_wrap img { display:block; margin-inline:auto; width:min(533px, 100%);}
        & ul { margin-top:1.5em;;}
        & li {
            padding-left:1em;
            text-indent:-1em;
            font-size:clamp(0.875rem, calc(0.761rem + 0.485vw), 1.125rem);/* viewport:375-1200px 14-18px */
            line-height:2;
        }
        & li:before { content:"●";}
        & .icons {
            display:flex;
            align-items:center;
            gap:1.75em;
            margin-top:clamp(2.438rem, calc(2.068rem + 1.576vw), 3.25rem);/* viewport:375-1200px 39-52px */
        }
    }
    & .pure_catch h5 { font-size:clamp(1.5rem, calc(1.472rem + 0.121vw), 1.563rem);/* viewport:375-1200px 24-25px */}
    & .pure_other_tour {
        display:grid;
        grid-template:"dl1 line dl2" 1fr / 1fr auto 1fr;
        gap:18px 60px;

        &:before {
            grid-area:line;
            content:"";
            display:block;
            width:1px;
            background-color:currentColor;
        }
        & dl:nth-of-type(1) { grid-area:dl1; justify-self:end;}
        & dl:nth-of-type(2) { grid-area:dl2;}
        & dt {
            line-height:1.6;
            font-size:clamp(1rem, calc(0.943rem + 0.242vw), 1.125rem);/* viewport:375-1200px 16-18px */
        }
        & dd { font-size:clamp(0.875rem, calc(0.818rem + 0.242vw), 1rem);/* viewport:375-1200px 14-16px */}
        & :is(ul, ol) { margin-top:0.75em; line-height:1.875;}
        & :is(ul, ol) li { text-indent:-1em; padding-left:1em;}
        & ul li:before { content:"●";}
        & ol { counter-reset:ol;}
        & ol li:before { content:counter(ol)"."; counter-increment:ol; margin-right:0.25em;}

        & + .pure_links { margin-top:clamp(3.063rem, calc(1.415rem + 7.03vw), 6.688rem);/* viewport:375-1200px 49-107px */}
    }
}
@media (max-width:767px){
    .pure_sec_other {

        & .pure_other_booking p { line-height:2.5;}
        & .pure_other_faq {
            grid-template-columns:1fr;

            & h3 { margin-bottom:0.9em; text-align:center;}
            & dd { margin-top:0px;}
        }
        & .pure_other_tour {
            grid-template:
                "dl1" auto
                "dl2" 1fr / 1fr;

            &:before { content:none;}
            & dl:nth-of-type(1) { justify-self:unset;}
        }
    }
}