@charset "UTF-8";
/* ひなたの丘どうぶつクリニック（架空・デザイン見本）
   方針: 角丸はゼロ。見出しは明朝。写真は直角のまま大きく置く。 */

:root{
  --white:#FFFFFF;
  --paper:#F4F2ED;      /* 生成り */
  --ink:#14201C;
  --ink-2:#5E6B65;
  --green:#16382E;      /* 深い緑 */
  --green-2:#2B5A4B;
  --red:#A9483A;        /* 差し色（ごく少量） */
  --line:#DFDBD2;
  --line-2:#EDEAE3;

  --sp-xl:168px; --sp-l:124px; --sp-m:92px; --sp-s:64px;
  --wrap:1200px;
  --ease:cubic-bezier(.16,1,.3,1);
  --mincho:"Zen Old Mincho",serif;
  --gothic:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;
  --en:"Jost",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:92px;}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--gothic);font-size:16px;line-height:1.95;font-weight:400;
  -webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--mincho);font-weight:500;line-height:1.42;margin:0;}
p{margin:0 0 1.15em;}
ul,ol{margin:0;padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}
button,input,select,textarea{font:inherit;color:inherit;}
figure{margin:0;}

.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:12px;z-index:200;background:var(--white);padding:.6em 1em;}

/* ---------- 共通 ---------- */
.sec__label{
  font-family:var(--en);font-size:12px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--green-2);margin:0 0 1.4em;font-weight:400;
  display:flex;align-items:center;gap:.9em;
}
.sec__label::after{content:"";flex:0 0 46px;height:1px;background:var(--line);}
.sec__h{font-size:clamp(26px,3.4vw,42px);margin:0 0 .7em;letter-spacing:.02em;}
.sec__lead{color:var(--ink-2);max-width:44em;font-size:15px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.7em;
  background:var(--green);color:var(--white);text-decoration:none;
  padding:1.05em 2.3em;border:1px solid var(--green);border-radius:0;
  font-family:var(--gothic);font-weight:500;font-size:14.5px;line-height:1.4;
  letter-spacing:.06em;cursor:pointer;position:relative;
}
.btn::after{content:"";width:16px;height:1px;background:currentColor;}
.btn--lg{padding:1.25em 2.7em;font-size:15px;}
.btn--sm{padding:.75em 1.5em;font-size:13px;}
.btn--sm::after{width:12px;}
.btn--block{width:100%;}
.btn--ghost{background:transparent;color:var(--green);border-color:var(--green);}
@media (hover:hover){
  .btn:hover{background:var(--white);color:var(--green);}
  .btn--ghost:hover{background:var(--green);color:var(--white);}
}

.list--check li,.list--dot li{position:relative;padding-left:1.5em;margin-bottom:.55em;}
.list--check li::before{
  content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--green-2);
}
.list--dot li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--green-2);}

.tbl{font-size:15px;}
.tbl caption{
  text-align:left;font-family:var(--mincho);font-weight:500;font-size:18px;
  padding-bottom:1em;color:var(--ink);
}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:1.05em .4em;text-align:left;}
.tbl thead th{
  font-family:var(--en);font-size:11.5px;letter-spacing:.14em;color:var(--ink-2);font-weight:400;
  border-bottom:1px solid var(--green);padding-bottom:.6em;
}
.tbl tbody th{font-weight:400;}
.tbl td{font-variant-numeric:tabular-nums;}

.chips{display:flex;flex-wrap:wrap;gap:.5em;}
.chips li{
  border:1px solid var(--line);padding:.5em 1.15em;font-size:13.5px;background:var(--white);
}

