@charset "utf-8";

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

    サイト設定　適宜変更箇所

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

body,
html {
    font-size: 18px;
}

body {
    color: #1c1f1b;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}


html {
    scroll-behavior: smooth;
}

a,
a img {
    color: #1c1f1b;
    text-decoration: none;
    transition: all 0.2s ease 0s;
}

/*下層ページタイトル*/
.under-v {
    padding: 50px 0 50px;
    text-align: center;
    background: gray;
    color: #fff;
}

/* h2 {
    font-size: 3.6rem;
} */

h2::before {
    font-size: 2.0em;
}

h2[data-name]::before {
    line-height: 0.6;
    font-size: 0.6em;
    font-weight: bold;
}

h3 {
    font-size: 2.6rem;
}

.wp-block-button {
    font-size: 1.2rem;
}

.wp-block-button[data-name]::before {
    font-size: 0.8em;
    font-weight: bold;
}

/*PCでは不要な場合*/
.nav-wrapper {
    display: none;
}

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

    サイト設定

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

.inner-s {
    max-width: 960px;
    margin: 0 auto;
}

/* .inner {
    max-width: 1100px;
    margin: 0 auto;
} */

.inner-l {
    max-width: 1440px;
    margin: 0 auto;
}

/* カラー */
.red {
    color: #6E0B0B;
    font-weight: bold;
}

/*画像ホバー時*/

.img-hover {
    transition: .6s;
}

.img-hover:hover {
    opacity: .6;
}

.flex-row {
    flex-direction: row-reverse;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

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

　　固定メニュー

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

.fix_nav.sp_disp.sp {
    position: fixed;
    z-index: 300;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: black;
}

.wp-block-group.fix_nav.sp_disp-inner {
    gap: 0;
}

.kotei-menu {
    color: #fff;
    padding: 5px 0;
    text-align: center;
    border-right: 0.5px solid #fff;
    position: relative;
}

.kotei-menu:last-child {
    border-right: none;
}

/*メニュー数*/

.sp_disp-4 .kotei-menu {
    width: 25%;
}

.sp_disp-3 .kotei-menu {
    width: 33.3333333333%;
}

.sp_disp-2 .kotei-menu {
    width: 50%;
}

.sp_disp-1 .kotei-menu {
    width: 100%;
}

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

ヘッダーの設定

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

header {
    width: 100%;
    transition: .6s;
}

.header-inner {
    transition: .6s;
}

/*適宜修正*/

.header-inner {
    /* position: fixed;
    top: 0; */
    width: 100%;
    /* z-index: 300; */
}

.fix_nav.sp_disp.sp {
    display: none;
}

/* ==============================
    
    メインビジュアル
    
　============================== */

/*メインビジュアル　relative*/

.mainv {
    z-index: 0;
    position: relative;
}

.slider-01 {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #000;
}

/*メインビジュアル　高さ適宜変更*/
/* .mainv,
.slider-01,
.slider-01 .slide figure.wp-block-image.size-full,
.slider-01 .slide figure.wp-block-image.size-full img {
    height: 100vh;
} */

/*メインビジュアルキャッチコピー*/
figure.wp-block-image.size-full.maincopy {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 20;
    /* 下記適宜変更*/
    max-width: 865px;
    height: 337px;
    width: 100%;
}

/* ==============================
    
    特定商取引に基づく表記・テーブル
    
　============================== */

.wp-block-group.tokusho-wrap {
    padding: 80px 0;
}

figure.wp-block-table td,
figure.wp-block-table th {
    border: none;
    padding: 18px 17px;
}

figure.wp-block-table {
    border: 1px solid #ccc;
}

.wp-block-table td:first-of-type {
    width: 50%;
    background-color: #ccc;
    border-bottom: 1px solid #fff;
}

.wp-block-table tr td {
    border-bottom: 1px solid #ccc;
}

.wp-block-table tr:last-of-type td {
    border-bottom: none;
}

/* ==============================
    
    個人情報保護方針
    
　============================== */

.wp-block-group.policy-wrap {
    padding: 80px 0;
    font-size: 16px;
    line-height: 2;
}

.wp-block-group.policy-wrap p {
    margin-bottom: 35px;
}

.wp-block-group.policy-wrap li {
    margin-bottom: 26px;
}

/* ==============================
    
    スペーサー
    
　============================== */

.vk_spacer-display-tablet,
.vk_spacer-display-mobile {
    display: none !important;
}

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

　　↓　PC版テーマ専用CSSは下記から記述　↓

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

html {
    overflow-x: hidden !important;
}

body {
    color: #FFF;
    font-family: "Lora", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    background-color: #000;
    overflow-x: hidden !important;
}

h2 {
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
}

h3 {
    font-size: 1.4rem;
}

a,
a img {
    color: #FFF;
}

.wrap {
    margin-top: -100px;
}

.inner {
    max-width: 1200px;
    margin: 0 auto;
}

.mainv .slides,
.mainv .slide,
.mainv .slide-inner,
.mainv .slide-inner img {
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-transform-style: preserve-3d !important;
    transform-style: preserve-3d !important;
    will-change: transform !important;
}

.mainv .slide img {
    opacity: 1 !important;
    visibility: visible !important;
}

.top_campaign,
.top_newitem,
.top_bestitem,
.top_setitem,
.top_category,
.top_contact {
    margin-top: 200px;
}

/* 縦書きタイトル */
.title_bg {
    writing-mode: vertical-rl;
    margin: 0 auto;
    position: relative;
    display: block;
    width: fit-content;
    height: max-content !important;
    white-space: nowrap !important;
    line-height: 1.5;
    text-align: start !important;
}

.title_bg::before {
    content: '';
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 360px;
    height: 360px;
    background: url('../img/img_title_bg_01.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.title_bg_deco {
    position: relative;
}

/* ロゴ入りタイトル */
.title_deco {
    position: relative;
    z-index: 1;
}

.title_deco::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 180px;
    height: 180px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: url('../img/img_title_bg_02.png');
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}

/* 文字強調 */
.txt_highlight {
    color: #82ae46;
}

/* もっとみるボタン */
.more_btn {
    justify-content: center;
}

.more_btn a {
    position: relative;
    color: #fff;
    border-left: 2px solid #82ae46;
    background-color: #424225;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    width: 280px !important;
    padding: 20px 0;
    font-size: 1rem;
    overflow: hidden;
    z-index: 50;
}

.more_btn a:hover {
    background-color: #82ae46;
    color: #000;
    transition: .5s
}

.more_btn a:hover::before {
    background-color: #000;
}

.more_btn a::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 50px;
    width: 25px;
    height: 25px;
    -webkit-mask-image: url('../img/img_btn_icon.png');
    mask-image: url('../img/img_btn_icon.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #95ae00;
    z-index: 2;
}

.more_btn a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/img_btn_bg.png');
    background-size: 700px;
    background-position: 0 -5px;
    mix-blend-mode: screen;
    opacity: .1;
}

/* 金箔 */
.deco_bg03 {
    position: relative;
    pointer-events: none !important;
}

.deco_bg03::before {
    content: '';
    position: absolute;
    bottom: -470px;
    left: -350px;
    width: 1100px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(15deg);
    z-index: -1;
}

.deco_bg03::after {
    content: '';
    position: absolute;
    width: 850px;
    /* 好きな幅を入れる */
    aspect-ratio: 16 / 9
        /* 画像の比率（横/縦）を入れる */
    ;
    background: linear-gradient(90deg, transparent 10%, #000);
    z-index: -1;
}

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

ヘッダーの設定

　============================== */
body {
    padding-top: 310px !important;
}

header {
    width: 100%;
    transition: .6s;
}

.header-inner {
    transition: .6s;
}

.header-inner .header-inner-wrap {
    padding-top: 0 !important;
}

/*適宜修正*/

.header-inner {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 300;
    transition: all 0.3s ease !important;
}

.fix_nav.sp_disp.sp {
    display: none;
}

/* ヘッダー */
.header_bar {
    position: relative;
    width: 100%;
    padding: 10px 0 !important;
    font-size: 20px;
}

.header_bar::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background: url('../img/img_header_bg.png') repeat;
    background-size: 60px;
    background-position: 0 10px;
    mix-blend-mode: multiply;
    opacity: .15;
    z-index: 1;
}

/* 【修正】WPの自動クラス名を、HTML側の独自クラス「.header-inner-wrap」に変更 */
.header-inner .header-inner-wrap {
    padding-top: 52px;
}

/* 【修正】WPの自動クラス名を、HTML側の独自クラス「.header-inner-wrap」に変更 */
.header-inner .header-inner-wrap {
    align-items: flex-start;
}

.header_logo {
    position: relative;
    background-color: #000;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    /* padding: 30px 40px; */
    padding: 25px 15px;
    z-index: 3;
    transition: all 0.3s ease !important;
}

.header_logo:hover {
    opacity: .6 !important;
    transition: .5s !important;
}

.header-inner-sp {
    display: none;
}

.logo {
    /* width: 180px; */
    width: 130px;
    margin-left: auto;
    margin-right: auto;
    transition: all 0.3s ease !important;
}

.header_logo p {
    font-size: 16px;
    margin-top: 10px;
    white-space: nowrap;
}

.header_menu {
    width: 100%;
    background-color: #000;
    border-bottom: 1px solid #FFF;
    transition: all 0.3s ease !important;
}

.header_menu a:hover {
    color: #82ae46 !important;
    transition: .5s !important;
}

.header_menu ul.wp-block-navigation__container.header-inner-menu.header_menu_main.wp-block-navigation {
    font-size: 20px;
    justify-content: center;
    gap: 10%;
    padding: 20px 0;
}

.header_menu ul.wp-block-navigation__container.header-inner-menu.header_menu_sub.wp-block-navigation {
    font-size: 16px;
    justify-content: flex-end;
    gap: 0 !important;
    padding: 20px 2%;
}

.header_menu_sub ul li:not(.header_menu_mypage, .header_menu_cart) {
    border-right: 1px solid #FFF
}

.header_menu_sub ul li:nth-child(3) {
    border-right: none;
}

.header_menu_sub a {
    padding: 0 2vw;
}

.header_menu_mypage,
.header_menu_cart {
    flex: 1 1 160px;
    max-width: 160px;
}

.header_menu_mypage a,
.header_menu_cart a {
    display: inline-block !important;
    width: 100% !important;
    border: 1px solid #82ae46;
    padding: 10px 0;
    text-align: center;
}

.header_menu_mypage a::before,
.header_menu_cart a::before {
    font-family: "Font Awesome 6 Free";
    font-size: 20px;
    font-weight: 900;
    vertical-align: -2px;
    margin-right: 8px;
    color: #82ae46;
}

.header_menu_mypage a::before {
    content: "\f007";
}

.header_menu_cart a::before {
    content: "\f07a";
}

.header_menu_cart {
    margin-left: 1%;
}

.header_menu_mypage a:hover,
.header_menu_cart a:hover {
    background-color: #82ae46;
    color: #000 !important;
}

.header_menu_mypage a:hover::before,
.header_menu_cart a:hover::before {
    color: #000 !important;
}

/* --- ベーススタイル --- */
.header-inner {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    transition: all 0.3s ease;
}

.header-inner.is-small .header_logo {
    /* padding: 20px 20px; */
    padding: 20px 15px;
}

.header-inner.is-small .logo {
    /* width: 130px; */
    width: 120px;
    /* 必要に応じて調整 */
    transition: all 0.3s ease;
}

.header-inner.is-small .header_logo p {
    font-size: 14px;
    white-space: nowrap;
}


.header-inner.is-small .header-inner-wrap {
    padding-bottom: 5px !important;
    transition: all 0.3s ease;
}

.header-inner.is-small .wp-block-navigation__container {
    padding: 10px 20px !important;
    transition: all 0.3s ease;
}

.header-inner.is-small .header_menu ul.wp-block-navigation__container.header-inner-menu.header_menu_main.wp-block-navigation {
    font-size: 18px;
    padding-top: 10px;
}

/* フッター */
.cm_totop.fixed-show-btn {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    z-index: 9999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.4s, visibility 0.4s !important;
}

.cm_totop.fixed-show-btn.is-show {
    opacity: 1 !important;
    visibility: visible !important;
}

.cm_totop.fixed-show-btn .wp-block-button__link {
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
}

.cm_totop.fixed-show-btn .wp-block-button__link::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: translateY(2px) rotate(-45deg);
    margin: 0 auto;
}

.cm_totop.fixed-show-btn a {
    background-color: #82ae46;
}

.cm_totop.fixed-show-btn a:hover {
    background-color: #424225;
}

