/*
Theme Name: 人形町駅前こころのクリニック Child
Theme URI: https://ment-ningyocho.com/
Description: 人形町駅前こころのクリニック新サイト用 Twenty Twenty-Five 子テーマ。
Author: 人形町駅前こころのクリニック
Template: twentytwentyfive
Version: 0.5.0
Text Domain: ningyocho-clinic-child
*/

:root{
  --clinic-teal:#2b7f8d;
  --clinic-teal-dark:#155763;
  --clinic-teal-soft:#eaf5f6;
  --clinic-orange:#d98a3d;
  --clinic-orange-soft:#fff5e9;
  --clinic-ink:#233036;
  --clinic-muted:#607078;
  --clinic-line:#dce6e8;
  --clinic-bg:#f7fbfb;
  --clinic-white:#fff;
  --clinic-shadow:0 16px 40px rgba(24,73,82,.10);
  --clinic-radius:22px;
  --clinic-max:1180px;
}

html{scroll-behavior:smooth;}
body{
  margin:0;
  color:var(--clinic-ink);
  background:var(--clinic-white);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  line-height:1.8;
  padding-bottom:0;
}
*{box-sizing:border-box;}
a{color:inherit;}
img{max-width:100%;height:auto;}
.clinic-container{width:min(calc(100% - 40px),var(--clinic-max));margin-inline:auto;}

.clinic-topbar{
  background:var(--clinic-teal-dark);
  color:#fff;
  font-size:13px;
}
.clinic-topbar__inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.clinic-topbar p{margin:0;}
.clinic-topbar a{text-decoration:none;font-weight:700;}

