@charset "UTF-8";:root {
    --header-height: 7.5rem;
    --page-gap: clamp(0.9375rem, 0.155rem + 3.9123vw, 2.5rem);
    --outline-width: 0.25rem;
    --border-radius-infinity: 100vmax;
    --leading-trim: calc((1em - 1lh) / 2)
}

@view-transition {
    navigation: auto
}

* {
    padding: 0;
    margin: 0
}

*,*::after,*::before {
    box-sizing: border-box
}

body:not(.is-headerHide) :target {
    scroll-margin-block-start: var(--header-height)
}

:where(html) {
    scroll-behavior: smooth
}

:where(body) {
    min-block-size: 100vb;
    min-block-size: 100dvb;
    font-family: YakuHanJP_Noto,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    line-height: 1.6;
    color: #000;
    word-break: normal;
    overflow-wrap: anywhere;
    background-color: #fff;
    line-break: strict;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
    background-image: url(../images/common/bg_contents_01.png);
    background-repeat: repeat!important;
}

:where(h1, h2, h3, h4, h5, h6) {
    font-size: inherit;
    font-weight: inherit
}

:where(em) {
    font-style: normal
}

:where(ul, ol) {
    list-style: none
}

:where(table) {
    font-size: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    border: none
}

:where(img) {
    max-inline-size: 100%;
    block-size: auto;
    vertical-align: top;
    border: 0
}

:where(a) {
    color: #6a0030;
    -webkit-tap-highlight-color: transparent
}

:where(a):visited {
    color: #b00050
}

:where(a):hover {
    color: #b00050;
    text-decoration: none
}

:where(a):active {
    color: #b00050
}

:where(a)[href^="mailto:"] {
    color: inherit;
    text-decoration: none
}

:where(a)[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
    cursor: default
}

:where(input, button, textarea, select) {
    font-family: inherit;
    font-size: inherit;
    color: inherit
}

:where(input:not([type=checkbox], [type=radio], [type=date], [type=time]), select, textarea) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

:where(button) {
    padding: 0;
    cursor: pointer;
    background-color: transparent;
    border: none
}

:where(button):not(:disabled) {
    cursor: pointer
}

:where(a, button, input, select, textarea, summary, [role=tabpanel]) {
    outline: 0 transparent;
    transition: .2s
}

:where(a, button, input, select, textarea, summary, [role=tabpanel]):focus-visible {
    outline: var(--outline-width) solid #b79d6c;
    /* outline-offset: var(--outline-width) */
}

:where(label) {
    cursor: pointer
}

:where(summary) {
    list-style: none;
    cursor: pointer
}

:where(summary)::-webkit-details-marker {
    display: none
}

::-moz-selection {
    color: #fff;
    background-color: #b79d6c
}

::selection {
    color: #fff;
    background-color: #b79d6c
}

@font-face {
    font-family: icons;
    src: url(../font/icon_happi.woff2) format("woff2");
    font-display: block
}

.l-aside {
    margin-block-start:clamp(3.75rem,2.2755rem + 4.5454vw,5rem)}

.l-asideHappi {
    padding-block:clamp(1.25rem,-0.2245rem + 4.5454vw,2.5rem);padding-inline:var(--page-gap);font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-weight: 700;
    text-align: center;
    background-color: #f2eeeb;
    background-size: 25rem auto;
    border-block:0.0625rem solid #dfdfdf;background-image: url(../images/common/bg_contents_04.jpg)
}

.is-no-avif .l-asideHappi {
    background-image: url(../images/common/bg_contents_04.jpg)
}

.l-asideHappi_heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-block-start:0.625rem;font-size: clamp(1.375rem, .048rem + 4.0909vw, 2.5rem);
    line-height: 1.6
}

.l-asideHappi_heading::before {
    inline-size: clamp(3.125rem,2.3877rem + 2.2727vw,3.75rem);
    aspect-ratio: 1/1;
    content: "";
    background-size: 100% auto;
    background-image: url(../images/common/ico_happi_full@2x.png)
}

.is-no-avif .l-asideHappi_heading::before {
    background-image: url(../images/common/ico_happi_full@2x.png)
}

.l-asideHappi_text {
    margin-block-start:clamp(1.25rem,-0.2245rem + 4.5454vw,2.5rem);font-size: clamp(1rem, .5576rem + 1.3636vw, 1.375rem)
}

.l-asideContact {
    padding-block:3.75rem;text-align: center;
    background-color: #e6ded5;
    background-image: url(../images/common/bg_contents_03.jpg)
}

.is-no-avif .l-asideContact {
    background-image: url(../images/common/bg_contents_03.jpg)
}

.l-asideContact_hgroup {
    line-height: 1.6
}

.l-asideContact_heading {
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding-block-end:0.625rem;margin-inline:auto;font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: clamp(1.25rem, .5127rem + 2.2727vw, 1.875rem);
    font-weight: 700;
    border-block-end:0.0625rem solid}

.l-asideContact_catch {
    display: inline-block;
    inline-size: 16em;
    margin-block-start:0.625rem;font-size: clamp(1.125rem, .2403rem + 2.7272vw, 1.875rem);
    font-weight: 700;
    text-align: center
}

.l-asideContact_tel {
    margin-block-start:1.25rem;font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: clamp(1.75rem, 1.0614rem + 3.4428vw, 3.125rem);
    font-weight: 700;
    line-height: 1.2
}

.l-asideContact_tel rt {
    font-family: YakuHanJP_Noto,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-size: .3em;
    font-weight: 400
}

.l-asideContact_note {
    margin-block-start:0.625rem;font-size: clamp(.75rem, .4551rem + .909vw, 1rem)
}

.l-asideContact_note span {
    display: inline-block
}

.l-asideContactList {
    display: grid;
    margin-block-start:1.25rem}

.l-asideContactList_item .e-btn03 {
    margin-block-start:0}

.l-container {
    position: relative;
    inline-size: 100%;
    max-inline-size: calc(87.5rem);
    padding-inline:var(--page-gap);margin-inline: auto
}

.l-container:has(.l-main, .l-sub) {
    display: flow-root
}

.l-container_md {
    max-inline-size: 75rem;
    margin-inline:auto}

.l-container_sm {
    max-inline-size: 62.5rem;
    margin-inline:auto}

.l-container_xs {
    max-inline-size: 50rem;
    margin-inline:auto}

.l-contents {
    display: flow-root;
    overflow: hidden;
    line-height: 2
}

.l-footer {
    position: sticky;
    inset-block-start: 100vb;
    padding-block:0.125rem;margin-block-start:6.25rem;background-color: #f2f2f2;
    background-size: 3.875rem auto;
    border-block:0.25rem solid #000;background-image: url(../images/common/bg_pattern_01.png);
    background-repeat: repeat;
}

.is-no-avif .l-footer {
    background-image: url(../images/common/bg_pattern_01.png)
}

.l-footer_outer {
    padding-block:clamp(2.5rem,1.7775rem + 2.2271vw,3.75rem);padding-inline:clamp(1.25rem,-0.1949rem + 4.4543vw,3.75rem);border-block:0.625rem solid #000}

.l-footer_inner {
    max-inline-size: 1400px;
    margin: 0 auto
}

.l-footerInfo_lead {
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: center
}

.l-footerInfo_lead span {
    font-size: .8em
}

.l-footerInfo_logo {
    margin-block-start:1.25rem;text-align: center;
    margin: auto;
}

.l-footerInfo_logo img {
    inline-size: clamp(9.375rem,8.6377rem + 2.2727vw,10rem)
}

.l-footerInfoList {
    margin-block-start:1.25rem;font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: clamp(.875rem, .7275rem + .4545vw, 1rem)
}

.l-footerInfoList_item {
    margin-block-start:0.3125rem}

.l-footer .l-footerLinks {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 3.625rem clamp(1.875rem,.5663rem + 2.1834vw,2.5rem)
}

.l-footer .l-footerLinks_col:nth-child(3) {
    margin-block-start:3.6875rem}

.l-footerLinksList.is-post {
    margin-block-start:2.5rem}

.l-footerLinksList_item a {
    display: grid;
    -moz-column-gap: 0.3125rem;
    column-gap: .3125rem;
    align-items: center;
    min-block-size: 3.75rem;
    padding-block:0.625rem;padding-inline-end:0.625rem;border-block:0.0625rem solid #c9c9c9;color: inherit;
    text-decoration: none
}

.l-footerLinksList_item a {
    transition: color .2s ease-out
}

.l-footerLinksList_item a::after,.l-footerLinksList_item a::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.l-footerLinksList_item a:not([target=_blank]) {
    grid-template-columns: 1fr auto
}

.l-footerLinksList_item a:not([target=_blank])::after {
    font-size: .625rem;
    content: '\e811'
}

.l-footerLinksList_item a[target=_blank] {
    grid-template-columns: auto 1fr
}

.l-footerLinksList_item a[target=_blank]::before {
    content: '\e801'
}

.l-footerLinksList_item a span {
    -webkit-text-decoration: underline transparent;
    text-decoration: underline transparent;
    text-underline-offset: 0.25em
}

.l-footerLinksList_item a span {
    transition: -webkit-text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out,-webkit-text-decoration .2s ease-out
}

.l-footerLinksList_item a:is(.is-hover, .is-cur) {
    color: #6a0030
}

.l-footerLinksList_item a:is(.is-hover, .is-cur) span {
    text-decoration: underline
}

.l-footerLinksList_item a.is-large {
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: 1.25rem;
    font-weight: 700
}

.l-footerLinksList_item a:is(:not(.is-catalog .l-footerLinksList_item a, .l-footerLinksList_item a.is-parents[href*=original])):is(.is-current, .is-parents) {
    color: #6a0030
}

.l-footerLinksList_item a:is(:not(.is-catalog .l-footerLinksList_item a, .l-footerLinksList_item a.is-parents[href*=original])):is(.is-current, .is-parents) span {
    text-decoration: underline
}

.l-footerLinksList_item + .l-footerLinksList_item a {
    margin-block-start:-0.0625rem}

.l-footerExternalLinks_item a {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    padding-block:0.625rem;font-size: clamp(.875rem, .7275rem + .4545vw, 1rem);
    color: inherit;
    text-decoration: none
}

.l-footerExternalLinks_item a {
    transition: color .2s ease-out
}

.l-footerExternalLinks_item a[target=_blank]::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none;
    content: '\e801';
    margin-inline-end:.5em}

