@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");

/* ========================================================
   1. フォント定義 & 基本設定
======================================================== */
@font-face {
    font-family: "YuMinchoMedium";
    src: url("../../img/selling/YuMinchoMedium.otf");
}

@font-face {
    font-family: "yu-mincho-demibold";
    src: url("../../img/selling/yu-mincho-demibold.ttf");
}

#page_selling article {
    width: 100%;
}

#page_selling a:hover {
    opacity: 0.6;
    transition: 0.3s;
}

/* 外部CSSの強制パディングを打ち消し */
.common-style-area {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ========================================================
   2. ページ全体のコンテンツレイアウト
======================================================== */
/* ▼ main タグを全体の枠(1440px)とする ▼ */
main {
    width: 100%;
    max-width: 1440px !important;
    margin: 0 auto;
}

/* ▼ セクション(.common-style-area)の計算基準をPC用に設定 ▼ */
.common-style-area {
    --w-ref: 767;
}

/* その他の境界線があるセクションの余白調整 */
.why_us_section,
.shop_info_wrap {
    border-top: 1px solid #e0e0e0;
}

.item_lineup_section {
    border-top: 1px solid #e0e0e0;
    margin-top: 4em !important;
}

/* ========================================================
   3. ファーストビュー (FV) - 画像比率維持のため元の指定
======================================================== */
.hk_fv_img_wrap {
    width: 100%;
    background-image: url(../../img/selling/hk_fv_pc.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top: 32%;
    position: relative;
}

.hk_fv_img_wrap h3 {
    position: absolute;
    top: 23%;
    left: 5%;
    font-size: var(--font-l);
    color: #696433;
    font-family: "YuMinchoMedium", serif;
}

.hk_fv_img_wrap h2 {
    position: absolute;
    top: 33%;
    left: 4.6%;
    font-size: 6.2vw;
    color: var(--color-black);
    font-family: "yu-mincho-demibold", serif;
}

.hk_fv_img_wrap p {
    position: absolute;
    bottom: 28%;
    font-size: var(--font-l);
    font-weight: 500;
    color: #696433;
    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap;
}

.hk_fv_img_wrap p:nth-of-type(1) {
    left: 9.5%;
}

.hk_fv_img_wrap p:nth-of-type(2) {
    left: 24.2%;
}

.hk_fv_img_wrap p:nth-of-type(3) {
    left: 39.2%;
}

/* ========================================================
   4. バナーブロック
======================================================== */
.banner_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2%;
    padding: 0 2%;
    margin: 2em 0;
}

.banner_block > div {
    width: 49%;
}

.selling_banner {
    width: 100% !important;
    margin: 0 !important;
}

/* ========================================================
   5. 見出し & カテゴリ共通 (すべて --f-base で指定可能に)
======================================================== */
.lineup_header,
.shop_info_head {
    text-align: center;
    margin: 4em 0 2em;
}

.lineup_header p:nth-of-type(1),
.shop_info_head p:nth-of-type(1) {
    --f-base: 50;
    font-family: "YuMinchoMedium", serif;
    line-height: 1.4;
    color: var(--color-black);
}

.lineup_header p:nth-of-type(2),
.shop_info_head p:nth-of-type(2) {
    --f-base: 24;
    color: #878787;
    margin-top: 0.5em;
    letter-spacing: 0.1em;
}

.category_title_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-white);
    padding: 0 3em 2%;
    border-radius: var(--border-radius-m, 8px);
}

.category_image_wrap {
    transform: translateY(25%);
    width: 45%;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.category_text_wrap {
    width: 55%;
    padding-left: 2%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* 767pxコンテナに合わせて、これまでの巨大な文字サイズと同等になるよう数値を換算 */
.en_title {
    --f-base: 173;
    font-family: "游明朝", "Yu Mincho", "YuMincho", "Times New Roman", serif;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1;
}

.zh_title {
    --f-base: 61;
    color: var(--color-black);
    font-family: "YuMinchoMedium", serif;
    font-weight: normal;
    letter-spacing: 0.15em;
    margin-top: -0.5em;
    z-index: 2;
    text-indent: 0.15em;
}

.category_desc {
    --f-base: 20;
    line-height: 1.8;
    color: var(--color-black);
    margin: 0 auto 3em;
    width: 95%;
    text-align: left;
    position: relative;
    z-index: 2;
}

/* カテゴリ別カラー & 配置 */
#lineup_watch .en_title {
    color: #e5e5e5;
    --f-base: 100;
}

#lineup_bag .category_text_wrap {
    align-items: flex-start;
    text-align: left;
}

#lineup_bag .en_title {
    color: #eaddb8;
    --f-base: 100;
}

#lineup_bag .zh_title {
    text-indent: 0;
}

#lineup_jewelry .en_title {
    color: #ffe4e8;
    --f-base: 100;
}

#lineup_watch .category_title_wrap,
#lineup_jewelry .category_title_wrap {
    padding-right: 0;
}

