@charset "utf-8";

/* ーーーーーー　mainvisual ーーーーーー*/

.article__header {
    margin-top: 80rem;
    width: 100%;
    height: 500rem;
}
@media screen and (min-width: 769px) {
    .article__header {
        margin-top: 0;
        height: fit-content;
    }
}

.mainvisual img {
    width: 100%;
    overflow: hidden;
}

.mainvisual--pc {
    display: none;
}
@media screen and (min-width: 769px) {
    .mainvisual--sp {
        display: none;
    }

    .mainvisual--pc {
        display: block;
    }
}

/* ーーーーーー　concept ーーーーーー*/

.section--concept {
    position: relative;
    padding: 100rem 25rem 84rem;
}
@media screen and (min-width: 769px){
    .section--concept {
        margin-top: 300rem;
        padding: 0 0 0 80rem;
    }
}

.section--concept::before {
    display: block;
    content: '';
    width: 300rem;
    height: 1rem;
    transform: rotate(-45deg);
    transform-origin: top left;
    background-color: #6F6F6F;
    filter: drop-shadow(0 10rem 10rem rgba(0, 0, 0, 0.25));
    position: absolute;
    left: 0;
    bottom: 178rem;
}
@media screen and (min-width: 769px) {
    .section--concept::before {
        display: none;
    }

    .section__content--concept {
        display: flex;
        flex-direction: column;
        gap: 65rem 0;
        position: absolute;
        top: 120rem;
        left: 824rem;
    }
}

