@charset "UTF-8";

/* ----------------------------------------------------------------
    商品ページ用CSS
---------------------------------------------------------------- */

/* ========================================
    見出しスタイル
========================================= */
.el_heading3 + .el_heading4 {
    margin-top: var(--space-size-24);
}

.el_heading5 {
    font-size: var(--font-size-16);
    margin-top: var(--space-size-32);
}

@media print, screen and (min-width: 768px) {
    .el_heading3 + .el_heading4 {
        margin-top: var(--space-size-32);
    }
    .el_heading5 {
        font-size: var(--font-size-20);
    }
}
/* ========================================
    商品説明セクション
========================================= */
.productDescription {
    padding: var(--space-size-32) 0 0;
}

.productDescription_title {
    font-size: var(--font-size-20);
    font-weight: var(--font-weight-700);
    line-height: var(--line-height-180);
    color: var(--color-brand-kayakublack);
    margin: 0 0 var(--space-size-24) 0;
}

.productDescription_content {
    display: block;
}

.productDescription_text {
    margin-bottom: var(--space-size-24);
}

.productDescription_text p {
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    margin: 0 0 var(--space-size-16) 0;
}

.productDescription_text p:last-child {
    margin-bottom: 0;
}

.productDescription_image {
    width: 100%;
}

.productDescription_image img {
    width: 100%;
    height: auto;
}

@media print, screen and (min-width: 768px) {
    .el_heading5 {
        margin-top: var(--space-size-48);
    }

    .productDescription {
        padding: var(--space-size-64) 0 0;
    }

    .productDescription_title {
        font-size: var(--font-size-32);
        margin-bottom: var(--space-size-48);
    }

    .productDescription_content {
        display: flex;
        gap: 40px;
        align-items: flex-start;
    }

    .productDescription_text {
        flex: 1;
        margin-bottom: 0;
    }

    .productDescription_text p {
        font-size: var(--font-size-16);
    }

    .productDescription_image {
        flex: 1;
        height: 240px;
    }
}

/* ========================================
    製品詳細セクション
========================================= */
.productDetail {
    padding: var(--space-size-56) 0;
}

.productDetail_section {
    margin-top: var(--space-size-56);
}

.productDetail_section:first-of-type {
    margin-top: var(--space-size-40);
}

.productDetail_contact {
    margin-top: var(--space-size-56);
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .productDetail {
        padding: var(--space-size-104) 0;
    }

    .productDetail_section {
        margin-top: var(--space-size-80);
    }

    .productDetail_section:first-of-type {
        margin-top: var(--space-size-56);
    }
}

/* ========================================
    特長リスト
========================================= */
.featureList {
    list-style: none;
    padding: 0;
    margin: var(--space-size-24) 0;
}

.featureList_item {
    display: flex;
    gap: 4px;
    align-items: flex-start;
    margin-bottom: var(--space-size-8);
}

.featureList_item:last-child {
    margin-bottom: 0;
}

.featureList_bullet {
    color: var(--color-brand-kayakublue);
    font-size: var(--font-size-14);
    line-height: var(--line-height-160);
    flex-shrink: 0;
}

.featureList_text {
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    flex: 1;
}

.productDetail_section > p {
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    margin: var(--space-size-24) 0;
}

@media print, screen and (min-width: 768px) {
    .featureList {
        margin: var(--space-size-32) 0;
    }

    .featureList_bullet {
        font-size: var(--font-size-16);
    }

    .featureList_text {
        font-size: var(--font-size-16);
    }

    .productDetail_section > p {
        font-size: var(--font-size-16);
        margin: var(--space-size-32) 0;
    }
}

/* ========================================
    製品フォーマット
========================================= */
.productFormat {
    margin-top: var(--space-size-40);
}

.productFormat_content {
    margin-top: var(--space-size-24);
}

.productFormat_item {
    margin-top: var(--space-size-24);
}

.productFormat_item:first-child {
    margin-top: 0;
}

