@charset "UTF-8";
:root {
  --font: "Zen Maru Gothic", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  --container: 1120px;
  --gutter: 16px;
  --ink: #3a2e25;
  --muted: #6b5a4d;
  --bg: #fffffc;
  --panel: #ffffff;
  --primary: #EC8367; /* オレンジ系（仮） */
  --primary2: #f6a08a; /* 少し薄め */
  --accent: #49a36a; /* CTAグリーン（仮） */
  --line: #eadfd5;
  --brown:#965700;
  --shadow: 0 10px 25px rgba(0,0,0,.08);
  --radius: 20px;
  --radius-lg: 28px;
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.8;
  color: var(--brown);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.l-container {
  width: min(var(--container), 100% - var(--gutter) * 2);
  margin-inline: auto;
}

/* ヘッダー土台 */
.c-header {
  background: rgba(240, 240, 202, 0.6); /* 薄いベージュ寄せ（デザインに近い） */
  font-weight: 500;
}

.c-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(0.563rem, 0.173rem + 0.81vw, 1.125rem) clamp(0.75rem, 0.231rem + 1.08vw, 1.5rem); /*18 24 9 12*/
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.75rem, 0.231rem + 1.08vw, 1.5rem);
}

/* 左：ロゴ */
.c-header__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.c-header__logo {
  display: block;
  height: clamp(2rem, 0.616rem + 2.88vw, 4rem); /* 64 32 */
  width: auto;
}

/* 右：2段 */
.c-header__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(0.438rem, 0.135rem + 0.63vw, 0.875rem); /*14 7*/
  flex: 1;
}

/* 上段：丸ボタン */
.c-header__utility {
  display: flex;
  gap: clamp(0.5rem, 0.154rem + 0.72vw, 1rem); /*16 8*/
  flex-wrap: wrap; /* 画面が狭いときに折り返す */
  justify-content: flex-end;
}

.c-header__pill {
  display: inline-flex;
  align-items: center;
  gap: clamp(0rem, -0.433rem + 0.9vw, 0.625rem); /*10 0*/
  padding: clamp(0.438rem, 0.135rem + 0.63vw, 0.875rem) clamp(0.688rem, 0.212rem + 0.99vw, 1.375rem); /*14 22,7 11*/
  border-radius: 999px;
  background: #e88978; /* サーモン系 */
  color: #fff;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.c-header__pill img {
  width: clamp(0.938rem, 0.505rem + 0.9vw, 1.563rem);
}

.c-header__pill:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.c-header__pillIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.c-header__pillText {
  font-size: clamp(0.625rem, 0.192rem + 0.9vw, 1.25rem); /*20 10*/
}

/* 下段：グロナビ */
.c-header__nav {
  display: flex;
  gap: clamp(1.063rem, 0.327rem + 1.53vw, 2.125rem); /*34 17*/
  flex-wrap: wrap;
  justify-content: flex-end;
}

.c-header__navLink {
  color: var(--brown); /* 茶色寄せ */
  text-decoration: none;
  font-size: clamp(0.688rem, 0.212rem + 0.99vw, 1.375rem); /*22 11*/
  line-height: 1.2;
}

.c-header__navLink:hover {
  opacity: 0.75;
}

/* =========================
  SP Hamburger
========================= */
/* ボタン（SPのみ） */
.c-header__toggle {
  display: none; /* PCでは非表示 */
  background: transparent;
  border: 0;
  padding: 10px 8px;
  cursor: pointer;
  text-align: center;
  color: var(--brown);
}

.c-header__toggleIcon {
  display: block;
  width: 34px;
  height: 22px;
  position: relative;
  margin: 0 auto 4px;
}

.c-header__toggleIcon::before,
.c-header__toggleIcon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--brown);
  border-radius: 2px;
  transition: transform 0.25s ease, top 0.25s ease, opacity 0.2s ease;
}

.c-header__toggleIcon::before {
  top: 4px;
}

.c-header__toggleIcon::after {
  top: 16px;
}

/* 真ん中線 */
.c-header__toggleIcon {
  background: linear-gradient(var(--brown), var(--brown)) center/100% 2px no-repeat;
  transition: background-size 0.2s ease;
}

.c-header__toggleText {
  font-size: 12px;
  letter-spacing: 0.08em;
}

/* SP時のメニュー（右側ブロック）をオフキャンバス化 */
@media (max-width: 768px) {
  .c-header__logo {
    height: clamp(2.063rem, 0.308rem + 7.69vw, 4rem);
  }
  .c-header__toggle {
    display: block;
  }
  .c-header__right {
    position: fixed;
    top: 0;
    right: 0;
    height: 100svh;
    width: min(320px, 86vw);
    background: #fff;
    z-index: 1000;
    transform: translateX(100%);
    transition: transform 0.25s ease;
    padding: 80px 16px 24px; /* 上はヘッダー高さ分の逃げ */
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);
    overflow-y: auto;
  }
  /* 開いた状態 */
  .c-header.is-open .c-header__right {
    transform: translateX(0);
  }
  /* utility/ナビを縦積み */
  .c-header__utility {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
  }
  .c-header__nav {
    display: grid;
    gap: 10px;
  }
  .c-header__navLink {
    padding: 12px 10px;
    border-radius: 10px;
    background: rgba(236, 128, 73, 0.12); /* それっぽい */
  }
}
/* 開いた時のハンバーガー → × */
.c-header.is-open .c-header__toggleIcon {
  background-size: 0 0; /* 真ん中線消す */
}

.c-header.is-open .c-header__toggleIcon::before {
  top: 10px;
  transform: rotate(45deg);
}

.c-header.is-open .c-header__toggleIcon::after {
  top: 10px;
  transform: rotate(-45deg);
}

/* Header */
.l-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(240, 240, 202, 0.6);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
}

.c-logo__text {
  font-weight: 700;
  letter-spacing: 0.04em;
}

