@charset "utf-8";
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .product-container {
            font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, sans-serif;
            line-height: 1.6;
            color: #333;
        }

        /* MV */

        .st-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .hero-section {
            /* background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 50%, #ffffff 100%); */
            padding: 40px 0;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:../../../img/usr/goods/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="%23e3f2fd" opacity="0.3"/><circle cx="80" cy="40" r="1.5" fill="%23e3f2fd" opacity="0.4"/><circle cx="40" cy="80" r="1" fill="%23e3f2fd" opacity="0.5"/></svg>') repeat;
        }

        .hero-content {
            position: relative;
            z-index: 1;
        }

        .product-image {
            width: 100%;
            max-width: 964px;
            height: auto;
            min-height: 980px;
            background: url('../../../img/usr/goods/g9253504/kv.jpg') center/cover;
            border-radius: 20px;
            margin: 0 auto;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            position: relative;
            border: 3px solid #e2e8f0;
            padding: 20px;
            background-repeat: no-repeat;
        }

        .product-overlay-text {
            text-align: center;
            background: rgba(255, 255, 255, 0.95);
            padding: 20px;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            backdrop-filter: blur(10px);
            border: 2px solid rgba(255, 255, 255, 0.8);
        }

        .overlay-title {
            font-size: 36px;
            font-weight: bold;
            color: #2c5282;
            margin-bottom: 15px;
            line-height: 1.2;
        }

        .overlay-subtitle {
            font-size: 20px;
            color: #4a5568;
            line-height: 1.3;
        }

        /* NEWポイントセクション */
        .new-points {
            padding: 80px 0;
            /* background: #ffffff; */
            background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 50%, #ffffff 100%);
        }

        .section-title {
            text-align: center;
            font-size: 36px;
            font-weight: bold;
            color: #2c5282;
            position: relative;
            line-height: 1;
            width: max-content;  /* 文字幅にフィット */
            margin: 0 auto 30px;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, #4299e1, #63b3ed);
            border-radius: 2px;
        }

        .br{
            font-size: 28px;
        }

        .section-subtitle {
            text-align: center;
            font-size: 20px;
            color: #4a5568;
            margin-bottom: 50px;
        }

        .points-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 40px;
            margin-top: 40px;
        }

        .point-card {
            background: linear-gradient(135deg, #f7fafc, #edf2f7);
            padding: 40px;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 10px 25px rgba(0,0,0,0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            border: 2px solid #e2e8f0;
        }

        .point-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.15);
        }

        .new-icon{
            color: #FFF;
            background-color: #f56500;
            padding: 5px 12px;
            border-radius: 25px;
            font-size: 18px;
            font-weight: bold;
            width: 100px;
            margin: 10px auto;
        }

        .point-img {
            font-size: 48px;
            line-height: 1;
            display: block;
        }

        .point-img img, .feature-img img {
            width: 100%;
            border-radius: 15px;
        }

        .point-title {
            font-size: 24px;
            font-weight: bold;
            color: #2d3748;
            margin-bottom: 15px;
        }

        .point-description {
            font-size: 16px;
            color: #4a5568;
            line-height: 1.6;
        }

        /* 特徴紹介セクション */
        .features {
            padding: 80px 0;
            background: white;
        }

        .features-grid {
            display: grid;
            /*grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));*/
			grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-top: 40px;
        }

        .feature-card {
            background: linear-gradient(135deg, #ffffff, #f7fafc);
            padding: 20px;
            border-radius: 15px;
            text-align: center;
            box-shadow: 0 8px 20px rgba(0,0,0,0.08);
            border: 2px solid #e2e8f0;
        }

        .feature-img {
            font-size: 40px;
            margin-bottom: 15px;
            display: block;
        }

        .feature-title {
            font-size: 18px;
            font-weight: bold;
            color: #2d3748;
            margin-bottom: 10px;
			letter-spacing: 0.05em;
			line-height: 1.3;
        }

        .feature-desc {
            font-size: 14px;
            color: #4a5568;
            line-height: 1.5;
        }

        /* カラーバリエーション - ホバーエフェクトを削除 */
        .colors {
            padding: 80px 0;
            background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
        }

        .color-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
            gap: 30px;
            margin-top: 40px;
        }

        .color-card {
            text-align: center;
            /* ホバーエフェクトを削除 */
        }

        .color-sample {
            margin-bottom: 15px;
            border-radius: 10px;
            overflow: hidden;
        }

        .color-sample img {
            width: 100%;
            height: auto;
            display: block;
        }

        .color-name {
            font-size: 18px;
            font-weight: bold;
            color: #2d3748;
        }

        /* ================================
           レスポンシブ @media (max-width: 768px)
           ================================ */
        @media (max-width: 768px) {

            .sp{
                display: block;
            }
			
			h2{
				background-color: transparent;
			}

            /* 1：MV */
			
			.hero-section{
				padding: 0;
			}
			
            .product-image {
                height: 83vw;
                padding: 10px;
                min-height: auto;
            }

            .product-overlay-text{
                padding: 0.3vw;
            }

            .overlay-title {
                font-size: 3.2vw;
                margin-bottom: 5px;
				letter-spacing: 0.05em;
            }

            .overlay-subtitle {
                font-size: 2vw;
                line-height: 1.2;
				letter-spacing: 0.03em;
            }

            /* 2：NEWポイントセクション */
            .new-points{
                padding: 30px 0;
            }

            .section-title {
                font-size: 5.3vw;	
                line-height: 1.3;
				letter-spacing: 0.03em;
            }

            .section-subtitle{
                font-size: 4.5vw;
                margin-bottom: 0;
				line-height: 1.3;
				letter-spacing: 0.03em;
            }

            .br{
                font-size: 5vw;
            }

            .points-grid {
                grid-template-columns: 1fr;
                margin-top: 20px;
            }

            .point-card{
                box-shadow: 0 5px 10px rgba(0,0,0,0.08);
                padding: 20px;
            }
			
			.point-title{
				line-height: 1.3;
			}
			
			.point-description{
				line-height: 1.4;
				letter-spacing: 0.03em;
			}

            /* 3：特徴紹介セクション */
            .features{
                padding: 30px 0;
            }

            .features-grid {
                grid-template-columns: 1fr 1fr;
                gap: 12px;
                margin-top: 25px;
            }

            .feature-card{
                padding: 12px;
            }

            .feature-title{
                font-size: 15px;
                line-height: 1.3;
				margin-top: 10px;
            }

            .feature-img{
                margin-bottom: 0;
                line-height: 1;
            }
			
			.feature-desc{
				line-height: 1.3;
				letter-spacing: 0.03em;
			}

            /* 4：カラーバリエーション */
            .colors{
                padding: 30px 0;
            }

            .color-grid {
                grid-template-columns: repeat(2, 1fr);
                margin-top: 20px;
            }

            .color-name{
                font-size: 14px;
                line-height: 1.2;
            }

            .color-sample{
                margin-bottom: 0;
            }

            /* その他（未使用のスタイル - 削除を検討） */
            .hero-title {
                font-size: 32px;
            }

            .hero-subtitle {
                font-size: 18px;
            }

            .comparison{
                padding: 30px 0 1px;
            }

            .comparison-table{
                box-shadow: 0 6px 12px rgba(0,0,0,0.1);
                font-size: 3vw;
            }

            .comparison-table td, .comparison-table th{
                padding: 1.5vw;
            }

            .table-header th{
                font-size: 3vw;
            }

            .old-model-title{
                font-size: 5vw;
            }

            .old-model-section{
                padding: 30px 0;
            }

            .click_button{
                margin: 15px auto;
            }

            .click_button a{
                padding: 10px;
            }

            .click_button a p{
                font-size: 5vw;
            }
        }