@charset "utf-8";


/* ==============================
   ページタイトル背景（お知らせ）
============================== */
.page_ttl_wrap {
  position: relative;
    background-image: url(../img/ttl_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    height: 180px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fbf6f0;
}

/* スマホ時のみ背景を切り替え */
@media (max-width: 768px) {
  .page_ttl_wrap {
    background-image: url(../img/news_ttl_bg_sp.png);
    background-size: cover;
  }
}

.page_ttl {
  color: #6b3d14;
  font-weight: 700;
  font-size: clamp(20px, 2.6vw, 32px);
  letter-spacing: 0.08em;
  text-align: center;
  margin: 0;
  z-index: 1;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .page_ttl_wrap {
    height: 120px;
    background-size: contain;
  }
	
  .page_ttl {
    font-size: clamp(18px, 5vw, 26px);
  }
}



/* =========================================================
   小児科外来セクション
   ========================================================= */
.pediatrics {
   background: #fbf6f0;
  text-align: center;
  color: #5c3b1e;
}

.pediatrics_inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 4%;
  padding-top: 100px;
}

.pediatrics_flex {
	display: flex;
    justify-content: space-between;
	align-items: center;
}

.pediatrics_heading {
  text-align: center;
  margin-bottom: 30px;
}

.icon_smile img {
  width: 60px;
  height: 60px;
  margin-bottom: 10px;
}

.pediatrics_heading h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #7f4c1f;
      margin-top: 20px;
}

.pediatrics_text {
     line-height: 2;
    text-align: left;
    margin-bottom: 40px;
    width: 63%;
    font-size: 18px;
}

.highlight {
  background: #fff1c0;
}

.pediatrics_illustration {
  text-align: right;
  margin-top: 20px;
}

.pediatrics_illustration img {
  max-width: 300px;
  height: auto;
}


.duku_waku {
	max-width: 1200px;
    margin: 0 auto;
}


.pediatrics_contact {
  background: #ffe8a0;
  padding: 50px 20px;
  margin-top: 50px;
  border-radius: 12px 12px 0 0;
}

.contact_note {
    background: #fff;
    border-radius: 40px;
    padding: 25px 4.4%;
    display: inline-block;
    font-size: 22px;
    color: #5c3b1e;
    margin-bottom: 20px;
}