.c-gnav__list {
  display: flex;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-gnav__link {
  font-weight: 500;
  font-size: 14px;
  color: var(--muted);
}

.c-gnav__link:hover {
  color: var(--ink);
}

.c-headerCta {
  display: flex;
  gap: 10px;
}

.c-hamburger {
  display: none;
}

/* =========================
footer
========================= */
.p-footer-deco {
  width: 100%;
  height: 300px;
  background: url("../img/footer-illust.png") no-repeat center bottom/cover;
}

.l-footer {
  color: #fff;
  padding-top: 48px;
}

.l-footer__container {
  background: #EC8367;
}

.l-footer__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin: 0;
  width: 100%;
  padding: 0px clamp(3.125rem, -3.364rem + 13.5vw, 12.5rem) clamp(1.25rem, -0.048rem + 2.7vw, 3.125rem) clamp(3.125rem, -3.364rem + 13.5vw, 12.5rem); /*0 200 50 200,0 50 20 50*/
}

.l-footer__inner::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: clamp(42.813rem, 8.42rem + 71.56vw, 92.5rem); /*1480 685*/
  height: clamp(0rem, -0.692rem + 1.44vw, 1rem);
  transform: translateX(-50%);
  border-top: 1px solid rgb(255, 255, 255);
}

/* 左 */
.l-footer__logo {
  font-size: clamp(1.125rem, 0.346rem + 1.62vw, 2.25rem); /*36 18*/
  font-weight: 700;
  margin: 0;
}

.l-footer__logo span {
  display: block;
  font-size: clamp(0.625rem, 0.365rem + 0.54vw, 1rem); /*16 10*/
  letter-spacing: 0.08em;
  text-align: left;
  padding-left: 84px;
  line-height: 1;
  font-weight: 500;
}

.l-footer__address {
  font-size: clamp(0.5rem, 0.154rem + 0.72vw, 1rem); /*16 8*/
  font-style: normal;
  letter-spacing: 0.08em;
  margin-top: clamp(1rem, -0.125rem + 2.34vw, 2.625rem); /*42 16*/
}

/* 右 */
.l-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.l-footer__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: #EC8367;
  padding: 0px clamp(0.375rem, -0.231rem + 1.26vw, 1.25rem); /*0 20,0 6*/
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  font-size: clamp(1rem, 0.394rem + 1.26vw, 1.875rem); /*30 16*/
  letter-spacing: clamp(0.125rem, 0.038rem + 0.18vw, 0.25rem); /*4 2*/
}

.l-footer__btn:first-child {
  margin-bottom: clamp(0rem, -1.298rem + 2.7vw, 1.875rem); /*30 0*/
}

.l-footer__icon {
  font-size: 16px;
}

/* ナビ */
.l-footer__nav {
  background: #EC8367;
  padding: 0px clamp(3.125rem, -3.364rem + 13.5vw, 12.5rem);
}

.l-footer__nav ul {
  list-style: none;
  margin: 0;
  padding: 24px 0;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  justify-content: start;
  row-gap: clamp(0.5rem, 0.154rem + 0.72vw, 1rem);
  -moz-column-gap: clamp(0.5rem, 0.154rem + 0.72vw, 1rem);
       column-gap: clamp(0.5rem, 0.154rem + 0.72vw, 1rem);
}

.l-footer__nav a {
  color: #fff;
  text-decoration: none;
  font-size: clamp(0.5rem, 0.24rem + 0.54vw, 0.875rem);
}

/* コピーライト */
.l-footer__copy {
  text-align: center;
  font-size: clamp(0.5rem, 0.154rem + 0.72vw, 1rem);
  background: #EC8367;
  margin: 0;
  padding: 24px 0;
}

/*レスポンシブ*/
@media (max-width: 768px) {
  /* l-footer__container を縦並びの親にする */
  .l-footer__container {
    display: flex;
    flex-direction: column;
  }
  /* 各ブロックの並び順を指定 */
  .l-footer__inner {
    order: 1;
  } /* info + contact を含むブロック */
  .l-footer__nav {
    order: 2;
  }
  .l-footer__copy {
    order: 4;
  }
  /* innerの中身も並び替える（info → contact のままなら不要） */
  .l-footer__info {
    order: 1;
  }
  .l-footer__contact {
    order: 3;
  }
  /* inner を「見た目上」分解したい場合（重要） */
  .l-footer__inner {
    display: contents; /* これがキモ：info/contactをcontainer直下扱いにする */
  }
  /* display: contents にする場合は余白をそれぞれに持たせる */
  .l-footer__info {
    padding: 0 clamp(3.125rem, -3.364rem + 13.5vw, 12.5rem) 16px;
  }
  .l-footer__contact {
    padding: 0 clamp(3.125rem, -3.364rem + 13.5vw, 12.5rem) 24px;
  }
  .p-footer-deco {
    height: clamp(4.688rem, 0.442rem + 18.61vw, 9.375rem); /*75 150*/
  }
  .l-footer__info {
    text-align: left;
    margin-top: 60px;
  }
  .l-footer__logo {
    font-size: clamp(0.875rem, 0.083rem + 3.47vw, 1.75rem); /*14 28*/
  }
  .l-footer__logo span {
    font-size: clamp(0.625rem, 0.059rem + 2.48vw, 1.25rem); /*10 20*/
    padding-left: clamp(3.188rem, 0.301rem + 12.66vw, 6.375rem); /*102 51*/
  }
  .l-footer__address {
    font-size: clamp(0.656rem, 0.062rem + 2.61vw, 1.313rem); /*10.5 21*/
  }
  .l-footer__inner {
    overflow: hidden;
    flex-direction: column;
    text-align: center;
  }
  .l-footer__contact {
    align-items: center;
  }
  .l-footer__nav ul {
    justify-content: center;
  }
  .l-footer__nav ul {
    justify-content: flex-start;
  }
  .l-footer__nav ul a {
    font-size: clamp(0.625rem, 0.059rem + 2.48vw, 1.25rem); /*10 20*/
  }
  .l-footer__btn {
    width: 240px;
    justify-content: center;
  }
}
.u-only-sp {
  display: none;
}

