/* ==========================================
   1. 基本設定（共通インナー幅）
   ========================================== */
.inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

/* フォント指定：明朝体で統一 */
.sub-mv__title, .common-title, .doctor-profile__text, .clinic-spec-table, .policy-h3-design, .schedule-grid, .breadcrumb {
    font-family: "Noto Serif JP", serif;
}

/* --- 下層共通メインビジュアル --- */
.sub-mv {
    width: 100%;
    height: 180px; /* スマホ高さ */
    background: url('https://hata-shika.com/wp-content/uploads/2026/05/bg.png') no-repeat center 70% / cover;
    background-color: #556b2f;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.sub-mv::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4);
}
.sub-mv__title {
    position: relative;
    color: #fff;
    font-size: 1.5rem;
    margin: 0;
    line-height: 1.4;
    z-index: 1;
}

/* --- 共通パンくず（よくある質問と完全同期） --- */
.breadcrumb { 
    padding: 10px 0; 
    font-size: 0.75rem; 
}
.breadcrumb ol { 
    display: flex; 
    flex-wrap: wrap; 
    list-style: none; 
    margin: 0; 
    padding: 0; 
}
.breadcrumb li + li::before { 
    content: ">"; 
    margin: 0 8px; 
    color: #ccc; 
}
.breadcrumb a { 
    color: #556b2f; 
    text-decoration: none; 
}

/* --- 共通h2（よくある質問と完全同期） --- */
.common-title {
    background-color: #556b2f;
    color: #fff;
    text-align: center;
    padding: 12px 10px;
    font-size: 1.3rem;
    margin-bottom: 25px; /* ここでパンくずとの間隔を確保 */
}

/* ==========================================
   医院案内 専用レイアウト
   ========================================== */
.about-policy, .about-basic-info {
    padding: 30px 15px 60px; /* スマホ用 */
}

/* スマホ：縦並び */
.doctor-profile, .basic-info-layout {
    display: flex;
    flex-direction: column; 
    gap: 20px;
    margin-bottom: 35px;
}
.doctor-profile__img, .basic-info-img {
    width: 100%;
}
.doctor-profile__img img, .basic-info-img img {
    width: 100%;
    height: auto;
    display: block;
}

.doctor-profile__text p {
    line-height: 1.8;
    font-size: 0.95rem;
    margin-bottom: 1.2em;
    color: #333;
    text-align: justify;
}

/* 基本情報テーブル（略歴スタイル） */
.clinic-spec-table {
    width: 100%;
    border-collapse: collapse;
	letter-spacing: 0.08em;
}
.clinic-spec-table th {
    background-color: #f5f5f0;
    color: #556b2f;
    font-weight: bold;
    font-size: 0.85rem;
    padding: 15px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
.clinic-spec-table td {
    padding: 15px;
    border-bottom: 1px solid #ddd;
    font-size: 0.95rem;
    line-height: 1.6;
	color: #444;
}

/* 診療時間 見出し */
.policy-h3-design {
    font-size: 1.2rem;
    color: #556b2f;
    margin-bottom: 15px;
    border-left: 4px solid #556b2f;
    padding-left: 10px;
    margin-top: 40px;
}

/* 診療時間表 */
.schedule-grid {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
    background: #fff;
}
.schedule-grid th {
    background: #556b2f;
    color: #fff;
    padding: 10px;
    border: 1px solid #ddd;
    font-weight: normal;
}
.schedule-grid td {
    padding: 15px 5px;
    border: 1px solid #ddd;
    text-align: center;
		color: #444;
}

.schedule-remarks p{
	font-family:"Noto sans serif",serif;
	letter-spacing: 0.1em;
		color: #444;
}

/* ==========================================
   2. PC版設定（769px以上）
   ========================================== */
@media (min-width: 769px) {
    .sub-mv { height: 300px; } 
    .sub-mv__title { font-size: 2.2rem; }
    
    /* パンくず位置：よくある質問と完全同期 */
    .breadcrumb { 
        padding: 10px 0; 
    }
    
    /* コンテンツ余白：よくある質問の faq-content と同期 */
    .about-policy, .about-basic-info { 
        padding: 60px 0 100px; 
    }

    /* h2見出し：よくある質問と完全同期 */
    .common-title { 
        font-size: 1.8rem; 
        padding: 15px; 
        margin-bottom: 50px; /* PC版の大きな余白 */
    }

    /* PC：横並び（画像320px固定） */
    .doctor-profile, .basic-info-layout {
        flex-direction: row;
        gap: 50px;
        align-items: flex-start;
    }
    .doctor-profile__img, .basic-info-img {
        flex: 0 0 320px;
    }
    .doctor-profile__info, .basic-info-table {
        flex: 1;
    }
}