#site-footer {
    width: 100%;
    border-top: 1px solid #FFF;
    background-color: #000;
    margin: 0 auto;
}

.footer {
    max-width: 1440px;
    margin: 0 auto;
    padding: 60px 20px;
}

.footer>.wp-block-group__inner-container>.wp-block-group.is-layout-flex {
    display: flex !important;
    justify-content: space-between;
    align-items: stretch;
    gap: 40px;
}

.footer_logo {
    /* width: 270px; */
    width: 250px;
    flex-shrink: 0;
    position: relative;
    background-color: #000;
    border: 1px solid #FFF;
    padding: 25px 40px;
}

.footer_logo .logo {
    width: 160px;
    margin-right: -2px;
}

.footer_logo i {
    position: absolute;
    bottom: 4%;
    right: 3%;
}

.footer_logo:hover {
    opacity: .6 !important;
    transition: .5s !important;
}

.footer_logo p {
    font-size: 16px;
    margin-top: 10px;
}

.footer_menu {
    max-width: 840px !important;
    width: 90%;
}

.footer_menu>.wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: space-between !important;
    gap: 30px;
    width: 100% !important;
}

.footer_menu_btn {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
}

div.footer_menu_btn.wp-block-group.is-layout-flex {
    gap: 5% !important;
    align-items: flex-start !important;
}

div.footer_menu_btn.wp-block-group.is-layout-flex>.wp-block-group {
    flex: 1;
    max-width: 400px;
}

.footer_btn a {
    position: relative;
    width: 100% !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 20px 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: .5s !important;
    border-radius: 0;
    z-index: 1;
    white-space: nowrap;
    background-color: #424225 !important;
}

.footer_btn a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background: url('../img/img_btn_bg.png');
    background-size: 500px;
    background-position: 0 -5px;
    mix-blend-mode: screen;
    opacity: .1;
    z-index: -1;
}

.footer_btn a:hover {
    background-color: #82ae46 !important;
    color: #000 !important;
    opacity: 1 !important;
}

.footer_btn i {
    color: #82ae46;
    font-size: 22px;
}

.footer_btn a:hover i {
    color: #000 !important;
}

.footer_menu ul.wp-block-navigation__container.wp-block-navigation {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 20px 0 !important;
}

.footer_menu ul.wp-block-navigation__container.wp-block-navigation>li {
    display: block !important;
    flex: 1 1 18% !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.footer_menu a.wp-block-navigation-item__content {
    display: block !important;
    padding: 2px 0 !important;
    text-align: center !important;
    border-right: 1px solid #FFF !important;
    box-sizing: border-box !important;
}

.footer_menu ul>li:nth-child(1) a {
    text-align: left !important;
}

.footer_menu ul>li:nth-child(5) a {
    text-align: right !important;
    border-right: none !important;
}

.footer_menu ul.wp-block-navigation__container.wp-block-navigation>li:nth-child(6),
.footer_menu ul.wp-block-navigation__container.wp-block-navigation>li:nth-child(7) {
    flex: none !important;
    width: max-content !important;
}

.footer_menu ul>li:nth-child(6) a {
    text-align: left !important;
    padding: 2px 30px 2px 0 !important;
}

.footer_menu ul>li:nth-child(7) a {
    text-align: left !important;
    padding: 2px 0 2px 30px !important;
    border-right: none !important;
}

.footer_menu ul li a:hover {
    color: #82ae46 !important;
    transition: .5s !important;
}

/* トップ-mv */
.mainv {
    margin-top: max(-6.2%, -1vw) !important;
}

.mainv,
.slider-01,
.slider-01 .slide figure.wp-block-image.size-full,
.slider-01 .slide figure.wp-block-image.size-full img {
    height: auto;
}

.slider-07 .slide {
    padding: 0;
    border: none;
}

.slider-dots {
    display: none !important;
}

p.prev,
p.next {
    transform: translateY(-70%);
    width: 70px !important;
    height: 140px !important;
    background-color: #000;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

p.prev {
    left: 0;
    border-radius: 0 70px 70px 0 !important;
}

p.next {
    right: 0;
    border-radius: 70px 0 0 70px !important;
}

p.prev:before,
p.next:before {
    width: 20px;
    height: 20px;
}

p.prev:before {
    border-top: solid 1px #FFF;
    border-left: solid 1px #FFF;
}

p.next:before {
    border-top: solid 1px #FFF;
    border-right: solid 1px #FFF;
}

p.prev:hover,
p.next:hover {
    background-color: #82ae46;
    transition: .6s;
}

.slider-07 .slides .wp-block-group__inner-container {
    display: flex !important;
    gap: 0 !important;
    padding: 45px 0 50px 0 !important;
    align-items: center !important;
    overflow: visible !important;
}

.slider-07 .slide {
    flex-shrink: 0 !important;
    overflow: visible !important;
    width: 22vw !important;
    /* 画面幅に連動させつつ */
    max-width: 341px !important;
    /* 1920px以上の大画面でこれ以上大きくさせない（ヘッダーめり込み防止） */
    min-width: 280px !important;
    padding: 0 1% !important;
}

.slider-07 .slide-inner {
    width: 100%;
    transform-origin: center center;
}

.slider-07 .slide img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* トップ-商品セクション共通 */
.top-item-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 40px 6%;
    z-index: 1;
}

.top-item-card {
    width: 29.3%;
    display: flex;
}

.top-item-card a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 600px;
    text-decoration: none;
    color: inherit;
}

.top-item-thumbnail {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.top-item-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.top-item-card a:hover img {
    transform: scale(1.1);
}

.top-item-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding-top: 15px;
}

.top-item-category-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 20px 0;
    margin-top: 10px;
}

.top-item-category {
    border: 1px solid #82ae46;
    /* padding: 0.15rem 1.6rem 0.15rem 1rem; */
    padding: 0.3rem 1rem 0.3rem 1rem;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

/* .top-item-category::before {
    content: '・';
    color: #82ae46;
    font-size: 1.4rem;
    display: inline-block;
    transform: translateY(1px);
} */

.top-item-title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    /* height: 4.8em; */
    height: 3em;
    display: -webkit-box;
    /* -webkit-line-clamp: 3; */
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.top-item-price {
    display: block;
    width: 100%;
    font-size: 20px;
    font-weight: 500;
    /* margin-top: auto; */
    margin-top: 20px;
    margin-left: auto;
    padding-top: 10px;
    text-align: right;
    border-top: 1px solid #82ae46;
}

.price-tax {
    font-size: 14px;
    font-weight: 400;
    margin-left: -4px;
}

/* トップ-キャンペーン情報 */
.top_campaign .deco_bg03::before {
    content: '';
    position: absolute;
    top: initial;
    bottom: -670px;
    left: initial;
    right: -95%;
    width: 1300px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(200deg);
    opacity: .6;
    z-index: 2;
}

.top_campaign .deco_bg03_reverse::before {
    content: '';
    position: absolute;
    top: -500px !important;
    bottom: initial !important;
    left: -80% !important;
    right: initial !important;
    width: 1200px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(20deg);
    opacity: .6;
    z-index: 2;
}

.top_campaign .deco_bg03::after {
    display: none;
}

.top-campaign-list-thumbnail {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 6%;
    margin-top: 100px;
    margin-bottom: 70px;
    z-index: 3;
}

.top-campaign-item {
    flex: 1;
    border-bottom: 1px solid #82ae46;
}

.top-campaign-thumbnail {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.top-campaign-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.top-campaign-thumbnail:hover img {
    transform: scale(1.1);
}

.top-campaign-date {
    display: block;
    margin: 5px 0;
    margin-top: 15px;
    color: #FFF !important;
}

.top-campaign-text {
    margin: 20px 0;
}

.top-campaign-title {
    font-size: 20px;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.top-campaign-category {
    display: inline-block;
    border: 1px solid #82ae46;
    padding: 0.3rem 1rem 0.3rem 1rem;
    margin-top: 5px;
    line-height: 1;
}

/* .top-campaign-category::before {
    content: '・';
    color: #82ae46;
    font-size: 1.4rem;
    vertical-align: middle;
} */

/* トップ-新商品 */
.top_newitem {
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 200px 0;
    z-index: 1;
    margin-top: 80px;
}

.top_newitem::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: url('../img/img_bg_01.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%) rotate(90deg) scale(0.6);
    z-index: -1;
}

.top_newitem::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, .2) 30%,
            rgba(0, 0, 0, .4) 100%);
    z-index: -1;
    opacity: 1;
}

.top_newitem .title_bg::before {
    content: '';
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 300px;
    height: 300px;
}

.top_newitem .top-item-list {
    width: 1200px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 60px !important;
}

.top_newitem_content {
    margin-top: 20px;
}

/* トップ-人気商品 */
.top_bestitem {
    position: relative;
}

.top_bestitem::before {
    position: absolute;
    bottom: -15%;
    right: -65vw;
    content: "";
    display: block;
    width: 145%;
    aspect-ratio: 1344 / 768;
    background: url('../img/img_deco_bg_04.png');
    background-size: cover;
    background-position: center;
    opacity: .2;
}

.top_bestitem .deco_bg03::before {
    content: '';
    position: absolute;
    top: initial;
    bottom: -670px;
    left: initial;
    right: -80%;
    width: 1200px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(200deg);
    opacity: .6;
    z-index: 2;
}

.top_bestitem .deco_bg03_reverse::before {
    content: '';
    position: absolute;
    top: -500px !important;
    bottom: initial !important;
    left: -80% !important;
    right: initial !important;
    width: 1200px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(10deg);
    opacity: .6;
    z-index: 2;
}

.top_bestitem .top-item-list {
    margin-top: 140px;
    margin-bottom: 60px !important;
    justify-content: center;
}

.top_bestitem_deco {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top_bestitem_deco img {
    width: 100%;
    height: auto;
}

#top_bestitem_deco01 {
    width: 180px;
    transform: translate(-130%, 100%);
}

#top_bestitem_deco02 {
    width: 140px !important;
    transform: translate(60%, 20%);
}

#top_bestitem_deco03 {
    width: 150px;
    transform: translate(150%, -50%);
}

/* トップ-詰め合わせ商品 */
.top_setitem {
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 200px 0;
    z-index: 1;
    margin-top: 140px;
    background-image: linear-gradient(0deg, #000000 70%, #424225);
}

.top_setitem::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    background-image: url('../img/img_deco_bg_05.png');
    background-repeat: repeat;
    background-size: 400px auto;
    opacity: .1;
}

.top_setitem .top-item-list {
    width: 1200px;
    margin: 0 auto;
    margin-top: 140px;
    margin-bottom: 60px !important;
}

.top_setitem_deco {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top_setitem_deco img {
    width: 100%;
    height: auto;
}

#top_setitem_deco01 {
    width: 180px;
    transform: translate(-230%, 100%);
}

#top_setitem_deco02 {
    width: 100px !important;
    transform: translate(-200%, 20%);
}

#top_setitem_deco03 {
    width: 120px;
    transform: translate(100%, 10%);
}

#top_setitem_deco04 {
    width: 120px;
    transform: translate(230%, -50%);
}

/* トップ-カテゴリから探す */
.top_category {
    position: relative;
    z-index: 1;
    margin-top: 80px;
}

.top_category::before {
    content: "";
    position: absolute;
    bottom: -150px;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    /* 画面幅いっぱい */
    height: 300px;
    /* 親要素(300px)と同じ高さ */
    z-index: -1;
    /* コンテンツの裏側に回す */
    background-image: url('../img/img_deco_bg_05.png');
    background-repeat: repeat;
    background-size: 400px auto;
    opacity: .2;
}

.top_category h2 {
    position: relative;
    text-align: left !important;
}

.top_category h2::before {
    content: '';
    display: inline-block;
    width: 80px;
    height: 80px;
    vertical-align: -25px;
    margin-right: 20px;
    -webkit-mask-image: url('../img/img_title_bg_02.png');
    mask-image: url('../img/img_title_bg_02.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #4e682a;
}

.top_category .deco_bg03_reverse::before {
    content: '';
    position: absolute;
    top: -1000px !important;
    bottom: initial !important;
    left: -100% !important;
    right: initial !important;
    width: 1300px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(10deg);
    opacity: .6;
    z-index: 2;
}

.top_category .is-style-vk_tab_labels-line .vk_tab_labels .vk_tab_labels_label>div {
    font-size: 26px;
    font-weight: 500;
    border-top: none !important;
    padding: calc(1rem * 0.8) calc(1rem * 6.5) !important;
}

.top_category ul.vk_tab_labels.vk_tab_labels-tabSize--sp-fitText.vk_tab_labels-tabSize--tab-fitText.vk_tab_labels-tabSize--pc-fitText {
    justify-content: flex-end;
    gap: 2%;
}

.top_category .wp-block-group.vk_block-margin-0--margin-top.vk_block-margin-0--margin-bottom.is-style-default.has-border-color.has-black-background-color.has-background {
    padding: 0 !important;
}

.top_category div#vk-tab-id-3i03zu9jz-nyw1-8yxi-fjbv-ejl50mtdij7 {
    margin-top: 10px;
}