.section__topic {
    color: var(--primary-black, #222);
    font-family: "Cormorant Garamond";
    font-size: 36rem;
    font-weight: 700;
    position: relative;
    display: inline-block;
    width: fit-content;
    z-index: 10;
}
@media screen and (min-width: 769px) {
    .section__topic {
        font-size: 80rem;
    }
}

.section__topic::after {
    display: block;
    content: '';
    width: 100%;
    height: 36rem;
    background: #FFF;
    filter: blur(10rem);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

@media screen and (min-width: 769px) {
    .section__topic::after {
        height: 80rem;
        filter: blur(20rem);
    }
}

.concept__txt {
    display: flex;
    align-items: center;
    color: var(--primary-black, #222);
    font-family: "Noto Serif JP";
    font-size: 14rem;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.56rem;
    position: absolute;
    top: 286rem;
    left: 165rem;
    z-index: 10;
}
@media screen and (min-width: 769px) {
    .concept__txt {
        font-size: 28rem;
        position: static;
    }
}

.concept__txt::after {
    display: block;
    content: '';
    width: 193rem;
    height: 78rem;
    background: rgba(255, 255, 255, 0.70);
    filter: blur(20rem);
    margin-left: -193rem;
    z-index: -1;
}
@media screen and (min-width: 769px) {
    .concept__txt::after {
        width: 390rem;
        height: 100rem;
        margin-left: -369rem;
        filter: blur(40rem);
    }
}

.viewmoreBtn {
    width: 135rem;
    height: 40rem;
}
@media screen and (min-width: 769px) {
    .viewmoreBtn {
        width: 305rem;
        height: 90rem;
    }
}

.viewmoreBtn--concept {
    top: 390rem;
    left: 204rem;
    position: absolute;
}
@media screen and (min-width: 769px) {
    .viewmoreBtn--concept {
        position: static;
    }
}

/* pc viewmoreBtn */
.viewmoreBtnPc {
    color: #474747;
    font-family: "Cormorant Garamond";
    font-size: 36rem;
    font-weight: 600;
    width: 300rem;
    height: 90rem;
    background-image: url(../images/btn_viewmoreBg_pc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;

    display: none;
    align-items: center;
    position: relative;
    transition: 0.7s;
    transform-origin: left center;
    z-index: 10;
}
@media screen and (min-width: 769px) {
    .viewmoreBtnPc {
        display: flex;
    }

    .viewmoreBtn {
        display: none;
    }
}

.viewmoreBtnPc::before {
    display: block;
    content: '';
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background-color: var(--primary-pink);
    margin-right: 20rem;
    margin-left: 47rem;
    transform: translateY(3rem);
    transition: 0.7s;
    transform-origin: 50% -100%;
}

.viewmoreBtnPc--style::before {
    display: block;
    content: ''; 
    width: 30rem;
    height: 30rem;
    background-image: url(../images/btn_viewmoreStyle_insta.svg);
    background-color: transparent;
    border-radius: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 20rem;
    margin-left: 40rem;
    transform: translateY(1rem);
}

.viewmoreBtnPc::after {
    display: block;
    content: '';
    width: 92rem;
    height: 10rem;
    background-image: url(../images/btn_viewmoreArrow_pc.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 246rem;
    top: 41rem;
    transition: 0.7s;
    transform-origin: left center;
}

.viewmoreBtnPc:hover {
    color: var(--primary-pink);
}

.viewmoreBtnPc:hover::before {
    background-color: var(--primary-orange);
    transform: scale(1.2);
}

.viewmoreBtnPc--style:hover::before {
    background-color: inherit;
    transform: translateY(1rem);
}

.viewmoreBtnPc:hover::after {
    transform: scaleX(1.3);
}

.section__img--concept {
    width: 325rem;
    height: 250rem;
    margin-top: 20rem;
}
@media screen and (min-width: 769px) {
    .section__img--concept {
        width: 770rem;
        height: 592rem;
        margin-top: 0;
        box-shadow: -20rem 20rem 0 0 #BCB8B2;
    }
}


/* ーーーーーー　menu ーーーーーー*/

.section {
    position: relative;
    padding: 40rem 0 60rem;
    display: flex;
}
@media screen and (min-width: 769px) {
    .section {
        padding: 400rem 80rem 0;
    }
}

.section--menu {
    justify-content: flex-end;
    padding: 40rem 0 0;
}
@media screen and (min-width: 769px) {
    .section--menu {
        padding: 0 80rem 250rem;
        margin-top: 400rem;
    }
}

.section__content {
    display: flex;
    flex-direction: column;
    gap: 20rem 0;
}
@media screen and (min-width: 769px) {
    .section__content {
        gap: 70rem 0;
    }
}

.section__content--menu {
    position: absolute;
    top: 85rem;
    left: 60rem;
}
@media screen and (min-width: 769px) {
    .section__content--menu {
        top: 140rem;
        left: 420rem;
    }
}

.section__img {
    width: 260rem;
    height: 200rem;
}
@media screen and (min-width: 769px) {
    .section__img {
        width: 770rem;
        height: 592rem;
        box-shadow: 20rem 20rem 0 0 #BCB8B2;
    }
}


/* ーーーーーー　style ーーーーーー*/

.section--style {
    padding: 100rem 0 60rem;
}
@media screen and (min-width: 769px) {
    .section--style {
        padding: 150rem 80rem 0 ;
    }
}

.section--style:target {
    scroll-margin-top: 80rem;
    opacity: 1;
    transform: none;
}
@media screen and (min-width: 769px) {
    .section--style:target {
        scroll-margin-top: 0;
    }
}

.section__content--style {
    position: absolute;
    top: 145rem;
    left: 214rem;
}
@media screen and (min-width: 769px) {
    .section__content--style {
        top: 290rem;
        left: 824rem;
    }

    .section__img--style {
        box-shadow: -20rem 20rem 0 0 #BCB8B2;
    }
}


/* ーーーーーー　info ーーーーーー*/

.section--info {
    justify-content: flex-end;
}
@media screen and (min-width: 769px) {
    .section--info {
        margin-bottom: 300rem;
        padding: 0 80rem 0;
        margin-top: 400rem;
    }
}

.section__content--info {
    position: absolute;
    top: 85rem;
    left: 60rem;
}
@media screen and (min-width: 769px) {
    .section__content--info {
        top: 140rem;
        left: 420rem;
    }
}

.section__subGroup {
    display: flex;
    flex-direction: column;
    gap: 20rem 0;
    padding-top: 5rem;
}
@media screen and (min-width: 769px) {
    .section__subGroup {
        gap: 40rem;
    }
}

.section__sub {
    display: flex;
    flex-direction: column;
    color: var(--primary-black);
    font-family: "Cormorant Garamond";
    font-size: 20rem;
    font-weight: 600;
    position: relative;
    padding-left: 16rem;
}
@media screen and (min-width: 769px) {
    .section__sub {
        font-size: 48rem;
        padding-left: 35rem;
    }
}

.section__sub::before {
    display: block;
    content: '';
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    background-color: var(--primary-pink);
    position: absolute;
    left: 2rem;
    top: 9.5rem;

    transition: 0.7s;
}
@media screen and (min-width: 769px) {
    .section__sub::before {
        width: 12rem;
        height: 12rem;
        left: 3rem;
        top: 22rem;
    }
}

@media screen and (min-width: 769px) {
    .section__sub:hover::before {
        background-color: var(--primary-orange);
        transform: scale(1.2);
    }
}

.section__sub::after {
    display: block;
    content: '';
    background-image: url(../images/top_subSection_arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 90rem;
    height: 5rem;
    margin-top: -3rem;
    margin-left: -16rem;

    transition: 0.7s;
    transform-origin: left center;
}
@media screen and (min-width: 769px) {
    .section__sub::after {
        width: 270rem;
        height: 16rem;
        margin-left: -35rem;
    }

    .section__sub:hover::after {
        transform: scaleX(1.1);
    }
}

.section__img--info {
    width: 260rem;
    height: 325rem;
}
@media screen and (min-width: 769px) {
    .section__img--info {
        width: 770rem;
        height: 963rem;
    }
}


/* background_decoration */

.main {
    position: relative;
}

.main::before {
    display: block;
    content: '';
    width: 50rem;
    height: 150rem;
    transform: rotate(-30deg);
    transform-origin: center top;
    background-color: var(--primary-orange);
    filter: blur(60rem);
    position: absolute;
    top: 900rem;
    left: 30rem;
    z-index: -100;
}
@media screen and (min-width: 769px) {
    .main::before {
        width: 175rem;
        height: 515rem;
        transform: rotate(-45deg);
        filter: blur(175rem);
        top: 1800rem;
        left: 300rem;
    }
}

.main::after {
    display: block;
    content: '';
    width: 50rem;
    height: 150rem;
    transform: rotate(30deg);
    transform-origin: top left;
    background-color: var(--primary-pink);
    filter: blur(80rem);
    position: absolute;
    top: 1210rem;
    right: 50rem;
    z-index: -100;
}
@media screen and (min-width: 769px) {
    .main::after {
        width: 150rem;
        height: 515rem;
        transform: rotate(45deg);
        filter: blur(240rem);
        top: 2750rem;
        right: 300rem;
    }
}

.article {
    position: relative;
}

.article::after {
    display: block;
    content: '';
    width: 50rem;
    height: 150rem;
    transform: rotate(-30deg);
    transform-origin: center top;
    background-color: var(--primary-orange);
    filter: blur(60rem);
    position: absolute;
    top: 1520rem;
    left: 30rem;
    z-index: -100;
}
@media screen and (min-width: 769px) {
    .article::after {
        width: 175rem;
        height: 515rem;
        transform: rotate(-45deg);
        filter: blur(175rem);
        top: 3790rem;
        left: 300rem;
    }
}