@charset "UTF-8";/* common */.bt{    text-align: center;}.bt a {    background: #fe383a;    font-size: 1.8rem;    color: #fceabc;    border-radius: 5rem;    padding: 2rem 6rem 2rem 4rem;    position: relative;    box-shadow: 1px 1px 6px #ccc;    display: inline-block;}.bt a::after {    position: absolute;    content: "";    width: 4rem;    height: 1px;    background: #fceabc;    top: 50%;    right: 0;}.bt-online a {    background: #fe383a;    font-size: 1.8rem;    color: #fceabc;    border-radius: 5rem;    padding: 2rem 6rem 2rem 7rem;    position: relative;    box-shadow: 1px 1px 6px #ccc;}.bt-online a::before {    position: absolute;    content: "";    background: url(../images/icon-cart.png) no-repeat;    width: 3rem;    height: 3.1rem;    top: 50%;    left: 3rem;    transform: translateY(-50%);}.bt-online a::after {    position: absolute;    content: "";    width: 4rem;    height: 1px;    background: #fceabc;    top: 50%;    right: 0;}.bt-app a {    background: #fe383a;    font-size: 1.8rem;    color: #fceabc;    border-radius: 5rem;    padding: 2rem 6rem 2rem 8rem;    position: relative;    box-shadow: 1px 1px 6px #ccc;    display: inline-block;}.bt-app a::before {    position: absolute;    content: "";    background: url(../images/icon-app.png) no-repeat;    width: 3.5rem;    height: 3.5rem;    top: 50%;    left: 3rem;    transform: translateY(-50%);}.bt-app a::after {    position: absolute;    content: "";    width: 4rem;    height: 1px;    background: #fceabc;    top: 50%;    right: 0;}/* mv */.main-visual {    background: url(../images/mv.png) no-repeat center / cover;    height: 45vw;    margin: 0 5rem;    position: relative;}.main-visual h2 {    font-size: 2vw;    color: #fff;    position: absolute;    bottom: 5rem;    left: 5rem;    line-height: 1.5;}.mv-box{    position: absolute;    width: 38.55vw;    height: 22.3vw;    bottom: -5vw;    right: 5rem;    background: url(../images/mv-card.png) no-repeat center top / contain;}.mv-box a{    display: block;    width: 100%;    height: 100%;}.mv-box a > h3{    font-size: 1.5vw;    color: #fff;    position: absolute;    top: 2vw;    left: 3vw;    line-height: 1.5;}.mv-box a > span:nth-of-type(1){    width: 3vw;    height: 1px;    background: #fff;    display: block;    position: absolute;    top: 7vw;    left: 3vw;}.mv-box a > span:nth-of-type(2){    width: 4vw;    height: 1px;    background: #fff;    display: block;    position: absolute;    top: 7.5vw;    left: 3vw;}.mv-box a > span:nth-of-type(3){    width: 5vw;    height: 1px;    background: #fff;    display: block;    position: absolute;    top: 8vw;    left: 3vw;}.mv-box-inner{    position: absolute;    bottom: 0;    background: #FE383A;    width: 100%;    height: 4.95vw;    color: #FCEABC;    display: flex;    align-items: center;    justify-content: center;    gap: 2vw;}.mv-box-inner h3{    font-family: ff-angie-pro, serif;    font-weight: 700;    font-style: normal;    font-size: 2vw;}.mv-box-inner p{    font-family: ff-angie-pro, serif;    font-weight: 700;    font-style: normal;    font-size: 1vw;}.mv-box-inner p span{    font-size: 2vw;}.mv-box-circle{    background: #FE383A;    border-radius: 50%;    width: 10vw;    height: 10vw;    position: absolute;    top: -5vw;    right: 3vw;    display: flex;    align-items: center;    justify-content: center;}.mv-box-circle h3{    font-size: 1vw;    color: #FCEABC;    line-height: 1.5;    position: relative;}.mv-box-circle h3::before{    position: absolute;    content: "";    background: url(../images/icon-mobile.png) no-repeat;    width: 1.7vw;    height: 2vw;    top: -2.5vw;    left: 50%;    transform: translateX(-50%);    background-size: 1.7vw;}.mv-box-circle h3::after{    position: absolute;    content: "";    width: 2vw;    height: .5vw;    border-bottom: 2px solid #FCEABC;    border-right: 2px solid #FCEABC;    left: 45%;    bottom: -1.5vw;    transform: translateX(-50%) skew(45deg);}/* concept */.concept{    background: url(../images/bg-concept.png) no-repeat center / cover;    position: relative;    height: 57vw;}.concept-inner{    width: 50%;    position: absolute;    right: 0;    padding: 13vw 0 0;}.concept-inner h2{    font-family: ff-angie-pro, serif;    font-weight: 700;    font-style: normal;    font-size: 3vw;    display: flex;    flex-direction: column;    align-items: center;    margin: 0 0 4vw;}.concept-inner h2 span{    font-size: 1.2vw;}.concept-inner h3{    font-size: 1.5vw;    text-align: center;    margin: 0 0 4vw;}.concept-inner p{    font-size: 1vw;    width: 60rem;    margin: 0 auto 7vw;    line-height: 1.5;    max-width: 80%;}/* boast */.boast{    height: 46.88vw;    background: url(../images/bg-boast.png) no-repeat center / cover;    position: relative;}.boast h2{    -ms-writing-mode: tb-rl;    writing-mode: vertical-rl;    color: #fff;    font-size: 3vw;    position: absolute;    top: 10vw;    right: 10vw;    padding-left: 1em;    text-indent:-1em;    letter-spacing: 1rem;    line-height: 1.5;}.boast h3{    font-size: 1.5vw;    text-align: center;    color: #fff;    position: absolute;    width: 80rem;    max-width: 40%;    top: 35%;    left: 10vw;    transform: translateY(-50%);    line-height: 1.5;}.boast p{    font-size: 1vw;    color: #fff;    position: absolute;    width: 80rem;    max-width: 40%;    top: 50%;    left: 10vw;    transform: translateY(-50%);    line-height: 1.5;}/* shop */.shop{    background: #FFE5E5;}.shop-list{    display: flex;}.shop-list li{    width: 50%;}.shop-list li:nth-of-type(1){    background: #FFE5E5;    padding: 5vw;    text-align: center;}.shop-list li:nth-of-type(2){    background: url(../images/bg-shop.png) no-repeat center / cover;}.shop-list li > span{    width: 15vw;    height: 1px;    display: block;    background: #FE383A;    margin: 0 auto 1rem;}.shop-list li h2{    display: flex;    flex-direction: column;    font-size: 1.2vw;    align-items: center;    margin: 0 0 2vw;}.shop-list li h2 span{    font-size: 3vw;    font-family: ff-angie-pro, serif;    font-weight: 700;    font-style: normal;}.shop-list li h3{    padding: 3vw 0 1vw;    font-size: 1.5vw;    font-family: ff-angie-pro, serif;    font-weight: 700;}.shop-list li h4{    font-size: 2vw;    line-height: 1.5;    margin: 0 0 2vw;}.shop-list li p{    font-size: 1vw;    line-height: 1.5;    margin: 0 0 2vw;}.shop-list li p:last-of-type{    margin: 0 0 5vw;}/* info */.info{    padding: 7vw 0 0;}.info h2{    font-size: 1.2vw;    display: flex;    flex-direction: column;    align-items: center;    margin: 0 0 3vw;}.info h2 span{    font-size: 3vw;    font-family: ff-angie-pro, serif;    font-weight: 700;}.info > img{    width: 100%;}.info-inner{    position: relative;    height: 50vw;}.info-inner::after{    position:absolute;    content:"";    width: 100%;    height: 40vw;    background: #FFE5E5;    top: 5vw;    left: 0;    transform: skewY(-5deg);    z-index: -1;}.info-inner img:nth-of-type(1){    position: absolute;    top: 5vw;    left: 10vw;    width: 6vw;}.info-inner img:nth-of-type(2){    position: absolute;    right: 10vw;    width: 16vw;    bottom: 5vw;}.info-detail{    width: 60rem;    max-width: 90%;    margin: auto;    text-align: center;    padding: 7vw 0;}.info-detail h3{    font-size: 1.2vw;    display: flex;    flex-direction: column;    align-items: center;    margin: 0 0 2vw;}.info-detail h3 span{    font-size: 2vw;    font-family: ff-angie-pro, serif;    font-weight: 700;}.info-detail h4{    font-size: 2vw;    margin: 0 0 5vw;}.info-detail h4 span{    font-size: 1vw;}.info-detail p{    font-size: 1vw;    text-align: center;    margin: 0 0 2vw;    line-height: 1.5;}@media screen and (max-width:968px ) {    /* common */    .bt{        text-align: center;    }    .bt a {        background: #fe383a;        font-size: 1.8rem;        color: #fceabc;        border-radius: 5rem;        padding: 2rem 6rem 2rem 4rem;        position: relative;        box-shadow: 1px 1px 6px #ccc;        display: inline-block;    }    .bt a::after {        position: absolute;        content: "";        width: 4rem;        height: 1px;        background: #fceabc;        top: 50%;        right: 0;    }    .bt-online a {        background: #fe383a;        font-size: 1.8rem;        color: #fceabc;        border-radius: 5rem;        padding: 2rem 6rem 2rem 7rem;        position: relative;        box-shadow: 1px 1px 6px #ccc;        display: inline-block;    }    .bt-online a::before {        position: absolute;        content: "";        background: url(../images/icon-cart.png) no-repeat;        width: 3rem;        height: 3.1rem;        top: 50%;        left: 3rem;        transform: translateY(-50%);    }    .bt-online a::after {        position: absolute;        content: "";        width: 4rem;        height: 1px;        background: #fceabc;        top: 50%;        right: 0;    }    .bt-app a {        background: #fe383a;        font-size: 1.8rem;        color: #fceabc;        border-radius: 5rem;        padding: 2rem 6rem 2rem 8rem;        position: relative;        box-shadow: 1px 1px 6px #ccc;        display: inline-block;    }    .bt-app a::before {        position: absolute;        content: "";        background: url(../images/icon-app.png) no-repeat;        width: 3.5rem;        height: 3.5rem;        top: 50%;        left: 3rem;        transform: translateY(-50%);    }    .bt-app a::after {        position: absolute;        content: "";        width: 4rem;        height: 1px;        background: #fceabc;        top: 50%;        right: 0;    }    /* mv */    .main-visual {        background: url(../images/mv.png) no-repeat center / cover;        height: 30rem;        margin: 0;        position: relative;    }    .main-visual h2 {        font-size: 2.5rem;        color: #fff;        position: absolute;        bottom: unset;        left: 50%;        top: 50%;        line-height: 1.5;        transform: translate(-50%, -50%);        white-space: nowrap;        text-align: center;    }    .mv-box{        position: absolute;        width: 35rem;        max-width: 90%;        height: 20rem;        bottom: -15rem;        right: unset;        left: 50%;        transform: translateX(-50%);        background: url(        ../images/mv-card.png) no-repeat center top / contain;        z-index: 999;    }    .mv-box a{        display: block;        width: 100%;        height: 100%;    }    .mv-box a > h3{        font-size: 2rem;        color: #fff;        position: absolute;        top: 2rem;        left: 3rem;        line-height: 1.5;    }    .mv-box a > span:nth-of-type(1){        width: 3rem;        height: 1px;        background: #fff;        display: block;        position: absolute;        top: 9rem;        left: 3rem;    }    .mv-box a > span:nth-of-type(2){        width: 4rem;        height: 1px;        background: #fff;        display: block;        position: absolute;        top: 10rem;        left: 3rem;    }    .mv-box a > span:nth-of-type(3){        width: 5rem;        height: 1px;        background: #fff;        display: block;        position: absolute;        top: 11rem;        left: 3rem;    }    .mv-box-inner{        position: absolute;        bottom: 0;        background: #FE383A;        width: 100%;        height: 5rem;        color: #FCEABC;        display: flex;        align-items: center;        justify-content: center;        gap: 2vw;    }    .mv-box-inner h3{        font-family: ff-angie-pro, serif;        font-weight: 700;        font-style: normal;        font-size: 2.5rem;    }    .mv-box-inner p{        font-family: ff-angie-pro, serif;        font-weight: 700;        font-style: normal;        font-size: 1.6rem;    }    .mv-box-inner p span{        font-size: 2.5rem;    }    .mv-box-circle{        background: #FE383A;        border-radius: 50%;        width: 15rem;        height: 15rem;        position: absolute;        top: -5rem;        right: 1rem;        display: flex;        align-items: center;        justify-content: center;    }    .mv-box-circle h3{        font-size: 1.6rem;        color: #FCEABC;        line-height: 1.5;        position: relative;    }    .mv-box-circle h3::before{        position: absolute;        content: "";        background: url(../images/icon-mobile.png) no-repeat;        width: 3rem;        height: 3.5rem;        top: -4rem;        left: 50%;        transform: translateX(-50%);        background-size: 3rem;    }    .mv-box-circle h3::after{        position: absolute;        content: "";        width: 3rem;        height: 1rem;        border-bottom: 2px solid #FCEABC;        border-right: 2px solid #FCEABC;        left: 40%;        bottom: -2.5rem;        transform: translateX(-50%) skew(45deg);    }    /* concept */    .concept{        background: url(../images/bg-concept-sp.png) no-repeat center top 20% / 35rem;        position: relative;        height: 110rem;    }    .concept-inner{        width: 90%;        position: absolute;        right: unset;        left: 50%;        bottom: 5rem;        transform: translateX(-50%);        padding: 13vw 0 0;    }    .concept-inner h2{        font-family: ff-angie-pro, serif;        font-weight: 700;        font-style: normal;        font-size: 4rem;        display: flex;        flex-direction: column;        align-items: center;        margin: 0 0 4vw;    }    .concept-inner h2 span{        font-size: 2rem;    }    .concept-inner h3{        font-size: 2rem;        text-align: center;        margin: 0 0 4vw;    }    .concept-inner p{        font-size: 1.6rem;        width: 60rem;        margin: 0 auto 7vw;        line-height: 1.5;        max-width: 100%;    }    /* boast */    .boast{        height: 80rem;        background: url(../images/bg-boast.png) no-repeat left top/ cover;        position: relative;    }    .boast h2{        -ms-writing-mode: tb-rl;        writing-mode: vertical-rl;        color: #fff;        font-size: 3rem;        position: initial;        top: 10rem;        right: unset;        left: 50%;        transform: initial;        padding-left: 1em;        text-indent:-1em;        letter-spacing: 1rem;        line-height: 1.5;        width: 10rem;        margin: 0 auto 5rem;        padding: 10rem 0 0;    }    .boast h3{    font-size: 2rem;    text-align: center;    color: #fff;    position: initial;    width: 80rem;    max-width: 90%;    top: 40%;    left: 50%;    transform: initial;    line-height: 1.5;        margin: 3rem auto;}    .boast p{        font-size: 1.6rem;        color: #fff;        position: initial;        width: 80rem;        max-width: 90%;        margin: auto;        top: 75%;        left: 50%;        transform: initial;        line-height: 1.5;    }    /* shop */    .shop{        background: #FFE5E5;    }    .shop-list{        display: flex;        flex-direction: column;    }    .shop-list li{        width: 100%;        height: 75rem;    }    .shop-list li:nth-of-type(1){        background: #FFE5E5;        padding: 5rem 0;        text-align: center;    }    .shop-list li:nth-of-type(2){        background: url(../images/bg-shop.png) no-repeat center / cover;        height: 40rem;    }    .shop-list li > span{        width: 8rem;        height: 1px;        display: block;        background: #FE383A;        margin: 0 auto 1rem;    }    .shop-list li h2{        display: flex;        flex-direction: column;        font-size: 2rem;        align-items: center;        margin: 0 0 3rem;    }    .shop-list li h2 span{        font-size: 4rem;        font-family: ff-angie-pro, serif;        font-weight: 700;        font-style: normal;    }    .shop-list li h3{        padding: 3rem 0 1rem;        font-size: 2.5rem;        font-family: ff-angie-pro, serif;        font-weight: 700;    }    .shop-list li h4{        font-size: 3rem;        line-height: 1.5;        margin: 0 0 3rem;    }    .shop-list li p{        font-size: 1.6rem;        line-height: 1.5;        margin: 0 auto 3rem;        width: 45rem;        max-width: 90%;    }    .shop-list li p:last-of-type{        margin: 0 auto 3rem;    }    /* info */    .info{        padding: 5rem 0 0;    }    .info h2{        font-size: 2rem;        display: flex;        flex-direction: column;        align-items: center;        margin: 0 0 3vw;    }    .info h2 span{        font-size: 4rem;        font-family: ff-angie-pro, serif;        font-weight: 700;    }    .info > img{        width: 100%;        aspect-ratio: 2/1;        object-fit: cover;    }    .info-inner{        position: relative;        height: 60rem;    }    .info-inner::after{        position:absolute;        content:"";        width: 100%;        height: 55rem;        background: #FFE5E5;        top: 0;        left: 0;        transform: skewY(-15deg);        z-index: -1;    }    .info-inner img:nth-of-type(1){    display: none;    }    .info-inner img:nth-of-type(2){    display: none;    }    .info-detail{        width: 60rem;        max-width: 90%;        margin: auto;        text-align: center;        padding: 5rem 0;    }    .info-detail h3{        font-size: 2rem;        display: flex;        flex-direction: column;        align-items: center;        margin: 0 0 3rem;    }    .info-detail h3 span{        font-size: 4rem;        font-family: ff-angie-pro, serif;        font-weight: 700;    }    .info-detail h4{        font-size: 3.5rem;        margin: 0 0 5rem;    }    .info-detail h4 span{        font-size: 1.6rem;    }    .info-detail p{        font-size: 1.6rem;        text-align: center;        margin: 0 0 3rem;        line-height: 1.5;    }}