/* ==========================================
   タブボタン共通の設定（修正）
   ========================================== */
.top_category .vk_tab_labels_label {
    position: relative;
    right: 1px;
    border-top: 3px solid transparent !important;
    color: #FFF !important;
    opacity: 0.6;
    overflow: hidden;
    z-index: 1;
    transition: opacity 0.3s ease;
}

.top_category .vk_tab_labels_label:hover,
.top_category .vk_tab_labels_label.vk_tab_labels_label-state-active {
    opacity: 1 !important;
}

/* ==========================================
   アクティブ時の共通表示（既存の調整）
   ========================================== */
.top_category .vk_tab_labels_label.vk_tab_labels_label-state-active {
    position: relative;
    top: 4px;
    border-top: 3px solid #82ae46 !important;
}

/* ==========================================
   お菓子ボタン (ID: ...qhn4mgerw7)
   ========================================== */
/* 通常時 */
.top_category li#vk_tab_labels_label-uxq0w9vg0-ixoh-453y-ijce-lqhn4mgerw7 {
    background-color: #424225 !important;
}

/* パターン画像（お菓子） */
.top_category li#vk_tab_labels_label-uxq0w9vg0-ixoh-453y-ijce-lqhn4mgerw7::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200%;
    height: 300px;
    background-image: url('../img/img_top_contact_deco_01.png');
    background-color: #424225 !important;
    background-repeat: no-repeat;
    background-size: 550px auto;
    background-position: center;
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
    z-index: -1;
    opacity: 1;
}

/* ==========================================
   お茶ボタン (ID: ...mmng7sxgq3n)
   ========================================== */
/* 通常時 */
.top_category li#vk_tab_labels_label-4tmgkp8rf-2g1k-oh33-3zf6-mmng7sxgq3n {
    background-color: #aeb568 !important;
}

/* パターン画像（お茶） */
.top_category li#vk_tab_labels_label-4tmgkp8rf-2g1k-oh33-3zf6-mmng7sxgq3n::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200%;
    height: 300px;
    /* ここにお茶用の画像パスを入れてください */
    background-image: url('../img/img_top_contact_deco_02.png');
    background-repeat: no-repeat;
    background-size: 500px auto;
    background-position: center;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: -1;
    opacity: .3;
    mix-blend-mode: multiply;
}

/* ==========================================
   アクティブ（選択中）時の共通表示
   ========================================== */
.top_category .vk_tab_labels_label.vk_tab_labels_label-state-active {
    position: relative;
    top: 4px;
    border-top: 3px solid #82ae46 !important;
}

.top_category_content {
    position: relative;
    border: 4px solid #82ae46;
    outline: 1px solid #82ae46;
    outline-offset: -12px;
    background: #000;
    padding: 50px 0 !important;
    justify-content: center;
}

.top_category_content_deco {
    position: absolute;
    width: 30px;
    height: 30px;
    background: url('../img/img_deco_01.png') no-repeat center / contain;
    pointer-events: none;
    z-index: 2;
}

.top_category_content_deco_tl {
    top: -2px;
    left: 8px;
    transform: rotate(270deg);
}

.top_category_content_deco_tr {
    top: -2px;
    right: 8px;
}

.top_category_content_deco_bl {
    bottom: 8px;
    right: 7px;
    transform: rotate(90deg);
}

.top_category_content_deco_br {
    bottom: 8px;
    left: 7px;
    transform: rotate(180deg);
}

.top_category .wp-block-group.is-layout-flex {
    gap: 5% !important;
}

.top_category figure {
    width: 160px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
}

.top_category figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_category_content p {
    margin-top: 10px;
    font-size: 20px;
}

/* トップ-お問い合わせ */
.top_contact .wp-block-columns {
    position: relative;
    display: flex !important;
    width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 !important;
    max-width: none !important;
}

.top_contact .wp-block-columns::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -30px;
    width: 500px;
    height: 500px;
    background: url('../img/img_title_bg_02.png');
    background-size: contain;
    z-index: -1;
    opacity: .6;
}

.top_contact .wp-block-column {
    margin: 0 !important;
    padding: 0 !important;
}

.top_contact_img {
    width: 90%;
    min-height: 650px;
    height: 100%;
    background-color: #000 !important;
    background-image:
        linear-gradient(to right,
            transparent 0%,
            transparent 75%,
            rgba(0, 0, 0, 0.3) 85%,
            rgba(0, 0, 0, 0.7) 93%,
            #000 100%),
        linear-gradient(to bottom,
            #000 0%,
            rgba(0, 0, 0, 0.4) 8%,
            transparent 15%,
            transparent 85%,
            rgba(0, 0, 0, 0.5) 93%,
            #000 100%),
        url('../img/img_top_contact_01.png') !important;
    background-size: cover;
    background-position: 20% bottom;
    background-repeat: no-repeat;
    opacity: .8;
}

.top_contact_txt {
    width: 100%;
    max-width: 630px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.top_contact_txt h2 {
    margin-bottom: 50px;
}

.top_contact_txt .top_contact_txt_btn.wp-block-group.is-layout-flex {
    margin-top: 50px !important;
    padding-top: 50px !important;
    border-top: 1px solid #82ae46 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    text-align: center;
    gap: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.top_contact_txt .footer_btn {
    width: 300px !important;
    max-width: 100% !important;
}

.top_contact_txt .footer_btn a {
    width: 100% !important;
    box-sizing: border-box !important;
}

.top_contact_txt_btn p {
    display: block !important;
    text-align: left;
}

.top_contact_sub {
    width: 1440px;
    max-width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 50px;
    margin-bottom: 280px;
    text-align: center;
}

.top_contact_sub h3 {
    display: inline-block;
    position: relative;
    font-weight: 500;
}

.top_contact_sub h3:before {
    position: absolute;
    color: #82ae46;
    top: 0;
    left: -40px;
}

#top_contact_sub_guide h3:before {
    content: '';
    background: url('../img/img_top_guide_icon_01.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 25px;
    height: 25px;
    top: 50%;
    transform: translateY(-50%);
}

#top_contact_sub_price h3:before {
    content: '￥';
    font-family: "Noto Sans JP", sans-serif;
}

#top_contact_sub_ship h3:before {
    content: '';
    background: url('../img/img_top_guide_icon_02.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 33px;
    height: 33px;
    top: 50%;
    left: -50px;
    transform: translateY(-50%);
}

#top_contact_sub_qa h3:before {
    content: '？';
    font-family: "Noto Sans JP", sans-serif;
}

.top_contact .is-layout-grid {
    gap: 15% 8%;
}

.top_contact_sub .wp-block-group.is-style-vk-group-solid {
    position: relative;
    border: 1px solid #424225 !important;
    padding: 1.8em 4em 1.8em 6em;
    transition: .3s;
}

.top_contact_sub .wp-block-group.is-style-vk-group-solid:hover {
    opacity: .6;
    transition: .3s;
}

.top_contact_sub_bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 45px;
    height: 100%;
    background-color: #424225;
    overflow: hidden;
}

.top_contact_sub_bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: repeat;
    pointer-events: none;
}

#top_contact_sub_guide .top_contact_sub_bar::before {
    width: 500px;
    left: -250px;
    background-image: url('../img/img_top_contact_deco_01.png');
    background-repeat: no-repeat;
    background-size: 450px auto;
    transform: rotate(45deg);
}

#top_contact_sub_price .top_contact_sub_bar::before {
    background-image: url('../img/img_top_contact_deco_02.png');
    background-size: 450px auto;
    background-position: center;
    opacity: .1;
}

#top_contact_sub_ship .top_contact_sub_bar::before {
    background-image: url('../img/img_btn_bg.png');
    background-size: 600px auto;
    background-position: center;
    opacity: .1;
}

#top_contact_sub_qa .top_contact_sub_bar::before {
    background-image: url('../img/img_top_contact_deco_03.png');
    background-size: 60px auto;
    background-position: center;
    opacity: .1;
}

.top_contact_sub a.wp-block-button__link.has-text-align-left.wp-element-button {
    position: relative;
    right: -20%;
    font-size: 20px;
    background-color: initial !important;
    border-bottom: 1px solid #82ae46;
    border-radius: initial;
    padding: 5px 50px;
    margin-top: 40px;
}

.top_contact_sub a.wp-block-button__link.has-text-align-left.wp-element-button::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 25px;
    height: 25px;
    -webkit-mask-image: url('../img/img_btn_icon.png');
    mask-image: url('../img/img_btn_icon.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #95ae00;
}

.top_contact_sub a.wp-block-button__link.has-text-align-left.wp-element-button::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #95ae00;
    border-right: 2px solid #95ae00;
    transform: translateY(-50%) rotate(45deg);
}

/* 下層-共通 */
.under-v {
    position: relative;
    padding: 0;
    width: 100%;
    height: 280px;
    text-align: center;
    background: #000;
    color: #fff;
    margin-top: -100px;
    display: flex;
    /* Flexboxを有効にする */
    justify-content: center;
    /* 左右中央に寄せる */
    align-items: center;
    /* 上下中央に寄せる */
    z-index: 1;
}

.under-v::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    z-index: -2;
    pointer-events: none;
}

.under-v h1 {
    position: relative;
    font-weight: 500;
    z-index: 1;
}

/* はじめての方へ */
#first p:not(.header_bar):not(.header_logo p) {
    line-height: 2.5;
}

#first .under-v {
    background: url('../img/img_top_contact_01.png');
    background-size: cover;
    background-position: center bottom 30%;
    background-repeat: no-repeat;
    margin-top: -100px;
    z-index: 1;
}

.first_intro {
    position: relative;
    margin-top: 200px;
    z-index: 1;
}

.first_intro::before {
    content: '';
    position: absolute;
    top: -200px;
    right: 0;
    width: 60%;
    min-height: 650px;
    height: 100%;
    background-image: linear-gradient(to left, transparent 70%, rgba(0, 0, 0, 0.6) 80%, #000 85%),
        linear-gradient(to bottom, #000 0%, transparent 25%, transparent 76%, #000 100%),
        url(../img/img_first_intro_bg.png) !important;
    background-size: 100%;
    background-position: 70% 40%;
    background-repeat: no-repeat;
    opacity: .4;
    z-index: -1;
}

.first_intro::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background-color: #82ae46;
    height: 300px;
    margin-top: 50px;
}

.first_intro h2 {
    z-index: 2;
}

.first_intro h3 {
    margin-top: 150px;
    margin-bottom: 20px;
}

.first_intro_img01 {
    position: absolute;
    /* 画面幅に合わせて伸縮するが */
    width: 26vw;
    /* 1920pxのとき約500pxになる設定。ここで拡大を止める */
    max-width: 500px;
    /* 幅が変わっても比率を維持 */
    aspect-ratio: 1 / 1.2;
    top: 50px;
    /* ここはpxで固定でOK（配置を維持するため） */
    left: 0;
    /* z-index: 1; */
}

.first_intro_img01::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(0deg, transparent 56%, #000000);
}

.first_intro_img01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.first_intro p.has-text-align-center {
    position: relative;
    z-index: 2;
}

.first_intro_img02 {
    position: absolute;
    /* 画面幅に合わせて伸縮し、450pxで拡大を止める */
    width: 23.4vw;
    /* 450 / 1920 ≒ 23.4vw */
    max-width: 450px;
    min-width: 300px;
    /* 画面幅が小さくなったときに位置を調整 */
    bottom: -40%;
    right: 0;
}

.first_intro_circle01 {
    position: absolute;
    /* 1920pxのとき400px = 約20.8vw */
    width: clamp(200px, 20.8vw, 400px);
    height: clamp(200px, 20.8vw, 400px);
    top: 20%;
    right: -13%;
    border: 1px solid #82ae46;
    border-radius: 50%;
    z-index: -1;
}

.first_intro_circle02 {
    position: absolute;
    /* 1920pxのとき800px = 約41.6vw */
    width: clamp(300px, 41.6vw, 800px);
    height: clamp(300px, 41.6vw, 800px);
    bottom: -70%;
    right: -12%;
    border: 1px solid #82ae46;
    border-radius: 50%;
    z-index: -1;
}

.first_reason {
    position: relative;
    margin-top: 600px;
}

.first_reason .wp-block-columns.custom-col-v-tablet {
    position: relative;
    max-width: 1440px;
    width: 90%;
    margin: 0 auto;
    padding-top: 150px;
    padding-bottom: 100px;
    background-color: #2e2e19;
    border-bottom: 2px solid #82ae46;
    margin-bottom: 50px;
    margin-top: 230px;
    z-index: 3;
}

.first_reason .wp-block-columns.custom-col-v-tablet::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* 各背景装飾 */
.first_reason .wp-block-columns.custom-col-v-tablet::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/img_btn_bg.png');
    background-size: 900px;
    background-position: 0 -5px;
    mix-blend-mode: multiply;
    opacity: .3;
}

