@charset "utf-8";

/* =========================
   商品詳細ページ
========================= */

#item-detail-section{
    position:relative;
    padding:110px 0 120px;
    background:
        linear-gradient(
            to bottom,
            #050002,
            #120009 42%,
            #050002
        );
}

/* 見出し */

.item-detail-header{
    width:90%;
    max-width:900px;
    margin:0 auto 70px;
    text-align:center;
}

.item-detail-label{
    color:#b08d57;
    font-size:15px;
    letter-spacing:0.18em;
    font-style:italic;
    margin-bottom:16px;
}

.item-detail-title{
    color:#ffffff;
    font-size:40px;
    line-height:1.6;
    letter-spacing:0.08em;
    margin-bottom:22px;
    background:none;
    padding:0;
}

.item-detail-tagline{
    color:#d0b06d;
    font-size:17px;
    line-height:2;
    letter-spacing:0.06em;
    margin:0 auto 18px;
}

.item-detail-rank,
.item-detail-limited{
    display:inline-block;
    margin:8px 5px 0;
    padding:8px 18px;
    color:#d0b06d;
    font-size:13px;
    letter-spacing:0.08em;
    border:1px solid rgba(176,141,87,0.35);
    background:rgba(0,0,0,0.35);
}

/* 本体 */

.item-detail-box{
    width:90%;
    max-width:1100px;
    margin:0 auto;
    display:flex;
    gap:56px;
    align-items:flex-start;
}

.item-detail-image{
    width:48%;
}

.item-detail-info{
    max-width:420px;
}

/* メイン画像 */

.item-image-frame{
    position:relative;
    padding:10px;
    background:#050505;
    border:1px solid rgba(176,141,87,0.5);
    box-shadow:
        0 0 18px rgba(0,0,0,0.85),
        inset 0 0 22px rgba(176,141,87,0.08);
}

.item-image-frame::before,
.item-image-frame::after{
    content:"";
    position:absolute;
    pointer-events:none;
}

.item-image-frame::before{
    inset:5px;
    border:1px solid rgba(176,141,87,0.18);
}

.item-image-frame::after{
    inset:0;
    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,0.04),
            rgba(0,0,0,0.18) 70%
        );
}

#slide-box{
    position:relative;
    z-index:1;
}

#slide-box .item-image{
    width:100%;
    height:auto;
    display:none;
    filter:
        brightness(88%)
        contrast(108%);
}

#slide-box .item-image.on{
    display:block;
}

/* サムネイル */

.item-detail-thumbs{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin:20px 0 0;
}

.item-detail-thumbs li{
    width:64px;
    margin:0;
}

.item-detail-thumbs .thumb{
    width:100%;
    opacity:0.62;
    border:1px solid rgba(176,141,87,0.25);
    box-shadow:none;
    transition:all 0.35s ease;
}

.item-detail-thumbs .thumb.on,
.item-detail-thumbs .thumb:hover{
    opacity:1;
    border-color:rgba(176,141,87,0.75);
    box-shadow:0 0 12px rgba(176,141,87,0.3);
}

/* 価格・購入 */

.item-detail-price{
    margin:0 0 26px;
    color:#d0b06d;
    font-size:34px;
    text-align:center;
    letter-spacing:0.06em;
}

.item-detail-cart{
    width:95%;
    max-width:none;
    margin:0 auto 42px;
    padding:18px 20px;
    border-radius:0;
    box-shadow:none;
    font-size:20px;
    letter-spacing:0.08em;
    background:
        linear-gradient(
            to bottom,
            #b08d57,
            #7c5b27
        );
    border:1px solid rgba(255,220,150,0.24);
}

.item-detail-cart:hover{
    background:
        linear-gradient(
            to bottom,
            #c5a466,
            #8a672f
        );
}

.item-detail-soldout{
    max-width:420px;
    margin:0 auto 42px;
    padding:18px;
    text-align:center;
    color:#999;
    border:1px solid rgba(176,141,87,0.35);
    background:rgba(0,0,0,0.35);
}

/* 情報テーブル */

.item-detail-table{
    width:100%;
    margin-top:0;
    border-top:1px solid rgba(176,141,87,0.18);
}

.item-detail-table th{
    color:#d0b06d;
    font-weight:normal;
    white-space:nowrap;
}

.item-detail-table th,
.item-detail-table td{
    padding:14px 10px;
    border-bottom:1px solid rgba(176,141,87,0.13);
    line-height:1.8;
}

.item-detail-table .tag{
    color:#d8d8d8;
    text-decoration:none;
}

/* 説明文 */

.item-detail-description{
    width:86%;
    max-width:900px;
    margin:90px auto 0;
    padding-top:58px;
    border-top:1px solid rgba(176,141,87,0.22);
}

.item-detail-description h2{
    color:#d0b06d;
    font-size:30px;
    line-height:1.7;
    letter-spacing:0.06em;
    margin-bottom:34px;
    text-align:left;
}

.item-detail-description p{
    color:#e2e2e2;
    font-size:17px;
    line-height:2.35;
    letter-spacing:0.04em;
    margin:0;
}

