/* rutep.css */
.product-detail {
    padding: 60px 0; /* Increased padding */
}
.product-hero {
    text-align: center;
    margin-bottom: 40px; /* Increased margin */
    background-color: #f8f8f8; /* Light background for hero */
    padding: 30px;
    border-radius: 8px;
}
.rutep-hero-image {
    max-width: 300px; /* Increased image size */
    height: auto;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Added shadow */
}
.rutep-hero-title {
    font-size: 2.5rem; /* Increased font size */
    margin-bottom: 10px;
}
.product-tagline {
    font-size: 1.3rem; /* Increased font size */
    color: #555;
    margin-bottom: 30px; /* Increased margin */
}
.product-overview,
.product-features,
.product-price {
    margin-bottom: 40px; /* Increased margin */
    padding: 20px;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.product-overview h2,
.product-features h2,
.product-price h2 {
    font-size: 1.8rem; /* Increased font size */
    margin-bottom: 20px; /* Increased margin */
}
.product-overview p,
.product-price p {
    line-height: 1.6; /* Improved line height */
    margin-bottom: 15px; /* Increased margin */
}
.product-sample-images-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 30px;
    overflow-x: auto; /* 横スクロールを有効にする */
    -webkit-overflow-scrolling: touch; /* iOSでスムーズなスクロールを有効にする */
    padding-bottom: 10px; /* スクロールバーが見えるように少しpaddingを追加 */
}
.product-sample-images {
    display: flex;
    gap: 20px; /* 画像間のスペース */
    flex-wrap: nowrap; /* 折り返さない */
    max-width: none; /* 最大幅を制限しない */
    width: auto; /* 幅を自動調整 */
    padding: 0 10px; /* 左右に少しpaddingを追加 */
}
.sample-image-container {
    flex: 0 0 auto; /* 画像のサイズを固定 */
    width: 40%; /* 画像の幅を調整 */
    max-width: 400px; /* 画像の最大幅を調整 */
}
.sample-image {
    width: 100%;
    height: auto;
}
.product-features ul {
    list-style: disc;
    margin-left: 40px;
}
.product-features li {
    margin-bottom: 15px; /* Increased margin */
    line-height: 1.6;
}
.product-cta {
    text-align: center;
    margin-top: 30px;
}
@media (max-width: 768px) {
    .product-sample-images {
        gap: 10px;
    }
    .sample-image-container {
        width: 80%;
    }
}