@charset "utf-8";

/*--フォント適用確認--*/
/*-
.somio-half    { background: rgba(0,0,255,.06); }
.somio-halfnum { background: rgba(0,128,0,.06); }
.somio-zenkaku { background: rgba(255,0,0,.06); }
-*/

body {
    line-height: 1.75;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 14px;
    }
}

p.cs {
    font-size: 1.4em;
}

.fv-slide {
    position: relative;
}

.fv-slide>.text_wrap {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 24px;
    color: #fff;
    transform: translate(-90%, -50%);
    text-align: left;
}

.fv-slide>.text_wrap>.title {
    font-size: 1.15em;
    margin-bottom: .25em;
}

.fv-slide>.text_wrap>.note {
    font-size: 0.6em;
}

.fv-slide>.text_wrap>a.btn {
    font-size: 0.68em;
}

.slick-slide img {
    width: 100%;
}

.slick-slide a:hover img {
    opacity: 1;
}

#fv-slider .slick-dots li button:before {
    display: none;
}

#fv-slider .slick-dots li {
    width: 6em;
    height: 5px;
    background: #FFF;
    opacity: 0.5;
}

#fv-slider .slick-dots li.slick-active {
    opacity: 1;
}

#fv-slider .slick-dots {
    bottom: 3em;
}

div.fv_slider_wrap>div#fv-slider {
    margin-bottom: 0;
}

div.fv_slider_wrap>div#fv-slider>div.fv-slide {}

div.fv_slider_wrap>div#fv-slider>div.fv-slide>img {
    width: 100%;
}

div.fv_slider_wrap>div#fv-slider>div.fv-slide>div.text_wrap {}

div.fv_slider_wrap>div#fv-slider>div.fv-slide>div.text_wrap>div.title {}

div.fv_slider_wrap>div#fv-slider>div.fv-slide>div.text_wrap>div.note {}

div.fv_slider_wrap>div#fv-slider>div.fv-slide>div.text_wrap>a.btn {}


@media screen and (max-width: 768px) {

    .fv-slide>.text_wrap {
        position: relative;
        transform: translate(0, 0);
        font-size: 14px;
        padding: 1em 0 3em;
        background: #00000052;
        text-align: center;
    }

    #fv-slider .slick-dots {
        bottom: 0;
    }

    #fv-slider .slick-dots li {
        width: 3em;
        height: 2px;
        margin: 2px;
    }

}


.fv_catch {
    width: 35%;
    margin: 30px auto 0;
    max-width: 700px;
}

.fv_catch>img {
    width: 100%;
}

@media screen and (max-width: 768px) {

    .fv_catch {
        width: 95%;
    }

}

#contents {
    overflow-x: hidden;
}

/* 横いっぱい化ユーティリティ */
.full-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.full_w {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

#main-column h2 {
    font-size: 32px;
    letter-spacing: 0 !important;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    #main-column h2 {
        font-size: 24px !important;
        margin-bottom: .5em;
    }
}

.pfx {
    position: relative;
    height: var(--h, 400px);
    overflow: hidden;
    isolation: isolate;
}

.pfx__media {
    position: absolute;
    inset: 0 0 -30% 0;
}

.pfx__media img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    /* 初期位置。JSで上書き */
    min-width: 100%;
    min-height: 130%;
    object-fit: cover;
    will-change: transform;
}


@media screen and (max-width: 768px) {

    .pfx {
        height: 300px !important;
    }

    .pfx__media img {
        object-fit: cover;
        height: 100vh;
    }

    body.top_page .pfx__media img {
        height: auto;
        object-fit: contain;
    }

    body.top_page section.pfx.full-bleed>div.note {
        display: none;
    }

}

body.top_page .newItem>h2 {
    display: none;
}

.newItem .column-set>section.column4 {
    width: calc((100% - 4%*2)/3);
}

.newItem .column-set>section.column4:nth-child(3n) {
    margin-right: 0;
}

.column-set h3 {
    text-align: center;
}

.column-set p.price {
    text-align: center;
}

body.top_page .column-set>:where(.column4, .column5) {
    width: calc((100% - 4%*2)/3);
    margin: 0 4% 20px 0;
}

body.top_page .column-set>:where(.column4, .column5):nth-child(3n) {
    margin-right: 0;
}

body.top_page div#main-column :where(.column4, .column5)>p.price {
    padding-bottom: 1em;
}

.column-set span.item-list-span-img>img {
    aspect-ratio: 1;
    object-fit: contain;
}

.pickup {
    margin-bottom: 0 !important;
}

body.top_page .column-set {
    display: flex;
    align-items: stretch;
}