@media print, screen and (min-width: 768px) {
    .productFormat {
        margin-top: var(--space-size-56);
    }

    .productFormat_content {
        display: flex;
        gap: var(--space-size-56);
        margin-top: var(--space-size-32);
    }

    .productFormat_item {
        margin-top: 0;
    }

    .productFormat_item:first-child {
        flex-shrink: 0;
    }

    .productFormat_item:last-child {
        flex: 1;
    }
}

/* ========================================
    フィルム構成
========================================= */
.filmStructure_image {
    margin-top: var(--space-size-16);
    text-align: center;
}

.filmStructure_image img {
    max-width: 286px;
    height: auto;
}

@media print, screen and (min-width: 768px) {
    .filmStructure_image {
        margin-top: var(--space-size-32);
    }
}

/* ========================================
    外観
========================================= */
.productAppearance_image {
    margin-top: var(--space-size-16);
}

.productAppearance_image img {
    width: 100%;
    height: auto;
}

.productAppearance_caption {
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    margin: var(--space-size-8) 0 0 0;
}

@media print, screen and (min-width: 768px) {
    .productAppearance_image {
        margin-top: var(--space-size-32);
    }

    .productAppearance_image img {
        width: 480px;
        height: 240px;
    }
}

/* ========================================
    製品仕様表
========================================= */
.productSpec {
    margin-top: var(--space-size-40);
}

.productSpec_scrollHint {
    margin-top: var(--space-size-16);
    font-size: var(--font-size-16);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
}

.productSpec_scrollHint img {
    width: 31px;
    height: 24px;
    vertical-align: middle;
    margin-right: 4px;
}

.productSpec_tableWrapper {
    margin-top: var(--space-size-16);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.productSpec_table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
}

.productSpec_th {
    background-color: var(--color-neutral-white);
    border: 1px solid var(--color-brand-kayakugray);
    padding: var(--space-size-8);
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    text-align: center;
    height: 40px;
    vertical-align: middle;
}

.productSpec_th__header {
    background-color: var(--color-brand-kayakublue);
    color: var(--color-neutral-white);
    font-weight: var(--font-weight-700);
    height: 34px;
}

.productSpec_table thead tr th:first-child {
    background-color: var(--color-brand-kayakublue);
    width: 200px;
}

.productSpec_table tbody tr th {
    width: 200px;
}

.productSpec_td {
    background-color: var(--color-neutral-white);
    border: 1px solid var(--color-brand-kayakugray);
    padding: var(--space-size-8);
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    text-align: center;
    height: 40px;
    vertical-align: middle;
}

/* 物性・特性用の表 */
.productSpec_table__properties {
    min-width: 800px;
}

.productSpec_table__properties thead tr th:nth-child(1) {
    width: 400px;
}

.productSpec_table__properties thead tr th:nth-child(2) {
    width: 200px;
}

.productSpec_table__properties thead tr th:nth-child(3) {
    width: 200px;
}

.productSpec_table__properties tbody tr th {
    width: 400px;
    text-align: center;
}

.productSpec_table__properties tbody tr td:nth-child(2) {
    width: 200px;
}

.productSpec_table__properties tbody tr td:nth-child(3) {
    width: 200px;
}


/* 断面写真グリッドレイアウト */
.productCharacteristics_crossSectionGrid {
    display: flex;
    flex-direction: column;
    gap: var(--space-size-24);
    margin-top: var(--space-size-24);
}

.productCharacteristics_crossSectionItem {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: calc(50% - var(--space-size-20));
}

@media print, screen and (min-width: 768px) {
    .productSpec {
        margin-top: var(--space-size-56);
    }

    .productSpec_tableWrapper {
        margin-top: var(--space-size-32);
        overflow-x: visible;
    }

    .productSpec_table {
        min-width: 0;
        width: 600px;
    }

    .productSpec_table tbody tr th {
        width: 200px;
    }

    .productSpec_table tbody tr td {
        width: 400px;
    }

    /* 物性・特性用の表（PC版） */
    .productSpec_table__properties {
        width: 800px;
    }

    .productSpec_table__properties thead tr th:nth-child(1) {
        width: 400px;
    }

    .productSpec_table__properties thead tr th:nth-child(2) {
        width: 200px;
    }

    .productSpec_table__properties thead tr th:nth-child(3) {
        width: 200px;
    }

    .productSpec_table__properties tbody tr th {
        width: 400px;
        padding-left: var(--space-size-16);
    }

    .productSpec_table__properties tbody tr td:nth-child(2) {
        width: 200px;
    }

    .productSpec_table__properties tbody tr td:nth-child(3) {
        width: 200px;
    }
}