/* 各背景画像（ID指定なのでここは元々一致しています） */
#first_reason_01::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background-image: linear-gradient(to left, transparent 0%, rgba(0, 0, 0, 0.2) 30%, #2e2e19 100%), url('../img/img_first_reason_01.png') !important;
    background-size: 150%;
    background-position: 20% 70%;
    background-repeat: no-repeat;
    opacity: .2;
}

#first_reason_02::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.2) 30%, #2e2e19 100%), url('../img/img_first_reason_02.png') !important;
    background-size: 150%;
    background-position: 80% 50%;
    background-repeat: no-repeat;
    opacity: .2;
}

#first_reason_03::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background-image: linear-gradient(to left, transparent 0%, rgba(0, 0, 0, 0.2) 30%, #2e2e19 100%), url('../img/img_first_reason_03.png') !important;
    background-size: 120%;
    background-position: -100% 70%;
    background-repeat: no-repeat;
    opacity: .2;
}

.first_reason .deco_bg03::before {
    content: '';
    position: absolute;
    top: initial;
    bottom: -600px;
    left: initial;
    right: -700px;
    width: 1300px;
    aspect-ratio: 1500 / 1013;
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(200deg);
    opacity: .6;
    z-index: 2;
}

.first_reason .deco_bg03::after {
    display: none;
}

.first_reason h3 {
    font-size: 1.6rem;
    font-weight: 500;
    margin: 20px 0;
}

.first_reason_img {
    position: relative;
}

.first_reason_img figure {
    position: absolute;
    width: 750px;
    top: -100%;
    left: -12vw;
    z-index: 2;
}

#first_reason_02 figure {
    left: initial;
    right: -12vw;
}

.first_reason_img figure img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: left;
}

.first_reason_txt_num {
    position: relative;
    font-size: 2rem;
    margin-left: -40px;
    line-height: 1 !important;
}

.first_reason_txt_num::before {
    content: '';
    position: absolute;
    top: -70px;
    left: -70px;
    background: url('../img/img_deco_02.png');
    background-size: contain;
    width: 180px;
    height: 180px;
    transform: rotate(-90deg);
    z-index: -1;
}

.first_reason_txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 17%;
    z-index: 2;
}

.first_item {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 200px 0;
    margin-top: 300px;
    z-index: 1;
}

.first_item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 400%;
    height: 400%;
    background: url('../img/img_bg_01.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%) rotate(90deg) scale(0.5);
    z-index: -1;
}

.first_item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, 0.6) 30%,
            rgba(0, 0, 0, 0) 100%);
    z-index: -1;
    opacity: .6;
}

.first_item_deco {
    content: '';
    position: absolute;
    width: 800px;
    aspect-ratio: 857 / 497;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain !important;
    z-index: -1;
}

#first_item_deco01 {
    background: url('../img/img_deco_bg_01.png');
    top: 0;
    left: 0;
}

#first_item_deco02 {
    background: url('../img/img_deco_bg_02.png');
    bottom: 0;
    right: 0;
}

.first_item h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 200px;
    gap: 10px;
}

.first_item h2 .txt_highlight {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 130px;
    height: 130px;
    background-color: #424225;
    color: #FFF;
    border-radius: 50%;
    letter-spacing: -0.2em !important;
    overflow: hidden;
    z-index: 1;
}

.first_item h2 .txt_highlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/img_top_contact_deco_03.png');
    background-size: 60px;
    background-position: 0 -5px;
    mix-blend-mode: multiply;
    opacity: .6;
    z-index: -1;
}

.first_item .wp-block-columns.custom-col-v-tablet {
    max-width: 1440px;
    margin-bottom: 150px;
    gap: 8% !important;
    align-items: center !important;
}

#first_item_02 {
    margin-left: 10%;
}

#first_item_03 {
    margin-left: 20%;
}

.first_item_img {
    position: relative;
}

.first_item_img figure {
    position: relative;
    z-index: 2;
}

.first_item_img::before {
    content: '';
    position: absolute;
    top: -25%;
    right: -15%;
    width: 400px;
    height: 400px;
    background: url(../img/img_title_bg_01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 1;
    transform: scaleX(-1);
    opacity: .6;
}

.first_item h3 {
    font-size: 1.8rem;
    font-weight: 500;
}


.first_item .wp-block-group.is-nowrap {
    margin-bottom: 30px;
}

.first_item .wp-block-group.is-nowrap figure {
    width: 120px;
    margin-left: 2%;
}

.first_item_txt p {
    margin-left: 5%;
}

.first_item .wp-block-buttons.more_btn {
    width: 100% !important;
    display: block !important;
    margin-top: 50px;
}

.first_item .wp-block-buttons.more_btn .wp-block-button {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
}

.first_item .wp-block-buttons.more_btn .wp-block-button a {
    display: block !important;
    width: 100% !important;
    font-size: 20px;
    padding: 25px 0;
}

.first_item .wp-block-buttons.more_btn .wp-block-button a::before {
    left: calc(50% - 120px);
}

.first_item_h2_br {
    display: none;
}

.first_item_h3_br {
    display: none;
}

.first_store {
    position: relative;
    margin-top: 200px;
    padding-top: 100px;
    z-index: 1;
}

.first_store::before {
    content: '';
    position: absolute;
    top: -200px;
    right: 0;
    width: 60%;
    height: 800px;
    background-image:
        linear-gradient(to bottom, transparent 0, transparent 400px, #000 750px),
        linear-gradient(to left, transparent 70%, rgba(0, 0, 0, 0.6) 80%, #000 85%),
        url(../img/img_first_store_bg.png) !important;
    background-size: 110%;
    background-repeat: no-repeat;
    background-color: #000;
    /* 画像の下を黒で埋める */
    opacity: .2;
    z-index: -1;
    /* 他の要素に被らないように */
}

.first_store .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
    gap: 2% !important;
    margin-left: calc(50% - 50vw);
}

.first_store .title_bg::before {
    width: 320px;
    height: 320px;
}

.first_store .deco_bg03::after {
    display: none;
}

.first_store_img figure {
    margin-top: -150px;
    height: 1200px;
}

.first_store_img figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 10% 50%;
    display: block;
}

.first_store_txt {
    padding: 0 5%;
}

.first_store_txt p {
    margin-top: 150px;
}

.first_store_txt_table {
    position: relative;
}

.first_store_txt_table .top_category_content_deco_tl {
    top: -138px;
    left: 11px;
    transform: rotate(270deg);
}

.first_store_txt_table .top_category_content_deco_tr {
    top: -138px;
    right: 11px;
}

.first_store_txt_table .top_category_content_deco_bl {
    bottom: 11px;
    right: 11px;
    transform: rotate(90deg);
}

.first_store_txt_table .top_category_content_deco_br {
    bottom: 11px;
    left: 11px;
    transform: rotate(180deg);
}

.first_store_txt figure.wp-block-table {
    margin-top: 60px;
    border: 4px solid #82ae46;
    outline: 1px solid #82ae46;
    outline-offset: -12px;
    padding: 4% 8%;
}

.first_store_txt .wp-block-table td:first-of-type {
    width: 14%;
    background-color: #000;
    color: #aeb568;
    border-bottom: none;
}

.first_store_txt .wp-block-table tr td {
    border-bottom: none;
    padding: 1.5% 0 !important;
}

.first_store figure.wp-block-image.size-full {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 400px;
    z-index: 2;
}

.first_store figure.wp-block-image.size-full img {
    width: 100%;
}

.first_store .deco_bg03::before {
    content: '';
    position: absolute;
    top: initial;
    bottom: -600px;
    left: initial;
    right: -700px;
    width: 1300px;
    /* 好きな幅を入れる */
    aspect-ratio: 1500 / 1013;
    /* 画像の比率（横/縦）を入れる */
    background: url('../img/img_deco_bg_03.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: scale(-1, 1) rotate(200deg);
    opacity: .6;
    z-index: -1;
}

.first_qa {
    max-width: 1440px;
    width: 90%;
    padding-top: 320px;
    margin: -20px auto 200px;
    position: relative;
    z-index: 1;
}

.first_qa h3 {
    position: relative;
    font-size: 1.6rem;
    font-weight: 500;
    margin-top: 80px;
    padding-left: 60px;
    padding-bottom: 20px;
    border-bottom: 1px solid #82ae46;
}

.first_qa h3::before {
    content: '';
    position: absolute;
    top: calc(50% - 10px);
    transform: translateY(-50%);
    left: 0;
    width: 30px;
    height: 30px;
    -webkit-mask-image: url('../img/img_btn_icon.png');
    mask-image: url('../img/img_btn_icon.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #95ae00;
}

.first_qa dt.wp-block-vk-blocks-faq2-q.vk_faq_title {
    padding: .8rem .8rem .8rem 6rem;
    font-size: 1.2rem;
}

.first_qa .vk_faq .vk_faq_title:before {
    content: "Q";
    color: #82ae46;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 500;
    font-size: 1.6rem;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
}

.first_qa .vk_faq .vk_faq_content:before {
    display: none;
}

.first_qa dd.wp-block-vk-blocks-faq2-a.vk_faq_content.vk_faq_content-accordion-open {
    background-color: #424225;
    margin-bottom: 0;
    padding: .8rem 2rem .8rem 2rem;
}

.first_qa dl.vk_faq-body {
    border-bottom: 1px solid #82ae46;
}

.first_qa .vk_faq.vk_faq-accordion-close .vk_faq_title::after,
.vk_faq.vk_faq-accordion-open .vk_faq_title::after {
    top: 45% !important;
    right: 4rem !important;
    width: 15px !important;
    height: 15px !important;
    border-right: 2px solid #82ae46 !important;
    border-top: 2px solid #82ae46 !important;
}

.first_qa_br {
    display: none;
}

.first_qa_br02 {
    display: none;
}

/* ご利用ガイド */
#guide .under-v {
    background: url('../img/img_first_reason_03.png');
    background-size: 70%;
    background-position: center bottom 30%;
    background-repeat: no-repeat;
    z-index: 1;
}

#guide .under-v::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 60%, #000 80%),
        linear-gradient(90deg, #000 20%, transparent 40%);
    z-index: -2;
}

.guide_wrap {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    margin-top: -90px;
    margin-bottom: 200px;
}

.guide_wrap h2 {
    font-size: 1.8rem;
    border-bottom: 1px solid #82ae46;
    padding-top: 60px;
    padding-bottom: 10px;
    text-align: left;
}

#guide_price {
    padding-top: 200px !important;
}

#guide_ship {
    padding-top: 120px;
    margin-top: -120px;
}

#guide_price h2 {
    padding-top: 0;
}

.guide_wrap h3 {
    position: relative;
    font-weight: 500;
    padding-left: 40px;
    margin-top: 30px;
    margin-bottom: 10px;
}

.guide_wrap h3::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 25px;
    height: 25px;
    -webkit-mask-image: url('../img/img_btn_icon.png');
    mask-image: url('../img/img_btn_icon.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #95ae00;
    z-index: 2;
}

.guide_wrap_content {
    padding-bottom: 0;
}

.guide_wrap_content p {
    padding-left: 4%;
}

.guide_wrap_content_highlight {
    width: 85%;
    border: 1px solid #FFF;
    padding: 2%;
    margin-left: 4%;
    margin-bottom: 20px;
}

.guide_wrap_content_highlight span::after {
    content: '　';
}

.guide_wrap_content figure.wp-block-table {
    margin: 0 auto;
    margin-top: 20px;
    margin-left: 4%;
}

.guide_wrap_content .wp-block-table td:first-of-type {
    width: 80%;
    background-color: #000;
    border-right: 1px solid #fff;
}

.wp-block-group.guide_wrap_content_ship {

    justify-content: space-between !important;
    align-items: center !important;
    padding-left: 4%;
    margin-top: 10px;
    gap: 20px !important;
}

