/* レスポンシブデザイン用CSS */

/* メイン画像のレスポンシブ対応 */
.main-visual {
    width: 100%;
    height: auto;
    display: block;
}

/* タブレット用スタイル (768px以下) */
@media screen and (max-width: 768px) {
    #mainbox {
        padding: 10px;
    }
    
    #gotodetail {
        float: none;
        margin: 0 auto;
        text-align: center;
    }
    
    /* 商品詳細ボックスの縦並び */
    .detailbox {
        width: 100% !important;
        max-width: 500px;
        margin: 20px auto;
        float: none !important;
    }

    .linkbox {
	    margin-top:0px;
    }
    
    /* サムネイルギャラリーの調整 */
    #sliderbox {
        flex-direction: column;
        align-items: flex-start;
    }
    
    #thumbox {
        margin: 0 10px;
        text-align: left;
        justify-content: flex-start;
    }
    
    #thumbox .thumWrap {
        margin: 5px;
    }
    
    #thumbox img {
        max-width: 100px;
    }
}

/* スマートフォン用スタイル (480px以下) */
@media screen and (max-width: 480px) {
    h3 {
        font-size: 14px;
        margin: 0 15px;
    }
    
    h4 {
        font-size: 16px;
    }
    
    
    
    /* サムネイル画像の調整 */
    #thumbox img {
        max-width: 75px;
    }
    
    #thumbox .thumWrap {
        margin: 3px;
    }
    
    /* 詳細情報の読みやすさ向上 */
    .infobox p {
        font-size: 11px;
        line-height: 1.8;
        padding: 0 10px;
    }
    
    /* ボタンのタッチフレンドリー化 */
    .linkbox img {
        min-height: 44px;
        padding: 10px 0;
    }
    
    /* 3Dボタンの改善 */
    #threedbox {
        margin-top: 20px;
        text-align: center;
    }
    
    #threedbox .thumWrap {
        display: inline-block;
        margin: 0 auto;
    }
}

/* 受付終了表示の強調 */
.linkbox img[alt="受付終了しました"] {
    opacity: 0.8;
    filter: grayscale(100%);
}

/* ホバー効果の無効化（タッチデバイス用） */
@media (hover: none) {
    #thumbox img:hover {
        transform: none;
    }
}




/* 商品情報の視認性向上 */
.detailbox {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    transition: box-shadow 0.3s ease;
}

.detailbox:hover {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* detailboxを同じ高さに揃える - デスクトップのみ */
@media screen and (min-width: 769px) {
    .detailbox h4 {
        height: 120px;
        overflow: hidden;
    }
    
    /* linkboxの余白を調整 */
    .detailbox .linkbox {
        margin-top: 0 !important;
    }
    
    /* infoboxの余白を調整 */
    .detailbox .infobox {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* 価格表示の背景のみ */
.linkbox h5 {
    background-color: #fff5f0;
    padding: 15px;
    border-radius: 6px;
    text-align: center;
    margin: 15px 0;
}



/* 商品仕様の読みやすさ向上 */
.infobox p {
    font-size: 12px;
    line-height: 1.8;
    color: #333;
    background-color: #f9f9f9;
    padding: 15px;
    border-radius: 6px;
}

.infobox p br {
    margin-bottom: 8px;
}

/* アイコンボックスの改善 */
.iconbox {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
}

.iconbox img {
    height: 40px;
    width: auto;
}


/* JavaScriptの非同期読み込み対応 */
script[src*="twitter"] {
    loading: "lazy";
}