@charset "UTF-8";

:is(.l-footer__inner,.c-box-search__head,.c-box-search__body,.c-box-1__inner,.c-box-2__inner,.c-panel-1__body,.c-panel-dialogGift__areaTitle,.c-panel-dialogGift__areaShowcase,.c-panel-dialogGift__areaDesc,.c-list-bullet-1__item,.c-list-symbol__item,.c-list-symbol__text,.c-list-notes__item,.c-list-desc__content,.p-regionNews__inner,.p-regionNews__body,.p-list-news__disc,.p-regionFood__inner,.p-food-layout__area,.p-food-card__inner,.p-food-card__head,.p-food-card__body,.p-regionItem__inner,.p-panel-item__inner,.p-panel-item__layoutArea,.p-item-card__inner,.p-item-card__head,.p-item-card__headFlag,.p-item-card__body,.p-regionShop__head,.p-shop-cho-happy-turn,.p-regionShop__body,.p-list-shopData__title,.p-list-shopData__data,.p-regionContact__inner,.p-regionContact__head,.p-regionContact__body,.p-box-contact__inner,.p-box-contact__body,.p-list-contact__item) > :first-child{
        margin-top:0 !important;
    }

:is(.l-footer__inner,.c-box-search__head,.c-box-search__body,.c-box-1__inner,.c-box-2__inner,.c-panel-1__body,.c-panel-dialogGift__areaTitle,.c-panel-dialogGift__areaShowcase,.c-panel-dialogGift__areaDesc,.c-list-bullet-1__item,.c-list-symbol__item,.c-list-symbol__text,.c-list-notes__item,.c-list-desc__content,.p-regionNews__inner,.p-regionNews__body,.p-list-news__disc,.p-regionFood__inner,.p-food-layout__area,.p-food-card__inner,.p-food-card__head,.p-food-card__body,.p-regionItem__inner,.p-panel-item__inner,.p-panel-item__layoutArea,.p-item-card__inner,.p-item-card__head,.p-item-card__headFlag,.p-item-card__body,.p-regionShop__head,.p-shop-cho-happy-turn,.p-regionShop__body,.p-list-shopData__title,.p-list-shopData__data,.p-regionContact__inner,.p-regionContact__head,.p-regionContact__body,.p-box-contact__inner,.p-box-contact__body,.p-list-contact__item) > :last-child{
        margin-bottom:0 !important;
    }

.l-main{
    container:main / inline-size;
    position:relative;
    z-index:0;
}

.l-main__inner{
    overflow:hidden;
}

.l-pagetop{
    position:sticky;
    z-index:var(--z-index-floating-pagetop);
    bottom:0;
    pointer-events:none;
}

.l-pagetop__inner{
    position:absolute;
    right:8px;
    bottom:calc(100% + 16px);
}

.l-pagetop__button{
    display:block;
    max-width:64px;
    pointer-events:auto;
}

.l-pagetop__image{
    vertical-align:bottom;
}

.l-footer__inner{
    display:flex;
    flex-direction:column;
    gap:30px 40px;
    justify-content:center;
    padding-block:20px 15px;
}