.guide_wrap_content_ship p {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    border: 1px solid #FFF;
    text-align: center !important;
    padding-left: 0;
    flex: 1;
}

.guide_wrap_content_ship p:first-of-type {
    line-height: 1.3;
}

.guide_wrap_content_p {
    margin-top: 30px;
}

.guide_wrap_content_returns figure.wp-block-table {
    width: 75%;
    padding: 20px 40px;
}

.guide_wrap_content_returns .wp-block-table td:first-of-type {
    width: 30%;
    border: none;
}

.guide_wrap_content_returns .wp-block-table td {
    border: none;
    padding: 5px;
}

.guide_wrap_content_returns a {
    text-decoration: underline;
}

.guide_wrap_content_returns a:hover {
    opacity: .6 !important;
}

/* お問い合わせ */
#contact .under-v {
    background: url('../img/img_contact_title.png');
    background-size: 110%;
    background-position: center bottom -80px;
    background-repeat: no-repeat;
}

.contact_wrap {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    margin-top: 100px;
}

.contact_wrap_txt {
    width: 80%;
    margin-top: 20px;
    border: 1px solid #82ae46;
    padding: 1.5%;
}

.contact_wrap_txt .wp-block-group.is-nowrap {
    gap: 5% !important;
    margin-left: 0.5%;
}

.contact_wrap_txt_p {
    font-weight: 500;
}

.contact_wrap_txt .txt_highlight {
    font-size: 1.3rem;
    font-weight: 500;
    white-space: nowrap;
}

.snow-monkey-form {
    margin-top: 60px;
}

.smf-form .smf-select-control__control,
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
    background-color: #000;
    color: #FFF;
    border-radius: initial;
}

.wp-block-snow-monkey-forms-item.smf-item {
    padding: 3%;
    border-bottom: 1px solid #FFF;
}

.wp-block-snow-monkey-forms-item.smf-item:last-child {
    border-bottom: none;
}

.smf-form .requ .smf-item__label__text {
    position: relative;
    display: inline-block;
    width: 100%;
    padding-right: 60px;
    box-sizing: border-box;
}

.smf-form .requ .smf-item__label__text::after {
    content: '※必須';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #82ae46;
    font-weight: 500;
    white-space: nowrap;
}

.wp-block-snow-monkey-forms-item.smf-item {
    display: flex;
    align-items: center;
    gap: 10%;
}

.smf-item__col.smf-item__col--label {
    width: 25%;
}

.smf-item__col.smf-item__col--controls {
    width: 40%;
}

select.smf-select-control__control,
input.smf-text-control__control,
textarea.smf-textarea-control__control {
    width: 100% !important;
}

.smf-select-control {
    width: 100% !important;
}

.smf-form .smf-select-control__toggle:before {
    border-color: #82ae46;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.contact_content {
    align-items: flex-start;
}

.contact_privacy {
    justify-content: center;
}

/* ==========================================================================
   Snow Monkey Forms標準対応：プライバシーポリシー（二重チェック対策・完全版）
   ========================================================================= */

/* 1. プラグイン独自の2カラム制限を破壊して、横幅いっぱいの板にする（中央寄せの準備） */
.smf-form .contact_privacy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.smf-form .contact_privacy .smf-item__col--controls {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* 2. 全体を画面の「真のセンター」に寄せる */
.smf-form .contact_privacy .smf-control-fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

/* 3. 箱と文字の2行バラけを絶対に防ぐ */
.smf-form .contact_privacy .smf-checkboxes-control__control>div,
.smf-form .contact_privacy .smf-checkbox-control {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    white-space: nowrap !important;
}

/* 4. 文字全体のベース設定（白文字・絶対に改行させない） */
.smf-form .contact_privacy .smf-checkbox-control__label {
    color: #ffffff !important;
    font-size: 1rem;
    line-height: 1.5;
    white-space: nowrap !important;
    display: inline-block !important;
    padding-left: 8px;
    /* 箱との隙間 */
    position: relative;
}

/* 5. 「プライバシーポリシー」の8文字だけ色を黄緑にして下線を引く */
.smf-form .contact_privacy .smf-checkbox-control__label::before {
    content: "プライバシーポリシー";
    position: absolute;
    left: 8px;
    /* padding-leftと同じ位置 */
    top: 0;
    color: #82ae46 !important;
    font-weight: bold;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    background-color: #000000;
    /* 後ろの白い文字を完全に隠す（背景が黒前提） */
    z-index: 1;
}

/* 6. チェックボックス本体の見た目（背景黒・枠白・四角形） */
.smf-form .contact_privacy .smf-checkbox-control__control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    width: 20px;
    height: 20px;
    background-color: #000000 !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    flex-shrink: 0;
    z-index: 3;
}

.smf-action .smf-button-control__control {
    display: block !important;
    position: relative;
    color: #ffffff !important;
    border: none !important;
    border-left: 2px solid #82ae46 !important;
    background-color: #424225 !important;
    background-image: none !important;
    border-radius: 0 !important;
    width: 340px !important;
    padding: 30px 0 !important;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-size: 1rem;
    overflow: hidden;
    text-align: center;
    margin: 0 auto !important;
    margin-top: 50px !important;
    margin-bottom: 200px !important;
    cursor: pointer;
    transition: background-color .5s, color .5s;
}

.smf-action {
    display: flex;
    justify-content: center;
    gap: 5%
}

.smf-action .smf-button-control__control:hover {
    background-color: #82ae46 !important;
    color: #000000 !important;
}

.smf-action .smf-button-control__control::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    left: auto !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
    transform: translateY(-50%) rotate(45deg) !important;
    background-color: transparent !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    z-index: 2;
    margin-right: 5px;
    transition: border-color .5s;
}

.smf-action .smf-button-control__control:hover::before {
    background-color: transparent !important;
    border-top: 2px solid #000000 !important;
    border-right: 2px solid #000000 !important;
}

.smf-action .smf-button-control__control::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: url('../img/img_btn_bg.png') !important;
    background-size: 700px !important;
    background-position: 0 -5px !important;
    mix-blend-mode: screen !important;
    opacity: .1 !important;
    z-index: 1;
}

.smf-error-messages {
    color: #FF4D4D;
}

.contact_privacy .smf-error-messages {
    text-align: center;
}

.snow-monkey-form[data-screen="confirm"]~.contact_wrap_ov,
.snow-monkey-form[data-screen="complete"]~.contact_wrap_ov {
    display: none !important;
}

:has(.snow-monkey-form[data-screen="confirm"]) .contact_wrap_ov,
:has(.snow-monkey-form[data-screen="complete"]) .contact_wrap_ov {
    display: none !important;
}

p.has-cyan-bluish-gray-color.has-text-color.has-link-color.wp-elements-56fb636ad09f6b8bac03f27ec0c6fc8c {
    color: #FFF !important;
    text-align: center;
    margin-bottom: 50px;
    font-size: 18px;
}

#snow-monkey-form-955 {
    position: relative;
}

#snow-monkey-form-955 .smf-focus-point {
    position: absolute !important;
    top: -180px !important;
    left: 0 !important;
}

/* 特定商取引法に基づく表記 */
#tokusho .wp-block-table td:first-of-type {
    width: 30%;
    background-color: #000;
    /* border-bottom: 1px solid #fff; */
    border-right: 1px solid #fff;
}

/* 個人情報取り扱いについて */
#privacy .policy-wrap {
    font-size: 18px;
}

#privacy .policy-wrap ul {
    padding-left: 18px;
}

#inside-cart .no_cart {
    color: #FFF !important;
}

#privacy .under-v {
    display: block;
    height: auto;
    padding-top: 150px;
}

#privacy .under-v::before {
    display: none;
}

#autozip {
    display: none !important;
}

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

    タブレット横以下

============================== */
@media screen and (max-width: 1850px) {
    #first_item_02 {
        margin-left: 5%;
    }

    #first_item_03 {
        margin-left: 10%;
    }
}

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

    .inner-s,
    .inner,
    .inner-l,
    .top_newitem .top-item-list,
    .top_setitem .top-item-list {
        width: 90%;
    }

    .top-item-info {
        max-height: 250px;
    }

    .first_intro_circle02 {
        bottom: -50%;
    }

    .first_item .wp-block-columns.custom-col-v-tablet {
        max-width: 1440px;
        width: 90%;
        margin: 0 auto;
        margin-bottom: 150px;
    }

    .first_item h3 {
        white-space: nowrap;
    }

    .first_item .wp-block-group.is-nowrap figure {
        min-width: 90px;
    }

    #first_item_02 {
        margin: 0 auto;
        margin-bottom: 150px;
    }

    #first_item_03 {
        margin: 0 auto;
    }

    .first_item_br {
        display: none;
    }

    .first_store_txt .wp-block-table tr td:last-child {
        width: 50% !important;
    }

    .first_store figure.wp-block-image.size-full {
        width: 350px;
        bottom: -20%;
        right: 0;
    }
}

@media screen and (max-width: 1500px) {
    .first_reason .wp-block-columns.custom-col-v-tablet {
        position: relative;
        max-width: 1440px;
        width: 90%;
        margin: 0 auto;
        padding-top: 10%;
        padding-bottom: 5%;
        margin-top: 350px;
        z-index: 3;
    }

    .first_reason_img figure,
    #first_reason_02 figure {
        position: absolute;
        width: 50%;
        max-width: 100%;
        top: 0;
        left: 50%;
        right: auto;
        transform: translateX(-50%) translateY(-100%);
    }

    .first_reason_img figure img,
    #first_reason_02 figure img {
        width: 100%;
        height: auto;
        display: block;
    }

    .first_reason .wp-block-columns.is-layout-flex {
        flex-direction: column !important;
    }

    .first_reason .wp-block-columns.is-layout-flex>.wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #first_item_02 .wp-block-group.is-nowrap figure {
        max-width: 100px;
    }

    .first_store .deco_bg03::before {
        bottom: -600px;
        right: -50%;
        width: 1000px;
    }
}

@media screen and (max-width: 1400px) {
    .top_contact_txt {
        width: 90%;
    }

    .first_intro_circle02 {
        bottom: -20%;
    }

    .first_item_h3_br {
        display: block;
    }

    .first_store .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
        gap: 0 !important;
    }

    .first_store_img figure img {
        object-position: 13% 50%;
    }

    .first_store_txt figure.wp-block-table {
        padding: 4%;
    }
}

@media screen and (max-width: 1220px) {
    .footer_menu {
        width: 65%;
    }
}

@media screen and (max-width: 1250px) {
    .top_category .wp-block-group.is-layout-flex {
        gap: 2.5% !important;
    }
}

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

    .top_contact_txt .top_contact_txt_btn.wp-block-group.is-layout-flex {
        display: block !important;
        text-align: left;
        padding-top: 20px !important;
    }

    .top_contact_txt .footer_btn {
        width: 100% !important;
        margin: 0 auto;
    }

    .top_contact_txt {
        max-width: 580px;
    }

    .top_contact_txt .footer_btn:nth-of-type(2) {
        margin-top: 20px !important;
    }

    .top_contact_txt_btn p {
        display: block !important;
        text-align: left !important;
        margin-top: 10px !important;
        margin-bottom: 20px !important;
    }

    .top_contact .is-layout-grid {
        width: 100vw;
        max-width: 1450px;
        padding: 0 5%;
    }
}

@media screen and (max-width: 1373px) {
    .top_contact_br02 {
        display: none;
    }
}

@media screen and (max-width: 1290px) {
    .first_item::before {
        width: 500%;
        height: 500%;
    }

}

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

    スマホ・タブレット縦

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