@media screen and (max-width: 768px) {


    .newItem .column-set>section.column4 {
        width: calc((100% - 2% * 1) / 2);
    }

    .column4:nth-child(2n+1), .column5:nth-child(2n+1) {
        clear: none;
    }

    .column4:nth-child(2n), .column5:nth-child(2n), body.top_page .column-set>:where(.column4, .column5) {
        margin: 0 2% 10px 0;
        width: calc((100% - 2% * 1) / 2);
    }

    body.top_page div#main-column :where(.column4, .column5)>h3 {
        padding-bottom: 0;
    }

    body.top_page .column-set>:where(.column4, .column5):nth-child(2) {
        margin-right: 0;
    }

    body.top_page .column-set>:where(.column4, .column5):nth-child(3) {
        display: none;
    }

    body.top_page #main-column section h2 {
        font-size: 18px !important;
    }

    body.top_page #main-column section.product_category h2 {
        font-size: 18px !important;
    }

    body.top_page div.content_block>._content div.__txt>a.btn {
        font-size: 10px;
    }

    body.top_page div.content_block>._content div.__txt>div.___txt {
        margin-bottom: 0;
        font-size: 13px;
    }

}

/*============================
.line_registration
============================*/

.line_registration {
    display: flex;
    align-items: center;
    border: solid 1px #484848;
    font-size: 24px;
    text-align: center;
    padding: .5em 1em;
    border-radius: 3em;
}

.line_registration>h3 {
    width: 25%;
    border-right: solid 1px #484848;
    font-weight: 400;
}

.line_registration>p {
    width: 75%;
}

@media screen and (max-width: 768px) {

    .line_registration {
        font-size: 12px;
        padding: 1em .5em;
    }

    .line_registration>h3 {
        width: 20%;
        border-right: solid 1px #484848;
        font-weight: 400;
        font-size: 11px;
    }

    .line_registration>p {
        width: 75%;
        margin: auto;
        text-align: left;
        font-size: 11px;
    }

}


/*============================
#choice
============================*/

section#choice {
    margin: 50px auto 100px;
}

section#choice>h2 {
    margin-bottom: 0;
}

#choice>div.btn_list {
    display: flex;
    gap: 1em;
    justify-content: center;
}

#choice>div.btn_list>a.btn {
    margin: 0;
    font-size: 27px;
    width: 50%;
}

@media screen and (max-width: 768px) {

    section#choice {
        margin-top: 20px;
        margin-bottom: 30px;
    }

    #choice>div.btn_list {
        flex-direction: column;
        gap: .5em;
    }

    #choice>div.btn_list>a.btn {
        font-size: 18px;
        width: 100%;
    }

}

/*============================
.product_category
============================*/

section.product_category {
    padding-bottom: 80px;
}

div.content_block {
    display: flex;
    justify-content: space-between;
}

body.top_page .content_block:not(:first-child) {
    margin-top: 100px;
}

body.top_page section#shop {
    margin-bottom: 100px;
}

div.content_block>h2._title {
    width: 30%;
    color: #484848 !important;
    font-size: 40px !important;
    letter-spacing: -0.01em !important;
    font-weight: 400;
}

.content_page.omiso div.content_block>h2._title {
    font-size: 26px !important;
}

div.content_block>._content {
    width: 60%;
}

div.content_block ul._content {
    display: flex;
    flex-direction: column;
    gap: 100px;
}

div.content_block>._content div.__txt>div.catch {
    color: #484848;
    font-size: 30px;
    margin-bottom: .5em;
}

div.content_block>._content div.__txt>div.___txt {
    font-size: 18px;
    margin-bottom: 2em;
}

div.content_block>._content div.__txt>a.btn {
    margin-left: 0;
    font-size: 16px;
}

div.content_block>._content img {
    margin-bottom: 2em;
}


div.content_block:first-child {
    margin-top: 100px;
}

div.content_block+.content_block {
    margin-top: 100px;
}

@media screen and (max-width: 768px) {

    body.top_page .content_block:not(:first-child) {
        margin-top: 1em;
    }

    section.product_category {
        padding-bottom: 40px;
    }

    div.content_block {
        flex-direction: column;
    }

    div.content_block>h2._title {
        width: 100%;
    }

    div.content_block>._content {
        width: 100%;
    }

    div.content_block>._content div.__txt>div.catch {
        font-size: 18px;
    }

    div.content_block>._content div.__txt>div.___txt {
        font-size: 14px;
    }

    div.content_block>._content div.__txt>a.btn {
        font-size: 14px;
    }

    div.content_block+.content_block, div.content_block:first-child {
        margin-top: 50px;
    }

    body.top_page div.content_block {
        margin-top: 1em;
    }

    #main-column .content_block>h2._title {
        margin: 0;
    }

    body.top_page section#shop {
        margin-top: 60px;
        margin-bottom: 60px;
    }

}

/*============================
#info
============================*/
section#info {
    background: #f5faf9;
    padding: 30px 0 60px;
}

section#info>.inner {
    max-width: 1280px;
    width: 95%;
    margin: auto;
}

section#info>.inner>h2 {
    margin-bottom: 0;
}

section#info>.inner>ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
}

section#info>.inner>ul>li {
    width: calc((100% - 2em*1)/2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    position: relative;
}

section#info>.inner>ul>li>a {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: 3;
}

section#info>.inner>ul>li>img {
    width: 21%;
}

