/* 院長挨拶：テキストと画像の横並び */
#doctor-greeting.flex-box {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

#doctor-greeting .greeting-text {
    flex: 1;
    min-width: 250px;
}

#doctor-greeting .greeting-image img {
    max-width: 200px;
    height: auto;
    border-radius: 8px;
}

/* 院長プロフィール：2カラムレイアウト */
.profile-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.profile-columns div {
    background: var(--secondary-color);
    padding: 1rem;
    /* border-left: 4px solid var(--primary-color); */
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.profile-columns ul {
    padding-left: 1.2rem;
    list-style-type: disc;
}

/* 医院概要：テキストとロゴの横並び */
#clinic-info.clinic-info-flex {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

#clinic-info .clinic-info-text {
    flex: 2;
    min-width: 300px;
}



.clinic-logo {
    text-align: center;
}

.clinic-logo img {
    max-width: 160px;
    height: auto;
}

.logo-caption {
    font-size: 0.9rem;
    color: #666;
    margin-top: 0.5rem;
}

/* 院内の様子：画像ギャラリー */
#clinic-facility .gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

#clinic-facility .gallery img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
}

/* 共通スタイル調整 */
main h2 {
    border-left: 4px solid var(--primary-color);
    padding-left: 0.5rem;
    color: var(--heading-color);
    margin-top: 2rem;
}