@media screen and (max-width:1100px) {
    body {
        padding-top: 139px !important;
    }

    /*ハンバーガーメニュー表示*/
    .nav-wrapper {
        display: block;
        position: absolute;
    }

    .under-v {
        margin-top: 0 !important;
    }

    .header_menu,
    .header_logo {
        display: none;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .header-inner-sp {
        position: fixed;
        top: 51px;
        left: 0;
        display: block;
        width: 100%;
        z-index: 999;
        background-color: #000;
    }

    .nav-wrapper {
        width: 65px !important;
        top: 23px;
        left: 0;
        z-index: 998 !important;
    }

    .hamburger__line {
        background-color: #FFF;
    }

    .hamburger .wp-block-group__inner-container::after,
    .hamburger .wp-block-group__inner-container::before {
        color: #FFF;
    }

    .header_logo_sp figure.wp-block-image.size-full {
        max-width: 230px;
    }

    .header-inner-wrap-sp {
        position: relative;
        justify-content: center;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid #FFF;
    }

    .header-inner-wrap-sp p.has-text-align-center {
        margin-top: 5px;
        margin-left: 30px;
        font-size: 16px;
    }

    div.header-inner-wrap-sp div.wp-block-group.header_menu_icon_sp.is-nowrap.is-layout-flex {
        position: absolute !important;
        right: 20px !important;
        gap: 20px !important;
    }

    .header_menu_mypage_sp,
    .header_menu_cart_sp {
        font-size: 40px;
    }

    .sp-nav-wrap {
        background: #000;
    }

    .sp-nav-inner {
        margin-top: 100px;
    }

    .sp-nav-wrap .wp-block-navigation .wp-block-navigation-item {
        justify-content: center;
        font-size: 20px;
        margin: 0 auto;
        margin-top: 30px;
    }

    .sp-nav-wrap nav.hamburger-menu ul li {
        margin-bottom: 30px;
    }

    .header_menu_mypage,
    .header_menu_cart {
        display: block;
        width: 100%;
    }

    .header_menu_mypage a,
    .header_menu_cart a {
        width: 200px !important;
        max-width: none !important;
        flex: none !important;
    }

    .header_menu_ex a::after {
        content: '\f08e';
        font-family: "Font Awesome 6 Free";
        font-size: 16px;
        font-weight: 900;
        margin-left: 8px;
        color: #FFF;
    }

    .header_menu_mypage a:hover,
    .header_menu_cart a:hover {
        background-color: #000;
        color: #FFF !important;
    }

    .header_menu_mypage a:hover,
    .header_menu_cart a:hover {
        background-color: #000 !important;
        color: #FFF !important;
    }

    .header_menu_mypage a:hover::before,
    .header_menu_cart a:hover::before {
        color: #82ae46 !important;
    }

    .footer>.wp-block-group__inner-container>.wp-block-group.is-layout-flex {
        display: block !important;
        margin: 30px auto !important;
    }

    .footer_logo {
        margin: 0 auto 40px auto !important;
    }

    .footer_menu {
        width: 100% !important;
        max-width: 100% !important;
    }

    .footer_menu>.wp-block-group__inner-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .footer_menu_btn {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px !important;
        margin-bottom: 40px !important;
        width: 100% !important;
    }

    .footer_menu_btn .footer_btn {
        width: auto !important;
        max-width: 100% !important;
    }

    .footer_menu_btn .footer_btn a {
        width: clamp(330px, 80vw, 400px) !important;
        box-sizing: border-box !important;
    }

    .footer_menu ul li:nth-child(3) a {
        border-right: none !important;
    }

    .footer_menu nav.wp-block-navigation {
        width: 100% !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 20px 0 !important;
        padding: 0 !important;
        margin: 0 auto !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li:nth-child(-n+3) {
        flex: 0 0 33.33% !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li:nth-child(n+4) {
        flex: 0 0 50% !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li a {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 4px 10px !important;
        box-sizing: border-box !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li a span {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }

    div.footer_menu_btn.wp-block-group.is-layout-flex {
        gap: 30px !important;
        align-items: center !important;
        text-align: center;
    }

    .mainv {
        margin-top: 100px !important;
    }

    .top_campaign {
        margin-top: 20%;
    }

    .top_campaign .deco_bg03_reverse::before {
        top: -400px !important;
        left: -50% !important;
        max-width: 800px;
        width: 90%;
        z-index: 1;
    }

    .top_campaign .deco_bg03::before {
        bottom: 0;
        right: -50%;
        max-width: 800px;
        width: 90%;
        z-index: 2;
    }

    .top-campaign-list-thumbnail {
        display: flex;
        flex-wrap: wrap !important;
        justify-content: space-between;
        gap: 5%;
        row-gap: 50px !important;
        margin: 0 auto;
        margin-top: 100px;
        margin-bottom: 70px;
        max-width: 800px;
        width: 90%;
    }

    .top-campaign-item {
        flex: none !important;
        width: calc(50% - 30px) !important;
    }

    .vk_tab_bodys {
        max-width: 800px;
        margin: 0 auto;
    }

    .top-item-category {
        font-size: 18px !important;
        padding: 0.3rem 1rem 0.3rem 1rem;
    }

    .top_category_content {
        max-width: 800px;
        flex-wrap: wrap !important;
        margin: 0 auto;
        padding: 5% 10% !important;
    }

    .top_bestitem .deco_bg03_reverse::before {
        left: -50% !important;
        width: 800px;
        z-index: 2;
    }

    .top-item-list {
        max-width: 800px;
        width: 100%;
        margin: 0 auto;
        margin-top: 100px;
        justify-content: space-between !important;
    }

    .top_newitem::before {
        transform: translate(-50%, -50%) rotate(90deg) scale(0.8);
    }

    .top_bestitem .deco_bg03::before {
        width: 800px;
        bottom: -500px;
        right: -50%;
    }

    .top_bestitem::before {
        bottom: -0;
    }

    .top_category .deco_bg03_reverse::before {
        top: -500px !important;
        left: -60% !important;
        width: 900px;
        z-index: 1;
    }

    .top_category h2 {
        position: relative;
        text-align: center !important;
        margin-bottom: 50px;
        z-index: 2;
    }

    .top_category ul.vk_tab_labels.vk_tab_labels-tabSize--sp-fitText.vk_tab_labels-tabSize--tab-fitText.vk_tab_labels-tabSize--pc-fitText {
        justify-content: center;
    }

    .top_contact {
        margin-top: 150px;
    }

    .top_contact .wp-block-columns {
        position: relative;
        display: block !important;
        width: 100vw !important;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        margin: 0 !important;
        max-width: none !important;
    }

    .top_contact_img {
        width: 100%;
        min-height: 300px;
        background-image: linear-gradient(to bottom, transparent 0%, transparent 76%, #000 100%),
            url(../img/img_top_contact_01.png) !important;
        background-size: 100%;
        background-position: 20% 60%;
    }

    .top_contact_txt {
        max-width: 800px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
        margin: 0 auto;
    }

    .top_contact_txt h2 {
        text-align: center !important;
        margin-top: 50px;
    }

    .top_contact .wp-block-columns::before {
        top: initial;
        bottom: 0;
        width: 400px;
        height: 400px;
    }

    .top_contact_sub_bar {
        top: -20px;
        width: 100%;
        height: 20px;
        outline: 1px solid #424225;
    }

    #top_contact_sub_guide .top_contact_sub_bar::before {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
        width: 200%;
        height: 900px;
        background-repeat: repeat;
        background-size: 300px auto;
    }

    #top_contact_sub_price .top_contact_sub_bar::before {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 200%;
        height: 900px;
        background-repeat: repeat;
        background-size: 300px auto;
    }

    .top_contact_sub.wp-block-group.is-layout-grid {
        max-width: 800px !important;
        width: 100% !important;
        padding: 0 !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        gap: 5% !important;
        margin-top: 10%;
        box-sizing: border-box !important;
    }

    .top_contact_sub .wp-block-group.is-style-vk-group-solid {
        padding: 1.8em 2em 1.8em 2em !important;
    }

    .top_contact_sub a.wp-block-button__link.has-text-align-left.wp-element-button {
        right: 0 !important;
        margin-top: 20px;
    }

    .top_contact_sub h3 {
        margin-left: 30px;
    }

    .first_intro .deco_bg03::before {
        bottom: -600px;
        left: -300px;
        width: 800px;
    }

    .first_reason .deco_bg03::before {
        bottom: -600px;
        right: -400px;
        width: 800px;
    }

    .first_intro_circle02 {
        bottom: 0;
    }

    .first_reason_img figure,
    #first_reason_02 figure {
        position: absolute;
        width: 50%;
        min-width: 500px;
        top: -20px;
        left: 50%;
        right: auto;
        transform: translateX(-50%) translateY(-100%);
    }

    .first_reason_txt {
        display: flex;
        align-items: center;
        padding-left: 0;
        text-align: center;
    }

    .first_item {
        padding: 100px 0;
        margin-top: 200px;
    }

    .first_item h2 {
        margin-bottom: 100px;
    }

    .first_item::before {
        transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }

    .first_item::after {
        background: linear-gradient(to bottom,
                rgba(0, 0, 0, 1) 0%,
                rgba(0, 0, 0, 0.8) 60%,
                rgba(0, 0, 0, 0) 100%);
    }

    .first_item .wp-block-columns.custom-col-v-tablet,
    #first_item_02,
    #first_item_03 {
        max-width: 800px;
        width: 90%;
        margin: 0 auto;
        margin-bottom: 150px;
    }

    .first_item .wp-block-group.is-nowrap {
        justify-content: center;
    }

    .first_item .wp-block-group.is-nowrap {
        margin-top: 30px;
    }

    .first_item_img figure {
        max-width: 600px;
    }

    .first_reason_txt_num {
        margin-left: 0;
    }

    .first_store {
        margin-top: 0;
        padding-top: 0;
    }

    .first_store_img figure {
        margin-top: 0;
        max-height: 400px;
    }

    .first_store_img figure img {
        object-position: 13% 40%;
    }

    .first_store h2 {
        margin-top: 150px;
    }

    .first_store::before {
        content: '';
        position: absolute;
        top: 20%;
        right: 0;
        width: 60%;
        height: 800px;
        background-image: linear-gradient(to bottom, transparent 0, transparent 400px, #000 750px), linear-gradient(to left, transparent 70%, rgba(0, 0, 0, 0.6) 80%, #000 85%), url(../img/img_first_store_bg.png) !important;
    }

    .first_store figure.wp-block-image.size-full {
        max-width: 320px;
        bottom: 0;
    }

    .first_store .deco_bg03::before {
        width: 800px;
    }

    .first_qa {
        margin-top: -60px;
        padding-top: 360px;
    }

    .guide_wrap {
        margin-bottom: 100px;
    }

    .wp-block-group.guide_wrap_content_ship {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: flex-start !important;
    }

    .wp-block-group.guide_wrap_content_ship>p {
        flex: 0 0 calc((100% - 60px) / 4);
        box-sizing: border-box;
    }

    .guide_wrap_content_ship .wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-8f761849.wp-block-group-is-layout-flex {
        justify-content: flex-start;
    }

    .guide_wrap_content_ship .wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-8f761849.wp-block-group-is-layout-flex p {
        padding: 10px 0;
    }

    .guide_wrap_content_returns .wp-block-table table.has-fixed-layout {
        table-layout: auto !important;
        display: block !important;
        width: 100% !important;
    }

    .guide_wrap_content_returns .wp-block-table table tbody {
        display: block !important;
        width: 100% !important;
    }

    .guide_wrap_content_returns .wp-block-table table tr {
        display: block !important;
        width: 100% !important;
    }

    .guide_wrap_content_returns .wp-block-table table td {
        display: block !important;
        width: 100% !important;
        padding-bottom: 0 !important;
    }

    .guide_wrap_content_returns .wp-block-table table tr:last-child {
        margin-top: 20px;
    }

    .contact_wrap_txt .wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-ad2f72ca.wp-block-group-is-layout-flex {
        justify-content: flex-start !important;
        gap: 5% !important;
        margin-left: 1%;
    }

    .wp-block-snow-monkey-forms-item.smf-item {
        display: block !important;
        padding: 20px 0 !important;
    }

    .smf-item__col.smf-item__col--label {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 12px;
    }

    .smf-form .requ .smf-item__label__text {
        width: auto !important;
        max-width: 100% !important;
    }

    .smf-item__col.smf-item__col--controls {
        width: 100% !important;
        max-width: 100% !important;
    }

    .smf-form .contact_privacy .smf-checkbox-control__label,
    .smf-form .contact_privacy .smf-checkboxes-control__control>div,
    .smf-form .contact_privacy .smf-checkbox-control {
        white-space: normal !important;
    }

    .smf-action .smf-button-control__control {
        margin-bottom: 100px !important;
        max-width: 280px;
    }

    .smf-form .smf-select-control__toggle {
        left: initial;
        right: 30px;
        bottom: initial;
        top: 45%;
    }

    .contact_wrap_txt {
        width: 100% !important;
    }

    #contact .under-v {
        background-size: 200%;
        background-position: center bottom 20%;
    }

    #privacy .under-v {
        padding-top: 100px !important;
    }
}

@media screen and (max-width:900px) {
    #top_bestitem_deco01 {
        min-width: 138px;
        width: 20%;
        transform: translate(-130%, 100%);
    }

    #top_bestitem_deco02 {
        min-width: 100px;
        width: 15% !important;
        transform: translate(60%, 20%);
    }

    #top_bestitem_deco03 {
        min-width: 100px;
        width: 15%;
        transform: translate(150%, -50%);
    }

    #top_setitem_deco01 {
        min-width: 124px;
        width: 20%;
        transform: translate(-230%, 100%);
    }

    #top_setitem_deco02 {
        min-width: 70px;
        width: 11% !important;
        transform: translate(-250%, 20%);
    }

    #top_setitem_deco03 {
        min-width: 80px;
        width: 14%;
        transform: translate(100%, 10%);
    }

    #top_setitem_deco04 {
        min-width: 80px;
        width: 14%;
        transform: translate(230%, -50%);
    }

    .first_qa dt.wp-block-vk-blocks-faq2-q.vk_faq_title {
        padding: .8rem .8rem .8rem 4rem;
        font-size: 1rem;
    }

    .first_qa .vk_faq .vk_faq_title:before {
        left: 20px;
    }
}