@media (max-width: 768px) {
  .u-only-sp {
    display: block;
  }
  .u-only-pc {
    display: none;
  }
}
/* Buttons */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  border: 1px solid transparent;
  box-shadow: none;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.c-btn:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}

.c-btn--primary {
  background: var(--primary);
  color: #fff;
}

.c-btn--tel {
  background: #fff;
  border-color: var(--line);
}

.c-btn--lg {
  padding: 12px 18px;
}

/* Titles / Text */
.c-title {
  font-size: 26px;
  line-height: 1.4;
  margin: 0 0 14px;
  letter-spacing: 0.03em;
}

.c-title--sm {
  font-size: 20px;
}

.c-text {
  margin: 0;
  color: var(--muted);
}

/* =============
  HERO
============= */
.p-hero__inner {
  position: relative;
  margin: 0 auto;
}

/* 背景PNG（オレンジ＋写真＋波＋境目） */
.p-hero__bg {
  width: 100%;
  aspect-ratio: 1280/400;
  background-image: url("../img/hero.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* テキストを上に重ねる */
.p-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  /*padding-left: 193px 44px
  padding-top: 125px 36px;
  font-size: 24px 13px;*/
  padding-left: clamp(2.75rem, -3.682rem + 13.4vw, 12.063rem);
  padding-top: clamp(2.25rem, -1.592rem + 8vw, 7.813rem);
  font-size: clamp(0.813rem, 0.338rem + 0.99vw, 1.5rem);
  pointer-events: none; /* 背景上でクリック邪魔しない */
}

/* キャッチコピー */
.p-hero__catch {
  margin: 0;
  color: #fff;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: clamp(0.063rem, -0.067rem + 0.27vw, 0.25rem); /*letter-spacing: 4px;*/
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.15); /* 写真に白文字が埋もれない保険 */
}

/* 3行にする */
.p-hero__catch span {
  font-size: clamp(1.188rem, 0.281rem + 1.89vw, 2.5rem); /*font-size: 40px;19px;*/
}

/* SP調整 */
@media (max-width: 768px) {
  .p-hero__inner {
    max-width: 100%;
  }
  .p-hero__bg {
    width: 100%;
    aspect-ratio: 393/566;
    background-image: url("../img/hero-sp.png");
  }
  .p-hero__content {
    padding-left: clamp(9.688rem, 0.121rem + 41.94vw, 20.25rem); /*324 155*/
    align-items: flex-start;
    padding-top: clamp(1.438rem, 0.702rem + 3.23vw, 2.25rem); /*36 23*/
    font-size: clamp(0.813rem, 0.077rem + 3.23vw, 1.625rem); /*26 13*/
  }
  .p-hero__content span {
    font-size: clamp(1.125rem, -0.12rem + 5.46vw, 2.5rem); /*40 18*/
  }
  .p-welcome__deco {
    width: 60% !important;
    height: 69px !important;
    background-size: clamp(12.5rem, 0.047rem + 54.59vw, 26.25rem) !important;
  }
}
/* ===================
  Welcome & Hours
=================== */
.p-welcome {
  padding: 40px 0 60px;
  background: #fff;
}

.p-welcome__inner {
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
}

/* 上/下の家並み PNG */
.p-welcome__deco {
  width: 34%;
  height: 64px;
  background-repeat: repeat-x;
  background-size: auto clamp(2.125rem, 0.83rem + 2.7vw, 4rem);
  opacity: 0.9;
}

.p-welcome__deco--top {
  margin-bottom: 18px;
  background-image: url("../img/deco-houses.png");
}

.p-welcome__deco--bottom {
  margin-top: 18px;
  background-image: url("../img/deco-houses.png");
  margin-left: auto;
}

/* 2カラム */
.p-welcome__grid {
  display: grid;
  align-items: center;
  grid-template-columns: 1.1fr 1fr;
  gap: 36px;
}

/* -------- 左：Welcome -------- */
.p-welcome__left {
  position: relative;
  min-height: 260px;
}

/* 楕円PNG（welcomeの背景） */
.p-welcome__badge {
  width: 100%;
  aspect-ratio: 600/330; /* 楕円PNGの比率に合わせて調整 */
  background-image: url("../img/welcome-oval.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
}

/* テキストを楕円の上に重ねる */
.p-welcome__copy {
  position: absolute;
  inset: 0;
  padding: clamp(2.125rem, -0.054rem + 4.54vw, 4.5rem) clamp(7.188rem, 1.453rem + 11.95vw, 13.438rem) clamp(9.375rem, 8.802rem + 1.19vw, 10rem) clamp(6.25rem, 1.662rem + 9.56vw, 11.25rem); /* 72px 215px 160px 180px; */
}

.p-welcome__lead {
  margin: 0 clamp(0.625rem, -2.816rem + 7.17vw, 4.375rem) 4px; /* 0 70px 4px,0 10px 4px*/
  font-size: clamp(0.625rem, -0.006rem + 1.31vw, 1.313rem); /*21px,10px*/
  font-weight: 500;
  color: var(--brown);
  text-align: center;
}

.p-welcome__headline {
  margin: 0 0 4px;
  font-size: clamp(0.438rem, -0.193rem + 1.31vw, 1.125rem); /*18px,7px*/
  font-weight: 500;
  line-height: 1.8;
  color: var(--brown);
}

.p-welcome__hl {
  position: relative;
  display: inline-block;
  font-size: clamp(0.625rem, -0.637rem + 2.63vw, 2rem); /*32px,10px*/
  padding: 0px 8px;
  border-radius: 6px;
  margin-bottom: 4px;
}

/* 白台 */
.p-welcome__hl::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  border-radius: 6px;
  z-index: 0;
}