.l-footerExternalLinks_item a span {
    -webkit-text-decoration: underline transparent;
    text-decoration: underline transparent;
    text-underline-offset: 0.25em
}

.l-footerExternalLinks_item a span {
    transition: -webkit-text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out,-webkit-text-decoration .2s ease-out
}

.l-footerExternalLinks_item a.is-hover {
    color: #6a0030
}

.l-footerExternalLinks_item a.is-hover span {
    text-decoration: underline
}

.l-footerExternalLinks_item:first-child a {
    padding-block-start:1.25rem}

.l-footer_copy {
    margin-block-start:clamp(1.25rem,-0.1949rem + 4.4543vw,3.75rem);font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    text-align: center
}

.l-footer_copy small {
    font-size: clamp(.875rem, .7275rem + .4545vw, 1rem)
}

.l-header {
    position: sticky;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 4;
    inline-size: 100%;
    background-color: #fff;
    border-block-end:0.0625rem solid #dfdfdf;box-shadow: 0 0 .5rem 0 rgba(0,0,0,.2)
}

.l-header_skip {
    position: fixed;
    inset-block-start: 0.625rem;
    inset-inline-start: 0;
    inline-size: 100%;
    color: #fff;
    text-align: center
}

.l-header_skip:not(:focus, :focus-within) {
    position: absolute!important;
    inline-size: 1px!important;
    block-size: 1px!important;
    padding: 0!important;
    margin: -1px!important;
    overflow: hidden!important;
    clip: rect(0,0,0,0)!important;
    white-space: nowrap!important;
    border: 0!important
}

.l-header_skip a {
    display: inline-grid;
    grid-template-columns: 1fr auto 1fr;
    -moz-column-gap: 0.5em;
    column-gap: .5em;
    align-items: center;
    justify-content: center;
    min-block-size: 3.125rem;
    padding: .625rem var(--page-gap);
    text-align: center;
    background-color: rgba(0,0,0,.7);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border-radius: var(--border-radius-infinity);
    color: inherit;
    text-decoration: none
}

.l-header_skip a::before {
    content: ""
}

.l-header_skip a::after {
    content: '\e805';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.l-header_inner {
    display: grid;
    grid-template-columns: auto 1fr;
    max-inline-size: 1400px;
    min-block-size: var(--header-height);
    margin-inline:auto}

.l-header_logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: clamp(5.625rem,2.8235rem + 8.6363vw,8rem);
    block-size: 100%;
    padding-block:clamp(0.3125rem,0.2213rem + 0.4557vw,0.625rem)}

.l-header_btns {
    display: flex;
    align-items: center;
    justify-self: end
}

.l-header_btns a {
    display: flex;
    -moz-column-gap: 0.3125rem;
    column-gap: .3125rem;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: inherit;
    text-decoration: none
}

.l-headerEc {
    display: flex
}

.l-headerEc_item a {
    align-items: center;
    block-size: 100%;
    min-block-size: 3.125rem;
    padding-inline:clamp(0.625rem,0.2563rem + 1.1363vw,0.9375rem)}

.l-headerEc_item a {
    transition: color .2s ease-out
}

.l-headerEc_item a > span {
    position: relative;
    display: flex;
    -moz-column-gap: 0.3125rem;
    column-gap: .3125rem;
    align-items: center;
    min-block-size: 2.5rem
}

.l-headerEc_item a > span::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.l-headerEc_item a > span::after {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    content: "";
    border-block-end:0.0625rem solid;opacity: 0
}

.l-headerEc_item a > span::after {
    transition: opacity .2s ease-out
}

.l-headerEc_item a > span:is(.is-cart a span)::before {
    font-size: 2.125rem;
    content: '\e814'
}

.l-headerEc_item a > span:is(.is-mypage a span)::before {
    font-size: 1.625rem;
    content: '\e815'
}

.l-headerEc_item a.is-hover {
    color: #6a0030
}

.l-headerEc_item a.is-hover > span::after {
    opacity: 1
}

.l-header .l-header_contact {
    margin-inline-start:.625rem}

.l-header_contact a {
    position: relative;
    display: flex;
    -moz-column-gap: 0.3125rem;
    column-gap: .3125rem;
    align-items: center;
    justify-content: center;
    min-inline-size: 14.375rem;
    min-block-size: 3.375rem;
    padding: .25rem .625rem;
    font-size: 18px;
    font-weight: 700;
    background-color: #f2f0e6;
    border: .1875rem solid #6a0030;
    color: #6a0030;
    text-decoration: none
}

.l-header_contact a {
    transition: color .2s ease-out,background-color .2s ease-out
}

.l-header_contact a::before {
    font-family: icons;
    font-size: 1.2em;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none;
    content: '\e808';
    margin-inline-end:.3125rem}

.l-header_contact a::after {
    position: absolute;
    inline-size: calc(100% - 0.25rem);
    block-size: calc(100% - 0.25rem);
    content: "";
    border: .0625rem solid #6a0030
}

.l-header_contact a.is-hover {
    color: #fff;
    background-color: #6a0030
}

.l-headerNav {
    grid-row: 2/3;
    grid-column: 2/3;
    justify-self: end
}

.l-headerNav_list {
    display: flex;
    block-size: 100%;
    margin-inline-end:calc(.9375rem * -1)}

.l-headerNav_item a {
    display: flex;
    align-items: center;
    justify-content: center;
    block-size: 100%;
    padding-inline:0.9375rem;font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: inherit;
    -webkit-text-decoration: underline transparent;
    text-decoration: underline transparent;
    text-underline-offset: 0.25em
}

.l-headerNav_item a {
    transition: color .2s ease-out,-webkit-text-decoration .2s ease-out;
    transition: color .2s ease-out,text-decoration .2s ease-out;
    transition: color .2s ease-out,text-decoration .2s ease-out,-webkit-text-decoration .2s ease-out
}

.l-headerNav_item a.is-current,.l-headerNav_item a.is-hover,.l-headerNav_item a.is-parents {
    color: #6a0030;
    text-decoration: underline
}

.l-menu {
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 6;
    inline-size: 100%;
    block-size: 100%;
    padding-block-end:2.5rem;overflow-y: auto;
    visibility: hidden;
    background-color: #f2f2f2;
    background-size: 3.875rem auto;
    transform: translateY(-100%);
    background-image: url(../images/common/bg_pattern_01.png)
}

.is-no-avif .l-menu {
    background-image: url(../images/common/bg_pattern_01.png)
}

.l-menu:is(body.is-menuShow .l-menu) {
    animation-name: menu-show;
    animation-duration: .5s;
    animation-timing-function: cubic-bezier(0.645,0.045,0.355,1);
    animation-fill-mode: forwards
}

.l-menu:is(body.is-menuHide .l-menu) {
    animation-name: menu-hide;
    animation-duration: .3s;
    animation-timing-function: cubic-bezier(0.23,1,0.32,1);
    animation-fill-mode: forwards
}

@keyframes menu-show {
    0% {
        visibility: hidden;
        transform: translateY(-100%)
    }

    100% {
        visibility: visible;
        transform: translateY(0)
    }
}

@keyframes menu-hide {
    0% {
        visibility: visible;
        transform: translateY(0)
    }

    100% {
        visibility: hidden;
        transform: translateY(-100%)
    }
}

.l-menu_header {
    position: sticky;
    inset-block-start: 0;
    inset-inline-end: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    inline-size: 100%;
    min-block-size: var(--header-height);
    padding-block:0.625rem}

.l-menuClose_btn {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0
}

.l-menu_body {
    inline-size: min(33.125rem,100%);
    margin-inline:auto}

.l-menuList {
    margin-inline:var(--page-gap)}