.clinic-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(220,230,232,.9);
  backdrop-filter:blur(10px);
}
.admin-bar .clinic-header{top:32px;}
.clinic-header__inner{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.clinic-brand{
  display:flex;
  align-items:center;
  gap:13px;
  text-decoration:none;
  min-width:280px;
}
.clinic-brand__mark{
  width:46px;height:46px;border-radius:50% 50% 50% 16px;
  background:var(--clinic-teal);
  position:relative;
  flex:0 0 auto;
}
.clinic-brand__mark::after{
  content:"";
  position:absolute;
  width:20px;height:9px;
  border-radius:50%;
  background:#fff;
  left:12px;top:15px;
  transform:rotate(-18deg);
}
.clinic-brand__text{display:flex;flex-direction:column;line-height:1.35;}
.clinic-brand__name{font-weight:800;font-size:19px;letter-spacing:.03em;}
.clinic-brand__sub{font-size:11px;color:var(--clinic-muted);margin-top:3px;}

.clinic-nav{display:flex;align-items:center;gap:4px;}
.clinic-nav a{
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  padding:12px 11px;
  border-radius:10px;
  white-space:nowrap;
}
.clinic-nav a:hover,.clinic-nav a:focus-visible{background:var(--clinic-teal-soft);color:var(--clinic-teal-dark);}
.clinic-nav__reserve{background:var(--clinic-teal)!important;color:#fff!important;margin-left:8px;padding-inline:17px!important;}
.clinic-menu-button{display:none;border:0;background:transparent;padding:8px;cursor:pointer;}
.clinic-menu-button span{display:block;width:27px;height:2px;background:var(--clinic-teal-dark);margin:6px 0;border-radius:2px;}

.clinic-hero{
  position:relative;
  overflow:hidden;
  min-height:570px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 82% 26%,rgba(43,127,141,.22),transparent 29%),
    radial-gradient(circle at 70% 75%,rgba(217,138,61,.12),transparent 24%),
    linear-gradient(125deg,#fff 0%,#f4fbfb 55%,#e7f3f4 100%);
}
.clinic-hero::after{
  content:"";
  position:absolute;
  right:-100px;top:58px;
  width:550px;height:550px;
  border:1px solid rgba(43,127,141,.16);
  border-radius:50%;
  box-shadow:0 0 0 65px rgba(43,127,141,.045),0 0 0 130px rgba(43,127,141,.025);
}
.clinic-hero__inner{position:relative;z-index:2;padding:76px 0 82px;}
.clinic-kicker{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--clinic-teal-dark);font-weight:800;font-size:14px;letter-spacing:.08em;
}
.clinic-kicker::before{content:"";width:34px;height:2px;background:var(--clinic-orange);}
.clinic-hero h1{
  max-width:740px;
  font-size:clamp(34px,5vw,59px);
  line-height:1.35;
  letter-spacing:.035em;
  margin:18px 0 22px;
}
.clinic-hero__lead{
  max-width:680px;font-size:18px;color:#43545b;margin:0 0 30px;
}
.clinic-hero__badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.clinic-badge{
  background:#fff;border:1px solid var(--clinic-line);border-radius:999px;
  padding:8px 14px;font-weight:700;font-size:14px;
}
.clinic-actions{display:flex;flex-wrap:wrap;gap:12px;}
.clinic-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:11px 22px;border-radius:999px;text-decoration:none;font-weight:800;
  border:1px solid var(--clinic-teal);transition:.18s ease;
}
.clinic-btn--primary{background:var(--clinic-teal);color:#fff;}
.clinic-btn--secondary{background:#fff;color:var(--clinic-teal-dark);}
.clinic-btn--accent{background:var(--clinic-orange);border-color:var(--clinic-orange);color:#fff;}
.clinic-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(28,87,98,.12);}

.clinic-section{padding:82px 0;}
.clinic-section--soft{background:var(--clinic-bg);}
.clinic-section--teal{background:var(--clinic-teal-dark);color:#fff;}
.clinic-section__head{margin-bottom:36px;}
.clinic-section__eyebrow{
  color:var(--clinic-orange);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
  display:block;margin-bottom:7px;
}
.clinic-section h2{font-size:clamp(27px,3.2vw,39px);line-height:1.45;margin:0;}
.clinic-section__intro{max-width:760px;color:var(--clinic-muted);margin:12px 0 0;}
.clinic-section--teal .clinic-section__intro{color:#dcebed;}

.clinic-notice{
  margin-top:-38px;position:relative;z-index:5;
}
.clinic-notice__box{
  background:#fff;border-radius:var(--clinic-radius);box-shadow:var(--clinic-shadow);
  padding:25px 30px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:24px;
}
.clinic-notice__label{font-weight:900;color:var(--clinic-teal-dark);}
.clinic-notice__empty{margin:0;color:var(--clinic-muted);font-size:14px;}
.clinic-text-link{font-weight:800;color:var(--clinic-teal-dark);text-decoration:none;}
.clinic-notice__links{display:flex;align-items:center;justify-content:flex-end;gap:8px 22px;flex-wrap:wrap;}

.clinic-grid{display:grid;gap:20px;}
.clinic-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.clinic-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.clinic-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.clinic-card{
  background:#fff;border:1px solid var(--clinic-line);border-radius:var(--clinic-radius);
  padding:27px;text-decoration:none;transition:.18s ease;min-height:100%;
}
.clinic-card:hover{transform:translateY(-3px);box-shadow:var(--clinic-shadow);border-color:#c6dadd;}
.clinic-card__no{font-size:12px;color:var(--clinic-orange);font-weight:900;letter-spacing:.12em;}
.clinic-card h3{margin:8px 0 8px;font-size:20px;line-height:1.5;}
.clinic-card p{margin:0;color:var(--clinic-muted);font-size:14px;}
.clinic-card__arrow{display:inline-block;margin-top:16px;color:var(--clinic-teal-dark);font-weight:900;}

.clinic-access{
  display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch;
}
.clinic-access__main,.clinic-hours{
  border-radius:var(--clinic-radius);background:#fff;border:1px solid var(--clinic-line);padding:30px;
}
.clinic-access__main strong{font-size:23px;color:var(--clinic-teal-dark);}
.clinic-access__main p{margin:10px 0;color:var(--clinic-muted);}
.clinic-hours table{border-collapse:collapse;width:100%;font-size:13px;text-align:center;}
.clinic-hours th,.clinic-hours td{padding:7px 5px;border-bottom:1px solid var(--clinic-line);}
.clinic-hours th:first-child,.clinic-hours td:first-child{text-align:left;font-weight:700;}
.clinic-hours__note{font-size:12px;color:var(--clinic-muted);margin:12px 0 0;}

.clinic-doctor{
  display:grid;grid-template-columns:240px 1fr;gap:34px;align-items:center;
}
.clinic-doctor__photo{
  min-height:280px;border-radius:var(--clinic-radius);
  background:linear-gradient(145deg,#dcebed,#f8fbfb);
  border:1px solid var(--clinic-line);
  display:flex;align-items:center;justify-content:center;text-align:center;color:var(--clinic-muted);font-size:13px;padding:20px;
}
.clinic-doctor h3{font-size:27px;margin:0 0 8px;}
.clinic-doctor p{margin:0 0 16px;}

.clinic-steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.clinic-step{background:#fff;border-radius:var(--clinic-radius);border:1px solid var(--clinic-line);padding:25px;}
.clinic-step::before{
  counter-increment:step;content:"0" counter(step);
  color:var(--clinic-orange);font-weight:900;letter-spacing:.08em;
}
.clinic-step h3{margin:7px 0 7px;font-size:19px;}
.clinic-step p{margin:0;color:var(--clinic-muted);font-size:14px;}

.clinic-faq{display:grid;gap:12px;}
.clinic-faq details{background:#fff;border:1px solid var(--clinic-line);border-radius:15px;padding:0 20px;}
.clinic-faq summary{cursor:pointer;font-weight:800;padding:18px 0;}
.clinic-faq p{margin:0 0 18px;color:var(--clinic-muted);}

.clinic-footer{background:#edf6f6;border-top:1px solid var(--clinic-line);padding:58px 0 100px;}
.clinic-footer__grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:40px;}
.clinic-footer__name{font-size:21px;font-weight:900;margin:0 0 14px;}
.clinic-footer p{margin:5px 0;color:#4d6269;font-size:14px;}
.clinic-footer h3{font-size:14px;color:var(--clinic-teal-dark);margin:0 0 13px;}
.clinic-footer ul{list-style:none;margin:0;padding:0;}
.clinic-footer li{margin:7px 0;}
.clinic-footer a{text-decoration:none;font-size:14px;}
.clinic-footer__copy{border-top:1px solid #d5e4e6;margin-top:36px;padding-top:20px;font-size:12px;color:var(--clinic-muted);}

.clinic-mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:110;
  background:#fff;border-top:1px solid var(--clinic-line);box-shadow:0 -7px 25px rgba(24,73,82,.12);
}
.clinic-mobile-cta a{
  flex:1;text-align:center;text-decoration:none;padding:9px 3px 8px;
  font-size:11px;font-weight:800;color:var(--clinic-teal-dark);line-height:1.35;
}
.clinic-mobile-cta a:first-child{background:var(--clinic-teal);color:#fff;}
.clinic-mobile-cta__icon{display:block;font-size:18px;line-height:1.1;margin-bottom:2px;}

.clinic-page-main{
  width:min(calc(100% - 40px),920px);margin:0 auto;padding:62px 0 90px;
}
.clinic-page-main .wp-block-post-title{font-size:clamp(30px,4vw,46px);line-height:1.4;}
.clinic-page-main .wp-block-post-content{font-size:16px;}

:focus-visible{outline:3px solid rgba(217,138,61,.55);outline-offset:3px;}

@media(max-width:1050px){
  .clinic-nav a{padding:10px 7px;font-size:12px;}
  .clinic-brand{min-width:230px;}
  .clinic-brand__name{font-size:16px;}
  .clinic-grid--4{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:820px){
  body{padding-bottom:63px;}
  .admin-bar .clinic-header{top:46px;}
  .clinic-topbar__inner{justify-content:center;text-align:center;}
  .clinic-topbar__meta{display:none;}
  .clinic-header__inner{min-height:70px;}
  .clinic-brand{min-width:0;}
  .clinic-brand__mark{width:38px;height:38px;}
  .clinic-brand__name{font-size:15px;}
  .clinic-brand__sub{display:none;}
  .clinic-menu-button{display:block;}
  .clinic-nav{
    display:none;position:absolute;top:70px;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--clinic-line);padding:12px 20px 18px;
    box-shadow:0 18px 30px rgba(24,73,82,.12);
    flex-direction:column;align-items:stretch;
  }
  .clinic-nav.is-open{display:flex;}
  .clinic-nav a{font-size:14px;padding:11px 12px;}
  .clinic-nav__reserve{margin:3px 0 0!important;text-align:center;}
  .clinic-hero{min-height:510px;}
  .clinic-hero__inner{padding:58px 0 78px;}
  .clinic-hero h1{font-size:clamp(31px,9.5vw,44px);}
  .clinic-hero__lead{font-size:16px;}
  .clinic-notice__box{grid-template-columns:1fr;gap:7px;padding:22px;}
  .clinic-notice__links{justify-content:flex-start;}
  .clinic-grid--3,.clinic-grid--2{grid-template-columns:1fr;}
  .clinic-access{grid-template-columns:1fr;}
  .clinic-doctor{grid-template-columns:1fr;}
  .clinic-doctor__photo{min-height:220px;}
  .clinic-steps{grid-template-columns:1fr;}
  .clinic-footer__grid{grid-template-columns:1fr;gap:28px;}
  .clinic-mobile-cta{display:flex;}
}
@media(max-width:560px){
  .clinic-container{width:min(calc(100% - 28px),var(--clinic-max));}
  .clinic-section{padding:62px 0;}
  .clinic-grid--4{grid-template-columns:1fr 1fr;gap:12px;}
  .clinic-card{padding:19px 16px;border-radius:17px;}
  .clinic-card h3{font-size:16px;}
  .clinic-card p{font-size:12px;}
  .clinic-card__arrow{font-size:12px;}
  .clinic-actions .clinic-btn{width:100%;}
  .clinic-hours{padding:20px 12px;}
  .clinic-hours table{font-size:11px;}
}


/* v0.3.0: clinic-owned photography and actual logo */
.clinic-brand__mark,
.clinic-brand__text { display:none; }
.clinic-brand{
  min-width:310px;
}
.clinic-brand__logo{
  display:block;
  width:min(310px,28vw);
  height:auto;
}

.clinic-hero{
  min-height:610px;
}
.clinic-hero::after{display:none;}
.clinic-hero__inner{padding:64px 0 78px;}
.clinic-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:48px;
  align-items:center;
}
.clinic-hero__visual{
  position:relative;
}
.clinic-hero__visual img{
  display:block;
  width:100%;
  height:440px;
  object-fit:cover;
  border-radius:34px 8px 34px 8px;
  box-shadow:var(--clinic-shadow);
}
.clinic-hero__visual::before{
  content:"";
  position:absolute;
  inset:-18px 22px 22px -18px;
  border:1px solid rgba(43,127,141,.25);
  border-radius:34px 8px 34px 8px;
  z-index:-1;
}
.clinic-photo-caption{
  margin:10px 4px 0;
  color:var(--clinic-muted);
  font-size:12px;
}

.clinic-access__photo{
  margin-top:22px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--clinic-line);
}
.clinic-access__photo img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
}

.clinic-doctor__photo{
  padding:0;
  overflow:hidden;
}
.clinic-doctor__photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  object-position:center 22%;
}

@media(max-width:1050px){
  .clinic-brand{min-width:255px;}
  .clinic-brand__logo{width:min(255px,25vw);}
  .clinic-hero__grid{grid-template-columns:1fr .85fr;gap:30px;}
  .clinic-hero__visual img{height:390px;}
}
@media(max-width:820px){
  .clinic-brand{min-width:0;}
  .clinic-brand__logo{width:230px;max-width:70vw;}
  .clinic-hero__grid{grid-template-columns:1fr;}
  .clinic-hero__visual{order:-1;}
  .clinic-hero__visual img{
    height:250px;
    border-radius:22px 6px 22px 6px;
  }
  .clinic-hero__inner{padding:34px 0 72px;}
}


/* v0.3.1: logo-matched grey palette, exterior hero, map */
:root{
  --clinic-teal:#77716e;
  --clinic-teal-dark:#514c49;
  --clinic-teal-soft:#f1efee;
  --clinic-orange:#aa825f;
  --clinic-orange-soft:#f7f1eb;
  --clinic-ink:#373331;
  --clinic-muted:#716b68;
  --clinic-line:#e2dfdd;
  --clinic-bg:#f7f6f5;
  --clinic-shadow:0 16px 40px rgba(61,56,53,.10);
}

.clinic-topbar{
  background:#5a5552;
}
.clinic-header{
  border-bottom-color:#e3e0de;
}
.clinic-nav a:hover,
.clinic-nav a:focus-visible{
  background:#f1efee;
  color:#4d4845;
}
.clinic-nav__reserve{
  background:#6f6966!important;
}
.clinic-menu-button span{
  background:#514c49;
}

.clinic-hero{
  background:
    radial-gradient(circle at 80% 22%,rgba(120,113,109,.11),transparent 29%),
    linear-gradient(125deg,#fff 0%,#faf9f8 55%,#f1efee 100%);
}
.clinic-kicker,
.clinic-card__arrow,
.clinic-text-link,
.clinic-access__main strong{
  color:#514c49;
}
.clinic-btn{
  border-color:#77716e;
}
.clinic-btn--primary{
  background:#6f6966;
  border-color:#6f6966;
}
.clinic-btn--secondary{
  color:#514c49;
}
.clinic-mobile-cta a{
  color:#514c49;
}
.clinic-mobile-cta a:first-child{
  background:#6f6966;
}
.clinic-footer{
  background:#f3f1f0;
}

/* Hero exterior photo: keep the building centered and avoid awkward cropping. */
.clinic-hero__grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:54px;
}
.clinic-hero__visual{
  max-width:455px;
  margin-left:auto;
}
.clinic-hero__visual img{
  height:500px;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 47%;
  border-radius:26px 8px 26px 8px;
}
.clinic-hero__visual::before{
  border-color:rgba(100,94,90,.20);
}
.clinic-photo-caption{
  text-align:right;
}

/* Google map card */
.clinic-map{
  border-radius:var(--clinic-radius);
  overflow:hidden;
  border:1px solid var(--clinic-line);
  background:#fff;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.clinic-map iframe{
  width:100%;
  height:100%;
  min-height:430px;
  border:0;
  display:block;
}
.clinic-map__footer{
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:var(--clinic-muted);
}
.clinic-map__footer a{
  font-weight:800;
  color:#514c49;
  text-decoration:none;
}

/* Doctor portrait alignment */
.clinic-doctor{
  align-items:start;
}
.clinic-doctor__photo{
  min-height:0;
  aspect-ratio:4/5;
}
.clinic-doctor__photo img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center top;
}

/* Cards/photos align cleanly */
.clinic-access{
  align-items:stretch;
}
.clinic-access__main,
.clinic-hours,
.clinic-map{
  height:100%;
}

@media(max-width:1050px){
  .clinic-hero__grid{gap:34px;}
  .clinic-hero__visual{max-width:400px;}
  .clinic-hero__visual img{height:440px;}
}
@media(max-width:820px){
  .clinic-hero__visual{
    max-width:none;
    width:100%;
    margin:0;
  }
  .clinic-hero__visual img{
    width:100%;
    height:310px;
    aspect-ratio:auto;
    object-position:center 53%;
  }
  .clinic-photo-caption{text-align:left;}
  .clinic-map iframe{min-height:320px;}
}


/* v0.3.2: hero full-building image, compact map, spacing fixes */
.clinic-hero{
  min-height:0;
}
.clinic-hero__inner{
  padding:56px 0 64px;
}
.clinic-hero__grid{
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:42px;
  align-items:center;
}
.clinic-hero__copy{
  min-width:0;
}
.clinic-hero__visual{
  width:100%;
  max-width:420px;
  margin-left:auto;
  justify-self:end;
}
.clinic-hero__visual img{
  width:100%;
  height:460px;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center center;
}

.clinic-notice{
  margin-top:-28px;
}

.clinic-access{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:26px;
  align-items:start;
}
.clinic-access__main,
.clinic-hours{
  height:auto;
}
.clinic-access__main{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.clinic-access__main .clinic-btn{
  width:fit-content;
}
.clinic-map--compact{
  margin-top:10px;
}
.clinic-map--compact iframe{
  height:210px;
  min-height:210px;
}
.clinic-map__footer{
  padding:10px 14px;
  font-size:12px;
}
.clinic-hours{
  align-self:start;
}
.clinic-hours table{
  font-size:12px;
}
.clinic-hours th,
.clinic-hours td{
  padding:8px 4px;
}

.clinic-section + .clinic-section{
  margin-top:0;
}

@media(max-width:1050px){
  .clinic-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
    gap:28px;
  }
  .clinic-hero__visual{
    max-width:360px;
  }
  .clinic-hero__visual img{
    height:400px;
  }
  .clinic-access{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .clinic-hero__grid{
    grid-template-columns:1fr;
  }
  .clinic-hero__visual{
    order:-1;
    max-width:none;
    margin:0;
    justify-self:stretch;
  }
  .clinic-hero__visual img{
    height:320px;
    aspect-ratio:auto;
    object-position:center center;
  }
  .clinic-photo-caption{
    text-align:left;
  }
  .clinic-map--compact iframe{
    height:180px;
    min-height:180px;
  }
}

@media(max-width:560px){
  .clinic-hero__inner{
    padding:28px 0 52px;
  }
  .clinic-notice{
    margin-top:-18px;
  }
  .clinic-access__main,
  .clinic-hours{
    padding:18px 14px;
  }
  .clinic-hours table{
    font-size:10px;
  }
  .clinic-hours__note{
    font-size:11px;
  }
}


/* v0.3.3: rotate/fix hero photo, use static map image, brighten cards, enlarge footer */
.clinic-hero__copy h1{
  font-size:clamp(46px,5.0vw,64px);
  line-height:1.24;
  letter-spacing:.02em;
}
.clinic-hero__copy h1 span{
  display:block;
}
.clinic-hero__lead{
  max-width:680px;
  font-size:17px;
  line-height:1.9;
}
.clinic-hero__visual{
  max-width:390px;
}
.clinic-hero__visual img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center center;
}
.clinic-photo-caption{
  margin-top:8px;
  text-align:right;
}

.clinic-card,
.clinic-step,
.clinic-faq details{
  background:#fffdfa;
  border-color:#ddd4ca;
}
.clinic-card p,
.clinic-step p,
.clinic-faq p{
  color:#53636a;
}
.clinic-card:hover{
  background:#ffffff;
  border-color:#d0c3b6;
}

.clinic-access__main,
.clinic-hours{
  background:#fff;
}
.clinic-map--compact{
  margin-top:12px;
  overflow:hidden;
  border:1px solid var(--clinic-line);
  border-radius:18px;
  background:#fff;
}
.clinic-map__image-link{
  display:block;
}
.clinic-map--compact img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:8/3;
  object-fit:cover;
}
.clinic-map--compact iframe{
  display:none;
}

.clinic-footer__name{
  font-size:24px;
  margin-bottom:16px;
}
.clinic-footer p,
.clinic-footer a{
  font-size:16px;
  line-height:1.9;
}
.clinic-footer h3{
  font-size:18px;
  margin-bottom:14px;
}
.clinic-footer li{
  margin:9px 0;
}
.clinic-footer__copy{
  font-size:14px;
}

@media(max-width:1050px){
  .clinic-hero__visual{
    max-width:350px;
  }
  .clinic-hero__copy h1{
    font-size:clamp(42px,4.6vw,56px);
  }
}

@media(max-width:820px){
  .clinic-hero__visual img{
    height:auto;
    aspect-ratio:3/4;
    object-fit:cover;
  }
  .clinic-hero__copy h1{
    font-size:clamp(34px,9vw,48px);
    line-height:1.28;
  }
  .clinic-map--compact img{
    aspect-ratio:8/3;
  }
}

@media(max-width:560px){
  .clinic-hero__copy h1{
    font-size:clamp(31px,10vw,40px);
  }
  .clinic-footer__name{
    font-size:22px;
  }
  .clinic-footer p,
  .clinic-footer a{
    font-size:15px;
  }
  .clinic-footer h3{
    font-size:17px;
  }
}


/* v0.3.4: hero logo + wide exterior, whiter cards, watermark */
.clinic-hero{
  position:relative;
  overflow:hidden;
}
.clinic-hero::after{
  content:"";
  position:absolute;
  right:clamp(14px, 4.8vw, 70px);
  bottom:22px;
  width:min(22vw, 230px);
  aspect-ratio:670/470;
  background:url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo.png') center/contain no-repeat;
  opacity:.065;
  pointer-events:none;
  z-index:0;
}
.clinic-hero__inner,
.clinic-notice{
  position:relative;
  z-index:1;
}
.clinic-hero__visual{
  width:100%;
  max-width:400px;
  margin-left:auto;
  justify-self:end;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.clinic-hero__logo-card,
.clinic-hero__photo-card{
  border:1px solid rgba(123, 111, 101, .16);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 35px rgba(56,48,43,.08);
  overflow:hidden;
}
.clinic-hero__logo-card{
  padding:16px 18px;
}
.clinic-hero__logo-card img{
  display:block;
  width:100%;
  max-width:290px;
  height:auto;
  margin:0 auto;
}
.clinic-hero__photo-card img{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
  object-position:center center;
}
.clinic-photo-caption{
  margin-top:0;
  text-align:right;
}

.clinic-card,
.clinic-step,
.clinic-faq details{
  background:#fffefd;
  border-color:#e5ddd4;
}
.clinic-card:hover,
.clinic-step:hover,
.clinic-faq details:hover{
  background:#ffffff;
  border-color:#d8cfc5;
}

@media(max-width:1050px){
  .clinic-hero__visual{
    max-width:360px;
  }
  .clinic-hero__photo-card img{
    height:190px;
  }
  .clinic-hero::after{
    width:min(25vw, 190px);
    opacity:.055;
  }
}

@media(max-width:820px){
  .clinic-hero::after{
    right:10px;
    bottom:14px;
    width:155px;
    opacity:.05;
  }
  .clinic-hero__visual{
    order:-1;
    max-width:none;
    margin:0;
    justify-self:stretch;
  }
  .clinic-hero__logo-card img{
    max-width:260px;
  }
  .clinic-hero__photo-card img{
    height:180px;
  }
  .clinic-photo-caption{
    text-align:left;
  }
}

@media(max-width:560px){
  .clinic-hero__visual{
    gap:12px;
  }
  .clinic-hero__logo-card{
    padding:14px 14px;
  }
  .clinic-hero__logo-card img{
    max-width:220px;
  }
  .clinic-hero__photo-card img{
    height:160px;
  }
}


/* v0.3.5: rebalance hero, use map image without cropping, move watermark into wallpaper */
.clinic-hero{
  background-image:
    url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo-soft.png'),
    radial-gradient(circle at 82% 26%,rgba(43,127,141,.18),transparent 29%),
    radial-gradient(circle at 70% 75%,rgba(217,138,61,.08),transparent 24%),
    linear-gradient(125deg,#fff 0%,#f8f7f5 58%,#f1efeb 100%);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-position:right 5% bottom 7%, 82% 26%, 70% 75%, 0 0;
  background-size:230px auto, auto, auto, auto;
}
.clinic-hero::after{
  display:none;
}
.clinic-hero__visual{
  max-width:430px;
  gap:12px;
}
.clinic-hero__logo-card{
  width:min(76%, 290px);
  align-self:center;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.88);
}
.clinic-hero__logo-card img{
  max-width:none;
  width:100%;
}
.clinic-hero__photo-card{
  border-radius:20px;
  background:#fff;
}
.clinic-hero__photo-card img{
  height:175px;
  object-fit:cover;
  object-position:center center;
}
.clinic-photo-caption{
  font-size:12px;
  color:#81756d;
  padding-right:4px;
}

.clinic-card,
.clinic-step,
.clinic-faq details,
.clinic-access__main,
.clinic-hours{
  background:#fff;
}
.clinic-card,
.clinic-step,
.clinic-faq details{
  border-color:#e7e0d8;
}
.clinic-card:hover,
.clinic-step:hover,
.clinic-faq details:hover{
  background:#fff;
  border-color:#d9cfc5;
}

.clinic-map--compact{
  background:#fff;
}
.clinic-map--compact img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}

@media (max-width:1050px){
  .clinic-hero{
    background-size:190px auto, auto, auto, auto;
    background-position:right 3% bottom 7%, 82% 26%, 70% 75%, 0 0;
  }
  .clinic-hero__visual{
    max-width:390px;
  }
  .clinic-hero__photo-card img{
    height:160px;
  }
}

@media (max-width:820px){
  .clinic-hero{
    background-size:150px auto, auto, auto, auto;
    background-position:right 2% bottom 5%, 82% 26%, 70% 75%, 0 0;
  }
  .clinic-hero__visual{
    max-width:none;
    gap:10px;
  }
  .clinic-hero__logo-card{
    width:min(62%, 250px);
  }
  .clinic-hero__photo-card img{
    height:155px;
  }
}

@media (max-width:560px){
  .clinic-hero{
    background-size:120px auto, auto, auto, auto;
    background-position:right 2% bottom 4%, 82% 26%, 70% 75%, 0 0;
  }
  .clinic-hero__logo-card{
    width:min(58%, 220px);
    padding:10px 12px;
  }
  .clinic-hero__photo-card img{
    height:145px;
  }
}


/* v0.3.6: editable hero media + repeating watermark wallpaper */
.clinic-hero{
  background-image:
    url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-repeat.png'),
    radial-gradient(circle at 82% 26%,rgba(43,127,141,.14),transparent 29%),
    radial-gradient(circle at 70% 75%,rgba(217,138,61,.07),transparent 24%),
    linear-gradient(125deg,#fff 0%,#f8f7f5 58%,#f1efeb 100%);
  background-repeat:repeat,no-repeat,no-repeat,no-repeat;
  background-size:185px auto,auto,auto,auto;
  background-position:0 0,82% 26%,70% 75%,0 0;
}
.clinic-hero__logo-card{
  min-height:190px;
  background-image:var(--clinic-hero-logo);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.clinic-hero__photo-card{
  min-height:175px;
  background-image:var(--clinic-hero-photo);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:var(--clinic-hero-photo-x) var(--clinic-hero-photo-y);
}
.clinic-hero__logo-card img,
.clinic-hero__photo-card img{
  display:none!important;
}

@media(max-width:820px){
  .clinic-hero{
    background-size:150px auto,auto,auto,auto;
  }
  .clinic-hero__logo-card{min-height:170px;}
  .clinic-hero__photo-card{min-height:155px;}
}
@media(max-width:560px){
  .clinic-hero{
    background-size:125px auto,auto,auto,auto;
  }
  .clinic-hero__logo-card{min-height:150px;}
  .clinic-hero__photo-card{min-height:145px;}
}


/* v0.3.7: sparse, large watermark wallpaper across home sections */
/* Replace the dense small-logo wallpaper with a large, widely spaced mark. */
body.home .clinic-hero{
  background-image:
    url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-sparse-tile-v0392.png'),
    radial-gradient(circle at 82% 26%,rgba(43,127,141,.14),transparent 29%),
    radial-gradient(circle at 70% 75%,rgba(217,138,61,.07),transparent 24%),
    linear-gradient(125deg,#fff 0%,#f8f7f5 58%,#f1efeb 100%);
  background-repeat:repeat,no-repeat,no-repeat,no-repeat;
  background-size:820px 610px,auto,auto,auto;
  background-position:0 0,82% 26%,70% 75%,0 0;
}

/* Carry the same sparse watermark into the whitespace below the hero. */
body.home .clinic-section{
  background-image:url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-sparse-tile-v0392.png');
  background-repeat:repeat;
  background-size:820px 610px;
  background-position:0 0;
}

body.home .clinic-section--soft{
  background-color:var(--clinic-bg);
  background-image:url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-sparse-tile-v0392.png');
  background-repeat:repeat;
  background-size:820px 610px;
  background-position:0 0;
}

/* Keep cards solid white so the watermark appears only in surrounding whitespace. */
body.home .clinic-card,
body.home .clinic-step,
body.home .clinic-faq details,
body.home .clinic-access__main,
body.home .clinic-hours,
body.home .clinic-doctor__photo,
body.home .clinic-notice__box{
  background-color:#fff;
}

@media(max-width:1050px){
  body.home .clinic-hero,
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:720px 535px,auto,auto,auto;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:720px 535px;
  }
}

@media(max-width:820px){
  body.home .clinic-hero{
    background-size:620px 460px,auto,auto,auto;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:620px 460px;
  }
}

@media(max-width:560px){
  body.home .clinic-hero{
    background-size:520px 387px,auto,auto,auto;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:520px 387px;
  }
}


/* v0.3.8: lower, lighter, 4x-detail watermark repeat */
body.home .clinic-hero{
  background-position:0 72px,82% 26%,70% 75%,0 0;
}
body.home .clinic-section,
body.home .clinic-section--soft{
  background-position:0 72px;
}

@media(max-width:1050px){
  body.home .clinic-hero{
    background-position:0 62px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:0 62px;
  }
}

@media(max-width:820px){
  body.home .clinic-hero{
    background-position:0 50px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:0 50px;
  }
}

@media(max-width:560px){
  body.home .clinic-hero{
    background-position:0 40px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:0 40px;
  }
}


/* v0.3.9.3: enlarge watermark logos roughly 2x again */
body.home .clinic-hero{
  background-size:1800px 1320px,auto,auto,auto;
  background-position:0 170px,82% 26%,70% 75%,0 0;
}
body.home .clinic-section,
body.home .clinic-section--soft{
  background-size:1800px 1320px;
  background-position:0 170px;
}

@media(max-width:1050px){
  body.home .clinic-hero{
    background-size:1560px 1144px,auto,auto,auto;
    background-position:0 145px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:1560px 1144px;
    background-position:0 145px;
  }
}

@media(max-width:820px){
  body.home .clinic-hero{
    background-size:1320px 968px,auto,auto,auto;
    background-position:0 118px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:1320px 968px;
    background-position:0 118px;
  }
}

@media(max-width:560px){
  body.home .clinic-hero{
    background-size:1080px 792px,auto,auto,auto;
    background-position:0 90px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:1080px 792px;
    background-position:0 90px;
  }
}

/* v0.3.9.4: move sparse watermark further down so the visible logo sits lower */
body.home .clinic-hero{
  background-position:0 620px,82% 26%,70% 75%,0 0;
}
body.home .clinic-section,
body.home .clinic-section--soft{
  background-position:0 620px;
}

@media(max-width:1050px){
  body.home .clinic-hero{
    background-position:0 520px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:0 520px;
  }
}

@media(max-width:820px){
  body.home .clinic-hero{
    background-position:0 420px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:0 420px;
  }
}

@media(max-width:560px){
  body.home .clinic-hero{
    background-position:0 320px,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:0 320px;
  }
}

/* v0.3.9.5: replace tiled watermark with a single large, soft logo per home section */
body.home .clinic-hero{
  background-image:
    url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo-soft.png'),
    radial-gradient(circle at 82% 26%,rgba(43,127,141,.14),transparent 29%),
    radial-gradient(circle at 70% 75%,rgba(217,138,61,.07),transparent 24%),
    linear-gradient(125deg,#fff 0%,#f8f7f5 58%,#f1efeb 100%);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:980px auto,auto,auto,auto;
  background-position:72% calc(100% + 150px),82% 26%,70% 75%,0 0;
}

body.home .clinic-section,
body.home .clinic-section--soft{
  background-image:url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo-soft.png');
  background-repeat:no-repeat;
  background-size:920px auto;
  background-position:72% calc(100% + 155px);
}

@media(max-width:1050px){
  body.home .clinic-hero{
    background-size:840px auto,auto,auto,auto;
    background-position:72% calc(100% + 128px),82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:760px auto;
    background-position:72% calc(100% + 128px);
  }
}

@media(max-width:820px){
  body.home .clinic-hero{
    background-size:700px auto,auto,auto,auto;
    background-position:68% calc(100% + 112px),82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:620px auto;
    background-position:68% calc(100% + 112px);
  }
}

@media(max-width:560px){
  body.home .clinic-hero{
    background-size:520px auto,auto,auto,auto;
    background-position:62% calc(100% + 78px),82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:460px auto;
    background-position:62% calc(100% + 78px);
  }
}


/* v0.3.9.6: one large watermark per section, kept away from section edges */
body.home .clinic-hero{
  background-image:
    url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo-soft.png'),
    radial-gradient(circle at 82% 26%,rgba(43,127,141,.14),transparent 29%),
    radial-gradient(circle at 70% 75%,rgba(217,138,61,.07),transparent 24%),
    linear-gradient(125deg,#fff 0%,#f8f7f5 58%,#f1efeb 100%);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:min(62vw,980px) auto,auto,auto,auto;
  background-position:68% 72%,82% 26%,70% 75%,0 0;
}

body.home .clinic-section{
  background-color:#fff;
  background-image:url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo-soft.png');
  background-repeat:no-repeat;
  background-size:min(58vw,900px) auto;
  background-position:68% 72%;
}

body.home .clinic-section--soft{
  background-color:var(--clinic-bg);
  background-image:url('/wp-content/themes/ningyocho-clinic-child/assets/images/watermark-logo-soft.png');
  background-repeat:no-repeat;
  background-size:min(58vw,900px) auto;
  background-position:68% 72%;
}

@media(max-width:1050px){
  body.home .clinic-hero{
    background-size:min(70vw,820px) auto,auto,auto,auto;
    background-position:66% 72%,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:min(66vw,760px) auto;
    background-position:66% 72%;
  }
}

@media(max-width:820px){
  body.home .clinic-hero{
    background-size:min(86vw,690px) auto,auto,auto,auto;
    background-position:62% 74%,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:min(82vw,620px) auto;
    background-position:62% 74%;
  }
}

@media(max-width:560px){
  body.home .clinic-hero{
    background-size:min(105vw,520px) auto,auto,auto,auto;
    background-position:58% 76%,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-size:min(100vw,470px) auto;
    background-position:58% 76%;
  }
}


/* v0.3.9.7: remove hero photo so the user can place it later manually */
.clinic-hero__visual--logo-only{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:440px;
}
.clinic-hero__visual--logo-only .clinic-hero__logo-card{
  width:min(82%, 390px);
  min-height:230px;
  margin:0 auto;
}
@media(max-width:1050px){
  .clinic-hero__visual--logo-only{min-height:380px;}
  .clinic-hero__visual--logo-only .clinic-hero__logo-card{width:min(84%, 360px);}
}
@media(max-width:820px){
  .clinic-hero__visual--logo-only{min-height:260px;}
  .clinic-hero__visual--logo-only .clinic-hero__logo-card{width:min(72%, 300px); min-height:200px;}
}
@media(max-width:560px){
  .clinic-hero__visual--logo-only{min-height:220px;}
  .clinic-hero__visual--logo-only .clinic-hero__logo-card{width:min(76%, 260px); min-height:180px;}
}


/* v0.3.9.8: shift watermark further right and remove remaining hero logo card */
body.home .clinic-hero{
  background-position:82% 72%,82% 26%,70% 75%,0 0;
}
body.home .clinic-section,
body.home .clinic-section--soft{
  background-position:82% 72%;
}
@media(max-width:1050px){
  body.home .clinic-hero{
    background-position:80% 72%,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:80% 72%;
  }
}
@media(max-width:820px){
  body.home .clinic-hero{
    background-position:76% 74%,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:76% 74%;
  }
}
@media(max-width:560px){
  body.home .clinic-hero{
    background-position:72% 76%,82% 26%,70% 75%,0 0;
  }
  body.home .clinic-section,
  body.home .clinic-section--soft{
    background-position:72% 76%;
  }
}

.clinic-hero__visual--empty{
  width:100%;
  max-width:430px;
  margin-left:auto;
  min-height:440px;
  border:1px solid rgba(123,111,101,.16);
  border-radius:24px;
  background:rgba(255,255,255,.08);
}
@media(max-width:1050px){
  .clinic-hero__visual--empty{
    max-width:380px;
    min-height:390px;
  }
}
@media(max-width:820px){
  .clinic-hero__visual--empty{
    max-width:100%;
    min-height:240px;
  }
}
@media(max-width:560px){
  .clinic-hero__visual--empty{
    min-height:200px;
    border-radius:20px;
  }
}


/* v0.3.9.9: single hero image frame aligned exactly with H1 -> CTA row */
.clinic-hero__grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  grid-template-areas:
    "kicker ."
    "copy visual";
  column-gap:54px;
  row-gap:18px;
  align-items:stretch;
}
.clinic-hero__kicker{
  grid-area:kicker;
  align-self:end;
}
.clinic-hero__copy{
  grid-area:copy;
  min-width:0;
}
.clinic-hero__copy h1{
  margin-top:0;
}
.clinic-hero__visual--empty{
  grid-area:visual;
  width:100%;
  max-width:455px;
  min-height:0;
  height:100%;
  margin:0 0 0 auto;
  align-self:stretch;
  border:1px solid rgba(123,111,101,.22);
  border-radius:24px;
  background:rgba(255,255,255,.08);
  box-shadow:none;
}
.clinic-hero__visual--empty::before{
  display:none !important;
  content:none !important;
}

@media(max-width:1050px){
  .clinic-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);
    column-gap:34px;
  }
  .clinic-hero__visual--empty{
    max-width:390px;
  }
}

@media(max-width:820px){
  .clinic-hero__grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "kicker"
      "copy"
      "visual";
    row-gap:18px;
  }
  .clinic-hero__visual--empty{
    max-width:100%;
    min-height:260px;
    margin:8px 0 0;
  }
}

@media(max-width:560px){
  .clinic-hero__visual--empty{
    min-height:220px;
    border-radius:20px;
  }
}

/* v0.4.0: shared lower-page hierarchy, breadcrumbs, summaries, and review metadata */
.clinic-page-main{
  width:min(calc(100% - 40px),920px);
  margin:0 auto;
  padding:56px 0 96px;
}
.clinic-breadcrumb{
  margin:0 0 22px;
  color:var(--clinic-muted);
  font-size:13px;
  line-height:1.6;
}
.clinic-breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  gap:7px 0;
  margin:0;
  padding:0;
  list-style:none;
}
.clinic-breadcrumb li{
  display:flex;
  align-items:center;
}
.clinic-breadcrumb li:not(:last-child)::after{
  content:"›";
  margin:0 9px;
  color:rgba(96,112,120,.62);
}
.clinic-breadcrumb a{
  color:var(--clinic-teal-dark);
  text-decoration:none;
}
.clinic-breadcrumb a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.clinic-page-main .wp-block-post-title{
  margin:0 0 26px;
  padding:0 0 24px;
  border-bottom:1px solid var(--clinic-line);
  font-size:clamp(30px,4vw,46px);
  line-height:1.4;
  letter-spacing:.015em;
}
.clinic-page-summary{
  margin:0 0 42px;
  padding:22px 26px;
  border:1px solid rgba(43,127,141,.18);
  border-left:5px solid var(--clinic-teal);
  border-radius:16px;
  background:var(--clinic-teal-soft);
}
.clinic-page-summary h2{
  margin:0 0 8px;
  color:var(--clinic-teal-dark);
  font-size:18px;
  line-height:1.5;
}
.clinic-page-summary p{
  margin:0;
  color:var(--clinic-ink);
  font-size:15px;
  line-height:1.85;
}
.clinic-page-main .wp-block-post-content{
  font-size:16px;
  line-height:1.95;
}
.clinic-page-main .wp-block-post-content h2{
  margin-top:2.4em;
  margin-bottom:.8em;
  padding-bottom:.45em;
  border-bottom:2px solid var(--clinic-line);
  font-size:clamp(24px,3.2vw,34px);
  line-height:1.5;
}
.clinic-page-main .wp-block-post-content h3{
  margin-top:2em;
  margin-bottom:.65em;
  color:var(--clinic-teal-dark);
  font-size:clamp(20px,2.7vw,26px);
  line-height:1.55;
}
.clinic-page-main .wp-block-post-content p,
.clinic-page-main .wp-block-post-content ul,
.clinic-page-main .wp-block-post-content ol{
  margin-top:0;
  margin-bottom:1.35em;
}
.clinic-page-meta{
  margin:64px 0 0;
  padding:22px 26px;
  border-top:1px solid var(--clinic-line);
  border-bottom:1px solid var(--clinic-line);
  background:#fafcfc;
  color:var(--clinic-muted);
  font-size:13px;
}
.clinic-page-meta__label{
  margin:0 0 12px;
  color:var(--clinic-ink);
  font-size:14px;
  font-weight:800;
}
.clinic-page-meta dl{
  display:grid;
  gap:7px;
  margin:0;
}
.clinic-page-meta dl > div{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
}
.clinic-page-meta dt{
  font-weight:700;
  color:var(--clinic-ink);
}
.clinic-page-meta dd{
  margin:0;
}
.clinic-page-meta a{
  color:var(--clinic-teal-dark);
  text-underline-offset:3px;
}

@media(max-width:560px){
  .clinic-page-main{
    width:min(calc(100% - 30px),920px);
    padding:38px 0 76px;
  }
  .clinic-breadcrumb{
    margin-bottom:17px;
    font-size:12px;
  }
  .clinic-page-main .wp-block-post-title{
    margin-bottom:20px;
    padding-bottom:18px;
  }
  .clinic-page-summary{
    margin-bottom:32px;
    padding:18px 18px 18px 20px;
    border-radius:14px;
  }
  .clinic-page-summary h2{
    font-size:17px;
  }
  .clinic-page-meta{
    margin-top:48px;
    padding:18px;
  }
  .clinic-page-meta dl > div{
    grid-template-columns:1fr;
    gap:1px;
  }
}


/* Keep legacy WordPress embeds inside the content column. */
.clinic-page-main .wp-embedded-content,
.clinic-page-main iframe{
  max-width:100%;
}

/* v0.4.2: Reception guidance AI shell (local UI only). */
.clinic-ai-guide,
.clinic-ai-guide *{
  box-sizing:border-box;
}
.clinic-ai-guide{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1000;
  color:#4f4945;
  font-family:var(--wp--preset--font-family--body, "Noto Sans JP", sans-serif);
}
.clinic-ai-guide__launcher{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:11px 18px 11px 11px;
  border:1px solid #d8d0ca;
  border-radius:999px;
  background:#fff;
  color:#514c49;
  box-shadow:0 10px 30px rgba(55,48,44,.18);
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.02em;
}
.clinic-ai-guide__launcher:hover{
  background:#f7f4f1;
  border-color:#bdb3ac;
}
.clinic-ai-guide__launcher-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:#6f6966;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.clinic-ai-guide__panel[hidden]{
  display:none !important;
}
.clinic-ai-guide__panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 12px);
  width:min(390px,calc(100vw - 32px));
  max-height:calc(100vh - 112px);
  max-height:calc(100dvh - 112px);
  overflow-x:hidden;
  overflow-y:auto;
  border:1px solid #ddd5cf;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 55px rgba(55,48,44,.24);
  overscroll-behavior:contain;
}
.clinic-ai-guide__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 20px 16px;
  border-bottom:1px solid #e5ded8;
  background:#f4f1ee;
}
.clinic-ai-guide__eyebrow{
  margin:0 0 3px;
  color:#817872;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.clinic-ai-guide__header h2{
  margin:0;
  color:#4f4945;
  font-size:22px;
  line-height:1.35;
}
.clinic-ai-guide__close{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  margin:-4px -4px 0 0;
  padding:0;
  border:1px solid #d9d0c9;
  border-radius:50%;
  background:#fff;
  color:#5f5853;
  cursor:pointer;
  font:inherit;
  font-size:25px;
  font-weight:400;
  line-height:1;
}
.clinic-ai-guide__close:hover{
  background:#eee9e5;
}
.clinic-ai-guide__body{
  padding:18px 20px 20px;
}
.clinic-ai-guide__description{
  margin:0;
  color:#4f4945;
  font-size:14px;
  font-weight:700;
  line-height:1.75;
}
.clinic-ai-guide__caution{
  margin:10px 0 0;
  padding:11px 12px;
  border-radius:10px;
  background:#f7f5f3;
  color:#716963;
  font-size:11px;
  line-height:1.7;
}
.clinic-ai-guide__suggestions{
  display:grid;
  gap:7px;
  margin-top:16px;
}
.clinic-ai-guide__suggestions-title{
  margin:0 0 1px;
  color:#766e69;
  font-size:11px;
  font-weight:800;
}
.clinic-ai-guide__suggestion{
  width:100%;
  padding:9px 11px;
  border:1px solid #ded6d0;
  border-radius:10px;
  background:#fff;
  color:#57504c;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  line-height:1.45;
  text-align:left;
}
.clinic-ai-guide__suggestion:hover{
  background:#f6f2ef;
  border-color:#bfb4ad;
}
.clinic-ai-guide__messages{
  margin-top:14px;
  padding:11px 12px;
  border-radius:12px 12px 3px 12px;
  background:#eee9e5;
  color:#514c49;
  font-size:12px;
  line-height:1.7;
}
.clinic-ai-guide__form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin-top:15px;
}
.clinic-ai-guide__form input{
  width:100%;
  min-width:0;
  height:44px;
  margin:0;
  padding:0 12px;
  border:1px solid #cfc6bf;
  border-radius:10px;
  background:#fff;
  color:#4f4945;
  font:inherit;
  font-size:13px;
}
.clinic-ai-guide__form input::placeholder{
  color:#918882;
}
.clinic-ai-guide__form button{
  min-width:62px;
  height:44px;
  margin:0;
  padding:0 14px;
  border:1px solid #6f6966;
  border-radius:10px;
  background:#6f6966;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:800;
}
.clinic-ai-guide__form button:hover{
  background:#59534f;
}
.clinic-ai-guide__links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.clinic-ai-guide__links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #cfc6bf;
  border-radius:10px;
  color:#514c49;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
}
.clinic-ai-guide__links a:first-child{
  border-color:#6f6966;
  background:#6f6966;
  color:#fff;
}
.clinic-ai-guide__links a:hover{
  filter:brightness(.96);
}
@media(max-width:820px){
  .clinic-ai-guide{
    right:12px;
    bottom:calc(82px + env(safe-area-inset-bottom));
  }
  .clinic-ai-guide__launcher{
    min-height:46px;
    padding:8px 14px 8px 8px;
    font-size:13px;
  }
  .clinic-ai-guide__launcher-icon{
    width:28px;
    height:28px;
    flex-basis:28px;
    font-size:10px;
  }
  .clinic-ai-guide__panel{
    width:min(390px,calc(100vw - 36px));
    max-height:calc(100vh - 158px);
    max-height:calc(100dvh - 158px);
  }
}
@media(max-width:480px){
  .clinic-ai-guide__panel{
    width:calc(100vw - 36px);
    border-radius:17px;
  }
  .clinic-ai-guide__header{
    padding:16px 16px 13px;
  }
  .clinic-ai-guide__header h2{
    font-size:20px;
  }
  .clinic-ai-guide__body{
    padding:15px 16px 16px;
  }
  .clinic-ai-guide__suggestion{
    padding:8px 10px;
  }
}

