/*
Theme Name: 20260618
*/

@charset "UTF-8";

*{
    box-sizing: border-box;
    scroll-behavior: smooth;
    font-feature-settings: 'palt';
    margin: 0;
    padding: 0;
}

div{
    height:fit-content;
    
}

img{
    margin:0;
    padding:0;
    display: block;
    width: 100%;
    height: auto;
}

a{
    text-decoration:none;
    transition:0.2s;
}

a:hover{
    opacity:0.7;
}

.all-content{
    width:100%;
    overflow: hidden;
}

.inline-b{
    display:inline-block;
}

.sp, .tb, .tb-only{
    display:none
}

@media screen and (max-width:768px){
    .tb, .tb-only{
        display:inherit;
    }

    .pc{
        display:none;
    }
}

@media screen and (max-width:480px){
    .tb-only{
        display:none;
    }

    .sp{
        display:inherit;
    }
}


/* fonts */
.yu{
    font-family: "yu-gothic-pr6n", sans-serif;
}

.miller {
    font-family: "miller-display", serif;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
}

body {
    overflow: hidden;
    background-image:url(img/body-back.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.lp-layout {
    position: fixed;
    inset: 0;
    display: grid;
    grid-template-columns: 1fr 600px 1fr;
    width: 100%;
    height: 100%;
}

.lp-side {
    height: 100%;
    overflow: hidden;
}

.lp-side-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-side-left h1{
    width:68%;
}

.lp-side-right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-side-right .right-cta{
    width:83%;
    position:relative;
}

.lp-side-right .right-cta .right-cta-btn{
    position:absolute;
    top:81%;
    left:50%;
    transform: translateX(-50%);
    width:81%;
}

.lp-main {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position:relative;
    container-type: inline-size;
}

.lp-main::-webkit-scrollbar {
    display: none;
}

.lp-content {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
}

.mid-none{
    max-width:400px;
}

@media screen and (max-width:1200px){
    .mid-none{
        display:none;
    }
}

@media screen and (max-width: 600px) {

    html,
    body {
        height: auto;
    }

    body {
        overflow: auto;
        background: #fff;
    }

    .lp-layout {
        position: static;
        display: block;
        width: 100%;
        height: auto;
    }

    .lp-side {
        display: none;
    }

    .lp-main {
        height: auto;
        overflow: visible;
    }

    .lp-content {
        width: 100%;
        max-width: none;
    }
}

/* mv */

.mv{
    position:relative;
    z-index:10;
}

.mv-video{
    position:absolute;
    left:50%;
    transform: translateX(-50%);
    width:90%;
    top:17%;
    z-index:-1;
    border-radius:5cqw;
    box-sizing: border-box;
    height:85cqw;
    overflow: hidden;
}

.mv-video img,
.mv-video video{
    background:#fff;
    width:100%;
    box-sizing: border-box;
    margin:0;
    object-fit: cover;
    object-position: center bottom;
}

.mv-btm{
    position:relative;
    margin-top:-7cqw;
    z-index:0;
}

.mv-btm-btn{
    position:absolute;
    top:68%;
    width:90%;
    left: 50%;
    transform: translateX(-50%);
}

.cta01{
    border-radius:1000px;
    overflow: hidden;
}
/* スライド */

.sec01{
    position:relative;
    z-index:1;
    background-image:url(img/sec01.jpg);
    background-size:100%;
    background-repeat: no-repeat;
    background-position: center top;
    padding: 16cqw 0;
}
.sec-slide {
    width: 100%;
    z-index:999;
}


.sec-slide img {
    display: block;
    width: 80%;
    margin:0 auto;
    height: auto;
}
.sec02{
    position:relative;
    container-type: inline-size;
}

.sec02 .btm-img{
    position:absolute;
    bottom:0;
    transform: translateY(54%);
    z-index:5;
}
.sec02-01-btn{
    position:absolute;
    top:34%;
    left:50%;
    transform: translateX(-50%);
    width:58%;
    border-radius:10000px;

}
.sec02-02{
    position:absolute;
    bottom:0;
    left:50%;
    transform: translate(-50%);
    background-image:url(img/sec02-02-back.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size:cover;
    border-radius:7.5cqw 7.5cqw 0 0;
    width:90%;
    padding-bottom:15%;
}

.sec02-02::before{
    content:"";
    background-image:url(img/sec02-02-01.png);
    width:100%;
    height:31.5cqw;
    position:absolute;
    top:-3%;
    left:0;
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center top;

}

.sec02-02 .sec02-btn{
    position:absolute;
    width:76%;
    left:50%;
    transform: translateX(-50%);
    bottom:31%;
}

.sec-slide02{
    margin-top:37%;
}

.sec-slide02 img{
    width:90%;
    margin:0 auto;
}

.sec-slide02-prev,
.sec-slide02-next {
    position: absolute;
    top: 52%;
    z-index: 10;
    width: 8.75cqw;
    height: 8.75cqw;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
}

.sec-slide02-prev {
    left: -2cqw;
    background-image: url("img/slide02-prev.png");
}

.sec-slide02-next {
    right:-2cqw;
    background-image: url("img/slide02-next.png");
}

.sec02-03{
    margin-top:-5%;
    position:relative;
    overflow:hidden;
    border-radius:7cqw 7cqw 0 0;
}

.sec02-btn{
    position:absolute;
    width:81.5%;
    left:50%;
    transform: translateX(-50%);
    top:68%;
}

.sec03{
    position:relative;
}

.sec03 .sec03-btn{
    position: absolute;
        width: 88%;
        left: 50%;
        transform: translateX(-50%);
        top: 66%;
}


.sec04{
    background-image:url(img/sec04-back.jpg);
    background-position: center top;
    background-size: 100%;
    background-repeat: no-repeat;
    position:relative;
    z-index:4;
    container-type: inline-size;
}

.sec04 .sec04-btn{
    position: absolute;
        width: 88%;
        left: 50%;
        transform: translateX(-50%);
        top:-13cqw;
}

.sec05{
    position:relative;
    z-index:10;
    margin-top:-11.5%;
}

.sec05 .sec05-top{
    position:absolute;
    width:100%;
    left:0;
    top:-1%;
}
.sec05 .sec05-btn{
    width: 81.5%;
    left: 50%;
    transform: translateX(-50%);
    position:absolute;
    bottom:8%;
}

.sec06{
    position: relative;
}

.sec07{
    position:relative;
}

.sec07-02{
    background-image:url(img/sec07-back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    padding-bottom:30%;
}

.sec08 {
    
    background-image: url(img/sec08-back.jpg);
    background-size: cover;
    background-position: center top;
    clip-path: polygon(0 13cqw,
            100% 0,
            100% calc(100% - 7cqw),
            50% 100%,
            0 calc(100% - 7cqw));
    padding-top: 14%;
    padding-bottom: 10cqw;
    margin-top: -29cqw;
    margin-bottom:-7cqw;
    z-index:10;
    position:relative;
}

.sec09{
    position:relative;
    container-type: inline-size;
    z-index:0;
}



.sec10{
    position:relative;
    background-image: url(img/sec10-back.png);
        background-size: 100%;
        background-position: center top;
        background-repeat: no-repeat;
        padding-top:5.5cqw;
        margin-top:-7cqw;
}

.sec10 .sec10-btn{
    width: 76%;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    bottom: 37%;

}

.sec11{
    position:relative;
}

.sec11 .gmap {
    width: 90%;
    height: 47.5cqw;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 15%;
}

.sec11 .gmap iframe {
    width: 100%;
    height: 100%;
}

.sec12{
    position:relative;
    margin-top:-23cqw;
    overflow: hidden;
    border-radius:7cqw 7cqw 0 0;
}

.sec12 .sec12-btn{
    width: 81.5%;
        left: 50%;
        transform: translateX(-50%);
        position: absolute;
        bottom: 34%;
}

.sec13{
    position:relative;
    container-type: inline-size;
}

.sec13 .sec13-btn{
    position:absolute;
    width: 90%;
        left: 50%;
        transform: translateX(-50%);
        top:-8cqw;


}

.floating{
    display:none;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index:1000;
    background:#fa6e8c;
}

@media screen and (max-width:600px){
.floating {
        display: block;
    }

    .sec13 {
        padding-bottom:15%;
    }
}