/* お客様の声 */

.item-review-section,
.item-review-post{
    max-width:900px;
    margin:80px 0;
    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.92),
            rgba(0,0,0,0.96)
        );
    border-top:1px solid rgba(176,141,87,0.22);
}

/* 同じシリーズ */

.item-related-section{
    position:relative;
    padding:90px 0 110px;
    margin-top:80px;
    background:
        linear-gradient(
            to bottom,
            #050002,
            #120009 45%,
            #050002
        );
}

.item-related-section .related-list{
    width:92%;
    margin:0 auto;
}

.item-related-section .item-s{
    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.92),
            rgba(0,0,0,0.96)
        );
    border-top:1px solid rgba(176,141,87,0.22);
}

.related-image-frame{
    display:block;
    padding:6px;
    background:#050505;
    border:1px solid rgba(176,141,87,0.42);
    box-shadow:inset 0 0 14px rgba(176,141,87,0.08);
}

.related-image-frame img{
    display:block;
    width:100%;
    filter:
        brightness(88%)
        contrast(108%);
}

/* 既存枠画像の無効化保険 */

img.frame{
    display:none !important;
}

/* =========================
   スマホ
========================= */

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

    #item-detail-section{
        padding:80px 0 90px;
    }

    .item-detail-header{
        width:88%;
        margin-bottom:46px;
    }

    .item-detail-title{
        font-size:29px;
        line-height:1.55;
        letter-spacing:0.04em;
    }

    .item-detail-tagline{
        font-size:15px;
        line-height:1.9;
        text-align:center;
    }

    .item-detail-box{
        display:block;
        width:88%;
    }

    .item-detail-image,
    .item-detail-info{
        width:100%;
    }

    .item-detail-info{
        margin-top:38px;
    }

    .item-image-frame{
        padding:7px;
    }

    .item-detail-thumbs li{
        width:52px;
    }

    .item-detail-price{
        font-size:30px;
    }

    .item-detail-cart{
        max-width:none;
        font-size:17px;
        padding:16px 14px;
    }

    .item-detail-table th,
    .item-detail-table td{
        display:block;
        width:100%;
        box-sizing:border-box;
        padding:10px 0;
        text-align: center;
    }

    .item-detail-table th{
        border-bottom:none;
        padding-bottom:2px;
    }

    .item-detail-table td{
        padding-top:2px;
    }

    .item-detail-description{
        width:88%;
        margin-top:64px;
        padding-top:42px;
    }

    .item-detail-description h2{
        font-size:24px;
    }

    .item-detail-description p{
        font-size:16px;
        line-height:2.25;
    }

    .item-review-section,
    .item-review-post{
        max-width:900px;
        margin:60px 0;
    }

    .item-related-section{
        padding:70px 0 90px;
        margin-top:60px;
    }

}

/* 商品詳細 微調整 */

.item-detail-box{
    gap:42px;
}

.item-detail-image{
    width:52%;
}

.item-detail-info{
    width:48%;
}

.item-detail-description{
    margin-top:64px;
}

.item-detail-description p{
    line-height:2.15;
}

/* 同シリーズを少し圧縮 */

.item-related-section .item-s{
    padding:18px;
}

.item-related-section .figure-s{
    width:82%;
    max-width:260px;
}

.item-related-section .item-s .text{
    font-size:13px;
    line-height:1.75;
}

.item-related-section .button{
    font-size:13px;
    padding:8px 14px;
}

/* スマホ */
@media screen and (max-width:900px){

    .item-detail-image,
    .item-detail-info{
        width:100%;
    }

    .item-detail-description{
        margin-top:48px;
    }

    .item-related-section .figure-s{
        width:76%;
        max-width:230px;
    }

}


.related-list .text{
    min-height:70px;
    overflow:hidden;
}

/* =========================
   レビュー投稿部分の幅
========================= */

.item-review-post form{
    max-width:700px;
    margin:0 auto;
}

.item-review-post .right{
    text-align:right;
    margin-bottom:15px;
}

.item-review-post table{
    width:100%;
}

.item-review-post th{
    width:90px;
    text-align:left;
    vertical-align:top;
}

.item-review-post td{
    width:auto;
}

.item-review-post .input-box{
    width:100%;
    box-sizing:border-box;
}

.item-review-post textarea{
    width:100%;
    box-sizing:border-box;
}

.item-review-post .line-table{
    max-width:700px;
    margin:0 auto;
}

/* =========================
   同じシリーズ 最終版
   画像左・説明右・ボタンは説明文の下
========================= */

.item-related-section .related-list{
    display:block !important;
    width:92%;
    margin:0 auto;
    padding:0;
}

.item-related-section .item-s{
    display:block !important;
    padding:14px !important;
    margin:0 0 16px !important;
    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.92),
            rgba(0,0,0,0.96)
        );
    border-top:1px solid rgba(176,141,87,0.22);
    box-sizing:border-box;
}

