@charset "UTF-8";
/*
Theme Name:  takamura
Author:      Aigis
Description: 高村医院
Version:     1.0.0
Requires at least: 7.0
Requires PHP: 8.0
*/

.home {
  color: var(--color-text-primary);
  background: var(--color-bg-page);
  font-family: var(--font-family-body);
}

.home :where(section, footer, [id]) {
  scroll-margin-top: var(--space-20);
}

.p-home-container {
  width: min(100%, var(--layout-container-max));
  margin-inline: auto;
  padding-inline: var(--space-6);
}
.p-footer__inner .p-home-container{
  padding-inline:0;
}

.p-home-header__topInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: min(100%, var(--layout-container-max));
  margin-inline: auto;
  padding: var(--space-3) var(--layout-container-padding) var(--space-4);
}

.p-home-header__logo {
  display: block;
  width: min(53vw, 12.45rem);
}

.p-home-header__logo img {
  width: 100%;
  height: auto;
}

.p-home-header__desktop,
.p-home-header__nav {
  display: none;
}

.p-home-header__mobile-actions {
  display: flex;
  align-items: center;
  gap: var(--space-5);
}

.p-home-header__mobile-actions > a {
  display: grid;
  place-items: center;
  width: var(--space-8);
  height: var(--space-12);
}

.p-home-header__menu {
  display: grid;
  gap: 7px;
  width: var(--space-12);
  min-height: var(--space-10);
  padding: var(--space-3) var(--space-1);
  border: 0;
  background: transparent;
}

.p-home-header__menu .p-header__menuLine {
  width: 100%;
  height: 1px;
  background: var(--color-brand-primary);
}

.p-head-alert {
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  padding: var(--space-3) var(--layout-container-padding);
  background: var(--color-bg-highlight);
}

.p-head-alert:not([hidden]) {
  display: flex;
}

.p-head-alert strong {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-brand-accent);
}

.p-head-alert p { margin: 0; font-weight: var(--font-weight-bold); }
.p-head-alert a { color: var(--color-brand-accent); font-size: var(--font-size-xs); }

.p-fv {
  display: grid;
  gap: var(--space-5);
  padding-bottom: var(--space-16);
}

.p-fv h1 span{
font-size:clamp(24px, calc(15.549px + 2.254vw), 48px);
}

.p-fv__visual {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  min-height: clamp(34rem, 148vw, 42rem);
  padding: clamp(15rem, 70vw, 18rem) var(--space-6) var(--space-2);
  background: url("./assets/images/p-fv__bg--sp.webp") center top / cover no-repeat;
}

/* 2枚目・3枚目を追加する場合は ::before / ::after に background-image を指定するだけでよい（未指定レイヤーは透明のまま無視される） */
.p-fv__visual::before,
.p-fv__visual::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: center top / cover no-repeat;
  opacity: 0;
  content: "";
  animation: p-fv-visual-fade 18s infinite;
}

.p-fv__visual::before { animation-delay: 6s; }
.p-fv__visual::after { animation-delay: 12s; }

@keyframes p-fv-visual-fade {
  0% { opacity: 0; }
  3% { opacity: 1; }
  28% { opacity: 1; }
  33% { opacity: 0; }
  100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .p-fv__visual::before,
  .p-fv__visual::after { animation: none; }
}

@media (min-width: 768px) {
  .p-fv__visual { min-height: 54rem; }
  .p-fv__content{margin-bottom:var(--space-12);}
}

.p-fv__content {
  display: grid;
  gap: var(--space-8);
  width: min(100%, 31.25rem);
  margin-inline: auto;
}

.p-fv__eyebrow {
  width: fit-content;
  margin: 0;
  padding: var(--space-2);
  border-block: 1px solid var(--color-brand-primary);
  color: var(--color-brand-primary);
  font-family: var(--font-family-heading);
  font-size: clamp(18px, calc(17.296px + 0.188vw), 20px);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-tight);
}

.p-fv h1 {
  margin: calc(-1 * var(--space-3)) 0 0;
  color: var(--color-brand-primary);
  font-family: var(--font-family-heading);
  font-size: clamp(32px, calc(23.549px + 2.254vw), 56px);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  letter-spacing: 0.08em;
}

