@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Zen Old Mincho', serif;
*/
/*
width: min(, );
height: calc( + );
*/

#t240101 {
    font-family: 'Zen Old Mincho', sans-serif;
}

#t240101 *,
#t240101 *:before,
#t240101 *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    #t240101 img {
        /* image-rendering: -webkit-optimize-contrast; */
    }
}

#t240101 sup {
    font-size: 10px;
    line-height: calc(18 / 10);
    vertical-align: super;
}

#t240101 .mt-10 {
    margin-top: 10px;
}

#t240101 .btn-mt {
    display: block;
    max-width: 249px;
    margin: -55px auto 0;
}

#t240101 a {
    text-decoration: none;
    color: inherit;
}

#t240101 .drshadow {
    box-shadow: 0 2px 3px 0 rgba(124, 122, 124, 0.3);
}

#t240101 .txt-note {
    color: #7c7a7c;
    font-size: 10px;
    line-height: calc(17 / 10);
    letter-spacing: .01em;
}

.letter-s-n100 {
    letter-spacing: -.1em;
}

.letter-s-n150 {
    letter-spacing: -.15em;
}

.letter-s-n5 {
    letter-spacing: -.05em;
}

#main {
    padding: 0 !important;
    margin: 0 !important;
}

/*opening_area*/
#opening_area {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

#t240101 .section {
    position: relative;
    width: 100%;
    max-width: 375px;
    margin: 0 auto;
    padding: 0 23px;
}

#t240101 .bg-01 {
    background: url('../img/240520/bg_01.png') no-repeat bottom center / cover;
    height: 1725px;
    position: relative;
    z-index: 3;
}

#t240101 .bg-02 {
    background: url('../img/240520/bg_02.png') no-repeat bottom center / cover;
    padding-top: 110px;
    margin-top: -150px;
    z-index: 2;
    position: relative;
    /* height: 72.430555555vw; */
}

#t240101 .bg-02::after {
    /* content: "";
    background: url('../img/240520/bg_03.png') no-repeat top / cover;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 21.3194444444vw; */
}

#t240101 .bg-04 {
    background: url('../img/240520/bg_04.png') repeat-y top / cover;
    margin-top: -150px;
    padding-top: 200px;
    padding-bottom: 50px;
}

#opening_area #kv {
    position: relative;
    height: auto !important;
    max-width: 375px;
    margin: 0 auto;
}

#opening_area #kv .ttl {
    color: #FFF;
    position: absolute;
    top: 25px;
    right: 25px;
    margin-bottom: 0;
}

#opening_area #kv .ttl {
    font-size: 42px;
    font-family: 'A-OTF A1明朝 Std', sans-serif;
    font-weight: bold;
    line-height: 1.2380952381;
    letter-spacing: .1em;
    writing-mode: vertical-lr;
    text-orientation: upright;
}

#opening_area #kv .ttl small {
    font-size: 14px;
    line-height: calc(32 / 14);
    letter-spacing: .02em;
    display: block;
}

#opening_area #kv .txt {
    color: #FFF;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -.025em;
    text-align: center;
    margin-top: 10px;
}

#opening_area #kv .note {
    color: #eeb2b6;
    font-size: 10px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    line-height: calc(17 / 10);
    letter-spacing: .035em;
    text-align: center;
    margin-top: 20px;
}

#opening_area .movie {
    margin: 30px auto 0;
    position: relative;
}

#opening_area .movie::after {
    content: "";
    background: url('../img/240520/flower01.png') no-repeat center / contain;
    width: 137.5319px;
    height: 103.6414px;
    position: absolute;
    bottom: -100px;
    right: 0;
    z-index: 2;
}

#opening_area .movie-wrap {
    background-color: #D4D4D4;
    height: 180px;
    position: relative;
    z-index: 3;
}

#opening_area .movie iframe {
    width: 100%;
    height: 100%;   
}

#opening_area .intro {
    margin: 50px auto 0;
    position: relative;
}

