@charset "utf-8";@charset "UTF-8";

#header,
.keyword-box,
.crumbsList,
#header .header__nav,
#header .header__inner,
#header .header__nav--bottom {
    display: none ;
}


/* ==========================================================================
   2. リセット & グローバルスタイル
   ========================================================================== */
.container {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.sp-br {
  display: none;
}

/* ==========================================================================
   3. 各セクションのレイアウト
   ========================================================================== */

/* --- ヒーローバナー --- */
.hero-banner {
    width: 100%;
    overflow: hidden;
}

.hero-banner picture img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* --- ページ説明 --- */
.page-description {
    background-color: #ffffff;
    padding-top: 100px;
    padding-bottom: 100px;
}

.description-container {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}

.description-container p {
    color: #555555;
    font-size: 16px;
    line-height: 2.0;
    text-align: justify;
    word-break: break-all;
}

/* --- シルエット詳細セクション共通 --- */
.silhouette-detail {
    padding-top: 100px;
    padding-bottom: 100px;
}

.bg-beige {
    background-color: #F7F4E8;
}
.bg-lightblue {
    background-color: #C0F1F8;
}
.bg-lightgray {
    background-color: #D2D6D6;
}

.detail-container {
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}

.detail-header {
    text-align: center;
    margin-bottom: 50px;
}

.header-img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
    max-width: 180px;
    height: auto;
}

.title-ja {
    font-size: 13px;
    color: #555555;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 50px;
}

/* --- テキストエリア共通 --- */
.detail-body {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 60px;
    text-align: center;
}

.desc-main {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 2.0;
    color: #444444;
    text-align: justify;
}

.desc-sub {
    font-size: 14px;
    color: #777777;
    line-height: 2.0;
    text-align: left; 
    margin-right: auto;
    margin-left: auto;
}

.detail-image {
    text-align: center;
    margin-bottom: 60px;
}

/* --- 商品情報 & カルーセル設定 --- */
.product-block {
    margin-top: 40px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.product-block + .product-block {
    margin-top: 80px;
}

.css-carousel {
    position: relative;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: none !important;
}

.css-carousel img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    animation: fadeCarousel 8s infinite ease-in-out;
}

.css-carousel img:nth-child(1) { animation-delay: 0s; }
.css-carousel img:nth-child(2) { animation-delay: 4s; }

@keyframes fadeCarousel {
    0%, 40% { opacity: 1; }
    50%, 90% { opacity: 0; }
    100% { opacity: 1; }
}

.product-info {
    text-align: center;
}

.product-header {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}

.product-name {
    font-size: 14px;
    font-weight: 700;
    color: #333333;
}

.product-price {
    font-size: 14px;
    color: #555555;
    font-family: 'Poppins', sans-serif;
}

.btn-buy {
    display: inline-block;
    background-color: #111111 !important; 
    color: #ffffff !important;           
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;    
    padding: 4px 16px;
    border-radius: 2px;
    border: none !important;
    font-family: 'Poppins', sans-serif;
    transition: background-color 0.3s;
}

/* ホバー時の挙動 */
.btn-buy:hover {
    background-color: #555555 !important;
    color: #ffffff !important;           
}

.product-desc {
    font-size: 13px;
    color: #666666;
    line-height: 1.8;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
    text-align: left; 
}

/* --- ディテール解説ブロック --- */
.feature-block {
    margin-top: 80px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.feature-carousel {
    border: none !important;
}

.feature-title {
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    color: #333333;
    margin-bottom: 20px;
    border: none !important;
}

.feature-desc {
    font-size: 13.5px;
    line-height: 2.0;
    color: #555555;
    text-align: justify;
}

/* --- ボトムアクションボタン --- */
.bottom-actions {
    padding-bottom: 150px;
}

.actions-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.btn-action {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 300px !important;
    max-width: 100% !important;
    height: 45px !important;
    background-color: #1a1a1a !important; 
    color: #ffffff !important;          
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-decoration: none !important;    
    border: none !important;
    transition: background-color 0.3s !important;
}

/* ホバー時の挙動 */
.btn-action:hover {
    background-color: #555555 !important;
    color: #ffffff !important;           
    text-decoration: none !important;    
}


/* ==========================================================================
   4. レスポンシブスタイル
   ========================================================================== */
@media screen and (max-width: 768px) {
  .sp-br {
    display: block; 
  }
}

@media (max-width: 768px) {
    .hero-banner picture img { 
        aspect-ratio: 750 / 950; 
    }
    
    .page-description { 
        padding-top: 60px; 
        padding-bottom: 60px; 
    }
    
    .description-container p { 
        font-size: 14px; 
        line-height: 1.8; 
    }
    
    .silhouette-detail { 
        padding-top: 60px; 
        padding-bottom: 60px; 
    }
    
    .header-img { margin-bottom: 40px; }
    
    .desc-main { 
        font-size: 14px; 
        margin-bottom: 30px; 
        text-align: left; 
    }
    
    .desc-sub { font-size: 12px; }
    
    .detail-image { margin-bottom: 40px; }

    .product-block + .product-block { 
        margin-top: 60px; 
    }
    
    /* SP用：商品ヘッダー（価格とBUYを横並び） */
    .product-header {
        flex-direction: row; 
        gap: 10px 15px; 
    }
    
    .product-name {
        font-size: 13px;
        width: 100%; 
    }
    
    .product-price { font-size: 13px; }
    
    .product-desc { 
        font-size: 12px; 
        text-align: left; 
    }

    /* SP用：ディテール解説 */
    .feature-block { 
        margin-top: 60px; 
    }
    
    .feature-title { font-size: 14px; }
    
    .feature-desc { 
        font-size: 12px; 
        text-align: left; 
    }

    /* SP用：ボトムボタン */
    .bottom-actions { padding-bottom: 130px; }
    .btn-action { width: 280px; height: 40px; }
}