@media screen and (max-width:800px) {
    .top_newitem::before {
        transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }

    .first_intro_circle02 {
        bottom: 80px;
    }

    .first_store figure.wp-block-image.size-full {
        bottom: -10%;
    }

    .first_intro p.has-text-align-center {
        width: 90%;
        margin: 0 auto;
        text-align: left;
    }

    .first_intro_br {
        display: none;
    }

    .first_item::before {
        width: 600%;
        height: 600%;
        transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }

    .first_item::before {
        width: 1000%;
        height: 1000%;
        transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }

    .first_item h2 {
        display: block;
    }

    .first_item h2 .txt_highlight {
        margin: 0 auto;
    }

    .first_item_h2_br {
        display: block;
    }

}

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

    タブレット縦のみ

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

@media (max-width: 1100px) and (min-width: 710px) {

    /*MVの高さ適宜変更*/
    /* .mainv,
    .slider-01,
    .slider-01 .slide figure.wp-block-image.size-full,
    .slider-01 .slide figure.wp-block-image.size-full img {
        height: 60vh;
    } */

    .tel-menu-flex {
        max-width: 374px;
    }

    .vk_spacer-display-tablet {
        display: block !important;
    }

    .vk_spacer-display-pc,
    .vk_spacer-display-mobile {
        display: none !important;
    }

}

@media (max-width: 1100px) and (min-width: 711px) {
    .top-item-card {
        width: calc(50% - 30px) !important;
        display: flex;
    }

    .mainv {
        margin-top: 145px !important;
    }

    .under-v {
        margin-top: 45px !important;
    }
}

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

    スマホ以下　

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