/* ========================================
    製品特性
========================================= */
.productCharacteristics {
    margin-top: var(--space-size-40);
}

.productCharacteristics_item {
    margin-top: var(--space-size-32);
}

.productCharacteristics_item:first-of-type {
    margin-top: var(--space-size-24);
}

.productCharacteristics_item h4 {
    margin-bottom: var(--space-size-24);
}

.productCharacteristics_item > p:not(.productSpec_scrollHint) {
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-400);
    line-height: var(--line-height-160);
    color: var(--color-brand-kayakublack);
    margin-top: var(--space-size-24);
}

.productCharacteristics_image {
    margin-top: var(--space-size-24);
}

.productCharacteristics_image img {
    width: 100%;
    height: auto;
}

.productCharacteristics_wideImage {
    width: 100%;
    margin-top: var(--space-size-24);
}

.productCharacteristics_wideImage img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.productCharacteristics_wideImage.wideImage__02 {
    text-align: center;
}
.productCharacteristics_wideImage.wideImage__02 img {
    width: 240px;
}

.productCharacteristics_wideImage.wideImage__02 img + img {
    margin-top: var(--space-size-24);
}

@media print, screen and (min-width: 768px) {
    .productCharacteristics {
        margin-top: var(--space-size-64);
    }

    .productCharacteristics_item {
        margin-top: var(--space-size-64);
    }

    .productCharacteristics_item:first-of-type {
        margin-top: var(--space-size-32);
    }

    .productCharacteristics_item h4 {
        margin-bottom: var(--space-size-32);
    }

    .productCharacteristics_item > p:not(.productSpec_scrollHint) {
        font-size: var(--font-size-16);
        margin-top: var(--space-size-32);
    }

    .productCharacteristics_image {
        margin-top: var(--space-size-32);
    }

    .productCharacteristics_image img {
        width: 370px;
        max-width: 100%;
        height: auto;
    }
    
    .productCharacteristics_wideImage {
        margin-top: var(--space-size-32);
    }
    .productCharacteristics_wideImage img {
        width: 664px;
        max-width: 100%;
        height: auto;
    }
    .productCharacteristics_wideImage.wideImage__02 {
        text-align: left;
    }
    .productCharacteristics_wideImage.wideImage__02 img {
        width: 240px;
    }
    .productCharacteristics_wideImage.wideImage__03 img {
        width: 580px;
    }
    .productCharacteristics_wideImage.wideImage__04 img {
        width: 725px;
    }
    .productCharacteristics_wideImage.wideImage__05 img {
        width: 100%;
    }
    .productCharacteristics_wideImage.wideImage__06 img {
        width: 788px;
    }
    .productCharacteristics_wideImage.wideImage__02 img + img {
        margin-left: var(--space-size-32);
        margin-top: 0;
    }

    /* 断面写真グリッドレイアウト */
    .productCharacteristics_crossSectionGrid {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        gap: var(--space-size-40);
        margin-top: var(--space-size-32);
    }

    .productCharacteristics_crossSectionItem {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: calc(50% - var(--space-size-20));
    }

    .productCharacteristics_crossSectionTitle {
        font-size: var(--font-size-16);
        font-weight: var(--font-weight-500);
        line-height: var(--line-height-160);
        color: var(--color-brand-kayakublack);
        margin: 0;
    }

    .productCharacteristics_crossSectionImage {
        width: 100%;
        height: 180px;
        overflow: hidden;
    }
    
    .productCharacteristics_crossSectionImage img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