section#info>.inner>ul>li>div.note {
    width: 80%;
    padding-left: 1em;
}

section#info>.inner>ul>li>div.note>div.date {
    font-size: 0.9em;
}



section#info>.inner>a.btn {
    border: solid 1px #fff;
    font-size: 18px;
    margin-top: 2em;
}

section.pfx.full-bleed>div.note {
    position: absolute;
    font-size: 48px;
    top: 50%;
    transform: translate(18%, -50%);
    margin: auto;
    left: 0;
    right: 0;
    line-height: 1.4;
}

section.top_concept_pfx {
    margin-bottom: 0;
}





section.top_concept>div.content_block>._content div.__txt>div.___txt>strong {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
}

section.top_concept>div.content_block>._content div.__txt>a.btn {
    /*-margin-left: 2em !important;-*/
    display: block;
}



section.top_concept>div.content_block>._content div.__txt>div.link {
    display: flex;
    align-items: center;
    gap: 2em;
    font-size: 25px;
}

section.top_concept>div.content_block>._content div.__txt>div.link>a:nth-child(2) {
    text-decoration: underline;
}


@media screen and (max-width: 768px) {

    section#info>.inner>ul {
        flex-direction: column;
        margin: auto;
    }

    section#info>.inner>ul>li {
        width: 100%;
        font-size: 14px;
    }

    section#info>.inner>a.btn {
        font-size: 14px;
    }

    .pfx__media img {
        object-fit: cover;
        height: 100vh;
    }

    section.pfx.full-bleed>div.note {
        color: #fff;
        font-size: 28px;
        transform: translate(0, -50%);
        text-align: right;
    }

    section.top_concept>div.content_block>._content div.__txt>a.btn {
        margin-left: 0 !important;
    }

    section.top_concept>div.content_block>._content div.__txt>div.___txt>strong {
        font-size: 24px;
    }

    section.top_concept>div.content_block>._content div.__txt>div.link {
        font-size: 18px;
        gap: 1em;
    }

    section.pfx.full-bleed.top_concept>div.note {
        font-size: 23px;
        text-align: left;
        color: inherit;
        top: 19%;
        transform: translate(0, 0);
        padding-left: .5em;
    }

    section#info>.inner>ul>li>div.note {
        font-size: 13px;
        line-height: 1.4;
    }

    body.top_page section.pfx.full-bleed {
        height: auto !important;
        aspect-ratio: 768/576;
    }

    body.top_page .pfx__media {
        inset: 0 0 0 0;
    }

    body.top_page .pfx__media img {
        min-height: 100%;
    }

    body.top_page div.content_block+img.full_w.is_sp {
        margin-top: 3em;
    }

}

/*============================
#top_story
============================*/


section.pfx.full-bleed.top_story>div.note {
    color: #fff;
    font-size: 38px;
    transform: translate(34%, -50%);
    line-height: 2;
    letter-spacing: 0.05em;
}

section#top_story>div.content_block>._content div.__txt>div.___txt {
    font-size: 16px;
}

section#top_story>div.content_block>._content div.__txt>img {
    margin-bottom: 2em;
}



@media screen and (max-width: 768px) {

    section.pfx.full-bleed.top_story>div.note {
        font-size: 18px;
        margin-right: 1em;
    }

    section#top_story>div.content_block>._content div.__txt>div.___txt {
        margin-bottom: 2em;
    }

    section.top_concept>div.content_block>._content div.__txt>div.___txt>strong {
        font-size: 21px;
    }

    section.top_concept>div.content_block>._content div.__txt>div.link {
        font-size: 18px;
        gap: 1em;
        margin-top: 1em;
    }

    section.pfx.full-bleed.top_story>div.note {
        font-size: 18px;
        margin-right: 1em;
    }

    section>img.full_w.is_sp {
        max-width: none;
    }

}

/*============================
#top_media
============================*/

section#top_media {
    margin-top: 100px;
}


section#top_media>ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    font-size: 14px;
}

section#top_media>ul>li {
    background: #fff;
    width: calc((100% - 2em*3)/4);
    position: relative;
}

section#top_media>ul>li>a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}

section#top_media>ul>li>img {
    width: 100%;
}

section#top_media>ul>li>div {
    padding: 1em;
}

section#top_media>ul>li>div>div.date {
    font-size: 0.8em;
}


section#top_media>a.btn {
    font-size: 18px;
    margin-top: 3em;
}



@media screen and (max-width: 768px) {

    section#top_media {
        margin-top: 60px;
    }

    section#top_media>ul>li {
        width: calc((100% - 1em*1)/2);
    }

    section#top_media>ul {
        gap: 1em;
        font-size: 12px;
    }

    section#top_media>a.btn {
        font-size: 14px;
    }

}


/*============================
.content_page
============================*/

div#contents {
    padding-top: 0;
    width: 100%;
}

.full_w>img {
    width: 100%;
    display: block;
}