/* ---------- ヘッダー ---------- */
.hd{background:rgba(255,255,255,.92);backdrop-filter:blur(4px);padding-block:1.1rem;border-bottom:1px solid transparent;}
.hd.is-scrolled{background:var(--white);border-bottom-color:var(--line);padding-block:.55rem;}
.hd__inner{max-width:var(--wrap);margin-inline:auto;padding-inline:22px;display:flex;align-items:center;gap:1.6rem;}
.hd__logo{text-decoration:none;flex-shrink:0;display:block;}
.hd__name{display:block;font-family:var(--mincho);font-size:17px;letter-spacing:.06em;line-height:1.3;}
.hd__en{display:block;font-family:var(--en);font-size:9.5px;letter-spacing:.22em;color:var(--ink-2);margin-top:.25em;}
.hd.is-scrolled .hd__name{font-size:15px;}
.hd.is-scrolled .hd__en{display:none;}
.hd__nav{display:none;gap:1.5rem;margin-left:auto;font-size:13.5px;}
.hd__nav a{text-decoration:none;padding-bottom:.25em;border-bottom:1px solid transparent;}
@media (hover:hover){.hd__nav a:hover{border-bottom-color:var(--green);}}
.hd__act{display:flex;align-items:center;gap:1rem;margin-left:auto;}
.hd__tel{display:none;text-decoration:none;text-align:right;line-height:1.3;}
.hd__tel-num{display:block;font-family:var(--en);font-weight:400;font-size:19px;letter-spacing:.04em;color:var(--green);}
.hd__tel-sub{display:block;font-size:10.5px;color:var(--ink-2);letter-spacing:.04em;}
.hd.is-scrolled .hd__tel-sub{display:none;}
.hd .btn--sm{display:none;}

.nav-toggle{
  width:44px;height:40px;border:1px solid var(--line);background:var(--white);
  display:grid;place-content:center;gap:6px;cursor:pointer;padding:0;border-radius:0;
}
.nav-toggle span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .3s var(--ease),opacity .3s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.drawer{position:fixed;inset:0;z-index:99;background:var(--white);padding:92px 22px 40px;overflow-y:auto;}
.drawer__list li{border-bottom:1px solid var(--line-2);}
.drawer__list a{display:flex;align-items:baseline;gap:1em;padding:1.15em .2em;text-decoration:none;font-family:var(--mincho);font-size:19px;}
.drawer__list a span{font-family:var(--en);font-size:10.5px;letter-spacing:.18em;color:var(--ink-2);text-transform:uppercase;}
.drawer__foot{margin-top:2.2rem;display:grid;gap:1rem;justify-items:center;}
.drawer__tel{font-family:var(--en);font-size:17px;letter-spacing:.05em;color:var(--green);text-decoration:none;}
.drawer__note{font-size:12.5px;color:var(--ink-2);margin:0;}

/* ---------- FV ---------- */
.fv{max-width:var(--wrap);margin:0 auto;padding:clamp(28px,4vw,60px) 22px var(--sp-m);display:grid;gap:clamp(26px,3.4vw,44px);}
.fv__label{font-family:var(--en);font-size:11.5px;letter-spacing:.34em;color:var(--green-2);margin:0 0 1.6em;}
.fv__title{font-size:clamp(33px,7.4vw,92px);line-height:1.26;letter-spacing:.01em;margin:0 0 .7em;font-weight:400;}
.fv__lead{color:var(--ink-2);font-size:15px;max-width:31em;}
.fv__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;}
.fv__foot{display:grid;gap:.4rem;}
.fv__strip{display:grid;grid-template-columns:2fr 1fr;gap:6px;min-width:0;}
.fv__ph{overflow:hidden;min-width:0;}
.fv__ph img{width:100%;height:100%;object-fit:cover;}
.fv__ph--main{grid-row:span 2;aspect-ratio:3/2;}
.fv__ph:not(.fv__ph--main){aspect-ratio:3/4;}
.fv__meta{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-top:1px solid var(--line);}
.fv__meta>div{padding:1.15rem .2rem;border-bottom:1px solid var(--line-2);}
.fv__meta>div:nth-child(odd){padding-right:1rem;}
.fv__meta dt{font-family:var(--en);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-2);margin-bottom:.45em;}
.fv__meta dd{margin:0;font-size:14.5px;line-height:1.6;}
.fv__meta dd span{display:block;font-size:12px;color:var(--ink-2);margin-top:.2em;}

/* ---------- お知らせ ---------- */
.news{max-width:var(--wrap);margin:0 auto var(--sp-l);padding:0 22px;display:grid;gap:1.4rem;}
.news__h{font-family:var(--gothic);font-size:14px;font-weight:500;display:flex;align-items:center;gap:1em;letter-spacing:.06em;}
.news__h .en{font-family:var(--en);font-size:11.5px;letter-spacing:.24em;color:var(--green-2);text-transform:uppercase;}
.news__list{border-top:1px solid var(--line);}
.news__list li{
  display:grid;grid-template-columns:auto auto;gap:.35rem 1.1rem;align-items:center;
  padding:1.15rem 0;border-bottom:1px solid var(--line-2);font-size:14.5px;
}
.news__list time{font-family:var(--en);color:var(--ink-2);font-size:13px;letter-spacing:.06em;}
.news__list a{grid-column:1/-1;text-decoration:none;}
.tag{
  justify-self:start;font-size:11px;padding:.3em 1em;border:1px solid var(--line);
  color:var(--ink-2);letter-spacing:.08em;line-height:1.6;
}
.news__more{justify-self:start;font-size:13px;color:var(--green);text-decoration:none;letter-spacing:.05em;}

