@charset "UTF-8";

:root{
    --black: #222;
    --white: #fff;
    --maincolor: #E7838C;
    --lightpink: #F7DAD9;
    --vividpink: #D24F5A;
    --cream: #FAF9F0;
    --lightsalmon: #FCF0E6;
    --beige: #FAEEE3;
    --lightpurple: #6577C0;
    --shadow: 0px 0px 12px rgb(34 34 34 / 0.05);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}
a,
a:link,
a:visited,
a:active {
    text-decoration: none;
}
a:link,
a:visited,
a:active {
    color: inherit;
}
a {
    transition: 0.3s;
}
ul,li{
  list-style: none;
}
button {
    padding: 0;
    border: none;
    outline: none;
    font: inherit;
    color: inherit;
    background: none;
    appearance: none;
}
select,
textarea,
input {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
main {
    display: block;
}
img {
    vertical-align: bottom;
}
.u-pc{
    display: none !important;
}
body{
    font-family: "Zen Kaku Gothic New", sans-serif;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--black);
}
mark{
    color: var(--maincolor);
    background-color: inherit;
}
@media screen and (max-width: 360px){
    .u-sd{
        display: none;
    }
    
}

/* Component
----------------------------------------------------------------- */
.c-heading{
    color: var(--maincolor);
    font-weight: 700;
    font-size: 32px;
    line-height: 1.5;
    text-align: center;
}
.c-heading span{
    position: relative;
    display: inline-block;
    padding-bottom: 23px;
}
.c-heading span::after{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 8px;
    background: url(../img/bg/border_01.svg) repeat-x top left / 27px 8px;
}
.c-heading.u-lightpurple span::after{
    background: url(../img/bg/border_02.svg) repeat-x top left / 27px 8px;
}
.c-title{
    text-align: center;
    font-size: 18px;
    line-height: 1.75;
    margin: 32px auto 0;
    font-weight: 700;
}
.c-detail__heading{
    font-size: 28px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 32px;
    text-align: center;
}
.c-copy{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin: 20px auto 0;
}
.c-main__h3{
    font-size: 28px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--maincolor);
    text-align: center;
}
.c-main__h4{
    font-size: 18px;
    line-height: 1.5;
    font-weight: 700;
}
@media screen and (max-width: 374px){
    .c-detail__heading,
    .c-main__h3{
        font-size: 24px;
    }
}
@media screen and (max-width: 389px){
    .c-main__h4{
        font-size: 16px;
    }
}
.c-sub__h3{
    font-size: 20px;
    font-weight: 700;
    color: var(--maincolor);
    line-height: 1.5;
    margin-bottom: 10px;
}
.c-sub__h5{
    font-size: 20px;
    font-weight: 700;
    color: var(--maincolor);
    line-height: 1.5;
    padding-bottom: 12px;
    border-bottom: 2px dotted var(--maincolor);
    margin-bottom: 1rem;
    text-align: center;
}
.c-lead{
    font-size: 16px;
    line-height: 1.5;
}
.c-desc{
    font-size: 14px;
    line-height: 1.75;
}
.c-voice{
    column-gap: 21px;
    margin-bottom: 1rem;
    align-items: center;
}
.c-voice .p-image__box{
    max-width: 120px;
    flex-shrink: 0;
}
.c-voice img{
    border-radius: 50%;
    width: 120px;
    height: 120px;
    object-fit: cover;
}
.c-voice .p-textbox{
    width: 100%;
}
.c-voice .p-post{
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.5;
}
.c-comment{
    background-color: var(--beige);
    border-radius: 8px;
    padding: 20px;
}
.c-voice .p-name{
    font-size: 20px;
    line-height: 1.5;
}
.c-faq__head{
    flex-shrink: 0;
}
.c-faq__head img{
    width: 28px;
    height: 28px;
}
.c-faq__q{
    font-size: 18px;
    line-height: 1.75;
    font-weight: 700;
    width: 100%;
}
.c-faq__a{
    padding: 12px 8px 20px;
    line-height: 1.75;
    font-size: 14px;
}
.c-btn{
    display: block;
    margin: 24px auto 0;
}
.c-btn a{
    color: var(--white);
    background-color: var(--maincolor);
    max-width: 294px;
    width: 87%;
    padding: 9px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    font-weight: 700;
    column-gap: 10px;
    border-radius: 36px;
    margin: 0 auto;
}
@media screen and (max-width: 389px){
    .c-btn a{
        font-size: 20px;
    }
}
.c-btn .c-cart{
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    background: url(../img/icon/cart.svg) no-repeat center / contain;
}
.c-btn__inner{
    width: 58%;
    max-width: 168px; 
    display: flex;
    flex-direction: column;
}
.c-btn .c-txt,
.c-btn .c-att{
    display: inline-block;
}
.c-btn .c-att{
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
}
.c-list li{
    font-size: 14px;
    line-height: 1.25;
    position: relative;
    padding-left: 10px;
}
.c-list li .u-en{
    font-size: 16px;
}
.c-list li::before{
    content: '';
    display: inline-block;
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--black);
}
.c-list li:not(:last-child){
    margin-bottom: 2px;
}
.c-num{
    margin: 0 auto;
    display: block;
    position: relative;
    z-index: 1;
}

