:root {
    --main-color: #4e2a19;
    --color-white: #fff;
    --color-gray:#444;
    --color-product-01: #a6b5c9;
    --color-product-02: #f2f0e5;
}

.br-pc {
    display: none;
}
.br-sp::before {
    content: "\A";
    white-space: pre;
}
@media (min-width: 768px) {
    .br-sp {
        display: none;
    }
    .br-pc {
        display: inline;
    }
    .br-pc::before {
        content: "\A";
        white-space: pre;
    }
}

html:not(.is-fv-show) .fv_title .visual,
html:not(.is-fv-show) .fv_title .visual img,
html:not(.is-fv-show) .fv_main-image .visual,
html:not(.is-fv-show) .fv_main-image .visual img,
html:not(.is-fv-text-show) .fv-text {
    opacity: 0;
}
@media (min-width:768px) {
    html:not(.is-fv-show) .fv_title .visual,
    html:not(.is-fv-show) .fv_title .visual img {
        opacity: 1;
    }
}

html:not(.is-layout-show) header,
html:not(.is-layout-show) .content,
html:not(.is-layout-show) footer {
    opacity: 0;
    filter: blur(1.2rem);
    transform: translateY(0.8rem);
}

html:not(.is-side-show) .left,
html:not(.is-side-show) .right {
    opacity: 0;
    filter: blur(1.2rem);
    transform: translateY(0.8rem);
}

html:not(.is-layout-show) .bg_3rd {
    background: transparent;
}

.fv_title .visual,
.fv_title .visual img {
    transition: opacity 1.4s ease-in-out;
    transition-delay: 0.3s;
}
.fv_main-image .visual,
.fv_main-image .visual img,
.fv-text {
    transition: opacity 1.4s ease-in-out;
    transition-delay: 0.5s;
}
@media (min-width:768px) {
    .fv_main-image .visual,
    .fv_main-image .visual img,
    .fv-text {
        transition: opacity 1.4s ease-in-out;
        transition-delay: 0.3s;
    }
}

header,
.left,
.right,
.content {
    transition:
        opacity 2s ease-in-out,
        filter 2s ease-in-out,
        transform 2s ease-in-out;
}