/* ---------- 院長メッセージ ---------- */
.msg{max-width:var(--wrap);margin:0 auto var(--sp-l);padding-inline:22px;display:grid;gap:clamp(26px,4vw,60px);}
.msg__media img{width:100%;}
.msg__body p{font-size:15.5px;}
.msg__career{margin:2rem 0 1.6rem;border-top:1px solid var(--line);}
.msg__career li{display:grid;grid-template-columns:5em 1fr;gap:1em;padding:.85em 0;border-bottom:1px solid var(--line-2);font-size:14px;}
.msg__career span{font-family:var(--en);color:var(--green-2);letter-spacing:.06em;}
.msg__sign{font-family:var(--mincho);font-size:16px;margin:0;letter-spacing:.1em;}

/* ---------- クイックリンク ---------- */
.quick{max-width:var(--wrap);margin:0 auto var(--sp-l);padding-inline:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,2vw,28px);}
.quick__h{grid-column:1/-1;font-family:var(--gothic);font-size:14px;font-weight:500;display:flex;align-items:center;gap:1em;letter-spacing:.06em;margin-bottom:.4em;}
.quick__h .en{font-family:var(--en);font-size:11.5px;letter-spacing:.24em;color:var(--green-2);text-transform:uppercase;}
.quick__card{text-decoration:none;display:block;}
.quick__card{min-width:0;}
.quick__card figure{aspect-ratio:3/2;overflow:hidden;min-width:0;}
.quick__card img{width:100%;height:100%;object-fit:cover;}
.quick__card>div{padding:1rem .1rem 0;}
.quick__card h3{font-size:clamp(15px,2vw,18px);margin-bottom:.4em;}
.quick__card p{font-size:12.5px;color:var(--ink-2);margin:0;line-height:1.75;}

/* ---------- 特徴 ---------- */
.feat{background:var(--paper);padding:var(--sp-l) 22px;margin-bottom:var(--sp-l);}
.feat__head{max-width:var(--wrap);margin:0 auto clamp(40px,5vw,72px);}
.feat__item{max-width:var(--wrap);margin:0 auto;display:grid;gap:clamp(22px,3vw,52px);padding-block:clamp(30px,3.6vw,52px);}
.feat__item+.feat__item{border-top:1px solid var(--line);}
.feat__no{font-family:var(--en);font-size:clamp(34px,4.6vw,52px);line-height:1;color:var(--green-2);opacity:.32;margin:0 0 .3em;font-weight:300;}
.feat__txt h3{font-size:clamp(19px,2.4vw,26px);margin-bottom:.8em;}
.feat__txt p{color:var(--ink-2);font-size:15px;}
.feat__pt{display:flex;flex-wrap:wrap;gap:.45em;margin-top:1.3rem;}
.feat__pt li{border:1px solid var(--line);padding:.45em 1em;font-size:12.5px;color:var(--green-2);background:var(--white);}
.feat__fig img{width:100%;}

/* ---------- 診療案内タブ ---------- */
.care{max-width:var(--wrap);margin:0 auto var(--sp-l);padding-inline:22px;}
.care__head{margin-bottom:clamp(26px,3.6vw,46px);}
.tabs__btns{display:flex;gap:0;flex-wrap:wrap;margin-bottom:1.8rem;border-bottom:1px solid var(--line);}
.tabs__btns button{
  background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;
  padding:.85em 1.5em;font-family:var(--gothic);font-size:14px;cursor:pointer;letter-spacing:.06em;
  color:var(--ink-2);margin-bottom:-1px;
}
.tabs__btns button[aria-selected="true"]{border-bottom-color:var(--green);color:var(--ink);font-weight:500;}
.tabs__panel{display:grid;gap:clamp(20px,3vw,48px);align-items:start;}
.tabs__panel[hidden]{display:none;}
.tabs__fig img{width:100%;}
.tabs__body h3{font-size:clamp(18px,2.2vw,23px);margin-bottom:.7em;}
.tabs__body>p{color:var(--ink-2);font-size:15px;}
.tabs__body .list{margin-top:1.5rem;columns:1;font-size:14.5px;border-top:1px solid var(--line);padding-top:1.3rem;}