.l-menuList + .l-menuList {
    margin-block-start: clamp(1.875rem,1.1377rem + 2.2727vw,2.5rem)
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a {
    display: grid;
    -moz-column-gap: 0.3125rem;
    column-gap: .3125rem;
    align-items: center;
    min-block-size: 3.75rem;
    padding-block:0.625rem;padding-inline:0.625rem;border-block:0.0625rem solid #c9c9c9;color: inherit;
    text-decoration: none
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a {
    transition: color .2s ease-out
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a span {
    -webkit-text-decoration: underline transparent;
    text-decoration: underline transparent;
    text-underline-offset: 0.25em
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a span {
    transition: -webkit-text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out,-webkit-text-decoration .2s ease-out
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a:is(.is-happi .l-menuList_item a) {
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: 1.25rem;
    font-weight: 700
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a::after,.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a:not([target=_blank]) {
    grid-template-columns: 1fr auto
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a:not([target=_blank])::after {
    font-size: .625rem;
    content: '\e811'
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a[target=_blank] {
    grid-template-columns: auto 1fr
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a[target=_blank]::before {
    content: '\e801'
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a:is(.is-hover, .is-current, .is-parents) {
    color: #6a0030
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) a:is(.is-hover, .is-current, .is-parents) span {
    text-decoration: underline
}

.l-menuList_item:is(.l-menuList:not(.is-post) .l-menuList_item) + .l-menuList_item a {
    margin-block-start:-0.0625rem}

.l-menuList.is-post {
    display: grid;
    gap: .625rem;
    margin-inline:var(--page-gap)}

.l-menuList.is-post .e-btn04 {
    margin-block-start: 0
}

.l-menuList.is-post .e-btn04 > span {
    font-size: 18px
}

.l-menuExternaList {
    margin-inline:var(--page-gap)}

.l-menuExternaList_item a {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    padding-block:0.625rem;font-size: clamp(.875rem, .7275rem + .4545vw, 1rem);
    color: inherit;
    text-decoration: none
}

.l-menuExternaList_item a {
    transition: color .2s ease-out
}

.l-menuExternaList_item a[target=_blank]::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none;
    content: '\e801';
    margin-inline-end:.5em}

.l-menuExternaList_item a span {
    -webkit-text-decoration: underline transparent;
    text-decoration: underline transparent;
    text-underline-offset: 0.25em
}

.l-menuExternaList_item a span {
    transition: -webkit-text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out;
    transition: text-decoration .2s ease-out,-webkit-text-decoration .2s ease-out
}

.l-menuExternaList_item a.is-hover {
    color: #6a0030
}

.l-menuExternaList_item a.is-hover span {
    text-decoration: underline
}

.l-menuExternaList_item:first-child a {
    padding-block-start:1.25rem}

.l-sub {
    line-height: 1.6
}

.e-aboutLinkList_container {
    container-type: inline-size
}

.e-aboutLinkList {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
    margin-block-start:clamp(3.75rem,2.2755rem + 4.5454vw,5rem)}

.e-aboutLinkList_item {
    flex-basis: calc((100% - 2.5rem)/ 3)
}

.e-aboutLinkList_item a {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    -moz-column-gap: 0.625rem;
    column-gap: .625rem;
    align-items: center;
    justify-content: center;
    block-size: 100%;
    min-block-size: 7.5rem;
    padding: .9375rem;
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    background-color: rgba(0,0,0,.5);
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    text-decoration: none
}

.e-aboutLinkList_item a[href="/flow/"] {
    background-image: url(../images/common/bg_bnr_about_flow.jpg)
}

.is-no-avif .e-aboutLinkList_item a[href="/flow/"] {
    background-image: url(../images/common/bg_bnr_about_flow.jpg)
}

.e-aboutLinkList_item a[href="/design/"] {
    background-image: url(../images/common/bg_bnr_about_design.jpg)
}

.is-no-avif .e-aboutLinkList_item a[href="/design/"] {
    background-image: url(../images/common/bg_bnr_about_design.jpg)
}

.e-aboutLinkList_item a[href="/cloth/"] {
    background-image: url(../images/common/bg_bnr_about_cloth.jpg)
}

.is-no-avif .e-aboutLinkList_item a[href="/cloth/"] {
    background-image: url(../images/common/bg_bnr_about_cloth.jpg)
}

.e-aboutLinkList_item a[href="/size/"] {
    background-image: url(../images/common/bg_bnr_about_size.jpg)
}

.is-no-avif .e-aboutLinkList_item a[href="/size/"] {
    background-image: url(../images/common/bg_bnr_about_size.jpg)
}

.e-aboutLinkList_item a::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    content: "";
    background-color: #000;
    opacity: 0
}

.e-aboutLinkList_item a::before {
    transition: opacity .2s ease-out
}

.e-aboutLinkList_item a::after {
    z-index: 1;
    content: '\e820';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-aboutLinkList_item a span {
    position: relative;
    padding-block:1.25rem;text-align: center;
    border-block:0.0625rem solid #8d8d8d}

.e-aboutLinkList_item a.is-current::before,.e-aboutLinkList_item a.is-hover::before {
    opacity: 1
}

@container (max-width:43.75rem) {
    .e-aboutLinkList_item {
        flex-basis: calc(50% - 0.625rem)
    }
}

@container (max-width:29.625rem) {
    .e-aboutLinkList_item {
        flex-basis: 100%
    }

    .e-aboutLinkList_item a {
        min-block-size: clamp(7.5rem,3.0767rem + 13.6363vw,11.25rem);
        padding: 1.25rem
    }
}

.e-anchorNav {
    container-type: inline-size;
    margin-block-start:2.5rem}

.e-anchorNavList {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center
}

.e-anchorNavList_item:is(.is-col03 .e-anchorNavList_item) {
    flex-basis: calc((100% - 2.5rem)/ 3)
}

.e-anchorNavList_item:is(.is-col04 .e-anchorNavList_item) {
    flex-basis: calc((100% - 3.75rem)/ 4)
}

.e-anchorNavList_item a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    -moz-column-gap: 0.625rem;
    column-gap: .625rem;
    align-items: center;
    justify-content: center;
    block-size: 100%;
    padding-block:0.625rem;padding-inline:1.25rem;line-height: 1.6;
    text-align: center;
    background-color: #fff;
    border: .0625rem solid #dfdfdf;
    border-radius: .3125rem;
    color: inherit;
    text-decoration: none
}

.e-anchorNavList_item a {
    transition: color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out
}

.e-anchorNavList_item a::before {
    content: ""
}

.e-anchorNavList_item a::after {
    content: '\e805';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-anchorNavList_item a.is-hover {
    background-color: #ededed;
    border-color: #555
}

@container (max-width:46.875rem) {
    .e-anchorNavList_item:is(.is-col03 .e-anchorNavList_item, .is-col04 .e-anchorNavList_item) {
        flex-basis: calc(50% - 0.625rem)
    }
}

@container (max-width:29.6875rem) {
    .e-anchorNavList {
        flex-direction: column
    }
}

.e-breadcrumbs {
    --min-height: 3.125rem;
    --background-color-rgb: 255 255 255;
    --shadow-size: var(--page-gap);
    --shadow-color-rgb: 0 0 0;
    --shadow-opacity: 0.4;
    margin-block-end:2.5rem}

.e-breadcrumbs_list {
    display: flex;
    padding-inline:var(--page-gap)}

.e-breadcrumbs_list li a,.e-breadcrumbs_list li: last-child {
    display:flex;
    align-items: center;
    padding-block:0.25em;font-size: .875rem;
    line-height: 1.6
}

.e-breadcrumbs_list li a {
    color: inherit
}

.e-breadcrumbs_list li a {
    transition: color .2s ease-out
}

.e-breadcrumbs_list li:first-child a {
    position: relative;
    padding-inline-start:calc(1em + 5px);position: relative
}

.e-breadcrumbs_list li:first-child a::before {
    position: absolute;
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    speak: none;
    content: '\e817';
    inset-inline-start: 0;
    inset-block-start: 50%;
    transform: translateY(-50%)
}

.e-breadcrumbs_list li:not(:last-child) a {
    position: relative;
    padding-inline-end:calc(1em + 10px);position: relative
}

.e-breadcrumbs_list li:not(:last-child) a::after {
    position: absolute;
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    speak: none;
    content: '\e811';
    inset-inline-end: 0.5em;
    inset-block-start: 50%;
    transform: translateY(-50%)
}

.e-breadcrumbs_list li:not(:last-child) a::after {
    font-size: .714rem
}

.e-breadcrumbs_list li:last-child {
    color: #c6151e
}

.e-btnMenuToggle {
    block-size: 100%;
    padding-inline:var(--page-gap)}

.e-btnMenuToggle span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 3.125rem;
    block-size: 3.125rem;
    background-color: #fff;
    border: .1875rem solid #000
}

.e-btnMenuToggle span {
    transition: color .2s ease-out
}

.e-btnMenuToggle span::before {
    position: absolute;
    inline-size: calc(100% - 0.25rem);
    block-size: calc(100% - 0.25rem);
    content: "";
    background-color: #f2f0e6;
    border: .0625rem solid #000
}

.e-btnMenuToggle span::before {
    transition: background-color .2s ease-out
}

.e-btnMenuToggle span::after {
    z-index: 1;
    font-size: 1.75rem;
    content: '\e809';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-btnMenuToggle.is-close span::after {
    content: '\e802'
}

.e-btnMenuToggle.is-hover span {
    color: #fff
}

.e-btnMenuToggle.is-hover span::before {
    background-color: #000
}

.e-btnPageTop {
    position: fixed;
    inset-block-end: calc(env(safe-area-inset-bottom) + 2.5rem);
    z-index: 2;
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s,visibility 0s ease .3s;
    transform: translateY(calc(var(--category-menu-btn-height) * -1))
}

.e-btnPageTop.is-show {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s
}

.e-btnPageTop a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 3.125rem;
    block-size: 3.125rem;
    overflow: hidden;
    font-size: 1.75rem;
    background-color: #fff;
    border: .1875rem solid;
    border-radius: var(--border-radius-infinity);
    color: inherit;
    text-decoration: none
}

.e-btnPageTop a::after {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none;
    content: '\e813'
}

.e-btnPageTop a::before {
    position: absolute;
    inline-size: calc(100% - 0.375rem);
    block-size: calc(100% - 0.375rem);
    content: "";
    border: .125rem solid;
    border-radius: var(--border-radius-infinity)
}

.e-btnPageTop a::before {
    transition: background-color .2s ease-out,border-color .2s ease-out
}

.e-btnPageTop a::after {
    z-index: 1;
    content: '\e813';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-btnPageTop a.is-hover {
    color: #fff;
    border-color: #6a0030
}

.e-btnPageTop a.is-hover::before {
    background-color: #6a0030;
    border-color: #6a0030
}

body:has(.categoryMenu) .e-btnPageTop {
    inset-block-end: calc(env(safe-area-inset-bottom) + 1.25rem)
}

.e-btn01 {
    position: relative;
    display: inline-flex;
    align-items: center;
    inline-size: 100%;
    max-inline-size: 25rem;
    min-block-size: clamp(4.375rem,2.9005rem + 4.5454vw,5.625rem);
    padding: 1.25rem;
    margin-block-start:clamp(1.25rem,0.5127rem + 2.2727vw,1.875rem);font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    background-color: #6a0030;
    background-size: 3.875rem auto;
    border: 0;
    color: #fff;
    text-decoration: none;
    background-image: url(../images/common/bg_pattern_02.png);
    background-repeat: repeat;
}

.is-no-avif .e-btn01 {
    background-image: url(../images/common/bg_pattern_02.png)
}

/* .e-btn01::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    content: "";
    background-color: rgba(0,0,0,.3);
    opacity: 0
} */

.e-btn01::before {
    transition: opacity .2s ease-out
}

.e-btn01 span {
    position: relative;
    display: inline-grid;
    grid-template-columns: 1fr auto 1fr;
    -moz-column-gap: 0.5em;
    column-gap: .5em;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    font-size: clamp(1.125rem, .9775rem + .4545vw, 1.25rem);
    font-weight: 700;
    line-height: 1.6;
    text-align: center
}

.e-btn01 span::before {
    justify-self: start;
    content: ""
}

/* .e-btn01 span::after {
    justify-self: end;
    content: '\e820';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
} */

.e-btn01::before {
    opacity: 1
}

.e-btn01[data-btn-width=content] {
    max-inline-size: -moz-max-content;
    max-inline-size: max-content
}

.e-btn01[data-btn-width=fluid] {
    max-inline-size: 100%
}

.e-btn02 {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    -moz-column-gap: 0.625rem;
    column-gap: .625rem;
    align-items: center;
    justify-content: center;
    padding-block:0.625rem;padding-inline:1.25rem;margin-block-start:1.25rem;line-height: 1.6;
    text-align: center;
    background-color: #fff;
    border: .0625rem solid #dfdfdf;
    border-radius: .3125rem;
    color: inherit;
    text-decoration: none
}

.e-btn02 {
    transition: color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out
}

.e-btn02::after {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none;
    content: '\e820'
}

.e-btn02 > span {
    display: flex;
    flex-direction: column
}

.e-btn02 > span > span {
    font-size: .875em
}

.e-btn02.is-hover {
    background-color: #ededed;
    border-color: #555
}

.e-btn02:is(.is-current, [aria-current=page]) {
    color: #fff;
    background-color: #555
}

.e-btn02[data-btn-width=fluid] {
    min-inline-size: 100%
}

.e-btn02[target=_blank]::after {
    content: '\e801'
}

.e-btn02[href*=".pdf"]::before {
    inline-size: 1.625rem;
    block-size: 2rem;
    content: url(../images/common/ico_file_pdf.svg)
}

.e-btn02[data-btn-icon-before]::before {
    inline-size: 1.625rem;
    block-size: 2rem
}

.e-btn02[data-btn-icon-before=ai]::before {
    content: url(../images/common/ico_file_ai.svg)
}

.e-btn02[data-btn-icon-before=xlsx]::before {
    content: url(../images/common/ico_file_xlsx.svg)
}

.e-btn02[data-btn-icon-after=download]::after {
    content: '\e827'
}

.e-btn02[data-btn-icon-after=blank]::before {
    content: ""
}

.e-btn02[data-btn-icon-after=blank]::after {
    content: '\e801'
}

.e-btn02:is([data-btn-icon-before], [data-btn-icon-after]) {
    grid-template-columns: auto 1fr auto
}

.e-btn03 {
    position: relative;
    display: inline-block;
    inline-size: 100%;
    max-inline-size: 25rem;
    block-size: 100%;
    margin-block-start:2.5rem;font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    background-color: #fff;
    border-block:0.1875rem solid #000;background-image: url(../images/common/bg_contents_01.png);
    color: inherit;
    text-decoration: none
}

.is-no-avif .e-btn03 {
    background-image: url(../images/common/bg_contents_01.png)
}

.e-btn03 {
    transition: color .2s ease-out
}

.e-btn03::before {
    position: absolute;
    inset-block-start: 0.125rem;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: calc(100% - 0.25rem);
    content: "";
    border-block:0.0625rem solid #000}

.e-btn03::before {
    transition: background-color .2s ease-out
}

.e-btn03 span {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    -moz-column-gap: 0.625rem;
    column-gap: .625rem;
    align-items: center;
    block-size: 100%;
    min-block-size: 5.625rem;
    padding-block:1.25rem;padding-inline:1.25rem}

.e-btn03 span::before {
    content: ""
}

.e-btn03 span::after {
    justify-self: end;
    content: '\e820';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-btn03 span::after {
    transition: translate .2s ease-out
}

.e-btn03[target=_blank] span::after {
    content: '\e801'
}

.e-btn03.is-hover {
    color: #6a0030
}

.e-btn03.is-hover::before {
    background-color: rgba(0,0,0,.1)
}

.e-btn03.is-hover span::after {
    translate: 0.3125rem 0
}

.e-btn03[data-btn-width=content] {
    max-inline-size: -moz-max-content;
    max-inline-size: max-content
}

.e-btn03[data-btn-width=fluid] {
    max-inline-size: 100%
}

.e-btn04 {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    row-gap: .625rem;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    max-inline-size: 25rem;
    block-size: 100%;
    min-block-size: 6.25rem;
    padding: 1.25rem calc(1.875rem + 1em);
    margin-block-start:2.5rem;text-align: center;
    background-image: url(../images/common/bg_contents_02.png);
    background-size: 25rem auto;
    border: .0625rem solid #dfdfdf;
    color: inherit;
    text-decoration: none
}

.e-btn04::after,.e-btn04::before {
    position: absolute
}

.e-btn04::before {
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    content: "";
    background-color: rgba(0,0,0,.1);
    opacity: 0
}

.e-btn04::before {
    transition: opacity .2s ease-out
}

.e-btn04::after {
    inset-block-start: 50%;
    inset-inline-end: 1.25rem;
    content: '\e820';
    transform: translateY(-50%);
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-btn04 > span:first-child {
    display: flex;
    flex-direction: column;
    row-gap: .625rem;
    align-items: center;
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-weight: 700;
    line-height: 1.4
}

.e-btn04 > span:first-child::before {
    inline-size: 2rem;
    aspect-ratio: 16/9;
    content: "";
    background: url(../images/common/bg_mark.svg) no-repeat top center;
    background-size: 100% auto
}

.e-btn04 > span + span {
    line-height: 1.6
}

.e-btn04[target=_blank]::after {
    content: '\e801'
}

.e-btn04.is-hover::before {
    opacity: 1
}

.e-btn04:has(span + span) {
    min-block-size: 9.375rem
}

.e-btn04:has(span + span) > span:first-child {
    font-size: clamp(1.375rem, 1.2275rem + .4545vw, 1.5rem)
}

.e-btn04[data-btn-width=content] {
    max-inline-size: -moz-max-content;
    max-inline-size: max-content
}

.e-btn04[data-btn-width=fluid] {
    max-inline-size: 100%
}

.e-contactList {
    display: grid;
    margin-block-start:1.25rem}

.e-contactList_item .e-btn03 {
    margin-block-start:0}

.e-headingStyle01 {
    position: relative;
    padding-block-end:0.25em;margin-block:clamp(3.75rem,1.1326rem + 4.3668vw,5rem) clamp(1.25rem,0.5127rem + 2.2727vw,1.875rem);font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: clamp(1.25rem, .8076rem + 1.3636vw, 1.625rem);
    font-weight: 700;
    line-height: 1.6;
    border-block-end:0.125rem solid #b79d6c}

.e-headingStyle01::before {
    position: absolute;
    inset-block-end: -0.125rem;
    inset-inline-start: 0;
    inline-size: 6.25rem;
    content: "";
    border-block-end:0.125rem solid}

.e-headingStyle01 span {
    font-size: .769em
}

.e-headingStyle02 {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 0.3125rem;
    column-gap: .3125rem;
    align-items: baseline;
    padding-inline-start:calc(1em + 0.3125rem);margin-block:2.5rem 0.9375rem;font-size: 1.125rem;
    font-weight: 700
}

.e-headingStyle02::before {
    position: absolute;
    inset-block-start: 0.6em;
    inset-inline-start: 0;
    color: #b79d6c;
    content: '\e818';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-headingStyle02 span {
    font-size: .888em;
    font-weight: 400
}

.e-headingStyle03 {
    margin-block-start:2.5rem;font-weight: 700
}

.e-lead {
    margin-block-start:clamp(1.875rem,1.1377rem + 2.2727vw,2.5rem);line-height: 2.2
}

.e-lead.is-serif {
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif
}

.e-linkList {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
    margin-block-start:2.5rem}

.e-linkList_item {
    flex-basis: calc(50% - 0.625rem)
}

.e-linkList_item a {
    margin-block-start:0}

.e-modal {
    --btn-size: clamp(3.75rem, 2.2755rem + 4.5454vw, 5rem);
    --modal-content-width: 50rem;
    --modal-content-padding: clamp(1.25rem, -0.2245rem + 4.5454vw, 2.5rem);
    --modal-content-bgc: #fff;
    --modal-content-color: inherit;
    --modal-dialog-width: calc( var(--modal-content-width) + (var(--btn-size) * 2) );
    --modal-content-shadow: 0 1.5625rem 3.125rem rgb(0 0 0 / 0.2),0 0.9375rem 1.875rem rgb(0 0 0 / 0.15)
}

.e-modal {
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    block-size: 100%;
    overflow: auto;
    background-color: rgba(30,30,30,.8)
}

.e-modal.is-show {
    animation-name: modal-show;
    animation-duration: .4s;
    animation-timing-function: cubic-bezier(0.645,0.045,0.355,1);
    animation-fill-mode: forwards
}

.e-modal.is-close {
    animation-name: modal-close;
    animation-duration: .2s;
    animation-timing-function: cubic-bezier(0.23,1,0.32,1);
    animation-fill-mode: forwards
}

.e-modal.is-fitImage .e-modal_dialog:not(:has(.e-modalImage)) {
    inline-size: 100%
}

.e-modal:not(.is-fitImage) .e-modal_dialog {
    inline-size: 100%
}

.e-modal.is-fullScreen {
    background-color: var(--modal-content-bgc)
}

.e-modal.is-fullScreen .e-modal_inner {
    block-size: 100%
}

.e-modal.is-fullScreen .e-modal_dialog {
    inline-size: 100%
}

.e-modal.is-fullScreen .e-modal_content {
    max-inline-size: var(--modal-content-width);
    margin-inline:auto}

.e-modal:not(.is-fullScreen) .e-modal_dialog {
    max-inline-size: var(--modal-dialog-width)
}

.e-modal:not(.is-fullScreen) .e-modal_content {
    min-block-size: calc(var(--btn-size) * 3);
    margin-inline:auto;background-color: var(--modal-content-bgc);
    box-shadow: var(--modal-content-shadow)
}

.e-modal:not(.is-fullScreen) .e-modal_content:is(.e-modal.is-show .e-modal_content) {
    animation-name: modal-content-show;
    animation-duration: .4s;
    animation-fill-mode: both
}

.e-modal:not(.is-fullScreen) .e-modal_content:is(.e-modal.is-close .e-modal_content) {
    animation-name: modal-content-close;
    animation-duration: .2s;
    animation-fill-mode: both
}

.e-modal_inner {
    display: flex;
    justify-content: center;
    inline-size: 100%;
    max-block-size: 100%
}

.e-modal_dialog {
    position: relative;
    block-size: 100%;
    padding-block:var(--btn-size)}

.e-modal_content {
    min-block-size: calc(var(--btn-size) * 3);
    padding: var(--modal-content-padding);
    overflow: hidden;
    color: var(--modal-content-color)
}

.e-modal_body {
    animation-name: modal-body-show;
    animation-duration: .4s;
    animation-fill-mode: forwards
}

.e-modalImage {
    display: table;
    margin-inline:auto}

.e-modalImage_caption {
    display: table-caption;
    padding: .5em;
    caption-side: bottom;
    mix-blend-mode: difference
}

.e-modal_video iframe {
    display: block;
    inline-size: 100%;
    aspect-ratio: 16/9;
    border: 0
}

@keyframes modal-show {
    0% {
        visibility: hidden;
        opacity: 0
    }

    100% {
        visibility: visible;
        opacity: 1
    }
}

@keyframes modal-close {
    0% {
        visibility: visible;
        opacity: 1
    }

    100% {
        visibility: hidden;
        opacity: 0
    }
}

@keyframes modal-content-show {
    0% {
        opacity: 0;
        scale: 0.9
    }

    100% {
        opacity: 1;
        scale: 1
    }
}

@keyframes modal-content-close {
    0% {
        opacity: 1;
        scale: 1
    }

    100% {
        opacity: 0;
        scale: 0.9
    }
}

@keyframes modal-body-show {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.e-modal_counter {
    position: absolute;
    inset-block-start: 0;
    display: flex;
    align-items: flex-end;
    block-size: var(--btn-size);
    padding-block-end:0.5em;color: #fff;
    mix-blend-mode: difference
}

.e-modal_arrow {
    position: absolute;
    inset-block-start: 50%
}

.e-modal_arrow span {
    position: fixed;
    inset-block-start: calc(50% - var(--btn-size)/ 2);
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--btn-size);
    block-size: var(--btn-size);
    font-size: clamp(2.5rem, 1.7627rem + 2.2727vw, 3.125rem);
    color: #fff;
    text-align: center;
    outline: 0 transparent;
    transition: .2s
}

.e-modal_arrow span {
    transition: color .2s ease-out
}

.e-modal_arrow span::before {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    inline-size: 0.9em;
    block-size: 0.9em;
    content: "";
    background-color: #000;
    border-radius: var(--border-radius-infinity);
    translate: -50% -50%
}

.e-modal_arrow span::before {
    transition: background-color .2s ease-out
}

.e-modal_arrow span::after {
    position: relative;
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-modal_arrow:focus-visible {
    outline: 0
}

.e-modal_arrow:focus-visible span {
    outline: var(--outline-width) solid #b79d6c;
    outline-offset: var(--outline-width)
}

.e-modal_arrow.is-hover span {
    color: #6a0030
}

.e-modal_arrow.is-hover span::before {
    background-color: #fff
}

.e-modal_arrow.is-next {
    inset-inline-end: var(--btn-size)
}

.e-modal_arrow.is-next span::after {
    content: '\e820'
}

.e-modal_arrow.is-prev {
    inset-inline-start: 0
}

.e-modal_arrow.is-prev span::after {
    content: '\e819'
}

.e-modal_close {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: var(--btn-size)
}

.e-modal_close > span {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--btn-size);
    block-size: var(--btn-size)
}

.e-modal_close > span > span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: clamp(3.125rem,2.3877rem + 2.2727vw,3.75rem);
    block-size: clamp(3.125rem,2.3877rem + 2.2727vw,3.75rem);
    background-color: #fff;
    border: .1875rem solid #000
}

.e-modal_close > span > span {
    transition: color .2s ease-out
}

.e-modal_close > span > span::before {
    position: absolute;
    inline-size: calc(100% - 0.25rem);
    block-size: calc(100% - 0.25rem);
    content: "";
    background-color: #f2f0e6;
    border: .0625rem solid #000
}

.e-modal_close > span > span::before {
    transition: background-color .2s ease-out
}

.e-modal_close > span > span::after {
    z-index: 1;
    font-size: clamp(1.75rem, 1.1602rem + 1.8181vw, 2.25rem);
    content: '\e802';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-modal_close:focus-visible {
    outline: 0
}

.e-modal_close:focus-visible > span {
    outline: var(--outline-width) solid #b79d6c;
    outline-offset: var(--outline-width)
}

.e-modal_close.is-hover > span > span {
    color: #fff
}

.e-modal_close.is-hover > span > span::before {
    background-color: #000
}

.e-pager {
    container-type: inline-size;
    margin-block-start:2.5rem}

.e-pager_list {
    display: flex;
    -moz-column-gap: 0.625rem;
    column-gap: .625rem;
    justify-content: center
}

.e-pager_item a {
    display: flex;
    align-items: center;
    justify-content: center;
    block-size: 100%;
    min-block-size: 3.125rem;
    padding: .625rem;
    line-height: 1.6;
    text-align: center;
    background-color: #fff;
    border: .0625rem solid #dfdfdf;
    color: inherit;
    text-decoration: none
}

.e-pager_item a {
    transition: background-color .2s ease-out
}

.e-pager_item a.is-hover {
    background-color: #ededed
}

.e-pager_item:empty {
    visibility: hidden
}

.e-pager_item.is-next,.e-pager_item.is-prev {
    min-inline-size: 3.125rem
}

.e-pager_item.is-next a::after,.e-pager_item.is-next a::before,.e-pager_item.is-prev a::after,.e-pager_item.is-prev a::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-pager_item.is-index {
    inline-size: min(15rem,100%)
}

.e-pager_item.is-prev a::before {
    content: '\e800'
}

.e-pager_item.is-next a::after {
    content: '\e811'
}

@container (max-width:25rem) {
    .e-pager_list {
        justify-content: space-between
    }

    .e-pager_item.is-index {
        flex: 1
    }
}

.e-pagination {
    margin-block-start:2.5rem;container-type: inline-size
}

.e-pagination_list {
    display: flex;
    justify-content: center
}

.e-pagination_list li {
    display: flex
}

.e-pagination_list li a {
    color: inherit;
    text-decoration: none
}

.e-pagination_list li a {
    transition: color .2s ease-out,background-color .2s ease-out
}

.e-pagination_list li a,.e-pagination_list li.is-current,.e-pagination_list li:empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 3.125rem;
    min-block-size: 3.125rem;
    padding-block:0.3125rem;padding-inline:0.625rem;margin-inline:-0.0625rem;line-height: 1.6;
    text-align: center;
    background-color: #fff;
    border: .0625rem solid #dfdfdf
}

.e-pagination_list li a.is-hover {
    background-color: #ededed
}

.e-pagination_list li:empty {
    visibility: hidden
}

.e-pagination_list li:is(.is-first, .is-prev, .is-next, .is-last) a::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-pagination_list li.is-first a::before {
    content: '\e803'
}

.e-pagination_list li.is-prev a::before {
    content: '\e800'
}

.e-pagination_list li.is-next a::before {
    content: '\e811'
}

.e-pagination_list li.is-last a::before {
    content: '\e804'
}

@container (min-width:31.3125rem) {
    .e-pagination_list li.is-current {
        color: #fff;
        background-color: #555
    }
}

@container (max-width:31.25rem) {
    .e-pagination_list li: not([class]) {
        display:none
    }

    .e-pagination_list li.is-current {
        display: flex;
        flex-wrap: wrap;
        align-items: center
    }

    .e-pagination_list li.is-current span {
        display: inline-flex;
        -moz-column-gap: 0.6em;
        column-gap: .6em
    }

    .e-pagination_list li.is-current span: :after {
        content:"";
        border: solid .0625rem;
        rotate: 30deg
    }

    .e-pagination_list li.is-current: :after {
        margin-inline-start:.6em;
        content: attr(data-last-page)
    }
}

.e-scrollBlock {
    --shadow-color: hsl(0deg 0% 87% / 0.9);
    --shadow-size: 0.5rem;
    --shadow-spread: calc(var(--shadow-size) * -0.5);
    overflow-x: auto;
    animation: scroll-shadow-inset linear;
    animation-timeline: scroll(self x)
}

@keyframes scroll-shadow-inset {
    0% {
        box-shadow: inset calc(var(--shadow-size) * -2) 0 var(--shadow-size) var(--shadow-spread) var(--shadow-color),inset 0 0 var(--shadow-size) var(--shadow-spread) var(--shadow-color)
    }

    10%,90% {
        box-shadow: inset calc(var(--shadow-size) * -1) 0 var(--shadow-size) var(--shadow-spread) var(--shadow-color),inset var(--shadow-size) 0 var(--shadow-size) var(--shadow-spread) var(--shadow-color)
    }

    100% {
        box-shadow: inset 0 0 var(--shadow-size) var(--shadow-spread) var(--shadow-color),inset calc(var(--shadow-size) * 2) 0 var(--shadow-size) var(--shadow-spread) var(--shadow-color)
    }
}

.e-table {
    inline-size: 100%;
    line-height: 2;
    background-color: #fff
}

.e-table :is(th, td) {
    border: .0625rem solid #dfdfdf
}

.e-table caption {
    padding-block:0.625rem;padding-inline:0.625rem;font-weight: 700;
    color: #fff;
    background-color: #555
}

.e-table th {
    padding-block:0.625rem;padding-inline:0.625rem;color: #fff;
    background-color: #555
}

.e-table thead th {
    padding-block:0.625rem}

.e-table tbody tr:nth-of-type(even) {
    background-color: #fafafa
}

.e-table tbody th {
    padding-block:1.25rem}

.e-table tbody td {
    padding-block:1.25rem;padding-inline:0.625rem;text-align: center
}

.e-titleWrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-block-size: clamp(6.875rem,5.4005rem + 4.5454vw,8.125rem);
    padding-block:0.625rem;background-color: #fff;
    border-block:0.0625rem solid #dfdfdf}

.e-titleWrapper::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    inline-size: clamp(10rem,1.2488rem + 43.7556vw,40rem);
    block-size: 100%;
    content: "";
    background-repeat: no-repeat;
    background-position: left;
    background-size: 40rem
}

.e-titleWrapper > .e-title {
    inline-size: 100%;
    max-inline-size: calc(87.5rem);
    padding-inline:var(--page-gap);margin-inline: auto
}

.e-title_text {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 0.625rem;
    column-gap: .625rem;
    align-items: baseline;
    padding-inline-start:calc(1em + 5px);font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: clamp(1.625rem, 1.3301rem + .909vw, 1.875rem);
    font-weight: 700;
    line-height: 1.6
}

.e-title_text::before {
    position: absolute;
    inset-block-start: 0.38em;
    inset-inline-start: 0;
    color: #6a0030;
    content: '\e818';
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.e-title_text span {
    display: inline-block;
    font-size: .666em
}

.e-titleWrapper::before {
    background-image: url(../images/common/bg_title.png)
}

.is-no-avif .e-titleWrapper::before {
    background-image: url(../images/common/bg_title.png)
}

.p-original .e-titleWrapper::before {
    background-image: url(../images/common/bg_title_original.png)
}

.is-no-avif .p-original .e-titleWrapper::before {
    background-image: url(../images/common/bg_title_original.png)
}

.p-jirei .e-titleWrapper::before {
    background-image: url(../images/common/bg_title_jirei.png)
}

.is-no-avif .p-jirei .e-titleWrapper::before {
    background-image: url(../images/common/bg_title_jirei.png)
}

.p-happi-box .e-titleWrapper::before {
    background-image: url(../images/common/bg_title_happi-box.png)
}

.is-no-avif .p-happi-box .e-titleWrapper::before {
    background-image: url(../images/common/bg_title_happi-box.png)
}

.m-delivery {
    padding-block:2.5rem;margin-block-start:clamp(3.75rem,1.1326rem + 4.3668vw,5rem);text-align: center;
    background-image: url(../images/common/bg_contents_03.jpg)
}

.is-no-avif .m-delivery {
    background-image: url(../images/common/bg_contents_03.jpg)
}

.m-delivery_heading {
    font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-size: clamp(1.5rem, .9102rem + 1.8181vw, 2rem);
    font-weight: 700;
    line-height: 1.8
}

.m-flowList_container {
    container-type: inline-size
}

.m-flowList {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem .625rem;
    justify-content: center;
    margin-block-start:40px}

.m-flowList_item {
    display: flex;
    flex-basis: calc((100% - 2.5rem)/ 5);
    flex-direction: column;
    row-gap: .625rem;
    align-items: center;
    padding-block:0.625rem 1.25rem;padding-inline:0.3125rem;font-family: YakuHanMP_Noto,"Noto Serif JP","Hiragino Mincho ProN","MS PMincho",serif;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    background-color: #fff;
    border: .0625rem solid #dfdfdf;
    border-radius: .625rem
}

.m-flowList_item span:nth-child(1) {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    color: #b79d6c;
    text-transform: uppercase
}

.m-flowList_item span:nth-child(1) > span {
    display: block;
    inline-size: 100%;
    padding-block-end:0.3125rem;margin-block-end:0.3125rem;font-size: 1.444em;
    text-align: center;
    border-block-end:0.0625rem solid}

@container (max-width:50rem) {
    .m-flowList_item {
        flex-basis: calc((100% - 1.25rem)/ 3)
    }
}

@container (max-width:29.375rem) {
    .m-flowList_item {
        flex-basis: calc(50% - 0.625rem)
    }
}

.m-imageSliderMain {
    padding: clamp(.625rem,-.1043rem + 3.6463vw,3.125rem);
    margin-block-start:1.25rem;background-color: #fff;
    border: .0625rem solid #dfdfdf
}

.m-imageSliderMain .splide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1
}

.m-imageSliderMain .splide__slide img {
    aspect-ratio: 1;
    -o-object-fit: contain;
    object-fit: contain
}

.m-imageSliderMain_label {
    position: absolute;
    inset-block-start: clamp(0.625rem,-0.3801rem + 5.0251vw,1.25rem);
    inset-inline-start: clamp(0.625rem,-0.3801rem + 5.0251vw,1.25rem);
    display: inline-block;
    padding: .625rem 1em;
    font-size: clamp(1rem, .5576rem + 1.3636vw, 1.375rem);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    background-color: #b79d6c;
    border-radius: .3125rem
}

.m-imageSliderThumbnails {
    margin-block-start:clamp(0.625rem,-0.1123rem + 2.2727vw,1.25rem)}

.m-imageSliderThumbnails .splide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    padding: clamp(.3125rem,-.7934rem + 3.409vw,1.25rem);
    cursor: pointer;
    background-color: #fff;
    border: .0625rem solid #dfdfdf
}

.m-imageSliderThumbnails .splide__slide img {
    aspect-ratio: 1;
    -o-object-fit: contain;
    object-fit: contain
}

.m-imageSliderThumbnails .splide__slide.is-active {
    border-color: #6a0030;
    border-width: .125rem
}

.m-imageSliderThumbnails .splide__arrow {
    position: absolute;
    inset-block-start: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 3.125rem;
    block-size: 3.125rem;
    translate: 0 -50%
}

.m-imageSliderThumbnails .splide__arrow::after,.m-imageSliderThumbnails .splide__arrow::before {
    font-size: 1.75rem;
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none
}

.m-imageSliderThumbnails .splide__arrow::after,.m-imageSliderThumbnails .splide__arrow::before {
    transition: color .2s ease-out
}

.m-imageSliderThumbnails .splide__arrow::before {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    color: #fff;
    content: '\e828';
    translate: -50% -50%
}

.m-imageSliderThumbnails .splide__arrow::after {
    z-index: 1
}

.m-imageSliderThumbnails .splide__arrow.is-hover::after {
    color: #6a0030
}

.m-imageSliderThumbnails .splide__arrow[disabled]::after {
    color: #c9c9c9
}

.m-imageSliderThumbnails .splide__arrow.splide__arrow--prev {
    inset-inline-start: -3.125rem
}

.m-imageSliderThumbnails .splide__arrow.splide__arrow--prev::after {
    content: '\e819'
}

.m-imageSliderThumbnails .splide__arrow.splide__arrow--next {
    inset-inline-end: -3.125rem
}

.m-imageSliderThumbnails .splide__arrow.splide__arrow--next::after {
    content: '\e820'
}

.m-imageSlider_note {
    margin-block-start:clamp(0.625rem,-0.1123rem + 2.2727vw,1.25rem);font-size: clamp(.875rem, .7275rem + .4545vw, 1rem);
    color: #c50000
}

.m-wpBody {
    display: flow-root;
    margin-block-start:clamp(1.875rem,1.1377rem + 2.2727vw,2.5rem);font-size: clamp(1rem, .8525rem + .4545vw, 1.125rem)
}

.m-wpBody > *:first-child {
    margin-block-start:0}

.m-wpBody :is(h4, h5, h6, p) {
    margin-block-start:1em}

.m-wpBody h2 {
    position: relative;
    padding-block-end:0.25em;margin-block:clamp(3.75rem,1.1326rem + 4.3668vw,5rem) clamp(1.25rem,0.5127rem + 2.2727vw,1.875rem);font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    border-block-end:0.125rem solid #b79d6c}

.m-wpBody h2::before {
    position: absolute;
    inset-block-end: -0.125rem;
    inset-inline-start: 0;
    inline-size: 6.25rem;
    content: "";
    border-block-end:0.125rem solid}

.m-wpBody h3 {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    margin-block-start:2.5rem;font-weight: 700
}

.m-wpBody h3::before {
    font-family: icons;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    line-height: 1;
    color: #b79d6c;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    speak: none;
    content: '\e818'
}

.m-wpBody em {
    font-style: italic
}

.m-wpBody blockquote {
    padding-block:1em;padding-inline-start:1em;margin-block:2em;color: #777;
    border-inline-start:0.3125rem solid #ddd}

.m-wpBody blockquote > p {
    margin-block-start:0}

.m-wpBody ol,.m-wpBody ul {
    margin-block-start:1em}

.m-wpBody ul {
    list-style-type: disc
}

.m-wpBody ol {
    list-style-type: decimal
}

.m-wpBody li {
    margin-inline-start:1em}

.m-wpBody figure {
    margin-block:2em}

.m-wpBody .aligncenter {
    display: block;
    margin-inline:auto}

.m-wpBody .alignright {
    float: inline-end;
    margin-block-end:20px;margin-inline-start:20px}

.m-wpBody .alignleft {
    float: inline-start;
    margin-block-end:20px;margin-inline-end:20px}

.m-wpBody .wp-caption,.m-wpBody [class*=wp-image] {
    display: block;
    max-inline-size: 100%!important;
    margin-block-start:1em;text-align: center
}

.m-wpBody .wp-caption-text {
    margin-block-start:0}

.u-dbl {
    display: block
}

.u-dinbl {
    display: inline-block
}

.u-din {
    display: inline
}

.u-fwb {
    font-weight: 700!important
}

.u-fwn {
    font-weight: 400!important
}

.u-list li {
    margin-inline-start:1.5em}

ul.u-list {
    list-style-type: disc
}

ul.u-list.is-circle {
    list-style-type: circle
}

ul.u-list.is-square {
    list-style-type: square
}

ol.u-list {
    list-style-type: decimal
}

ol.u-list.is-decimal-leading-zero {
    list-style-type: decimal-leading-zero
}

ol.u-list.is-lower-roman {
    list-style-type: lower-roman
}

ol.u-list.is-upper-roman {
    list-style-type: upper-roman
}

ol.u-list.is-cjk-ideographic {
    list-style-type: cjk-ideographic
}

ol.u-list.is-hiragana {
    list-style-type: hiragana
}

ol.u-list.is-hiragana-iroha {
    list-style-type: hiragana-iroha
}

ol.u-list.is-katakana {
    list-style-type: katakana
}

ol.u-list.is-katakana-iroha {
    list-style-type: katakana-iroha
}

ol.u-list.is-lower-alpha {
    list-style-type: lower-alpha
}

ol.u-list.is-upper-alpha {
    list-style-type: upper-alpha
}

.u-mt5 {
    margin-block-start:5px!important}

.u-mr5 {
    margin-inline-end:5px!important}

.u-mb5 {
    margin-block-end:5px!important}

.u-ml5 {
    margin-inline-start:5px!important}

.u-mt10 {
    margin-block-start:10px!important}

.u-mr10 {
    margin-inline-end:10px!important}

.u-mb10 {
    margin-block-end:10px!important}

.u-ml10 {
    margin-inline-start:10px!important}

.u-mt15 {
    margin-block-start:15px!important}

.u-mr15 {
    margin-inline-end:15px!important}

.u-mb15 {
    margin-block-end:15px!important}

.u-ml15 {
    margin-inline-start:15px!important}

.u-mt20 {
    margin-block-start:20px!important}

.u-mr20 {
    margin-inline-end:20px!important}

.u-mb20 {
    margin-block-end:20px!important}

.u-ml20 {
    margin-inline-start:20px!important}

.u-mt25 {
    margin-block-start:25px!important}

.u-mr25 {
    margin-inline-end:25px!important}

.u-mb25 {
    margin-block-end:25px!important}

.u-ml25 {
    margin-inline-start:25px!important}

.u-mt30 {
    margin-block-start:30px!important}

.u-mr30 {
    margin-inline-end:30px!important}

.u-mb30 {
    margin-block-end:30px!important}

.u-ml30 {
    margin-inline-start:30px!important}

.u-mt35 {
    margin-block-start:35px!important}

.u-mr35 {
    margin-inline-end:35px!important}

.u-mb35 {
    margin-block-end:35px!important}

.u-ml35 {
    margin-inline-start:35px!important}

.u-mt40 {
    margin-block-start:40px!important}

.u-mr40 {
    margin-inline-end:40px!important}

.u-mb40 {
    margin-block-end:40px!important}

.u-ml40 {
    margin-inline-start:40px!important}

.u-mt45 {
    margin-block-start:45px!important}

.u-mr45 {
    margin-inline-end:45px!important}

.u-mb45 {
    margin-block-end:45px!important}

.u-ml45 {
    margin-inline-start:45px!important}

.u-mt50 {
    margin-block-start:50px!important}

.u-mr50 {
    margin-inline-end:50px!important}

.u-mb50 {
    margin-block-end:50px!important}

.u-ml50 {
    margin-inline-start:50px!important}

.u-mt1em {
    margin-block-start:1em!important}

.u-mt1_5em {
    margin-block-start:1.5em!important}

.u-mt2em {
    margin-block-start:2em!important}

.u-mt2_5em {
    margin-block-start:2.5em!important}

.u-mt3em {
    margin-block-start:3em!important}

.u-pt5 {
    padding-block-start:5px!important}

.u-pr5 {
    padding-inline-end:5px!important}

.u-pb5 {
    padding-block-end:5px!important}

.u-pl5 {
    padding-inline-start:5px!important}

.u-pt10 {
    padding-block-start:10px!important}

.u-pr10 {
    padding-inline-end:10px!important}

.u-pb10 {
    padding-block-end:10px!important}

.u-pl10 {
    padding-inline-start:10px!important}

.u-pt15 {
    padding-block-start:15px!important}

.u-pr15 {
    padding-inline-end:15px!important}

.u-pb15 {
    padding-block-end:15px!important}

.u-pl15 {
    padding-inline-start:15px!important}

.u-pt20 {
    padding-block-start:20px!important}

.u-pr20 {
    padding-inline-end:20px!important}

.u-pb20 {
    padding-block-end:20px!important}

.u-pl20 {
    padding-inline-start:20px!important}

.u-pt25 {
    padding-block-start:25px!important}

.u-pr25 {
    padding-inline-end:25px!important}

.u-pb25 {
    padding-block-end:25px!important}

.u-pl25 {
    padding-inline-start:25px!important}

.u-pt30 {
    padding-block-start:30px!important}

.u-pr30 {
    padding-inline-end:30px!important}

.u-pb30 {
    padding-block-end:30px!important}

.u-pl30 {
    padding-inline-start:30px!important}

.u-pt35 {
    padding-block-start:35px!important}

.u-pr35 {
    padding-inline-end:35px!important}

.u-pb35 {
    padding-block-end:35px!important}

.u-pl35 {
    padding-inline-start:35px!important}

.u-pt40 {
    padding-block-start:40px!important}

.u-pr40 {
    padding-inline-end:40px!important}

.u-pb40 {
    padding-block-end:40px!important}

.u-pl40 {
    padding-inline-start:40px!important}

.u-pt45 {
    padding-block-start:45px!important}

.u-pr45 {
    padding-inline-end:45px!important}

.u-pb45 {
    padding-block-end:45px!important}

.u-pl45 {
    padding-inline-start:45px!important}

.u-pt50 {
    padding-block-start:50px!important}

.u-pr50 {
    padding-inline-end:50px!important}

.u-pb50 {
    padding-block-end:50px!important}

.u-pl50 {
    padding-inline-start:50px!important}

.u-tac {
    text-align: center!important
}

.u-tar {
    text-align: end!important
}

.u-tal {
    text-align: start!important
}

.u-indent {
    margin-inline-start:1em;text-indent: -1em
}

.u-indent_1_5 {
    margin-inline-start:1.5em;text-indent: -1.5em
}

.u-indent_2 {
    margin-inline-start:2em;text-indent: -2em
}

.u-indent_2_5 {
    margin-inline-start:2.5em;text-indent: -2.5em
}

.u-indent_3 {
    margin-inline-start:3em;text-indent: -3em
}

ol.u-indent,ul.u-indent {
    margin-inline-start:0!important;text-indent: 0!important
}

ol.u-indent li,ul.u-indent li {
    margin-inline-start:1em;text-indent: -1em
}

ol.u-indent_1_5,ul.u-indent_1_5 {
    margin-inline-start:1.5em;text-indent: -1.5em
}

ol.u-indent_2 li,ul.u-indent_2 li {
    margin-inline-start:2em;text-indent: -2em
}

ol.u-indent_2_5 li,ul.u-indent_2_5 li {
    margin-inline-start:2.5em;text-indent: -2.5em
}

ol.u-indent_3 li,ul.u-indent_3 li {
    margin-inline-start:3em;text-indent: -3em
}

.u-upper {
    text-transform: uppercase
}

.u-vat {
    vertical-align: top!important
}

.u-vam {
    vertical-align: middle!important
}

.u-vab {
    vertical-align: bottom!important
}

.u-w_fluid {
    inline-size: 100%!important
}

.u-w_auto {
    inline-size: auto!important
}

@media (min-width: 519.98px) and (max-width:959px) {
    .u-mediumHide {
        display:none
    }
}

@media (min-width: 59.9987rem) and (resolution >= 2dppx) {
    .e-titleWrapper::before {
        background-image:url(../images/common/bg_title@2x.png)
    }

    .is-no-avif .e-titleWrapper::before {
        background-image: url(../images/common/bg_title@2x.png)
    }

    .p-original .e-titleWrapper::before {
        background-image: url(../images/common/bg_title_original@2x.png)
    }

    .is-no-avif .p-original .e-titleWrapper::before {
        background-image: url(../images/common/bg_title_original@2x.png)
    }

    .p-jirei .e-titleWrapper::before {
        background-image: url(../images/common/bg_title_jirei@2x.png)
    }

    .is-no-avif .p-jirei .e-titleWrapper::before {
        background-image: url(../images/common/bg_title_jirei@2x.png)
    }

    .p-happi-box .e-titleWrapper::before {
        background-image: url(../images/common/bg_title_happi-box@2x.png)
    }

    .is-no-avif .p-happi-box .e-titleWrapper::before {
        background-image: url(../images/common/bg_title_happi-box@2x.png)
    }
}

@media not all and (max-width: 88.5625rem) {
    .u-minLargeHide {
        display:none
    }
}

@media not all and (max-width: 100rem) {
    .e-btnPageTop {
        inset-inline-start:50%;
        margin-inline-start:45rem}
}

@media not all and (max-width: 59.9375rem) {
    .l-footer_inner {
        /* display:grid; */
        grid-template-columns: clamp(15.625rem,5.1555rem + 17.4672vw,20.625rem) 1fr;
        -moz-column-gap: clamp(2.5rem,-19.1877rem + 31.5457vw,8.75rem);
        column-gap: clamp(2.5rem,-19.1877rem + 31.5457vw,8.75rem)
    }

    .l-header {
        transition: inset-block-start .5s ease-out
    }

    .l-header:is(.is-headerHide .l-header) {
        inset-block-start: calc(var(--header-height) * -1)
    }

    .l-header_inner {
        grid-template-rows: repeat(2,auto);
        padding-inline:var(--page-gap)}

    .l-header_logo {
        grid-row: 1/3
    }

    .l-headerMenu {
        display: none
    }

    .l-menu {
        display: none
    }

    .l-main {
        float: inline-end;
        inline-size: 75.7575%
    }

    .l-sub {
        float: inline-start;
        inline-size: 21.2121%
    }

    .e-breadcrumbs_list {
        flex-wrap: wrap;
        align-items: center;
        max-inline-size: 1400px;
        min-block-size: var(--min-height);
        padding-block:0.625rem;margin-inline:auto}

    .u-minMediumHide {
        display: none
    }
}

@media not all and (max-width: 32.4375rem) {
    .l-asideContactList {
        grid-template-columns:repeat(2,minmax(0,min(25rem,100%)));
        -moz-column-gap: clamp(1.25rem,0.5275rem + 2.2271vw,2.5rem);
        column-gap: clamp(1.25rem,.5275rem + 2.2271vw,2.5rem);
        justify-content: center
    }

    .l-menuList.is-post {
        grid-template-columns: repeat(2,1fr)
    }

    .e-contactList {
        grid-template-columns: repeat(2,minmax(0,min(25rem,100%)));
        -moz-column-gap: clamp(1.25rem,0.5275rem + 2.2271vw,2.5rem);
        column-gap: clamp(1.25rem,.5275rem + 2.2271vw,2.5rem);
        justify-content: center
    }

    .e-modal_dialog {
        padding-inline:var(--btn-size)}

    .u-minSmallHide {
        display: none
    }
}

@media not all and (max-width: 62.5rem) {
    .l-asideContact_inner {
        display:grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        justify-content: center
    }

    .l-asideContact_inner::after,.l-asideContact_inner::before {
        inline-size: clamp(12.5rem,-8.4833rem + 33.5731vw,21.25rem);
        aspect-ratio: 4/3;
        content: "";
        background-size: 100% auto
    }

    .l-asideContact_inner::before {
        justify-self: end;
        background-image: url(../images/common/bg_aside_contact_01.png)
    }

    .is-no-avif .l-asideContact_inner::before {
        background-image: url(../images/common/bg_aside_contact_01.png)
    }

    .l-asideContact_inner::after {
        background-image: url(../images/common/bg_aside_contact_02.png)
    }

    .is-no-avif .l-asideContact_inner::after {
        background-image: url(../images/common/bg_aside_contact_02.png)
    }
}

@media (max-width: 100rem) {
    .e-btnPageTop {
        inset-inline-end:var(--page-gap)
    }
}

@media (max-width: 88.5625rem) {
    .u-maxLargeHide {
        display:none
    }
}

@media (max-width: 68.75rem) {
    .l-footer .l-footerLinks {
        grid-template-rows:repeat(2,auto);
        grid-template-columns: repeat(2,1fr)
    }

    .l-footer .l-footerLinks_col:nth-child(3) {
        margin-block-start:0}
}

@media (max-width: 59.9375rem) {
    :root {
        --header-height:clamp(5rem, 2.0511rem + 9.0909vw, 7.5rem)
    }

    .l-footer {
        margin-block-end:var(--category-menu-btn-height)}

    .l-footerInfo {
        inline-size: -moz-fit-content;
        inline-size: fit-content;
        margin-inline:auto}

    .l-footer .l-footerLinks {
        display: none
    }

    .l-header_logo a {
        inline-size: calc(clamp(5.625rem,2.8235rem + 8.6363vw,8rem) + var(--page-gap) * 2);
        padding-inline:var(--page-gap)}

    .l-header .l-header_contact {
        display: none
    }

    .l-headerMenu {
        block-size: 100%
    }

    .l-headerMenu_btn {
        padding-inline:clamp(0.625rem,0.2563rem + 1.1363vw,0.9375rem)}

    .l-headerEc {
        block-size: 100%
    }

    .l-headerEc_item {
        block-size: 100%
    }

    .l-headerEc_item a {
        block-size: 100%
    }

    .l-headerNav {
        display: none
    }

    .l-sub {
        margin-block-start:3.125rem}

    .e-breadcrumbs {
        padding-inline:0}

    .e-breadcrumbs_list {
        flex-wrap: nowrap;
        overflow-x: auto;
        background: linear-gradient(90deg,rgb(var(--background-color-rgb)) 50%,rgb(var(--background-color-rgb)/0)),linear-gradient(90deg,rgb(var(--background-color-rgb)/0),rgb(var(--background-color-rgb)) 50%) 0 100%,radial-gradient(farthest-side at 0 50%,rgb(var(--shadow-color-rgb)/var(--shadow-opacity)),transparent),radial-gradient(farthest-side at 100% 50%,rgb(var(--shadow-color-rgb)/var(--shadow-opacity)),transparent) 0 100%;
        background-color: rgb(var(--background-color-rgb));
        background-repeat: no-repeat;
        background-attachment: local,local,scroll,scroll;
        background-position: 0 0,100%,0 0,100%;
        background-size: calc(var(--shadow-size) * 2) 100%,calc(var(--shadow-size) * 2) 100%,var(--shadow-size) 100%,var(--shadow-size) 100%
    }

    .e-breadcrumbs_list li {
        white-space: nowrap
    }

    .e-breadcrumbs_list li a,.e-breadcrumbs_list li:last-child {
        min-block-size: var(--min-height)
    }

    .e-linkList {
        flex-direction: column;
        max-inline-size: 34.375rem;
        margin-inline:auto}

    .e-linkList_item {
        flex-basis: 100%
    }

    .m-imageSliderThumbnails .splide__arrow.splide__arrow--prev {
        inset-inline-start: -1.5625rem
    }

    .m-imageSliderThumbnails .splide__arrow.splide__arrow--next {
        inset-inline-end: -1.5625rem
    }

    .u-maxMediumHide {
        display: none
    }
}

@media (max-width: 32.4375rem) {
    :root {
        --header-height:3.75rem
    }

    :where(a)[href^="tel:"] {
        pointer-events: auto
    }

    .l-asideContactList {
        row-gap: .625rem
    }

    .l-headerEc_item a {
        inline-size: clamp(3.125rem,2.812rem + 1.5649vw,3.75rem)
    }

    .l-headerEc_item a > span:is(.is-cart a span)::before {
        font-size: 2.5rem
    }

    .l-headerEc_item a > span:is(.is-mypage a span)::before {
        font-size: 2rem
    }

    .l-headerEc_item a > span > span {
        display: none
    }

    .e-contactList {
        row-gap: .625rem
    }

    .e-modal_counter {
        padding-inline-start:1em}

    .e-modal_arrow span {
        color: #000
    }

    .e-modal_arrow span::before {
        background-color: #fff
    }

    .u-maxSmallHide {
        display: none
    }
}

@media (max-height: 480px) {
    .l-header {
        position:relative
    }
}

@media (prefers-reduced-motion:reduce) {
    *,::after,::backdrop,::before {
        background-attachment: initial!important;
        transition-delay: 0s!important;
        transition-duration: 1ms!important;
        animation-duration: 1ms!important;
        animation-delay: -1ms!important;
        animation-iteration-count: 1!important;
        scroll-behavior: auto!important
    }
}

@media (resolution >= 2dppx) {
    .e-aboutLinkList_item a[href="/flow/"] {
        background-image: url(../images/common/bg_bnr_about_flow@2x.jpg)
    }

    .is-no-avif .e-aboutLinkList_item a[href="/flow/"] {
        background-image: url(../images/common/bg_bnr_about_flow@2x.jpg)
    }

    .e-aboutLinkList_item a[href="/design/"] {
        background-image: url(../images/common/bg_bnr_about_design@2x.jpg)
    }

    .is-no-avif .e-aboutLinkList_item a[href="/design/"] {
        background-image: url(../images/common/bg_bnr_about_design@2x.jpg)
    }

    .e-aboutLinkList_item a[href="/cloth/"] {
        background-image: url(../images/common/bg_bnr_about_cloth@2x.jpg)
    }

    .is-no-avif .e-aboutLinkList_item a[href="/cloth/"] {
        background-image: url(../images/common/bg_bnr_about_cloth@2x.jpg)
    }

    .e-aboutLinkList_item a[href="/size/"] {
        background-image: url(../images/common/bg_bnr_about_size@2x.jpg)
    }

    .is-no-avif .e-aboutLinkList_item a[href="/size/"] {
        background-image: url(../images/common/bg_bnr_about_size@2x.jpg)
    }
}


