/* common.css - 全ページ共通スタイルシート */
/* 依存ファイル: なし */
/* 呼び出し元: 全公開ページ（home.php, about.php, staff.php, reserve.php, cure.php 等） */
/* 呼び出し先: なし */
/* ※ main.css の後、各ページ固有CSSの前に読み込むこと */

/* ================================================
   レイアウト共通
   ================================================ */

.clr,
.clearfix::after {
    clear: both;
}

.clearfix::after {
    content: "";
    display: table;
}

/* ================================================
   全幅セクション（home.php, cure.php 共通）
   ================================================ */

.fullwidth-section {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.fullwidth-section img {
    width: 100%;
    height: auto;
    display: block;
}

/* ================================================
   セクション共通（DBレンダリング）
   ================================================ */

.section-text,
.section-image-text {
    margin-bottom: 30px;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
}

.section-image {
    margin-bottom: 30px;
}

.section-image img {
    width: 100%;
    height: auto;
    display: block;
}

.section-image-text {
    margin-bottom: 30px;
}

.section-image-text h2 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: #333;
}

.section-image-text p {
    margin-bottom: 15px;
    line-height: 1.6;
}

/* ================================================
   リンクボタン共通
   ================================================ */
a.link_button,
.link_button {
    display: block;
    padding: 10px 20px;
    background-color: #196519;
    color: white !important;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s;
    text-align: center !important;
}
a.link_button:hover,
.link_button:hover {
    background-color: #0f4510;
    color: white !important;
}
.link_button_top {
    margin-top: 15px;
}
.link_button_sub {
    margin-top: 20px;
    margin-bottom: 15px;
}

/* ================================================
   医院紹介レイアウト共通
   （about.php, home.php, reserve.php, cure.php）
   ================================================ */

.articleleft_aboutus {
    margin-bottom: 30px;
    overflow: hidden;
}

.aboutus_img {
    float: left;
    width: 200px;
    margin-right: 20px;
    margin-bottom: 20px;
}

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

.aboutus_runninghead {
    background-color: #196519;
    color: white;
    padding: 10px;
    text-align: center;
    margin-bottom: 10px;
    border-radius: 5px;
}

.aboutus_runninghead h3,
.aboutus_runninghead h4,
h3.aboutus_runninghead,
h4.aboutus_runninghead {
    color: white !important;
    margin: 0 !important;
    font-size: 1.0rem !important;
    line-height: 1.4 !important;
    font-weight: normal !important;
    text-align: center !important;
}

.articleleft_aboutus_article {
    overflow: hidden;
}

.articleleft_aboutus_article h2 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: #333;
}

.articleleft_aboutus_article h3 {
    font-size: 1.2rem;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #196519;
}

.articleleft_aboutus_article p {
    margin-bottom: 15px;
    line-height: 1.6;
}

/* ================================================
   お知らせエリア共通（#news）
   ================================================ */

#news {
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 20px;
}

#news pre,
#news ul,
#news li,
#news h3 {
    margin: 0;
    padding: 0;
}

#news li {
    list-style: none;
}

#news pre {
    font-size: 16px;
    font-weight: 100;
    padding: 5px 2px;
    white-space: pre-wrap;
    min-height: 130px;
}

#news .time {
    background: #69b076;
    color: #f7f7f7;
    width: 100%;
    padding: 5px 0;
    text-align: center;
    text-decoration: none;
}

#news time {
    display: block;
    color: #6c757d;
    font-size: 0.9rem;
    margin-bottom: 10px;
}

#news h4 {
    font-size: 1.1rem;
    margin-bottom: 10px;
}

#news p {
    margin-bottom: 15px;
}

#news img {
    max-width: 100%;
    height: auto;
}

/* ================================================
   テーブル共通（#art_about_us, #art_about_tel等）
   ================================================ */

#art_about_tel table,
#art_about_us table,
#art_about table,
#cure_flow table {
    border-collapse: collapse;
    width: 100%;
}

#art_about_tel th,
#art_about_us th,
#art_about th,
#cure_flow th {
    text-align: left;
    padding: 10px;
    font-weight: normal;
}

#art_about_tel th.t_top,
#art_about_us th.t_top,
#art_about th.t_top,
#cure_flow th.t_top {
    border-top: #196519 4px solid;
    vertical-align: top;
}

#art_about_tel td,
#art_about_us td,
#art_about td,
#cure_flow td {
    text-align: left;
    padding: 10px;
}

#art_about_tel td.t_top,
#art_about_us td.t_top,
#art_about td.t_top,
#cure_flow td.t_top {
    border-top: #b3b3b3 4px solid;
}

#art_about_us a {
    color: #196519;
}

/* テーブルセルユーティリティ */
.tblB4 {
    padding-left: 0 !important;
}

.tblC {
    font-weight: bold;
}

.tbl_cap_about {
    text-align: left;
    font-size: 20px;
    padding: 5px 10px;
}

.tbl_cpt {
    border: solid 1px #359535;
    text-align: center;
    margin: 5px auto;
    font-weight: bold;
    font-size: 20px;
    color: #666;
}

/* ================================================
   ページタイトルh1：控えめな区切りライン風
   Bootstrap (reboot.scss, rfs.scss) を上書きするため !important を使用
   ================================================ */

h1.page-title-subtle {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #999 !important;
    letter-spacing: 0.1em;
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.5rem !important;
    line-height: 1.5 !important;
}

h1.page-title-subtle::after {
    content: '';
    flex: 1;
    height: 1px;
    background-color: #ddd;
}

/* ================================================
   テキストユーティリティ
   ================================================ */

.text_right {
    text-align: right;
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 8px;
    margin-bottom: 20px;
}

/* ================================================
   レスポンシブ共通
   ================================================ */

@media (max-width: 768px) {
    .aboutus_img {
        float: none;
        width: 100%;
        margin-right: 0;
    }

    .articleleft_aboutus {
        flex-direction: column;
    }
}