/* ---------- 料金 ---------- */
.price{background:var(--paper);padding:var(--sp-l) 22px;margin-bottom:var(--sp-l);}
.price__head{max-width:var(--wrap);margin:0 auto clamp(26px,3.6vw,46px);}
.price__wrap{max-width:var(--wrap);margin:0 auto;display:grid;gap:clamp(28px,4vw,56px);align-items:start;}
.price__note{background:var(--white);padding:1.8rem 1.7rem;}
.price__main{min-width:0;}
.price__fig{margin:2.4rem 0 0;}
.price__fig img{width:100%;}
.price__fig figcaption{font-size:12px;color:var(--ink-2);margin-top:.7em;}
.price__note h3{font-size:17px;margin-bottom:.9em;}
.price__note .list{font-size:14px;}
.price__caution{font-size:12.5px;color:var(--ink-2);line-height:1.85;margin:1.3em 0;}

/* ---------- 流れ ---------- */
.flow{max-width:var(--wrap);margin:0 auto var(--sp-l);padding-inline:22px;}
.flow__head{margin-bottom:clamp(26px,3.6vw,46px);}
.flow__list{display:grid;border-top:1px solid var(--line);}
.flow__list li{padding:1.7rem 0;border-bottom:1px solid var(--line-2);}
.flow__no{font-family:var(--en);font-size:13px;letter-spacing:.2em;color:var(--green-2);margin:0 0 .8em;}
.flow__list h3{font-size:18px;margin-bottom:.55em;}
.flow__list p:last-child{margin:0;font-size:14px;color:var(--ink-2);}
.flow__bring{margin-top:2rem;background:var(--paper);padding:1.9rem 1.7rem;}
.flow__bring h3{font-size:16px;margin-bottom:1em;}
.flow__tip{margin:1.2em 0 0;font-size:13.5px;color:var(--ink-2);}