.contact_box {
      display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.contact_number,
.contact_time {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.tag {
  border-radius: 30px;
    padding: 10px 10px;
    font-size: 1rem;
    color: #7b4a1b;
    border: 1px solid #d4b86f;
}

.tag2 {
    background: #ffff;
    padding: 4px 8px;
    font-size: 18px;
    color: #7b4a1b;
}

.number {
      font-size: 2rem;
    font-weight: 700;
    color: #7b4a1b;
    letter-spacing: 0.1em;
}

.time {
  font-size: 20px;
  color: #7b4a1b;
}

/* スマホ対応 */
@media (max-width: 600px) {
  .pediatrics_illustration {
    text-align: center;
  }
  .pediatrics_illustration img {
    max-width: 50%;
  }
}

@media (max-width: 768px) {
	.pediatrics_text {
    width: 100%;
    font-size: 16px;
	margin: 0;
	margin-bottom: 10px;
}
	
	.pediatrics_heading h2 {
    margin: 0;
	font-size: 20px;
}
	
	.icon_smile img {
    width: 50px;
		height: 50px;}
	
	.pediatrics_flex {
    flex-direction: column;
}
	.pediatrics_heading {
    margin-bottom: 20px;
}
	
	.contact_box {
	  flex-direction: column;
	  gap: 20px;
	}
	
	.contact_note {
    padding: 20px 4.4%;
    display: inline-block;
    font-size: 16px;
    margin-bottom: 15px;
	line-height: 1.4;
}
	
	.pediatrics_contact {
    padding: 40px 20px;
    margin-top: 40px;
	padding-top: 20px;
}
	
	.contact_number .number {
        color: #7a4a1b !important;
        text-decoration: none !important;
    }
	
	.contact_number .number a {
        color: #7a4a1b !important;
        text-decoration: none !important;
    }
	
	.tag {
    border-radius: 50px;
    font-size: 0.8rem;
	}
	
}
/* =========================================================
   予防接種セクション（擬似要素を使わない雲配置）
   ========================================================= */
.vaccine {
  position: relative;
  padding: 140px 20px;
  color: #5c3b1e;
  overflow: hidden;
  padding-bottom: 20px;
}

.vaccine__inner {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  z-index: 2; /* 雲より上に */
}

/* ===== 雲（画像で配置） ===== */
.vaccine__cloud {
  position: absolute;
  z-index: 1;
  opacity: 0.65;
}
.vaccine__cloud img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none;
}

/* ① 上の雲（右寄せ） */
.vaccine__cloud.cloud1 {
  top: 35px;
  right: 0vw;
  width: clamp(320px, 35vw, 400px);
}

/* ② 中央の雲（左寄せ） */
.vaccine__cloud.cloud2 {
  top: 575px;
  left: 0vw;
  width: clamp(300px, 34vw, 450px);
  opacity: 0.6;
}

/* ③ 下の雲（右寄せ） */
.vaccine__cloud.cloud3 {
    bottom: -73px;
    right: -5vw;
    width: clamp(280px, 32vw, 430px);
    opacity: 0.55;
}

/* ====== タイトル・ブロック ====== */
.vaccine__head { text-align: center; margin-bottom: 28px; }
.vaccine__icon img { width: 50px; height: auto; }
.vaccine__title { font-size: 1.8rem; font-weight: 700; margin-top: 30px; color: #7f4c1f; }

.vaccine-block {
  position: relative;
  z-index: 2;
  margin: 40px 0;
}

.v_flex {
	    display: flex;
    justify-content: space-between;
}

.vaccine-block__label {
    background: #cfee8a;
    color: #5c3b1e;
    border-radius: 8px;
    padding: 12px 20px;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px;
	margin-top: 0;
}

.vb_first {
  width: 61%;
}

.vaccine-block__body {
  line-height: 1.8;
  font-size: 1rem;
}

.vaccine-block__body p {
	margin-left: 20px;
    font-size: 18px;
}

.em { font-weight: 700; }
.em_orange { color: #d45528; font-weight: 700; }
.tel { font-weight: 700; letter-spacing: 0.03em; }

.vaccine-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.vaccine-list li {
  position: relative;
  padding-left: 1.25em;
  margin-left: 20px;
  font-size: 18px;
  margin-bottom: 20px;
}
.vaccine-list li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 6px;
  color: #a0642e;
  font-size: .7rem;
  line-height: 1.9;
}

.vaccine-notes {
  margin-top: 10px;
  list-style: none;
  color: #d45528;
  font-size: 18px;
  padding-left: 0;
  margin-left: 20px;
}
.vaccine-notes li { margin: .2em 0; }

.nn_color {
  color: #5b3c1e;
}

/* イラスト（右下配置） */

.vaccine-illust img {
  width: clamp(220px, 28vw, 300px);
  height: auto;
}

/* ====== レスポンシブ ====== */
@media (max-width: 768px) {
  .vaccine { padding: 60px 16px; }
  .vaccine__cloud.cloud1 { top: 40px; right: -6vw; width: clamp(220px, 52vw, 420px); display: none;}
  .vaccine__cloud.cloud2 { top: clamp(590px, 95vw, 720px); left: -10vw; width: clamp(220px, 60vw, 380px); display: none;}
  .vaccine__cloud.cloud3 { bottom: -10px; right: -6vw; width: clamp(200px, 52vw, 380px); }
  .vaccine-illust { position: static; margin: 0; margin-top: 20px; text-align: center;}
  .vaccine-illust img { width: 70%; }
  .v_flex { flex-direction: column; margin: 20px 0;}
  .vb_first { width: 100%;}
  .vaccine-block__body p { margin: 0; margin-left: 5px; font-size: 16px;}
  .vaccine-list li { position: relative; padding-left: 1.25em; margin-left: 5px; font-size: 16px; margin-bottom: 10px;}
  .vaccine-notes { margin-top: 10px; list-style: none; color: #d45528; font-size: 16px; padding-left: 0; margin-left: 5px;}
	.vaccine__icon img { width: 50px;}
	.vaccine__title { font-size: 20px; margin-top: 10px;}
	.vaccine-block__label { padding: 12px 8px; font-size: 18px; margin-bottom: 10px;}
	.pediatrics_inner {
    padding-top: 50px;
}
}


/* ===============================
   予防接種スケジュール パネル
   =============================== */
.vaccine-schedule {
  margin: 60px auto 40px;
  color: #5c3b1e;
}

.vaccine-schedule__panel {
  position: relative;
  background: #cbeb65;
  border-radius: 50px;
  padding: 50px 0px 50px;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  margin-bottom: 30px;
}

/* タイトル */
.vaccine-schedule__title {
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  color: #5c3b1e;
  margin: 10px 0 40px;
  position: relative;
}
.vaccine-schedule__title::before,
.vaccine-schedule__title::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 30px;
  height: 1.5px;
  background: #7b4a1b;
  opacity: 0.8;
  transform: translateY(-48%) rotate(-110deg);
}
.vaccine-schedule__title::before { left: 34%; }
.vaccine-schedule__title::after  { right: 34.5%;
    transform: translateY(-50%) rotate(-72deg);}

/* 花の飾り */
.vaccine-schedule__flower {
  position: absolute;
  width: 120px;
  height: auto;
  z-index: 1;
}
.vaccine-schedule__flower--left  { left: 36px;  bottom: 28px; }
.vaccine-schedule__flower--right { right: 36px; bottom: 28px; }

/* 2カラム配置 */
.vaccine-schedule__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 5vw, 60px);
  justify-items: center;
  align-items: end;
  max-width: 780px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* 各カード */
.schedule-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #5c3b1e;
}