.p-fv__lead {
  margin: 0;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
}

.p-fv__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  width: 100%;
  min-height: var(--space-16);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-bg-cta);
  color: var(--color-text-on-primary);
  box-shadow: var(--shadow-button);
  text-align: center;
}

.p-fv__cta span { display: grid; font-family: var(--font-family-heading); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); line-height: 1.3; }
.p-fv__cta strong { font-size: var(--font-size-xl); letter-spacing: 0.02em; }

.p-fv__points {
  display: grid;
  gap: 0;
    width: calc(100% - 48px);
    max-width: 500px;
  margin: 0 auto;
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-surface-card);
  box-shadow: var(--shadow-md);
  list-style: none;
}

.p-fv__points li {
  display: grid;
  grid-template-columns: var(--space-8) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
  min-width: 0;
  padding-block: var(--space-4);
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}

.p-fv__points li + li { border-top: 1px solid var(--color-border-default); }
.p-fv__points img { width: min(100%, var(--space-8)); max-height: var(--space-10); object-fit: contain; }

.p-info { padding-block: 0 var(--space-16); }
.p-info__inner { display: grid; gap: var(--space-12); width: min(100%, var(--layout-container-max)); margin-inline: auto; padding-inline: var(--layout-container-padding); }
.p-info__updates { display: grid; gap: var(--space-12); }
.p-update-block, .p-xfeed { display: grid; gap: var(--space-8); min-width: 0; }

