/* ============================================================
   Sentence & Article Blocks (#sentences0-5)
   ============================================================ */
.post_content dt { font-weight: 400; font-size: 1.2rem; color: #000; margin: 1.5rem 0 .4rem 0;}
.post_content dt:first-child { margin-top: 0; }

/* sentences0: Dotted border title */
#sentences0 dt { font-size: 1.3srem;; margin: 0.5em 0; padding-bottom: 0.1em; border-bottom: dotted 1px #999; letter-spacing: .1em; }
#sentences0 dd { line-height: 1.7em; padding: 0; margin: .2em .2em 1em .2em; }

#sentences dl {width: auto;}
#sentences dt {color: #14392f;font-weight: 500;margin-top: 25px;margin-bottom: 12px;border-left-width: 12px;border-left-style: solid;border-left-color: #e6eae3;padding-bottom: 2px;padding-left: 12px;padding-top: 2px;display: inline-block;}
#sentences dd { line-height: 1.7em;border-bottom-width: 1px;margin-top: 5px;margin-bottom: 10px;margin-left: 18px;padding-right: 0px;padding-left: 6px;padding-bottom: 3px;border: none;line-height: 1.7em;}

/* sentences1: Icon title */
#sentences1 dt { font-size: 1.3rem; letter-spacing: .05em; font-weight: 500; margin: 2.5rem 0 0.6rem 0; padding: 0 0 0 2rem; background: url(/wp-content/uploads/css-img/icon_01.png) no-repeat center left / 25px auto;}
#sentences1 dt:first-child { margin-top: 0; }
#sentences1 dd { font-size: line-height: 1.7em; margin: 0 0 .5rem 0; }

/* sentences2: Vertical border title */
#sentences2 dt { font-size: 1.3rem; letter-spacing: .05em; font-weight: 500; margin: 1.5rem 0 0.2rem 0; padding: 0 0 0 2rem; background: url(/wp-content/uploads/css-img/icon_10.png) no-repeat left 60% / 19px auto;
}
 #sentences2 dt:first-child { margin-top: 0; }
#sentences2 dd { line-height: 1.7em; margin: 0 0 .5rem 0; padding-left: 2em; }

/* sentences3 & 4: Badge style titles */
#sentences3 dt, #sentences4 dt { border-radius: 2px; color: #fff; display: inline-block; text-align: center; margin: 1.5625rem 0 0.75rem 0;}
#sentences3 dt { padding: 1.2px 10px; background: #788994; font-size: .9rem; letter-spacing: 0.1rem; margin: 1rem 0 0.3rem 0;font-weight: 600;}
 #sentences3 dt:first-child { margin-top: 0; }
#sentences4 dt { padding: 0.4em 1em 0.2em 1.5em; background: #d2a392; font-size: 1.05rem; letter-spacing: .1em; }
 #sentences4 dt:first-child { margin-top: 0; }
#sentences3 dd, #sentences4 dd { color: #333; font-size: 1rem; line-height: 1.6em; margin: 0 0 .5rem 0; }
/* dtが空のときは非表示 */
#sentences3 dt:empty, #sentences4 dt:empty {
  display: none;
}


/* sentences5: Boxed header and content */
#sentences5 dl { margin: 0; padding: .5em; }
#sentences5 dt { margin: 0; padding: 0.4em 1.4em; background-color: #dde4e5; letter-spacing: 0.1em; font-size: 1.2rem; }
 #sentences5 dt:first-child { margin-top: 0; }
#sentences5 dd { margin: .5em 0 1.5em 0; padding: 0.4em 1.2em; border-left: 1px solid #ccc; font-size: 1em; clear: both; }
#sentences5 dd.noline, #sentences5 dd.noline-red { border-left: none; padding-left: 0; font-size: .8em; margin-bottom: 0.5em; }
#sentences5 dd.noline-red { color: #900; }

/* ============================================================
   Specific Functional Lists (tensen, setsumei)
   ============================================================ */