.item-related-section .item-s .name{
    margin:0 0 10px !important;
    padding:0 !important;
    background:none !important;
    text-align:left !important;
    font-size:15px !important;
    line-height:1.5 !important;
}

.item-related-section .item-s .name a{
    color:#fff;
    text-decoration:none;
}

.item-related-section .related-holder{
    display:flex !important;
    align-items:flex-start;
    gap:14px;
}

.item-related-section .figure-s{
    width:110px !important;
    min-width:110px !important;
    max-width:110px !important;
    margin:0 !important;
    float:none !important;
}

.item-related-section .related-image-frame{
    display:block !important;
    width:110px !important;
    height:110px !important;
    padding:4px;
    box-sizing:border-box;
    overflow:hidden;
    background:#050505;
    border:1px solid rgba(176,141,87,0.42);
    box-shadow:inset 0 0 14px rgba(176,141,87,0.08);
}

.item-related-section .related-image-frame img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    filter:
        brightness(88%)
        contrast(108%);
}

.item-related-section .figure-s figcaption{
    margin-top:6px;
    text-align:center;
    font-size:12px;
    line-height:1.4;
}

.item-related-section .related-info{
    display:block !important;
    flex:1;
    min-width:0;
}

.item-related-section .related-info .text{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:0 !important;
    max-height:76px;
    overflow:hidden;
    margin:0 0 10px !important;
    padding:0 !important;
    color:#d4d4d4 !important;
    font-size:12px !important;
    line-height:1.6 !important;
}

.item-related-section .related-info .button{
    display:block !important;
    width:120px !important;
    max-width:120px !important;
    margin:0 !important;
    padding:7px 10px !important;
    font-size:12px !important;
    line-height:1.4;
    box-sizing:border-box;
}

/* PCでは少しだけ大きく */
@media screen and (min-width:901px){

    .item-related-section .item-s{
        padding:18px !important;
    }

    .item-related-section .related-holder{
        gap:18px;
    }

    .item-related-section .figure-s,
    .item-related-section .related-image-frame{
        width:130px !important;
        min-width:130px !important;
        max-width:130px !important;
        height:130px !important;
    }

    .item-related-section .related-info .text{
        font-size:13px !important;
        line-height:1.7 !important;
        max-height:88px;
    }

    .item-related-section .related-info .button{
        width:130px !important;
        max-width:130px !important;
    }

}

/* =========================
   サイドバー
========================= */

#side{
    display:flex;
    flex-direction:column;
    gap:34px;
}

/* セクション */

.side-section{
    padding:34px 28px;

    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.94),
            rgba(0,0,0,0.96)
        );

    border-top:
        1px solid rgba(176,141,87,0.22);
}

/* ラベル */

.side-label{
    color:#b08d57;

    font-size:12px;
    letter-spacing:0.18em;

    margin-bottom:14px;

    opacity:0.75;

    font-style:italic;
}

/* タイトル */

.side-title{
    color:#ffffff;

    font-size:24px;
    line-height:1.6;
    letter-spacing:0.08em;

    margin-bottom:26px;
}

.side-title.small{
    font-size:18px;
}

/* テキスト */

.side-text{
    color:#d4d4d4;

    font-size:14px;
    line-height:2.1;
    letter-spacing:0.04em;

    margin-bottom:24px;
}

/* メニュー */

.side-menu{
    padding:0;
    margin:0;

    list-style:none;
}

.side-menu li{
    border-bottom:
        1px solid rgba(176,141,87,0.12);
}

.side-menu li:last-child{
    border-bottom:none;
}

.side-menu a{
    display:block;

    padding:16px 0;

    color:#d4d4d4;

    text-decoration:none;

    line-height:1.8;
    letter-spacing:0.04em;

    transition:all 0.4s ease;
}

.side-menu a:hover{
    color:#d0b06d;
    padding-left:8px;
}

/* ボタン */

.side-button{
    display:inline-block;

    padding-bottom:6px;

    color:#b08d57;

    text-decoration:none;

    border-bottom:
        1px solid rgba(176,141,87,0.4);

    transition:all 0.4s ease;
}

.side-button:hover{
    opacity:0.7;
}

/* バナー */

.side-banner{
    margin-bottom:20px;
}

.side-banner:last-child{
    margin-bottom:0;
}

.side-banner img{
    width:100%;
    display:block;
}

/* 支払い */

.side-pay{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.side-pay img{
    width:56px;
    opacity:0.9;
}

/* SNS */

.side-sns{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.side-sns a{
    color:#d4d4d4;

    text-decoration:none;

    letter-spacing:0.08em;

    transition:all 0.4s ease;
}

.side-sns a:hover{
    color:#b08d57;
    padding-left:8px;
}

/* =========================
   スマホ
========================= */

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

#side{
    gap:24px;
}

.side-section{
    padding:28px 22px;
}

.side-title{
    font-size:22px;
}

.side-title.small{
    font-size:16px;
}

.side-text{
    font-size:13px;
    line-height:2;
}

.side-menu a{
    padding:14px 0;
    font-size:14px;
}

}