.c-home-heading { display: grid; gap: var(--space-3); }
.c-home-heading > span { display: flex; align-items: center; gap: var(--space-2); color: var(--color-brand-primary); font-size: var(--font-size-xs); line-height: 1; }
.c-home-heading > span::after { flex: 1; height: 6px; background: radial-gradient(circle at calc(100% - 3px) center, #e980a3 0 3px, transparent 3.5px), linear-gradient(#009fe8, #009fe8) left center / calc(100% - 3px) 1px no-repeat; content: ""; }
.c-home-heading > h2 { margin: 0; color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: var(--font-size-xl); font-weight: var(--font-weight-medium); line-height: 1.3; }

.p-update-list { display: grid; gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.p-update-list a { position: relative; display: grid; gap: var(--space-2); padding: 0 var(--space-6) var(--space-3) 0; border-bottom: 1px solid var(--color-border-default); color: var(--color-text-primary); }
.p-update-list a::after, .c-home-text-link::after, .p-about-card h3::after, .p-home-menu__links a::after, .p-abortion__nav a::after, .p-home-footer nav a::after { color: var(--color-brand-accent); content: "\203A"; }
.p-update-list a::after { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.p-update-list time { color: var(--color-text-secondary); font-size: var(--font-size-sm); }
.p-update-list--compact a { min-height: 2.375rem; align-content: center; }
.c-home-text-link { display: inline-flex; align-items: center; gap: var(--space-3); width: fit-content; color: var(--color-brand-primary); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
.p-xfeed picture, .p-xfeed img { display: block; width: 100%; height: auto; }

@media (max-width: 767px) {
  .ctf-item ~ .ctf-item { display: none; }
}

.c-home-display { display: grid; gap: var(--space-1); margin-bottom: var(--space-8); }
.c-home-display > span { display: flex; align-items: center; gap: var(--space-1); color: var(--color-brand-primary); font-size: var(--font-size-xs); }
.c-home-display > span::after { width: 27px; height: 5px; background: radial-gradient(circle, var(--color-brand-accent) 2px, transparent 2.5px) right center / 5px 5px no-repeat, linear-gradient(var(--color-brand-primary), var(--color-brand-primary)) left center / 22px 1px no-repeat; content: ""; }
.c-home-display h2 { margin: 0; color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: clamp(var(--font-size-xl), 7.5vw, var(--font-size-2xl)); font-weight: var(--font-weight-medium); line-height: 1.4; letter-spacing: 0.02em; }

.p-about { padding-block: var(--space-16); background: var(--color-bg-emphasis); }
.p-about__intro { display: grid; gap: var(--space-8); }
.p-about__intro > img { width: 100%; aspect-ratio: 580 / 300; border-radius: var(--radius-lg); object-fit: cover; object-position: bottom; }
.p-about__intro > div { display: grid; gap: var(--space-8); line-height: 1.9; }
.p-about__intro p { margin: 0; }
.p-about__lead { font-family: var(--font-family-heading); font-size: var(--font-size-md); font-weight: var(--font-weight-medium); line-height: 1.7; }
.p-about__cards { display: grid; gap: var(--space-4); margin-top: var(--space-8); }
.p-about-card { display: grid; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface-card); color: var(--color-text-primary); box-shadow: var(--shadow-card); }
.p-about-card h3 { display: grid; grid-template-columns: auto 1fr auto; gap: var(--space-2); align-items: center; margin: 0; padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-border-default); color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: var(--font-size-md); font-weight: var(--font-weight-medium); }
.p-about-card h3 img { width: auto; height: var(--space-6); }
.p-about-card p { margin: 0; font-size: var(--font-size-sm); line-height: var(--line-height-normal); }
.p-about-card em { color: var(--color-error); font-style: normal; }

.p-doctor { padding: 8.75rem 0 var(--space-16); background: var(--color-bg-highlight) url("./assets/images/p-doctor__bg--sp.jpg") center top / 100% auto no-repeat; }
.p-doctor__body { display: grid; gap: var(--space-2); }
.p-doctor__copy { display: grid; gap: var(--space-8); line-height: 1.9; }
.p-doctor__copy p { margin: 0; }

.p-home-menu { padding-block: var(--space-16) var(--space-10); }
.c-home-title { display: grid; justify-items: center; margin-bottom: var(--space-10); color: var(--color-brand-primary); }
.c-home-title span { font-size: var(--font-size-xs); }
.c-home-title h2 { margin: 0; font-family: var(--font-family-heading); font-size: var(--font-size-xl); font-weight: var(--font-weight-medium); }
.p-home-menu__main { display: grid; gap: var(--space-6); padding: var(--space-5); border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface-card); box-shadow: var(--shadow-card); }
.p-home-menu__main picture, .p-home-menu__main img { display: block; width: 100%; }
.p-home-menu__main img { aspect-ratio: 295 / 120; border-radius: var(--radius-md); object-fit: cover; }
.p-home-menu__main > div { display: grid; gap: var(--space-4); }
.p-home-menu__main h3 { margin: 0; padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-brand-secondary-hover); color: var(--color-brand-accent); font-family: var(--font-family-heading); font-size: var(--font-size-lg); font-weight: var(--font-weight-medium); }
.p-home-menu__main p { margin: 0; font-size: var(--font-size-sm); line-height: var(--line-height-normal); }
.p-home-menu__main .c-home-text-link { justify-self: end; }
.p-home-menu__subheading { width: fit-content; margin: var(--space-10) 0 var(--space-8); padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-brand-primary); color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: var(--font-size-lg); font-weight: var(--font-weight-medium); }
.p-home-menu__links { display: grid; gap: var(--space-2); }
.p-home-menu__links a { display: grid; grid-template-columns: var(--space-8) auto 1fr auto; gap: var(--space-3); align-items: center; min-height: var(--space-12); padding: var(--space-2) var(--space-4); border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); color: var(--color-text-primary); box-shadow: var(--shadow-card); }
.p-home-menu__links img { width: var(--space-8); max-height: var(--space-8); object-fit: contain; }
.p-home-menu__links small { font-size: var(--font-size-xs); }

.c-home-wave { height: clamp(2rem, 8.8vw, 3.7rem); background-image: url("./assets/images/c-deco--wave--sp.svg"); background-size: contain; background-repeat: repeat-x; background-position: center; }
.c-home-wave--reverse { transform: rotate(180deg); }