/* グラデ文字（前面） */
.p-welcome__hlText {
  position: relative;
  z-index: 1;
  background: linear-gradient(0deg, #EC8367 0%, #F2AB8B 55%, #F0F0CA 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-welcome__anniv {
  margin: 0 0 6px;
  font-size: clamp(0.438rem, -0.308rem + 1.55vw, 1.25rem); /*20px,7px*/
  font-weight: 500;
  text-align: right;
}

.p-welcome__annivTag {
  display: inline-block;
  background: var(--brown);
  color: #fff;
  border-radius: clamp(0.188rem, 0.015rem + 0.36vw, 0.375rem); /*6px,3px*/
  font-weight: 700;
  font-size: clamp(0.75rem, -0.168rem + 1.91vw, 1.75rem); /*28,12pxpx*/
}

.p-welcome__note {
  margin: 0;
  font-size: clamp(0.375rem, 0.088rem + 0.6vw, 0.688rem); /*11px,6px*/
  text-align: right;
  color: var(--brown);
}

/* -------- 右：診療時間 -------- */
.p-hours {
  background: #fff;
  width: 85%;
}

.p-hours__label {
  display: inline-block;
  margin: 0 0 10px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--brown);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.p-hours__tableWrap {
  border: 1px solid #e6d9cc;
  border-radius: clamp(0.875rem, 0.184rem + 1.44vw, 1.875rem); /*30*/
  overflow: hidden;
  background: #fff;
}

.p-hours__table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.p-hours__table th,
.p-hours__table td {
  border: 1px solid #e6d9cc;
  padding: clamp(0.25rem, -0.009rem + 0.54vw, 0.625rem) 8px; /*10,8*/
  line-height: 1;
}

.p-hours__table thead th {
  background: var(--primary);
  color: #fff;
  font-weight: 700;
  font-size: clamp(0.875rem, 0.271rem + 1.26vw, 1.75rem); /*28px*/
}

.p-hours__timeHead {
  width: 92px;
  background: #fff7f2;
}

.p-hours__time {
  background: #fff7f2;
  font-weight: 700;
  font-size: clamp(0.75rem, 0.491rem + 0.54vw, 1.125rem); /*18px*/
}

.p-hours__time span {
  writing-mode: vertical-rl;
}

/* ● */
.p-hours__dot {
  display: inline-block;
  width: clamp(0.75rem, 0.405rem + 0.72vw, 1.25rem); /*20px*/
  height: clamp(0.75rem, 0.405rem + 0.72vw, 1.25rem);
  border-radius: 50%;
  background: rgba(1, 181, 19, 0.5);
}

/* ／ */
.p-hours__slash {
  display: inline-block;
  width: clamp(0.875rem, 0.357rem + 1.08vw, 1.625rem); /*26*/
  height: clamp(0.125rem, 0.082rem + 0.09vw, 0.188rem); /*3*/
  background: rgba(1, 181, 19, 0.5);
  transform: rotate(-45deg);
}

/* 注釈 */
.p-hours__notes {
  margin: 10px 0 0;
  padding-left: 1.2em;
  font-size: clamp(0.563rem, 0.174rem + 0.81vw, 1.125rem); /*18*/
  line-height: 1.8;
  color: #444;
  list-style: none;
}

.p-hours__notes a {
  color: #00A2FF;
  text-decoration: underline;
}

/* SP */
@media (max-width: 768px) {
  .p-welcome__badge {
    width: 150%;
    aspect-ratio: 600/330;
    background-image: url(../img/welcome-oval-sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .p-welcome__lead {
    display: none;
  }
  .p-welcome__headline {
    display: none;
  }
  .p-welcome__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .p-welcome__copy {
    padding: clamp(9.688rem, -1.068rem + 47.15vw, 21.563rem) 0px 32px 0px; /*345 0 32 0, 155 0 32,0*/
  }
  .p-welcome__anniv {
    font-size: clamp(0.75rem, 0.071rem + 2.98vw, 1.5rem); /*24 12*/
    text-align: center;
  }
  .p-welcome__annivTag {
    border-radius: clamp(0.375rem, 0.035rem + 1.49vw, 0.75rem); /*12 6*/
    font-size: clamp(0.875rem, 0.083rem + 3.47vw, 1.75rem); /*28 14*/
  }
  .p-welcome__note {
    font-size: clamp(0.469rem, 0.044rem + 1.86vw, 0.938rem); /*15 7.5*/
    padding-right: clamp(3.906rem, 0.368rem + 15.51vw, 7.813rem); /*125 62.5*/
  }
  .p-hours {
    width: 100%;
  }
  .p-hours__label {
    font-size: clamp(0.813rem, 0.077rem + 3.23vw, 1.625rem); /*26 13*/
    border-radius: clamp(0.5rem, 0.047rem + 1.99vw, 1rem);
  }
  .p-hours__table thead {
    height: clamp(2.5rem, 0.236rem + 9.93vw, 5rem); /*80 40*/
  }
  .p-hours__table thead th {
    font-size: clamp(0.813rem, 0.077rem + 3.23vw, 1.625rem); /*26 13*/
  }
  .p-hours__table tbody {
    height: clamp(6.25rem, 0.589rem + 24.81vw, 12.5rem); /*200 100*/
  }
  .p-hours__time {
    font-size: clamp(0.75rem, 0.071rem + 2.98vw, 1.5rem); /*24 12*/
  }
  .p-hours__dot {
    width: clamp(1.094rem, 0.103rem + 4.34vw, 2.188rem); /*35 17.5*/
    height: clamp(1.094rem, 0.103rem + 4.34vw, 2.188rem); /*35 17.5*/
  }
  .p-hours__slash {
    width: clamp(1.094rem, 0.103rem + 4.34vw, 2.188rem); /*35 17.5*/
    height: clamp(0.188rem, 0.018rem + 0.74vw, 0.375rem);
  }
  .p-hours__notes {
    font-size: clamp(0.813rem, 0.077rem + 3.23vw, 1.625rem); /*26 13*/
  }
}
/* Message */
.p-message {
  position: relative;
  padding: 44px 0 52px;
}

.p-message__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: center;
}

.p-message__media img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 320px;
}

.p-message__people {
  margin-top: 22px;
  opacity: 0.95;
  display: flex;
  justify-content: center;
}

/* Info panels */
.p-info {
  padding: 12px 0 40px;
}

.c-panel {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow);
  margin-bottom: 14px;
}