div#main-column:has(.content_page)>div#bread-crumb,
div#main-column:has(.content_page)>div#Journal>h1,
div#main-column:has(.content_page)>div#Journal>article>h2 {
    display: none;
}

#main-column {
    float: none;
    max-width: 1280px;
    width: 95%;
    margin: auto;
}






section.pfx.full-bleed.important>div.note {
    text-align: center;
    transform: translate(0, 0);
}

/*============================
#important
============================*/
section#important {
    margin-top: 120px;
}

section#important>ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5em 3em;
    font-size: 18px;
}

section#important>ul>li {
    width: calc((80% - 3em)/2);
    text-align: center;
}

section#important>ul>li>div.num {
    font-size: 50px;
    line-height: 1;
    margin-bottom: .25em;
}


section#important>ul>li:nth-child(3), section#important>ul>li:nth-child(4), section#important>ul>li:nth-child(5) {
    width: calc((100% - 3em*2)/3);
}


/*============================

============================*/



/*============================
body.product_page
============================*/

body.product_page section.column4 {
    background: #fff;
    width: calc((100% - 2%*3)/4);
    margin-right: 2%;
    padding-bottom: 0;
}


body.product_page section.column4:nth-child(4n) {
    margin-right: 0;
}

body.product_page section.column4>p.price {
    /*-width: fit-content;
    margin: auto;-*/
}

body.product_page section.column4>h2 {
    margin: 0 1em;
    margin-top: 1em;
}

body.product_page section.column4 .sps-wishAddItem img {
    width: 12% !important;
    margin: 0 10px 10px !important;
}

@media screen and (max-width: 768px) {

    body.product_page section.column4 {
        width: calc((100% - 2%) / 2);
    }

    body.product_page section.column4:nth-child(4n) {
        margin-right: 2%;
    }

    body.product_page section.column4:nth-child(2n) {
        margin-right: 0;
    }

    body.product_page section.column4 h2>a {
        font-size: 14px;
    }

    body.product_page section.column4 h2 {
        margin: 0 .5em;
    }

}



article section ul {
    line-height: 1.75;
}

/*============================
.category_header
============================*/

div.category_header>section.cat_about {
    background: #d9edea;
    padding: 80px 0;
}

div.category_header>section.cat_about>.inner {
    max-width: 1160px;
    margin: auto;
    width: 95%;
}

div.category_header>section.cat_about>.inner>div.content_block {
    margin-top: 0;
}

.category_header.baked div.content_block>h2._title,
.category_header.omiso div.content_block>h2._title {
    font-size: 28px !important;
}

div.category_header>section.cat_about>.inner>div.content_block>._content {
    width: 70%;
    line-height: 2;
}

div.category_header>section.cat_about>.inner>ul {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

div.category_header>section.cat_about>.inner>ul>li {
    width: 48%;
}

div.category_header>section.cat_about>.inner>ul>li>img {
    width: 100%;
}

div.category_header>section.cat_about>.inner>ul>li>div.title {
    font-size: 22px;
    margin: .5em 0;
}

div.category_header>section.cat_about>.inner>ul>li>div.txt {
    font-size: 14px;
}

div.category_header>section.cat_about>.inner>ul>li>a.btn {
    font-size: 19px;
}

#main-column section.category_header_list h2 {
    font-size: 42px !important;
}

div.category_header>section.cat_about>.inner>ul>li>a.btn {
    margin-left: 0;
    border: solid 1px #fff;
}

div.category_header>section.category_header_list {
    padding: 50px 0;
}

ul.item_list_1c {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

ul.item_list_1c>li {
    display: flex;
    justify-content: space-between;
}

ul.item_list_1c>li>div.note {
    width: 50%;
}

ul.item_list_1c>li>div.note>div.name {
    font-size: 28px;
}

ul.item_list_1c>li>div.note>div.txt {
    font-size: 16px;
    margin: 1em 0;
}

ul.item_list_1c>li>div.note>ul.item_type {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
}

ul.item_list_1c>li>div.note>.note {
    margin: 1em 0;
}

ul.item_list_1c>li>div.note>ul.item_type>li {
    background: #fff;
    font-size: 16px;
    padding: .5em 1em !important;
    line-height: 1;
    border: solid 1px #fff;
    border-radius: 3em;
}

ul.item_list_1c>li>img {
    width: 47%;
    object-fit: contain;
}

section.product_list_area>ul.product_list, section.lineup>ul, #itemList .column-set {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
}

section.product_list_area>ul.product_list>li {
    position: relative;
    width: calc((100% - 3%*2)/3);
    margin-bottom: 3em !important;
    background: #fff;
}

section.product_list_area>ul.product_list>li>span.batch {
    position: absolute;
    background: #f29b7d;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    padding: .6em 1.2em;
    border-radius: 3em;
    right: 1em;
    top: .8em;
}

section.product_list_area>ul.product_list>li>span.new {
    background: #f29b7d;
}

section.product_list_area>ul.product_list>li>span.so {
    background: #808080;
}

section.product_list_area>ul.product_list>li>span.premium {
    background: #a67c52;
}