.p-abortion { padding-block: var(--space-10) var(--space-16); background: var(--color-bg-emphasis); }
.p-abortion__intro { display: grid; gap: var(--space-8); }
.p-abortion__text { display: contents; }
.p-abortion__text > p { margin: 0; line-height: 1.9; }
.p-abortion__hero { order: -1; }
.p-abortion__hero img, .p-abortion__banner img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }
.p-abortion__banner { margin-top: var(--space-2); }
.p-abortion__banner img { border-radius: 0; }
.p-abortion__doctor { display: grid; justify-items: center; gap: var(--space-8); margin-top: var(--space-10); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-surface-card); }
.p-abortion__doctor img { width: 7.5rem; aspect-ratio: 1; border-radius: var(--radius-circle); object-fit: cover; }
.p-abortion__doctor p { margin: 0; font-size: var(--font-size-sm); line-height: 1.9; }
.p-abortion__nav { margin-top: var(--space-10); }
.p-abortion__nav h3 { margin: 0 0 var(--space-5); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border-default); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); }
.p-abortion__nav > div { display: grid; }
.p-abortion__nav a { display: flex; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-2); color: var(--color-text-primary); font-size: var(--font-size-sm); }
.p-abortion__card-note { display: flex; gap: var(--space-2); align-items: flex-start; margin: var(--space-6) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border-default); font-size: var(--font-size-sm); line-height: var(--line-height-normal); }
.p-abortion__cta { display: grid; gap: var(--space-8); margin-top: var(--space-8); }
.p-abortion__phone { display: grid; justify-items: center; gap: var(--space-6); padding: var(--space-6) var(--space-5); border-radius: var(--radius-lg); background: var(--color-bg-cta); color: var(--color-text-on-primary); text-align: center; }
.p-abortion__phone > span { display: grid; gap: var(--space-4); }
.p-abortion__phone strong { font-family: var(--font-family-heading); font-size: clamp(24px, calc(21.887px + 0.563vw), 30px); line-height: var(--line-height-normal); }
.p-abortion__phone small { display: block; font-size: clamp(12px, calc(10.592px + 0.376vw), 16px); line-height: var(--line-height-normal); }
.p-abortion__phone:hover{color:var(--color-text-on-primary);}
.p-abortion__number { line-height: 1.3; font-family: var(--font-family-heading); font-size:clamp(36px, calc(30.366px + 1.502vw), 52px); letter-spacing: 0.05em; }
.p-abortion__number b { padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-brand-primary-soft); color: var(--color-bg-cta); font-family: var(--font-family-body); font-size: clamp(10px, calc(9.296px + 0.188vw), 12px); }
.p-abortion__form { display: grid; gap: var(--space-6); padding: var(--space-6) var(--space-5) 0; border-top: 1px solid var(--color-border-default); text-align: center; }
.p-abortion__form h3 { margin: 0 0 var(--space-5); color: var(--color-brand-accent); font-family: var(--font-family-heading); font-size: clamp(20px, calc(18.592px + 0.376vw), 24px); }
.p-abortion__form p { margin: 0; font-size: var(--font-size-sm); line-height: 1.9; }
.p-abortion__form p small { color: var(--color-text-secondary); }
.p-abortion__form > a { display: flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--space-16); padding: var(--space-4); border: 1px solid var(--color-brand-secondary-hover); border-radius: var(--radius-md); background: var(--color-brand-secondary); color: var(--color-brand-tertiary); font-weight: var(--font-weight-bold); }

.p-feature { padding-block: var(--space-10) var(--space-16); }
.p-feature__list { display: grid; gap: var(--space-10); }
.p-feature__item { display: grid; gap: var(--space-6); }
.p-feature__item > img { width: 100%; aspect-ratio: 492 / 304; border-radius: var(--radius-lg); object-fit: cover; object-position: bottom; }
.p-feature__item > div { display: grid; gap: var(--space-2); }
.p-feature__label { line-height: 1; display: flex; align-items: center; gap: 10px; margin: 0 0 var(--space-2); color: var(--color-brand-accent); font-size: var(--font-size-xs); letter-spacing: 0.1em; }
.p-feature__label b { font-size: var(--font-size-xl); font-weight: var(--font-weight-normal); }
.p-feature__label b::after { margin-left: 10px; content: "\2022"; }
.p-feature__item h3 { margin: 0 0 var(--space-5) 0; font-family: var(--font-family-heading); font-size: var(--font-size-xl); font-weight: var(--font-weight-medium); line-height: var(--line-height-normal); }
.p-feature__item > div > p:last-child { margin: 0; font-size: var(--font-size-sm); line-height: 1.9; }