/* ==========================================================================
   Layout
========================================================================== */
.l-inner{
    margin: 0 auto;
    width: 87.692vw;
}
.inner{
    margin: 0 auto;
}

/* l-mv
----------------------------------------------------------------- */
.l-mv{
    background-color: var(--cream);
}
.l-mv__bg{
    padding: 12.308vw 0 107.692vw;
    position: relative;
    background: url(../img/bg/bg.png) no-repeat center / cover;
}
.l-mv__bg::after{
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 16.154vw;
    z-index: 0;
    background: url(../img/bg/wave.svg) no-repeat bottom center / cover;
}
.l-mv__head{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.l-mv__head .p-head{
    width: 56.41vw;
    height: 30.769vw;
    object-fit: cover;
    margin-bottom: 12.308vw;
}
.p-product__name{
    width: 34.872vw;
    height: 4.103vw;
    margin-bottom: 6.154vw;
}
.l-mv__head .p-logo{
    width: 72.308vw;
    height: 49.744vw;
    object-fit: cover;
}
.l-mv__copyArea{
    width: 140px;
    height: 140px;
    border-radius: 50%;
    font-size: 17px;
    font-weight: 700;
    margin-left: 15px;
    z-index: 1;
    position: absolute;
    bottom: -40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../img/mv/intro_bg.png) no-repeat center / cover;
}
.l-mv__copy{
    display: block;
    text-align: center;
}
.l-mv__copy .u-small{
    font-size: 13px;
    line-height: 1.65;
}
.l-mv__copy .u-middle{
    display: inline-flex;
    align-items: center;
}
.l-mv__copy .u-en{
    font-size: 32px;
    line-height: 1;
    margin-top: -5px;
    padding: 0 2px;
}
.l-mv__textbox{
    margin-top: -41.538vw;
    padding-top: 41.538vw;
    background-color: var(--lightsalmon);
}
.l-mv__lead{
    width: 100%;
    margin: 0 auto;
    padding-top: 96px;
}
.l-mv__lead img{
    width: 100%;
    height: 97.436vw;
    object-fit: cover;
}
.l-mv__product{
    margin: 63px auto 0;
    position: relative;
    width: 100%;
}
.l-mv__product img{
    width: 89.744vw;
    height: 61.538vw;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    z-index: 1;
    position: relative;
    margin: 0 auto;
}
.l-mv__product::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    top: 30.769vw;
    height: 30.769vw;
    background-color: var(--cream);
    z-index: 0;
}

/* l-intro
----------------------------------------------------------------- */
.l-intro{
    background-color:var(--cream);
    position: relative;
    padding: 20.513vw 0 90.256vw;
}
.l-intro::before{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 112.821vw;
    z-index: 0;
    background: url(../img/intro/bg_image.png) no-repeat center / cover;
}
.l-intro .inner{
    position: relative;
    z-index: 1;
}
.l-intro__head{
    font-size: 22px;
    line-height: 1.5;
    font-weight: 700;
    padding-bottom: 11px;
}
.l-intro__head .u-first{
    margin-bottom: 4px;
}
.l-intro__head .u-large{
    font-size: 30px;
    position: relative;
    display: inline-block;
}
.l-intro__head .u-large::after{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 8px;
    background: url(../img/bg/border_02.svg) repeat-x top left / 27px 8px;
}
@media screen and (max-width: 374px){
    .l-intro__head{
        font-size: 20px;
    }
    .l-intro__head .u-large{
        font-size: 28px;
    }
}
.l-intro__List{
    margin: 48px auto 0;
    width: 75.385vw;
}
.l-intro__ListItem{
    position: relative;
    display: flex;
    column-gap: 6px;
}
.l-intro__ListItem:not(:last-child){
    margin-bottom: 22px;
}
.l-intro__ListItem::before{
    content: '';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    background: url(../img/icon/check.svg) no-repeat center / contain;
}
.l-intro__desc{
    width: 100%;
}

