/*rest　******************************/
*{box-sizing: border-box;}
img{max-width:100%;max-height: 100%;}
a{display: block; text-decoration: none; color:var(--color-bk) !important;}
button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color:inherit;
}

body{
    line-height: 1;
}

html{
    font-size:62.5% !important;
}
a{transition: 0.2s;}
a:hover{text-decoration: none !important;}
/* a:hover{text-decoration: none; opacity: 0.8;} */
#header .header_search_wrap_ .header_search_inner_ form input.keyword_{
height:41.8px;}



/*root　******************************/

:root {
    --color-lgy:#D9D4D3;
    --color-bk:#3F3F3F;
    --color-gy:#CCC3C0;
    --txt-l:clamp(12px,3.84vw,15px);
    --txt-m:clamp(11px,3.33vw,13px);
    --txt-s:clamp(10px,3.07vw,12px);

    /* --cont-max:1400px; */
    --cont-max:1680px;
    --cont-max-s:900px;
    --cont-pd-w:4vw;
    --mg4:1.02vw;
    --mg8:2.05vw;
    --mg12:3.07vw;
    --mg16:4.10vw;
    --mg24:6.15vw;
    --mg32:8.20vw;
    --mg40:10.25vw;
    --mg48:12.30vw;
    --mg56:14.35vw;
    --mg64:16.41vw;
    --mg80:20.51vw;
    --mg96:24.61vw;
    --mg104:26.6vw;
    --mg120:30.76vw;

    }

    .pc{
        display: none;
    }


    .font-en{
    font-family: "cofo-raffine", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.08em;
    }


    @media (min-width: 768px) {
        :root {
        --txt-l:clamp(15px,1.04vw,21px);
        --txt-m:clamp(14px,0.93vw,18px);
        --txt-s:clamp(13px,0.83vw,16px);
        --cont-pd-w:6vw;
        --mg4:0.29vw;
        --mg8:0.58vw;
        --mg12:0.87vw;
        --mg16:1.17vw;
        --mg24:1.75vw;
        --mg32:2.34vw;
        --mg40:2.92vw;
        --mg48:3.51vw;
        --mg56:4.09vw;
        --mg64:4.68vw;
        --mg72:5.27vw;
        --mg80:5.85vw;
        --mg96:7.02vw;
        --mg104:7.61vw;
        --mg120:8.78vw;
        --mg136:9.95vw;
        --mg144:10.54vw;
        --mg160:11.71vw;
        --mg200:14.64vw;
        --mg240:17.56vw;

        }
        .pc{
            display: block;
        }

        .sp{
            display: none;
        }

        
        
    }

    @media (min-width: 1366px) {
        /* :root {
            --cont-pd-w:10vw;
        } */
    }

    @media (min-width: 1920px) {
    :root {
    --mg4:0.20vw;
    --mg8:0.41vw;
    --mg12:0.62vw;
    --mg16:0.83vw;
    --mg24:1.25vw;
    --mg32:1.66vw;
    --mg40:2.08vw;
    --mg48:2.5vw;
    --mg56:2.91vw;
    --mg64:3.33vw;
    --mg72:3.75vw;
    --mg80:4.16vw;
    --mg96:5vw;
    --mg104:5.41vw;
    --mg136:7.08vw;
    --mg144:7.5vw;
    --mg120:6.25vw;
    --mg160:8.33vw;
    --mg200:10.41vw;
    --mg240:12.5vw;

    }
    }

/*common　******************************/

.font-en{
    font-family: "superclarendon", serif;
    font-weight: 400;
    font-style: normal;
}

.l-wrapper{
    background:var(--color-lgy);
}

.contentWrapper {
    overflow: hidden;
    letter-spacing: .05em;
    color:var(--color-bk);
    letter-spacing: 0.08em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    /* max-width:1480px;
    margin:0 auto; */

}


.contents-inner{
    width: 100%;
    padding:0 var(--cont-pd-w);
    max-width:var(--cont-max);
    margin:0 auto;
}

.item{
    padding-top:var(--mg80);
}

.item__img-main a:hover,.item__cont-sub a:hover,.item__col-nav a:hover{
    opacity: 0.8;
}


@media (min-width: 768px) {

    .item{
        padding-top:var(--mg160);
    }


}


/*　mv・intro ******************************/


.mainVisual{
    width:100%;
    position: relative;
}
.mainVisual__wrapper{
    text-align: center;
    border-bottom:1px solid var(--color-bk);
}

.intro{
    padding:var(--mg64) 0;
    border-bottom:1px solid var(--color-bk);
}

.intro__wrapper{
    width:100%;
}


.intro__txt{
    font-size:var(--txt-m);
    line-height: 2;
    letter-spacing: 0.1em;
}

.intro-image{
    display: grid;
    gap:var(--mg8);
    grid-template-columns: 1fr 1fr;
    margin-top: var(--mg32);
}

.intro-image img:last-child{
    margin-top:var(--mg32);
}

@media (min-width: 768px) {

    .mainVisual__wrapper{
    border-bottom:1.5px solid var(--color-bk);
}

.intro{
    padding:var(--mg160) 0;
}


.intro__wrapper{
    display: grid;
    grid-template-columns: 1fr 50%;
}

.intro__txt{
    line-height: 2.4;
    padding:0 var(--cont-pd-w) 0 0;
}

.intro-image,.intro-image img:last-child{
    gap:var(--mg16);
    margin-top:0;
}


}

@media (min-width: 1920px) {

}



/*item ******************************/