/* v0.4.4: temporary in-browser conversation display for Reception guidance AI. */
.clinic-ai-guide__messages{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding:0;
  background:transparent;
}
.clinic-ai-guide__messages[hidden]{
  display:none !important;
}
.clinic-ai-guide__message{
  max-width:92%;
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
  line-height:1.7;
  overflow-wrap:anywhere;
  white-space:pre-line;
}
.clinic-ai-guide__message--user{
  justify-self:end;
  margin-left:30px;
  border-radius:12px 12px 3px 12px;
  background:#6f6966;
  color:#fff;
}
.clinic-ai-guide__message--assistant{
  justify-self:start;
  margin-right:22px;
  border-radius:12px 12px 12px 3px;
  background:#eee9e5;
  color:#514c49;
}
.clinic-ai-guide__message-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:-1px 0 3px;
}
.clinic-ai-guide__message-links a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #cfc6bf;
  border-radius:999px;
  background:#fff;
  color:#514c49;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
  text-decoration:none;
}
.clinic-ai-guide__message-links a:hover{
  background:#f6f2ef;
}
.clinic-ai-guide__form input:disabled,
.clinic-ai-guide__form button:disabled{
  cursor:wait;
  opacity:.68;
}

/* Keep the AI panel below the WordPress admin bar during signed-in previews. */
.admin-bar .clinic-ai-guide__panel{
  max-height:calc(100vh - 148px);
  max-height:calc(100dvh - 148px);
}
@media(max-width:820px){
  .admin-bar .clinic-ai-guide__panel{
    max-height:calc(100vh - 204px);
    max-height:calc(100dvh - 204px);
  }
}