/* ---------- トリミング ---------- */
.trim{background:var(--green);color:var(--white);padding:var(--sp-l) 22px;margin-bottom:var(--sp-l);display:grid;gap:clamp(26px,4vw,60px);}
.trim .sec__label{color:#A8C4B8;}
.trim .sec__label::after{background:rgba(255,255,255,.28);}
.trim .sec__h{color:var(--white);}
.trim__media img{width:100%;}
.trim__body>p{color:#C7D8D0;font-size:15px;}
.trim .tbl{margin-top:2rem;}
.trim .tbl caption{color:var(--white);}
.trim .tbl th,.trim .tbl td{border-bottom-color:rgba(255,255,255,.2);}
.trim .tbl thead th{color:#A8C4B8;border-bottom-color:rgba(255,255,255,.5);}
.trim__note{font-size:12.5px;color:#A8C4B8;margin:1.2em 0 2rem;}
.trim .btn{background:var(--white);border-color:var(--white);color:var(--green);}
@media (hover:hover){.trim .btn:hover{background:transparent;color:var(--white);}}

/* ---------- ギャラリー ---------- */
.gal{max-width:var(--wrap);margin:0 auto var(--sp-l);padding-inline:22px;}
.gal__head{margin-bottom:clamp(20px,2.6vw,34px);}
.gal__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;}
.gal__grid li{overflow:hidden;min-width:0;}
.gal__grid img{width:100%;height:100%;object-fit:cover;}
.gal__grid li:nth-child(1){aspect-ratio:3/2;}
.gal__grid li:nth-child(2){aspect-ratio:3/4;}
.gal__grid li:nth-child(3){aspect-ratio:3/2;}
.gal__grid li:nth-child(4){aspect-ratio:1/1;}
.gal__grid li:nth-child(5){aspect-ratio:3/4;}
.gal__grid li:nth-child(6){aspect-ratio:3/2;}
.gal__cap{font-size:11.5px;color:var(--ink-2);margin-top:1.2em;}

/* ---------- FAQ ---------- */
.faq{max-width:900px;margin:0 auto var(--sp-l);padding-inline:22px;}
.faq__head{margin-bottom:clamp(20px,2.6vw,34px);}
.faq__list{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line-2);}
.faq summary{
  cursor:pointer;list-style:none;padding:1.3rem 2.8rem 1.3rem 0;position:relative;
  font-family:var(--mincho);font-size:16px;line-height:1.7;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before,.faq summary::after{
  content:"";position:absolute;right:.6rem;top:2.1rem;background:var(--green);
  transition:transform .3s var(--ease),opacity .3s;
}
.faq summary::before{width:13px;height:1px;}
.faq summary::after{width:1px;height:13px;right:1.2rem;top:1.7rem;}
.faq details[open] summary::after{opacity:0;transform:scaleY(0);}
.faq__a{padding:0 2.8rem 1.5rem 0;font-size:14.5px;color:var(--ink-2);}
.faq__a p{margin:0;}

/* ---------- アクセス ---------- */
.acc{background:var(--paper);padding:var(--sp-l) 22px;margin-bottom:var(--sp-l);}
.acc__head{max-width:var(--wrap);margin:0 auto clamp(26px,3.6vw,46px);}
.acc__grid{max-width:var(--wrap);margin:0 auto;display:grid;gap:clamp(30px,4vw,56px);align-items:start;}
.tbl--time th,.tbl--time td{text-align:center;padding:.9em .1em;font-size:13.5px;}
.tbl--time tbody th{text-align:left;white-space:nowrap;font-size:12.5px;font-family:var(--en);letter-spacing:.04em;}
.tbl--time td{color:var(--green);}
.acc__legend{display:flex;flex-wrap:wrap;gap:.4em 1.3em;margin-top:1.1rem;font-size:12.5px;color:var(--ink-2);}
.acc__legend span{color:var(--green);margin-right:.4em;}
.acc__legend .is-cat{font-size:11px;}
.acc__resthint{font-size:12.5px;color:var(--ink-2);margin-top:.9em;}
.acc__dl{margin:2.2rem 0 0;border-top:1px solid var(--line);}
.acc__dl>div{display:grid;grid-template-columns:5em 1fr;gap:1em;padding:.9em 0;border-bottom:1px solid var(--line-2);font-size:14.5px;}
.acc__dl dt{font-family:var(--en);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-2);padding-top:.45em;}
.acc__dl dd{margin:0;}
.acc__photo img{width:100%;}
.acc__photo figcaption,.acc__map figcaption{font-size:11.5px;color:var(--ink-2);margin-top:.7em;}
.acc__map{margin-top:1.6rem;}
.acc__map svg{width:100%;height:auto;border:1px solid var(--line);}

/* ---------- CTA・フォーム ---------- */
.cta{max-width:var(--wrap);margin:0 auto var(--sp-l);padding-inline:22px;display:grid;gap:clamp(28px,4vw,56px);align-items:start;}
.cta__tel{margin-top:2rem;}
.cta__tel a{display:inline-block;text-decoration:none;border:1px solid var(--green);padding:1.3rem 2rem;}
.cta__tel-lb{display:block;font-family:var(--en);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-2);}
.cta__tel-num{display:block;font-family:var(--en);font-size:clamp(27px,4vw,38px);color:var(--green);line-height:1.3;letter-spacing:.04em;}
.cta__tel-time{display:block;font-size:12px;color:var(--ink-2);margin-top:.35em;}

.form{background:var(--paper);padding:clamp(22px,3vw,38px);}
.form__note{font-size:12.5px;color:var(--ink-2);border-left:2px solid var(--red);padding:.2em 0 .2em 1em;}
.form__row{margin-bottom:1.2rem;}
.form__row label{display:block;font-size:13px;margin-bottom:.5em;letter-spacing:.05em;}
.form__row label span{font-family:var(--en);font-size:10px;background:var(--green);color:var(--white);padding:.25em .7em;margin-left:.7em;letter-spacing:.1em;vertical-align:1px;}
.form input,.form select,.form textarea{
  width:100%;background:var(--white);border:1px solid var(--line);border-radius:0;padding:.9em 1em;font-size:15px;
}
.form input:focus,.form select:focus,.form textarea:focus{outline:1px solid var(--green);outline-offset:0;border-color:var(--green);}
.form__row--half{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form .btn{margin-top:.8rem;}

/* ---------- 追従する予約導線 ---------- */
.sticky{
  position:fixed;z-index:90;right:24px;bottom:24px;display:flex;gap:.8rem;align-items:center;
  background:var(--white);border:1px solid var(--green);padding:.55rem .55rem .55rem 1.4rem;
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
}
.sticky.is-on{opacity:1;visibility:visible;transform:none;}
.sticky__lb{font-size:12.5px;margin:0;white-space:nowrap;letter-spacing:.04em;}
.sticky__lb small{display:block;font-size:10.5px;color:var(--ink-2);}
@media (max-width:767px){
  .sticky{left:12px;right:12px;bottom:12px;justify-content:space-between;padding:.5rem .5rem .5rem 1rem;}
}
/* PCでは本文の上に大きくかぶらないよう、ボタンだけの小さな追従にする */
@media (min-width:768px){
  .sticky{padding:.5rem;gap:0;}
  .sticky__lb{display:none;}
}

/* ---------- フッター ---------- */
.ft{background:var(--green);color:#C7D8D0;padding:var(--sp-s) 22px 2.6rem;}
.ft__inner{max-width:var(--wrap);margin:0 auto;display:grid;gap:2.6rem;}
.ft__name{font-family:var(--mincho);font-size:20px;color:var(--white);margin-bottom:.3em;letter-spacing:.08em;}
.ft__en{font-family:var(--en);font-size:10px;letter-spacing:.26em;color:#8FAFA2;margin-bottom:1.8em;}
.ft__addr,.ft__hours{font-size:13px;line-height:1.95;margin-bottom:1.1em;}
.ft__nav{display:grid;grid-template-columns:1fr 1fr;gap:.8em 1.4em;font-size:13px;}
.ft__nav a{text-decoration:none;}
.ft__copy{max-width:var(--wrap);margin:3rem auto 0;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.16);font-size:11.5px;color:#8FAFA2;line-height:2;}

/* =========================================================
   タブレット
   ========================================================= */
@media (min-width:768px){
  .fv{padding-bottom:var(--sp-l);}
  .fv__body{order:1;}
  /* 3枚を横一列に。高さは主写真に合わせて揃える（切り取り位置は素材側で調整済み） */
  .fv__strip{order:2;grid-template-columns:2fr 1fr 1fr;align-items:stretch;}
  .fv__ph--main{grid-row:auto;}
  .fv__ph:not(.fv__ph--main){aspect-ratio:auto;height:100%;}
  .fv__meta{order:3;grid-template-columns:repeat(4,1fr);}
  .fv__meta>div{padding:1.3rem 1.4rem 1.3rem 0;border-bottom:0;}
  .fv__meta>div+div{border-left:1px solid var(--line-2);padding-left:1.4rem;}
  .fv__foot{grid-template-columns:1fr auto;align-items:end;gap:2.4rem;border-top:1px solid var(--line);padding-top:1.8rem;}
  .fv__cta{margin-top:0;}
  .msg{grid-template-columns:.8fr 1.2fr;align-items:center;}
  .quick{grid-template-columns:repeat(4,1fr);}
  .feat__item{grid-template-columns:1fr 1fr;align-items:center;}
  .feat__item--rev .feat__txt{order:2;}
  .tabs__panel{grid-template-columns:.95fr 1.05fr;}
  .tabs__body .list{columns:2;column-gap:2.2rem;}
  .price__wrap{grid-template-columns:1.35fr .65fr;}
  .flow__list{grid-template-columns:repeat(4,1fr);gap:0;}
  .flow__list li{padding:1.7rem 1.6rem 1.7rem 0;border-bottom:0;}
  .flow__list li+li{border-left:1px solid var(--line-2);padding-left:1.6rem;}
  .trim{grid-template-columns:.85fr 1.15fr;align-items:center;padding-inline:clamp(26px,6vw,84px);}
  /* 写真ごとの元の縦横比のまま並べる（切り取って顔が欠けるのを防ぐ） */
  .gal__grid{grid-template-columns:repeat(3,1fr);align-items:start;}
  .acc__grid{grid-template-columns:1fr 1.1fr;}
  .cta{grid-template-columns:1fr 1.05fr;}
  .cta__head{position:sticky;top:104px;}
  .ft__inner{grid-template-columns:1.2fr .8fr;}
}

/* =========================================================
   PC
   ========================================================= */
@media (min-width:1025px){
  .hd__nav{display:flex;}
  .hd__tel{display:block;}
  .hd .btn--sm{display:inline-flex;}
  .nav-toggle{display:none;}
  .drawer{display:none !important;}
  .fv__lead{font-size:15.5px;}
  .msg__body p{font-size:16px;}
  .news__list li{grid-template-columns:auto auto 1fr;}
  .news__list a{grid-column:auto;}
}

@media (max-width:767px){
  :root{--sp-xl:100px;--sp-l:82px;--sp-m:64px;--sp-s:48px;}
  .feat__item--rev .feat__fig{order:-1;}
}