.p-home-access { padding-block: 0 var(--space-16); }
.p-home-access .c-home-heading { margin-bottom: var(--space-12); }
.p-home-access__content { display: grid; gap: var(--space-10); }
.p-home-access__details { display: grid; gap: var(--space-5); }
.p-home-access__details h3, .p-home-access__details p { margin: 0; }
.p-home-access__details p { line-height: var(--line-height-normal); 
    display: flex;
    gap: 8px;}
.p-home-access__details > p:nth-of-type(1)::before { display: inline-block;
    width: 18px;
    height: 20px;
    margin-right: var(--space-1);
    background-image: url(assets/icons/icon-access.svg);
    background-repeat: no-repeat;
    background-size: 18px 20px;
    vertical-align: -2px;
    content: "";}
.p-home-access__details > p:nth-of-type(2)::before { display: inline-block;
    width: 18px;
    height: 20px;
    margin-right: var(--space-1);
    background-image: url(assets/icons/icon-phone-bl.svg);
    background-repeat: no-repeat;
    background-size: 18px 20px;
    vertical-align: -2px;
    content: "";}
.p-home-access__table { max-width: 100%; }
.p-home-access table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: clamp(0.625rem, 2.7vw, var(--font-size-xs)); }
.p-home-access :where(th, td) { padding: 10px clamp(2px, 1vw, var(--space-3)); border: 1px solid #a1a1a1; text-align: center; }
.p-home-access :where(th:first-child) { width: 28%; }
.p-home-access thead th { background: var(--color-brand-secondary-soft); font-weight: var(--font-weight-medium); }
.p-home-access :where(th:first-child) { text-align: left; }
.p-home-access tbody td:not(:nth-last-child(-n+3)) { color: var(--color-brand-accent); }
.p-home-access__content picture img { width: 100%; height: auto; }
.p-home-access__map { min-height: clamp(12.5rem, 44vw, 15.625rem); margin-top: var(--space-10); background: #e4e4e4; }

.p-home-footer { padding-block: var(--space-8) var(--space-16); background: var(--color-bg-emphasis); }
.p-home-footer__cta { display: grid; gap: var(--space-8); }
.p-home-footer__phone { background: var(--color-surface-base); display: grid; justify-items: center; gap: var(--space-3); padding: var(--space-6); border: 1px solid var(--color-brand-primary); border-radius: var(--radius-lg); color: var(--color-text-primary); text-align: center; }
.p-home-footer__phone strong { color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: clamp(20px, calc(18.592px + 0.376vw), 24px); }
.p-home-footer__phone strong::before { display: inline-block;
    width: 21px;
    height: 27px;
    margin-right: var(--space-2);
    background-image: url(assets/icons/icon-phone-bl.svg);
    background-repeat: no-repeat;
    background-size: 21px 27px;
    vertical-align: -5px;
    content: "";}
    .p-home-footer__phone strong span{border-bottom: 1px solid var(--color-brand-primary);font-size: clamp(20px, calc(18.592px + 0.376vw), 24px);}
.p-home-footer__phone small { font-size: clamp(12px, calc(11.296px + 0.188vw), 14px); font-weight:bold;}
.p-home-footer__phone b { color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: clamp(36px, calc(34.592px + 0.376vw), 40px); font-weight: var(--font-weight-medium); letter-spacing: var(--letter-spacing-wider); line-height: 1;}
.p-home-footer__phone span { font-size: clamp(14px, calc(13.296px + 0.188vw), 16px); }
.p-home-footer__phone span.tel-hour{
  padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    background: var(--color-brand-primary-soft);
    color: var(--color-bg-cta);
    font-size: clamp(10px, calc(9.296px + 0.188vw), 12px);
}
.p-home-footer__form { display: grid; gap: var(--space-5); text-align: center; }
.p-home-footer__form h2 { margin: 0; color: var(--color-brand-accent); font-family: var(--font-family-heading); font-size: clamp(18px, calc(17.296px + 0.188vw), 20px); }
.p-home-footer__form p { margin: 0; font-size:clamp(12px, calc(11.296px + 0.188vw), 14px); line-height: 1.9; color: var(--color-text-primary); font-weight: bold; }
.p-home-footer__form small { color: var(--color-text-secondary); font-weight: normal;}
.p-home-footer__form a { padding: var(--space-5); border: 1px solid var(--color-brand-secondary-hover); border-radius: var(--radius-md); background: var(--color-brand-secondary); color: var(--color-brand-tertiary); font-weight: var(--font-weight-bold); 
display: flex;
    justify-content: center;
    gap: 8px; max-width: 368px;
    width: 100%;margin-inline: auto;}
.p-home-footer__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.p-home-footer nav { display: grid; align-content: start; }
.p-home-footer nav h2 { display: flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-4) 0; color: var(--color-brand-primary); font-size: var(--font-size-md); font-weight: var(--font-weight-normal); }
.p-home-footer nav h2::after { flex: 1; height: 6px; background:radial-gradient(circle at calc(100% - 3px) center, #e980a3 0 3px, transparent 3.5px), linear-gradient(#009fe8, #009fe8) left center / calc(100% - 3px) 1px no-repeat; content: ""; }
.p-home-footer nav a { display: flex; justify-content: space-between; gap: var(--space-2); padding-block: var(--space-2); border-bottom: 1px solid var(--color-border-default); color: var(--color-text-primary); font-size: var(--font-size-sm); }
.p-home-footer__abortion { grid-template-columns: 1fr; margin-top: var(--space-8); }
.p-home-footer__abortion ul, .p-home-footer__abortion li { display: contents; }

  .p-home-header__consult { display: flex; align-items: center; gap: var(--space-3); width: 100%; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--color-brand-accent); color: var(--color-text-on-primary); box-shadow: var(--shadow-button); font-family: var(--font-family-heading); font-weight: var(--font-weight-bold); line-height: 1.4; }
  .p-home-header__consult small { font-size: var(--font-size-sm); }
  .p-home-header__consult img {
    width: 32px;
}
@media (min-width: 1024px) {
  .p-home-header__topInner { padding-block: var(--space-3) var(--space-4); }
  .p-home-header__logo { width: 16.56rem; }
  .p-home-header__mobile-actions { display: none; }
  .p-home-header__desktop { display: flex; align-items: center; gap: var(--space-6); }
  .p-home-header__tel { display: grid; justify-items: center; padding-right: var(--space-6); border-right: 1px solid var(--color-border-default); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
  .p-home-header__tel a { display: flex; align-items: flex-end; gap: var(--space-3); color: var(--color-brand-primary); font-family: var(--font-family-heading); font-size: var(--font-size-3xl); font-weight: var(--font-weight-medium); letter-spacing: 0.02em; line-height: 1;}
  .p-home-header__hours { font-weight: bold; display: grid; gap: var(--space-1); font-size: var(--font-size-xs); line-height: 1.4; }
  .p-home-header__hours strong { font-size: var(--font-size-sm); }
  .p-home-header__consult { display: flex; align-items: center; gap: var(--space-3); width: 14.375rem; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--color-brand-accent); color: var(--color-text-on-primary); box-shadow: var(--shadow-button); font-family: var(--font-family-heading); font-weight: var(--font-weight-bold); line-height: 1.4; }
  .p-home-header__consult small { font-size: var(--font-size-sm); }
  .p-home-header__consult img {
    width: 32px;
}
.p-home-header__consult:hover { color: var(--color-text-inverse); }
  .p-home-header__nav { display: block; border-top: 1px solid var(--color-border-default); }
  .p-home-header__nav .p-header__nav-list { justify-content: center; }
  .p-home-header__nav .p-header__nav-list > li + li::before { position: absolute; top: 50%; left: 0; width: 1px; height: 0.875rem; background:#E4E4E4; content: ""; transform: translateY(-50%); }
  .p-home-header__nav .p-header__nav-list > li > a { padding: var(--space-5) var(--space-10); font-family: var(--font-family-heading); font-weight: var(--font-weight-medium); line-height: 1; }

  .p-fv { gap: var(--space-5); padding: 0 var(--layout-container-padding) var(--space-20); }
  .p-fv__visual { align-items: center; width: min(100%, var(--layout-container-max)); min-height: 31.25rem; margin-inline: auto; padding: var(--space-16); border-radius: var(--radius-xl); background-image: url("./assets/images/p-fv__bg--pc.webp"); }
  .p-fv__content { gap: var(--space-8); width: 42rem; margin: 0; }
  .p-fv__lead { font-size: var(--font-size-sm); line-height: 1.9; }
  .p-fv__cta { width: 18.75rem; }
  .p-fv__points { grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(100%, var(--layout-container-max)); max-width: none; padding: var(--space-4) 0; border-radius: var(--radius-xl); }
  .p-fv__points li { grid-template-columns: var(--space-10) minmax(0, 1fr); gap: var(--space-2); padding: var(--space-1) var(--space-6); }
  .p-fv__points li + li { border-top: 0; border-left: 1px solid var(--color-border-default); }

  .p-info { padding-block: 0 7.5rem; }
  .p-info__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-20); }
  .p-info__updates { gap: var(--space-12); }
  .c-home-heading > h2 { font-size: var(--font-size-2xl); }
  .p-xfeed picture { width: min(100%, 31.44rem); }

  .c-home-display { margin-bottom: var(--space-12); }
  .c-home-display h2 { font-size: clamp(2.375rem, 3.2vw, 2.875rem); line-height: 1.45; }
  .p-about { padding-block: 7.5rem; }
  .p-about__intro { grid-template-columns: minmax(0, 1fr) minmax(0, 0.96fr); gap: var(--space-16); align-items: start; }
  .p-about__intro > div { gap: var(--space-8); }
  .p-about__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-12); }

  .p-doctor { min-height: 38.75rem; padding-block: var(--space-20); background-image: url("./assets/images/p-doctor__bg--pc.jpg"); background-position: center; background-size: cover; }
  .p-doctor__body { width: min(100%, 56.25rem); gap: var(--space-2); }
  .p-doctor__copy { gap: var(--space-8); font-size: var(--font-size-base); }

  .p-home-menu { padding-block: 7.5rem var(--space-16); }
  .c-home-title { margin-bottom: var(--space-10); }
  .c-home-title h2 { font-size: var(--font-size-2xl); }
  .p-home-menu__main { grid-template-columns: minmax(20rem, 32.5rem) minmax(0, 1fr); gap: var(--space-12); padding: var(--space-8); }
  .p-home-menu__main img { height: 100%; aspect-ratio: auto; object-fit: cover; }
  .p-home-menu__main h3 { font-size: var(--font-size-xl); }
  .p-home-menu__main p { font-size: var(--font-size-base); }
  .p-home-menu__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-12); }
  .p-home-menu__links a:nth-child(1) { grid-column: 1; grid-row: 1; }
  .p-home-menu__links a:nth-child(2) { grid-column: 1; grid-row: 2; }
  .p-home-menu__links a:nth-child(3) { grid-column: 1; grid-row: 3; }
  .p-home-menu__links a:nth-child(4) { grid-column: 2; grid-row: 1; }
  .p-home-menu__links a:nth-child(5) { grid-column: 2; grid-row: 2; }
  .c-home-wave { background-image: url("./assets/images/c-deco--wave.svg"); background-size: cover;}

  .p-abortion { padding-block: var(--space-20) 2.5rem; }
  .p-abortion__intro { grid-template-columns: minmax(0, 1fr) minmax(25rem, 31.25rem); gap: var(--space-16); }
  .p-abortion__text { display: grid; gap: var(--space-8); }
  .p-abortion__hero { order: initial; }
  .p-abortion__doctor { grid-template-columns: 11.25rem 1px minmax(0, 1fr); gap: var(--space-12); align-items: center; justify-items: initial; margin-top: var(--space-16); padding: var(--space-6) var(--space-10); }
  .p-abortion__doctor::before { grid-column: 2; width: 1px; height: 9.3rem; background: var(--color-border-default); content: ""; }
  .p-abortion__doctor > img, .p-abortion__doctor > picture { grid-row: 1; grid-column: 1; }
  .p-abortion__doctor img { width: 11.25rem; }
  .p-abortion__doctor p { grid-row: 1; grid-column: 3; font-size: var(--font-size-base); }
  .p-abortion__nav h3{font-family:var(--font-family-heading); font-size:clamp(16px, calc(15.296px + 0.188vw), 18px);}
  .p-abortion__nav > div { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-5) var(--space-8); }
  .p-abortion__card-note { justify-content: center; }
  .p-abortion__phone { grid-template-columns: auto minmax(0, 1fr) auto; justify-items: initial; align-items: center; text-align: left; padding: var(--space-6) var(--space-8);}
  .p-abortion__phone > span { gap: 10px; }
  .p-abortion__form { grid-template-columns: minmax(0, 1fr) 23rem; align-items: center; padding: var(--space-10); text-align: left; }