#opening_area .intro::after {
    content: "";
    background: url('../img/240520/flower02.png') no-repeat center / contain;
    width: 116.2116px;
    height: 135.8063px;
    position: absolute;
    bottom: -60px;
    left: -15px;
}

#opening_area .intro-wrap {
    /* box-shadow: 0 2px 3px 0 rgba(124, 122, 124, 0.3); */
    position: relative;
    z-index: 1;
    padding: 0 5px;
}

#opening_area .explain.section {
    padding: 0;
}

#opening_area .explain .explain-ttl {
    color: #353535;
    font-size: 53px;
    font-weight: 500;
    line-height: calc(60 / 53);
    letter-spacing: -.015em;
    text-align: center;
    margin: 0;
}

#opening_area .explain .explain-media {
    margin-top: 20px;
}

#opening_area .explain .explain-ttl span {
    color: #C7000B;
    font-size: 51px;
    letter-spacing: -.055em;
}

#opening_area .explain .explain-ttl small {
    color: #C7000B;
    font-size: 24px;
    letter-spacing: .145em;
    margin-bottom: 0;
}

#opening_area .explain .explain-txt {
    font-size: 16px;
    font-weight: bold;
    line-height: calc(34 / 16);
    letter-spacing: .14em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 5px 0;
    text-align: center;
    max-width: 270px;
    margin: 0 auto;
}

#opening_area .title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 145px;
}

#opening_area .title:before {
    content: "";
    background: rgb(199,0,11);
    background: linear-gradient(90deg, rgba(199,0,11,1) 0%, rgba(157,0,3,1) 65%, rgba(139,0,0,1) 100%);
    clip-path: polygon(100% 0, 100% 50%, 50% 100%, 0 50%, 0 0, 50% 50%);
    width: 1920px;
    height: 307px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
    
}

#opening_area .title .title-wrap {
    position: relative;
    z-index: 2;
}

#opening_area .title-ttl {
    color: #FFF;
    font-size: 37px;
    font-weight: normal;
    letter-spacing: .2em;
    text-align: center;
}

#opening_area .title-txt {
    color: #FFF;
    font-size: 18px;
    letter-spacing: .045em;
    text-align: center;
}

#opening_area .ingredient .ingredient-ttl {
    color: #C3A358;
    font-size: 27px;
    text-align: center;
    margin: 0;
}

#opening_area .ingredient .ingredient-media {
    text-align: center;
    width: 271px;
    margin: 20px auto 0;
}

#opening_area .ingredient .ingredient-media .cap {
    color: #C3A358;
    font-size: 22px;
    letter-spacing: .115em;
    margin-top: 10px;
}

#opening_area .ingredient .ingredient-item {
    border-top: 1px solid #C3A358;
    padding-top: 30px;
    margin-top: 30px;
}

#opening_area .ingredient .ingredient-item:first-child {
    margin-top: 40px;
}

#opening_area .ingredient .ingredient-item .sub {
    color: #C3A358;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    line-height: calc(26 / 16);
    letter-spacing: .015em;
    text-align: center;
}

#opening_area .ingredient .ingredient-item .ttl {
    color: #C3A358;
    font-size: 27px;
    font-weight: normal;
    line-height: calc(32 / 27);
    letter-spacing: .015em;
    text-align: center;
}

#opening_area .ingredient .ingredient-item .lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 10px;
}

#opening_area .ingredient .ingredient-item .lst .lst-item {
    flex: calc(50% - 10px);
    max-width: 50%;
}

#opening_area .ingredient .ingredient-item .lst img {
    width: 108.9px;
    margin: 0 auto;
    display: block;
}

#opening_area .ingredient .ingredient-item .lst img + p {
    margin-top: 10px;
}

#opening_area .ingredient .ingredient-item .lst .lst-item p {
    color: #C3A358;
    font-size: 20px;
    line-height: calc(24 / 20);
    text-align: center;
}