#lineup_watch .category_image_wrap,
#lineup_jewelry .category_image_wrap {
    display: flex;
    justify-content: flex-end;
}

/* ========================================================
   6. ブランドグリッド (丸枠)
======================================================== */
.brand_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2vw, 28px) min(2vw, 28px);
    list-style: none;
    width: 95%;
    margin: 0 auto;
    padding: 0;
}

.brand_grid li {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.brand_img_wrap {
    position: relative;
    width: 90%;
    max-width: 180px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 0.8em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand_img_wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid transparent;
    box-sizing: border-box;
}

.brand_grid img {
    width: 55%;
    height: auto;
    object-fit: contain;
}

.brand_grid p {
    --f-base: 20;
    color: var(--color-black);
    text-transform: uppercase;
    font-family: "YuMinchoMedium", serif;
    line-height: 1.4;
    width: 100%;
}

/* 背景色設定 */
#lineup_watch .brand_img_wrap {
    background-color: rgba(229, 229, 229, 0.3);
}

#lineup_watch .brand_img_wrap::after {
    border-color: #e5e5e5;
}

#lineup_bag .brand_img_wrap {
    background-color: rgba(234, 221, 184, 0.2);
}

#lineup_bag .brand_img_wrap::after {
    border-color: #eaddb8;
}

#lineup_jewelry .brand_img_wrap {
    background-color: rgba(255, 228, 232, 0.3);
}

#lineup_jewelry .brand_img_wrap::after {
    border-color: #ffe4e8;
}

#lineup_jewelry .brand_grid li:nth-child(1) img,
#lineup_jewelry .brand_grid li:nth-child(2) img,
#lineup_jewelry .brand_grid li:nth-child(5) img,
#lineup_jewelry .brand_grid li:nth-child(6) img {
    width: 100%;
}

/* ========================================================
    7. WHY US セクション
======================================================== */
.why_us_section {
    width: 100%;
    margin: 4em auto 0;
    border-top: 1px solid #e0e0e0;
}

.why_us_grid {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4em;
    margin-top: 3em;
    padding-bottom: 4em;
}

.why_us_item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    width: 100%;
}

.why_us_img {
    width: 100%;
    margin: 0 0 1.5em 0;
    text-align: left;
}

.why_us_img img {
    width: 100%;
    max-width: 100%;
    margin: 0;
    display: block;
}

.why_us_item h4 {
    --f-base: 28;
    color: #383838;
    font-family: "yu-mincho-demibold", serif;
    margin-bottom: 0.8em;
    line-height: 1.6;
}

.why_us_item p {
    --f-base: 18;
    color: #555;
    line-height: 1.8;
    width: 100%;
}

/* ========================================================
   8. SHOP INFO & スライダー
======================================================== */
.shop_info_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2em;
    margin-bottom: 3em;
    margin-top: 2em;
}