section.product_list_area>ul.product_list>li>a>img {
    width: 100%;
}

section.product_list_area>ul.product_list>li>div {
    text-align: center;
    padding: 1.5em;
}

section.product_list_area>a.btn {
    border: solid 1px #fff;
    margin: 0 auto;
}

section.product_list_area {
    margin-top: 100px;
}

section.product_list_area.standard {
    margin-bottom: 100px;
}

section.lineup {
    margin-bottom: 4em;
}

section.lineup>ul>li, #itemList .column-set>section {
    width: calc((100% - 3%*3)/4);
    margin: 0;
    margin-bottom: 3% !important;
}

section.lineup>ul>li>a.name {
    padding: 1em 0;
    display: block;
    background: #fff;
    text-align: center;
}

section.lineup>ul>li img {
    width: 100%;
}

@media screen and (max-width: 768px) {

    div.category_header>section.cat_about>.inner {
        width: 85%;
    }

    div.category_header>section.cat_about>.inner>div.content_block>._content {
        width: 100%;
        font-size: 13px;
    }

    div.category_header>section.cat_about>.inner>ul>li>div.title {
        font-size: 19px;
    }

    div.category_header>section.cat_about>.inner>ul>li>div.txt {
        font-size: 13px;
    }

    div.category_header>section.cat_about>.inner>ul>li>a.btn, ul.item_list_1c>li>div.note>ul.item_type>li {
        font-size: 10px;
    }

    div.category_header>section.cat_about {
        padding: 1em 0;
    }

    div.category_header>section.cat_about>.inner>ul {
        flex-direction: column;
        gap: 3em;
    }

    div.category_header>section.cat_about>.inner>ul>li {
        width: 100%;
    }

    #main-column section.category_header_list h2 {
        font-size: 19px !important;
    }

    ul.item_list_1c>li {
        flex-direction: column-reverse;
    }

    ul.item_list_1c>li>div.note {
        width: 100%;
    }

    ul.item_list_1c>li>img {
        width: 100%;
    }

    ul.item_list_1c>li>div.note>div.name {
        font-size: 18px;
        margin-top: 1em;
    }

    ul.item_list_1c>li>div.note>div.txt {
        font-size: 14px;
    }

    ul.item_list_1c>li>div.note>ul.item_type>li {
        font-size: 11px;
    }

    section.product_list_area>ul.product_list {
        margin-bottom: 2em;
    }

    section.product_list_area>ul.product_list>li, section.lineup>ul>li, #itemList .column-set>section {
        width: calc((100% - 3%)/2);
        margin: 0;
        margin-bottom: 3% !important;
    }

    section.product_list_area+section.product_list_area {
        margin-top: 4em;
    }

    section.product_list_area>ul.product_list>li>span.batch {
        font-size: 10px;
    }

    section.product_list_area>ul.product_list>li>div, section.lineup>ul>li>div {
        font-size: 10px;
    }

    section.product_list_area>a.btn {
        font-size: 11px;
    }

    #main-column .lineup h2 {
        font-size: 14px !important;
    }

    section.product_list_area.standard {
        margin-bottom: 4em;
    }

    section.product_list_area {
        margin: 0 auto;
    }

    #main-column section.product_list_area>h2 {
        font-size: 14px !important;
    }

}

/*============================
商品詳細
============================*/


section#itemDetail-wrap {
    display: flex;
    justify-content: space-between;
    width: 100% !important;
    max-width: 1280px !important;
}

body.product_page div#main-column>section>.column_right {
    width: 48%;
}

section#itemDetail-wrap>.column_left {
    width: 48%;
}

#itemDetail-cont .itemOutline {
    float: none;
    width: 100%;
}

section#itemDetail-wrap .itemOutline li {
    float: none;
    margin: 0;
    width: fit-content;
    max-width: none;
}

body.product_page div#main-column>section>.column_right ul.item_list_1c>li>div.note {
    width: fit-content;
}


section#itemDetail-wrap>.column_left .itemThumb .slick-track {
    transform: unset !important;
}

body.product_page .itemThumb .slick-track {
    width: 100% !important;
    margin-top: 2px;
}

section#itemDetail-wrap>.column_left .itemThumb .slick-slide {
    width: calc(100% / 3) !important;
    padding: 2px;
}

section#itemDetail-wrap>.column_left .itemThumb .slick-slide>img {
    aspect-ratio: 1;
    object-fit: cover;
}

body.product_page div#main-column>section>.column_right ul.item_list_1c>li>div.note>div.name {
    font-size: 18px;
    margin-bottom: .5em;
}

div:has(>.e_gift_message_area) {
    margin-top: 50px;
}

.product_d_list>h3 {
    font-weight: 400;
    margin-top: 1em;
    margin-bottom: 1em;
    border-top: solid 1px;
    padding: 1em 0 0 0;
    font-size: 18px;
}

.product_d_list>.txt {
    line-height: 2;
}

.product_d_list>ul {
    font-size: 18px;
    margin-top: 1em;
    border-bottom: solid 1px;
}