/* tensen: Dotted leader style */
#tensen dt { clear: left; float: left; width: 9.0625rem; font-weight: 600; color: #ff9933; }
#tensen dd { margin: 0 0 0.9375rem 11.5625rem; position: relative; }
#tensen dd:before { content: ' ……'; position: absolute; margin-left: -2.5em; width: 1.2rem; }

/* setsumei: Diamond bullet style */
#setsumei dt { width: 5.3125rem; float: left; padding: 3px 5px 0 0; box-sizing: border-box; }
#setsumei dt:before { content: '◇ '; }
#setsumei dd { padding: 3px 5px; margin-left: 6.5625rem; text-indent: -2em; padding-left: 2em; box-sizing: border-box; }
#setsumei dd:before { content: '… '; }
#setsumei dd:after { content: ''; display: block; clear: both; }

/* ============================================================
   Schedule Extensions (time-t, time-s)
   ============================================================ */

#hd_co .time-t dt, #hd_co .time-s dt, #sentences2 .time-t dt, #sentences2 .time-s dt { clear: unset; float: left; font-weight: 400; text-align: right; margin-right: 0.9375rem; }

#hd_co .time-t dt { width: 8.75rem; font-size: 95%; }
#hd_co .time-t dd { margin: 0 0 7px 9.6875rem; font-size: 95%; line-height: 1.7em; }
#hd_co .time-s dt { width: 4.0625rem; font-size: 1rem; }
#hd_co .time-s dd { margin: 0 0 7px 5rem; font-size: .9rem; line-height: 1.7em; }

#sentences2 .time-t dt { width: 8.4375rem; font-size: 1rem; }
#sentences2 .time-t dd { margin: 0 0 7px 9.375rem; line-height: 1.7em; }
#sentences2 .time-s dt { width: 3.75rem; font-size: 14px; border: none; margin: 0; }
#sentences2 .time-s dd { margin: 0 0 7px 4.6875rem; font-size: 100%; line-height: 1.7em; }

/* スケジュール系の疑似要素解除 */
#hd_co .time-t dd:before, #hd_co .time-s dd:before, #sentences2 .time-t dd:before, #sentences2 .time-s dd:before { display: none; }

#table_t dl {background: #f8f8f8;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;border-left: 1px solid #ccc;box-sizing: border-box;}
#table_t dt {font-size: 1rem;color: #562929;width: 23%;float: left;padding: 10px 10px 0px 10px;border-top: 1px solid #ccc;box-sizing: border-box;margin: unset;}
#table_t dd {background: #fff;color: #555;margin-left: 23%;border-left: 1px solid #ccc;padding: 10px 10px 10px 10px;border-top: 1px solid #ccc;margin-bottom: 0em;box-sizing: border-box;}
#table_t dd:after {content: '';display: block;clear: both;}

#syohin {display: flex;}
#syohin dl {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;border-left: 1px solid #ddd;box-sizing: border-box;}
#syohin dt {font-size: 1rem;width: 100px;float: left;padding: 10px 10px 0px 10px;border-top: 1px solid #ddd;box-sizing: border-box;margin: 0;}
#syohin dd {margin-left: 100px;border-left: 1px solid #ddd;padding: 10px 10px 10px 10px;border-top: 1px solid #ddd;margin-bottom: 0em;box-sizing: border-box;}
#syohin dd:after {content: '';display: block;clear: both;}

/* ============================================================
   Common Lists (kome, daia, arrow, marusuji)
   ============================================================ */

/* Schedule & Company Info (DL/DT) */
#hd_co dt, #office dt, #staff dt { clear: left; float: left; text-align: justify; margin: 0; }

#hd_co dt { font-size: 1.1rem; width: 6rem; color: #744d4d; line-height: 1.7; }
#hd_co dd { margin: 0 0 0.5rem 6.6rem; padding-bottom: 0.5rem; line-height: 1.7rem; }
#hd_co dd:before { content: '  …    '; position: absolute; margin-left: -1.6rem; }

/* 文字数によるレタースペーシング調整 (hd_co & office) */
#hd_co .l2 { letter-spacing: 1.9rem; }
#hd_co .l3 { letter-spacing: 0.5rem; }
#hd_co .l4 { letter-spacing: 0; }
#hd_co .l5, #hd_co .l-etc { transform-origin: left bottom; }
#hd_co .l5 { transform: scale(0.8, 1); }
#hd_co .l-etc { transform: scale(0.82, 1); letter-spacing: -0.05rem; }