.c-panel__media img {
  width: 100%;
}

.c-panel--simple {
  grid-template-columns: 1fr;
}

/* =============
News
============= */
/* お知らせ全体 */
.p-news {
  padding: 40px 0;
}

/* ボックス（薄い黄緑＋角丸） */
.p-newsBox {
  position: relative;
  max-width: 980px; /* スクショの横幅感 */
  margin: 0 auto;
  background: #F7F7E5; /* 薄い黄緑 */
  border-radius: 24px;
  padding: 34px 64px 26px 64px; /* 上はラベル分あける */
}

/* 左上のラベル（重ねる） */
.p-newsBox__label {
  position: absolute;
  top: -16px;
  left: 42px;
  margin: 0;
  padding: 8px 22px;
  background: var(--primary); /* くすみオレンジ */
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  border-radius: 10px;
  line-height: 1;
}

/* 既存listをスクショ仕様に寄せる（背景はボックス側に任せる） */
.c-newsList {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

/* 行 */
.c-newsList__item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(145, 128, 105, 0.45); /* 薄い線 */
}

.c-newsList__item:last-child {
  border-bottom: 1px solid rgba(145, 128, 105, 0.45); /* スクショは下にも線がある感じ */
}

/* 日付 */
.c-newsList__date {
  min-width: 70px;
  font-weight: 700;
  color: #4a3a2f;
  letter-spacing: 0.02em;
}

/* タイトル（先頭の「・」を疑似要素で付ける） */
.c-newsList__link {
  position: relative;
  padding-left: 18px;
  color: #4a3a2f;
  font-weight: 500;
  text-decoration: none;
}

.c-newsList__link::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* hover */
.c-newsList__link:hover {
  text-decoration: underline;
}

/* 右側の縦バー（ダミー） */
.p-newsBox__scroll {
  position: absolute;
  right: 20px;
  top: 22px;
  bottom: 22px;
  width: 6px;
  border-radius: 999px;
  background: rgba(145, 128, 105, 0.35);
}

/* つまみっぽい部分（任意：なくてもOK） */
.p-newsBox__scroll::after {
  content: "";
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 18px;
  border-radius: 999px;
  background: rgba(145, 128, 105, 0.75);
}

/* SP調整 */
@media (max-width: 768px) {
  .p-newsBox {
    padding: 34px 22px 22px;
    border-radius: 18px;
  }
  .p-newsBox__label {
    left: 18px;
    font-size: clamp(0.813rem, 0.077rem + 3.23vw, 1.625rem); /*26 13*/
  }
  .c-newsList {
    font-size: clamp(0.813rem, 0.077rem + 3.23vw, 1.625rem); /*26 13*/
  }
  .p-newsBox__scroll {
    display: none; /* SPは消してもOK */
  }
}
/* =========================
  クリニックの想い
========================= */
.p-thought {
  padding: 60px 20px;
}

.p-thought__inner {
  max-width: 95%;
  margin: 0 auto;
  position: relative;
}