.p-abortion__number {
    gap: 0px !important;
}
  .p-feature { padding-block: var(--space-16) 7.5rem; }
  .p-feature__list { gap: var(--space-10); }
  .p-feature__item { grid-template-columns: 30.75rem minmax(0, 1fr); gap: var(--space-20); align-items: start; }
  .p-feature__item > div { gap: var(--space-2); }
  .p-feature__item h3 { font-size: var(--font-size-2xl); margin-bottom: var(--space-4); }
  .p-feature__item > div > p:last-child { font-size: var(--font-size-base); }

  .p-home-access { padding-bottom: 7.5rem; }
  .p-home-access__content { grid-template-columns: minmax(0, 1fr) 31.2rem; gap: var(--space-16); }
  .p-home-access__table { overflow: visible; }
  .p-home-access table { min-width: 0; }
  .p-home-access__map { margin-top: var(--space-10); }

  .p-home-footer { padding-block: var(--space-12); }
  .p-home-footer__cta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
  .p-home-footer__form { align-content: center; padding-inline: var(--space-6); }
  .p-home-footer__links { gap: var(--space-16); margin-top: var(--space-8); }
  .p-home-footer__abortion { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 var(--space-8); }
  .p-home-footer__abortion h2 { grid-column: 1 / -1; margin-bottom: var(--space-5); font-size: var(--font-size-md); }
}