@media screen and (max-width: 710px) {
    .header-inner-sp {
        top: 45px;
    }

    .nav-wrapper {
        top: 13px !important;
    }

    .fix_nav.sp_disp.sp {
        display: block;
    }

    /*スマホ版MVの高さ適宜変更*/
    /* .mainv,
    .slider-01,
    .slider-01 .slide figure.wp-block-image.size-full,
    .slider-01 .slide figure.wp-block-image.size-full img {
        height: 60vh;
    } */

    .inner-s,
    .inner,
    .inner-l {
        width: 90%;
    }


    /*スマホ版文字サイズ*/
    p {
        font-size: 14px;
        line-height: 2;
    }

    .vk_spacer-display-mobile {
        display: block !important;
    }

    .vk_spacer-display-pc,
    .vk_spacer-display-tablet {
        display: none !important;
    }

    /* ==============================
    
        特定商取引に基づく表記・テーブル

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

    .wp-block-table tr td:not(.guide_wrap_content table tr td) {
        display: block;
        width: 100%;
    }

    .wp-block-table td:first-of-type:not(.guide_wrap_content table tr td) {
        width: 100%;
    }

    figure.wp-block-table td:not(.guide_wrap_content table tr td),
    figure.wp-block-table th:not(.guide_wrap_content table tr td) {
        border: none;
        padding: 10px 13px;
    }

    figure.wp-block-table {
        font-size: 14px;
    }

    .wp-block-group.tokusho-wrap {
        padding: 59px 0 94px;
    }

    .guide_wrap_content .wp-block-table td:first-of-type {
        width: 70%;
    }

    figure.wp-block-table td,
    figure.wp-block-table th {
        padding: 10px 17px;
    }

    .guide_wrap_content_ship .wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-8f761849.wp-block-group-is-layout-flex {
        flex-wrap: wrap !important;
        width: 80% !important;
        gap: 10px 2% !important;
    }

    .guide_wrap_content_ship .wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-8f761849.wp-block-group-is-layout-flex p {
        flex: none !important;
        width: 32% !important;
        padding: 5px 0;
    }

    /* ==============================
    
    個人情報保護方針
    
　============================== */

    .wp-block-group.policy-wrap {
        font-size: 14px;
        padding: 59px 0 94px;
    }

    .wp-block-group.policy-wrap p {
        margin-bottom: 23px;
    }

    .wp-block-group.policy-wrap li {
        margin-bottom: 20px;
    }

    /* ==============================
    
        以下テーマ専用CSS
    
    ============================== */
    body,
    html {
        font-size: 16px;
    }

    a:hover {
        color: inherit !important;
        background: none !important;
    }

    h2 {
        font-size: 1.7rem;
    }

    .nav-wrapper {
        top: 60px;
    }

    .header-inner-wrap-sp {
        padding: 5px 0;
    }

    .wp-block-group.header_menu_icon_sp.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-ad2f72ca.wp-block-group-is-layout-flex {
        right: 10px;
        gap: 10px !important;
    }

    .sp-nav-wrap .wp-block-navigation .wp-block-navigation-item {
        font-size: 16px;
    }

    .header_bar {
        line-height: initial;
        font-size: 16px;
    }

    .header_logo_sp figure.wp-block-image.size-full {
        max-width: 140px;
    }

    .header-inner-wrap-sp p.has-text-align-center {
        margin-left: 0;
        font-size: 14px;
    }

    .header_menu_mypage_sp,
    .header_menu_cart_sp {
        font-size: 30px;
    }

    .cm_totop.fixed-show-btn a:hover {
        background-color: #82ae46 !important;
    }

    .footer .logo {
        width: 120px;
    }

    .footer_logo {
        width: 200px;
        padding: 16px 0px;
    }

    .footer_btn a {
        width: clamp(200px, 80vw, 330px);
    }

    .footer_menu a.wp-block-navigation-item__content {
        font-size: 14px;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li a span {
        font-size: 13px !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li:nth-child(6),
    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li:nth-child(7) {
        flex: 0 0 100% !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li:nth-child(6) a {
        padding: 0 !important;
        border-right: none !important;
        margin-top: 5px;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li:nth-child(7) a {
        margin-top: -10px;
    }

    .footer_logo:hover {
        opacity: 1 !important;
    }

    .footer_logo .logo {
        margin-right: 35px;
    }

    .footer_btn a:hover {
        background-color: #424225 !important;
        color: #FFF !important;
        opacity: 1 !important;
    }

    .footer_btn a:hover i {
        color: #82ae46 !important;
    }

    .footer_menu ul.wp-block-navigation__container.wp-block-navigation li a:hover {
        color: #FFF !important;
    }

    .more_btn a:hover {
        background-color: #424225 !important;
        color: #FFF;
    }

    .more_btn a:hover::before {
        background-color: #82ae46;
    }

    p.prev:hover,
    p.next:hover {
        background-color: #424225 !important;
        transition: initial !important;
    }

    .mainv {
        margin-top: 100px !important;
    }

    .under-v {
        height: 200px;
    }

    .under-v h1 {
        font-size: 1.8rem;
    }

    .title_bg::before {
        width: 300px;
        height: 300px;
    }

    .title_deco::before,
    .member_page_title::before {
        width: 150px;
        height: 150px;
    }

    .top-campaign-list-thumbnail {
        gap: 0 !important;
        row-gap: 50px !important;
        width: 100%;
    }

    .top-campaign-item {
        flex: none !important;
        width: calc(50% - 20px) !important;
        padding-bottom: 1%;
    }

    .top-campaign-thumbnail {
        width: 100%;
        height: 50% !important;
        overflow: hidden;
    }

    .top-campaign-category {
        font-size: 0.9rem;
    }

    .top-campaign-title {
        font-size: 1rem;
    }

    .top-item-card a:hover img {
        transform: scale(1);
    }

    .top_newitem {
        padding: 100px 0;
    }

    .top_setitem {
        padding: 150px 0;
        padding-bottom: 100px;
    }

    .top_bestitem {
        margin-top: 150px;
    }

    .top_bestitem .top-item-list {
        gap: 20px;
    }

    .top_bestitem .top-item-info {
        max-height: 210px;
    }

    .top_bestitem .top-item-card a {
        height: 100%;
    }

    .top_bestitem .deco_bg03_reverse::before {
        width: 600px !important;
        top: initial !important;
        bottom: -50px !important;
        left: -400px !important;
        right: initial !important;
    }

    .top_newitem .top-item-list,
    .top_setitem .top-item-list {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
        margin-top: 20px !important;
        margin-bottom: 10% !important;
        overflow: hidden !important;
    }

    .top_newitem .top-item-card,
    .top_setitem .top-item-card {
        display: block !important;
        box-sizing: border-box;
        padding: 0 15px;
    }

    .top_newitem .top-item-card a,
    .top_setitem .top-item-card a {
        height: auto !important;
        display: block !important;
    }

    .top_newitem .top-item-thumbnail,
    .top_setitem .top-item-thumbnail {
        width: 100% !important;
        max-width: 100% !important;
        height: 0 !important;
        padding-top: 100% !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .top_newitem .top-item-thumbnail img,
    .top_newitem .top-item-thumbnail .wp-post-image,
    .top_setitem .top-item-thumbnail img,
    .top_setitem .top-item-thumbnail .wp-post-image {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .top_newitem .top-item-list .slick-arrow,
    .top_setitem .top-item-list .slick-arrow {
        position: absolute;
        z-index: 10;
        width: 40px;
        height: 40px;
        background: #424225 !important;
        border: none !important;
        border-radius: 50% !important;
        cursor: pointer;
        color: transparent !important;
        overflow: hidden;
    }

    .top_newitem .top-item-list .slick-arrow::before,
    .top_setitem .top-item-list .slick-arrow::before {
        content: "" !important;
        position: absolute;
        top: 50%;
        width: 10px;
        height: 10px;
        border-top: 1px solid #ffffff;
        border-right: 1px solid #ffffff;
        display: block !important;
    }

    .top_newitem .top-item-list .slick-list {
        overflow: visible !important;
        padding: 0 15% !important;
    }

    .top_newitem .slick-arrow {
        top: 35%;
        transform: translateY(-50%);
    }

    .top_newitem .slick-prev {
        left: 15px !important;
        right: auto !important;
    }

    .top_newitem .slick-prev::before {
        left: 50%;
        transform: translate(-50%, -50%) rotate(-135deg);
    }

    .top_newitem .slick-next {
        right: 15px !important;
        left: auto !important;
    }

    .top_newitem .slick-next::before {
        left: 45%;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .top_newitem .title_bg::before {
        width: 250px;
        height: 250px;
    }

    .top_setitem .top-item-list {
        position: relative !important;
    }

    .top_setitem .top-item-list .slick-list {
        overflow: visible !important;
        padding: 0 30% 0 0 !important;
        margin-top: 130px;
    }

    .top_setitem .slick-arrow {
        top: 120px !important;
        transform: translateY(-120%) !important;
    }

    .top_setitem .slick-prev {
        left: auto !important;
        right: 65px !important;
    }

    .top_setitem .slick-prev::before {
        left: 50%;
        transform: translate(-50%, -50%) rotate(-135deg);
    }

    .top_setitem .slick-next {
        right: 15px !important;
        left: auto !important;
    }

    .top_setitem .slick-next::before {
        left: 45%;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .top_bestitem .top-item-card {
        width: calc(50% - 20px) !important;
        display: flex;
    }

    .top-item-category {
        font-size: 0.85rem !important;
        padding: 0.3rem 0.5rem 0.3rem 0.5rem !important;
    }

    .top-item-title {
        font-size: 1rem;
    }

    .top-item-price {
        font-size: 1rem;
        margin-top: 10px;
    }

    .top-item-card a {
        height: 500px;
    }

    .top_bestitem .deco_bg03::before {
        width: 500px;
        bottom: -300px;
        right: -50%;
    }

    .top_bestitem::before {
        bottom: 10%;
    }

    .top_category .deco_bg03_reverse::before {
        top: -400px !important;
        width: 500px;
    }

    .top_category .is-style-vk_tab_labels-line .vk_tab_labels .vk_tab_labels_label>div {
        font-size: 1.3rem !important;
        padding: calc(1rem * 0.8) calc(1rem * 4) !important;
    }

    .top_category .vk_tab_labels_label:hover {
        opacity: 1 !important;
    }

    .top_category .wp-block-group.is-layout-flex {
        gap: 5% !important;
    }

    .top_category figure {
        width: 120px;
        margin-top: 10px;
    }

    .top_category_content {
        padding: 5% 10% !important;
    }

    .top_category_content p {
        margin-top: 10px;
        font-size: 1.1rem;
    }

    .top_contact_sub .wp-block-group.is-style-vk-group-solid {
        padding: 1.8em 2em 1.8em 2em;
    }

    .top_contact_sub a.wp-block-button__link.has-text-align-left.wp-element-button {
        position: relative;
        right: 0;
        font-size: 1rem;
        background-color: initial !important;
        border-bottom: 1px solid #82ae46;
        border-radius: initial;
        padding: 5px 50px;
        margin-top: 40px;
    }

    .wp-container-core-group-is-layout-da7a6a80 {
        margin-top: 20%;
    }

    .top_contact_sub .wp-block-group.is-style-vk-group-solid:hover {
        opacity: 1;
    }

    .top_contact_img {
        min-height: 250px;
    }

    .top_contact_txt_btn p {
        text-align: center !important;
    }

    #top_contact_sub_ship h3:before {
        width: 28px;
        height: 28px;
    }

    #first .under-v {
        z-index: 2;
    }

    .first_intro {
        position: relative;
        margin-top: 100px;
        z-index: 1;
    }

    .first_intro .deco_bg03::before {
        bottom: -470px;
        left: -350px;
        width: 600px;
    }

    .first_intro_circle01,
    .first_intro_circle02 {
        opacity: .4;
    }

    .first_intro_img01 {
        position: absolute;
        width: 26vw;
        max-width: 500px;
        aspect-ratio: 1 / 1.2;
        top: 30%;
        left: 0;
    }

    .first_intro_img02 {
        min-width: 200px;
        bottom: -30%;
        right: 0;
    }

    .first_intro::after {
        display: none;
    }

    .first_intro p.has-text-align-center {
        text-align: left;
    }

    .first_reason {
        margin-top: 300px;
    }

    .first_reason .deco_bg03::before {
        width: 600px;
        top: -50px;
        bottom: initial;
    }

    .first_reason .wp-block-columns.custom-col-v-tablet {
        padding: 10% 5% 5% 5%;
    }

    .first_reason .wp-block-columns.custom-col-v-tablet {
        margin-top: 45%;
    }

    .first_reason_txt_num {
        margin-left: 0;
    }

    .first_reason_txt_num::before {
        top: -55px;
        left: -50px;
        width: 140px;
        height: 140px;
    }

    .first_reason_img figure,
    #first_reason_02 figure {
        width: 80%;
        min-width: 300px;
    }

    .first_reason_txt {
        text-align: center;
    }

    .first_reason_txt_p {
        text-align: left;
    }

    .first_reason_txt_h3_br {
        display: none;
    }

    .first_reason_txt_p_br {
        display: none;
    }

    .first_item {
        padding-top: 100px;
        padding-bottom: 0;
        margin-top: 100px;
    }

    .first_item h2 .txt_highlight {
        width: 100px;
        height: 100px;
    }

    .first_item_deco {
        max-width: 500px;
        width: 80%;
    }

    .first_item_img::before {
        right: -10%;
        width: 300px;
        height: 300px;
    }

    .first_item::before {
        width: 1000%;
        height: 1000%;
        transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }

    .first_item .wp-block-buttons.more_btn .wp-block-button a {
        font-size: 1.1rem;
    }

    .first_store .deco_bg03::before {
        width: 600px;
        right: -400px;
    }

    .first_store::before {
        content: '';
        position: absolute;
        top: 400px;
        right: 0;
        width: 80%;
    }

    .first_store .title_bg::before {
        width: 280px;
        height: 280px;
    }

    .first_store_txt .wp-block-table tr td:last-child {
        width: 100% !important;
    }

    .first_store_txt .wp-block-table td:first-of-type {
        width: 100%;
    }

    .first_store_txt figure.wp-block-table {
        padding: 6%;
    }

    .first_store figure.wp-block-image.size-full {
        min-width: 200px;
        width: 40%;
        bottom: 0;
    }

    .first_qa {
        margin-top: 0;
        padding-top: 280px;
        margin-bottom: 100px;
    }

    .first_qa h3 {
        font-size: 1.3rem;
        padding-left: 40px;
    }

    .first_qa_br {
        display: block;
    }

    .first_qa .vk_faq .vk_faq_title p {
        line-height: 1.7 !important;
    }

    .first_qa dt.wp-block-vk-blocks-faq2-q.vk_faq_title {
        padding: .8rem .8rem .8rem 3rem;
    }

    .first_qa .vk_faq .vk_faq_title:before {
        font-size: 1.1rem;
        left: 0;
    }

    .first_qa dd.wp-block-vk-blocks-faq2-a.vk_faq_content.vk_faq_content-accordion-open p {
        line-height: 1.7 !important;
    }

    .first_qa .vk_faq.vk_faq-accordion-close .vk_faq_title::after,
    .vk_faq.vk_faq-accordion-open .vk_faq_title::after {
        top: 45% !important;
        right: 3rem !important;
        width: 10px !important;
        height: 10px !important;
        border-right: 2px solid #82ae46 !important;
        border-top: 2px solid #82ae46 !important;
    }

    #guide_price {
        padding-top: 150px !important;
    }

    .guide_wrap {
        margin-bottom: 100px;
    }

    #guide .under-v {
        background-size: 100%;
    }

    #guide .under-v::after {
        background: linear-gradient(90deg, transparent 60%, #000 100%), linear-gradient(90deg, #000 0%, transparent 40%);
    }

    .guide_wrap h2 {
        font-size: 1.5rem;
    }

    .guide_wrap h3 {
        font-size: 1.3rem;
    }

    .guide_wrap_content_returns figure.wp-block-table {
        width: 95%;
    }

    .guide_wrap_content_returns a:hover {
        opacity: 1 !important;
    }

    .guide_wrap_content_highlight span::after {
        content: '\A';
        white-space: pre;
    }

    .contact_wrap {
        margin-top: 50px;
    }

    .contact_wrap_txt_p {
        font-size: 1rem !important;
        text-align: center;
        margin-bottom: 0;
    }

    .contact_wrap_txt .wp-block-group.is-nowrap {
        flex-direction: column;
        gap: 5%;
        margin-left: 0 !important;
    }

    .contact_wrap_txt_tel {
        flex-direction: initial !important;
    }

    .smf-action {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px !important;
        margin-top: 20px;
        margin-bottom: 100px;
    }

    .smf-action .smf-button-control+.smf-button-control {
        margin-left: 0;
    }

    .smf-action .smf-button-control__control {
        font-size: 14px;
        margin: 0 !important;
        max-width: 100% !important;
        padding: 20px 0 !important;
    }

    .smf-form,
    .smf-form .contact_privacy .smf-checkbox-control__label {
        font-size: 14px;
    }

    .snow-monkey-form {
        margin-top: 40px;
    }

    #tokusho .wp-block-table td:first-of-type {
        width: 100%;
        background-color: #000;
        border-bottom: 1px solid rgb(255, 255, 255, .2);
    }

    #tokusho .wp-block-table td {
        width: 100%;
        background-color: #000;
        border-bottom: 1px solid #fff;
    }

    .wp-block-group.policy-wrap li {
        font-size: 14px;
    }

    p.has-cyan-bluish-gray-color.has-text-color.has-link-color.wp-elements-56fb636ad09f6b8bac03f27ec0c6fc8c {
        font-size: 14px;
        text-align: left;
    }
}


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

  その他適宜追加する場合は下記に記述

============================== */
@media screen and (max-width: 540px) {
    .first_qa_br {
        display: block;
    }
}

@media screen and (max-width: 500px) {
    .sp-nav-inner {
        margin-top: 60px;
    }

    .sp-nav-wrap .wp-block-navigation .wp-block-navigation-item {
        margin-top: 18px;
    }

    .slider-07 {
        width: 100% !important;
        max-width: 100vw !important;
        overflow: hidden !important;
    }

    .slider-07 .slides,
    .slider-07 .slides .wp-block-group__inner-container {
        overflow: visible !important;
    }

    .slider-07 .slide {
        width: 60vw !important;
        min-width: 0 !important;
        /* PC用の280pxの制限を完全解除 */
        max-width: none !important;
        /* PC用の341pxの制限を完全解除 */
        flex: 0 0 60vw !important;
        padding: 0 5% !important;
    }

    .slider-07 .slide-inner {
        width: 100% !important;
        margin: 0 !important;
    }

    .slider-07 .slides .wp-block-group__inner-container {
        padding: 11% 0 50px 0 !important;
    }

    p.prev,
    p.next {
        top: 50%;
        transform: translateY(-100%) !important;
        width: 40px !important;
        height: 80px !important;
        background-color: #424225;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    p.prev {
        left: 0;
        border-radius: 0 50px 50px 0 !important;
    }

    p.next {
        right: 0;
        border-radius: 50px 0 0 50px !important;
    }

    p.prev:before,
    p.next:before {
        width: 15px;
        height: 15px;
    }

    div.header-inner-wrap-sp div.wp-block-group.header_menu_icon_sp.is-nowrap.is-layout-flex {
        right: 10px;
        gap: 10px !important;
    }

    .footer {
        padding: 60px 10px;
    }


    .top_campaign {
        margin-top: min(30%, 150px);
    }

    .top_campaign .deco_bg03_reverse::before {
        top: -200px !important;
    }

    .top-campaign-item {
        flex: none !important;
        width: calc(50% - 10px) !important;
        min-height: 250px;
        padding-bottom: 0;
    }

    .top-campaign-thumbnail {
        height: 40% !important;
    }

    .top-item-list {
        gap: 0;
    }

    .top_bestitem .top-item-list {
        margin-bottom: 20px !important;
    }

    .top_bestitem .top-item-card {
        width: calc(50% - 10px) !important;
        display: flex;
    }

    .top-item-card a {
        height: 400px;
    }

    .top-item-info {
        max-height: 250px;
    }

    .top-item-category-wrapper {
        margin: 10px 0;
        margin-top: 0;
    }

    .price-tax {
        display: block;
        margin-top: -5px;
        margin-right: -4px;
    }

    #top_bestitem_deco02 {
        min-width: 90px;
        width: 15% !important;
        transform: translate(90%, 20%);
    }

    #top_bestitem_deco03 {
        min-width: 100px;
        width: 15%;
        transform: translate(70%, -150%);
    }

    #top_setitem_deco01 {
        min-width: 100px;
        width: 20%;
        transform: translate(-150%, 150%);
    }

    #top_setitem_deco04 {
        min-width: 80px;
        width: 14%;
        transform: translate(120%, -170%);
    }

    .top_category .deco_bg03_reverse::before {
        top: -300px !important;
    }

    .top_category h2::before {
        display: block;
        margin: 0 auto;
        margin-bottom: 10px;
    }

    .top_category .is-style-vk_tab_labels-line .vk_tab_labels .vk_tab_labels_label>div {
        font-size: 1.3rem !important;
        padding: calc(1rem * 0.5) calc(1rem * 2.5) !important;
    }

    .top_contact {
        margin-top: 150px;
    }

    .top_contact .wp-block-columns::before {
        width: 300px;
        height: 300px;
    }

    .first_reason {
        margin-top: 350px;
    }

    #first_reason_03::before {
        background-size: 150%;
        background-position: 0 70%;
    }

    .first_reason .wp-block-columns.custom-col-v-tablet {
        margin-top: 240px;
    }

    .first_reason h3 {
        font-size: 1.4rem;
    }

    .first_reason_txt_h3_br {
        display: block;
    }

    .first_item_img::before {
        top: -40%;
        right: -10%;
        width: 300px;
        height: 300px;
    }

    .first_item h3 {
        font-size: 1.6rem;
    }

    .first_store figure.wp-block-image.size-full {
        min-width: 200px;
        width: 40%;
        bottom: -6%;
    }

    .first_qa_br02 {
        display: block;
    }

    #guide .under-v {
        background-size: 150%;
    }

    .wp-block-group.guide_wrap_content_ship {
        display: flex;
        flex-wrap: wrap;
        gap: 10px !important;
        justify-content: flex-start !important;
    }

    .wp-block-group.guide_wrap_content_ship>p {
        flex: 0 0 calc((100% - 20px) / 2);
        box-sizing: border-box;
        height: 50px;
    }

    .contact_wrap_txt_p {
        font-size: 0.9rem !important;
    }

    .contact_wrap_txt {
        padding-top: 2%;
    }
}