/* 背景（Group63）を敷く */
.p-thought__bg {
  width: 100%;
  aspect-ratio: 1280/870;
  background: url("../img/thought.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%; /* ← ここを調整 */
}

/* 中身を背景の上に重ねる */
.p-thought__content {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 420px 1fr; /* 左：丸写真 / 右：文章 */
  align-items: center;
  -moz-column-gap: 56px;
       column-gap: 56px;
  padding: clamp(24px, 3vw, 48px) clamp(24px, 4vw, 72px);
}

/* 丸写真 */
.p-thought__photo {
  position: absolute;
  inset: 0;
  margin: 0;
  top: clamp(9.375rem, 0.29rem + 18.9vw, 22.5rem); /*360 150*/
  left: clamp(5rem, -0.191rem + 10.8vw, 12.5rem); /*200 80*/
}

.p-thought__photo img {
  width: 40%;
  display: block;
}

/* テキスト */
.p-thought__texts {
  position: absolute;
  width: 36%;
  inset: 0;
  top: 24%;
  left: 50%; /*862*/
}

.p-thought__title {
  font-size: clamp(1.125rem, 0.519rem + 1.26vw, 2rem); /*32*/
  font-weight: 800;
  color: #fff;
}

.p-thought__body {
  line-height: 1.9;
}

.p-thought__body p {
  margin-left: clamp(1.125rem, 0.519rem + 1.26vw, 2rem); /*32*/
  margin-bottom: clamp(0rem, -1.73rem + 3.6vw, 2.5rem); /*40*/
  color: #fff;
  line-height: 1.9;
  font-size: clamp(0.625rem, 0.106rem + 1.08vw, 1.375rem); /*22*/
}

.p-thought__body span {
  font-weight: 800;
}

/* SP */
@media (max-width: 768px) {
  .p-thought {
    padding: 0;
    margin-top: clamp(0rem, -11.321rem + 49.63vw, 12.5rem);
    margin-bottom: clamp(7.5rem, 2.971rem + 19.85vw, 12.5rem);
  }
  .p-thought__inner {
    max-width: 100%;
  }
  .p-thought__bg {
    aspect-ratio: 393/758;
    background: url("../img/thought-sp.png");
    background-size: 100%;
  }
  .p-thought__photo {
    top: clamp(7.25rem, 0.061rem + 31.51vw, 15.188rem); /*243 116*/
    left: clamp(3.313rem, 1.048rem + 9.93vw, 5.813rem); /*93 53*/
    z-index: -1;
  }
  .p-thought__content {
    position: relative; /* SPは重ねず通常フローにして崩れにくく */
    inset: auto;
    grid-template-columns: 1fr;
    row-gap: 18px;
    padding: 18px 14px;
  }
  .p-thought__texts {
    width: 100%;
    top: 8%;
    left: 0%;
  }
  .p-thought__title {
    text-align: center;
    font-size: clamp(1.125rem, 0.333rem + 3.47vw, 2rem);
  }
  .p-thought__body {
    margin: 80% 0 0 0;
    padding: 0% 15%;
  }
  .p-thought__body p {
    font-size: clamp(0.625rem, 0.059rem + 2.48vw, 1.25rem); /*20 10*/
  }
  .p-thought__body p br {
    display: none;
  }
  .p-thought__photo img {
    width: 85%;
  }
}
/* =========================
  Online
========================= */
.p-online__inner {
  max-width: 90%;
  margin: 0 auto;
}

/* 外枠（太い茶色枠） */
.p-online__frame {
  border: 4px solid #B3874A;
  border-radius: 28px;
  padding: 34px 34px 28px;
  background: #fff;
}

/* タイトル（中央＋左右の点） */
.p-online__title {
  margin: 0 0 18px;
  text-align: center;
  font-size: clamp(1.625rem, 1.106rem + 1.08vw, 2.375rem); /*38 26*/
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.p-online__dot {
  width: clamp(0.875rem, 0.442rem + 0.9vw, 1.5rem); /*24 14*/
  height: clamp(0.875rem, 0.442rem + 0.9vw, 1.5rem); /*24 14*/
  border-radius: 50%;
  background: #B3874A;
  display: inline-block;
}

/* 内枠（点線） */
.p-online__box {
  border: 2px dashed #B3874A;
  border-radius: 22px;
  padding: 40px clamp(2.5rem, -0.096rem + 5.4vw, 6.25rem); /*40 100,40 40*/
}

/* 2カラム */
.p-online__content {
  display: grid;
  grid-template-columns: 1fr clamp(11.875rem, 0.195rem + 24.3vw, 28.75rem); /*460 190*/
  gap: clamp(0.625rem, -0.154rem + 1.62vw, 1.75rem); /*28 10*/
  align-items: start;
}

.p-online__text p {
  margin: 0 0 14px;
  line-height: 1.9;
  font-size: clamp(0.688rem, 0.212rem + 0.99vw, 1.375rem); /*22 11*/
  color: #333;
}

.p-online__illust img {
  width: 80%;
  height: auto;
  display: block;
}

/* 注意ブロック */
.p-online__notice {
  margin-top: 14px;
  padding-top: 12px;
}

.p-online__noticeTitle {
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(0.688rem, 0.471rem + 0.45vw, 1rem); /*16 11*/
  color: #222;
}

.p-online__circle {
  width: clamp(0.688rem, 0.212rem + 0.99vw, 1.375rem); /*22 11*/
  height: clamp(0.688rem, 0.212rem + 0.99vw, 1.375rem); /*22 11*/
  border-radius: 50%;
  border: clamp(0.125rem, 0.038rem + 0.18vw, 0.25rem) solid #B3874A; /*4 2*/
  display: inline-block;
}

.p-online__noticeText {
  margin: 0;
  line-height: 1.9;
  font-size: 15px;
  color: #333;
}

/* SP */
@media (max-width: 768px) {
  .p-online__frame {
    padding: 26px 18px 22px;
  }
  .p-online__box {
    padding: 18px 16px;
  }
  .p-online__title {
    font-size: clamp(0.875rem, -0.031rem + 3.97vw, 1.875rem);
  }
  .p-online__dot {
    width: clamp(1rem, 0.66rem + 1.49vw, 1.375rem);
    height: clamp(1rem, 0.66rem + 1.49vw, 1.375rem);
  }
  .p-online__content {
    grid-template-columns: 1fr;
  }
  .p-online__illust {
    order: -1; /* 画像を上にしたい場合 */
    margin: clamp(0.938rem, 0.088rem + 3.72vw, 1.875rem) auto;
  }
  .p-online__illust img {
    width: 100%;
    height: clamp(6.25rem, -0.543rem + 29.78vw, 13.75rem); /*220 100*/
  }
  .p-online__text p {
    font-size: clamp(0.625rem, -0.167rem + 3.47vw, 1.5rem); /*24 10*/
    line-height: 1.5;
  }
  .p-online__text p br {
    display: none;
  }
  .p-online__circle {
    width: clamp(1.125rem, 0.446rem + 2.98vw, 1.875rem); /*30 18*/
    height: clamp(1.125rem, 0.446rem + 2.98vw, 1.875rem); /*30 18*/
    border: clamp(0.188rem, 0.074rem + 0.5vw, 0.313rem) solid #B3874A; /*5 3*/
  }
}
/* =========================
  Call CTA
========================= */
.p-cta-call {
  width: 100%;
  background-color: #01B513; /* 指定色 */
  color: #fff;
  padding: 48px 20px;
  margin: 120px 0;
}

.p-cta-call__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

/* 上の補足文 */
.p-cta-call__sub {
  margin: 0 0;
  font-size: 14px;
  letter-spacing: 0.1em;
}

.p-cta-call__line {
  position: relative;
  padding: 0 14px;
  font-size: 24px;
}

.p-cta-call__line::before,
.p-cta-call__line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 28px;
  height: 1.5px;
  background: rgb(255, 255, 255);
}

.p-cta-call__line::before {
  left: -34px;
  transform: rotate(45deg);
}

.p-cta-call__line::after {
  right: -34px;
  transform: rotate(-45deg);
}

/* メインコピー */
.p-cta-call__lead {
  margin: 0;
  font-size: clamp(1.875rem, 1.442rem + 0.9vw, 2.5rem); /*40 30*/
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 1;
}

/* 電話番号 */
.p-cta-call__tel {
  margin: 0 0 6px;
  font-size: 80px;
  font-weight: 800;
  line-height: 1;
}

.p-cta-call__tel a {
  color: #fff;
  text-decoration: none;
  font-size: clamp(3.75rem, 2.02rem + 3.6vw, 6.25rem);
  letter-spacing: clamp(0.25rem, -0.096rem + 0.72vw, 0.75rem);
}

.p-cta-call__label {
  display: inline-block;
  padding: 0px 24px;
  font-size: 24px;
  background: #fff;
  color: #01B513;
  border-radius: 999px;
}

/* 注釈 */
.p-cta-call__note {
  margin: 0;
  font-size: 20px;
}

/* SP */
@media (max-width: 768px) {
  .p-cta-call__line {
    font-size: clamp(1.125rem, 0.785rem + 1.49vw, 1.5rem); /*24 18*/
    padding: 0 clamp(0rem, -0.792rem + 3.47vw, 0.875rem); /*0 14.0 0*/
  }
  .p-cta-call__line::before, .p-cta-call__line::after {
    width: clamp(1.125rem, 0.559rem + 2.48vw, 1.75rem); /*28 18*/
  }
  .p-cta-call {
    padding: 36px 16px;
  }
  .p-cta-call__lead {
    font-size: clamp(0.938rem, 0.654rem + 1.24vw, 1.25rem); /*20 15*/
  }
  .p-cta-call__lead img {
    width: 28px; /*28 28*/
  }
  .p-cta-call__tel a {
    font-size: clamp(1.875rem, 0.177rem + 7.44vw, 3.75rem); /*60 30*/
  }
  .p-cta-call__tel {
    font-size: 32px;
    letter-spacing: 0.05em;
  }
  .p-cta-call__label {
    padding: 0px clamp(0.625rem, 0.059rem + 2.48vw, 1.25rem); /*0 20.0 10*/
    font-size: clamp(1rem, 0.094rem + 3.97vw, 2rem); /*32 16*/
  }
  .p-cta-call__note {
    font-size: clamp(0.75rem, 0.071rem + 2.98vw, 1.5rem); /*24 12*/
  }
}
/* =========================
  Info / Standards
========================= */
.p-info {
  padding: 72px 20px;
  background: #fbfaf7; /* うっすら生成り寄せ */
}

.p-info__inner {
  max-width: 90%;
  margin: 0 auto;
}

/* 上：2カラム情報（ラインで区切る） */
.p-info__dl {
  margin: 0 0 36px;
  border-top: 1px solid #C6A773;
}

.p-info__row {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 8px;
  border-bottom: 1px solid #C6A773;
}

.p-info__dt {
  margin: 0;
  font-weight: 700;
  font-size: 14px;
  color: #333;
}

.p-info__dd {
  margin: 0;
  font-size: 14px;
  color: #333;
}

/* 下：設置基準 */
.p-info__standards {
  padding-left: 8px;
}

.p-info__title {
  margin: 0 0 14px;
  font-weight: 700;
  font-size: 14px;
  color: #333;
}

/* リスト本体：黒丸 */
.p-info__list {
  margin: 0;
  padding-left: 20px;
  list-style: none;
  color: #333;
  font-size: 13px;
  line-height: 1.9;
  border-bottom: 1px solid #C6A773;
}

.p-info__list > li {
  position: relative;
  padding-left: 18px;
  margin: 8px 0;
}

.p-info__list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #111;
  transform: translateY(-50%);
}

