/** Shopify CDN: Minification failed

Line 976:33 Expected ":"
Line 1325:4 "flex-shink" is not a known CSS property

**/
/* フォント
font-family: "ten-mincho-text", serif;
font-family: "Hina Mincho", serif;
*/

/****************************
* 共通
****************************/
html {
    scroll-behavior: smooth;
}
body {
    --red-color: #850000;
    position: relative;
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    z-index: 1;
}
body::before {
    content: '';
    width: 100%;
    height: 100vh;
    background: url('/cdn/shop/files/site_bg.webp?v=1768876454') center / cover no-repeat;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}
.content_side {
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
}
.custom-font, .h1, .h2, .h3, .h4, .h5, .h6,
.header-font, h1, h2, h3, h4, h5, h6,
.btn,
.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    font-family: Hina Mincho, serif;
}
.site-header__logo-link:focus,
.site-header__logo-link:hover,
.site-header__logo-link:visited:focus,
.site-header__logo-link:visited:hover,
.top-links.site-header__nav a:focus,
.top-links.site-header__nav a:hover,
.top-links.site-header__nav a:visited:focus,
.top-links.site-header__nav a:visited:hover {
    color: #fff !important;
}
@media screen and (max-width: 1024px) {
    :root {
        --base-font-size: 14px;
        --h1-size: 26px;
        --h2-size: 24px;
        --h3-size: 20px;
        --h4-size: 18px;
        --h5-size: 18px;
        --h6-size: 16px;
    }
}

/* タイトル */
.title01_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.title01_box .title01 {
    margin-top: 0;
    margin-bottom: 5.3rem;
}
.title01 {
    position: relative;
    font-size: 40px;
    line-height: 1.5;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    height: max-content;
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    margin-top: 1.5rem;
    margin-bottom: 0;
    padding-bottom: 4.85rem;
}
.title01::before {
    content: '';
    width: 14px;
    height: 56px;
    background: url('/cdn/shop/files/title01_asset.png?v=1768884872') center / contain no-repeat;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.title01.white {
    color: #fff;
}

.title02 {
    font-size: 40px;
    text-align: center;
    line-height: 1.5;
    font-weight: 400;
    font-family: "Hina Mincho", serif;
    margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
    .title01 {
        font-size: 26px;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
        height: auto;
        padding-right: 2.6rem;
        padding-bottom: 0;
        margin-top: 0;
        margin-bottom: 2rem;
    }
    .title01:before {
        top: 58%;
        left: auto;
        right: 0;
        transform: translateY(-50%) rotate(90deg);
        -webkit-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
        width: 10px;
    }
    .title01_box .title01 {
        margin-bottom: 2rem;
    }
    .title02 {
        font-size: 26px;
        margin-bottom: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .title01 {
        font-size: 20px;
        padding-right: 1.9rem;
        margin-bottom: 1.5rem;
    }
    .title01:before {
        width: 7px;
    }
    .title01_box .title01 {
        margin-bottom: 1.5rem;
    }
    .title02 {
        font-size: 20px;
    }
}

/* ボタン01 */
.btn01 {
    display: inline-block;
    height: max-content;
    padding: 22px 9.5px;
    font-size: 16px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    border-right: 1px solid #000;
    border-left: 1px solid #000;
    transition: all .3s ease-in-out;
}
.btn01.white {
    border-color: #fff;
    color: #fff;
}
.btn01:hover {
    color: var(--red-color);
    border-color: var(--red-color);
}
@media screen and (max-width: 1024px) {
    .btn01 {
        font-size: 14px;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
        padding: 8px 20px;
        border-right: none;
        border-left: none;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }
}

/* ボタン02 */
.btn02 {
    position: relative;
    display: inline-block;
    background-color: #fff;
    font-size: 20px;
    text-align: center;
    padding: 1.57rem 2.7rem;
    padding-right: 5.15rem;
    border: 1px solid #000;
    transition: all .3s;
}
.btn02:hover {
    background-color: #D9D9D9;
}
.btn02::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 1.2rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 2.1rem;
    aspect-ratio: 102 / 67;
    background: url('/cdn/shop/files/arrow1.png?v=1769060561') center 50% / contain no-repeat;
}

/* ボタン03 */
.btn03 {
    display: block;
    max-width: 250px;
    margin: 0 auto;
    padding: 15px 10px;
    color: #fff;
    background: #000;
    text-align: center;
    font-size: 18px;
    border-radius: 5px;
    transition: opacity .3s;
}
.btn03:hover {
    opacity: .7;
}
@media screen and (max-width: 1024px) {
    .btn03 {
        font-size: 16px;
        max-width: 230px;
        padding: 10px 10px;
    }
}

.btn_group {
    position: relative;
    margin-top: 3rem;
    margin-bottom: 3rem;
    z-index: 2; 
}
.btn_group_inner {
    display: flex;
    gap: 1.5rem 5.15vw;
}
.btn_group_inner.btn_align_left {
    justify-content: flex-start;
}
.btn_group_inner.btn_align_center {
    justify-content: center;
}
.btn_group_inner.btn_align_right {
    justify-content: flex-end;
}

.product_btn {
    font-size: 16px;
    color: #fff;
    padding: 9.5px 14px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

/****************************
* ヘッダー
****************************/
.header-section--wrapper {
    position: absolute;
    top: 50px;
    right: 9vw;
    width: 100%;
    margin-bottom: 0;
}
body:has(.fv_content) .header-section--wrapper {
    right: 50px;
    top: 50px;
}
.site-header {
    padding: 0;
}
.site-header,
.site-header:hover {
    background: transparent !important;
    border-bottom: none !important;
}
body:has(.fv_content) .site-header .site-header__wrapper__center {
    display: none;
}
.site-header__logo-overlay-image {
    display: none !important;
}
.site-header .site-header__wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}
.top-links ul.site-nav {
    gap: 20px;
    padding-right: .3vw;
}
.site-header .site-nav a {
    font-family: "ten-mincho-text", serif;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 20px;
    font-style: italic;
    padding: 0;
}
.top-links ul.site-nav > li:has(a[href="/"]) {
    display: none;
}
.nav-link-animated a span.animated-underline {
    background-color: transparent;
    background-image:
    linear-gradient(
        to bottom,
        var(--red-color) 0,
        var(--red-color) 100%
    );
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 1px 0;
    transition: background-size .45s ease .15s;
}
.nav-link-animated a:hover span,
header localization-form.nav-link-animated button:hover span {
    background-position: right top;
    background-size: 1px 100%;
}
.site-header__links {
    display: flex;
    flex-direction: column;
    padding-left: 5px;
}
.standalone-icon--wrapper:not(.icon-no-padding) {
    min-width: 36px;
    min-height: 36px;
    padding: 8px !important;
}
.top-links--icon-links li a:hover {
    color: var(--red-color) !important;
}
.site-header__wrapper__center {
    order: 5;
    padding-left: 1.3vw;
}
.site-header__logo.site-title {
    padding: 0;
    transform: scale(1) !important;
}
.site-header__logo .logo_image {
    width: 53px;
}
.standalone-icon--wrapper .pswp__icn,
.standalone-icon--wrapper svg {
    width: 23px;
    height: 23px;
}
.site-header__wrapper__right {
    order: -1;
    margin-right: 0 !important;
}
.mobile-nav-bar-wrapper {
    border-bottom: none !important;
}
#NavDrawer.drawer,
.mobile-nav__logo-title,
#NavDrawer .mobile-nav-grid-container .mobile-nav--footer,
.mobile-nav>.mobile-nav__item {
    background-color: var(--cart-drawer-color) !important;
}
.drawer#NavDrawer a {
    transition: all .3s;
}
.drawer#NavDrawer a:focus:not(.mobile-menu--close-btn),
.drawer#NavDrawer a:hover:not(.mobile-menu--close-btn) {
    color: var(--red-color);
}
@media screen and (max-width: 1400px) {
    .top-links ul.site-nav {
        gap: 15px;
    }
    .site-header .site-nav a {
        font-size: 18px;
    }

    .site-header__logo .logo_image {
        width: 40px;
    }
}
@media screen and (max-width: 989px) {
    body:has(.fv_content) .header-section--wrapper {
        top: 0;
    }
    .header-section--wrapper {
        padding-top: 5px;
    }
    .header-section--wrapper .wrapper-spacing--h,
    body:has(.fv_content) .header-section--wrapper .wrapper-spacing--h {
        padding-left: 3vw;
        padding-right: 3vw;
    }
    .mobile-nav-bar-wrapper {
        background: transparent !important;
    }
    .header-section--wrapper {
        top: 0;
        left: 0;
        right: auto;
    }
    .mobile-nav-bar-wrapper .mobile-nav-bar--inner .mobile-grid--table {
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
    }
    .mobile-nav-bar-wrapper .mobile-nav-bar--inner .mobile-grid--table .grid__item {
        width: auto; 
        margin-top: 0;
    }
    .grid__item:has(.site-header__logowrapper) {
        width: 0 !important;
    }
    .mobile-nav-bar-wrapper .site-nav--mobile button.site-nav__link {
        margin-left: 0;
    }
    .mobile-nav-bar--inner .site-nav--mobile .site-nav__link.shopping-bag,
    .mobile-nav-bar--inner .site-nav--mobile .site-nav__link.shopping-cart {
        margin-right: 0;
    }
    .site-header__logowrapper {
        position: absolute;
        top: 16.5vw;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
    .site-header__logo .logo_image {
        width: 3.2vw;
        padding: 0;
    }
    .site-nav--mobile a svg,
    .site-nav--mobile button svg,
    .site-nav--mobile a.search-button svg,
    .site-nav--mobile a .fa-2x {
        color: #fff !important;
        width: 30px;
        height: 30px;
    }
    .site-nav--mobile a.search-button svg,
    .site-nav--mobile a .fa-2x {
        width: 25px;
        height: 25px;
    }
    .site-nav--mobile .hamburger-nav-button .fa-2x,
    .standalone-icon--wrapper.mobile-menu--close-btn svg {
        width: 35px;
        height: 35px;
    }
    .cart-item-count-bubble {
        min-width: 16px;
        min-height: 16px;
        font-size: 10px;
    }
    .drawer#NavDrawer a {
        font-family: Hina Mincho, serif;
        font-size: 16px;
    }
    .site-nav--mobile {
        justify-content: flex-start !important;
    }
    .mobile-nav.mobile-nav--main {
        display: flex;
        flex-direction: column-reverse;
    }
}
@media screen and (max-width: 767px) {
    .site-header__logowrapper {
        top: 13.5vw;
    }
    .site-header__logo .logo_image {
        width: 5vw;
    }

    .nav-link-animated a span,
    header localization-form.nav-link-animated button span {
        display: inline-block;
        background-position: left bottom !important;
        padding: 2px 0;
    }
    .nav-link-animated a:hover span,
    header localization-form.nav-link-animated button:hover span {
        background-position: left bottom;
        background-size: 100% 1px;
    }
    .nav-link-animated a span.animated-underline {
        background-image: linear-gradient(to right, var(--red-color) 0, var(--red-color) 100%);
    }

    .wrapper-spacing--h {
        padding-left: 5%;
        padding-right: 5%;
    }
}