.product_d_list>ul>li {
    padding: 1em 0;
    border-top: solid 1px;
}

#itemDetail-cont .itemOutline ul.ico_itemType {
    display: flex;
    align-items: center;
    gap: .5em;
}

#itemDetail-cont .itemOutline ul.ico_itemType>li {
    display: flex;
    align-items: center;
}

body.product_page div#main-column>section {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

body.product_page div#main-column>section>form>h2 {
    font-size: 28px !important;
}

body.product_page div#main-column>section .column-set {
    display: flex;
    flex-wrap: wrap;
}

body.product_page div#main-column>section .column-set>section.column5 {
    width: calc((100% - 1%*3)/4);
    margin-right: 1%;
}

body.product_page div#main-column>section .column-set>section.column5:nth-child(4n) {
    margin-right: 0;
}

article#Detail #main-column h1 {
    font-size: 28px;
    font-family: inherit;
}

table.price tr.price span.selling_price, table.price tr.price span.taxin, table.price tr.price span.discount_rate, table.price tr.sp_price span.special_price, table.price tr.sp_price span.taxin, table.price tr.sp_price span.discount_rate {
    font-size: 24px;
}

span.selling_price_str {
    opacity: 0;
}

section#itemDetail-wrap table.price {
    width: fit-content;
    margin-left: auto;
}

section#itemDetail-wrap table.price tr.price>* {
    width: auto !important;
}

.sp_description.product_d_list {
    display: none;
}

.cartArea {
    margin-top: 50px;
}

div:has(>.e_gift_message_area)~.cartArea {
    margin-top: 0;
}

@media screen and (max-width: 768px) {

    section#itemDetail-wrap {
        flex-direction: column;
    }

    section#itemDetail-wrap>.column_left {
        width: 100%;
    }

    body.product_page div#main-column>section>.column_right {
        width: 100%;
    }

    .sp_description.product_d_list {
        width: 100%;
        display: block;

    }

    section#itemDetail-wrap>.column_left .product_d_list {
        display: none;
    }

    section#itemDetail-wrap>.column_left .product_d_list {
        display: none;
    }

    article#Detail #main-column h1 {
        font-size: 18px;
    }

    section#itemDetail-wrap .description {
        font-size: 14px;
    }

    section#itemDetail-wrap table.price {
        margin-top: 1em;
    }

    div.category_header>section.category_header_list {
        margin: auto;
    }

    ul.item_list_1c {
        gap: 3em;
    }

    body.product_page div#main-column>section>.column_right ul.item_list_1c>li>div.note>div.name {
        font-size: 16px;
    }

    body.product_page div#main-column>section .column-set>section.column5 {
        /*-width: calc((100% - 1%*2)/3);-*/
        width: calc((100% - 1%) / 2);
    }

    body.product_page div#main-column>section .column-set>section.column5:nth-child(4n) {
        margin-right: 1%;
    }

    body.product_page div#main-column>section .column-set>section.column5:nth-child(2n) {
        margin-right: 0;
    }

    .itemThumb .slick-track {
        width: 100% !important;
    }

    body.product_page div#main-column>section {
        margin: 20px auto 0;
    }

}




/*============================
ギフト
============================*/

section.btn_list>ul {
    display: flex;
    flex-direction: column;
    gap: 1.2em;
}

section.btn_list>ul>li>a {
    background: #fff;
    font-size: 27px;
    display: block;
    line-height: 1;
    padding: .5em;
    border: solid 1px #484848;
    border-radius: 3em;
    text-align: center;
}

section#price {
    margin-top: 100px;
}

@media screen and (max-width: 768px) {

    section.btn_list>ul>li>a {
        font-size: 18px;
    }

    div.content_block ul._content {
        gap: 30px;
    }

    section#price {
        margin-top: 80px;
    }

}


body.cat_page #bread-crumb {
    display: none;
}



/*============================
商品一覧
============================*/


div#main-column :where(.column4, .column5) .item-list-span-img {
    display: block;
}

div#main-column :where(.column4, .column5)>.itemThumb-wrap {
    margin: 0;
}

div#main-column :where(.column4, .column5)>.itemThumb-wrap>p.itemThumb {
    margin: 0;
}

div#main-column :where(.column4, .column5)>h3 {
    background: #fff;
    padding: 1.5em 2em 1em;
    margin: 0;
}

div#main-column :where(.column4, .column5) {
    background: #fff !important;
    padding-bottom: 0;
}

div#main-column :where(.column4, .column5) h2 {
    padding: .5em 1em 0 !important;
    margin: 0 !important;
}

div#main-column :where(.column4, .column5) span.sps-wishAddItem>img {
    margin: 0 !important;
    width: 3em !important;
}

div#main-column :where(.column4, .column5)>p.price {
    background: #fff;
    padding: 0 1em 1em;
    padding-bottom: 0;
    margin-bottom: 0 !important;
}

div#main-column :where(.column4, .column5) [class^="sps-wishArea"] {
    margin: 0 1em;
}