/* v0.4.8: in-page privacy confirmation shown before Reception guidance AI starts. */
.clinic-ai-guide__intro{
  display:grid;
  gap:11px;
}
.clinic-ai-guide__intro[hidden],
.clinic-ai-guide__chat[hidden]{
  display:none !important;
}
.clinic-ai-guide__intro h3{
  margin:0;
  color:#4f4945;
  font-size:18px;
  line-height:1.45;
}
.clinic-ai-guide__intro p{
  margin:0;
  color:#625b57;
  font-size:12px;
  line-height:1.75;
}
.clinic-ai-guide__intro-emergency{
  padding:10px 11px;
  border-left:3px solid #a86f55;
  border-radius:8px;
  background:#f7f2ee;
}
.clinic-ai-guide__consent{
  width:100%;
  min-height:48px;
  margin-top:3px;
  padding:10px 14px;
  border:1px solid #6f6966;
  border-radius:10px;
  background:#6f6966;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.5;
}
.clinic-ai-guide__consent:hover,
.clinic-ai-guide__consent:focus-visible{
  background:#59534f;
}


/* v0.4.9: blend the selected home hero photo into the warm neutral design. */
body.home .clinic-hero__visual--empty{
  position:relative;
  overflow:hidden;
  border-color:rgba(123,111,101,.15);
  background-color:#f3f0ec;
  background-image:var(--clinic-hero-photo);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:var(--clinic-hero-photo-x) var(--clinic-hero-photo-y);
  box-shadow:0 16px 34px rgba(79,73,69,.09);
  filter:saturate(.86) contrast(.96) brightness(1.02);
}
body.home .clinic-hero__visual--empty::after{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(239,234,229,.08) 56%,rgba(123,111,101,.05));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
}