/****************************
* フッター
****************************/
footer {
    background: transparent !important;
}
.footer-main--inner {
    padding: 8.6rem 0 0 !important;
    max-width: 1600px;
    width: 90% !important;
    margin: 0 auto;
    display: flex !important;
    justify-content: space-between;
    gap: 1.5rem 2% !important;
    flex-direction: row !important;
    flex-wrap: wrap;
}
.links-footer {
    max-width: 36.4%;
    width: 100%;
}
.links-footer ul {
    display: flex;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.links-footer:nth-child(3) ul {
    justify-content: flex-end;
}
.links-footer ul a {
    font-size: 20px;
    font-weight: 400;
    line-height: 2.35;
    display: block;
    margin: 0;
}
.image-footer {
    max-width: 63px;
}
.social-media-footer {
    width: 100%;
}
.footer-bottom {
    background: transparent !important;
}
footer .standalone-icon--wrapper svg {
    min-width: 40px;
    min-height: 40px;
    transition: all .3s ease-in-out;
}
footer .standalone-icon--wrapper:hover svg {
    color: var(--red-color);
}
.bottom--footer---links li a,
.bottom--footer---links font {
    font-size: 18px;
    color: #000 !important;
}
.bottom--footer---copyright .copyright_text {
    font-size: 20px;
    letter-spacing: .01em;
    text-indent: .01em;
    margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
    .footer-main--inner {
        padding: 3.6rem 0 0 !important;
    }
    .image-footer {
        max-width: 45px;
    }
    .links-footer ul a {
        font-size: 16px;
        line-height: 1.8;
    }
    .standalone-icon--wrapper:not(.icon-no-padding) {
        padding: 5px !important;
    }
    footer .standalone-icon--wrapper svg {
        min-width: 30px;
        min-height: 30px;
    }
}
@media screen and (max-width: 767px) {
    .footer-wrapper .footer-main .footer-main--inner {
        flex-wrap: wrap;
        flex-direction: column !important;
        align-items: center;
        justify-content: flex-start;
        gap: 0 !important;
    }
    .footer-main .image-footer {
        order: -1;
        margin: 0 auto;
    }
    .footer-main .image-footer .theme-img {
        width: 30px !important;
        margin-bottom: 1.5rem;
    }
    .footer-main .links-footer {
        width: 100%;
        max-width: unset;
    }
    .links-footer ul {
        flex-direction: column;
        gap: 3px;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .links-footer ul a {
        font-size: 14px;
    }
    .social-media-footer {
        margin-top: 1.5rem;
    }
}


/* ページトップ */
.page_top_container > .content_side {
    max-width: unset;
}
.page_top_container,
.page_top_container img {
    width: 100%;
    vertical-align: bottom;
}
.page_top_container img {
    max-height: 800px;
    object-fit: cover;
}
.page_top_container.small_header img {
    max-height: 480px;
    object-fit: cover;
}
.page_top_container {
    position: relative;
    z-index: 2;
}
.page_top_container .content_side {
    position: relative;
}
.page_top_text {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: absolute;
    left: 4.5%;
    bottom: 0;
    color: #fff;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    /* padding-bottom: 16.25vw; */
    padding-bottom: 13vw;
}
.page_top_text::before {
    content: "";
    width: 1px;
    /* height: 14.3vw; */
    height: 12vw;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.page_top_text h2,
.page_top_text p {
    font-weight: normal;
    margin: 0;
}
.page_top_text h2 {
    /* font-size: 3.125vw; */
    font-size: 2.3vw;
    letter-spacing: .18em;
    margin-bottom: .65rem;
}
.page_top_text p {
    font-size: .85vw;
    letter-spacing: .155em;
    line-height: 1;
}
@media screen and (min-width: 1921px) {
    .page_top_text {
        padding-bottom: 249px;
    }
    .page_top_text::before {
        height: 230px;
    }
    .page_top_text h2 {
        font-size: 50px;
    }
    .page_top_text p {
        font-size: 17px;
    }
}
@media screen and (max-width: 989px) {
    .page_top_container .content_side {
        width: 100%;
    }
    .page_top_text {
        padding-bottom: 12.5vw;
    }
    .page_top_text:before {
        height: 10vw;
        left: 56%;
    }
    .page_top_text h2 {
        font-size: 3vw;
        margin-bottom: 1vw;
    }
    .page_top_text p {
        font-size: 1.45vw;
    }
    .page_top_container img {
        min-height: 50vw;
        object-fit: cover;
    }
}


/****************************
* トップページ
****************************/
/* FV */
.fv_content {
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.fv_stage {
    position: relative;
}
.fv_slides {
    position: relative;
    z-index: 0;
    display: grid;
    touch-action: pan-y;
    user-select: none;
}
.fv_slide {
    position: relative;
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity var(--fv_fade_duration) ease,
        visibility 0s linear var(--fv_fade_duration);
}
.fv_slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        opacity var(--fv_fade_duration) ease,
        visibility 0s;
}
.fv_media {
    display: block;
    aspect-ratio: var(--fv_ratio_pc);
    overflow: hidden;
}
.fv_media picture,
.fv_media .fv_img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fv_btn {
    position: absolute;
    left: clamp(24px, 10vw, 160px);
    bottom: var(--fv_bottom);
    z-index: 2;
    display: flex;
    align-items: center;
    height: 24px;
    padding: 0;
    line-height: 1;
    background: none;
    color: var(--fv_btn_color, #fff);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.5em;
    text-shadow: 0 0 6px var(--fv_btn_shadow, rgba(0, 0, 0, 0.35));
    white-space: nowrap;
    transition: opacity 0.2s;
}
.fv_btn:hover {
    opacity: 0.7;
}
.fv_logo_img {
    position: absolute;
    top: 49.6%;
    left: 50%;
    z-index: 2;
    width: 3.2vw;
    height: auto;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.fv_scroll_text {
    position: absolute;
    bottom: 0;
    right: 5vw;
    height: 18.85vw;
    margin-bottom: 0;
    padding-left: .55vw;
    padding-bottom: .55vw;
    font-size: 20px;
    color: #fff;
    text-align: right;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    rotate: 180deg;
    overflow: hidden;
    pointer-events: none;
}
.fv_scroll_text::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 0;
    background: #fff;
    animation: scrollLine 2.4s ease-in-out infinite;
}
@keyframes scrollLine {
    0% {
        height: 0;
        transform: translateY(0);
        opacity: 1;
    }
    40% {
        height: 100%;
        transform: translateY(0);
    }
    70% {
        height: 100%;
        transform: translateY(-100%);
        opacity: 1;
    }
    100% {
        height: 100%;
        transform: translateY(-100%);
        opacity: 0;
    }
}
.fv_indicators {
    position: absolute;
    left: 50%;
    bottom: var(--fv_bottom);
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 8px;
    width: max-content;
    max-width: calc(100% - 32px);
    transform: translateX(-50%);
    pointer-events: none;
}
.fv_indicator {
    position: relative;
    flex: 0 1 48px;
    width: 48px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    pointer-events: auto;
}
.fv_indicator::before,
.fv_indicator::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 3px;
    margin-top: -1.5px;
    background: var(--fv_dot);
}
.fv_indicator::before {
    opacity: 0.35;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}
.fv_indicator::after {
    transform: scaleX(0);
    transform-origin: left center;
}
.fv_indicator.is-active::after {
    transform: scaleX(1);
}
.fv_fade_slider.is-autoplay .fv_indicator.is-active::after {
    animation: fv_progress var(--fv_delay) linear forwards;
}
@keyframes fv_progress {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}
.fv_btn:focus-visible,
.fv_indicator:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}
@media screen and (max-width: 767px) {
    .fv_media {
        aspect-ratio: var(--fv_ratio_sp);
    }
    .fv_btn {
        left: clamp(20px, 4vw, 140px);
        bottom: calc(var(--fv_bottom) + 32px);
        font-size: 14px;
    }
    .fv_logo_img {
        width: 8vw;
    }
    .fv_scroll_text {
        right: 6.4vw;
        height: 27.85vw;
        font-size: 15px;
    }
    .fv_indicators {
        gap: 6px;
    }
    .fv_indicator {
        flex-basis: 28px;
        width: 28px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .fv_slide,
    .fv_slide.is-active {
        transition: none;
    }
    .fv_fade_slider.is-autoplay .fv_indicator.is-active::after {
        animation: none;
    }
}


/* 山ノ香について */
.about_content {
    position: relative;
    padding: 10rem 0 4rem;
    z-index: 1;fv_logofv_logo_img
}
.top_about_box {
    display: flex;
    justify-content: center;
    gap: 0 5rem;
}
.top_about_text_box {
    font-size: 20px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.top_about_text_box p {
    font-size: 1em;
    line-height: 3;
    z-index: 1;
}
.about_content.small_text .top_about_text_box {
    font-size: 16px;
}
.about_content.small_text .top_about_text_box p {
    line-height: 3.13;
}
.about_content.top_about .top_about_text_box {
    position: relative;
}
.about_content.top_about .top_about_text_box::before {
    content: '';
    display: block;
    width: 439px;
    aspect-ratio: 439 / 442;
    background: url('/cdn/shop/files/top_about_logo_0aad3849-37e6-4aa3-aac8-731e10339447.png?v=1768888342') center / contain no-repeat;
    position: absolute;
    top: 41%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}
.top_about_box .btn01 {
    position: absolute;
    top: 0;
    right: calc(100% + 5.3rem);
}
.top_about_text_box .top_about_text_box_title {
    position: relative;
    font-size: 40px;
    font-weight: 500;
    margin-left: 5rem;
}
.about_content.simple_title .top_about_text_box .top_about_text_box_title,
.about_content.icon_title .top_about_text_box .top_about_text_box_title {
    font-size: 30px;
    padding-right: 0;
}
.about_content.icon_title .top_about_text_box .top_about_text_box_title::before {
    content: "";
    width: 3em;
    aspect-ratio: 181/183;
    background: url('/cdn/shop/files/logo_red.png?v=1769038764') center / contain no-repeat;
    position: absolute;
    top: -4.1em;
    right: -0.8em;
}
@media screen and (max-width: 1024px) {
    .about_content {
        padding: 4.5rem 0 2rem;
    }
    .top_about_text_box {
        font-size: 16px;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .about_content.top_about .top_about_text_box:before {
        top: 50%;
        width: 95%;
    }
    .top_about_text_box p {
        line-height: 2.5;
    }
    .top_about_box .btn01 {
        position: static;
        margin-top: 1.5rem;
    }
}
@media screen and (max-width: 767px) {
    .about_content {
        padding: 3rem 0 2rem;
    }
    .top_about_box {
        justify-content: flex-start;
    }
    .top_about .top_about_box {
        justify-content: center;
    }
    .top_about_text_box {
        font-size: 14px;
    }
    .top_about_text_box p {
        line-height: 1.85;
    }
}

/* 商品一覧 */
.product_content {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 5rem;
    z-index: 1;
}
.product_read_title_block {
    margin-bottom: 3.5rem;
}
.product_read_title_block .title02 {
    margin-bottom: .5rem;
}
.product_read_text {
    font-size: 18px;
    text-align: center;
}
.product_read_text p {
    margin: 0;
}
.column_item {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2rem;
    transition: all .3s;
}
.column_item .news_item {
    width: calc((100% - 2rem)/2);
}
.product_items {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 3rem;
}
.product_item {
    position: relative;
    width: calc((100% - 54px) / 4);
}
.product_item .ranking_badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -1.5rem;
    left: -1rem;
    color: #fff;
    background-color: #000;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    width: 4.3rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    margin-bottom: 0;
}
.product_item .ranking_badge span {
    display: block;
    font-size: .7em;
    margin-bottom: 2px;
}
.product_img {
    position: relative;
    margin: 0 0 15px;
}
.product_img::before {
    content: '';
    inset: 0;
    background: #000;
    opacity: 0;
    position: absolute;
    transition: opacity .3s;
}
.product_img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    vertical-align: bottom;
}
.product_name {
    font-family: "Hina Mincho", serif;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 5px;
}
.product_price {
    font-size: 20px;
    text-align: right;
    margin-bottom: 0;
}
/* アニメーション */
.product_item:hover .product_img::before {
    opacity: .4;
}
@media screen and (max-width: 1600px) {
    .product_text {
        -webkit-line-clamp: 5;
    }
}
@media screen and (max-width: 1200px) {
    .product_name {
        font-size: 16px;
    }
    .product_price {
        font-size: 18px;
    }
}
@media screen and (max-width: 1024px) {
    .column_items {
        flex-wrap: wrap;
    }
    .column_item,
    .news_items {
        order: 1;
        width: 100%;
    }
    .column_item:has(.title01) {
        order: -1;
        justify-content: flex-start;
        width: 100%;
    }

    .product_content {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .product_read_title_block {
        margin-bottom: 2rem;
    }
    .product_read_text {
        font-size: 14px;
    }
    .product_items {
        gap: 28px;
    }
    .product_item {
        width: calc((100% - 28px) / 2);
    }
    .product_item:before {
        display: none;
    }
    .product_item:hover {
        box-shadow: none;
    }
    .product_img {
        margin-bottom: 1em;
    }
    .product_item .ranking_badge {
        top: -1rem;
        left: -0.5rem;
    }
    .product_text_box {
        position: static;
        color: #000;
        width: 100%;
        height: auto;
        opacity: 1;
    }
    .product_name,
    .product_text,
    .product_price {
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .product_name {
        font-size: 14px;
        white-space: normal;
        padding-bottom: .5em;
        margin-left: 0;
        overflow: visible;
    }
    .product_text {
        display: none;
    }
    .product_price {
        font-size: 18px;
        margin-left: auto;
        margin-right: 0;
    }
    .product_item .product_btn {
        position: static;
        color: #000;
        font-size: 18px;
        text-align: right;
        padding: 0;
        transform: none;
        border: none;
        opacity: 1;
    }
}
@media screen and (max-width: 767px) {
    .product_content {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .product_read_text {
        font-size: 12px;
    }
    .product_items {
        gap: 20px 15px;
        margin-bottom: 2rem;
    }
    .product_item {
        width: calc((100% - 15px) / 2);
    }
    .product_item .ranking_badge {
        font-size: 16px;
        width: 3.5rem;
    }
    .product_name {
        margin-bottom: 0;
    }
    .product_price {
        font-size: 16px;
    }
}

/* バナーテキスト */
.banner_text_content {
    padding-top: 6rem;
    padding-bottom: 5rem;
}
.banner_text_item + .banner_text_item {
    margin-top: 9.4rem;
}
.banner_text_item {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 0 2rem;
    z-index: 1;
}
.banner_text_item:first-child::before {
    content: '';
    width: 439px;
    aspect-ratio: 439 / 442;
    background: url('/cdn/shop/files/top_about_logo_0aad3849-37e6-4aa3-aac8-731e10339447.png?v=1768888342') center / contain no-repeat;
    position: absolute;
    bottom: -222px;
    right: 2.1%;
    z-index: -1;
}
.banner_text_img {
    margin: 0;
    width: 79.3%;
    flex-shink: 0;
}
.banner_text_item_right .banner_text_img {
    width: 76.2%;
}
.banner_text_img img {
    vertical-align: bottom;
    width: 100%;
}
.banner_text_box {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 16px;
    line-height: 3.25;
    margin-left: -0.7em;
    margin-right: -1.6em;
}
.banner_text_box p {
    margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
    .banner_text_content {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .banner_text_item {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }
    .banner_text_item:first-child:before {
        width: 350px;
    }
    .banner_text_item+.banner_text_item {
        margin-top: 4rem;
    }
    .banner_text_box {
        line-height: 2;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .banner_text_img,
    .banner_text_item_right .banner_text_img {
        order: -1;
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .banner_text_item {
        gap: 1rem;
    }
    .banner_text_item:first-child:before {
        width: 47vw;
        bottom: -17vw;
    }
    .banner_text_box {
        font-size: 14px;
        margin: 0;
    }

}

/* 贈呈用 */
.top_gift_content {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    z-index: 1;
}
.top_gift_content .content_side {
    position: relative;
}
.top_gift_img {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.top_gift_img img {
    vertical-align: bottom;
    width: 100%;
    min-height: 600px;
    object-fit: cover;
}
.top_gift_text_box {
    position: absolute;
    top: 50.1%;
    right: 0;
    transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
    .top_gift_content {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .top_gift_img {
        position: relative;
    }
    .top_gift_img::before {
        content: '';
        display: block;
        position: absolute;
        inset: 0;
        background-color: #000;
        opacity: .4;
        user-select: none;
        pointer-events: none;
    }
    .top_gift_img img {
        min-height: 250px;
    }
}
@media screen and (max-width: 767px) {
    .top_gift_content .title01_box .title01 {
        margin-bottom: 1rem;
    }
    .top_gift_img img {
        min-height: 160px;
    }
}

/* お知らせ */
.news_content {
    position: relative; 
    padding-top: 5rem;
    padding-bottom: 5rem;
    z-index: 1;
}
.news_item:first-child,
.news_item:nth-child(2) {
    border-top: 1px solid #000;
}
.news_item {
    border-bottom: 1px solid #000;
}
.news_item a {
    display: flex;
    gap: 0 1.5rem;
    padding: 1.5rem 1rem;
}
.news_item_img {
    width: 30%;
}
.news_item_img img {
    width: 100%;
    aspect-ratio: 4 / 3;
    vertical-align: bottom;
    object-fit: cover;
}
.news_item_content {
    width: 70%;
}
.news_item time,
.news_item .news_title {
    color: #000;
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    transition: color .3s;
}
.news_item a:hover time,
.news_item a:hover .news_title {
    color: var(--red-color);
}
.news_item time {
    font-size: 16px;
}
.news_item .news_title {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 0;
    margin-top: .75rem;
}
@media screen and (max-width: 1200px) {
    .news_item .news_title {
        font-size: 18px;
    }
}
@media screen and (max-width: 1024px) {
    .news_content {
        padding-top: 2rem;
        padding-bottom: 2.5rem;
    }
    .news_content .news_items {
        width: 100%;
    }
    .column_item .news_item {
        width: 100%;
    }
    .news_item:nth-child(2) {
        border-top: none;
    }
    .news_item a {
        padding: 1.3rem 1rem 1.5rem;
    }
    .news_item .news_title {
        font-size: 16px;
        margin-top: .5rem;
    }
}
@media screen and (max-width: 767px) {
    .news_item a {
        flex-wrap: wrap;
    }
    .news_item_img,
    .news_item_content {
        width: 100%;
    }
    .news_item_img {
        margin-bottom: 1rem;
    }
    .news_item time {
        font-size: 14px;
    }
    .news_item .news_title {
        font-size: 14px;
        margin-top: .25rem;
    }
}

/* バナー（大） */
.banner_big_container  {
    position: relative;
    margin: 3rem 0;
    z-index: 1;
}
.banner_big_container .banner_big_list {
    display: flex;
    gap: 2rem;
    margin: 0;
    list-style: none;
}
.banner_big_container .banner_big_list li {
    width: calc((100% - 2rem)/2);
}
.banner_big_item_imgBox {
    position: relative;
    margin-bottom: 1.5rem;
}
.banner_big_item_imgBox a {
    position: relative;
    display: block;
}
.banner_big_item_imgBox a::before {
    content: '';
    position: absolute;
    display: block;
    inset: 0;
    background: #000;
    opacity: 0;
    transition: all .3s;
}
.banner_big_item_imgBox a:hover::before {
    opacity: .6;
}
.banner_big_item_imgBox img {
    width: 100%;
    vertical-align: bottom;
}
.banner_big_item_imgBox .banner_big_item_title {
    color: #fff;
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    right: 2rem;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    padding-right: 3rem;
    z-index: 3;
}
.banner_big_item_imgBox .banner_big_item_title p {
    margin-bottom: 0;
}
.banner_big_item_imgBox .banner_big_item_title .circle {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 2rem;
    aspect-ratio: 1 / 1;
    border: 1px solid #fff;
    border-radius: 50%;
}
.banner_big_item_imgBox .banner_big_item_title .circle::before {
    content: '';
    width: .55rem;
    height: .55rem;
    aspect-ratio: 1 / 1;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: .55rem;
    bottom: 0;
    margin: auto;
}
.banner_big_item_textBox {
    width: 100%;
    padding: 0 2rem;
}
.banner_big_item_textBox p {
    margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
    .banner_big_container {
        margin: 1.5rem 0;
    }
    .banner_big_container .banner_big_list {
        gap: 1rem;
    }
    .banner_big_container .banner_big_list li {
        width: calc((100% - 1rem) / 2);
    }
    .banner_big_item_imgBox .banner_big_item_title {
        bottom: 1rem;
        left: 1rem;
        right: 1rem;
        font-size: 18px;
        padding-right: 2rem;
    }
    .banner_big_item_imgBox .banner_big_item_title .circle {
        width: 1.5rem;
    }
    .banner_big_item_imgBox .banner_big_item_title .circle:before {
        width: .4rem;
        height: .4rem;
        left: .45rem;
    }
    .banner_big_item_textBox {
        padding: 0 1rem;
    }
}
@media screen and (max-width: 767px) {
    .banner_big_container .banner_big_list {
        flex-wrap: wrap;
        gap: 2.5rem;
    }
    .banner_big_container .banner_big_list li {
        width: 100%;
    }
    .banner_big_item_imgBox {
        margin-bottom: 1rem;
    }
}

/* バナー（小） */
.banner_small_container {
    position: relative;
    margin: 4rem auto;
    z-index: 1;
}
.banner_small_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem 2rem;
    max-width: 900px;
    margin: 0 auto;
    list-style: none;
}
.banner_small_list li {
    width: calc((100% - 4rem)/3);
    margin-bottom: 0;
}
.banner_small_list li a {
    display: block;
    position: relative;
}
.banner_small_item_imgBox a::before {
    content: '';
    position: absolute;
    display: block;
    inset: 0;
    background: #000;
    opacity: 0;
    transition: all .3s;
}
.banner_small_item_imgBox a:hover::before {
    opacity: .4;
}
.banner_small_list li img,
.banner_small_list li a img {
    display: block;
    width: 100%;
    vertical-align: bottom;
}
@media screen and (max-width: 1024px) {
    .banner_small_container {
        margin: 2rem auto;
    }
    .banner_small_list {
        gap: .5rem 1rem;
    }
    .banner_small_list li {
        width: calc((100% - 2rem) / 3);
    }
}
@media screen and (max-width: 767px) {
    .banner_small_list li {
        width: calc((100% - 1rem)/2);
    }
}


/****************************
* ブランド
****************************/
/* 山乃香について */
.about_content.page_gift_about {
    position: relative;
    padding: 10.8rem 0 5.6rem;
}
.about_content.page_gift_about:before {
    content: "";
    display: block;
    width: 439px;
    aspect-ratio: 439 / 442;
    background: url('/cdn/shop/files/top_about_logo_0aad3849-37e6-4aa3-aac8-731e10339447.png?v=1768888342') center / contain no-repeat;
    position: absolute;
    top: -3.7rem;
    left: 16%;
    z-index: -1;
}
.about_content.page_gift_about .top_about_box {
    position: relative;
}
@media screen and (max-width: 1500px) {
    .about_content.page_gift_about .top_about_box .top_about_text_box {
        position: relative;
    }
    .top_about_text_box .top_about_text_box_title {
        margin-left: 4rem;
    }
}
@media screen and (max-width: 1024px) {
    .about_content.page_gift_about {
        position: relative;
        padding: 9rem 0 3rem;
    }
    .about_content.page_gift_about:before {
        right: 4%;
        left: auto;
        width: 300px;
    }
    .top_about_text_box .top_about_text_box_title {
        display: inline-block;
        font-size: 26px;
        padding-right: 2.6rem;
        margin-left: 0;
    }
    .top_about_text_box .top_about_text_box_title:before {
        top: 58%;
        right: 0;
        transform: translateY(-50%) rotate(90deg);
        -webkit-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
        width: 10px;
    }
}
@media screen and (max-width: 767px) {
    .about_content.page_gift_about {
        padding: 3rem 0 2rem;
    }
    .about_content.page_gift_about:before {
        width: 58vw;
    }
    .top_about_text_box .top_about_text_box_title {
        font-size: 20px;
        padding-right: 1.9rem;
    }
    .top_about_text_box .top_about_text_box_title:before {
        width: 7px;
    }
}

/* 私たちにとっての山 */
.about_content.page_gift_mountain {
    position: relative;
    color: #fff;
    background: url('/cdn/shop/files/gift_bg1_20260319.webp') center / cover no-repeat;
    padding: 6.5rem 0 4.9rem;
}
.about_content.page_gift_scent,
.about_content.page_gift_mountain {
    z-index: 0;
}

/* 私たちにとっての香 */
.about_content.page_gift_scent {
    position: relative;
    background: url('/cdn/shop/files/gift_bg2_20260319.webp') center / cover no-repeat;
    padding: 6.5rem 0 3.9rem;
}
@media screen and (max-width: 1024px) {
    .about_content.page_gift_mountain,
    .about_content.page_gift_scent {
        padding: 4rem 0 3rem;
    }
}

/* 私たちの取り組み */
.top_about_slider {
    padding: 14.4rem 0;
}
.top_about_slider .about_content {
    padding: 0;
}

/* スライダー */
.about_slider {
  padding: 6.6rem 0 5.5rem;
}
.about_fade_slider {
  position: relative;
}
.about_slides {
  position: relative;
}
.about_fade_slider .about_content {
    padding: 0;
}
.about_slider {
    width: 90%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.about_slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.about_slide.is-active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.about_fade_slider .top_about_box {
    padding-top: 7.8rem;
}
.about_next_btn,
.about_prev_btn {
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  width: 13px;
  aspect-ratio: 1/1;
  margin-top: 5px;
  z-index: 3;
}
.about_fade_slider > .about_next_btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.about_next_btn {
    background: url('/cdn/shop/files/arrow2.png?v=1769060561') center 50% / contain no-repeat;
    transform: scale(-1, 1);
}
.about_prev_btn {
    background: url('/cdn/shop/files/arrow2.png?v=1769060561') center 50% / contain no-repeat;
}

.slide_next.about_next_btn {
    position: absolute;
    top: 7.8rem;
    left: 0;
    width: 32px;
    margin-top: 0;
    background: url('/cdn/shop/files/arrow1.png?v=1769060561') center 50% / contain no-repeat;
    transform: scale(-1, 1);
}
.about_controls {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 2rem;
}
.about_indicator {
  display: flex;
  gap: 9px;
}
.about_indicator .indicator {
  cursor: pointer;
  line-height: 1;
}
.about_indicator .indicator.is-active {
  color: var(--red-color);
}
@media screen and (max-width: 1200px) {
    .about_content.small_text .top_about_text_box p {
        line-height: 2.8;
    }
    .about_content.simple_title .top_about_text_box .top_about_text_box_title,
    .about_content.icon_title .top_about_text_box .top_about_text_box_title {
        margin-left: 4.8rem;
    }
}
@media screen and (max-width: 1024px) {
    .about_slider {
        padding: 4rem 0 2rem;
    }
    .about_fade_slider .top_about_box {
        justify-content: flex-start;
        width: 100%;
        padding-top: .5rem;
    }
    .slide_next.about_next_btn {
        transform: scaleX(1);
        top: auto;
        bottom: 0;
        left: auto;
        right: 0;
    }
    .slide_next.about_next_btn {
        width: 24px;
    }
    .about_content.small_text .top_about_text_box {
        font-size: 14px;
    }
    .about_content.simple_title .top_about_text_box .top_about_text_box_title,
    .about_content.icon_title .top_about_text_box .top_about_text_box_title {
        font-size: 20px;
        margin-left: 0;
    }
    .about_content.small_text .top_about_text_box p {
        line-height: 2.8;
    }
    .about_content.icon_title .top_about_text_box .top_about_text_box_title {
        padding-left: 2.4em;
    }
    .about_content.icon_title .top_about_text_box .top_about_text_box_title:before {
        top: 0.65em;
        left: 0;
        right: auto;
        width: 1.7em;
    }

    .about_controls {
        margin-top: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .about_controls {
        padding-left: 0;
    }
    .about_content.small_text .top_about_text_box p {
        line-height: 2;
    }
    .about_content.small_text .top_about_text_box {
        font-size: 12px;
    }
    .about_content.simple_title .top_about_text_box .top_about_text_box_title,
    .about_content.icon_title .top_about_text_box .top_about_text_box_title {
        font-size: 18px;
        margin-bottom: 1rem;
    }
}

/* 商品一覧 */
body.page-brand .product_content {
    padding-bottom: 6.25rem;
}

/* 画像 */
.big_image_content {
    position: relative;
    z-index: 1;
}
.big_image_list_inner,
.big_image_list_inner img {
    margin: 0;
    width: 100%;
    vertical-align: bottom;
}


/****************************
* ギフトサービスについて
****************************/
/* ポイント */
.point_list_container.gift_top_point {
    padding-top: 11rem;
    padding-bottom: 4rem;
}
.point_list_container .content_side {
    position: relative;
    z-index: 1;
}
.point_lists {
    --gap: 1.75rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--gap);
    width: 80%;
    max-width: 1372px;
    margin: 0 auto;
    list-style: none;
}
.point_lists li {
    width: calc((100% - var(--gap)*4)/5);
    min-width: 180px;
}
.point_lists li img {
    width: 100%;
    vertical-align: bottom;
}
@media screen and (max-width: 1024px) {
    .point_list_container.gift_top_point {
        padding-top: 4rem;
        padding-bottom: 1rem;
    }
    .point_lists {
        --gap: 0.75rem;
    }
    .point_lists li {
        width: calc((100% - var(--gap)*2) / 3);
        min-width: 150px;
    }
}
@media screen and (max-width: 767px) {
    .point_lists {
        --gap: .3rem;
        width: 90%;
        max-width: 450px;
    }
    .point_lists li {
        width: calc((100% - var(--gap)) / 2);
        min-width: unset;
    }
}

/* ギフト トップ */
.gift_top_container {
    padding-top: 8.9rem;
    padding-bottom: 5.95rem;
}
.gift_top_box {
    position: relative;
    display: flex;
    justify-content: flex-end;
    font-size: 20px;
    z-index: 1;
}
.gift_top_box.first {
    gap: 0 7vw;
    padding-right: 9.6rem;
}
.gift_top_box.last {
    gap: 0 2.3vw;
    padding-right: 9.95rem;
    margin-top: 8.55rem;
}
.gift_top_box .textBox {
    display: flex;
    align-items: flex-start;
}
.gift_top_box.first .imgBox {
    width: 48%;
    margin-top: 3px;
}
.gift_top_box.last .imgBox {
    width: 33.1%;
}
.gift_top_box .imgBox img {
    width: 100%;
    vertical-align: bottom;
}
.gift_top_box .textBox .content {
    position: relative;
    padding-right: 5.4rem;
}
.gift_top_box .textBox .content::before {
    content: "";
    width: 14px;
    aspect-ratio: 1 / 4;
    background: url(/cdn/shop/files/title01_asset.png?v=1768884872) center / contain no-repeat;
    position: absolute;
    top: 0;
    right: 0;
}
.gift_top_box h3,
.gift_top_box p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
}
.gift_top_box h3 {
    order: 1;
    font-size: 30px;
    font-weight: normal;
    margin-left: 1.95rem;
}
.gift_top_box p {
    line-height: 3;
}
.gift_top_box.last .textBox {
    display: flex;
}
.gift_top_box.last .textBox img {
    order: -1;
    width: 52.7%;
    margin-right: 1.65vw;
    margin-top: -1.8vw;
    margin-left: 0.9vw;
}
@media screen and (max-width: 1500px) {
    .gift_top_box {
        font-size: 18px;
    }
    .gift_top_box .textBox .content {
        padding-right: 4.4rem;
    }
    .gift_top_box.last {
        gap: 0 5.3vw;
    }
    .gift_top_box.last .textBox {
        flex-direction: column-reverse;
        align-items: flex-end;
        gap: 2rem;
    }
    .gift_top_box.last .imgBox {
        width: 43%;
    }
}
@media screen and (max-width: 1024px) {
    .gift_top_container {
        padding-top: 4rem;
        padding-bottom: 1rem;
    }
    .gift_top_box,
    .gift_top_box .textBox {
        flex-direction: column;
    }
    .gift_top_box {
        font-size: 16px;
    }
    .gift_top_box.last {
        margin-top: 3.5rem;
    }
    .gift_top_box.first,
    .gift_top_box.last {
        width: 100%;
        padding-right: 0;
    }
    .gift_top_box .textBox .content {
        padding-top: 2rem;
        padding-right: 0;
    }
    .gift_top_box .textBox .content:before {
        top: -16px;
        left: 25px;
        right: auto;
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
    }
    .gift_top_box h3,
    .gift_top_box p {
        white-space: normal;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .gift_top_box h3 {
        order: -1;
        font-size: 20px;
        margin-left: 0;
    }
    .gift_top_box p {
        line-height: 2.5;
    }
    .gift_top_box .textBox,
    .gift_top_box.last .textBox {
        align-items: flex-start;
    }
    .gift_top_box .imgBox {
        order: -1;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2rem;
    }
    .gift_top_box.last .textBox img {
        margin-left: auto;
        margin-right: auto;
    }
}
@media screen and (max-width: 767px) {
    .gift_top_box {
        font-size: 14px;
    }
    .gift_top_box.last .textBox {
        gap: .5rem;
    }
    .gift_top_box.first .imgBox,
    .gift_top_box.last .imgBox,
    .gift_top_box.last .textBox img {
        width: 100%;
    }
    .gift_top_box h3 {
        font-size: 18px;
    }
    .gift_top_box p {
        line-height: 1.8;
    }
}

/* 商品一覧 */
.page_gift_product_btn.btn_group {
    margin-top: 1.1rem;
}

.gift_bottom_container {
    margin-top: 8rem;
}
.gift_bottom_inner {
    display: flex;
    align-items: flex-start;
}
.gift_bottom_title {
    order: 1;
    flex-shrink: 0;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    width: 10rem;
}
.gift_bottom_title h3 p {
    font-size: 44px;
    font-weight: normal;
    line-height: 1.85;
    margin-right: -0.4em;
}
.gift_bottom_title h3 p strong {
    position: relative;
    font-weight: normal;
}
.gift_bottom_content {
    width: calc(100% - 10rem);
    padding-left: 4.85rem;
    padding-right: 4.85rem;
}
.gift_bottom_item {
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 1;
}
.gift_bottom_item + .gift_bottom_item {
    margin-top: 7.5rem;
}
.gift_bottom_item.reverse {
    flex-direction: row-reverse;
}
.gift_bottom_item .imgBox img {
    width: 100%;
    vertical-align: bottom;
}
.gift_bottom_item:first-child {
    justify-content: flex-start;
}
.gift_bottom_item:first-child .imgBox {
    width: 36.6%;
    margin-top: 4px;
    margin-right: 5.3vw;
}
.gift_bottom_item:nth-child(2) .imgBox {
    width: 55.3%;
}
.gift_bottom_item:last-child .imgBox {
    width: 55.4%;
}
.gift_bottom_item .textBox {
    display: flex;
    flex-direction: row-reverse;
    font-size: 18px;
    padding-top: .25rem;
}
.gift_bottom_item .textBox p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-bottom: 0;
}
.gift_bottom_item .textBox > p {
    line-height: 2.9;
}
.gift_bottom_item .textBox .title p {
    font-size: 24px;
    margin-left: 1.6em;
}
.gift_bottom_item .textBox .subTitle p {
    font-size: 22px;
    margin-left: 2.6em;
}
.disclosure-has-popup .facets__item input {
    border: none !important;
}
.facet-checkbox > svg {
    margin-top: 3px;
}

.header-section--wrapper {
    pointer-events: none;
    transition: all .3s;
}
body.js-drawer-open-filter .header-section--wrapper {
    opacity: 0;
    user-select: none;
    pointer-events: none;
}
.header-section--wrapper :is(a, button) {
    pointer-events: auto;
}
@media screen and (max-width: 1800px) {
    .gift_bottom_item .textBox {
        font-size: 16px;
    }
    .gift_bottom_item .textBox>p {
        line-height: 2.5;
    }
    .gift_bottom_item .textBox .title p {
        margin-left: 1.2em;
    }
    .gift_bottom_item .textBox .subTitle p {
        margin-left: 1.6em;
    }
}
@media screen and (max-width: 1400px) {
    .gift_bottom_content {
        padding-left: 0;
        padding-right: 0;
    }
    .gift_bottom_item:first-child .imgBox {
        width: 33.6%;
    }
    .gift_bottom_item:nth-child(2) .imgBox {
        width: 48%;
    }
    .gift_bottom_item:last-child .imgBox {
        width: 45%;
    }
}
@media screen and (max-width: 1024px) {
    .gift_bottom_container {
        margin-top: 3rem;
    }
    .gift_bottom_title {
        order: -1;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
        width: 100%;
    }
    .gift_bottom_title h3 p {
        font-size: 26px;
        margin-right: 0;
    }
    .gift_bottom_title h3 p strong {
        padding-bottom: 0;
        padding-right: 2.6rem;
    }
    .gift_bottom_inner {
        flex-wrap: wrap;
    }
    .gift_bottom_item {
        justify-content: space-between;
    }
    .gift_bottom_item + .gift_bottom_item {
        margin-top: 4.5rem;
    }
    .gift_bottom_content {
        width: 100%;
        padding-left: 0;
    }
    .gift_bottom_item .textBox {
        font-size: 14px;
        width: 100%;
    }
    .gift_bottom_item:nth-child(2) .textBox {
        justify-content: flex-end;
    }
    .gift_bottom_item .textBox > p {
        line-height: 2.4;
    }
    .gift_bottom_item .textBox .title p {
        font-size: 20px;
        margin-left: 1em;
    }
    .gift_bottom_item .textBox .subTitle p {
        font-size: 16px;
        margin-left: 1.6em;
    }
    .gift_bottom_item .imgBox {
        flex-shrink: 0;
    }
    .gift_bottom_item:nth-child(2) .imgBox {
        width: 51%;
    }
    .gift_bottom_item:last-child .imgBox {
        width: 46%;
    }
}
@media screen and (max-width: 767px) {
    .gift_bottom_container {
        margin-top: 1rem;
    }
    .gift_bottom_item {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }
    .gift_bottom_item + .gift_bottom_item {
        margin-top: 3rem;
    }
    .gift_bottom_item .textBox {
        flex-direction: column;
    }
    .gift_bottom_item .textBox p {
        line-height: 2;
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .gift_bottom_title h3 p {
        font-size: 20px;
    }
    .gift_bottom_item .textBox .title p {
        font-size: 18px;
        line-height: 1.8;
        margin-bottom: .5rem;
        margin-left: 0;
    }
    .gift_bottom_item .textBox .subTitle p {
        margin-bottom: .5rem;
        margin-left: 0;
    }
    .gift_bottom_item .imgBox {
        order: -1;
    }
    .gift_bottom_item:first-child .imgBox,
    .gift_bottom_item:nth-child(2) .imgBox,
    .gift_bottom_item:last-child .imgBox {
        width: 100%;
    }
}

/* 贈呈向き商品 */
.product_content.product_present {
    margin-top: 5.5rem;
}
@media screen and (max-width: 1024px) {
    .product_content.product_present {
        margin-top: 1.5rem;
    }
}

/* 大口注文の方 */
.large_order_list_container {
    padding-top: 3.5rem;
    padding-bottom: 5.3rem;
}
.large_order_list_inner {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    z-index: 1;
}
.large_order_list_container .container_title {
    margin-left: 3.25rem;
}
.large_order_list_container .title01 {
    margin-top: 0;
}
.large_order_list {
    --gap: 3.7%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    gap: 3.55rem var(--gap);
    list-style: none;
    width: 100%;
    margin: 0;
}
.large_order_list li {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    width: calc((100% - var(--gap)*2) / 3);
    background-color: #d3c3b2;
    padding: 2.5rem 2.1rem 2.1rem;
}
.large_order_item_textBox {
    display: flex;
    flex-direction: row-reverse;
    font-size: 18px;
}
.large_order_item_textBox h3,
.large_order_item_textBox p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-bottom: 0;
}
.large_order_item_textBox h3 {
    position: relative;
    font-size: 30px;
    font-weight: normal;
    padding-top: 2.5rem;
    margin-left: 1.7rem;
}
.large_order_item_textBox h3::before {
    content: "";
    width: 1em;
    aspect-ratio: 181 / 183;
    background: url(/cdn/shop/files/logo_red.png?v=1769038764) center / contain no-repeat;
    position: absolute;
    top: -0.01em;
    right: 0.2em;
}
.large_order_item_textBox p {
    line-height: 2.45;
}
@media screen and (max-width: 1600px) {
    .large_order_item_textBox p {
        line-height: 2;
    }
}
@media screen and (max-width: 1400px) {
    .large_order_list {
        --gap: 2.5%;
    }
    .large_order_list li {
        width: calc((100% - var(--gap)) / 2);
    }
}
@media screen and (max-width: 1024px) {
    .large_order_list_container {
        padding-top: 1.5rem;
        padding-bottom: 3.5rem;
    }
    .large_order_list_inner {
        flex-direction: column;
    }
    .large_order_list_container .container_title {
        margin-left: 0;
    }
    .large_order_list_container .title01 {
        display: inline-block;
    }
    .large_order_list {
        --gap: 3.7%;
        gap: 1.5rem var(--gap);
    }
    .large_order_list li {
    justify-content: flex-start;
        padding: 1rem;
    }
    .large_order_item_textBox {
        flex-direction: column;
        font-size: 14px;
    }
    .large_order_item_textBox h3,
    .large_order_item_textBox p {
        -ms-writing-mode: initial;
        writing-mode: horizontal-tb;
    }
    .large_order_item_textBox h3 {
        font-size: 18px;
        padding-top: 0;
        padding-left: 1.6rem;
        margin-left: 0;
        margin-bottom: .5rem;
    }
    .large_order_item_textBox h3:before {
        top: .2em;
        right: auto;
        left: 0;
    }
    .large_order_item_textBox p {
        line-height: 1.8;
    }
}
@media screen and (max-width: 767px) {
    .large_order_list {
        gap: .5rem var(--gap);
    }
    .large_order_list li {
        width: 100%;
    }
}

/* 大口注文フォーム */
.large_order_form_container {
    position: relative;
    margin-top: 7.3rem;
    z-index: 1;
}
.large_order_form_box {
    background-color: #fff;
    padding: 6.8rem 3rem 5.6rem;
    margin-bottom: 3.9rem;
}
.large_order_form_title,
.section-contact-form .section-title {
    position: relative;
    font-size: 40px;
    font-weight: normal;
    letter-spacing: 0;
    text-align: center;
}
.large_order_form_title br.sp {
    display: none;
}
.large_order_form_title span {
    position: relative;
    display: inline-block;
    font-weight: normal;
}
.large_order_form_title span::before {
    left: 0;
}
.large_order_form_title span::after {
    right: 0;
}
.globo-formbuilder .panel.block-container {
    width: 1350px;
    margin-left: auto;
    margin-right: auto;
}
.large_order_form_container .label-content {
    font-family: Hina Mincho, serif;
    font-size: 18px;
}
.large_order_form_container .globo-form-app {
    max-width: unset !important;
    margin-top: 9.6rem;
}
.large_order_form_container .globo-form-control {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 3.5rem;
}
.large_order_form_container .globo-form-control.form_sub_title {
    justify-content: flex-start;
}
.large_order_form_container .flat-label {
    flex-shrink: 0;
    letter-spacing: -.02em;
    width: 11.4rem;
    margin-right: 3.2rem;
    text-align: right !important;
}
.large_order_form_container .flat-label[for*="textarea"] {
    margin-top: 1.05rem;
}
.large_order_form_container .globo-form-input,
.large_order_form_container .messages {
    width: calc(100% - 11.4rem - 3.2rem);
}
.large_order_form_container .globo-form-control {
    align-items: center;
}
.large_order_form_container .globo-form-control:has(textarea) {
    align-items: flex-start;
}
.large_order_form_container .globo-form-control[data-type="textarea"] {
    margin-bottom: 1.5rem;
}
.large_order_form_container .globo-form-control input,
.large_order_form_container .globo-form-control textarea,
.large_order_form_container .globo-form-control select {
    background-color: #fff;
    height: auto;
}
input:not(.alt-input):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=hidden]):not(.btn),
.large_order_form_container .globo-form-control textarea {
    padding: 1.2rem 1rem;
    border: 1px solid #000;
}
.large_order_form_container .globo-form-control textarea {
    height: 26.15em;
}
.large_order_form_container .globo-form-control label {
    margin-bottom: 0;
}
.globo-form-control.form_sub_title {
    margin-top: 5.65rem !important;
    margin-bottom: 3.75rem;
}
.globo-form-control.form_sub_title .heading-title {
    font-size: 28px;
}
.globo-form-row-item:has(.form_product_name) {
    margin-right: 7.1vw;
}
.globo-form-row-item:has(.form_product_num) {
    max-width: 324px;
}
.large_order_form_container .form_product_num {
    justify-content: flex-start;
}
.large_order_form_container .form_product_num .flat-label {
    width: 2.3rem;
}
.large_order_form_container .form_product_num .globo-form-input {
    width: calc(100% - 2.3rem - 3.2rem);
}
.large_order_form_container .globo-form-control .globo-list-control {
    padding: 0;
}
.large_order_form_container .globo-form-control .checkbox-wrapper {
    padding-left: 48px;
}
.large_order_form_container .globo-form-control .checkbox-wrapper .checkbox-input~.checkbox-label:before,
.large_order_form_container .globo-form-control .checkbox-wrapper .checkbox-input~.checkbox-label:after {
    left: -48px;
    width: 27px;
    height: 27px;
    border-radius: 0;
}
.large_order_form_container .globo-form-id-128875 .globo-form-app .globo-form-control .checkbox-wrapper .checkbox-input:checked ~ .checkbox-label:before {
    background-color: var(--red-color);
    border-color: var(--red-color);
}
.gfb__footer:has(button.submit) {
    padding-left: 18.65rem;
    margin-top: 4.7rem;
}
.globo-form-app .gfb__footer button.submit {
    font-family: Hina Mincho, serif;
    font-size: 20px;
    color: #000;
    width: 407px !important;
    padding: 1.73em;
    background: url(/cdn/shop/files/arrow1.png?v=1769060561) right 1.2rem  center / 2.1rem no-repeat #fff;
    border-color: #000 !important;
    transition: all .3s;
}
.globo-form-app .gfb__footer button.submit:hover {
    background-color: #D9D9D9;
}
@media screen and (max-width: 1300px) {
    .large_order_form_title br.sp {
        display: block;
    }
}
@media screen and (max-width: 1024px) {
    .large_order_form_container {
        margin-top: 1rem;
    }
    .large_order_form_box {
        padding: 3.5rem 2rem 2rem;
        margin-bottom: 2rem;
    }
    .large_order_form_container .globo-form-app {
        margin-top: 3.5rem;
    }
    .large_order_form_title,
    .section-contact-form .section-title {
        font-size: 26px;
    }
    .large_order_form_title span,
    .section-contact-form .section-title strong {
        padding-left: 2.6rem;
        padding-right: 2.6rem;
    }
    input:not(.alt-input):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=hidden]):not(.btn),
    .large_order_form_container .globo-form-control textarea {
        padding: .6rem .8rem;
    }
    .globo-form-row {
        flex-direction: column;
    }
    .globo-form-row-item:has(.form_product_num) {
        max-width: 200px;
    }
    .large_order_form_container .flat-label,
    .large_order_form_container .globo-form-input,
    .large_order_form_container .messages,
    .large_order_form_container .form_product_num .globo-form-input {
        width: 100%;
    }
    .large_order_form_container .flat-label {
        text-align: left !important;
        margin-right: 0;
    }
    .large_order_form_container .globo-form-control {
        display: block;
        margin-bottom: 1.5rem;
    }
    .large_order_form_container .globo-form-control label {
        margin-bottom: .75rem;
    }
    .globo-form-control.form_sub_title {
        margin-top: 3rem !important;
        margin-bottom: 1.5rem;
    }
    .globo-form-control.form_sub_title .heading-title {
        font-size: 22px;
    }
    .large_order_form_container .label-content {
        font-size: 16px;
    }
    .globo-form-row-item:has(.form_product_name) {
        margin-right: 0;
    }
    .large_order_form_container .globo-form-control textarea {
        height: 11.15em;
    }
    .large_order_form_container .globo-form-control .checkbox-wrapper {
        padding-left: 30px;
    }
    .large_order_form_container .globo-form-control .checkbox-wrapper .checkbox-input~.checkbox-label:before,
    .large_order_form_container .globo-form-control .checkbox-wrapper .checkbox-input~.checkbox-label:after {
        left: -30px;
        width: 20px;
        height: 20px;
    }
    .gfb__footer:has(button.submit) {
        padding-left: 0;
        margin-top: 1.5rem;
    }
    .globo-form-app .gfb__footer button.submit {
        font-size: 16px;
        width: 250px !important;
        padding: 1.4rem 1.73em;
        background: url(/cdn/shop/files/arrow1.png?v=1769060561) right 1.2rem center / 1.3rem no-repeat #fff;
    }
}
@media screen and (max-width: 767px) {
    .large_order_form_box {
        padding: 2.5rem 1.5rem 1.5rem;
    }
    .large_order_form_container .globo-form-app {
        margin-top: 2rem;
    }
    .large_order_form_title {
        font-size: 18px;
    }
    .section-contact-form .section-title {
        font-size: 20px;
    }
    .large_order_form_container .label-content {
        font-size: 14px;
    }
    .large_order_form_container .globo-form-control label {
        margin-bottom: .5rem;
    }
    .large_order_form_title span,
    .section-contact-form .section-title strong {
        padding-left: 1.9rem;
        padding-right: 1.9rem;
    }
    .globo-form-row-item:has(.form_product_num) {
        max-width: 130px;
    }
    .large_order_form_title span:before,
    .large_order_form_title span:after,
    .section-contact-form .section-title strong:after {
        width: 7px;
    }
    .globo-form-app .gfb__footer button.submit {
        width: 220px !important;
    }
}


/****************************
* コレクション
****************************/
.collection-filters__item .collection-filters__sort option[value="title-ascending"],
.collection-filters__item .collection-filters__sort option[value="title-descending"],
.collection-filters__item .collection-filters__sort option[value="created-ascending"] {
    display: none !important;
}
body .collection-header {
    color: #000 !important;
    background-color: transparent !important;
    min-height: auto;
}
.collection-header .collection-header__text-content {
    padding: 0;
    padding-top: 8.9rem;
}
.collection-header .collection-header__text-content--inner {
    height: auto;
}
#breadcrumbs .breadcrumb .breadcrumb-item a {
    color: #000;
}
.collection-header__title .collection-header__text-item {
    position: relative;
    padding-left: 3.5rem;
}
.collection-header__title .collection-header__text-item::before {
    content: "";
    width: 40px;
    aspect-ratio: 181 / 183;
    background: url(/cdn/shop/files/logo_red.png?v=1769038764) center / contain no-repeat;
    position: absolute;
    top: 6px;
    left: 0;
}
.collection-header__description {
    display: none;
}

.shopify-section.wrapper-spacing--v--template:has(.collection_grid) {
    max-width: 1600px;
    width: 90%;
    padding: 3rem 0;
    margin: 0 auto;
}
.shopify-section .collection_grid {
    position: relative;
    font-family: Hina Mincho, serif;
    z-index: 2;
}

.label-font,
.select__select {
    font-family: Hina Mincho, serif !important;
}
.facets__wrapper details,
.collection-filters__field select {
    background-color: #fff;
}
.product-grid--wrapper {
    --grid-spacing: 18px;
}
.product-grid--price-font-body,
.product-grid--title-font-body,
.product-grid--vendor-font-body {
    font-family: Hina Mincho, serif;
    font-weight: normal;
}
.product-grid--title a {
    text-align: left;
}
.product-price--regular {
    text-align: right;
}
.product-grid--price .money {
    font-size: 20px;
}
.collection-style--grid .grid__item .product-grid--rating,
.product-recommendations .product-grid--rating,
.cart--recommendations .product-grid--rating {
    display: none;
}
.cart--recommendations .cart--recommendations-heading {
    font-weight: normal;
}
@media screen and (max-width: 1024px) {
    .collection-header .collection-header__text-content {
        padding-top: 3.5rem;
    }
    .shopify-section.wrapper-spacing--v--template:has(.collection_grid) {
        padding: 1rem 0 3rem;
    }
    .collection-header__title .collection-header__text-item {
        padding-left: 2.3rem;
    }
    .collection-header__title .collection-header__text-item:before {
        top: 5px;
        width: 28px;
    }
    .product-grid--price .money {
        font-size: 18px;
    }
}
@media screen and (max-width: 767px) {
    .collection-header .collection-header__text-content {
        padding-top: 3rem;
    }
    .shopify-section.wrapper-spacing--v--template:has(.collection_grid) {
        padding: .5rem 0 3rem;
    }
}


/****************************
* 商品詳細
****************************/
.collection-main-body {
    position: relative;
    z-index: 1;
}
.collection-main-body .product-grid--rating {
    display: none;
}

.product-section.wrapper-spacing--v--template {
    position: relative;
    max-width: 1600px;
    width: 90%;
    padding-top: 8.9rem;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    z-index: 1;
}
.product-details-wrapper {
    padding: 1rem 5rem;
}

.product-recommendations {
    position: relative;
    background: transparent !important;
    z-index: 1;
}
.product-recommendations .section-title,
.product-details-product-title {
    font-weight: normal;
}
.spb-label-tooltip {
    margin-bottom: 3px;
}
.spb-helptext {
    font-size: .85em;
}
.spb-select select {
    -moz-appearance: menulist;
    -webkit-appearance: menulist;
}
label:has(input[type="radio"]) + label:has(input[type="radio"]) {
    display: inline-block;
    margin-left: 20px;
}
@media screen and (max-width: 1300px) {
    .product-details-wrapper {
        padding: 1rem 2.5rem;
    }
}
@media screen and (max-width: 1024px) {
    .product-section.wrapper-spacing--v--template {
        padding-top: 4rem;
    }
    .product-section {
        padding-top: 3.5rem;
    }
    .product-details-wrapper {
        padding: 1rem 0;
    }
}
@media screen and (max-width: 767px) {
    .product-section {
        padding-top: 3rem;
    }
}


/****************************
* お問い合わせ
****************************/
.section-contact-form {
    position: relative;
    background: #fff !important;
    max-width: 1600px;
    width: 90%;
    padding: 6.8rem 3rem 5.6rem !important;
    margin: 0 auto;
    margin-top: 4rem !important;
    z-index: 1;
}
input, select, textarea {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 0;
}
.section-contact-form--submit-wrapper {
    text-align: center;
    margin-top: 1rem;
}
.section-contact-form--submit-wrapper button {
    font-family: Hina Mincho, serif;
    font-size: 20px;
    color: #000;
    width: 407px !important;
    padding: 1.73em;
    margin-top: 3rem;
    background: url(/cdn/shop/files/arrow1.png?v=1769060561) right 1.2rem center / 2.1rem no-repeat #fff;
    border: 1px solid #000;
}
@media screen and (max-width: 1024px) {
    .section-contact-form {
        padding: 3.5rem 2rem !important;
        margin-top: 4rem !important;
    }
    .section-title--wrapper {
        margin-bottom: 2rem;
    }
    .section-contact-form--submit-wrapper button {
        font-size: 16px;
        width: 270px !important;
        background: url(/cdn/shop/files/arrow1.png?v=1769060561) right 1.2rem center / 1.3rem no-repeat #fff;
        padding: 1rem;
        margin-top: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .section-contact-form {
        padding: 2.25rem 1.5rem!important;
    }
    .section-title--wrapper {
        margin-bottom: 1.5rem;
    }
}


/****************************
* お知らせ一覧
****************************/
body#news.template-blog .news_content {
    padding-top: 8.9rem;
}
body#news.template-blog .news_content .title01_box {
    justify-content: flex-start;
    align-items: flex-start;
}
.pagination {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 4rem;
}
.pagination > *,
.pagination > * a {
    font-size: 20px;
    transition: all .3s;
}
.pagination > *:hover a,
.pagination .current {
    color: var(--red-color);
}
@media screen and (max-width: 1024px) {
    body#news.template-blog .news_content {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
    .pagination {
        margin-top: 2.5rem;
    }
    .pagination > *,
    .pagination > * a {
        font-size: 18px;
    }
}
@media screen and (max-width: 767px) {
    body#news.template-blog .news_content {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}


/****************************
* お知らせ詳細
****************************/
.wrapper-spacing--v--template:has(.blog-main--wrapper) {
    padding-top: 8.9rem;
}
body.template-article .shopify-section:has(.blog-main--wrapper) > div {
    max-width: 1600px;
    width: 90%;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
}
body.template-article .width--content:has(.blog-main--wrapper) {
    position: relative;
    max-width: 1000px;
    background-color: #fff;
    padding: 5rem;
    z-index: 1;
}
.template-title--wrapper .template-title {
    font-size: 30px;
    font-weight: normal;
    text-align: left;
}
body.template-article .blog-main--wrapper .grid__item--article-main {
    width: 100%;
}
body.template-article .blog-main--wrapper .grid__item--article-sidebar {
    display: none;
}
@media screen and (max-width: 1024px) {
    .wrapper-spacing--v--template:has(.blog-main--wrapper) {
        padding-top: 3.5rem;
    }
    body.template-article .width--content:has(.blog-main--wrapper) {
        padding: 2.5rem;
    }
    .template-title--wrapper {
        margin-bottom: 30px;
    }
    .template-title--wrapper .template-title {
        font-size: 24px;
    }
    .blog-main--wrapper .standalone-icon--wrapper .pswp__icn,
    .blog-main--wrapper .standalone-icon--wrapper svg {
        width: 25px;
        height: 25px;
    }
    .blog-main--wrapper .social-sharing a:first-of-type {
        margin-left: -8px;
    }
}
@media screen and (max-width: 767px) {
    .wrapper-spacing--v--template:has(.blog-main--wrapper) {
        padding-top: 3rem;
    }
    body.template-article .width--content:has(.blog-main--wrapper) {
        padding: 1.5rem;
    }
    .template-title--wrapper {
        margin-bottom: 20px;
    }
    .template-title--wrapper .template-title {
        font-size: 20px;
    }
    .blog-main--wrapper .standalone-icon--wrapper:not(.icon-no-padding) {
        min-width: 25px;
        min-height: 25px;
        padding: 3px !important;
    }
    .blog-main--wrapper .standalone-icon--wrapper .pswp__icn,
    .blog-main--wrapper .standalone-icon--wrapper svg {
        width: 20px;
        height: 20px;
    }
    .blog-main--wrapper .social-sharing a:first-of-type {
        margin-left: -6px;
    }
}


/****************************
* カート
****************************/
body.template-cart .shopify-section:has(.cart--empty-cart),
body.template-cart .shopify-section > div:has(form.cart) {
    position: relative;
    max-width: 1600px;
    width: 90%;
    padding-top: 8.9rem;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    z-index: 1;
}
.h3.cart__subtotal,
.global-drawer--secondary__header h5 {
    font-weight: normal;
}
body.template-cart product-recommendations {
    display: none;
}
.cart__subtotal .money {
    font-size: 1.5em;
}
.delivery-container {
    position: relative;
    z-index: 1;
}
body.template-cart .cart-delivery-datetime_checkout-wrapper .delivery-container {
    max-width: unset;
}
.global-drawer__footer .cart-drawer__sub-footer .cart-drawer__footer--buttons {
    flex-direction: column;
}
.delivery-container .delivery-caution__statement {
    font-size: 14px !important;
}
@media screen and (max-width: 1024px) {
    body.template-cart .shopify-section > div:has(form.cart) {
        padding-top: 4rem;
    }
}
@media screen and (max-width: 767px) {
    body.template-cart .shopify-section > div:has(form.cart) {
        padding-top: 3rem;
    }
    .cart-table td,
    .cart-table th {
        padding: 20px 15px;
    }
    .cart-table td:has(.money) {
        padding-top: 0;
        padding-bottom: 0;
    }
    form.cart .money {
        font-size: 18px;
    }
}


/****************************
* アニメーション
****************************/
/* ふわっと */
.class_key.up {
	transform: translateY(50px);
	opacity: 0;
	transition: all .65s;
}
.up.class_active {
	transform: translateY(0);
	opacity: 1;
}