.l-footer__areaMenu{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.l-footer__logoCompany{
    text-align:center;
}

.l-footer__logoCompanyLink{
    display:inline-flex;
    width:100%;
    max-width:64px;
    vertical-align:bottom;
}

.l-footer__logoCompanyImage{
    width:100%;
}

.l-footer__menuInfo{
    display:flex;
    gap:21px;
    justify-content:center;
    margin-block:15px;
    font-size:1.1rem;
}

.l-footer__menuInfoItem + .l-footer__menuInfoItem{
        position:relative;
    }

:is(.l-footer__menuInfoItem + .l-footer__menuInfoItem)::after{
            content:"";
            display:block;
            position:absolute;
            top:0;
            left:-11px;
            bottom:0;
            margin-block:auto;
            width:1px;
            height:1em;
            background-color:#000;
        }

.l-footer__menuInfoLink:any-link{
        -webkit-text-decoration:none;
        text-decoration:none;
        color:#000;
    }

.l-footer__buttonHappyturn{
    text-align:center;
}

.l-footer__buttonHappyturnButton{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:9em;
    min-width:300px;
    min-height:45px;
    font-weight:700;
    font-size:1.2rem;
    vertical-align:bottom;
    color:#e60012;
    background-color:#fed631;
}

.l-footer__buttonHappyturnButton:any-link{
        -webkit-text-decoration:none;
        text-decoration:none;
    }

.l-footer__buttonHappyturnImage{
    width:60px;
}

.l-footer__copyright{
    font-size:0.9rem;
    text-align:center;
}

.l-footer__copyrightText{
    display:inline-block;
    font-family:inherit;
    font-weight:inherit;
    font-style:inherit;
    font-size:inherit;
}

.p-regionNews{
    padding-inline:20px;
    background-color:#F7F4F2;
}

.p-regionNews__inner{
    padding-block:60px 80px;
}

.p-regionNews__head{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-inline:auto;
    max-width:335px;
    min-height:71px;
    background:url(../images/index_bg_heading_sp.svg) no-repeat 50% 50%;
}

.p-heading-news{
    display:flex;
    flex-direction:column;
    gap:5px;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#E60012;
}

.p-heading-news__subtitle{
    font-family:var(--font-m-plus-rounded-1c);
    font-weight:700;
    font-size:4.8rem;
    line-height:1;
    letter-spacing:0.05em;
}

.p-heading-news__subtitle [data-stroke-text]{
        --stroke-width:2px;
        --stroke-color:currentcolor;
        --bg-stroke-width:2px;
        --bg-stroke-color:currentcolor;
    }

.p-heading-news__title{
    margin-block:0;
    font-family:var(--font-maru-gothic);
    font-size:1.6rem;
    line-height:1.5;
}

.p-heading-news__title [data-stroke-text]{
        --stroke-width:0.8px;
        --stroke-color:currentcolor;
        --bg-stroke-width:0.8px;
        --bg-stroke-color:currentcolor;
    }

.p-regionNews__body{
    margin-top:40px;
}

.p-list-news{
    margin-block:0;
}

.p-list-news__item{
    border-radius:20px;
    padding:16px 18px;
    background-color:#fff;
}

.p-list-news__item + .p-list-news__item{
        margin-top:20px;
    }

.p-list-news__title{
    position:relative;
    padding-bottom:8px;
    padding-left:24px;
    font-feature-settings:"palt";
    font-weight:600;
    font-size:1.4rem;
    line-break:loose;
    word-break:keep-all;
    overflow-wrap:anywhere;
    border-bottom:1px solid #E5E3E1;
}

.p-list-news__title::before{
        content:"";
        display:block;
        position:absolute;
        top:4px;
        left:4px;
        width:14px;
        height:14px;
        background:url(../images/index_bg_p-list-news__title.svg) no-repeat 0 0 / 100%;
    }

.p-list-news__disc{
    font-weight:600;
    margin-top:8px;
    font-size:1.2rem;
}

.p-regionAbout{
    position:relative;
    background-image:conic-gradient(
        #FC6D00 25%,
        #FE7E01 25% 50%,
        #FC6D00 50% 75%,
        #FE7E01 75%
    );
    background-size:11.2vw 11.2vw;
}

.p-regionAbout__inner{
    background-image:radial-gradient(
        50% 50% at 50% 50%,
        rgb(252, 109, 0, 0) 76%,
        rgb(252, 0, 21, 0.2) 100%
    );
    overflow:hidden;
}

.p-heading-about{
    position:absolute;
    z-index:1;
    top:13.6vw;
    left:19.46667vw;
    right:15.46667vw;
}

.p-heading-about__title{
    margin-block:0;
}

.p-about-image-1-1{
    position:absolute;
    z-index:1;
    top:52.26667vw;
    left:9.06667vw;
    width:100%;
    max-width:82.66667vw;
}

.p-about-image-1-2{
    position:absolute;
    z-index:1;
    top:165.6vw;
    left:13.86667vw;
    width:100%;
    max-width:72.26667vw;
    filter:drop-shadow(0 8px 24px rgb(0, 0, 0, 0.25));
}

.p-about-image-1{
    position:absolute;
}

.p-about-image-2{
    position:absolute;
}

.p-about-image-3{
    position:absolute;
}

.p-regionFood{
    position:relative;
    border-radius:21.33333vw 21.33333vw 0 0;
    margin-top:-21.33333vw;
    background-color:#FCF9F7;
}

.p-regionFood::before{
        content:"";
        display:block;
        position:absolute;
        bottom:calc(100% - 1.33333vw);
        left:0;
        right:0;
        margin-inline:auto;
        width:24.8vw;
        height:14.93333vw;
        background-color:inherit;
        clip-path:url(#svg-clip-path-p-regionFood);
        aspect-ratio:93 / 56;
    }

.p-regionFood__inner{
    border-radius:21.33333vw 21.33333vw 0 0;
    padding-top:60px;
    overflow:hidden;
}

.p-regionFood__head{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-inline:auto;
    max-width:335px;
    min-height:71px;
    background:url(../images/index_bg_heading_sp.svg) no-repeat 50% 50%;
}

.p-heading-food{
    display:flex;
    flex-direction:column;
    gap:5px;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#E60012;
}

.p-heading-food__subtitle{
    font-family:var(--font-m-plus-rounded-1c);
    font-weight:800;
    font-size:4.8rem;
    line-height:1;
    letter-spacing:0.05em;
}

.p-heading-food__title{
    margin-block:0;
    font-family:var(--font-maru-gothic);
    font-weight:600;
    font-size:1.6rem;
    line-height:1.5;
}

.p-regionFood__body{
    padding-block:24px 80px;
    background:url(../images/index_bg_p-regionAbout__body_sp@2x.png) repeat-y 50% 0 / 100%;
}

.p-food-intro{
    padding-inline:21.33333vw;
}

.p-food-textLead{
    line-height:2;
    text-align:center;
}

.p-food-layout{
    display:grid;
    gap:20px;
    justify-content:center;
    margin-top:30px;
}

.p-food-card.of-mochi-mochi{
        padding-bottom:40px;
        margin-inline:-95px -94px;
    }

.p-food-card__head{
    position:relative;
    margin-inline:auto;
    width:fit-content;
    text-align:center;
}

.p-food-card__headFlag{
    position:absolute;
    top:max(-48px, -12.8vw);
    left:max(16px, 4.26667vw);
    max-width:min(131px, 34.93333vw);
}

.p-food-card__headFlag + .c-media-image{
        position:relative;
        z-index:1;
    }

.p-food-card__body{
    padding-inline:40px;
    margin-top:5px;
    text-align:center;
}

.p-food-card__disc{
    margin-bottom:8px;
    font-weight:600;
    font-size:1.6rem;
    word-break:keep-all;
}

.p-food-card__price{
    font-weight:600;
    font-size:3.2rem;
    letter-spacing:-0.03em;
}

.p-food-card__priceTax{
    font-size:0.5em;
}

.p-food-card__priceValue{
    padding-inline:2px;
}

.p-food-card__priceUnit{
    font-size:0.5em;
}

.p-regionItem{
    padding-inline:20px;
    background-image:url(../images/index_bg_p-regionItem_head_sp.svg), url(../images/index_bg_p-regionItem_foot_sp.svg), url(../images/index_bg_p-regionItem_body_sp.svg);
    background-position:50% 0, 50% 100%, 50% 0;
    background-repeat:repeat-x, repeat-x, repeat;
    background-color:#F3E9E5;
    overflow:hidden;
}

.p-regionItem__inner{
    padding-block:60px calc(80px + 13.33333vw);
}

.p-heading-item{
    display:flex;
    flex-direction:column;
    gap:5px;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
    text-align:center;
    color:#E60012;
}

.p-heading-item__subtitle{
    font-family:var(--font-m-plus-rounded-1c);
    font-weight:700;
    font-size:4.8rem;
    line-height:1;
    letter-spacing:0.05em;
}

.p-heading-item__subtitle [data-stroke-text]{
        --stroke-width:2px;
        --stroke-color:currentcolor;
        --bg-stroke-width:12px;
        --bg-stroke-color:#fff;
    }

.p-heading-item__title{
    margin-block:0;
    font-family:var(--font-maru-gothic);
    font-size:1.6rem;
    line-height:1.5;
}

.p-heading-item__title [data-stroke-text]{
        --stroke-width:0.8px;
        --stroke-color:currentcolor;
        --bg-stroke-width:10px;
        --bg-stroke-color:#fff;
    }

.p-panel-item{
    position:relative;
    border-radius:40px;
    margin-block:20px 24px;
    background-color:#FCF9F7;
}

.p-panel-item__inner{
    padding:48px 20px 40px;
}

.p-panel-item__haed{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:12px;
    text-align:center;
}

.p-panel-item__title{
    margin:0 auto;
    width:fit-content;
}

.p-panel-item__title.of-cho-happy-turn{
        max-width:164px;
    }

.p-panel-item__text{
    margin-inline:auto;
    width:fit-content;
    font-size:1.2rem;
}

.p-panel-item__layout{
    display:flex;
    flex-wrap:wrap;
    gap:60px;
    justify-content:center;
    margin-block:48px;
    text-align:center;
}

.p-panel-item__layoutArea{
    flex-grow:1;
    flex-basis:100%;
}

.p-item-decoration-1, .p-item-decoration-2, .p-item-decoration-3, .p-item-decoration-4{
    position:absolute;
    pointer-events:none;
}

:is(.p-item-decoration-1,.p-item-decoration-2,.p-item-decoration-3,.p-item-decoration-4)  > svg{
        width:100%;
        height:auto;
    }

.p-item-decoration-1{
    top:-69px;
    left:-36px;
    max-width:135px;
}

.p-item-decoration-2{
    top:-115px;
    right:-20px;
    max-width:116px;
}

.p-item-decoration-3{
    left:-50px;
    bottom:4px;
    max-width:118px;
}

.p-item-decoration-4{
    right:-66px;
    bottom:-170px;
    max-width:185px;
}

.p-item-card{
    display:inline-flex;
    position:relative;
}

.p-panel-item__layoutArea:not(.of-pc-full) .p-item-card{
        max-width:295px;
    }

.p-item-card__inner{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.p-item-card__head{
    position:relative;
}

.p-item-card__head .c-media-image__viewport{
        border-radius:20px;
        overflow:hidden;
    }

.p-item-card__head .c-media-image__image{
        width:100%;
    }

.p-item-card__headFlag{
    position:absolute;
    top:min(-27px, -3.58566%);
    left:-14px;
    width:100%;
    max-width:62px;
}

.p-panel-item__layoutArea.of-pc-full .p-item-card__headFlag{
        top:-27px;
    }

.p-item-card__headFlag:has([src*="index_img_p-item-card_new.svg"]){
        top:min(-14px, -1.85923%);
        left:-20px;
        max-width:77px;
    }

.p-panel-item__layoutArea.of-pc-full .p-item-card__headFlag:has([src*="index_img_p-item-card_new.svg"]){
            top:-8px;
        }

.p-item-card__body{
    text-align:center;
}

.p-item-card__title{
    display:block;
    margin-bottom:12px;
    font-weight:600;
    font-size:1.8rem;
    word-break:keep-all;
}

.p-item-card__disc{
    margin-bottom:16px;
    font-weight:600;
    font-size:1.4rem;
    word-break:keep-all;
}

.p-item-card__discAccent{
    position:relative;
}

.p-item-card__discAccent::before{
        content:"";
        display:block;
        position:absolute;
        left:0;
        right:0;
        top:-0.5em;
        border-radius:50%;
        margin-inline:auto;
        width:0.214em;
        height:0.214em;
        background-color:currentcolor;
    }

.p-item-card__detail{
    font-size:1rem;
    word-break:keep-all;
}

.p-item-card__price{
    font-weight:600;
    font-size:2.8rem;
    letter-spacing:-0.03em;
}

.p-item-card__priceTax{
    font-size:0.5em;
}

.p-item-card__priceValue{
    padding-inline:2px;
}

.p-item-card__priceUnit{
    font-size:0.5em;
}

.p-item-card__list{
    --font-size:12;
    --marker-size:4;

    border-radius:8px;
    padding:8px;
    margin-block:16px;
    font-weight:600;
    font-size:calc(var(--font-size) / 10rem);
    background-color:#EAE7E6;
}

.p-item-card__list  > li{
        position:relative;
        padding-left:1em;
        text-align:left;
    }

:is(.p-item-card__list > li)::before{
            content:"";
            display:block;
            position:absolute;
            top:calc(7/var(--font-size)*1em);
            left:calc(2/var(--font-size)*1em);
            border-radius:50%;
            width:calc(var(--marker-size)/var(--font-size)*1em);
            height:calc(var(--marker-size)/var(--font-size)*1em);
            background-color:currentcolor;
        }

.p-regionShop{
    scroll-margin-top:13.33333vw;
    background-color:#FCF9F7;
}

.p-regionShop__inner{
    display:grid;
    gap:48px;
    padding-bottom:80px;
}

.p-regionShop__head{
    position:relative;
    padding-top:10.66667vw;
    margin-top:-13.33333vw;
    overflow:hidden;
}

.p-regionShop__headText{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:0;
    left:0;
    border-radius:0 42.66667vw 42.66667vw 0;
    padding-right:3.46667vw;
    width:100%;
    max-width:48%;
    text-align:center;
    color:#fff;
    background-color:#E60012;
    aspect-ratio:180 / 160;
}

.p-heading-shop{
    display:inline-flex;
    flex-direction:column;
    gap:10px;
    align-items:center;
    justify-content:center;
}

.p-heading-shop__subtitle{
    font-family:var(--font-m-plus-rounded-1c);
    font-weight:700;
    font-size:3.6rem;
    line-height:1;
}

.p-heading-shop__subtitle [data-stroke-text]{
        --stroke-width:1.4px;
        --stroke-color:currentcolor;
        --bg-stroke-width:1.4px;
        --bg-stroke-color:currentcolor;
    }

.p-heading-shop__title{
    margin-block:0;
    font-family:var(--font-maru-gothic);
    font-size:1.4rem;
    line-height:1;
}

.p-heading-shop__title [data-stroke-text]{
        --stroke-width:0.6px;
        --stroke-color:currentcolor;
        --bg-stroke-width:0.6px;
        --bg-stroke-color:currentcolor;
    }

.p-regionShop__headImage{
    border-radius:42.66667vw 0 0 42.66667vw;
    margin-left:auto;
    max-width:68%;
    aspect-ratio:255 / 160;
    overflow:hidden;
}

.p-regionShop__body{
    padding-inline:40px;
}

.p-shop-cho-happy-turn{
    margin-inline:auto;
    max-width:164px;
}

.p-list-shopData{
    margin:28px auto;
    width:fit-content;
    font-weight:600;
    font-size:1.4rem;
    line-height:1.5;
    color:#333;
}

.p-list-shopData__item{
    border-top:1px solid #D9D9D9;
    border-bottom:1px solid #D9D9D9;
    padding-block:12px;
}

.p-list-shopData__item + .p-list-shopData__item{
        margin-top:-1px;
    }

.p-list-shopData__title{
    position:relative;
    padding-left:24px;
    margin-bottom:4px;
}

.p-list-shopData__title::before{
        content:"";
        display:block;
        position:absolute;
        top:4px;
        left:4px;
        width:14px;
        height:14px;
        background:url(../images/index_bg_p-list-shopData__title.svg) no-repeat 0 0 / 100%;
    }

.p-list-shopData__data{
    padding-left:24px;
    word-break:keep-all;
}

.p-regionContact{
    padding-inline:20px;
    background-color:#FE7E01;
}

.p-regionContact__inner{
    padding-block:60px 80px;
}

.p-regionContact__head{
    margin-inline:auto;
    max-width:295px;
}

.p-heading-contact{
    font-family:var(--font-m-plus-rounded-1c);
    font-weight:700;
    font-size:3.6rem;
    line-height:1;
    text-align:center;
    letter-spacing:0.05em;
    color:#fff;
    transform:translateY(5px);
}

.p-heading-contact [data-stroke-text]{
        --stroke-width:1.4px;
        --stroke-color:currentcolor;
        --bg-stroke-width:1.4px;
        --bg-stroke-color:currentcolor;
    }

.p-regionContact__body{
    position:relative;
    margin-inline:auto;
    max-width:295px;
}

.p-box-contact{
    border-radius:40px;
    border:4px solid #E60012;
    background-color:#fff;
}

.p-box-contact__inner{
    padding:22px 20px;
}

.p-box-contact__head{
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9em;
    padding:3px 5px;
    margin-bottom:16px;
    min-height:32px;
    font-weight:600;
    font-size:1.6rem;
    line-height:1.5;
    text-align:center;
    line-break:loose;
    text-wrap:balance;
    word-break:auto-phrase;
    overflow-wrap:anywhere;
    color:#fff;
    background-color:#E60012;
}

.p-list-contact{
    margin-top:16px;
    text-align:center;
}

.p-list-contact__item + .p-list-contact__item{
        margin-top:16px;
    }

.p-list-contact__title{
    display:block;
    margin:5px auto;
    width:fit-content;
    font-weight:600;
    font-size:1.6rem;
    line-height:1.5;
    white-space:nowrap;
    color:#333;
}

.p-list-contact__title.of-tel,.p-list-contact__title.of-form{
        position:relative;
    }

:is(.p-list-contact__title.of-tel,.p-list-contact__title.of-form)::before{
            content:"";
            display:block;
            position:absolute;
            left:0;
            right:0;
            margin-block:auto;
            background:no-repeat 0 50% / 100%;
        }

.p-list-contact__title.of-tel{
        padding-left:16px;
    }

.p-list-contact__title.of-tel:any-link{
            color:inherit;
        }

.p-list-contact__title.of-tel::before{
            top:4px;
            width:12px;
            height:16px;
            background-image:url(../images/index_bg_p-list-contact__title-of-tel.svg);
        }

.p-list-contact__title.of-form{
        padding-left:22px;
    }

.p-list-contact__title.of-form::before{
            top:5px;
            width:16px;
            height:12px;
            background-image:url(../images/index_bg_p-list-contact__title-of-form.svg);
        }

.p-list-contact__text{
    display:block;
    font-weight:600;
    font-size:1.2rem;
    line-height:1.5;
}

.p-list-contact__text:any-link{
        color:#001EFF;
    }

.c-text-group{
    line-break:loose;
    text-wrap:pretty;
    word-break:break-all;
}

.c-text-group + .c-text-group{
        margin-top:1em;
    }

.p-text-grid{
    margin-block:1em;
}

.p-text-grid__row + .p-text-grid__row{
        margin-top:5px;
    }

.p-text-grid__cell.of-pc-marker{
        display:block;
    }

.c-list-bullet-1{
    --font-size:12;

    display:flex;
    margin-block:1em;
}

.c-list-bullet-1.of-center{
        justify-content:center;
    }

.c-list-bullet-1__list{
    margin-block:0;
    font-size:calc(var(--font-size) / 10rem);
    line-break:loose;
    text-wrap:pretty;
    word-break:break-all;
}

.c-list-bullet-1__item{
    position:relative;
    padding-left:1em;
}

.c-list-bullet-1__item::before{
        content:"";
        display:block;
        position:absolute;
        top:0.625em;
        left:0.4em;
        border-radius:50%;
        width:calc(3/var(--font-size)*1em);
        height:calc(3/var(--font-size)*1em);
        background-color:currentcolor;
    }

.c-list-bullet-1__item  > [class*="c-list-"]{
        padding-top:calc(5/var(--font-size)*1em);
    }

.c-list-symbol{
    display:grid;
    margin-block:20px;
    gap:5px;
    grid-template-columns:max-content 1fr;
    line-break:loose;
    text-wrap:pretty;
    word-break:break-all;
}

.c-list-symbol__item .c-list-symbol{
        grid-column:2 / 3;
    }

[class*="c-list-"] .c-list-symbol{
        margin:0;
    }

.c-list-symbol__item{
    display:grid;
    gap:5px;
    grid-column:1 / 3;
    grid-template-columns:subgrid;
}

.c-list-symbol__item > :not(.c-list-symbol__inner){
        grid-column:2 / 3;
    }

.c-list-symbol__inner{
    display:grid;
    gap:0 0.2em;
    grid-column:1 / 3;
    grid-template-columns:subgrid;
}

.c-list-symbol__inner  > :not(.c-list-symbol__mark,.c-list-symbol__text){
        grid-column:1 / 3;
        margin-block:0 !important;
    }

.c-list-symbol__inner + *{
        margin-top:0 !important;
    }

.c-list-symbol__mark{
    grid-column:1 / 2;
    text-align:right;
}

.c-list-symbol__text{
    grid-column:2 / 3;
}

.c-list-notes{
    --margin-top:10px;
    --margin-bottom:10px;

    display:flex;
    margin-block:var(--adjust-sp-margin-top, var(--margin-top)) var(--adjust-sp-margin-bottom, var(--margin-bottom));
    line-break:loose;
    text-wrap:pretty;
    word-break:break-all;
}

.c-list-notes.of-center{
        justify-content:center;
    }

.c-list-notes__list{
    --font-size:1rem;

    display:grid;
    grid-template-columns:max-content 1fr;
    margin-block:0;
    text-align:left;
    font-size:var(--adjust-sp-font-size, var(--font-size));
}

.c-list-notes__item{
    display:grid;
    gap:5px;
    grid-column:1 / 3;
    grid-template-columns:subgrid;
}

.c-list-notes__item > :not(.c-list-notes__inner){
        grid-column:2 / 3;
    }

.c-list-notes__inner{
    display:grid;
    gap:0;
    grid-column:1 / 3;
    grid-template-columns:subgrid;
}

.c-list-notes__inner + *{
        margin-top:0 !important;
    }

.c-list-notes__mark{
    grid-column:1 / 2;
}

.c-list-notes__text{
    grid-column:2 / 3;
    font-size:inherit;
}

.c-list-desc{
    margin-top:40px;
    line-break:loose;
    text-wrap:pretty;
    word-break:break-all;
}

.c-list-desc__item + .c-list-desc__item{
        margin-top:40px;
    }

.c-list-desc__title{
    border-radius:4px;
    padding:2px 7px 3px;
    width:fit-content;
    font-weight:700;
    color:#fff;
    background-color:#7F441E;
}

.c-list-desc__content{
    margin-top:15px;
}

:is(h1,h2,h3,h4,h5,h6,p):has(.c-media-image){
        line-height:1;
    }

.c-media-image{
    display:block;
}

:is(h1,h2,h3,h4,h5,h6,p) .c-media-image,.c-media-image:is(h1,h2,h3,h4,h5,h6,p){
        line-height:1;
    }

.c-media-image:has(.image-load-failed){
        display:none;
    }

.c-media-image.of-objectFit-cover .c-media-image__viewport{
        overflow:hidden;
    }

.c-media-image__image{
    vertical-align:bottom;
}

.c-media-image.of-objectFit-cover .c-media-image__image{
        width:100%;
        height:100%;
        object-fit:cover;
    }

.c-media-iframe{
    text-align:center;
}

.c-media-iframe__inner{
    display:inline-flex;
    flex-direction:column-reverse;
    row-gap:5px;
    vertical-align:bottom;
}

.c-media-iframe.of-full .c-media-iframe__inner{
        width:100%;
    }

.c-media-iframe__iframe{
    display:inline-block;
    max-width:100%;
    aspect-ratio:560 / 315;
}

.c-media-iframe.of-full .c-media-iframe__iframe{
        width:100%;
        height:100%;
    }

.c-button-1{
    margin-block:28px;
    text-align:center;
    color:#fff;
}

.c-button-1__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    padding:5px 31px;
    min-height:48px;
    border-radius:9em;
    font-weight:600;
    font-size:1.6rem;
    line-height:1.5;
    background-color:#E60012;
}

.c-button-1__button:any-link{
        -webkit-text-decoration:none;
        text-decoration:none;
        color:inherit;
    }

.c-button-1__button::after{
        content:"";
        display:block;
        position:absolute;
        top:0;
        right:23px;
        bottom:0;
        margin-block:auto;
        width:8px;
        height:12px;
        background-color:#fff;
        clip-path:polygon(100% 56.25%, 100% 43.75%, 12.5% 0%, 0% 8.33%, 84.38% 50%, 0% 91.67%, 12.5% 100%);
    }

.c-button-1__label{
    padding-inline:60px;
}

[data-stroke-text]{
    --stroke-width:0.6px;
    --stroke-color:currentcolor;
    --bg-stroke-width:3.4px;
    --bg-stroke-color:#fff;

    position:relative;
    z-index:0;
    display:inline-block;
    -webkit-text-stroke:var(--stroke-width) var(--stroke-color);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

[data-stroke-text]::after{
        content:attr(data-stroke-text);
        position:absolute;
        top:0;
        left:0;
        z-index:-1;
        -webkit-text-stroke:var(--bg-stroke-width) var(--bg-stroke-color);
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        white-space:nowrap;
    }

.u-break-text{
    display:inline-block;
}

.u-break-autoPhrase{
    word-break:auto-phrase;
}

.u-break-keepAll{
    word-break:keep-all;
}

.u-align-l{
    text-align:left !important;
}

.u-align-c{
    text-align:center !important;
}

.u-align-r{
    text-align:right !important;
}

.u-w-100per{
    width:100% !important;
}

.u-animation-star-p1, .u-animation-star-p2, .u-animation-star-p3{
  transform-origin:center;
}

.u-animation-star-p1{
  animation:twinkle-anim 1.7s infinite ease-in-out;
}

.u-animation-star-p2{
  animation:twinkle-anim 1.5s infinite ease-in-out;
  animation-delay:0.3s;
}

.u-animation-star-p3{
  animation:twinkle-anim 2.2s infinite ease-in-out;
  animation-delay:0.7s;
}

@media (hover: hover){
        .l-pagetop__button:any-link{
            transition:opacity 0.1s linear;
        }

        .l-pagetop__button:hover{
            opacity:0.8;
        }

    :is(.c-media-image__inner, .c-button-1__button) :is([type="button"], [role="button"], :any-link), .c-button-1__button:not(:disabled){
        transition:opacity 0.5s;
    }

        :is(:is(.c-media-image__inner,.c-button-1__button) :is([type="button"],[role="button"],:any-link),.c-button-1__button:not(:disabled)):hover{
            opacity:0.7;
        }

    :is(.l-footer__logoCompanyLink, .l-footer__menuInfoLink, .l-footer__buttonHappyturnButton):any-link{
        transition:opacity 0.3s ease-out;
    }

        :is(.l-footer__logoCompanyLink,.l-footer__menuInfoLink,.l-footer__buttonHappyturnButton):any-link:hover{
            opacity:0.75;
        }
}

@media (max-width: 768.98px){
    .u-pc-only{
        display:none !important;
    }
}

@media (min-width: 768.02px){
    .l-pagetop{
        margin-inline:auto;
        max-width:1580px;
    }

    .l-pagetop__inner{
        bottom:calc(100% + 35px);
    }

    .l-pagetop__button{
        max-width:122px;
    }
    .l-footer{
        padding-inline:20px;
    }

    .l-footer__inner{
        flex-flow:row wrap;
        align-items:center;
        justify-content:space-between;
        padding-block:20px;
        margin-inline:auto;
        max-width:1350px;
    }

    .l-footer__areaMenu{
        flex-flow:row wrap;
        gap:20px;
        align-items:center;
        margin-inline:auto;
    }


    .l-footer__areaLogo{
        gap:50px;
        padding-top:60px;
    }

    .l-footer__logoCompany{
        min-width:110px;
    }

    .l-footer__logoCompanyLink{
        max-width:110px;
    }

    .l-footer__menuInfo{
        font-size:1.4rem;
    }

    .l-footer__buttonHappyturnButton{
        gap:16px;
        min-height:60px;
        font-size:1.6rem;
    }

    .l-footer__buttonHappyturnImage{
        width:88px;
    }

    .l-footer__areaCopyright{
        margin-inline:auto;
    }

    .l-footer__copyright{
        font-size:1.4rem;
    }
    .p-regionNews__inner{
        padding-block:120px;
    }

    .p-regionNews__head{
        max-width:1080px;
        min-height:114px;
        background-image:url(../images/index_bg_heading_pc.svg);
    }

    .p-heading-news{
        gap:8px;
    }

    .p-heading-news__subtitle{
        font-size:9.6rem;
    }

        .p-heading-news__subtitle [data-stroke-text]{
            --stroke-width:4px;
            --bg-stroke-width:4px;
        }

    .p-heading-news__title{
        font-size:2.4rem;
    }

        .p-heading-news__title [data-stroke-text]{
            --stroke-width:1px;
            --bg-stroke-width:1px;
        }

    .p-regionNews__body{
        margin-top:60px;
    }

    .p-list-news{
        margin-inline:auto;
        max-width:1080px;
    }

    .p-list-news__item{
        border-radius:40px;
        padding:28px 30px;
    }

        .p-list-news__item + .p-list-news__item{
            margin-top:28px;
        }

    .p-list-news__title{
        padding-bottom:12px;
        padding-left:22px;
        font-size:1.6rem;
    }

        .p-list-news__title::before{
            top:4px;
            left:0;
            width:16px;
            height:16px;
        }

    .p-list-news__disc{
        margin-top:12px;
        font-weight:400;
        font-size:1.4rem;
        line-height:2;
    }
    .p-regionAbout{
        background-size:5vw 5vw;
    }

    .p-regionAbout__inner{
        background-image:radial-gradient(
            50% 50% at 50% 50%,
            rgb(252, 109, 0, 0) 85%,
            rgb(252, 0, 21, 0.2) 100%
        );
    }
    .p-heading-about{
        top:6.73611vw;
        left:29.72222vw;
        right:29.72222vw;
    }

    .p-about-image-1-1{
        top:28.68056vw;
        left:29.23611vw;
        max-width:41.59722vw;
    }

    .p-about-image-1-2{
        top:55.97222vw;
        left:40vw;
        max-width:38.88889vw;
    }
    .p-regionFood{
        border-radius:21.875vw 21.875vw 0 0;
        margin-top:-21.875vw;
    }

        .p-regionFood::before{
            bottom:calc(100% - 0.55556vw);
            width:10.48611vw;
            height:6.38889vw;
            aspect-ratio:151 / 92;
        }

    .p-regionFood__inner{
        border-radius:21.875vw 21.875vw 0 0;
        padding-top:120px;
    }

    .p-regionFood__head{
        max-width:1080px;
        min-height:114px;
        background-image:url(../images/index_bg_heading_pc.svg);
    }

    .p-heading-food{
        gap:8px;
    }

    .p-heading-food__subtitle{
        font-size:9.6rem;
    }

    .p-heading-food__title{
        font-size:2.4rem;
    }

    .p-regionFood__body{
        padding-block:60px 100px;
        background-image:url(../images/index_bg_p-regionAbout__body_pc@2x.png);
        background-position-y:60px;
    }

    .p-food-intro{
        padding-inline:17.36111vw;
    }
    .p-food-card__headFlag{
        top:max(-95px, -6.59722vw);
        left:max(86px, 5.97222vw);
        max-width:min(139px, 9.65278vw);
    }

    .p-food-layout{
        display:flex;
        flex-wrap:wrap;
        gap:62px 0;
        margin-inline:auto;
        max-width:1240px;
    }

    .p-food-layout__area{
        flex-grow:1;
        flex-basis:100%;
    }

        .p-food-layout__area:not(.of-full){
            max-width:calc(50% - 24px);
        }
        .p-food-card.of-mochi-mochi{
            padding-bottom:0;
            margin-inline:0;
        }

    .p-food-card__body{
        padding-inline:45px;
        padding-bottom:10px;
    }
    .p-regionItem{
        background-image:url(../images/index_bg_p-regionItem_head_pc.svg), url(../images/index_bg_p-regionItem_foot_pc.svg), url(../images/index_bg_p-regionItem_body_pc.svg);
    }

    .p-regionItem__inner{
        margin-inline:auto;
        padding:110px 20px calc(120px + 9.72222vw);
        max-width:1280px;
    }
    .p-heading-item{
        gap:8px;
        margin-bottom:60px;
    }

    .p-heading-item__subtitle{
        font-size:9.6rem;
    }

        .p-heading-item__subtitle [data-stroke-text]{
            --stroke-width:4px;
            --bg-stroke-width:18px;
        }

    .p-heading-item__title{
        font-size:2.4rem;
    }

        .p-heading-item__title [data-stroke-text]{
            --stroke-width:1px;
            --bg-stroke-width:10px;
        }
    .p-panel-item{
        border-radius:60px;
        margin:40px auto 60px;
        max-width:1240px;
    }

    .p-panel-item__inner{
        padding:60px 20px 80px;
    }
        .p-panel-item__title.of-cho-happy-turn{
            max-width:262px;
        }

    .p-panel-item__text{
        font-size:1.6rem;
    }

    .p-panel-item__layout{
        gap:80px 48px;
        margin:60px auto;
        max-width:1080px;
    }
        .p-panel-item__layoutArea:not(.of-pc-full){
            max-width:calc(50% - 24px);
        }

.p-item-decoration-1{
        top:max(-111px, -7.70833vw);
        left:max(-134px, -9.30556vw);
        max-width:min(276px, 19.16667vw);
}

.p-item-decoration-2{
        top:auto;
        right:min(90px, 6.25vw);
        bottom:min(150px, 10.41667vw);
        max-width:min(238px, 16.52778vw);
}

.p-item-decoration-3{
        left:min(71px, 4.93056vw);
        bottom:min(152px, 10.55556vw);
        max-width:min(176px, 12.22222vw);
}

.p-item-decoration-4{
        right:max(-21px, -1.45833vw);
        bottom:max(-73px, -5.06944vw);
        max-width:min(378px, 26.25vw);
}
    .p-item-card{
        max-width:928px;
    }

        .p-panel-item__layoutArea:not(.of-pc-full) .p-item-card{
            max-width:516px;
        }
        .p-item-card__head .c-media-image__viewport{
            border-radius:40px;
        }

    .p-item-card__headFlag{
        top:max(-43px, -2.98611vw);
        left:-23px;
        max-width:min(106px, 7.36111vw);
    }

        .p-panel-item__layoutArea.of-pc-full .p-item-card__headFlag{
            top:-43px;
        }

        .p-item-card__headFlag:has([src*="index_img_p-item-card_new.svg"]){
            top:max(-23px, -1.59722vw);
            left:-33px;
            max-width:min(129px, 8.95833vw);
        }

            .p-panel-item__layoutArea.of-pc-full .p-item-card__headFlag:has([src*="index_img_p-item-card_new.svg"]){
                top:-12px;
            }

    .p-item-card__title{
        font-size:2.4rem;
    }

    .p-item-card__disc{
        font-size:1.6rem;
    }

    .p-item-card__detail{
        font-size:1.2rem;
    }

    .p-item-card__price{
        font-size:3.2rem;
    }

    .p-item-card__list{
        --font-size:16;
        --marker-size:4;

        border-radius:16px;
    }
            :is(.p-item-card__list > li)::before{
                top:calc(10/var(--font-size)*1em);
                left:calc(4/var(--font-size)*1em);
            }
    .p-regionShop{
        scroll-margin-top:9.72222vw;
    }

    .p-regionShop__inner{
        gap:80px;
        padding-bottom:120px;
    }

    .p-regionShop__head{
        padding-top:8.33333vw;
        margin-top:-9.72222vw;
    }

    .p-regionShop__headText{
        top:0;
        border-radius:0 27.77778vw 27.77778vw 0;
        padding-right:2.63889vw;
        max-width:40vw;
        aspect-ratio:576 / 400;
    }

    .p-heading-shop{
        align-items:flex-start;
    }

    .p-heading-shop__subtitle{
        font-size:7.2rem;
    }

        .p-heading-shop__subtitle [data-stroke-text]{
            --stroke-width:3px;
            --bg-stroke-width:3px;
        }

    .p-heading-shop__title{
        font-size:2rem;
    }

        .p-heading-shop__title [data-stroke-text]{
            --stroke-width:0.7px;
            --bg-stroke-width:0.7px;
        }

    .p-regionShop__headImage{
        border-radius:27.77778vw 0 0 27.77778vw;
        max-width:73.88889vw;
        aspect-ratio:1064 / 400;
    }

.p-shop-cho-happy-turn{
        max-width:384px;
}
    .p-list-shopData{
        display:table;
        border-top:2px solid #D9D9D9;
        margin-block:80px 40px;
        width:auto;
        max-width:616px;
        font-size:1.6rem;
    }

    .p-list-shopData__item{
        display:table-row;
    }

    .p-list-shopData__title{
        display:table-cell;
        border-bottom:2px solid #D9D9D9;
        padding:20px 40px 20px 26px;
        white-space:nowrap;
    }

        .p-list-shopData__title::before{
            top:24px;
            width:16px;
            height:16px;
        }

    .p-list-shopData__data{
        display:table-cell;
        border-bottom:2px solid #D9D9D9;
        padding:20px 0;
    }
    .p-regionContact__inner{
        padding-block:120px;
    }

    .p-regionContact__head, .p-regionContact__body{
        max-width:800px;
    }

    .p-heading-contact{
        font-size:7.2rem;
        letter-spacing:0.08em;
        transform:translateY(11px);
    }

        .p-heading-contact [data-stroke-text]{
            --stroke-width:4px;
            --bg-stroke-width:4px;
        }
    .p-box-contact{
        border-radius:18em;
        border-width:7px;
    }

    .p-box-contact__inner{
        padding:70px 80px 80px;
    }

    .p-box-contact__head{
        padding:4px 10px;
        margin-bottom:28px;
        min-height:38px;
        font-size:2rem;
    }

    .p-list-contact{
        display:flex;
        flex-wrap:wrap;
        gap:2px;
        margin-top:28px;
        background-color:#D9D9D9;

    }

    .p-list-contact__item{
        flex:1;
        padding:20px;
        background-color:#fff;
    }

        .p-list-contact__item + .p-list-contact__item{
            margin-top:0;
        }

    .p-list-contact__title{
        margin-block:16px;
        font-size:2.4rem;
    }

        .p-list-contact__title.of-tel{
            padding-left:26px;
        }

            .p-list-contact__title.of-tel::before{
                top:6px;
                width:18px;
                height:24px;
            }

        .p-list-contact__title.of-form{
            padding-left:38px;
        }

            .p-list-contact__title.of-form::before{
                top:7px;
                width:27px;
                height:20px;
            }

    .p-list-contact__text{
        font-size:1.4rem;
    }

.p-text-grid__cell.of-pc-marker{
            display:inline-block;
            width:var(--marker-width, 1.5em);
    }

.c-list-bullet-1{
        --font-size:14;
}
    .c-list-notes{
        --margin-top:10px;
        --margin-bottom:10px;

        margin-block:var(--adjust-pc-margin-top, var(--margin-top)) var(--adjust-pc-margin-bottom, var(--margin-bottom));
    }

    .c-list-notes__list{
        --font-size:1.2rem;

        font-size:var(--adjust-pc-font-size, var(--font-size));
    }
    .c-button-1{
        margin-block:40px;
    }

    .c-button-1__button{
        padding:5px 34px;
        min-height:60px;
        font-size:2rem;
    }

        .c-button-1__button::after{
            right:24px;
            width:10px;
            height:14px;
        }

    .c-button-1__label{
        padding-inline:100px;
    }
    .u-sp-only{
        display:none !important;
    }
}

@media (scripting: enabled){
    .js-scrollEffects-zoomHeading{
        --transition-base:0.6s;

        scale:0;
        transition:scale var(--transition-base);
    }

        .js-scrollEffects-zoomHeading.is-show{
            animation:zoom-heading var(--transition-base) ease-out forwards;
        }

    .js-scrollEffects-regionAboutTurn{
        transform-origin:bottom center;
    }

        .js-scrollEffects-regionAboutTurn.is-show{
            animation:region-about-turn 2s infinite ease-in-out;
        }

    .js-scrollEffects-regionAboutFadein{
        --animation-delay:1s;
        --animation-direction:0.5s;

        opacity:0;
    }

        .js-scrollEffects-regionAboutFadein.is-show{
            animation:var(--animation-delay) var(--animation-direction) ease forwards scroll-effect-fadein;
        }
}