#opening_area .ingredient .ingredient-item .lst .lst-item .small {
    font-size: 11px;
    text-align: left;
    margin-left: 27px;
    line-height: 1;
    display: block;
}

#opening_area .box {
    margin-top: 35px;
}

#opening_area .box .box-shadow {
    box-shadow: 0 2px 3px 0 rgba(124, 122, 124, 0.3);
}

#opening_area .product {
    max-width: 375px;
    margin: -15px auto 0;
}

#opening_area .product .product-item {
    position: relative;
}

#opening_area .product .product-item .product-item__media img {
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0 auto;
    max-width: inherit;
    transform: translateX(-50%);
    width: 528px;
}

#opening_area .product .product-item.--01 .product-item__media {
    height: 456px;
    margin-top: -65px;
}

#opening_area .product .product-item.--02 .product-item__media {
    height: 450px;
    margin-top: -10px;
}

#opening_area .product .product-item.--03 .product-item__media {
    height: 454px;
    margin-top: -10px;
}

#opening_area .product .product-item.--04 .product-item__media {
    height: 467px;
    margin-top: -10px;
}

#opening_area .product .product-item .product-item__ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: calc(27 / 18);
    letter-spacing: .02em;
    text-align: center;
}

#opening_area .product .product-item.--01 .product-item__ttl,
#opening_area .product .product-item.--02 .product-item__ttl,
#opening_area .product .product-item.--03 .product-item__ttl,
#opening_area .product .product-item.--04 .product-item__ttl {
    margin-top: -60px;
}

#opening_area .product .product-item .product-item__des {
    border-top: 1px solid #C3A358;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 10px;
    margin-bottom: 30px;
    padding-top: 30px;
    margin-top: 10px;
}

#opening_area .product .product-item .item {
    flex: 0 0 50%;
    max-width: 50%;
    position: relative;
}

#opening_area .product .product-item .--border .item:not(:last-child):after {
    content: "";
    border-right: 2px dotted #C3A358;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}

#opening_area .product .product-item .item .item-media {
    width: 80px;
    margin: 0 auto;
    text-align: center;
}

#opening_area .product .product-item .item .item-media + .item-ttl {
    margin-top: 10px;
}

#opening_area .product .product-item .item .item-ttl {
    color: #C3A358;
    font-size: 20px;
    font-weight: bold;
    line-height: calc(24 / 20);    
    text-align: center;
    letter-spacing: -.05em;
}

#opening_area .product .product-item .item .item-ttl.small {
    font-size: 11px;
    text-align: left;
    margin-left: 35px;
    line-height: 1;
    display: block;
}

#opening_area .product .product-item .item .item-txt {
    font-size: 14px;
    font-weight: bold;
    line-height: calc(20 / 14);
    margin-top: 15px;
    text-align: center;
    letter-spacing: -.055em;
}

#opening_area .product .product-item .product-item__price {
    text-align: center;
    background-color: #F3EDDE;
    padding: 20px;
    margin-top: 20px;
}

#opening_area .product .product-item .product-item__price .ttl {
    font-size: 17px;
    line-height: calc(21 / 17);
    letter-spacing: -.1em;
}

#opening_area .product .product-item .product-item__price .num {
    font-size: 12px;
    letter-spacing: -.015em;
    margin-bottom: 10px;
}

#opening_area .product .product-item .product-item__price .num span {
    font-size: 15px;
}

#opening_area .product .product-item .product-item__price .btn {
    width: 249px;
    margin: 0 auto;
    cursor: pointer;
}

#opening_area .product .product-item .product-item__price .btn span {
    cursor: pointer;
}

#opening_area .loved .loved-wrap {
}

#opening_area .cf {
    padding: 52px 0;
    background: rgb(199,0,11);
    background: linear-gradient(0deg, rgba(199,0,11,1) 0%, rgba(157,0,3,1) 65%, rgba(139,0,0,1) 100%);
}

#opening_area .logo {
    text-align: center;
    max-width: 327px;
    margin: 62px auto 0;
}