.item{
    padding-top:var(--mg64);
    position: relative;
    border-bottom:1px solid var(--color-bk);
}

.item__wrapper{
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    padding:0 var(--cont-pd-w) 0 0;
}

.item__cont{
    padding-bottom:var(--mg64);
}

.item__ttl{
    width: 40px;
    display: grid;
    grid-template-rows: auto 1fr;
    place-items: center;
    gap:var(--mg12);
}

.item__ttl::after{
    content:"";
    display: block;
    width:1px;
    height:100% ;
    background:var(--color-bk);
    margin:0 auto;
}

.item__ttl-en{
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    margin-left:2px;
    font-size:16px;
}

.item__ttl-en span{
    display: inline-block;
    margin:0 0 var(--mg12) 0 ;
    font-size:16px;
}

.item__cont-main{
    margin-bottom:var(--mg24);
}

.item__img-main{
    position: relative;

}

.item__kw{
    position: absolute;
    right:var(--mg24);
    top:var(--mg24);
    display: flex;
    flex-direction: column;
    gap:var(--mg8);
    align-items: flex-end;
}

.item__kw li{
    font-size: var(--txt-m);
    font-weight: 500;
    width:fit-content;
    background:#fff;
    padding:4px;
}

.item__cont-sub{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    margin-bottom:var(--mg40);
}
.item__txt{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap:var(--mg8);
    padding:0 0 0 var(--mg12);
}

.item__txt h3{
    font-size: var(--txt-m);
    font-weight: 600;
    line-height: 1.3;
}

.item__txt p{
    font-size: var(--txt-s);
    line-height: 1.4;
}

.item__col-nav{
    width: 100%;
    display: grid;
    gap:var(--mg24);
}


.item__col-nav li a{
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap:var(--mg24);
    position: relative;
    padding-left:var(--mg12);
    font-size: var(--txt-l);
}

.item__col-nav li a::before{
    display: block;
    content:"";
    width:3px;
    height:80%;
    background:var(--color-bk);
    position: absolute;
    top:0;
    bottom:0;
    left: 0;
    margin:auto;
}

.item__col-nav li a span{
    display: block;
    width:100%;
    height:1px ;
    background: var(--color-bk);
}

.item__col-nav.pc{
    display: none;
}


@media (min-width: 768px) {

    .item{
    padding-top:var(--mg120);
}

.item__wrapper{
    gap:var(--mg80);
    padding:0 var(--cont-pd-w) 0 calc(var(--cont-pd-w) / 2);
}

.item__wrapper.reverse{
    padding:0 calc(var(--cont-pd-w) / 2) 0 var(--cont-pd-w);
}

.item__wrapper.reverse .item__cont{
    order: 1;
}

.item__wrapper.reverse .item__ttl{
    order: 2;
}

.item__cont{
    padding-bottom:var(--mg160);
    display: flex;
    align-items: flex-end;
    gap:0 var(--cont-pd-w);
}

.item__ttl{
    width: 80px;
    gap:var(--mg48);
}

.item__ttl-en{
    margin-left:10px;
    font-size:30px;
}

.item__ttl-en span{
    font-size:30px;
    margin:0 0 var(--mg40) 0 ;
}


.item__cont.reverse{
    flex-direction: row-reverse;
}

.item__cont-main,.item__cont-sub{
    width:calc((100% - var(--cont-pd-w)) / 2);
}

.item__cont-main{
    margin:var(--mg56) 0 0;
}

.item__img-main{
    width: fit-content;
}

.item__kw{
    right:var(--mg48);
    top:var(--mg56);
    gap:var(--mg12);
}

.item__wrapper.reverse .item__kw{
    right:inherit;
    left:var(--mg48);
    align-items: flex-start;
}

.item__kw li{
    font-size: var(--txt-l);
}

.item__cont-sub{
    gap:var(--mg24);
    margin:0 0 var(--mg40);
}

.item__txt{
    gap:var(--mg16);
    padding:0;
}

.item__txt h3{
    line-height: 1.4;
}
.item__txt p{
    line-height: 2;
}

.item__col-nav.pc{
    display: grid;
    margin-top:var(--mg64);
}

.item__col-nav li a{
    gap:var(--mg16);
    padding-left:var(--mg16);
    font-size:20px;
    grid-template-columns: auto 120px 1fr;
}

.item__col-nav li a::before{
    width:4px;
}


.item__col-nav.sp{
    display: none;
}

}

@media (min-width: 1920px) {

.item__cont{
    padding-bottom:var(--mg160);
}

.item__cont-main{
    margin:var(--mg96) 0 0;
}

.item__col-nav li a{
    gap:var(--mg24);
    font-size:24px;
}

.item__ttl-en{
    font-size:36px;
}

.item__ttl-en span{
    font-size:36px;
    margin:0 0 var(--mg40) 0 ;
}


}

/*footer ******************************/

.footer__wrapper{
    background:var(--color-gy);
    padding:var(--mg56) 0;
}

.footer__wrapper p{
    max-width:240px;
    margin:0 auto;
}

@media (min-width: 768px) { 

    .footer__wrapper{
        padding:var(--mg96) 0;
    }

    .footer__wrapper p{
        max-width:340px;
    }
}
/*アニメーション
--------------------------------------------------------*/
.image-anime{
    transform: translateY(10px);
    opacity: 0;
    visibility: hidden;
}

.item__img-main img {
transform: scale(1.1);
opacity: 0;
transition: none; /* CSSアニメとの干渉を防ぐ */
}

.item__kw {
opacity: 0;
transition: none;
}