/* l-concept
----------------------------------------------------------------- */
.l-concept{
    background-color: var(--lightsalmon);
    position: relative;
}
.l-concept::before{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: -8.205vw;
    width: 100%;
    height: 8.205vw;
    background: url(../img/bg/wave_04.svg) no-repeat center / cover;
}
.l-concept__head-inner{
    width: 88.205vw;
    margin: 0 auto;
    padding-top: 20px;
}
.p-arrow{
    width: 2rem;
    height: 1.75rem;
    display: block;
    margin: 0 auto;
    text-align: center;
    background: url(../img/icon/tri.svg) no-repeat center / contain;
}
.l-concept__ttl{
    margin: 2rem auto 1rem;
    display: block;
    max-width: 256px;
}
.l-concept__ttl img{
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}
.l-concept__head-inner .c-lead{
    line-height: 1.75;
}
@media screen and (max-width: 380px){
    .l-concept__head-inner .c-lead{
        font-size: 14px;
    }
}
.l-concept__figure{
    max-width: 334px;
    width: 100%;
    margin: 40px auto;
}
.l-concept__figure img{
    width: 100%;
    height: auto;
    object-fit: cover;
}
.l-concept__scene{
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.l-concept__scene img{
    border-radius: 12px;
    width: 89.744vw;
    height: 61.538vw;
    object-fit: cover;
    margin: 0 auto;
    display: block;
    z-index: 1;
    position: relative;
}
.l-concept__scene::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    top: 30.769vw;
    height: 30.769vw;
    background-color: var(--cream);
    z-index: 0;
}

/* l-comment
----------------------------------------------------------------- */
.l-comment{
    background-color: var(--lightsalmon);
    position: relative;
    padding: 80px 0;
}
.l-comment__head{
    font-size: 32px;
    font-weight: 700;
    margin: 0 auto 40px;
    display: flex;
    column-gap: 8px;
    align-items: flex-end;
    justify-content: center;
}
@media screen and (max-width: 374px){
    .l-comment__head{
        font-size: 8.533vw;
    }
}
.l-comment__head span{
    display: block;
}
.l-comment__image{
    width: 100%;
    margin: 0 auto;
}
.l-comment__image img{
    width: 100%;
    height: 88.205vw;
    object-fit: cover;
}

/* l-feature
----------------------------------------------------------------- */
.l-feature{
    background-color: var(--cream);
    position: relative;
}
.l-feature__head{
    text-align: center;
    display: block;
    padding: 80px 0 152px;
    background-color: var(--lightpink); 
    border-radius: 80px 80px 0 0;
    border-top: 2px solid var(--black);
    border-left: 2px solid var(--black);
    border-right: 2px solid var(--black);
}
.l-feature__head img{
    margin-inline: auto;
    display: block;
}
.l-feature__head .p-head{
    margin: -40px auto 0;
}
.l-feature__List{
    margin: -112px auto 0;
}
.l-feature__ListItem sup{
    font-size: 0.6em;
}
.l-feature__ListItem:nth-child(odd) .l-feature__bg{
    background-color: var(--cream);
}
.l-feature__ListItem:nth-child(even) .l-feature__bg{
    background-color: var(--lightpink);
}
.l-feature__ListItem:not(:first-child){
    margin-top: -112px;
}
.l-feature__bg{
    margin: -40px auto 0;
    padding: 72px 0 192px;
    border-radius: 80px 80px 0 0;
    position: relative;
    border-top: 2px solid var(--black);
    border-left: 2px solid var(--black);
    border-right: 2px solid var(--black);
}
.l-feature__ListItem:last-child .l-feature__bg{
    padding-bottom: 104px;
    border-bottom: 2px solid var(--black);
    border-radius: 80px;
}
.l-feature__bg .inner{
    width: 83.59vw;
}
.l-feature__figure{
    margin: 32px auto 0;
}
.l-feature__figure img:not(:last-child){
    margin-bottom: 32px;
}
.l-feature__figure img{
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    margin-inline: auto;
}
.l-feature__figure.u-br img{
    border-radius: 12px;
    height: 51.282vw;
}
.l-flavor__List{
    margin: 32px auto 0;
}
.l-flavor__ListItem:not(:last-child){
    margin-bottom: 40px;
}
.l-flavor__ListItem img{
    width: 100%;
    height: 82.051vw;
    display: block;
    margin: 0 auto;
    object-fit: cover;
}

