:root {
    --font-robbot: "Roboto", sans-serif;
    --font-storyScript: "Story Script", sans-serif;
    --font-PlayfairDisplay: "Playfair Display", serif;
    --color-white: #fff;
    --color-black: #000;
    --color-point: rgb(165, 42, 42);
}
*, *::before, *::after {
    box-sizing: border-box;
}
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0;
    padding: 0;
    }
ul[role=list], ol[role=list] {
    list-style: none;
}
a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}
img, picture {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}
input, button, textarea, select {
    padding: 0;
    background: none;
    border: none;
    font: inherit;
}
@media (prefers-reduced-motion: reduce) {
html:focus-within {
    scroll-behavior: auto;
}
*, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
}
}
body, a, p {
    font-style: normal;
    text-decoration: none;
    line-height: 1;
}
body {
    position: relative;
    overflow-anchor: none;
}
ul {
    margin: 0;
    padding: 0;
}
li {
    list-style: none;
}
.flex-box{
    display: flex;
}
.slide-box{
    overflow: hidden;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
/* detail */
.detail{
    margin-top: 0.5em;
    margin-left: 1em;
    overflow: hidden;
}
.detail .cart{
    display: block;
    width: fit-content;
    margin-top: 0.5em;
    padding-bottom: 1px;
    color: var(--color-black);
    font-family: var(--font-robbot);
    font-size: max(14px , calc(11 / 1280 * 100vw));
    letter-spacing: 0.02em;
}
.detail .cart span{
    margin: 0 0.5em 0 0.25em;
    font-size: max(12px , calc(10 / 1280 * 100vw));

}
/* heade */
.header{
    position: relative;
}
.header .mv{
    opacity: 0;
    visibility: hidden;
}
.header .mv .image{
    filter: contrast(0.7);
}
.header .main-title{
    position: absolute;
    top: 37%;
    left: 10%;
    translate: 0 -50%;
    color: rgb(255 255 255 / 0.6);
    font-family: var(--font-robbot);
    font-size: calc(40 / 1280 * 100vw);
    line-height: 1.2;
    letter-spacing: 0.06em;
}
/* main */
/* section01 */
.section01 .text{
    color: #efefef;
    font-family: var(--font-storyScript);
    font-size: calc(26 / 1280 * 100vw);
    line-height: 1.2;
    z-index: 2;
}
.splitting .word, .splitting .char{
    margin-right: -0.2em;
    margin-left: -0.2em;
    padding-right: 0.2em;
    padding-left: 0.2em;
}  
.section01 .flex-box{
    position: relative;
    justify-content: space-between;
}
.section01-1{
    position: relative;
    width: 46.5%;
}
.section01-1 .text{
    position: absolute;
    top: 62%;
    left: 10%;
    width: 30%;
    rotate: -10deg;
}
.section01-2{
    position: relative;
    width: 53.5%;
    margin-top: 12%;
}
.section01-2::after{
    content: "";
    display: block;
    width: 54%;
    height: 25%;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
}
.section01-2 .text{
    position: absolute;
    top: -2%;
    left: 10%;
    width: 30%;
}
.section01-3{
    position: relative;
    width: 60%;
    margin: 6% auto 0;
}
.section01-3 .detail .cart{
    display: inline-block;
}
.section01-3 .detail .cart span{
    margin-right: 1em;
}
.section01-3 .text{
    position: absolute;
    top: -2%;
    left: -2%;
    width: 30%;
}
/* section02 */
.section02{
    margin-top: 8%;
    overflow: clip;
}
.section02 .photo{
    position: sticky;
    top: 0;
    height: 100vh;
}
.section02 .photo img{
    width: 100%;
    height: 100vh;
    margin-inline: auto;
    object-fit: cover;
    filter: contrast(0.7);
}
.section02 .photo .image{
    display: block;
    width: 0;
    will-change: width;
}
/* section03 */
.section03{
    position: relative;
    width: 100%;
    aspect-ratio: 100/68;
    height: auto;
    margin-top: 14%;
}
.section03-1{
    position: absolute;
    top: 0;
    left: 40%;
    width: 46%;
}
.section03-2{
    position: absolute;
    top: 10%;
    left: 14%;
    width: 30%;
}
.section03-2 .image{
    filter: contrast(0.9);
}
.section03-3{
    position: absolute;
    top: 50%;
    left: 80%;
    width: 14%;
}
.section03-4{
    position: absolute;
    top: 70%;
    left: 40%;
    width: 30%;
}
.section03-5{
    position: absolute;
    top: 96%;
    right: 0%;
    width: 30%;
}
.section03-5 .zoom-img{
    transform-origin: right;
}
.section03 .zoom-img{
    position: relative;
    width: 100%;
    cursor: pointer;
}
.section03 .zoom-parallax .open-btn .btn{
    position: absolute;
    bottom: 1vw;
    left: 1vw;
    width: 2vw;
    height: 2vw;
    rotate: 0deg;
    cursor: pointer;
}
.section03-1 .open-btn .btn{
    position: absolute;
    top: 1vw;
    bottom: auto;
}
.section03 .zoom-parallax .open-btn .btn::before,
.section03 .zoom-parallax .open-btn .btn::after{
    content: "";
    display: block;
    background: var(--color-white);
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.section03 .zoom-parallax .open-btn .btn::before{
    width: 100%;
    height: 2px;
}
.section03 .zoom-parallax .open-btn .btn::after{
    content: "";
    width: 2px;
    height: 100%;
}
.section03 .popup {
    position: fixed;
    top: 0;
    left: 0;
    transform: translateY(-20px);
    display:none; 
    width: 100%;
    height: 100vh;
    background: rgb(255 255 255 / 1);
    opacity:0;
    z-index: 2;
}
.section03 .popup .close-btn{
    position: absolute;
    top: 2vw;
    right: 2vw;
    width: 2vw;
    height: 2vw;
    rotate: 45deg;
    cursor: pointer;
    z-index: 10;
}
.section03 .zoom-parallax .close-btn::before,
.section03 .zoom-parallax .close-btn::after{
    content: "";
    display: block;
    background: var(--color-point);
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.section03 .zoom-parallax .close-btn::before{
    width: 100%;
    height: 2px;
}
.section03 .zoom-parallax .close-btn::after{
    content: "";
    width: 2px;
    height: 100%;
}
.section03 .popup{
    height: 100dvh;
}
.section03 .popup .inner{
    align-items: flex-end;
}
.section03 .popup .inner .photo{
    width: 80%;
}
.section03 .popup .inner .photo .image{
    width: 100%;
    height: 100dvh;
    object-fit: cover;
    object-position: center;
}
.section03 .popup .inner .detail{
    margin-bottom: 1vw;
}
/* stylingItem */
.stylingItem{
    margin-top: 24%;
    overflow: hidden;
}
.stylingItem .title{
    text-align: center;
    font-family: var(--font-robbot);
    font-size: calc(36 / 1280 * 100vw);
    letter-spacing: 0.04em;
}
.stylingItem .title span{
    margin-left: 0.3em;
    font-family: var(--font-PlayfairDisplay);
    font-size: calc(24 / 1280 * 100vw);
    font-weight: 100;
}
.stylingItem .list{
    width: 90%;
    margin: 1.5% auto 0;
}
.stylingItem .list .item{
    position: relative;
}
.stylingItem .list .item .photo{
    position: relative;
    opacity: 0;
    visibility: hidden;
    rotate: -20deg;
    transform-origin: left top;
}
/* footer */
.footer{
    margin-top: 13%;
    padding-bottom: 2%;
}
.footer .copyright{
    text-align: center;
    font-family: var(--font-robbot);
    font-size: clamp(8px, 0.625vw, 16px);
    letter-spacing: 0.04em;
  }








@media (max-width: 769px){
    /* 共通 */
    .detail{
        margin-top: 0.25em;
        margin-left: 1.5em;
    }
    .detail .cart{
        font-size: min(calc(13 / 375 * 100vw), 17px);
    }
    .detail .cart span{
        font-size: min(calc(12 / 375 * 100vw), 16px);
    }
    /* header */
    .header .mv .image{
        height: 100vh;
        object-fit: cover;
    }
    .header .main-title{
        top: 33%;
        left: 5%;
        font-size: calc(28 / 375 * 100vw);
    }
    /* main */
    .main{
        margin-top: 10%;
    }
    /* section01 */
    .section01 .flex-box{
        flex-direction: column-reverse;
    }
    .section01 .text{
        font-size: calc( 20 / 375 * 100vw);
    }
    .section01-1{
        width: 100%;
        margin-top: 8%;
    }
    .section01-1 .text{
        top: 37%;
        left: 14%;
    }
    .section01-2{
        width: 100%;
        margin-top: 0;
    }
    .section01-2 .text{
        top: 2%;
        left: 6%;
    }
    .section01-3 {
        position: relative;
        width: 90%;
        margin-top: 8%;
    }
    .section01-3 .photo .image{
        aspect-ratio: calc(100 / 114);
        object-fit: cover;
    }
    .section01-3 .detail{
        margin-left: 0.5em;
    }   
    .section01-3 .text{
        top: 4%;
    }
    /* section02 */
    .section02{
        margin-top: 18%;
    }
    .section02 .photo._01 img{
        object-position: 69% center;
    }
    .section02 .photo._03 .image{ 
        object-position: 39% center;
        will-change: width;
    }
    /* section03 */
    .section03{
        aspect-ratio: 100 / 200;
        margin-top: 32%;
    }
    .section03 .zoom-img{
        will-change: transform;;
    }
    .section03-1{
        left: auto;
        right: 0;
        width: 68%;
    }
    .section03-2{
        left: 10%;
        width: 38%; 
    }
    .section03-3{
        top: 25%;
        left: 63%;
        width: 32%;
    }
    .section03-4{
        top: 49%;
        left: 8%;
        width: 80%;
    }
    .section03-5{
        top: 81%;
        width: 60%;
    }
    .section03-1 .zoom-img{
        transform-origin: right;
    }
    .section03 .zoom-parallax .open-btn .btn{
        width: 4vw;
        height: 4vw;
    }
    .section03 .popup .close-btn{
        width: 12vw;
        height: 12vw;
    }
    .section03 .zoom-parallax .open-btn .btn::before{
        height: 1px;
    }
    .section03 .zoom-parallax .open-btn .btn::after{
        width: 1px;
    }
    .section03 .popup .inner{
        flex-direction: column;
    }
    .section03 .popup .inner .photo{
        width: 100%;
        height: 80vh;
    }
    .section03 .popup .inner .photo .image{
        height: 80vh;
    }
    .section03-5 .popup .inner .photo .image{
        object-position: 70%; 
    }
    .section03 .popup .inner .detail{
        margin-bottom: auto;
        margin-right: auto;
    }
    .section03 .popup .inner .detail .cart{
        display: inline-block;
    }

    /* stylingItem */
    .stylingItem{
        margin-top: 18%;
    }
    .stylingItem .title{
        font-size: min(calc(32 / 375 * 100vw), 42px);
    }  
    .stylingItem .title span{
        font-size: min(calc(22 / 375 * 100vw), 29px);
    }   
    .stylingItem .list{
        flex-wrap: wrap;
        margin-top: -2%;
    }
    .stylingItem .list .item{
        width: 50%;
        margin-top: 6%;
    }
    .stylingItem .detail{
        margin-left: 0.5em;
    } 
    /* footer */
    .footer{
        margin-top: 22%;
    }
    .footer .copyright{
        font-size: min(calc(9 / 375 * 100vw), 13px);
    }
}