/* 画像ラップ */
.schedule-card__imgwrap {
  position: relative;
  display: inline-block;
}
.schedule-card__img {
  display: block;
  width: clamp(260px, 34vw, 360px);
  height: auto;
}

/* ボタン：画像内の下部中央 */
.schedule-card__btn {
      position: absolute;
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f36d2b;
}
.schedule-card__btn::after {
  content: "";
  position: absolute;
  left: 43%; top: 50%;
  width: 10px; height: 10px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: translate(-40%, -50%) rotate(-45deg);
}
.schedule-card:hover .schedule-card__btn {
  filter: brightness(1.05);
}

/* 注意書き */
.vaccine-schedule__notes {
  max-width: 1100px;
  margin: 16px auto 0;
  padding: 0 10px;
  color: #7b4a1b;
  line-height: 1.8;
  font-size: .95rem;
}
.vaccine-schedule__notes p + p { margin-top: -0.8em; }

/* レスポンシブ */
@media (max-width: 800px) {
  .vaccine-schedule__panel { border-radius: 32px; padding: 28px 16px 40px; }
  .vaccine-schedule__title { font-size: 1.15rem; }
  .vaccine-schedule__title::before { left: 0%; width: 44px; }
  .vaccine-schedule__title::after  { right: 0%; width: 44px; }
  .vaccine-schedule__grid { gap: 15px; }
  .schedule-card__img { width: min(43vw, 360px); }
  .vaccine-schedule__flower { width: 70px; }
  .vaccine-schedule__flower--left  { left: 14px; bottom: 16px; }
  .vaccine-schedule__flower--right { right: 14px; bottom: 16px; }
  .schedule-card__btn { bottom: 5%; width: 25px; height: 25px;}
  .vaccine-schedule { margin: 20px auto 40px;}
  .schedule-card__btn::after { left: 42%; width: 7px; height: 7px; border-right: 2px solid #fff; border-bottom: 2px solid #fff;}
	.tag { border-radius: 50px; font-size: 0.8rem; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 3px;}
}



.teiki {
  background: #f9f1e9;
  padding: 56px 16px 64px;
  color: #5c3b1e;
}
.teiki__inner {
  max-width: 980px;
  margin: 0 auto;
}

/* タイトル */
.teiki__head {
  text-align: center;
  position: relative;
  margin-bottom: 24px;
}
.teiki__title {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.teiki__lead {
  margin: 10px 0 26px;
  font-size: 16;
  line-height: 1.9;
  color: #7b5a3a;
}
.teiki__icon {
  position: absolute;
  top: -8px;
  width: 64px;
  height: auto;
  display: block;
  z-index: 2;
  pointer-events: none;
}
.teiki__icon--house { left: 6px; }
.teiki__icon--trees { right: 6px; }




/* ── セクション ───────────────────── */
.teiki {
  background: #f9f1e9;
  padding: 56px 16px 64px;
  color: #5c3b1e;
}
.teiki__inner { max-width: 1200px; margin: 0 auto; }
.teiki__head { text-align: center; position: relative; margin-bottom: 24px; }
.teiki__title { font-size: 1.6rem; font-weight: 700; letter-spacing: 0.04em; border-bottom: 2px solid #c09e7e; padding-bottom: 20px;  color: #7f4c1f;  margin-top: 120px;  margin-bottom: 50px;}
.teiki__lead { margin: 40px 0 50px; line-height: 1.9; color: #7f4c1f; }
.teiki__icon { position: absolute;  top: -19.6px; width: 80px; height: auto; z-index: 2; pointer-events: none; }
.teiki__icon--house { left: 0px; } .teiki__icon--trees { right: 0px; }
.tik_ki1 { top: -35.6px; width: 100px;}
.tik_ki2 { top: -35.6px; width: 100px;}
.tik_ie4 { top: -27.6px; width: 60px;}
.wkcn_txt { color: #e65a00;  margin-top: 10px;}

.bk_ye {
	background: #ffffeb!important;
}

/* ── テーブル（横スクロール） ───────── */
.teiki__table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 15px;
}

/* ── テーブル基本 ─────────────────── */
.teiki__table {
  width: 100%;
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.98rem;
  color: #5c3b1e;
}
.teiki__table thead th {
  position: sticky;
  top: 0;
  background: #d8ef8a;
  color: #7f4c1f;
  padding: 14px 18px;
  font-weight: 700;
  text-align: left;
}
.teiki__table thead th:last-child { text-align: center; }

/* 「区分」ヘッダー非表示 */
.teiki__table .th-phase { color: transparent; user-select: none; }

/* セル */
.teiki__table tbody td {
  padding: 14px 18px;
  border-bottom: 1.5px solid #d0ae91;
  vertical-align: middle;
  color: #7f4c1f;
}
.teiki__table tbody tr:nth-child(even) td { background: #fff; }
.keibi {border-left: 2px dotted #d0ae91;}
/* 縦の点線（列区切り） */
.teiki__table thead th + th,
.teiki__table tbody td + td { border-left: 2px dotted #d0ae91; }

/* colspanセル調整 */
.teiki__table td[colspan="2"] + td { border-left: 2px dotted #c9a87a; }

/* 区分：追加・1期追加・2期に左線追加 */
.phase-add {
  border-left: 2px dotted #c9a87a !important;
}

/* 列ごとの体裁 */
.vname { font-weight: 700; color: #7f4c1f; letter-spacing: 0.03em; white-space: nowrap; }
.phase { font-weight: 700; color: #7f4c1f; letter-spacing: 0.03em; text-align: left; }
.age {  color: #7f4c1f; line-height: 1.6; }
.ta-c { text-align: center; letter-spacing: 0.03em; }


.tik_under_txt {
	color: #7f4c1f;
	margin: 0;
    margin-top: 10px;
    font-size: 16px;
}

.nnp_otn {
	margin-top:50px;
}


.nnkn_li {
	margin-bottom: 30px;
}


.nnkn_li li {
	margin-bottom: 7px;
}


.ssn_p {
	padding-left: 38px;
}


.teiki__table .kaisu {
	text-align: center;
}

.kouny {
	margin-top: 0px;
}

.kouny_ttl {
	margin-bottom: 5px;
}

/* SP */
@media (max-width: 768px) {
  .teiki { padding: 40px 12px 52px; }
  .teiki__title {  font-size: 20px; margin-top: 0; padding-bottom: 10px; margin-bottom: 0;}
  .teiki__icon { width: 52px; top: -13px; }
  .teiki__table { font-size: 0.95rem; min-width: 820px; }
  .teiki__lead { margin: 20px 0 20px; font-size: 0.95rem;line-height: 1.8;}
  .teiki__head { margin-bottom: 20px; margin-top: 50px;}
  .wkcn_txt { color: #e65a00;}
  .tik_ie4 { width: 40px; top: -19px}
  .tik_ki2 { width: 43px; top: -5px; left: -8px; }
}

/* ==========================
   Vaccine CTA section
   ========================== */
.vpd-cta {
      margin-top: 100px;
}

.vpd-cta__box {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  background: #f6d58d;
  border-radius: 50px;
  padding: 60px 30px 60px;
  text-align: center;
}

/* タイトル（左右に「\」「/」の飾り） */
.vpd-cta__title {
  margin: 0 0 50px;
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 26px);
  color: #7b4a1b;
  letter-spacing: .04em;
  line-height: 1.4;
  font-size: 1.3rem;
}
.vpd-cta__title span {
  display: inline-block;
  position: relative;
  padding: 0 28px;
}
.vpd-cta__title span::before,
.vpd-cta__title span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 26px;
  height: 2px;
  background: transparent;
  border-top: 2px solid #7b4a1b;
  opacity: .6;
  transform: translateY(-50%) rotate(-110deg);
}
.vpd-cta__title span::before { left: -6px; }
.vpd-cta__title span::after  {
  right: -6px;
  transform: translateY(-50%) rotate(110deg);
}

/* バナー画像 */
.vpd-cta__bnr {
  display: inline-block;
}
.vpd-cta__bnr img {
  width: min(650px, 86%);
  height: auto;
  display: block;
  margin-inline: auto;
  box-shadow: 0 0 0 0 rgba(0,0,0,0); /* 影なし（デザイン準拠） */
}

/* 花の飾り */
.vpd-cta__flower {
  position: absolute;
  width: clamp(80px, 10vw, 100px);
  height: auto;
  pointer-events: none;
  user-select: none;
}
.vpd-cta__flower--left  { left: 42px;  bottom: 26px; }
.vpd-cta__flower--right { right: 42px; top:  26px;  }

/* 小さめ端末 */
@media (max-width: 768px) {
  .vpd-cta__box {
    border-radius: 24px;
    padding: 36px 16px 44px;
  }
  .vpd-cta__title { margin: 0 0 30px; font-size: 16px;}
  .vpd-cta__flower--left  { left: 16px;  bottom: 18px; }
  .vpd-cta__flower--right { right: 16px; top: 14px; }
  .vpd-cta__flower { width: clamp(88px, 24vw, 120px); }
  .vpd-cta__flower { width: clamp(40px, 14vw, 120px); z-index: 0; opacity: 70%;}
  .vpd-cta__title span { z-index: 1;}
  .vpd-cta__bnr img { position: relative; z-index: 2;}
  .vpd-cta { margin-top: 50px;}
}



/* 乳幼児健診セクション */
.nyuyouji {
  position: relative;
  background: #fff;
  overflow: hidden;
  padding: 100px 0 120px;
  color: #5c3b1e;
}

.nyuyouji__inner {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.nyuyouji__head {
  text-align: center;
  margin-bottom: 50px;
  position: relative;
}

.nyuyouji__icon {
  width: 50px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}

.nyuyouji__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #7f4c1f;
  letter-spacing: 0.05em;
  margin-top: 30px;
}

.nyuyouji__body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-top: 100px;
}

.nyuyouji__text {
  flex: 1;
  font-size: 1.2rem;
  line-height: 1.9;
}

.nyuyouji__text strong {
  font-weight: 700;
  font-size: 1.3rem;
}

.nyuyouji__img {
  flex-shrink: 0;
  width: 320px;
  max-width: 100%;
}

.nyuyouji__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* 背景雲配置 */
.nyuyouji__bg {
  position: absolute;
  width: auto;
  max-width: none;
  height: auto;
  z-index: 1;
  pointer-events: none;
}

.nyuyouji__bg--top {
  top: 0;
  right: 0;
  width: 400px;
  object-fit: cover;
}

.nyuyouji__bg--bottom {
  bottom: 0;
  left: 0;
  width: 380px;
  object-fit: cover;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .nyuyouji {
    padding: 60px 0 80px;
  }
	
	.nyuyouji__icon {
		width: 40px;
	}

  .nyuyouji__body {
    flex-direction: column;
    gap: 40px;
   margin-top: 0px;
  }

	.nyuyouji__title {
    font-size: 20px;
    margin-top: 10px;
}
	
	.tag2 {
    font-size: 16px;
}
	
  .nyuyouji__text {
    font-size: 0.95rem;
    text-align: left;
  }

  .nyuyouji__img {
    width: 55%;
    margin: 0 auto;
  }

  .nyuyouji__bg--top {
    width: 40%;
    right: 0;
  }

  .nyuyouji__bg--bottom {
    width: 48%;
    left: 0;
  }
	
	.nyuyouji__head {
		margin-bottom: 0px;
	}
}



/* ============================
   電話番号リンクのリセット
   （b.jpgと同じ茶色＆下線なし）
============================ */
a[href^="tel"] {
  color: var(--c-brown);       /* 既に定義されているブラウンを使用 */
  text-decoration: none;       /* 下線を消す */
  border: none;                /* 万一 border-bottom を当てていた場合も消す */
}

/* 疑似クラスもすべて同じ色・スタイルに固定 */
a[href^="tel"]:link,
a[href^="tel"]:visited,
a[href^="tel"]:hover,
a[href^="tel"]:active,
a[href^="tel"]:focus {
  color: var(--c-brown);
  text-decoration: none;
  border: none;
  outline: none;
}