/* サブリスト：小さい点＋インデント */
.p-info__hasSub {
  margin-top: 10px;
}

.p-info__sub {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  color: #555;
  font-size: 12px;
  line-height: 1.9;
}

.p-info__sub > li {
  position: relative;
  margin: 6px 0;
}

/* SP */
@media (max-width: 768px) {
  .p-info__list {
    line-height: 1;
    padding-bottom: 36px;
  }
  .p-info__list > li {
    margin: 0;
    line-height: 1.5;
  }
  .p-info__sub {
    margin: 0;
    line-height: 1.5;
  }
  .p-info__sub > li {
    margin: 0;
    line-height: 1.5;
  }
}
/* =========================
  Page Top
========================= */
.p-pagetop {
  width: 100%;
  background: rgba(236, 131, 103, 0.4); /* ベージュ指定 */
  text-align: center;
}

.p-pagetop__link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 18px 0 16px;
  color: var(--brown);
  font-size: 24px;
  text-decoration: none;
  letter-spacing: 0.08em;
}

.p-pagetop__icon {
  display: inline-block; /* ← transformを効かせるため必須 */
  transform: rotate(90deg); /* 上向き */
  font-size: 30px;
  line-height: 1;
}

/* hover（控えめ） */
.p-pagetop__link:hover {
  opacity: 0.75;
}

/*レスポンシブ*/
@media (max-width: 768px) {
  .p-pagetop {
    margin-bottom: 60px;
  }
}
/* =========================
  Guide sections base
========================= */
.p-guideSection {
  position: relative;
  overflow: hidden;
  height: clamp(18.75rem, -0.023rem + 39.01vw, 45.813rem); /*733*/
  margin: clamp(7.5rem, 2.297rem + 10.81vw, 15rem) 0;
}

/* 背景イラスト */
.p-guideSection__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  /* うっすら感が必要なら */
  opacity: 1;
}

/* 写真 */
.p-guideSection__photo {
  position: absolute;
  inset: 0;
  z-index: 2;
  top: clamp(3.813rem, 1.168rem + 5.5vw, 7.625rem); /*122*/
  left: clamp(27.5rem, 0.056rem + 57.03vw, 67.063rem); /*1073 440*/
}