:where(body.cat_page, body.product_page) .column4 {
    width: calc((100% - 2%*3)/4);
    margin-right: 2%;
}

:where(body.cat_page, body.product_page) .column4:nth-child(4n) {
    margin-right: 0;
}


@media screen and (max-width: 768px) {

    :where(body.cat_page, body.product_page) #main-column {
        width: 85%;
    }

    :where(body.cat_page, body.product_page) .column5 {
        width: calc((100% - 2%)/2);
    }

    :where(body.cat_page, body.product_page) .column4 {
        width: calc((100% - 2%)/2);
    }

    :where(body.cat_page, body.product_page) .column4:nth-child(4n) {
        margin-right: 2%;
    }

    :where(body.cat_page, body.product_page) .column4:nth-child(2n) {
        margin-right: 0;
    }

    div#main-column :where(.column4, .column5) h2 {
        font-size: 10px !important;
        padding-top: 1em !important;
    }

    div#main-column :where(.column4, .column5) a, div#main-column :where(.column4, .column5)>p.price {
        font-size: 10px !important;
    }

    div#main-column :where(.column4, .column5)>p.price {
        padding-top: 1em;
    }

    div#main-column :where(.column4, .column5)>h3 {
        padding: 1.5em 0.5em 1em;
    }

}

.link>a>img {
    margin: 0 !important;
}


/*============================
about
============================*/

.content_page.about section.pfx.full-bleed>div.note {
    color: #fff;
    font-size: 30px;
}

.content_page.about section.about_concept {
    margin-bottom: 150px;
}

.content_page.about div.content_block>._content div.__txt>div.catch {
    font-size: 25px;
}

.content_page.about div.content_block>._content div.__txt>div.___txt {
    font-size: 15px;
}

.content_page.about div.content_block>h2._title {
    font-size: 43px !important;
}

.content_page.about section#important>ul>li>div.num {
    font-size: 52px;
}

.content_page.about section#important>ul>li>div.txt {
    font-size: 18px;
}

@media screen and (max-width: 768px) {

    .content_page.about div.content_block>._content div.__txt>div.catch {
        font-size: 18px;
    }

    .content_page.about div.content_block>._content div.__txt>div.___txt {
        font-size: 13px;
    }

    .content_page.about div.content_block>h2._title {
        font-size: 18px !important;
    }

    .content_page.about section#important>ul>li>div.num {
        font-size: 29px;
    }

    .content_page.about section#important>ul>li>div.txt {
        font-size: 10px;
    }

    .content_page.about section.pfx.full-bleed>div.note {
        font-size: 20px;
        text-align: left;
        padding-left: 1em;
    }

    section#important {
        margin-top: 2em;
    }

    .content_page.about div.content_block+.content_block, .content_page.about div.content_block:first-child {
        margin-top: 1em;
    }

    .content_page.about section.about_concept {
        margin-bottom: 50px;
    }

    section#important>ul {
        flex-direction: column;
        align-items: center;
        gap: 2em;
    }

    section#important>ul>li:nth-child(3), section#important>ul>li:nth-child(4), section#important>ul>li:nth-child(5) {
        width: 100%;
    }

}



/*============================
muffin
============================*/


















/*============================

============================*/




@media screen and (max-width: 768px) {
    div#wrapper {
        padding-bottom: 50px;
    }
}

.eGiftBody table tr td:nth-child(2) {
    display: inline-block;
}

/*============================
アイコン
============================*/

.column3 .badge, .column4 .badge, .column5 .badge {
    height: auto;
    width: auto;
}

img.sps_icon_e_gift_list, img.sps_icon_e_gift_related_item {
    display: none;
}

.column3 .badge:has(img.sps_icon_e_gift_list)::after, .column4 .badge:has(img.sps_icon_e_gift_list)::after, .column5 .badge:has(img.sps_icon_e_gift_list)::after,
.column3 .badge:has(img.sps_icon_e_gift_related_item)::after, .column4 .badge:has(img.sps_icon_e_gift_related_item)::after, .column5 .badge:has(img.sps_icon_e_gift_related_item)::after {
    content: "";
    background: url(https://www.somio.jp/theme/img/e-gift.png) no-repeat;
    padding: 4px 0 0 4px;
    position: absolute;
    z-index: 10;
    height: 33px;
    width: 66px;
    background-size: contain;
}

#itemDetail-cont .itemOutline ul.ico_itemType li {
    width: auto;
}



/*============================
userreview
============================*/


section.userreview {}

section.userreview>.userreview_list {
    border-bottom: solid 1px #48484880;
    padding: 1em 0;
    font-size: 19px;
}

section.userreview {}

section.userreview>.userreview_list>ul {
    display: flex;
    flex-direction: column;
    gap: 2em;
}

section.userreview>.userreview_list>ul>li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

section.userreview>.userreview_list>ul>li>.userreview_rate {
    display: flex;
    align-items: center;
}