/* Responsive access video. */
.clinic-responsive-video{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  margin:22px 0 38px;
  overflow:hidden;
  border:1px solid rgba(123,111,101,.16);
  border-radius:18px;
  background:#f3f0ec;
  box-shadow:0 12px 28px rgba(79,73,69,.08);
}
.clinic-responsive-video iframe{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  border:0;
}
@media(max-width:560px){
  body.home .clinic-hero__visual--empty{
    min-height:220px;
    border-radius:18px;
    box-shadow:0 10px 24px rgba(79,73,69,.08);
  }
  .clinic-responsive-video{
    margin:18px 0 30px;
    border-radius:14px;
  }
}


/* =========================================================
   v0.5.0: HOME お知らせ・ブログ一覧（統合版）
   これより下に clinic-home-updates 用の追加上書きを重ねないこと。
   ========================================================= */

body.home .clinic-notice--updates{
  margin-top:-28px;
  position:relative;
  z-index:5;
}

body.home .clinic-notice--updates .clinic-notice__box{
  display:block;
  background:#fff;
  border-radius:var(--clinic-radius);
  box-shadow:var(--clinic-shadow);
  padding:22px 30px 18px;
}

body.home .clinic-notice--updates .clinic-notice__label{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0 0 12px;
  color:#514c49;
  font-size:18px;
  font-weight:900;
  line-height:1.4;
}