html.is-layout-show header,
html.is-layout-show .content {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

html.is-side-show .left,
html.is-side-show .right {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

header {
    z-index: 7;
}

.logo {
    display: none;
}

.fadeIn {
    opacity: 0;
    filter: blur(0.2rem);
    transform: translateY(2%);
    transition: all 1.5s ease;
}
.fadeIn.is-show {
    filter: blur(0);
    transform: translateY(0);
    opacity: 1;
}
.fadeIn-delay {
    opacity: 0;
    transform: translateY(2%);
    transition: all 1.5s ease;
    transition-delay: 1s;
}
.fadeIn-delay.is-show {
    transform: translateY(0);
    opacity: 1;
    transition-delay: 1s;
}
.fadeIn-left {
    opacity: 0;
    filter: blur(0.2rem);
    transform: translateX(-2%);
    transition: all 1.5s ease;
}
.fadeIn-left.is-show {
    filter: blur(0);
    transform: translateX(0);
    opacity: 1;
}
.blur {
    filter: blur(1.5rem);
    transition: filter 1.5s linear;
}
.blur.is-show {
    filter: blur(0);
}

.collection-fade {
    opacity: 0;
    transform: translateY(1%);
    transition: opacity 1s ease, transform 1s ease;
}

.collection-fade.is-show {
    opacity: 1;
    transform: translateY(0);
}

video {
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
    outline: none;
    border: none;
    width: 100%;
}

p {
    margin-top: 0.5rem;
    line-height: 1.7;
    font-family: "kozuka-gothic-pr6n", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: clamp(0.7rem, 0.671rem + 0.14vw, 0.8rem);
}
a {
    color: #434343;
}

.bg_3rd_2 {
    position: relative;
    background: transparent;
    height: 100vh;
    overflow: hidden;
}

.bg_3rd_2::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #f4f4f4;
    /* background: url(../../images/lookbook/3rd/bg_left_text.svg) left bottom no-repeat, url(../../images/lookbook/3rd_2/fv_bg_pc.webp) center top repeat-y;
    background-size: 30%, cover; */
    background: url(../../images/lookbook/3rd_2/fv_bg_pc.webp) center top repeat-y;
    background-size: cover;
    opacity: 0;
    filter: blur(1.2rem);
    transition:
        opacity 0.5s ease-in-out,
        filter 0.5s ease-in-out;
}

html.is-layout-show .bg_3rd_2::before {
    opacity: 1;
    filter: blur(0);
}

@media (min-width:768px) {
    .bg_3rd_2::before {
        background: url(../../images/lookbook/3rd/bg_left_text.svg) left top no-repeat, url(../../images/lookbook/3rd_2/fv_bg_pc.webp) center top repeat-y;
        background-size: contain, cover;
    }
}

.left,
.right {
    display: none;
}
@media (min-width:768px) {
    .left,
    .right {
        position: fixed;
        top: 0;
        height: 100vh;
        width: 32vw;
        background: transparent;
        box-sizing: border-box;
        z-index: 1;
        pointer-events: none;
        display: grid;
        place-content: center;
    }
    .left {
        left: 0;
    }
    .right {
        right: 0;
    }

    .left a,
    .left button,
    .right a,
    .right button {
        pointer-events: auto;
    }

    .side_image {
        margin: 0 auto;
        width: 80%;
    }
}
@media (min-width:960px) {
    .side_image {
        width: 100%;
    }
    .left .side_image {
        max-width: 250px;
    }
    .right .side_image {
        max-width: 320px;
    }
}


.center {
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    z-index: auto;
}
.fv_wrapper {
    position: relative;
    width: 100vw;
    height: auto;
    margin-left: calc((100vw - 100%) / -2);
    overflow: hidden;
    z-index: 10;
}
.fv_title {
    display: block;
    width: 60%;
    margin: 30vw auto 10vw;
}
@media (min-width:768px) {
    .fv_title {
        margin: 0 auto;
        width: 96vw;
        position: absolute;
        top: 2rem;
        left: 50%;
        transform: translateX(-50%);
        z-index: 3;
    }
    .fv_title img {
        object-fit: cover;
    }
}
.fv_main-image {
    width: 100%;
}
.visual img {
    width: 100vw;
    object-fit: cover;
}
.fv-text {
    position: absolute;
    text-align: center;
    bottom: 5rem;
    width: 80%;
    padding: 0 10%;
}
.fv-text_main {
    width: 90%;
    margin-left: auto;
}
.fv-text img {
    width: 95vw;
}
@media (min-width:768px) {
    .fv-text {
        bottom: auto;
        top: 40%;
        right: 7%;
        width: 50%;
        padding: 0;
    }
    .fv-text_main {
        width: 100%;
    }
    .fv-text_sub {
        width: 58%;
        margin: 2rem auto 0;
    }
}
.splide_pagination-position {
    background-color: var(--color-white);
    opacity: 0.7;
    height: 2px;
    transition: .5s all;
    width: 2rem;
}
.splide_pagination-position.is-active {
    background-color: var(--color-product-01);
    opacity: 1;
    height: 2px;
}
.splide_pagination-style {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2rem;
    width: 100%;
}
.splide_pagination-style li {
    margin-left: 0.3rem;
    margin-right: 0.3rem;
}
.splide__slide img {
    height: auto;
    width: 100%;
}


.content {
    margin-top: 3rem;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;
}
@media (min-width:768px) {
    .content {
        min-height: 200vh;
        margin-left: 32vw;
        margin-right: 32vw;
        position: relative;
        z-index: 2;
    }
}
.concept {
    width: 80%;
    margin-top: 0;
    padding: 10% 5%;
    margin: 0 auto;
    min-height: 25vw;
    border: var(--main-color) 1px solid;
}
.concept p {
    letter-spacing: 0.1rem;
    font-size: 0.75rem;
    line-height: 2;
    color: var(--main-color);
    text-align: justify;
}
.concept p.title {
    margin: 0 auto 2rem;
    width: 38%;
}
.concept p.subtitle {
    text-align: center;
    font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
    margin-bottom: 2rem;
    line-height: 1;
}
.concept p.subtitle_ivy {
    font-family: "ivyora-display", serif;
    font-weight: 300;
    font-style: normal;
    /* font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem); */
    
}
.concept p.subtitle span {
    font-size: 0.9rem;
}
.concept p.submessage {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 2rem;
    line-height: 0.8;
}
.concept p.submessage span {
    font-size: 0.85rem;
    font-family: "kozuka-gothic-pr6n", sans-serif;
    font-weight: 300;
    font-style: normal;
}
@media (min-width:960px) {
    .concept {
        width: auto;
        padding: 10% 3% 7%;
    }
    .concept p {
        text-align: center;
    }
    .subtitle_ivy {
        line-height: 1.4;
    }
}


.product_01,
.product_02 {
    margin-top: 20vw;
    position: relative;
    overflow: visible;
}
.product_title {
    margin: 2rem auto;
    width: 60%;
}
.product_image {
    display: grid;
    place-content: center;
    position: relative;
    margin-bottom: 5rem;
}
.product_01 .product_image {
    background: linear-gradient(to bottom, transparent 15%, var(--color-product-01) 15%);
}
.product_image-01 {
    width: 80%;
    margin: 0 auto;
}
.product_info {
    padding: 1rem 1rem 2rem;
}
.product_01 .product_info p,
.product_01 .product_info a {
    color: var(--color-white);
}
.product_02 .product_info p,
.product_02 .product_info a {
    color: var(--main-color);
}
.product_line {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: auto;
    display: flex;
    flex-direction: column;
}
.product_01 .product_line {
    background-color: var(--main-color);
}
.product_02 .product_line {
    background-color: var(--color-product-01);
}
.product_line .line_left,
.product_line .line_right {
    width: 90%;
    margin: 15% auto 10%;
}
.line_main-title {
    width: 55%;
    display: block;
}
.line_sub-title {
    width: 70%;
    margin-top: 2rem;
}
.product_line .line_right {
    width: 90%;
    margin: 10% 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-bottom: 1px var(--color-white) solid;
}
.line-text {
    width: 94%;
    order: 2;
    margin: 1rem auto 1rem 0;
}
.line-sub {
    width: 100%;
    order: 1;
}
@media (min-width:768px) {
    .product_01,
    .product_02 {
        margin-top: 10vw;
    }
    .product_line {
        flex-direction: row;
        position: relative;
    }
    .product_line .line_left,
    .product_line .line_right {
        margin: 0;
    }
    .product_line .line_left {
        width: 33vw;
        position: absolute;
        top: 10%;
        left: 5%;
        z-index: 5;
    }
    .line_main-title {
        width: 100%;
    }
    .line_sub-title {
        width: 60%;
    }
    .line_movie {
        width: auto;
        margin-left: 32vw;
        margin-right: 32vw;
    }
    .product_line .line_right {
        /* width: 90%; */
        position: absolute;
        left: 0;
        bottom: 10%;
        margin: 0 5%;
        box-sizing: border-box;
        /* display: flex; */
        flex-direction: row;
        align-items: end;
        justify-content: space-between;
        padding-bottom: 1.5rem;
        /* border-bottom: 1px var(--color-white) solid; */
    }
    .line-text {
        width: 38vw;
        margin: 0;
        order: 1;
    }
    .line-sub {
        width: 24vw;
        order: 2;
    }
}


.product_02 .product_image {
    background: linear-gradient(to bottom, transparent 15%, var(--color-product-02) 15%);
}
.product_image-02 {
    width: 80%;
    margin: 0 auto;
}
.product_detail {
    padding: 0;
}
.product_info {
    padding: 5% 10% 10%;
}
.product_info p,
.product_info a {
    line-height: 1.7;
    text-align: justify;
}
.product_slider {
    margin-bottom: 10rem;
}
.product {
    background-color: var(--color-white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    margin: 7rem auto;
    padding: 5rem 1rem 2rem;
}
.product_item {
    display: grid;
    place-content: center;
}
.product_item-title {
    width: 80%;
    max-width: 550px;
    margin: 0 auto 10%;
}
.product_item-slider {
    width: 100%;
    height: auto;
}
.splide__slide a {
    display: block;
}
.product_item-slider .splide__arrow--prev,
.product_item-slider .splide__arrow--next {
    position: absolute;
    z-index: 10;
    top: 0;
    bottom: 0;
    margin: auto;
}
.splide__arrow--prev,
.splide__arrow--next {
    display: grid;
    place-content: center;
    width: 12%;
    height: auto;
    cursor: pointer;
}
.splide__arrow--prev {
    left: 0;
}
.splide__arrow--next {
    right: 0;
}
/* .image_wrap {
    aspect-ratio: 4 / 5;
} */
.product_item-image {
    width: 50%;
    display: block;
    margin: 0 auto 4rem;
}
.splide_pagination-position_item {
    background-color: #e5e5e5;
    opacity: 0.7;
    height: 2px;
    transition: .5s all;
    width: 2rem;
}
.splide_pagination-position_item.is-active {
    background-color: var(--main-color);
    opacity: 1;
    height: 2px;
}
.splide_pagination-style_item {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    margin-top: calc(100% * (4 / 3));
}
.splide_pagination-style_item li {
    margin-left: 0.3rem;
    margin-right: 0.3rem;
}
@media (min-width:768px) {
    .image_wrap {
        aspect-ratio: 4 / 5;
    }
    .product_item-image {
        width: 40%;
        max-width: 300px;
    }
    .splide_pagination-style_item {
        margin-top: calc(100% * (8 / 7));
    }
}
.product_a p,
.product_a a {
    color: var(--main-color);
    font-size: clamp(0.7rem, 0.671rem + 0.14vw, 0.8rem);
    text-align: justify;
}
.product_a p {
    margin: 0 1rem 0.5rem;
}
@media (min-width:768px) {
    .product_a p {
        line-height: 1.4;
    }
    .product_a p,
    .product_a a {
        font-size: 0.6rem;
    }
}
@media (min-width:960px) {
    .product_a p {
        line-height: 1.7;
    }
    .product_a p,
    .product_a a {
        font-size: clamp(0.7rem, 0.671rem + 0.14vw, 0.8rem);
    }
}


.collection_image {
    padding: 0;
    margin: 0;
}
.collection_image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, auto);
    width: 100%;
}
.collection_image-item {
    background-color: var(--color-product-02);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
.collection_image-item:nth-child(5) {
    background-color: var(--main-color);
}
.combined-item {
    grid-column: 2 / 4;
}
.collection_image-grid img {
    width: auto;
    height: auto;
    display: block;
}
.collection_image-deco_01 img,
.collection_image-deco_02 img,
.collection_image-deco_03 img,
.collection_image-title img {
    width: 65%;
}
.collection_image-deco_01 {
    position: absolute;
    top: 3%;
    left: 3%;
}
/* .collection_image-deco_01 img {
    width: 55%;
} */
.collection_image-deco_02 {
    position: absolute;
    top: 3%;
    right: 3%;
}
/* .collection_image-deco_02 img {
    width: 55%;
} */
.collection_image-deco_03 {
    position: absolute;
    bottom: 3%;
    left: 3%;
}
/* .collection_image-deco_03 img {
    width: 55%;
} */
.collection_image-title {
    position: absolute;
    top: 5%;
    left: 5%;
}
/* .collection_image-title img {
    width: 55%;
} */
@media (min-width:768px) {
    .collection_image {
        margin: 10vw auto 0;
    }
    .collection_image-deco_01 img,
    .collection_image-deco_02 img,
    .collection_image-deco_03 img,
    .collection_image-title img {
        width: 45%;
    }
}
@media (min-width:960px) {
    .collection_image-deco_01 img,
    .collection_image-deco_02 img,
    .collection_image-deco_03 img,
    .collection_image-title img {
        width: 60%;
    }
}
@media (min-width:1440px) {
    .collection_image {
        margin: 10vw auto 0;
    }
    .collection_image-deco_01 img,
    .collection_image-deco_02 img,
    .collection_image-deco_03 img,
    .collection_image-title img {
        width: 80%;
    }
}


.function {
    margin: 0 auto;
    padding: 7rem 0;
}
.function p {
    line-height: 1.7;
    color: var(--main-color);
}
.function p.title {
    width: 45%;
    margin: 0 auto;
    text-align: center;
}
.function p.title,
.function p.title .inn {
    display: block;
}
.function p.title .inn {
    opacity: 0;
    transform: matrix(1, 0, 0, 1, 0, 100);
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.function.is-animated p.title .inn {
    opacity: 1;
    transform: matrix(1, 0, 0, 1, 0, 0);
}
.function_slide_wrapper {
    margin: 0 auto;
}
.function_slide {
    background: url(../../images/lookbook/3rd_2/function_slide-bg.webp) center center no-repeat;
    background-size: contain;
    aspect-ratio: 439 / 558;
    height: fit-content;
    display: grid;
    place-content: center;
}
.function_slider h3 {
    padding-bottom: 1rem;
    position: relative;
    width: fit-content;
    margin-inline: auto;
}
.function_slider h3::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -0.5rem;
    width: 70%;
    height: 1px;
    background: var(--main-color);
}
.function_slider h3 img {
    width: 80%;
    margin: 0 auto;
    display: block;
}
.function_icon {
    text-align: center;
    margin: 2rem auto 1rem;
}
.function_icon img {
    height: 100px;
}
.function p.subtitle {
    text-align: center;
    font-size: clamp(0.8rem, 0.714rem + 0.43vw, 1.1rem);
    line-height: 1.7;
}
.function p.text {
    width: 50%;
    margin: 0 auto;
    font-size: clamp(0.7rem, 0.671rem + 0.14vw, 0.8rem);
    text-align: left;
}
@media (min-width:768px) {
    .function_slider h3 {
        padding-bottom: 0.5rem;
    }
    .function_slider h3 img {
        width: 65%;
    }
    .function_icon img {
        max-height: 80px;
    }
    .function p.text {
        width: 80%;
        margin: 0 auto;
        font-size: 0.6rem;
        text-align: left;
    }
}
@media (min-width:960px) {
    .function_icon img {
        max-height: 100px;
    }
    .function p.text {
        width: 60%;
        font-size: clamp(0.7rem, 0.671rem + 0.14vw, 0.8rem);
    }
}
@media (min-width:1440px) {
    .function_slide {
        background-size: 80%;
    }
    .function_icon img {
        max-height: 150px;
    }
}

.splide_pagination-position_number {
    opacity: 0.5;
    width: 2rem;
    height: 2rem;
    padding: 0.4rem;
    transition: .5s all;
    border: var(--main-color) 1px solid;
}
.splide_pagination-position_number.is-active {
    opacity: 1;
}
.splide_pagination-style_number {
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.splide_pagination-style_number li {
    margin-left: 0.3rem;
    margin-right: 0.3rem;
}
.splide_pagination-position_number img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    display: block;
}

.all_item {
    margin: 0 auto 5rem;
    text-align: center;
    width: 80%;
}
button.all_item_button {
    border: 1px var(--main-color) solid;
    padding: 2rem 3rem;
}
button.all_item_button a {
    display: block;
}
@media (min-width:768px) {
    .all_item {
        margin: 0 auto 5rem;
        width: 60%;
        max-width: 400px;
    }
}