section.userreview>.userreview_list>ul>li:has(.userreview_date) {
    color: #959595;
    font-size: 0.9em;
}

body.product_page div#main-column>section.userreview {
    margin-top: 50px;
}

body.product_page div#main-column>section.userreview>h2 {
    font-size: 28px !important;
    margin-bottom: .5em;
}

section.userreview>.userreview_list:first-of-type {
    border-top: solid 1px #48484880;
    margin-top: 30px;
}

@media screen and (max-width: 768px) {

    body.product_page div#main-column>section.userreview>h2 {
        font-size: 18px !important;
    }

    body.product_page div#main-column>section>form>h2 {
        font-size: 18px !important;
    }

    body.product_page div#main-column>section.userreview img {
        width: 1em;
    }

    body.product_page div#main-column>section.userreview>p.review_txt {
        display: flex;
        align-items: center;
        font-size: 16px;
    }

    body.product_page div#main-column>section.userreview>p.review_txt>span {
        margin-left: .5em;
        height: auto;
    }

    section.userreview>.userreview_list {
        font-size: 16px;
    }

}

div#main-column :where(.column4, .column5)>h2 {
    text-align: center;
}

section.cat_about.full_w.muffin h2._title {
    width: 50%;
}

div.category_header>section.cat_about.muffin>.inner>div.content_block>._content {
    width: 50%;
}

@media screen and (max-width: 768px) {

    section.cat_about.full_w.muffin h2._title, div.category_header>section.cat_about.muffin>.inner>div.content_block>._content {
        width: 100%;
    }

}

p.sps-itemList-stockDisp>a {
    width: 90%;
    margin-right: 5%;
    margin-left: 5%;
    display: block;
}






#main-column .regal .rte h2 {
    background: #fff;
    margin: 2em 0 .5em;
    padding: .5em !important;
}

.shopify-policy__body>.rte>p {
    padding: 0 1em;
}

.shopify-policy__body>.rte>ul {
    padding: 0.5em 1.5em !important;
}

.visually-hidden {
    visibility: hidden;
}

#main-column .regal .rte h3, #main-column .regal .rte h4 {
    font-size: 1.2em;
    margin: .5em 0;
}

.regal th, .regal td {
    padding: .5em;
}

.regal table {
    width: fit-content;
    margin: 1em;
}



.accordion_list {}

.accordion_list>.wrap {}

.accordion_list>.wrap>img {
    display: block;
    margin: auto;
    border: solid 2em #f7f6f6;
}

.accordion_list>.wrap>ul {
    max-width: 600px;
    margin: 50px auto !important;
}

.accordion_list>.wrap>ul>li {
    font-size: 16px;
    border: solid 1px;
    border-color: #ccc transparent transparent;
}

.accordion_list>.wrap>ul>li>.list_title {
    display: flex;
    gap: 1em;
    padding: 1em;
}

.accordion_list>.wrap>ul>li>.list_title>img {
    width: 1.5em;
    transition: 0.25s;
}

.accordion_list>.wrap>ul>li>.list_title>img:last-of-type {
    margin: auto;
    margin-right: 0;
}

#JournalList .journal-cont ul li, #Journal .journal-cont ul li {
    margin: unset;
    padding: unset;
}

.accordion_list>.wrap>ul>li>.note {
    opacity: 0;
    height: 0;
    padding: 0 1em 1em;
    transition: 0.25s;
    visibility: hidden;
    display: none;
}

.accordion_list>.wrap>ul>li>input:checked~.note {
    opacity: 1;
    height: auto;
    visibility: visible;
    display: block;
}

.accordion_list>.wrap>ul>li>input {
    display: none;
}

.accordion_list>.wrap>ul>li>input:checked~.note>p:first-of-type {}

.accordion_list>.wrap>ul>li>input:checked~label.list_title>img:last-of-type {
    transform: rotate(180deg);
}

.faq_page>.wrap>ul {
    max-width: none;
    margin: 1em auto 5em !important;
}

.accordion_list>.wrap>ul>li>.note a {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {

    .accordion_list>.wrap>ul>li {
        font-size: 14px;
    }

    #main-column .regal .shopify-policy__body>.rte h2, #main-column .regal .rte h2 {
        font-size: 16px !important;
    }

    #main-column .regal .rte h3, #main-column .regal .rte h4 {
        font-size: 16px;
    }

    .accordion_list>.wrap>ul>li>.note>ul {
        padding-left: 2em !important;
        margin: 1em 0 !important;
    }

    .accordion_list>.wrap>ul>li>.note>ul>li {
        list-style: disc !important;
    }

}

section#info>.inner>ul>li>.post-thumbnail {
    width: 20%;
}

section#info>.inner>ul>li>.post-thumbnail>a>img {
    aspect-ratio: 1;
    max-width: 120px;
    display: block;
    width: 100%;
    object-fit: cover;
}

section#info>.inner>ul>li>.post-info {
    width: 77%;
}

section#info>.inner>ul>li>.post-thumbnail>a {
    display: block;
    width: 100%;
}