/* l-expert
----------------------------------------------------------------- */
.l-expert{
    padding: 80px 0 28.718vw;
    position: relative;
    background-color: var(--cream);
}
.l-expert__List{
    margin: 48px auto 0;
}
.l-expert__ListItem:not(:last-child){
    margin-bottom: 48px;
}
.l-expert::after{
    content: '';
    position: absolute;
    bottom: -21.538vw;
    left: 0;
    width: 100%;
    height: 44.615vw;
    z-index: 1;
    background: url(../img/voices/group.png) no-repeat center / cover;
}

/* l-voices
----------------------------------------------------------------- */
.l-voices{
    padding: 12.308vw 0 0;
    position: relative;
    background-color: var(--lightsalmon);
}
.l-voices::before{
    content: '';
    position: absolute;
    display: block;
    top: -8.205vw;
    left: 0;
    width: 100%;
    height: 8.205vw;
    background: url(../img/bg/wave_04.svg) no-repeat center / cover;
}
.l-voices .l-inner{
    width: 89.744vw;
}
.l-voices__List{
    width: 87.692vw;
    margin: 48px auto;
}
.l-voices__ListItem{
    border-radius: 40px;
    padding: 1.5rem;
    position: relative;
    filter: drop-shadow(var(--shadow));
}
.l-voices__ListItem:not(:last-child){
    margin-bottom: 24px;
}
.l-voices__ListItem:nth-child(odd){
    background-color: var(--white);
}
.l-voices__ListItem::after{
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -14px;
    width: 1rem;
    height: 14px;
}
.l-voices__ListItem:nth-child(odd)::after{
    left: 2.25rem;
    background: url(../img/bg/odd.svg) no-repeat center / contain;
}
.l-voices__ListItem:nth-child(even){
    background-color: var(--cream);
}
.l-voices__ListItem:nth-child(even)::after{
    right: 2.25rem;
    background: url(../img/bg/even.svg) no-repeat center / contain;
}
.l-voices__figure{
    position: relative;
    margin: 0 auto;
}
.l-voices__figure img{
    border-radius: 12px;
    width: 89.744vw;
    margin: 0 auto;
    display: block;
    object-fit: cover;
    height: 61.538vw;
    position: relative;
    z-index: 1;
}
.l-voices__figure::after{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    top: 30.769vw;
    height: 30.769vw;
    background-color: var(--cream);
}

/* l-media
----------------------------------------------------------------- */
.l-media{
    padding: 80px 0 96px;
    background-color: var(--cream); 
}
@media screen and (min-width: 391px) and (max-width: 767px) {
    .l-media{
        padding: 80px 0 24.615vw;
    }
}
.l-media__List{
    margin: 32px auto 0;
    background-color: var(--white);
    border-radius: 12px;
    width: 79.487vw;
    padding: 1rem;
}
.l-media__ListItem{
    padding: 1rem;
}
.l-media__ListItem:not(:last-child){
    border-bottom: 1px dotted var(--maincolor);
}
.l-media__List-inner{
    position: relative;
    padding-left: 35px;
}
.l-media__List-inner::before{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 28px;
    height: 28px;
    background: url(../img/icon/check_m.svg) no-repeat center / contain;
}
.l-media__ListItem .p-desc{
    font-size: 14px;
    line-height: 1.5;
    display: block;
    margin-top: 6px;
}

