/* ===== 基本設定 ===== */
body {
    font-family: 'Gothic', sans-serif;
    line-height: 1.7;
    color: #555;
    background-color: #fff;
    margin: 0;
    padding: 0;
}

/* リンク */
a { text-decoration: none; color: #97C5BC; }
a:hover { color: #6ea89d; }

/* ===== コンセプト詳細セクション ===== */
.concept-detail-section {
    background-color: #f2f2f2;
    padding: 2rem 0;
    border-bottom: 1px solid #ddd;
}

.concept-detail-section:last-child {
    border-bottom: none;
}

.concept-detail-inner {
    max-width: 1200px;
    margin: 0 auto 1rem auto;
    padding: 0 2rem;
}

/* タイトル */
.concept-detail-title,
.section-title {
    font-family: 'Times New Roman', serif;
    font-size: 1.32em;
    font-weight: normal;
    color: #333;
    text-align: center;
}

.concept-detail-title {
    margin: 0 0 1.5rem 0;
}

.section-title {
    margin: 0 auto 70px auto;
    position: relative;
}

.section-title::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 60px;
    background: #97c5bc;
}

/* 冒頭文 */
.concept-intro {
    font-size: 0.94em;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1rem; /* 元2rem → 1remに短縮 */
}

/* コンテンツ */
.concept-detail-content {
    display: flex;
    gap: 2rem;
    margin-bottom: 2.5rem;
    align-items: flex-start;
    background-color: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.concept-detail-content.reverse {
    flex-direction: row-reverse;
}

/* テキスト部分 */
.concept-text {
    flex: 1;
    font-size: 0.94em;
    line-height: 1.6;
    color: #555;
    margin-bottom: 0.5rem;
}

.concept-text h3 {
    font-family: 'Times New Roman', serif;
    font-size: 1.32em;
    font-weight: normal;
    margin-bottom: 0.3rem;
}

.concept-text p {
    margin-bottom: 0.3rem;
}

/* 冒頭文下の画像 */
.concept-intro-image {
    margin: 0.3rem 0; /* 元0.5rem → 0.3remに短縮 */
    text-align: center;
}

.concept-intro-image img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    margin: 0 auto;
}

/* ===== 素材グリッド ===== */
.material-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0; /* 上余白削除 */
    margin-bottom: 1.5rem; /* 元2rem → 1.5rem */
}

/* 各素材カード（PC共通） */
.material-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.5rem;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    width: 100%;
    max-width: 800px; 
    margin: 0 0 0.8rem 0; /* 元1rem → 0.8rem */
    box-sizing: border-box;
}

/* 画像 */
.material-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 6px;
    margin: 0;           
    padding: 0 0.5rem;  
    box-sizing: border-box;
}

/* タイトル */
.material-title {
    font-family: 'Times New Roman', serif;
    font-size: 1.32em;
    font-weight: normal;
    color: #333;
    margin-bottom: 0.2rem;
}

/* 説明文 */
.material-card p {
    font-size: 0.94em;
    line-height: 1.6;
    color: #555;
    margin: 0;
}

/* ===== レスポンシブ全体 ===== */
@media (max-width: 768px) {

    /* concept-detail-inner を画面幅いっぱいに */
    .concept-detail-inner {
        max-width: 100%;
        padding: 0 0.5rem;
        margin: 0 auto;
    }

    /* セクション余白 */
    .concept-detail-section {
        padding: 1rem 0;
    }

    /* タイトル */
    .section-title { font-size: 1.2em; margin-bottom: 50px; }
    .section-title::after { height: 40px; }
    .concept-text h3 { font-size: 1.2em; margin-bottom: 0.2rem; }

    /* テキスト間隔 */
    .concept-text { font-size: 0.94em; line-height: 1.6; margin-bottom: 0.5rem; }
    .concept-text p { margin-bottom: 0.2rem; }

    /* ulリスト間隔 */
    .concept-text ul { padding-left: 1.2rem; margin-bottom: 0.5rem; }
    .concept-text li { margin-bottom: 0.2rem; }

    /* 冒頭文下の画像 */
    .concept-intro-image { margin: 0.2rem 0; }
    .concept-intro-image img { width: 100%; height: auto; display: block; }

    /* コンテンツ縦並び */
    .concept-detail-content,
    .concept-detail-content.reverse { flex-direction: column; gap: 1rem; }

    /* 素材カード幅調整 */
    .material-card {
        width: 100%;
        max-width: none;
        margin: 0 0 0.6rem 0;
        padding: 0.5rem;
        box-sizing: border-box;
    }
    .material-image img { width: 100%; height: auto; padding: 0 0.5rem; }

    .material-title, .material-card p { width: 100%; box-sizing: border-box; }
    .material-title { margin-bottom: 0.3rem; }
    .material-card p { margin: 0; line-height: 1.6; }
}