.p-guideSection__photo img {
  width: clamp(14.063rem, -2.196rem + 33.78vw, 37.5rem); /*600*/
  height: clamp(14.063rem, -2.196rem + 33.78vw, 37.5rem); /*600*/
}

/* 文字（最前面） */
.p-guideSection__body {
  position: relative;
  z-index: 3;
}

/* 見出し */
.p-guideSection__title {
  margin: 0 0 clamp(16px, 2vw, 24px);
  font-size: clamp(18px, 1.2vw + 12px, 28px);
  font-weight: 800;
  color: var(--brown);
  letter-spacing: 0.06em;
}

/* =============
  特徴（1つ目）
============= */
.p-guideFeatures .p-guideSection__bg {
  /* 背景PNG差し替え用（パスは仮） */
  background-image: url("../img/features-bg.png");
}

/* 文章は読みやすく */
.p-guideFeatures__text p {
  margin: 0 0 14px;
  line-height: 1.9;
  color: var(--brown);
  font-size: clamp(14px, 0.6vw + 12px, 16px);
}

.p-guideFeatures__text p:last-child {
  margin-bottom: 0;
}

/* =============
  西三河…（2つ目）
============= */
.p-guideClinic {
  background: #fbf8ef; /* 必要なら変更 */
}

.p-guideClinic .p-guideSection__bg {
  /* 背景PNG差し替え用（パスは仮） */
  background-image: url("../img/guide/clinic-bg.png");
}

/* 箇条書き */
.p-guideClinic__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  font-size: clamp(14px, 0.6vw + 12px, 16px);
  line-height: 1.8;
  color: var(--brown);
}

/* 丸い点（デザイン寄せ） */
.p-guideClinic__list li {
  position: relative;
  padding-left: 1.4em;
}

.p-guideClinic__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #B3874A;
  transform: translateY(-50%);
}

/* =========================
  SP調整
========================= */
@media (max-width: 768px) {
  .p-guideSection {
    padding: 28px 0;
  }
  .p-guideSection__photo img {
    width: min(360px, 88vw);
    transform: translateY(12px);
  }
  .p-guideSection__title {
    text-align: center;
  }
}
/* =========================
  Page Header（子ページ共通）
========================= */
.p-pageHeader {
  position: relative;
  padding: 0; /* 背景を上に置くのでここは0でもOK */
  background: #fff;
}

/* 背景イラスト部分（高さはデザインに合わせて調整） */
.p-pageHeader__bg {
  height: 326px; /* 例 */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* 中身 */
/* タイトル */
.p-pageHeader__title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  height: 100%;
  /* 文字側の指定は、内側spanに寄せるのがおすすめ */
}

.p-pageHeader__titleText {
  font-size: 60px;
  letter-spacing: 0.08em;
  font-weight: 700;
  line-height: 1;
  color: var(--brown);
  -webkit-text-stroke: 10px #fff; /* 白フチの太さ */
  paint-order: stroke fill; /* stroke→fill順に */
  filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.18));
}

/* ナビ */
.p-pageHeader__nav {
  margin-top: 14px;
}

.p-pageHeader__navList {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.p-pageHeader__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid #B3874A;
  color: #B3874A;
  background: #fff;
  font-size: clamp(0.75rem, 0.6rem + 0.3vw, 0.95rem);
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}

.p-pageHeader__pill:hover {
  opacity: 0.85;
}

/* =========================
  ページ別（背景差し替え）
========================= */
/* ご案内 */
.p-pageHeader--guide .p-pageHeader__bg {
  background-image: url("../img/page-header-guide.png");
}

/* 例：医師紹介 */
.p-pageHeader--doctor .p-pageHeader__bg {
  background-image: url("../img/page-header-doctor.png");
}

/* 例：在宅での医療について */
.p-pageHeader--homecare .p-pageHeader__bg {
  background-image: url("../img/page-header-homecare.png");
}

/* =========================
  Breadcrumb
========================= */
.p-breadcrumb {
  background: #EC8367; /* スクショの帯っぽい色。必要なら変数へ */
  padding: 20px 0 20px 10%;
  color: #fff;
  font-weight: 500;
  /* プラグインで ul/ol どっちでも崩れないように */
}
.p-breadcrumb ol,
.p-breadcrumb ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.p-breadcrumb li {
  display: inline-flex;
  align-items: center;
  font-size: 20px;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.p-breadcrumb {
  /* 区切り（liが増えたら自動で出る） */
}
.p-breadcrumb li + li::before {
  content: "＞";
  display: inline-block;
  margin: 0 10px;
  opacity: 0.9;
}
.p-breadcrumb a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.p-breadcrumb a:hover {
  opacity: 0.8;
  text-decoration: underline;
}
.p-breadcrumb {
  /* 現在地 */
}
.p-breadcrumb [aria-current=page] {
  font-weight: 700;
  opacity: 0.95;
}
.p-breadcrumb {
  /* よくあるプラグインの separator を出すタイプも吸収 */
}
.p-breadcrumb .separator {
  margin: 0 10px;
  opacity: 0.9;
}
.p-breadcrumb {
  /* SP */
}
@media (max-width: 768px) {
  .p-breadcrumb {
    padding: 8px 0;
  }
  .p-breadcrumb li {
    font-size: 12px;
  }
  .p-breadcrumb li + li::before {
    margin: 0 8px;
  }
}

/* =========================
  丸ボタンナビ
========================= */
.p-pageHeader__nav {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.p-pageHeader__navList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 上段：少し目立たせる */
.p-pageHeader__navList--primary {
  gap: 12px 16px;
}
.p-pageHeader__navList--primary .p-pageHeader__pill {
  font-weight: 700;
}

/* 下段：通常 */
.p-pageHeader__navList--secondary .p-pageHeader__pill {
  font-weight: 500;
}
/*# sourceMappingURL=style.css.map */