/* l-crowd
----------------------------------------------------------------- */
.l-crowd{
    position: relative;
    background-color: var(--cream);
}
.l-crowd::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 8.205vw;
    background: url(../img/bg/wave_02.svg) no-repeat center / cover;
    transform: rotate(180deg);
}
.l-crowd__head{
    width: 94.872vw;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.l-crowd__head img{
    width: 100%;
    height: 34.872vw;
    object-fit: cover;
}
.l-crowd__inner{
    /* margin: -64px auto 0;
    padding: 120px 0 90px; */
    margin:  -16.41vw auto 0;
    padding: 30.769vw 0 23.077vw;
    position: relative;
    z-index: 0;
    background: url(../img/crowd/bg.png) no-repeat center / cover;
}
.l-crowd__lead{
    width: 87.692vw;
    margin: 0 auto 40px;
    text-align: center;
    line-height: 2;
    /* font-size: 20px; */
    font-size: 5.128vw;
    font-weight: 700;
    position: relative;
}
.l-crowd .p-icon{
    display: flex;
    justify-content: center;
    margin: 0 auto;
    position: relative;
}

/* l-faq
----------------------------------------------------------------- */
.l-faq{
    padding: 80px 0;
    background-color: var(--cream);
}
.l-faq__dl{
    margin: 48px auto 0;
}
.l-faq__dt{
    display: flex;
    column-gap: 12px;
    padding: 0 8px;
}
.l-faq__dd{
    border-bottom: 2px dotted var(--maincolor);
}
.l-faq__dd:not(:last-of-type){
    margin-bottom: 24px;
}

/* l-product
----------------------------------------------------------------- */
.l-product{
    padding: 0 0 120px;
    background-color: var(--cream);
    position: relative;
}
.l-product::after{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 8.205vw;
    background: url(../img/bg/wave_03.svg) no-repeat center / cover;
}
.l-product__head{
    padding: 34px 0 20.256vw;
    margin: 0 auto;
    background-color: var(--maincolor); 
    position: relative;
}
.l-product__head::after{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 8.205vw;
    background: url(../img/bg/wave_01.svg) no-repeat center / cover;
}
.l-product__head .p-txt{
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    padding-bottom: 10px;
    display: block;
    width: 87.692vw;
    margin: 0 auto 38px;
    position: relative;
}
@media screen and (max-width: 374px){
    .l-product__head .p-txt{
        font-size: 6.563vw;
    }
}
.l-product__head .p-txt::after{
    content: '';
    display: block;
    position: absolute;
    bottom: -26px;
    left: 50%;
    max-width: 308px;
    width: 79vw;
    height: 26px;
    background: url(../img/product/frame.svg) no-repeat center / cover;
    transform: translateX(-50%);
}
.l-product__head img{
    max-width: 284px;
    width: 72.821vw;
    height: auto;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}
.l-product__slideArea{
    margin: -8.205vw auto 48px;
}
.l-product__List{
    margin: 0 auto 44px;
}
.l-product__ListItem:not(:last-child){
    margin-bottom: 20px;
}
.l-product__ListItem{
    border-radius: 12px;
    border: 1px solid var(--maincolor);
    background-color: var(--white);
    padding: 0 0 24px;
    overflow: hidden;
}
.l-product__ListItem .c-desc{
    padding: 0 24px;
    margin-top: 1rem;
    max-width: 342px;
    margin-inline: auto;
}
.l-product__ttl{
    color: var(--maincolor);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    background-color: var(--lightsalmon);
    padding: 0 28px;
}
.l-product__ttl .u-en{
    font-size: 36px;
}
@media screen and (max-width: 374px){
    .l-product__ttl{
        font-size: 14px;
    }
    .l-product__ttl .u-en{
        font-size: 28px;
    }
}
.l-product__ttl .p-set,
.l-product__ttl .p-en{
    margin-left: 2px;
    display: inline-block;
}
.l-product__ttl .p-set{
    margin-right: 4px;
}
.l-product__textArea{
    max-width: 342px;
    padding: 0 28px;
    margin: 24px auto;
    display: flex;
    justify-content: space-between;
}
.l-product__text{
    font-size: 14px;
    line-height: 1.25;
    width: 36%;
    max-width: 102px;
}
.l-product__text .u-bold{
    margin-bottom: 4px;
}
.l-product__text .u-en{
    font-size: 16px;
}
.l-product__textArea .c-list{
    max-width: 172px;
    width: 61%;
    border-left: 1px solid #888;
    padding-left: 10px;
}
.l-product__materials{
    font-size: 12px;
    line-height: 1.5;
}
.l-product__materials:not(:last-child){
    margin-bottom: 18px;
}

/* l-about
----------------------------------------------------------------- */
.l-about{
    padding: 80px 0 120px;
    background-color: var(--lightpink); 
}
.l-about__logo{
    margin: 40px auto 32px;
}
.l-about__image{
    margin: 32px auto 40px;
}
.l-about__logo img,
.l-about__image img{
    width: 100%;
    height: 54.359vw;
    object-fit: cover;
    border-radius: 12px;
}
.l-about__lead{
    width: 83.59vw;
    margin: 0 auto;
}
.l-about__List{
    margin: 24px auto;
    width: 83.59vw;
}
.l-about__ListItem{
    padding-left: 1.5rem;
    position: relative;
    line-height: 1.6;
    font-size: 14px;
    font-weight: 500;
}
.l-about__ListItem:not(:last-child){
    margin-bottom: 1rem;
}
.l-about__ListItem::before{
    content: '';
    display: block;
    position: absolute;
    top: 0.85rem;
    left: 0;
    width: 1rem;
    height: 1px;
    background: #AE9497;
}
.l-about__ListItem .p-head{
    font-size: 24px;
    line-height: 1;
    color: var(--vividpink);
    font-weight: 700;
    display: inline-block;
    margin-right: 0.5rem;
}
.l-about .p-btn{
    margin: 40px auto 0;
}
.p-btn a{
    background-color: var(--white);
    border: 2px solid var(--maincolor);
    padding: 16px 0;
    max-width: 326px;
    width: 83.59vw;
    text-align: center;
    border-radius: 36px;
    font-size: 16px;
    line-height: 1.25;
    display: block;
    margin: 0 auto;
    color: var(--maincolor);
}

/* l-story
----------------------------------------------------------------- */
.l-story{
    padding: 80px 0 120px;
    position: relative;
    background-color: var(--cream);
}
.l-story::after{
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 32px;
    background: url(../img/bg/wave_04.svg) no-repeat center / cover;
}
.l-story .c-heading{
    margin-bottom: 32px;
}
.l-story .c-title{
    font-size: 20px;
    font-weight: 700;
    margin: 0 auto 32px;
    line-height: 1.75;
    display: flex;
    column-gap: 8px;
    align-items: flex-end;
    justify-content: center;
}
.l-story__ListItem:not(:last-child){
    margin-bottom: 16px;
}

/* splide
----------------------------------------------------------------- */
.js-thumbnails {
    display: flex;
    column-gap: 1.41vw;
    padding: 0;
    margin: 10px auto 0;
    justify-content: center;
}
.thumbnail {
    overflow: hidden;
    list-style: none;
    transition: 0.4s;
}
#js-gallary .splide__slide,
#js-gallary .splide__slide img{
    border-radius: 12px;
    height: 58.462vw;
}
#js-gallary .splide__slide.is-active{
    border: 1px solid var(--maincolor);
}
#js-gallary .splide__slide img,
#js-thumbnails .thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#js-thumbnails .thumbnail{
    width: 16.41vw;
    height: 16.41vw;
    position: relative;
}
#js-thumbnails .thumbnail,
#js-thumbnails .thumbnail img{
    width: 100%;
    height: 16.41vw;
    border-radius: 4px;
}
#js-thumbnails .thumbnail::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
    border: 3px solid var(--maincolor);
}
#js-thumbnails .thumbnail.is-active::after{
    opacity: 1;
    visibility: visible;
}