body.home .clinic-notice--updates .clinic-notice__label small{
  color:#77716d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

body.home .clinic-notice--updates .clinic-home-updates__scroll{
  display:block;
  width:100%;
  height:184px;
  max-height:184px;
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0;
  padding:0 7px 0 0;
  border-top:1px solid #e2dedb;
  border-bottom:1px solid #e2dedb;
  scrollbar-width:thin;
  scrollbar-color:#bdb7b3 transparent;
}

body.home .clinic-notice--updates .clinic-home-updates{
  display:block;
  list-style:none;
  margin:0;
  padding:0;
}

body.home .clinic-notice--updates .clinic-home-updates__item{
  display:block;
  list-style:none;
  width:100%;
  height:46px;
  min-height:46px;
  margin:0;
  padding:0;
  border-bottom:1px solid #eeeae7;
}

body.home .clinic-notice--updates .clinic-home-updates__item:last-child{
  border-bottom:0;
}

body.home .clinic-notice--updates .clinic-home-updates__link{
  display:grid;
  grid-template-columns:94px 68px minmax(0,1fr);
  grid-template-areas:"date type title";
  align-items:center;
  gap:12px;
  width:100%;
  height:46px;
  min-height:46px;
  margin:0;
  padding:0 8px;
  box-sizing:border-box;
  color:#403b38;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease;
}

body.home .clinic-notice--updates .clinic-home-updates__link:hover,
body.home .clinic-notice--updates .clinic-home-updates__link:focus-visible{
  background:#f7f5f3;
  color:#211f1d;
}

body.home .clinic-notice--updates .clinic-home-updates__date{
  grid-area:date;
  display:block;
  margin:0;
  padding:0;
  color:#77716d;
  font-size:12px;
  line-height:1.3;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

body.home .clinic-notice--updates .clinic-home-updates__type{
  grid-area:type;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  width:64px;
  min-width:64px;
  height:28px;
  min-height:28px;
  margin:0;
  padding:0 7px 1px;
  box-sizing:border-box;
  border:1px solid #d8d4d1;
  border-radius:999px;
  background:#f4f1ef;
  color:#625d59;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

body.home .clinic-notice--updates .clinic-home-updates__type--blog{
  background:#faf9f8;
}

body.home .clinic-notice--updates .clinic-home-updates__title{
  grid-area:title;
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  color:#403b38;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.home .clinic-notice--updates .clinic-home-updates__link:hover .clinic-home-updates__title,
body.home .clinic-notice--updates .clinic-home-updates__link:focus-visible .clinic-home-updates__title{
  text-decoration:underline;
  text-underline-offset:3px;
}

body.home .clinic-notice--updates .clinic-notice__links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:20px;
  margin:12px 0 0;
}

body.home .clinic-notice--updates .clinic-notice__links a{
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

body.home .clinic-notice--updates .clinic-home-updates__scroll::-webkit-scrollbar{
  width:6px;
}

body.home .clinic-notice--updates .clinic-home-updates__scroll::-webkit-scrollbar-track{
  background:transparent;
}

body.home .clinic-notice--updates .clinic-home-updates__scroll::-webkit-scrollbar-thumb{
  background:#bdb7b3;
  border-radius:999px;
}

body.home .clinic-notice--updates .clinic-home-updates__scroll::-webkit-scrollbar-button{
  display:none;
}

/* スマートフォン：日付＋種別を上段、タイトルを下段に表示 */
@media(max-width:700px){
  body.home .clinic-notice--updates{
    margin-top:-18px;
  }

  body.home .clinic-notice--updates .clinic-notice__box{
    padding:18px 16px 16px;
  }

  body.home .clinic-notice--updates .clinic-notice__label{
    gap:9px;
    margin-bottom:10px;
    font-size:17px;
  }

  body.home .clinic-notice--updates .clinic-notice__label small{
    font-size:10px;
  }

  body.home .clinic-notice--updates .clinic-home-updates__scroll{
    height:280px;
    max-height:280px;
    padding-right:4px;
  }

  body.home .clinic-notice--updates .clinic-home-updates__item{
    height:auto;
    min-height:82px;
  }

  body.home .clinic-notice--updates .clinic-home-updates__link{
    display:grid;
    grid-template-columns:max-content max-content minmax(0,1fr);
    grid-template-rows:26px auto;
    grid-template-areas:
      "date type ."
      "title title title";
    align-items:center;
    align-content:center;
    gap:5px 10px;
    height:auto;
    min-height:82px;
    padding:9px 5px 10px;
  }

  body.home .clinic-notice--updates .clinic-home-updates__date{
    font-size:11px;
    line-height:1;
    justify-self:start;
    align-self:center;
  }

  body.home .clinic-notice--updates .clinic-home-updates__type{
    width:auto;
    min-width:58px;
    height:26px;
    min-height:26px;
    padding:0 8px 1px;
    font-size:11px;
    justify-self:start;
    align-self:center;
  }

  body.home .clinic-notice--updates .clinic-home-updates__title{
    width:100%;
    max-width:none;
    margin:1px 0 0;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:anywhere;
  }

  body.home .clinic-notice--updates .clinic-notice__links{
    justify-content:flex-start;
    gap:18px 24px;
    margin-top:14px;
  }

  body.home .clinic-notice--updates .clinic-notice__links a{
    font-size:13px;
  }
}
/* =========================================================
   HOME お知らせ・ブログ v2
   他の既存CSSと競合しない専用クラス
   ========================================================= */

.nh-home-feed {
  position: relative;
  z-index: 5;
  margin-top: -28px;
}

.nh-home-feed__panel {
  overflow: hidden;
  padding: 20px 30px 16px;
  background: #fff;
  border-radius: var(--clinic-radius);
  box-shadow: var(--clinic-shadow);
}

.nh-home-feed__header {
  margin: 0;
  padding: 0 0 12px;
  border-bottom: 1px solid #e2dedb;
}

.nh-home-feed__heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  color: #514c49;
  font-size: 18px !important;
  font-weight: 900;
  line-height: 1.4;
}

.nh-home-feed__heading small {
  color: #77716d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

/* PCでは4件程度表示 */
.nh-home-feed__viewport {
  width: 100%;
  height: 192px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #bdb7b3 transparent;
}

.nh-home-feed__list {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nh-home-feed__item {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #eeeae7;
}

.nh-home-feed__link {
  display: grid !important;
  grid-template-columns: 94px 70px minmax(0, 1fr);
  align-items: center;
  gap: 12px;

  min-height: 48px;
  margin: 0 !important;
  padding: 7px 8px !important;

  color: #403b38;
  text-decoration: none;
  box-sizing: border-box;
}

.nh-home-feed__link:hover,
.nh-home-feed__link:focus-visible {
  background: #f7f5f3;
}

.nh-home-feed__meta {
  display: contents;
}

.nh-home-feed__date {
  margin: 0 !important;
  color: #77716d;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.nh-home-feed__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 64px;
  height: 27px;
  margin: 0 !important;
  padding: 0 7px 1px;

  border: 1px solid #d8d4d1;
  border-radius: 999px;
  background: #f4f1ef;

  color: #625d59;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}

.nh-home-feed__badge--blog {
  background: #faf9f8;
}

.nh-home-feed__title {
  display: block;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;

  color: #403b38;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nh-home-feed__footer {
  display: flex;
  justify-content: flex-end;
  gap: 24px;
  margin-top: 12px;
}

.nh-home-feed__footer a {
  color: #403b38;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.nh-home-feed__viewport::-webkit-scrollbar {
  width: 6px;
}

.nh-home-feed__viewport::-webkit-scrollbar-track {
  background: transparent;
}

.nh-home-feed__viewport::-webkit-scrollbar-thumb {
  background: #bdb7b3;
  border-radius: 999px;
}

/* スマートフォン */
@media (max-width: 700px) {

  .nh-home-feed {
    margin-top: -18px;
  }

  .nh-home-feed__panel {
    padding: 18px 16px 15px;
  }

  .nh-home-feed__heading {
    font-size: 17px !important;
  }

  /* 約3件を表示 */
  .nh-home-feed__viewport {
    height: 276px;
  }

  .nh-home-feed__link {
    display: block !important;
    min-height: 92px;
    padding: 11px 5px !important;
  }

  .nh-home-feed__meta {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    margin: 0 0 7px;
  }

  .nh-home-feed__date {
    font-size: 11px;
  }

  .nh-home-feed__badge {
    width: auto;
    min-width: 58px;
    height: 26px;
    padding: 0 8px 1px;
    font-size: 11px;
  }

  .nh-home-feed__title {
    display: -webkit-box;
    width: 100%;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;

    white-space: normal;
    overflow: hidden;
    text-overflow: clip;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .nh-home-feed__footer {
    justify-content: flex-start;
    gap: 24px;
    margin-top: 14px;
  }

  .nh-home-feed__footer a {
    font-size: 13px;
  }
}

/* =========================================================
   HOME お知らせ・ブログ v3
   ========================================================= */

.clinic-updates-v3,
.clinic-updates-v3 * {
  box-sizing: border-box;
}

.clinic-updates-v3 {
  position: relative;
  z-index: 5;
  margin-top: -28px;
}

.clinic-updates-v3__panel {
  overflow: hidden;
  padding: 20px 30px 16px;
  background: #fff;
  border-radius: var(--clinic-radius);
  box-shadow: var(--clinic-shadow);
}

.clinic-updates-v3__header {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e2dedb;
  color: #514c49;
}

.clinic-updates-v3__header strong {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
}

.clinic-updates-v3__header span {
  color: #77716d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

/* PC：4件表示 */
.clinic-updates-v3__scroll {
  display: block;
  width: 100%;
  height: 184px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #bdb7b3 transparent;
}

.clinic-updates-v3__row {
  display: grid !important;
  grid-template-columns: 94px 70px minmax(0, 1fr);
  align-items: center;
  gap: 12px;

  width: 100%;
  height: 46px;
  margin: 0 !important;
  padding: 0 8px !important;

  border-bottom: 1px solid #eeeae7;

  color: #403b38;
  text-decoration: none !important;
}

.clinic-updates-v3__row:hover,
.clinic-updates-v3__row:focus-visible {
  background: #f7f5f3;
}

.clinic-updates-v3__date {
  color: #77716d;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.clinic-updates-v3__type {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 64px;
  height: 27px;

  padding: 0 7px 1px;

  border: 1px solid #d8d4d1;
  border-radius: 999px;
  background: #f4f1ef;

  color: #625d59;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.clinic-updates-v3__title {
  display: block;
  min-width: 0;

  color: #403b38;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clinic-updates-v3__footer {
  display: flex;
  justify-content: flex-end;
  gap: 24px;
  margin-top: 12px;
}

.clinic-updates-v3__footer a {
  color: #403b38;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.clinic-updates-v3__scroll::-webkit-scrollbar {
  width: 6px;
}

.clinic-updates-v3__scroll::-webkit-scrollbar-thumb {
  background: #bdb7b3;
  border-radius: 999px;
}


/* ---------- スマートフォン ---------- */

@media (max-width: 700px) {

  .clinic-updates-v3 {
    margin-top: -18px;
  }

  .clinic-updates-v3__panel {
    padding: 18px 16px 15px;
  }

  .clinic-updates-v3__header strong {
    font-size: 17px;
  }

  /* 約3件表示 */
  .clinic-updates-v3__scroll {
    height: 246px;
  }

  .clinic-updates-v3__row {
    display: grid !important;

    grid-template-columns: max-content max-content 1fr;
    grid-template-rows: 26px auto;
    grid-template-areas:
      "date type ."
      "title title title";

    align-content: center;
    align-items: center;

    gap: 5px 10px;

    height: 82px;
    padding: 8px 6px !important;
  }

  .clinic-updates-v3__date {
    grid-area: date;
    font-size: 11px;
  }

  .clinic-updates-v3__type {
    grid-area: type;

    width: auto;
    min-width: 58px;
    height: 26px;

    padding: 0 8px 1px;
    font-size: 11px;
  }

  .clinic-updates-v3__title {
    grid-area: title;

    width: 100%;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;

    white-space: normal;

    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .clinic-updates-v3__footer {
    justify-content: flex-start;
    gap: 24px;
    margin-top: 14px;
  }

  .clinic-updates-v3__footer a {
    font-size: 13px;
  }
}

/* =========================================================
   HOME お知らせ・ブログ v3
   固定高さを解除して自然に積む
   ========================================================= */

/* PC */
.clinic-updates-v3__scroll {
  display: block !important;

  width: 100% !important;

  /* 固定高をやめる */
  height: auto !important;
  min-height: 0 !important;
  max-height: 184px !important;

  overflow-y: auto !important;
}

.clinic-updates-v3__row {
  display: grid !important;
  grid-template-columns: 94px 70px minmax(0, 1fr) !important;
  align-items: center !important;

  width: 100% !important;

  /* ここも固定高を解除 */
  height: auto !important;
  min-height: 46px !important;

  margin: 0 !important;
  padding: 8px !important;

  gap: 12px !important;
}

.clinic-updates-v3__date,
.clinic-updates-v3__type,
.clinic-updates-v3__title {
  position: static !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* スマートフォン */
@media (max-width: 700px) {

  .clinic-updates-v3__scroll {
    height: auto !important;
    min-height: 0 !important;
    max-height: 270px !important;
  }

  .clinic-updates-v3__row {
    display: grid !important;

    grid-template-columns: max-content max-content 1fr !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "date type ."
      "title title title" !important;

    width: 100% !important;

    height: auto !important;
    min-height: 76px !important;

    padding: 10px 6px !important;
    gap: 6px 10px !important;

    align-content: center !important;
  }

  .clinic-updates-v3__date {
    grid-area: date !important;
  }

  .clinic-updates-v3__type {
    grid-area: type !important;
  }

  .clinic-updates-v3__title {
    grid-area: title !important;

    display: -webkit-box !important;

    width: 100% !important;

    white-space: normal !important;
    overflow: hidden !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;

    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}
/* =========================================================
   HOME お知らせ・ブログ v3
   強制リセット版
   ========================================================= */

/* スクロール領域そのものをリセット */
html body .clinic-updates-v3__scroll {
  all: unset !important;

  display: block !important;
  width: 100% !important;
  height: 184px !important;
  min-height: 184px !important;
  max-height: 184px !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  box-sizing: border-box !important;
  border-bottom: 1px solid #e2dedb !important;

  scrollbar-width: thin !important;
  scrollbar-color: #bdb7b3 transparent !important;
}

/* 1記事を完全リセット */
html body .clinic-updates-v3__row {
  all: unset !important;

  display: grid !important;
  grid-template-columns: 94px 70px minmax(0, 1fr) !important;
  align-items: center !important;
  align-content: center !important;
  gap: 12px !important;

  width: 100% !important;

  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;

  margin: 0 !important;
  padding: 0 8px !important;

  box-sizing: border-box !important;
  border-bottom: 1px solid #eeeae7 !important;

  color: #403b38 !important;
  font-family: inherit !important;
  cursor: pointer !important;
}

/* 日付 */
html body .clinic-updates-v3__date {
  all: unset !important;

  display: block !important;

  color: #77716d !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

/* お知らせ / ブログ */
html body .clinic-updates-v3__type {
  all: unset !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 64px !important;
  height: 27px !important;

  box-sizing: border-box !important;

  border: 1px solid #d8d4d1 !important;
  border-radius: 999px !important;
  background: #f4f1ef !important;

  color: #625d59 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

/* タイトル */
html body .clinic-updates-v3__title {
  all: unset !important;

  display: block !important;
  min-width: 0 !important;

  color: #403b38 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* hover */
html body .clinic-updates-v3__row:hover {
  background: #f7f5f3 !important;
}

/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 700px) {

  html body .clinic-updates-v3__scroll {
    height: 234px !important;
    min-height: 234px !important;
    max-height: 234px !important;
  }

  html body .clinic-updates-v3__row {
    display: grid !important;

    grid-template-columns: max-content max-content 1fr !important;
    grid-template-rows: 27px 39px !important;
    grid-template-areas:
      "date type ."
      "title title title" !important;

    gap: 4px 10px !important;

    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;

    padding: 6px 6px !important;

    align-content: center !important;
  }

  html body .clinic-updates-v3__date {
    grid-area: date !important;
    font-size: 11px !important;
  }

  html body .clinic-updates-v3__type {
    grid-area: type !important;

    width: auto !important;
    min-width: 58px !important;
    height: 26px !important;

    padding: 0 8px 1px !important;

    font-size: 11px !important;
  }

  html body .clinic-updates-v3__title {
    grid-area: title !important;

    display: -webkit-box !important;

    width: 100% !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;

    white-space: normal !important;
    overflow: hidden !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
}
/* =========================================================
   受診案内AI：説明文の左右余白
   ========================================================= */

.clinic-ai-guide__intro > h3,
.clinic-ai-guide__intro > p {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

/* 説明文を少し読みやすく */
.clinic-ai-guide__intro > p {
  line-height: 1.75;
}
/* =========================================================
   iPhone：受診案内AI入力時の自動ズーム防止
   ========================================================= */

@media (max-width: 700px) {

  .clinic-ai-guide input,
  .clinic-ai-guide textarea,
  .clinic-ai-guide select,
  .clinic-ai-guide__input,
  .clinic-ai-guide__composer input,
  .clinic-ai-guide__composer textarea {
    font-size: 16px !important;
  }

}
/* 受診案内AI：チャット本体の左右余白 */
.clinic-ai-guide__chat {
  padding: 10px 14px 14px !important;
  box-sizing: border-box;
}

@media (max-width: 480px) {
  .clinic-ai-guide__chat {
    padding: 10px 14px 14px !important;
  }
}

/* =========================================================
   HOME hero：スマホだけ外観写真を最上部へ
   ========================================================= */

@media (max-width: 700px) {

  .clinic-hero__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "visual"
      "kicker"
      "copy" !important;
  }

  .clinic-hero__visual {
    grid-area: visual !important;
    width: 100% !important;
    margin: 0 0 16px !important;
  }

  .clinic-hero__kicker {
    grid-area: kicker !important;
    margin: 0 0 12px !important;
  }

  .clinic-hero__copy {
    grid-area: copy !important;
  }
}
/* スマホだけトップ写真を IMG_3483 に変更 */
@media (max-width: 700px) {

  .clinic-hero__visual {
    background-image:
      linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        rgba(255,255,255,.02)
      ),
      url("https://xs744549.xsrv.jp/wp-content/uploads/2026/09/IMG_3483-scaled.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

}
/* =========================================================
   受診案内AI：固定ヘッダー＋最小化ボタン
   ========================================================= */

/* パネル全体はスクロールさせない */
.clinic-ai-guide__panel {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* hidden のときは確実に非表示 */
.clinic-ai-guide__panel[hidden] {
  display: none !important;
}

/* ヘッダーはスクロール領域の外に固定 */
.clinic-ai-guide__header {
  position: relative !important;
  flex: 0 0 auto !important;
  z-index: 20 !important;
  width: 100% !important;
}

/* ヘッダーより下だけをスクロール */
.clinic-ai-guide__scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* 右上の操作ボタンを横並び */
.clinic-ai-guide__header-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 7px !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

/* − と × を完全に同じデザインにする */
.clinic-ai-guide__minimize,
.clinic-ai-guide__header-actions .clinic-ai-guide__close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid #d9d0c9 !important;
  border-radius: 50% !important;

  background: #fff !important;
  color: #5f5853 !important;

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.clinic-ai-guide__minimize:hover,
.clinic-ai-guide__header-actions .clinic-ai-guide__close:hover {
  background: #eee9e5 !important;
}
.clinic-mobile-cta__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  color: #444;
  line-height: 1;
}

.clinic-mobile-cta__icon svg {
  width: 24px;
  height: 24px;
  display: block;
  stroke: currentColor;
}

.clinic-mobile-cta a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
/* =========================================================
   HP更新専用ページ
   患者向け固定UIを非表示
   ========================================================= */

body.ningyocho-hp-update-page .clinic-ai-guide,
body.ningyocho-hp-update-page .clinic-mobile-cta {
  display: none !important;
}


/*
 * 通常のスマホページでは固定CTA分の余白が入っているため、
 * HP更新ページだけ解除する。
 */
@media (max-width: 820px) {

  body.ningyocho-hp-update-page {
    padding-bottom: 0 !important;
  }
}
/* =========================================================
   デジスマ WEB予約 空き状況
   ========================================================= */

.clinic-reservation-table {
  box-sizing: border-box;
  width: 100%;
  padding: 28px;
  border: 1px solid #d8d4d1;
  border-radius: 22px;
  background: #fff;
}

.clinic-reservation-table__heading {
  margin-bottom: 20px;
}

.clinic-reservation-table__eyebrow {
  margin: 0 0 7px;
  color: #9a745a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.clinic-reservation-table__heading h3 {
  margin: 0 0 10px;
  color: #332f2c;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.35;
}

.clinic-reservation-table__heading p:not(.clinic-reservation-table__eyebrow) {
  margin: 0;
  color: #77716d;
  font-size: 14px;
  line-height: 1.7;
}

.clinic-reservation-table__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 18px;
  padding: 5px;
  border-radius: 12px;
  background: #f4f1ee;
}

.clinic-reservation-table__tab {
  min-height: 42px;
  margin: 0;
  padding: 8px 14px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #625c58;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.clinic-reservation-table__tab:hover,
.clinic-reservation-table__tab:focus-visible {
  background: #ebe6e1;
}

.clinic-reservation-table__tab.is-active {
  background: #fff;
  color: #332f2c;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.08);
}

.clinic-reservation-table__panel[hidden] {
  display: none !important;
}

.clinic-reservation-table__days {
  display: grid;
  gap: 0;
  border-top: 1px solid #e4e0dd;
}

.clinic-reservation-table__day {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid #e4e0dd;
}

.clinic-reservation-table__date {
  color: #403b38;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.clinic-reservation-table__times {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.clinic-reservation-table__time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 58px;
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid #d5cec8;
  border-radius: 7px;
  background: #faf8f6;
  color: #514b47;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.clinic-reservation-table__none {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #9a9490;
  font-size: 13px;
}

.clinic-reservation-table__footer {
  margin-top: 20px;
}

.clinic-reservation-table__footer p {
  margin: 0 0 14px;
  color: #77716d;
  font-size: 12px;
  line-height: 1.7;
}

.clinic-reservation-table__reserve-button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 11px 18px;
  border: 1px solid #6f6965;
  border-radius: 10px;
  background: #6f6965;
  color: #fff !important;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

.clinic-reservation-table__reserve-button:hover,
.clinic-reservation-table__reserve-button:focus-visible {
  border-color: #57514e;
  background: #57514e;
}

.clinic-reservation-table--error {
  color: #625c58;
}

@media (max-width: 700px) {

  .clinic-reservation-table {
    padding: 20px 16px;
    border-radius: 16px;
  }

  .clinic-reservation-table__day {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .clinic-reservation-table__times {
    gap: 6px;
  }

  .clinic-reservation-table__time {
    min-width: 56px;
    min-height: 34px;
  }
}
/* =========================================================
   WEB予約表 コンパクト・14日スクロール表示
   ========================================================= */

.clinic-reservation-table {
  padding: 20px;
  border-radius: 16px;
}

.clinic-reservation-table__heading {
  margin-bottom: 14px;
}

.clinic-reservation-table__heading h3 {
  margin-bottom: 6px;
  font-size: 21px;
}

.clinic-reservation-table__heading p:not(.clinic-reservation-table__eyebrow) {
  font-size: 13px;
}

.clinic-reservation-table__tabs {
  margin-bottom: 12px;
}

.clinic-reservation-table__tab {
  min-height: 36px;
  padding: 6px 10px;
  font-size: 13px;
}

/* ここだけスクロール */
.clinic-reservation-table__days {
  max-height: 285px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
  scrollbar-gutter: stable;
}

.clinic-reservation-table__day {
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 0;
}

.clinic-reservation-table__date {
  font-size: 13px;
}

.clinic-reservation-table__times {
  gap: 5px;
}

.clinic-reservation-table__time {
  min-width: 52px;
  min-height: 28px;
  padding: 4px 7px;
  font-size: 12px;
}

.clinic-reservation-table__none {
  min-height: 28px;
  font-size: 12px;
}

.clinic-reservation-table__footer {
  margin-top: 14px;
}

.clinic-reservation-table__footer p {
  margin-bottom: 10px;
  font-size: 11px;
}

.clinic-reservation-table__reserve-button {
  min-height: 42px;
  padding: 8px 14px;
  font-size: 14px;
}

.clinic-reservation-table__days::-webkit-scrollbar {
  width: 7px;
}

.clinic-reservation-table__days::-webkit-scrollbar-track {
  background: transparent;
}

.clinic-reservation-table__days::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #d8d4d1;
}

@media (max-width: 700px) {

  .clinic-reservation-table {
    padding: 16px 13px;
  }

  .clinic-reservation-table__days {
    max-height: 300px;
  }

  .clinic-reservation-table__day {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 7px;
    padding: 8px 0;
  }

  .clinic-reservation-table__time {
    min-width: 50px;
  }
}
/* =========================================================
   診療時間・アクセス 左右カード高さ統一
   ========================================================= */

@media (min-width: 1051px) {

  .clinic-access {
    align-items: stretch;
  }

  .clinic-access__main,
  .clinic-hours {
    align-self: stretch;
  }
}
/* =========================================================
   アクセス地図の高さ暴走を修正
   ========================================================= */

.clinic-access__main .clinic-map--compact {
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto;
}

.clinic-access__main .clinic-map--compact .clinic-map__image-link {
  display: block;
  height: auto;
}

.clinic-access__main .clinic-map--compact img {
  display: block;
  width: 100%;
  height: auto;
}
/* アクセス地図を少し下げる */
@media (min-width: 701px) {
  .clinic-access__main .clinic-map--compact {
    margin-top: 56px;
  }
}

/* =========================================================
   HOME お知らせ：本文表示
   ========================================================= */

html body .clinic-updates-v3__content {
  display: block !important;
  min-width: 0 !important;
}

/* お知らせだけ高さを広げる */
html body .clinic-updates-v3__row--news {
  height: auto !important;
  min-height: 78px !important;
  max-height: none !important;

  padding: 9px 8px !important;

  align-items: start !important;
  align-content: start !important;
}

/* 日付・種別を本文の上端に合わせる */
html body .clinic-updates-v3__row--news .clinic-updates-v3__date,
html body .clinic-updates-v3__row--news .clinic-updates-v3__type {
  margin-top: 3px !important;
}

/* お知らせ本文 */
html body .clinic-updates-v3__body {
  all: unset !important;

  display: -webkit-box !important;

  margin-top: 4px !important;

  color: #77716d !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;

  white-space: normal !important;
  overflow: hidden !important;

  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}


/* ---------- スマートフォン ---------- */

@media (max-width: 700px) {

  html body .clinic-updates-v3__row {
    grid-template-columns: max-content max-content 1fr !important;
    grid-template-rows: 27px auto !important;
    grid-template-areas:
      "date type ."
      "content content content" !important;
  }

  html body .clinic-updates-v3__content {
    grid-area: content !important;
    width: 100% !important;
  }

  html body .clinic-updates-v3__row--news {
    height: auto !important;
    min-height: 112px !important;
    max-height: none !important;

    padding: 8px 6px !important;
  }

  html body .clinic-updates-v3__body {
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;

    -webkit-line-clamp: 3 !important;
  }
}