#office dt { font-weight: 700; font-size: 1rem; }
#office dd { margin: 0 0 1.25rem 7.625rem; }
#office dd:before { content: ' … '; position: absolute; display: block; margin-left: -1.8rem; width: 1.2rem; }
#office .l2 { letter-spacing: 2.82rem; }
#office .l3 { letter-spacing: 0.95rem; }
#office .l4 { letter-spacing: 0.32rem; }
#office .l5 { letter-spacing: 0; }
#office .l6 { transform: scale(0.84, 1); transform-origin: left bottom; }
#office .l7 { transform: scale(0.72, 1); transform-origin: left bottom; }

#staff dt { font-size: 1rem; width: 4.6875rem; color: #000; }
#staff dd { margin: 0 0 0.625rem 4.6875rem; padding-top: 0.1875rem; line-height: 1.7rem; font-size: 0.95rem; }
#staff dd:before { content: ' … '; position: absolute; display: block; margin-left: -1.4rem; width: 1.2rem; }
#staff .l2 { letter-spacing: 1.4rem; }
#staff .l3 { letter-spacing: 0.2rem; }

/* 装飾リスト (kome, daia, arrow, marusuji) */
.kome ul, .kome-aka ul, .daia ul, .arrow ul, .arrowList ul { margin: 0 0 1.25rem 0; list-style: none; }
.kome li, .kome-aka li, .daia li, .arrow li { text-indent: -1rem; margin-bottom: 0.5rem; line-height: 1.5rem; list-style: none !important; }
.kome li:before, .kome-aka li:before { font-weight: bold; content: '※'; display: inline-block; width: 1.2rem; font-size: 1rem; text-indent: 0; color: #994444; }
.kome-aka li { color: #8a0b0b; }
.kome-aka li:before { color: #8a0b0b; }

.daia li:before { content: '◇'; display: inline-block; text-indent: 0; color: #666; font-size: 0.85rem; margin-left: -0.1rem; margin-right: 0.2rem; }
.arrow li { text-indent: -2rem; }
.arrow li:before { content: '　⇒'; display: inline-block; text-indent: 0; }

.arrowList li { list-style: none; margin-bottom: 0.3125rem; padding-left: 0.3rem; position: relative; }
.arrowList li:before { content: ""; display: block; position: absolute; width: 0.75rem; height: 0.75rem; border-radius: 0.125rem; background: #bdb1a1; left: -0.9375rem; top: 0.375rem; }
.arrowList li:after { content: ""; display: block; position: absolute; border: 0.1875rem solid transparent; border-left-color: #fff; left: -0.625rem; top: 0.5625rem; }

.marusuji ol { counter-reset: number; padding: 0.5rem; }
.marusuji ol li { list-style-type: none !important; padding: 0 0 0.5rem 3rem; margin-bottom: 0.5rem; position: relative; }
.marusuji ol li:before { counter-increment: number; content: counter(number); background-color: #829fad; color: white; line-height: 1.7rem; text-align: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; margin-left: -3rem; display: flex; justify-content: center; align-items: center; float: left; }


/* =========================
   医師紹介カード
========================= */

.card-card {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 30px;
  background: #fff;
}

/* 名前部分 */
.card-header {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.card-name {
  font-size: 1.3rem;
  font-weight: bold;
  color: #222;
}

.card-day {
  font-size: .9rem;
  color: #666;
}

/* 本文 */
.card-item {
  margin-bottom: 15px;
}

.card-label {
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}

.card-text {
  line-height: 1.7;
  color: #444;
}

/* スマホ調整 */
@media screen and (max-width: 768px) {

  .card-name {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  .card-day {
    font-size: 0.78rem;
    color: #888;
  }

  .card-label {
    font-size: 1rem;
    font-weight: 600;
  }

  .card-text {
    font-size: 0.85rem;
    line-height: 1.8;
  }

}

}