/* l-footer
----------------------------------------------------------------- */
.l-footer{
    background-color: var(--maincolor);
    color: var(--white);
    padding: 10px 0 9px;
}
.l-footer__copy{
    font-size: 12px;
    display: block;
    line-height: 1.75;
    margin: 0 auto;
    text-align: center;
}

/* js-entry__btn
----------------------------------------------------------------- */
.js-entry__btn{
    position: fixed;
    right: 8px;
    top: calc(100% - 188px);
    z-index: 1;
}
.js-entry__btn a{
    width: 174px;
    height: 176px;
    display: block;
    border-radius: 50%;
    transition: 0.4s;
}
#js-entry{
    opacity: 1;
    visibility: visible;
}
#js-entry.is-hidden{
    visibility: hidden;
    opacity: 0;
}
.js-entry__btn img{
    width: 100%;
    height: 100%;
    object-fit: cover;
} 

/* Project
----------------------------------------------------------------- */
.p-att{
    font-size: 14px;
    line-height: 1.5;
    margin-top: 16px;
}

/* Utility
----------------------------------------------------------------- */
.u-white{
    color: var(--white);
}
.u-pink{
    color: var(--maincolor);
}
.u-lightpurple{
    color: var(--lightpurple);
}
.u-bold{
    font-weight: 700;
}
.u-black{
    font-weight: 900;
}

.u-left{
    text-align: left;
}
.u-center{
    text-align: center;
}
.u-right{
    text-align: right;
}
.u-flex{
    display: flex;
}
.u-block{
    display: block;
}
.u-vivid{
    color: var(--vividpink);
}