.p-menuDialog__nav{
  margin-bottom: var(--space-8);
}

.p-menuDialog__nav a{
font-family: var(--font-family-heading);
font-size: var(--font-size-lg);
}

.p-menuDialog__nav-list > li{
padding: var(--space-3) 0;
border-bottom: 1px solid var(--color-border-default);
}
.p-menuDialog__nav-list li .sub-menu {
  padding: var(--space-3) 0;
  background: var(--color-bg-emphasis);
  margin-top: var(--space-3);
}
.p-menuDialog__nav-list li .sub-menu li{
padding:0 var(--space-4);
}
.p-menuDialog__nav-list li .sub-menu li a{
  font-size: var(--font-size-sm);
  position: relative;
  font-family: var(--font-family-body);
  padding: var(--space-2) 0;
}
.p-menuDialog__nav-list li .sub-menu li a::before{
content: "\30FB";
color: var(--color-brand-primary);
margin-right: var(--space-2);
}
.p-fv__cta span strong{
  font-size:var(--font-size-xl);
  letter-spacing: var(--letter-spacing-wider);
}

.cta__under{
  border-bottom: 1px solid var(--color-text-on-primary);
}
.c-home-display h2 span{
  font-size:clamp(24px, calc(19.07px + 1.315vw), 38px);
}

.footer_banner {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 16px;
	margin-top:var(--space-6);
}
.footer_banner figure {
    margin: 0 !important;
    max-width: 200px;
}
@media (max-width: 767px) {
.footer_banner {
    justify-content: flex-start;
    flex-wrap: wrap;
	}
}

.grecaptcha-badge {
  visibility: hidden;
}