.shop_info_map_block {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.shop_info_map_block iframe {
    width: 100%;
    height: 100%;
}

.shop_info_text_block {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.shop_name {
    --f-base: 50;
    font-family: "yu-mincho-demibold", serif;
    color: #383838;
    margin-bottom: 0.5em;
}

.shop_info_text_block p:not(.shop_name) {
    --f-base: 22;
    margin-bottom: 0.8em;
    line-height: 1.6;
}

.wa_cta_btn {
    width: 60%;
    max-width: 400px;
    margin-top: 1em;
    display: block;
}

.cta_banner {
    width: 14%;
    position: fixed;
    right: 1%;
    bottom: 2%;
    z-index: 100;
}

.shop_item_block {
    padding-bottom: 3em;
    margin-bottom: 6em;
}

.shop_item_block:last-child {
    margin-bottom: 0;
}

.shop_item_block:not(:last-child) {
    border-bottom: 1px solid #e0e0e0;
}

/* スライダー */
.selling-shop-slide {
    margin-bottom: 4em;
}

.selling-shop-slide .splide__slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.splide__slide img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.selling-shop-slide .splide__arrow {
    background: rgba(34, 34, 34, 0.8) !important;
    width: 3.5em;
    height: 3.5em;
}

.selling-shop-slide .splide__arrow svg {
    fill: #ffffff !important;
}

.selling-shop-slide .splide__pagination {
    bottom: -2.5em !important;
}

.selling-shop-slide .splide__pagination__page {
    background: #b0b0b0 !important;
    width: 12px !important;
    height: 12px !important;
    margin: 4px !important;
    opacity: 1 !important;
}

.selling-shop-slide .splide__pagination__page.is-active {
    background: #000000 !important;
    transform: scale(1) !important;
}

/* ========================================================
   9. その他 (追従バナー)
======================================================== */
.sell-contact-banner-block {
    position: fixed;
    right: 1%;
    bottom: 2%;
    z-index: 100;
    width: 14%;
}

/* ========================================================
   10. スマホ表示用 フォント・レイアウト上書き (SP専用)
======================================================== */
@media (max-width: 767px) {
    /* ▼ SP版の計算基準を本来の 375px に戻す ▼ */
    .common-style-area {
        --w-ref: 375;
    }

    .cta_banner {
        width: 25%;
    }

    /* 共通見出し */
    .lineup_header p:nth-of-type(1),
    .shop_info_head p:nth-of-type(1) {
        --f-base: 22.5;
    }

    .lineup_header p:nth-of-type(2),
    .shop_info_head p:nth-of-type(2) {
        --f-base: 13.5;
    }

    /* カテゴリタイトル */
    .category_title_wrap .en_title {
        --f-base: 52.5;
    }

    .category_title_wrap .zh_title {
        --f-base: 22.5;
    }

    #lineup_watch .en_title,
    #lineup_bag .en_title {
        --f-base: 45;
    }

    #lineup_jewelry .en_title {
        --f-base: 38;
        margin-left: 0;
    }

    #lineup_jewelry .zh_title {
        margin-left: 0;
    }

    #lineup_watch .zh_title,
    #lineup_bag .zh_title,
    #lineup_jewelry .zh_title {
        --f-base: 22.5;
        margin-top: -0.5em;
    }

    .category_desc {
        --f-base: 11;
        width: 85%;
    }

    /* WHY US スマホ調整 (欠落していた配置設定を復元) */
    .why_us_section {
        width: 100%;
    }

    .why_us_grid {
        gap: 3em;
    }

    .why_us_item {
        width: 100%;
        margin: 0;
    }

    .why_us_img {
        width: 90%;
        margin-bottom: 1.5em;
    }

    .why_us_item:nth-child(odd) .why_us_img {
        margin-left: 0;
        margin-right: auto;
    }

    .why_us_item:nth-child(odd) h4,
    .why_us_item:nth-child(odd) p {
        width: 90%;
        margin-left: 5%;
        margin-right: auto;
        text-align: left;
    }

    .why_us_item:nth-child(even) .why_us_img {
        margin-left: auto;
        margin-right: 0;
    }

    .why_us_item:nth-child(even) h4,
    .why_us_item:nth-child(even) p {
        width: 85%;
        margin-left: 10%;
        margin-right: auto;
        text-align: left;
    }

    .why_us_item h4 {
        --f-base: 18;
    }

    .why_us_item p {
        --f-base: 11;
    }

    /* SHOP INFO */
    .shop_name {
        --f-base: 22.5;
    }

    .shop_info_text_block p:not(.shop_name) {
        --f-base: 11.25;
    }

    #header .logo__text {
        margin-left: 3vw;
        --f-base: 11.25;
    }

    /* ブランドグリッド */
    .brand_grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 6vw 2vw;
    }

    .brand_grid p {
        --f-base: 10.5;
    }

    /* レイアウト配置の復元 */
    #lineup_watch .category_title_wrap,
    #lineup_bag .category_title_wrap,
    #lineup_jewelry .category_title_wrap {
        flex-direction: row;
        padding: 0 2%;
    }

    #lineup_watch .category_image_wrap,
    #lineup_bag .category_image_wrap,
    #lineup_jewelry .category_image_wrap {
        width: 45%;
        margin-bottom: 0;
        text-align: left;
    }

    #lineup_watch .category_text_wrap,
    #lineup_bag .category_text_wrap,
    #lineup_jewelry .category_text_wrap {
        width: 55%;
        padding-right: 0;
    }

    #lineup_watch .category_image_wrap {
        display: flex;
        justify-content: flex-end;
    }

    .shop_info_map_block {
        padding: 0 2em;
    }

    .hk_fv_img_wrap {
        background-image: url(../../img/selling/hk_fv_sp.webp);
        background-size: 100% auto;
        background-position: top center;
        padding-top: 90%;
    }

    .hk_fv_img_wrap h3 {
        top: 6%;
        left: 50%;
        transform: translateX(-50%);
        font-size: var(--font-m);
        width: 100%;
        text-align: center;
    }

    .hk_fv_img_wrap h2 {
        top: 10%;
        left: 50%;
        transform: translateX(-50%);
        font-size: 12vw;
        color: var(--color-black);
        width: 100%;
        text-align: center;
    }

    .hk_fv_img_wrap p {
        top: 30%;
        transform: none;
        bottom: auto;
        background-color: transparent;
        border: none;
        padding: 0;
        font-size: var(--font-s);
        text-align: center;
    }

    .hk_fv_img_wrap p:nth-of-type(1) {
        left: 10%;
        width: 25%;
    }

    .hk_fv_img_wrap p:nth-of-type(2) {
        left: 37.5%;
        width: 25%;
    }

    .hk_fv_img_wrap p:nth-of-type(3) {
        left: 65%;
        width: 25%;
    }

    .banner_block {
        flex-direction: column;
        gap: 2em;
    }

    .banner_block > div {
        width: 100%;
    }

    .shop_item_block {
        margin-bottom: 2em;
        padding-bottom: 2em;
    }

    .shop_info_content {
        margin-bottom: 0;
    }

    .sell-contact-banner-block {
        right: 0;
        left: 0;
        margin: auto;
        width: 96%;
    }
}
