/* 書体の読み込みはHTMLの<link>に集約しました（@importは読み込みが直列になり遅いため） */
/* 東京療育・家族支援訪問看護ステーション B案 共通スタイル */
:root{
  --sky:#EAF3FB; --pblue:#D6E9F8; --pblue2:#A8CBEC; --navy:#2B3A67; --line:rgba(43,58,103,.3);
  --mint:#6BBFA3; --mint-l:#C5E8DB; --yellow:#FFE699;
  --green-soft:#9BDDBB; --green-soft-t:#155e3d;
  --text:#3d4a5c; --bnr-w:200px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:30px;}
body{font-family:'Zen Kaku Gothic New',sans-serif;color:var(--text);background:#fff;line-height:2;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* ===== 左バナー ===== */
.bnr{position:fixed;left:0;top:0;bottom:0;width:var(--bnr-w);z-index:100;background:var(--pblue2);display:flex;flex-direction:column;justify-content:center;padding:20px 0;overflow-y:auto;scrollbar-width:none;}
.bnr::-webkit-scrollbar{display:none;}
.bnr-logo{text-align:center;padding:0 18px 16px;}
.bnr-logo img{width:130px;margin:0 auto;filter:drop-shadow(0 2px 5px rgba(43,58,103,.18));}
.bnr-nav{display:flex;flex-direction:column;}
.bnr-nav a{font-size:14px;letter-spacing:.14em;text-align:center;padding:14px 8px;font-weight:500;color:var(--navy);border-bottom:2px dashed rgba(255,255,255,.9);transition:.25s;font-family:'Zen Maru Gothic';}
.bnr-nav a:first-child{border-top:2px dashed rgba(255,255,255,.9);}
.bnr-nav a:hover{background:rgba(255,255,255,.4);font-weight:700;}
.bnr-nav a.on{background:rgba(255,255,255,.68);font-weight:900;font-size:17.5px;letter-spacing:.16em;}
.bnr-nav a.soon{opacity:.5;pointer-events:none;}
.bnr-line{margin:18px 26px 0;background:var(--green-soft);border-radius:99px;font-size:13px;font-weight:700;padding:10px 6px;text-align:center;color:var(--green-soft-t);box-shadow:0 3px 0 rgba(21,94,61,.25);transition:.2s;font-family:'Zen Maru Gothic';display:block;}
.bnr-line:hover{transform:translateY(2px);box-shadow:none;}
.bnr-sub{text-align:center;font-size:10.5px;margin-top:14px;color:var(--navy);opacity:.8;}
.bnr-sub a{text-decoration:underline;}

/* モバイル */
.mb-header{display:none;}
@media(max-width:920px){
  .mb-header{display:flex;position:fixed;top:0;left:0;right:0;z-index:110;background:rgba(255,255,255,.96);align-items:center;justify-content:space-between;padding:8px 14px;box-shadow:0 2px 10px rgba(43,58,103,.1);}
  .mb-header .ml{display:block;line-height:0;}
  .mb-header .ml img{height:34px;width:auto;}
  .mb-btn{background:var(--navy);color:#fff;border:none;font-family:'Zen Maru Gothic';font-size:12px;font-weight:700;padding:9px 16px;border-radius:99px;}
  .bnr{transform:translateX(-100%);transition:.3s;width:240px;box-shadow:4px 0 20px rgba(43,58,103,.2);}
  body.menu-open .bnr{transform:none;}
  .main{margin-left:0 !important;padding-top:54px;}
}

/* ===== 本体・見出し ===== */
.main{margin-left:var(--bnr-w);}
.sec{padding:84px 5vw 70px;position:relative;}
.sec-in{max-width:760px;margin:0 auto;text-align:center;}
.sec-in.wide{max-width:980px;}
.e-label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.3em;color:#4c6191;}
.ttl-icon{width:56px;height:56px;object-fit:contain;margin:0 auto 4px;filter:drop-shadow(0 3px 5px rgba(43,58,103,.12));}
h1.ttl,h2.ttl{font-size:clamp(22px,3.2vw,30px);font-weight:700;color:var(--navy);letter-spacing:.26em;margin:6px 0 10px;line-height:1.8;}
.katari{font-family:'Zen Maru Gothic','Zen Kaku Gothic New',sans-serif;font-size:14.5px;color:#4c6191;letter-spacing:.08em;margin-bottom:30px;font-weight:500;}
.stitch{border:none;border-top:6px dashed #6F9BD1;width:min(1100px,86%);margin:0 auto;position:relative;z-index:6;height:0;opacity:1;}
.fade-up{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease;}
.fade-up.show{opacity:1;transform:none;}
.d1{transition-delay:.12s;}.d2{transition-delay:.24s;}.d3{transition-delay:.36s;}.d4{transition-delay:.48s;}.d5{transition-delay:.6s;}

/* 追従LINE */
.float-line{position:fixed;right:16px;bottom:16px;z-index:95;display:flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green-soft-t);font-weight:700;font-size:14px;padding:12px 22px;border-radius:99px;box-shadow:0 6px 16px rgba(21,94,61,.28);transition:.3s;font-family:'Zen Maru Gothic';}
.float-line:hover{transform:scale(1.06);}
.float-line svg{width:20px;height:20px;fill:var(--green-soft-t);}

/* ===== アイコンナビ ===== */
.icon-nav{display:flex;justify-content:center;gap:10px;padding:26px 10px 0;flex-wrap:wrap;}
.icon-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:#4c6191;padding:10px 16px;border-radius:16px;min-width:82px;transition:.25s;font-family:'Zen Maru Gothic';}
.icon-nav a svg{width:30px;height:30px;stroke:var(--navy);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.icon-nav .nav-icon{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(43,58,103,.12));}
.icon-nav a:hover{transform:translateY(-3px);color:var(--navy);}
.icon-nav a.on{background:#fff;box-shadow:0 4px 14px rgba(43,58,103,.13);color:var(--navy);}
.icon-nav a.soon{opacity:.45;pointer-events:none;}

/* ===== ヒーロー/ページヘッダー ===== */
.hero{background:linear-gradient(180deg,#fff 0%,var(--sky) 100%);padding-bottom:0;position:relative;overflow:hidden;}
.hero-center{text-align:center;padding:44px 5vw 0;position:relative;z-index:3;}
.hero-center h1{font-size:clamp(24px,3.6vw,38px);line-height:2;color:var(--navy);letter-spacing:.26em;font-weight:700;}
.hero-center .lead{font-size:clamp(13px,1.6vw,16px);margin-top:14px;color:#455a76;font-family:'Klee One';letter-spacing:.1em;}
.hero-cta{display:inline-block;margin-top:22px;font-size:15px;font-weight:700;padding:13px 40px;border-radius:99px;font-family:'Zen Maru Gothic';background:var(--green-soft);color:var(--green-soft-t);box-shadow:0 4px 0 rgba(21,94,61,.25);transition:.2s;}
.hero-cta:hover{transform:translateY(3px);box-shadow:0 1px 0 rgba(21,94,61,.25);}
.badges{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:26px;}
.badge{font-size:12.5px;font-weight:700;color:var(--navy);background:#fff;border:1.5px solid var(--pblue2);padding:5px 16px;border-radius:99px;font-family:'Zen Maru Gothic';}

/* ===== シーン部品 ===== */
.scene{position:relative;height:300px;margin-top:26px;}
.hill1{position:absolute;bottom:-90px;left:-12%;width:74%;height:240px;border-radius:50% 50% 0 0/100% 100% 0 0;background:var(--pblue);}
.hill2{position:absolute;bottom:-104px;right:-14%;width:80%;height:220px;border-radius:50% 50% 0 0/100% 100% 0 0;background:var(--pblue2);}
.sun{position:absolute;top:14px;right:11%;width:52px;height:52px;border-radius:50%;background:var(--yellow);border:1.5px solid var(--line);animation:spin 40s linear infinite;}
.sun::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px dashed rgba(244,211,94,.7);}
@keyframes spin{to{transform:rotate(360deg);}}
.cloud{position:absolute;background:#fff;border-radius:99px;border:1.5px solid rgba(168,203,236,.5);animation:drift 9s ease-in-out infinite;}
@keyframes drift{0%,100%{transform:translateX(0);}50%{transform:translateX(16px);}}
.kuma{position:absolute;z-index:4;filter:drop-shadow(0 4px 8px rgba(43,58,103,.16));animation:bob 5s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.flower{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--yellow);box-shadow:0 -14px 0 -3px var(--mint);z-index:2;}
.house{position:absolute;width:170px;height:126px;background:#fff;border:2px solid var(--line);border-radius:5px;z-index:2;}
.house .roof{position:absolute;top:-52px;left:-14px;width:calc(100% + 28px);height:52px;background:var(--navy);border:2px solid var(--line);border-radius:8px 8px 0 0;clip-path:polygon(8% 100%,50% 0,92% 100%);}
.house .chim{position:absolute;top:-70px;right:34px;width:20px;height:30px;background:var(--pblue2);border:2px solid var(--line);border-radius:4px 4px 0 0;}
.house .door{position:absolute;bottom:0;left:22px;width:36px;height:58px;background:var(--navy);border-radius:14px 14px 0 0;}
.house .door::after{content:"";position:absolute;right:7px;top:27px;width:5px;height:5px;border-radius:50%;background:var(--yellow);}
.house .win{position:absolute;top:22px;right:22px;width:46px;height:40px;background:var(--sky);border:2px solid var(--line);border-radius:6px;overflow:hidden;}
.house .win::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--line);}
.house .win .curtain{position:absolute;top:0;left:0;width:45%;height:100%;background:repeating-linear-gradient(0deg,var(--navy) 0 5px,#fff 5px 11px);opacity:.85;}
.house .awn{position:absolute;top:12px;right:12px;width:66px;height:15px;background:repeating-linear-gradient(0deg,var(--navy) 0 4px,#fff 4px 9px);border:2px solid var(--line);border-radius:8px 8px 0 0;}
.house .fbox{position:absolute;bottom:54px;right:18px;width:52px;height:12px;background:var(--mint-l);border:2px solid var(--line);border-radius:4px;}
.house .fbox i{position:absolute;top:-9px;width:8px;height:8px;border-radius:50%;background:var(--yellow);}
.tree{position:absolute;z-index:1;}
.tree .fol{width:52px;height:64px;border-radius:50%/58% 58% 42% 42%;background:var(--mint);border:2px solid var(--line);position:relative;}
.tree .fol::after{content:"";position:absolute;top:11px;left:11px;width:15px;height:12px;border-radius:50%;background:rgba(255,255,255,.55);}
.tree .tk{width:11px;height:24px;background:#c9a06d;border:2px solid var(--line);border-radius:4px;margin:-3px auto 0;}
.blanket{position:absolute;width:104px;height:38px;border-radius:6px;border:2px solid var(--line);background:repeating-linear-gradient(0deg,var(--navy) 0 6px,#fff 6px 13px);opacity:.9;transform:rotate(-2deg);z-index:2;}
.garland{position:absolute;z-index:3;}
.garland svg{width:100%;height:100%;}
.fence{position:absolute;display:flex;gap:9px;align-items:flex-end;z-index:2;}
.fence i{width:11px;height:40px;background:#fff;border:2px solid var(--line);border-radius:6px 6px 0 0;}
.fence i:nth-child(even){height:32px;}
.fence::after{content:"";position:absolute;left:0;right:0;top:12px;height:6px;background:#fff;border:2px solid var(--line);border-radius:3px;}
.blocks{position:absolute;display:flex;gap:4px;z-index:3;align-items:flex-end;}
.blocks i{width:20px;height:20px;border-radius:4px;border:2px solid var(--line);}
.blocks i:nth-child(2){height:29px;}
.ball{position:absolute;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--line);z-index:3;overflow:hidden;}
.ball::after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:var(--navy);}
.signpost{position:absolute;width:12px;height:52px;background:#c9a06d;border:2px solid var(--line);border-radius:4px;z-index:2;}
.cross{position:absolute;width:40px;height:40px;background:#fff;border:2px solid var(--line);border-radius:9px;z-index:5;}
.cross::before,.cross::after{content:"";position:absolute;background:var(--navy);border-radius:3px;}
.cross::before{left:50%;top:8px;bottom:8px;width:9px;transform:translateX(-50%);}
.cross::after{top:50%;left:8px;right:8px;height:9px;transform:translateY(-50%);}
.bag{position:absolute;width:40px;height:28px;background:var(--navy);border-radius:6px 6px 9px 9px;z-index:5;border:2px solid var(--line);}
.bag::before{content:"";position:absolute;top:-11px;left:11px;width:15px;height:11px;border:3px solid var(--navy);border-bottom:none;border-radius:8px 8px 0 0;}
.bag::after{content:"+";position:absolute;inset:0;color:#fff;font-size:18px;text-align:center;line-height:26px;font-weight:900;}
.bookpile{position:absolute;width:48px;z-index:2;}
.bookpile i{display:block;height:11px;border-radius:4px;margin-top:3px;border:2px solid var(--line);}

/* ===== コンポーネント ===== */
.about p{font-size:15px;margin-bottom:1.3em;}
.about .klee{font-family:'Klee One';font-size:clamp(16px,2.2vw,20px);color:var(--navy);letter-spacing:.12em;line-height:2.3;margin-top:30px;}
.flank{position:absolute;width:88px;opacity:.95;}
@media(max-width:920px){.flank{display:none;}}

.bg-sky{background:var(--sky);}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;}
@media(max-width:960px){.pgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr;}}
.pcard{background:#fff;border-radius:16px;padding:28px 22px 22px;position:relative;border:1.5px solid var(--pblue);transition:.3s;}
.pcard:hover{transform:translateY(-5px);box-shadow:0 10px 24px rgba(43,58,103,.12);}
.pcard .num{position:absolute;top:-13px;left:18px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;padding:3px 14px;border-radius:7px;letter-spacing:.1em;}
.pcard h3{font-size:15.5px;color:var(--navy);font-weight:900;margin-bottom:6px;font-family:'Zen Maru Gothic';}
.pcard p{font-size:13px;}

.srow{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;text-align:left;background:#fff;border:1.5px solid var(--pblue);border-radius:18px;padding:24px 28px;margin-top:18px;}
.srow img.ph{width:130px;height:130px;object-fit:cover;border-radius:50%;outline:5px solid var(--sky);}
.srow h3{font-size:17px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';margin-bottom:4px;}
.srow p{font-size:13.5px;}
.srow ul{list-style:none;margin-top:6px;}
.srow ul li{font-size:13.5px;padding:2px 0 2px 22px;position:relative;}
.srow ul li::before{content:"";position:absolute;left:4px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--mint);}
@media(max-width:640px){.srow{grid-template-columns:1fr;justify-items:center;text-align:center;}.srow ul{text-align:left;}}
.more-btn{display:inline-block;margin-top:26px;font-size:14px;font-weight:700;color:var(--navy);border:2px solid var(--pblue2);background:#fff;padding:10px 34px;border-radius:99px;font-family:'Zen Maru Gothic';transition:.2s;}
.more-btn:hover{background:var(--pblue2);}

.kgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left;}
@media(max-width:960px){.kgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.kgrid{grid-template-columns:1fr;}}
.kcard{background:#fff;border:1.5px solid var(--pblue);border-radius:16px;padding:22px 20px;}
.kcard h3{font-size:15px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';margin-bottom:8px;padding-bottom:6px;border-bottom:2px dashed var(--pblue);}
.kcard ul{list-style:none;}
.kcard ul li{font-size:13px;padding:2px 0 2px 20px;position:relative;}
.kcard ul li::before{content:"";position:absolute;left:4px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--mint);}
.note-c{font-size:13px;margin-top:20px;color:#667;}

.nayami{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left;}
@media(max-width:760px){.nayami{grid-template-columns:1fr;}}
.nbox{background:#fff;border:2px dashed var(--pblue2);border-radius:16px;padding:20px 24px;}
.nbox h4{font-size:14.5px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';margin-bottom:6px;}
.nbox h4 span{display:inline-block;background:var(--yellow);color:#6b5500;font-size:11px;border-radius:99px;padding:1px 10px;margin-right:8px;}
.nbox ul{list-style:none;}
.nbox ul li{font-size:13px;padding:2px 0 2px 20px;position:relative;font-family:'Kiwi Maru';color:#4a5870;}
.nbox ul li::before{content:"「";position:absolute;left:0;color:var(--pblue2);font-weight:700;}
.nbox ul li::after{content:"」";color:var(--pblue2);font-weight:700;}
.nbox .tgt{font-size:11.5px;margin-top:8px;color:#889;}

.chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;}
.chips b{background:#fff;border:1.5px solid var(--pblue2);color:var(--navy);font-size:12.5px;font-weight:700;border-radius:99px;padding:4px 16px;}

.price-box{display:flex;align-items:center;justify-content:center;gap:38px;flex-wrap:wrap;margin-top:10px;}
.zero{width:180px;height:180px;border-radius:50%;background:var(--yellow);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.zero small{font-size:13px;font-weight:700;}
.zero b{font-size:58px;font-weight:900;line-height:1.1;font-family:'Zen Maru Gothic';}
.zero b span{font-size:24px;}
.price-note{max-width:400px;text-align:left;font-size:14px;}
.price-note .u{background:linear-gradient(transparent 62%,var(--pblue) 62%);font-weight:700;}

.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:960px){.rgrid{grid-template-columns:1fr;}}
.rcard{background:#fff;border-radius:16px;padding:26px 22px;border:1.5px solid var(--pblue);text-align:left;}
.rcard h3{font-size:14.5px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';text-align:center;margin-bottom:8px;}
.rcard .meta{display:table;margin:0 auto 12px;font-size:11.5px;color:var(--navy);background:var(--pblue);border-radius:99px;padding:2px 14px;font-family:'Kiwi Maru';}
.rcard p{font-size:13px;font-family:'Kiwi Maru';color:#4a5870;}
.rcard .q{font-weight:700;color:var(--navy);margin-top:10px;font-family:'Zen Maru Gothic';font-size:12.5px;}

.fsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st;text-align:left;}
@media(max-width:920px){.fsteps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.fsteps{grid-template-columns:1fr;}}
.fsteps.v2{grid-template-columns:1fr;max-width:640px;margin:0 auto;}
.fstep{background:#fff;border:1.5px solid var(--pblue);border-radius:16px;padding:26px 18px 20px;text-align:center;counter-increment:st;}
.fstep::before{content:"STEP " counter(st);display:inline-block;font-size:11.5px;font-weight:700;color:#fff;background:var(--navy);border-radius:99px;padding:2px 14px;margin-bottom:10px;letter-spacing:.1em;}
.fstep h3{font-size:15px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';margin-bottom:6px;}
.fstep p{font-size:12.5px;text-align:left;}

.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;text-align:left;}
@media(max-width:860px){.area-grid{grid-template-columns:1fr;}}
.abox{border-radius:16px;padding:20px 24px;border:2px dashed var(--pblue2);background:#fff;margin-bottom:16px;}
.abox:last-child{margin-bottom:0;}
.abox h3{font-size:15px;color:var(--navy);font-weight:900;margin-bottom:8px;font-family:'Zen Maru Gothic';}
.abox h3 span{font-size:11.5px;color:#fff;background:var(--navy);border-radius:99px;padding:2px 12px;margin-right:8px;}
.abox .wards{display:flex;flex-wrap:wrap;gap:8px;}
.abox .wards b{background:var(--sky);border-radius:99px;padding:3px 16px;font-size:13.5px;color:var(--navy);}
.abox p{font-size:11.5px;margin-top:8px;color:#667;}
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;}
@media(max-width:700px){.offices{grid-template-columns:1fr;}}
.office{background:#fff;border:1.5px solid var(--pblue);border-radius:14px;padding:18px;text-align:center;}
.office h4{font-size:14px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';}
.office p{font-size:12.5px;}

/* FAQ */
.faq{background:#fff;border:1.5px solid var(--pblue);border-radius:14px;margin-bottom:12px;text-align:left;}
.faq summary{font-family:'Zen Maru Gothic';font-weight:900;color:var(--navy);font-size:14.5px;padding:16px 20px 16px 52px;cursor:pointer;list-style:none;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;text-align:center;line-height:24px;font-weight:700;}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--pblue2);font-size:20px;font-weight:900;}
.faq[open] summary::after{content:"−";}
.faq .ans{padding:0 20px 16px 52px;font-size:13.5px;position:relative;}
.faq .ans::before{content:"A";position:absolute;left:18px;top:2px;width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:13px;text-align:center;line-height:24px;font-weight:700;}

/* 持ち物リスト */
.items{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.item{background:#fff;border:1.5px solid var(--pblue);border-radius:14px;padding:14px 22px;font-size:13.5px;font-weight:700;color:var(--navy);font-family:'Zen Maru Gothic';}
.item small{display:block;font-weight:400;font-size:11px;color:#889;font-family:'Zen Kaku Gothic New';}

/* お知らせ */
.news-list{max-width:680px;margin:0 auto;text-align:left;}
.news-item{display:grid;grid-template-columns:auto auto 1fr;gap:14px;align-items:center;background:#fff;border:1.5px solid var(--pblue);border-radius:14px;padding:16px 22px;margin-bottom:12px;transition:.25s;}
.news-item:hover{transform:translateX(4px);box-shadow:0 6px 16px rgba(43,58,103,.1);}
.news-item .date{font-size:12px;color:#889;font-family:'Kiwi Maru';}
.news-item .tag{font-size:10.5px;color:#fff;background:var(--pblue2);border-radius:99px;padding:1px 12px;font-weight:700;}
.news-item .tag.blog{background:var(--mint);}
.news-item b{font-size:13.5px;color:var(--navy);font-weight:700;}
@media(max-width:560px){.news-item{grid-template-columns:auto 1fr;}.news-item b{grid-column:1/-1;}}

/* フォーム */
.form{max-width:620px;margin:0 auto;text-align:left;}
.form .row{margin-bottom:18px;}
.form label{display:block;font-size:13.5px;font-weight:900;color:var(--navy);font-family:'Zen Maru Gothic';margin-bottom:4px;}
.form label .req{font-size:10.5px;color:#fff;background:var(--navy);border-radius:99px;padding:1px 10px;margin-left:8px;vertical-align:middle;}
.form input,.form select,.form textarea{width:100%;border:1.5px solid var(--pblue2);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:14px;color:var(--text);background:#fff;}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--pblue2);}
.form textarea{min-height:130px;resize:vertical;}
.submit-btn{display:block;width:min(320px,100%);margin:26px auto 0;background:var(--navy);color:#fff;font-size:15px;font-weight:900;font-family:'Zen Maru Gothic';padding:14px;border:none;border-radius:99px;cursor:pointer;transition:.2s;}
.submit-btn:hover{opacity:.88;}

/* CTAボックス・お問い合わせ */
.win-scene{position:relative;width:190px;height:170px;margin:0 auto 20px;}
.win-frame{position:absolute;inset:0;background:var(--sky);border:12px solid #fff;border-radius:16px;box-shadow:0 8px 24px rgba(43,58,103,.16);outline:2px solid var(--line);}
.win-frame::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;background:#fff;transform:translateX(-50%);}
.win-scene img{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:104px;z-index:2;animation:bob 5s ease-in-out infinite;}
.contact-box{max-width:640px;margin:0 auto;background:#fff;border-radius:22px;padding:44px clamp(22px,5vw,52px) 36px;border:1.5px solid var(--pblue);}
.contact-box p{font-size:14px;margin-bottom:20px;}
.line-big{display:inline-flex;align-items:center;gap:10px;background:var(--green-soft);color:var(--green-soft-t);font-size:17px;font-weight:900;padding:15px 42px;border-radius:99px;box-shadow:0 5px 0 rgba(21,94,61,.25);transition:.2s;font-family:'Zen Maru Gothic';}
.line-big:hover{transform:translateY(3px);box-shadow:0 2px 0 rgba(21,94,61,.25);}
.line-big svg{width:24px;height:24px;fill:var(--green-soft-t);}
.qr{width:104px;margin:18px auto 4px;border:3px solid var(--sky);border-radius:12px;}
.tels{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:13.5px;color:var(--navy);font-weight:700;margin-top:10px;font-family:'Kiwi Maru';}
.note{font-size:11.5px;color:#889;margin-top:14px;margin-bottom:0 !important;}
.bg-contact{background:linear-gradient(180deg,#fff,var(--pblue));}

/* ページ下部 次への誘導 */
.next-band{background:var(--sky);text-align:center;padding:56px 5vw;}
.next-band .klee{font-family:'Klee One';font-size:17px;color:var(--navy);margin-bottom:18px;letter-spacing:.1em;}
.next-band .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* フッター */
.footer{background:var(--navy);color:#dbe6f5;padding:40px 20px 22px;text-align:center;}
.footer b{font-size:14.5px;color:#fff;font-family:'Zen Maru Gothic';}
.footer nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:12.5px;margin:14px 0;}
.footer nav a:hover{color:var(--yellow);}
.footer small{font-size:11px;opacity:.7;}

/* ===== 読みやすさ調整 2026-07-11 ===== */
body{font-size:17px;line-height:2.05;}
.sec{padding:94px 5vw 82px;}
.sec-in{max-width:840px;}
.sec-in.wide{max-width:1080px;}
.e-label{font-size:13.5px;letter-spacing:.24em;}
h1.ttl,h2.ttl{font-size:clamp(30px,4vw,42px);letter-spacing:.16em;line-height:1.55;margin:8px 0 14px;}
.katari{font-size:18px;line-height:1.9;margin-bottom:36px;font-weight:500;}

.bnr{--bnr-w:220px;}
.bnr-logo img{width:150px;}
.bnr-nav a{font-size:16px;line-height:1.55;padding:16px 10px;letter-spacing:.08em;}
.bnr-nav a.on{font-size:18px;letter-spacing:.09em;}
.bnr-line{font-size:16px;line-height:1.45;padding:13px 10px;}
.bnr-sub{font-size:13px;line-height:1.75;padding:0 8px;}
.main{margin-left:220px;}

.mb-header .ml img{height:40px;}
.mb-btn{font-size:14px;padding:10px 18px;}
.float-line{font-size:16px;padding:14px 24px;}
.icon-nav{gap:12px;padding-top:30px;}
.icon-nav a{font-size:15.5px;min-width:112px;padding:14px 20px;line-height:1.35;border-radius:24px;color:#405887;font-weight:900;}
.icon-nav a svg{width:34px;height:34px;}
.icon-nav .nav-icon{width:46px;height:46px;}
.icon-nav .nav-icon[src$="icon_nav_service_nurse_bear.png"]{width:56px;height:56px;margin:-4px 0 -2px;}

.hero-center{padding-top:52px;}
.hero-center h1{font-size:clamp(34px,5vw,54px);line-height:1.65;letter-spacing:.15em;}
.hero-center .lead{font-size:clamp(18px,2.2vw,22px);line-height:2;margin-top:18px;}
.hero-cta{font-size:18px;padding:16px 48px;}
.badges{gap:12px;margin-top:30px;}
.badge{font-size:15.5px;padding:8px 18px;}

.intro-summary{background:#fff;padding:58px 5vw 64px;}
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left;margin-top:28px;}
.intro-card{background:var(--sky);border:1.5px solid var(--pblue2);border-radius:14px;padding:24px 24px 22px;}
.intro-card b{display:block;color:var(--navy);font-family:'Zen Maru Gothic';font-size:21px;line-height:1.55;margin-bottom:8px;}
.intro-card p{font-size:16.5px;line-height:1.9;}
.formal-copy{
  font-family:'Zen Maru Gothic','Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  letter-spacing:.03em;
  color:#273454;
}
.intro-note{margin-top:28px;font-size:18px;font-weight:700;color:var(--navy);font-family:'Zen Maru Gothic';}

.about p{font-size:18px;line-height:2.05;}
.about .klee{font-size:clamp(21px,2.6vw,26px);line-height:2.05;}

.pgrid,.kgrid,.rgrid{gap:22px;}
.pcard,.kcard,.rcard,.fstep,.office,.faq,.item,.nbox,.abox,.contact-box{border-radius:14px;}
.pcard{padding:34px 26px 28px;}
.pcard .num{font-size:14px;padding:4px 16px;}
.pcard h3,.kcard h3,.fstep h3,.abox h3,.office h4{font-size:19px;line-height:1.55;}
.pcard p,.kcard ul li,.nbox ul li,.rcard p,.fstep p,.abox p,.office p,.faq .ans,.contact-box p{font-size:16.5px;line-height:1.9;}

.srow{gap:30px;padding:30px 34px;margin-top:22px;}
.srow img.ph{width:150px;height:150px;}
.srow h3{font-size:22px;line-height:1.5;margin-bottom:8px;}
.srow p,.srow ul li{font-size:17px;line-height:1.9;}
.more-btn{font-size:17px;padding:13px 38px;}

.nbox h4{font-size:18px;line-height:1.65;}
.nbox h4 span{font-size:13px;padding:3px 12px;}
.nbox .tgt,.note-c,.note{font-size:15px;line-height:1.8;}
.chips b{font-size:15.5px;padding:7px 18px;}
.price-note{font-size:17px;line-height:2;max-width:480px;}
.zero small{font-size:15px;}
.zero b{font-size:64px;}
.rcard{padding:30px 26px;}
.rcard h3{font-size:18px;line-height:1.65;}
.rcard .meta{font-size:14px;padding:4px 16px;}
.rcard .q{font-size:16px;}
.fstep::before{font-size:13px;padding:4px 16px;}
.abox h3 span{font-size:13px;padding:4px 13px;}
.abox .wards b{font-size:16px;padding:5px 18px;}
.faq summary{font-size:18px;line-height:1.65;padding:20px 54px 20px 58px;}
.faq .ans{padding:0 24px 22px 58px;}
.item{font-size:16.5px;padding:17px 24px;}
.item small{font-size:13px;}
.news-item{gap:16px;padding:20px 24px;}
.news-item .date{font-size:14px;}
.news-item .tag{font-size:13px;padding:3px 13px;}
.news-item b{font-size:17px;line-height:1.65;}
.form label{font-size:17px;}
.form label .req{font-size:13px;padding:2px 11px;}
.form input,.form select,.form textarea{font-size:17px;padding:14px 16px;}
.submit-btn{font-size:18px;padding:16px;}
.line-big{font-size:20px;padding:17px 46px;}
.tels{font-size:16.5px;line-height:1.8;}
.next-band .klee{font-size:20px !important;line-height:1.9;}
.footer b{font-size:17px;}
.footer nav{font-size:15px;line-height:1.7;}
.footer small{font-size:13px;}

@media(max-width:920px){
  .main{margin-left:0;}
  .sec{padding:74px 6vw 66px;}
  .hero-center h1{font-size:clamp(30px,8vw,42px);letter-spacing:.08em;}
  .hero-center .lead{font-size:17px;}
  .icon-nav a{min-width:92px;font-size:13.5px;}
  .intro-grid{grid-template-columns:1fr;}
}

@media(max-width:640px){
  body{font-size:16px;}
  h1.ttl,h2.ttl{font-size:clamp(27px,8vw,34px);letter-spacing:.08em;}
  .katari{font-size:16.5px;}
  .hero-center{padding-left:6vw;padding-right:6vw;}
  .hero-center h1{line-height:1.55;}
  .badge{font-size:14px;}
  .srow{padding:26px 22px;}
  .float-line{right:10px;bottom:10px;font-size:14px;padding:12px 18px;}
}

/* ===== Each風 構図調整 2026-07-12 ===== */
.bnr{
  background:#b7d2f9;
  border-right:none;
  box-shadow:10px 0 30px rgba(43,58,103,.12);
}
.bnr-logo img{
  filter:drop-shadow(0 3px 8px rgba(255,255,255,.28));
}
.bnr-nav a{
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.55);
  background:transparent;
  text-shadow:0 1px 2px rgba(43,58,103,.18);
}
.bnr-nav a:first-child{border-top:1px solid rgba(255,255,255,.55);}
.bnr-nav a:hover{background:rgba(255,255,255,.26);}
.bnr-nav a.on{
  background:rgba(255,255,255,.26);
  color:#fff;
  box-shadow:inset 4px 0 0 rgba(255,255,255,.78);
}
.bnr-line{
  background:#fff;
  border:2px solid #fff;
  color:var(--green-soft-t);
  box-shadow:none;
}
.bnr-sub,
.bnr-sub a{color:#fff;}

.hero{
  min-height:720px;
  background:#fff;
}
.hero-center{
  max-width:1080px;
  margin:0 auto;
  padding:68px 6vw 0;
  text-align:left;
}
.hero-center h1{
  max-width:760px;
  font-size:clamp(42px,6.2vw,76px);
  line-height:1.34;
  letter-spacing:.08em;
}
.hero-center .lead{
  max-width:720px;
  font-size:clamp(19px,2vw,24px);
}
.badges{justify-content:flex-start;}
.hero .scene{
  max-width:1080px;
  margin:34px auto 0;
}
.hero-scroll{
  position:absolute;
  right:28px;
  bottom:42px;
  writing-mode:vertical-rl;
  color:var(--navy);
  font-family:'Zen Maru Gothic';
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
}
.hero-scroll::after{
  content:"";
  display:block;
  width:1px;
  height:64px;
  margin:12px auto 0;
  background:var(--pblue2);
}

.news-ribbon{
  background:#fff;
  padding:0 5vw;
}
.news-ribbon a{
  max-width:1080px;
  margin:-30px auto 0;
  position:relative;
  z-index:6;
  display:grid;
  grid-template-columns:auto auto 1fr;
  gap:18px;
  align-items:center;
  background:#fff;
  border:1.5px solid var(--pblue2);
  border-radius:14px;
  padding:22px 28px;
  box-shadow:0 14px 34px rgba(43,58,103,.11);
}
.news-ribbon span{
  background:var(--navy);
  color:#fff;
  border-radius:99px;
  padding:4px 16px;
  font-family:'Zen Maru Gothic';
  font-size:14px;
  font-weight:900;
}
.news-ribbon time{
  color:#6d7890;
  font-family:'Kiwi Maru';
  font-size:15px;
}
.news-ribbon b{
  color:var(--navy);
  font-size:17px;
  line-height:1.6;
}

.intro-summary{
  padding-top:94px;
}
.intro-summary .ttl{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}
.intro-card{
  background:#fff;
  box-shadow:0 14px 34px rgba(43,58,103,.09);
}

.problem-section{
  background:#fff;
}
.problem-section .pgrid{
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.problem-section .pcard{
  min-height:220px;
  padding:40px 30px 30px;
  border:1px solid rgba(168,203,236,.9);
  box-shadow:0 12px 28px rgba(43,58,103,.08);
}
.problem-section .pcard .num{
  top:18px;
  left:22px;
  background:transparent;
  color:var(--pblue2);
  font-size:28px;
  padding:0;
}
.problem-section .pcard h3{
  margin-top:30px;
  font-size:22px;
}

.solution-section{
  background:#fff;
}
.solution-section>.sec-in{
  text-align:center;
}
.feature-row{
  grid-template-columns:44% 1fr;
  gap:48px;
  align-items:center;
  border:none;
  border-radius:0;
  padding:54px 0;
  margin-top:0;
  background:transparent;
}
.feature-row+.feature-row{
  border-top:2px dashed var(--pblue);
}
.feature-row.reverse img.ph{order:2;}
.feature-row.reverse>div{order:1;}
.feature-row img.ph{
  width:100%;
  height:auto;
  aspect-ratio:1.25/1;
  border-radius:18px;
  outline:none;
  box-shadow:0 18px 38px rgba(43,58,103,.14);
}
.feature-row h3{
  font-size:clamp(26px,3vw,38px);
  line-height:1.45;
}
.service-no{
  display:inline-block;
  color:#6FA7DC;
  font-family:'Zen Maru Gothic';
  font-weight:900;
  font-size:22px;
  letter-spacing:.08em;
  margin-bottom:8px;
  margin-right:8px;
}

.faq-section{
  background:#fff;
}
.faq-section .faq{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  box-shadow:0 10px 26px rgba(43,58,103,.08);
}
.bg-contact{
  background:#fff;
}
.contact-box{
  box-shadow:0 18px 42px rgba(43,58,103,.12);
}
.ttl-icon{
  width:56px;
  height:56px;
  border-radius:0;
  object-fit:contain;
  filter:drop-shadow(0 3px 5px rgba(43,58,103,.12));
}

@media(max-width:960px){
  .hero{min-height:auto;}
  .hero-center{text-align:center;}
  .badges{justify-content:center;}
  .hero-scroll{display:none;}
  .problem-section .pgrid{grid-template-columns:1fr;}
  .feature-row,.feature-row.reverse{
    grid-template-columns:1fr;
    gap:24px;
    padding:40px 0;
    text-align:left;
  }
  .feature-row.reverse img.ph,.feature-row.reverse>div{order:initial;}
}

@media(max-width:640px){
  .news-ribbon a{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:-18px;
    padding:20px;
  }
  .hero-center h1{
    font-size:clamp(34px,11vw,48px);
  }
  .problem-section .pcard{
    min-height:auto;
  }
}

/* ===== 色比較用 2026-07-12 ===== */
.color-test-nav .bnr{
  background:var(--test-nav);
  border-right:none;
  box-shadow:10px 0 30px rgba(43,58,103,.12);
}
.color-test-nav .bnr-logo img{
  filter:drop-shadow(0 3px 8px rgba(255,255,255,.28));
}
.color-test-nav .bnr-nav a{
  background:transparent;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.55);
  text-shadow:0 1px 2px rgba(43,58,103,.18);
}
.color-test-nav .bnr-nav a:first-child{
  border-top:1px solid rgba(255,255,255,.55);
}
.color-test-nav .bnr-nav a:hover,
.color-test-nav .bnr-nav a.on{
  background:rgba(255,255,255,.26);
  color:#fff;
  box-shadow:inset 4px 0 0 rgba(255,255,255,.78);
}
.color-test-nav .bnr-line{
  background:#fff;
  border-color:#fff;
  color:var(--green-soft-t);
}
.color-test-nav .bnr-sub,
.color-test-nav .bnr-sub a{
  color:#fff;
}

.color-test-bg .main,
.color-test-bg .intro-summary,
.color-test-bg .news-ribbon,
.color-test-bg .solution-section,
.color-test-bg .faq-section,
.color-test-bg .bg-contact{
  background:var(--test-page-bg);
}
.color-test-bg .hero{
  background:linear-gradient(180deg,#fff 0%,var(--test-page-bg) 62%,var(--test-page-bg) 100%);
}
.color-test-bg .problem-section{
  background:linear-gradient(180deg,var(--test-page-bg),#fff);
}

/* ================================================= */
/* ▼ 20260712 追加:赤ちゃんらしさ+each-tokyo風の温かみ */
/* ================================================= */

/* 語りの一文:丸く・太く・やわらかい色に */
.katari{
  font-family:'Zen Maru Gothic',sans-serif !important;
  font-weight:900;
  font-size:19px;
  color:#6FA7DC;
  letter-spacing:.05em;
  line-height:2;
}
@media(max-width:920px){.katari{font-size:16px;}}

/* 紙のような質感(クリーム面と水色面) */
.bg-cream{
  background-color:#FBF6EA;
  background-image:radial-gradient(rgba(43,58,103,.045) 1px,transparent 1px);
  background-size:22px 22px;
}
.bg-sky{
  background-image:radial-gradient(rgba(43,58,103,.04) 1px,transparent 1px);
  background-size:22px 22px;
}
.bg-cream .pcard,.bg-cream .rcard,.bg-cream .fstep,.bg-cream .abox,.bg-cream .office,.bg-cream .kcard{border-color:#EAD9B8;}
.bg-cream .stitch{border-color:#9CB8E0;}

/* お悩みカード:アイコン付き(仮アイコン・後で差し替え) */
.pcard{text-align:center;}
.pcard .icn{width:84px;height:84px;border-radius:50%;background:var(--sky);border:1.5px solid var(--pblue);display:flex;align-items:center;justify-content:center;margin:4px auto 12px;}
.bg-cream .pcard .icn{background:#FBF6EA;}
.pcard .icn img{width:56px;height:56px;object-fit:contain;}
.pcard h3{justify-content:center;}
.pcard p{text-align:left;}

/* 右側:現在地スライダー */
.spy{position:fixed;right:13px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0;opacity:.62;transition:opacity .25s ease;}
.spy:hover{opacity:1;}
.spy .rail{position:absolute;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--pblue);overflow:hidden;}
.spy .rail i{position:absolute;top:0;left:0;right:0;height:0;background:#6FA7DC;border-radius:4px;transition:height .25s ease;}
.spy a{position:relative;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--pblue2);transition:.3s;z-index:2;}
.spy a span{position:absolute;right:18px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:11.5px;font-weight:700;font-family:'Zen Maru Gothic';color:#fff;background:rgba(111,167,220,.78);border-radius:99px;padding:1.5px 9px;opacity:0;transition:.25s;pointer-events:none;}
.spy a:hover{transform:scale(1.3);}
.spy a:hover span{opacity:1;}
.spy a.active{background:var(--yellow);border-color:var(--navy);transform:scale(1.35);}
.spy a.active span{opacity:1;background:rgba(43,58,103,.74);}
@media(max-width:920px){.spy{display:none;}}

/* ▼ 20260712-2 お悩みカードをパンフレット「選ばれる理由」風に */
.problem-section .pcard{background:#fff;border:1.6px solid #BFD9F2;border-radius:12px;box-shadow:7px 7px 0 rgba(168,203,236,.45);padding:22px 18px 20px;}
.problem-section .pcard:hover{transform:translateY(-4px);box-shadow:9px 11px 0 rgba(168,203,236,.45);}
.problem-section .pcard .num{top:-1px;left:16px;border-radius:0 0 2px 2px;padding:10px 9px 15px;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 9px),0 100%);font-size:14px;letter-spacing:.06em;font-family:'Zen Kaku Gothic New';}
.problem-section .pcard .icn{width:auto;height:62px;background:none;border:none;margin:0 auto 8px;border-radius:0;}
.problem-section .pcard .icn img{width:62px;height:62px;}
.problem-section .pcard h3{color:#7FA9DC;font-size:17.5px;}
.problem-section .pcard p{font-size:14px;}
/* 見出し左右のダッシュ(パンフレット風) */
.problem-section .ttl{display:flex;align-items:center;justify-content:center;gap:20px;}
.problem-section .ttl::before,.problem-section .ttl::after{content:"";width:60px;flex-shrink:0;border-top:4px dashed var(--pblue2);}


/* ▼ 20260712-3 フォント確定(④本文=NotoSans ⑥ボタン・ナビ=ZenKaku太字 ⑦声=本文と同じ) */
body{font-family:'Noto Sans JP','Zen Kaku Gothic New',sans-serif;}
.bnr-nav a,.bnr-line,.float-line,.hero-cta,.more-btn,.line-big,.mb-btn,.icon-nav a,.submit-btn{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;}
.rcard p,.rcard .meta,.nbox ul li{font-family:'Noto Sans JP','Zen Kaku Gothic New',sans-serif;}

/* ▼ 数字をパンフレットのリボン型に(最終指定) */
.problem-section .pcard .num{
  top:-1px;left:22px;background:var(--navy);color:#fff;
  font-size:15px;font-weight:700;padding:12px 11px 18px;
  border-radius:0;letter-spacing:.06em;font-family:'Zen Kaku Gothic New';
  clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 10px),0 100%);
}
.problem-section .pcard h3{margin-top:10px;}

/* ▼ ヒーロー見出し2行構成 */
.hero-center .h1-sub{display:block;font-size:.52em;letter-spacing:.2em;margin-top:16px;color:#4c6191;font-weight:700;}

/* ▼ 流れSTEPのアイコン */
.fstep .ficn{width:76px;height:76px;object-fit:contain;margin:0 auto 8px;display:block;}

/* ▼ 20260717 アイコン・ロゴ拡大 */
.problem-section .pcard .icn{height:150px;margin:6px auto 14px;}
.problem-section .pcard .icn img{width:auto;height:150px;max-width:90%;object-fit:contain;}
.bnr-logo img{width:170px;}
@media(max-width:920px){
  .problem-section .pcard .icn,.problem-section .pcard .icn img{height:110px;}
}

/* ▼ 20260717-2 アイコンさらに拡大+隙間詰め */
.problem-section .pcard .icn{height:190px;margin:2px auto 6px;}
.problem-section .pcard .icn img{height:190px;max-width:96%;}
.problem-section .pcard h3{margin-top:0;}
.icon-nav .nav-icon{width:56px;height:56px;}
.fstep .ficn{width:96px;height:96px;margin-bottom:4px;}
@media(max-width:920px){
  .problem-section .pcard .icn,.problem-section .pcard .icn img{height:130px;}
  .icon-nav .nav-icon{width:44px;height:44px;}
}

/* ▼ 20260717-3 書き込み指示の反映 */
/* ① お悩みアイコンを一回り小さく */
.problem-section .pcard .icn{height:160px;}
.problem-section .pcard .icn img{height:160px;}
/* ② 番号の旗を横広く・縦も少し大きく */
.problem-section .pcard .num{
  padding:15px 24px 21px;
  font-size:17px;
  letter-spacing:.1em;
  clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 11px),0 100%);
}
/* ③ バナーのロゴを目立たせる(白いカードに載せる) */
.bnr-logo{background:rgba(255,255,255,.92);border-radius:18px;margin:0 16px 18px;padding:16px 10px 14px;box-shadow:0 4px 14px rgba(43,58,103,.14);}
.bnr-logo img{width:185px;}
@media(max-width:920px){
  .problem-section .pcard .icn,.problem-section .pcard .icn img{height:120px;}
}

/* ▼ 20260717-4 ロゴの白枠を廃止(背景色を活かして拡大のみ) */
.bnr-logo{background:none;border-radius:0;box-shadow:none;margin:0 0 14px;padding:0 12px;}
.bnr-logo img{width:190px;filter:drop-shadow(0 2px 4px rgba(43,58,103,.18));}

/* ▼ 20260719 HP1.pptx反映:見出し・ナビ・シーン帯の新デザイン */
/* 大きな薄青の英語見出し+丸ゴ極太の日本語+足跡+語り */
.e-label{font-family:'Zen Maru Gothic',sans-serif;font-size:clamp(30px,3.6vw,46px);font-weight:900;color:#B9D4F0;letter-spacing:.16em;line-height:1.2;}
h1.ttl,h2.ttl{font-family:'Zen Maru Gothic',sans-serif !important;font-weight:900 !important;letter-spacing:.12em;font-size:clamp(21px,2.4vw,28px);margin:14px 0 2px;}
h1.ttl::after,h2.ttl::after{content:"";display:block;width:120px;height:14px;margin:6px auto 2px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 14"><g fill="%23A8CBEC"><g transform="translate(8,9) rotate(20)"><ellipse rx="3.2" ry="2.6"/><circle cx="-3" cy="-3.6" r="1.2"/><circle cx="0" cy="-4.4" r="1.2"/><circle cx="3" cy="-3.6" r="1.2"/></g><g transform="translate(34,5) rotate(26)"><ellipse rx="3.2" ry="2.6"/><circle cx="-3" cy="-3.6" r="1.2"/><circle cx="0" cy="-4.4" r="1.2"/><circle cx="3" cy="-3.6" r="1.2"/></g><g transform="translate(60,9) rotate(18)"><ellipse rx="3.2" ry="2.6"/><circle cx="-3" cy="-3.6" r="1.2"/><circle cx="0" cy="-4.4" r="1.2"/><circle cx="3" cy="-3.6" r="1.2"/></g><g transform="translate(86,5) rotate(24)"><ellipse rx="3.2" ry="2.6"/><circle cx="-3" cy="-3.6" r="1.2"/><circle cx="0" cy="-4.4" r="1.2"/><circle cx="3" cy="-3.6" r="1.2"/></g><g transform="translate(112,9) rotate(16)"><ellipse rx="3.2" ry="2.6"/><circle cx="-3" cy="-3.6" r="1.2"/><circle cx="0" cy="-4.4" r="1.2"/><circle cx="3" cy="-3.6" r="1.2"/></g></g></svg>') center/contain no-repeat;}
.ttl-icon{display:none !important;}
/* ナビ:大きなアイコン+ラベル */
.icon-nav{gap:26px;padding-top:30px;}
.icon-nav a{font-size:15px;min-width:96px;gap:8px;}
.icon-nav .nav-icon{width:88px;height:88px;}
@media(max-width:920px){.icon-nav{gap:10px;}.icon-nav .nav-icon{width:56px;height:56px;}.icon-nav a{font-size:13px;min-width:72px;line-height:1.35;}}
/* シーン帯:白ではなくクリーム #FFF1D2 */
.hero{background:linear-gradient(180deg,#fff 0%,#FFF1D2 70%);}
.scene{background:#FFF1D2;}
/* 見出し横の小さな挿絵 */
.head-deco{display:inline-block;vertical-align:middle;height:64px;width:auto;margin-left:14px;transform:translateY(-6px);}

/* ▼ 20260719-2 お問い合わせページ(HP1.pptx反映) */
.office{border:2.5px dashed var(--pblue2);border-radius:18px;position:relative;padding-top:34px;margin-top:34px;overflow:visible;background:#F4F9FD;}
.office .office-kuma{position:absolute;top:-46px;left:50%;transform:translateX(-50%);width:96px;z-index:2;}
.office h4{font-size:16px;}
.form-panel-note{border-top:3px dashed var(--pblue2);border-bottom:3px dashed var(--pblue2);}
.mail-decos{position:relative;}
.mail-decos .md-l{position:absolute;left:4%;top:-8px;width:120px;}
.mail-decos .md-r{position:absolute;right:6%;top:20px;width:96px;}
@media(max-width:920px){.mail-decos .md-l,.mail-decos .md-r{display:none;}}

/* ▼ 20260719-3 メールフォームのクマを見出し横へ・風船クマ拡大 */
.mail-decos .md-l{left:50%;margin-left:-395px;top:34px;width:158px;}
.mail-decos .md-r{right:50%;margin-right:-350px;top:80px;width:95px;}

/* ▼ 20260720 赤ペン修正 */
.bnr-line{background:var(--green-soft) !important;color:var(--green-soft-t) !important;border:none !important;}
.no-paw::after{display:none !important;}
#line.sec{padding-top:38px;}
.mail-decos .md-l{margin-left:-370px;top:26px;width:168px;}
.mail-decos .md-r{margin-right:-322px;top:70px;transform:rotate(-12deg);}
/* TEL/OFFICE 拡大 */
#tel .tels{font-size:22px;gap:36px;}
#tel .offices{max-width:1060px;gap:28px;margin-top:56px;}
#tel .office{padding:56px 26px 32px;}
#tel .office h4{font-size:21px;margin-bottom:8px;}
#tel .office p{font-size:15.5px;line-height:1.9;}
#tel .office .office-kuma{width:128px;top:-62px;}
#tel .note-c{font-size:14.5px;}

/* ▼ 20260720-2 拠点カードをクマ枠素材そのものに/ABC逆回転/連絡先さらに大きく */
#tel .office{border:none;background:none;padding:0;position:relative;overflow:visible;}
#tel .office .office-frame{width:100%;display:block;}
#tel .office .office-body{position:absolute;left:8%;right:8%;top:44%;bottom:7%;display:flex;flex-direction:column;justify-content:center;text-align:center;}
#tel .office .office-body h4{font-size:20px;color:var(--navy);font-weight:900;font-family:'Zen Maru Gothic';margin-bottom:4px;}
#tel .office .office-body p{font-size:15px;line-height:1.8;}
.mail-decos .md-r{transform:rotate(12deg);}
#tel .tels{font-size:26px;}

/* ▼ 20260720-3 ユーザー確認後の微調整 */
.icon-nav .nav-icon[src$="icon_nav_service_nurse_bear.png"]{
  width:116px !important;
  height:116px !important;
  margin:-18px 0 -8px;
}
#tel .tels{
  font-size:34px !important;
  gap:42px;
  line-height:1.5;
}
#contact .tels{
  font-size:24px !important;
  gap:34px;
  line-height:1.6;
}
#tel .office .office-body{
  top:35%;
  bottom:13%;
  justify-content:center;
}
#tel .office .office-body h4{
  font-size:21px;
}
#tel .office .office-body p{
  font-size:15.5px;
}
@media(max-width:920px){
  .icon-nav .nav-icon[src$="icon_nav_service_nurse_bear.png"]{
    width:72px !important;
    height:72px !important;
    margin:-10px 0 -5px;
  }
  #tel .tels{
    font-size:22px !important;
    gap:18px;
  }
}


/* ==========================================================
   ヒーロー新デザイン (2026-07-30 統合)  ← 末尾追記ブロック
   ========================================================== */
/* ============================================================
   ヒーロー修正 v2 (2026-07-30)
   1) 空の装飾(太陽・雲)が丘に隠れて見切れる問題 → 前面レイヤーへ分離
   2) 全体的に隙間がない → 各ブロック間隔を拡張
   3) スマホで吹き出しのしっぽが消え四角になる → clamp()で最小サイズ確保
   4) 犬を連れた女の子の位置が下がる → 丘の稜線に合わせて引き上げ
   ※ 統合時はこのブロックを css/b.css の末尾に移す
   ============================================================ */
/* 背景グラデーション
   ヒーローが縦に伸びた分、変化点(旧55%)が丘の裏へ押し出されて
   グラデーションが見えなくなっていたため 変化位置を上へ寄せ直す */
#top-hero{position:relative;overflow:hidden;
  /* 確定ルール: 游ゴシックのみ 他ページの.ppx要素と同じスタックを継承させる */
  font-family:'Yu Gothic','游ゴシック体','游ゴシック',YuGothic,'Noto Sans JP',sans-serif;
  background:linear-gradient(180deg,#FFF1D2 0%,#FDF4E1 28%,#FFF6E2 46%,#F4F5F2 72%,#F6F6F4 100%);}

/* --- 2) 隙間 --- */
#top-hero .hero-copy{text-align:center;padding:3.6vw 4vw 0;position:relative;z-index:5;}
#top-hero .hero-copy h1{font-weight:700;color:#2B3A67;
  font-size:clamp(19px,2.55vw,37px);line-height:2.0;letter-spacing:.14em;margin:0;}
#top-hero .hero-lead{margin:2.0vw 0 0;font-size:clamp(13.5px,1.32vw,19px);
  line-height:2.0;color:#455a76;font-weight:700;}

#top-hero .hero-tags{display:flex;justify-content:center;flex-wrap:wrap;
  gap:2.2vw 1.9vw;margin:3.2vw 3vw 0;position:relative;z-index:5;}

/* --- 3) 吹き出し(しっぽ付き) --- */
#top-hero a.hero-tag{text-decoration:none;display:inline-block;}
#top-hero .hero-tag{position:relative;background:#FFE699;
  border-radius:clamp(10px,1.4vw,20px);
  padding:clamp(9px,1.0vw,15px) clamp(14px,1.45vw,26px);
  font-weight:700;color:#2B3A67;font-size:clamp(13.5px,1.22vw,19px);line-height:1.5;}
#top-hero .hero-tag::after{content:"";position:absolute;left:18%;
  bottom:calc(1px - clamp(9px,0.85vw,12px));
  width:clamp(14px,1.7vw,24px);height:clamp(10px,1.7vw,24px);
  background:#FFE699;clip-path:polygon(0 0,100% 0,20% 100%);}

/* --- 1)+4) シーン(空・丘・挿絵) ---
   ★重要: 幅も位置も「セクション幅基準(cqw / %)」に統一する
   vw(画面幅基準)を混ぜると、サイドバーが消える中間幅(1024px前後)で
   挿絵どうしが寄って重なるため 単位を必ず揃えること */
#top-hero .hero-scene{position:relative;container-type:inline-size;
  padding-top:31.8%;min-height:250px;margin-top:3.0%;}
#top-hero .hero-sky{position:absolute;inset:0;z-index:4;pointer-events:none;}
#top-hero .hero-sun{position:absolute;right:8%;top:-9%;width:8.3%;min-width:46px;}
#top-hero .hero-cloud{position:absolute;left:5%;top:-5%;width:23.6%;min-width:104px;opacity:.9;}
#top-hero .hill{position:absolute;border-radius:50%;z-index:1;}
#top-hero .hill-back{left:-14%;bottom:-35.41cqw;width:75%;height:61.38cqw;background:#D9E8F7;}
#top-hero .hill-front{right:-16%;bottom:-38.95cqw;width:85%;height:66.10cqw;background:#BDD7F0;}
/* 下端の溶け込み(確定ルール: ヒーロー下端だけはグラデーションで次セクションへ)
   丘(z1)より前・挿絵(z3)より後ろに置き、丘だけを霞ませて絵は鮮明に保つ */
#top-hero .hero-melt{position:absolute;left:-3%;right:-3%;bottom:0;height:24%;z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(247,250,254,0) 0%,rgba(247,250,254,.26) 58%,rgba(247,250,254,.58) 100%);}
#top-hero .hero-scene img.on-hill{position:absolute;z-index:3;}

/* --- スマホ --- */
@media (max-width:760px){
  #top-hero .hero-copy{padding:26px 16px 0;}
  /* 1行20文字が折れないサイズに固定(390px幅で16px) */
  #top-hero .hero-copy h1{font-size:clamp(14px,4.1vw,19px);line-height:2.0;letter-spacing:.02em;}
  #top-hero .hero-lead{margin-top:18px;font-size:clamp(13.5px,3.5vw,15.5px);line-height:1.95;}
  #top-hero .hero-tags{gap:16px 12px;margin:26px 14px 0;}
  #top-hero .hero-tag{padding:10px 15px;font-size:13.5px;border-radius:12px;}
  #top-hero .hero-tag::after{left:16%;bottom:-9px;width:15px;height:10px;}
  #top-hero .hero-scene{padding-top:62%;height:auto;min-height:230px;margin-top:26px;}
  #top-hero .hero-sun{right:7%;top:2%;width:12%;min-width:44px;}
  #top-hero .hero-cloud{left:3%;top:9%;width:29%;min-width:100px;}
  #top-hero .hill-back{bottom:-64cqw;height:112cqw;width:104%;left:-26%;}
  #top-hero .hill-front{bottom:-70cqw;height:120cqw;width:112%;right:-28%;}
  /* --- スマホの挿絵: 重なり厳禁のため3点のみに絞り等間隔で配置 ---
     非表示: バス / ベビージム / 砂場 / すべり台(左右と中間の混み合うパーツ)
     残す  : おうち / 大きなくま / 犬を連れた女の子
     ※インラインstyleを上書きするため !important --- */
  #top-hero img.on-hill{display:none!important;}
  #top-hero img.on-hill[src*="house"]{display:block!important;left:2%!important;bottom:15.5cqw!important;width:22%!important;}
  #top-hero img.on-hill[src*="overall"]{display:block!important;left:34%!important;bottom:11.5cqw!important;width:26%!important;}
  #top-hero img.on-hill[src*="dress_dog"]{display:block!important;left:70%!important;bottom:14.5cqw!important;width:20%!important;}
}


/* ==========================================================
   背景の連続化とカードのソフト化 (2026-07-30)
   ・セクション背景は隣接セクションと端の色を一致させて連結済み(HTML側)
   ・ここでは「がっつり四角」に見えていた枠をぼかす
   ========================================================== */

/* セクション境界の点線ステッチを控えめに */
.stitch{border-top-width:6px !important;opacity:1 !important;width:92% !important;max-width:none !important;margin-left:auto !important;margin-right:auto !important;}

/* 白カード(点線枠)をやわらかく
   角丸を大きく取り、外側に白のハローを敷いて背景に溶かす */
.ppx div[style*="dashed #A8CBEC"]{
  background:rgba(255,255,255,.60) !important;
  border:3px dashed rgba(168,203,236,.78) !important;   /* WORRIES / VOICE の点線をはっきり */
  border-radius:3.0cqw !important;
  box-shadow:0 0 0 0.9cqw rgba(255,255,255,.42),
             0 1.0cqw 2.6cqw rgba(43,58,103,.055) !important;
  backdrop-filter:blur(2.5px);
}

/* Q&A の白ブロックも同様にソフト化 */
.ppx div[style*="background:#FFFFFF"]{
  background:rgba(255,255,255,.62) !important;
  border-radius:3.0cqw !important;
  box-shadow:0 0 0 0.9cqw rgba(255,255,255,.42),
             0 1.0cqw 2.6cqw rgba(43,58,103,.055) !important;
  backdrop-filter:blur(2.5px);
}

/* 青いベタ塗りブロック(見出し帯・LINE帯)の角も丸めて馴染ませる */
.ppx div[style*="background:#B7D2F9"]{
  border-radius:2.4cqw !important;
  box-shadow:0 0.6cqw 1.8cqw rgba(43,58,103,.06) !important;
}
.ppx div[style*="background:#68BAA0"]{
  border-radius:2.4cqw !important;
  box-shadow:0 0.6cqw 1.8cqw rgba(43,58,103,.08) !important;
}

/* AREA の地図やカード類が矩形に見える箇所の角も統一 */
.ppx img[src*="area_map"], .ppx img[src*="p_qr_card"]{border-radius:1.6cqw;}

/* 青いベタ塗りパネル(#F2F8FF・border-radius:0)が「がっつり四角」に見えるため
   中心は不透明・外周へ向けて透明に抜ける放射グラデーションへ置換して背景に溶かす */
.ppx div[style*="background:#F2F8FF"]{
  background:radial-gradient(118% 124% at 50% 50%,
     rgba(234,243,252,1) 52%,
     rgba(234,243,252,.62) 80%,
     rgba(234,243,252,0) 100%) !important;
  border-radius:4cqw !important;
}

/* フッターの小文字行を1行ずつに(指定番号とコピーライトが同じ行に並ぶのを防ぐ) */
.footer small{display:block;}

/* スマホでは行間が広がる分 CONTACT のくま画像が下辺を4px超えるため、その分だけ高さを足す */
@media (max-width:760px){ #contact{padding-top:63.4% !important;} }

/* セクション境界に出ていた白い線の除去
   原因: <hr class="stitch"> の枠(border-top 4px)が inline の margin-top:-2px では
   相殺しきれず、セクション間に約2pxの隙間が残り body の白が見えていた
   → 枠幅と同じだけ margin を戻して、レイアウト上の高さを 0 にする */
.stitch{margin-top:0 !important;margin-bottom:0 !important;}

/* ==========================================================
   スマホ版 縦積み (2026-10-31)
   ・760px以下のときだけ、絶対配置をやめて上から順に並べる
   ・パソコン版には一切影響しません（この@media の外には何も書かない）
   ・並び順は各要素のインラインの --o で決めています
   ========================================================== */
@media (max-width:1260px){

  /* セクション本体: 高さ指定(padding-top)をやめ、縦並びの箱にする */
  .ppx.sp-stack{
    --col:430px;
    padding-top:0 !important;
    height:auto !important;
    min-height:0 !important;
    display:flex; flex-direction:column; align-items:center;
    padding:46px 20px 42px !important;
    overflow:visible;
  }

  /* 直下の要素をすべて通常の流し込みに戻す */
  .ppx.sp-stack > *{
    position:static !important;
    left:auto !important; right:auto !important; top:auto !important; bottom:auto !important;
    width:100% !important; max-width:var(--col,430px);
    order:var(--o,50);
    margin:0 0 14px;
  }

  /* 文字サイズ: 役割クラスで指定する（インラインstyleの文字列に依存しない） */
  .ppx.sp-stack .fs-xl  {font-size:34px   !important;}
  .ppx.sp-stack .fs-en  {font-size:26px   !important;letter-spacing:.06em;margin-bottom:2px;}
  .ppx.sp-stack .fs-en2 {font-size:24px   !important;letter-spacing:.06em;margin-bottom:2px;}
  .ppx.sp-stack .fs-step{font-size:18px   !important;}
  .ppx.sp-stack .fs-17  {font-size:17px   !important;}
  .ppx.sp-stack .fs-num {font-size:17px   !important;}
  .ppx.sp-stack .fs-lead{font-size:16.5px !important;line-height:1.85;}
  .ppx.sp-stack .fs-body{font-size:16px   !important;line-height:1.95;}
  .ppx.sp-stack .fs-sm  {font-size:15px   !important;line-height:1.95;}
  .ppx.sp-stack .fs-xs  {font-size:14px   !important;line-height:1.9;}

  /* 文字は中央そろえ。長い本文だけ読みやすさ優先で左そろえにする */
  .ppx.sp-stack > div{text-align:center !important;}
  .ppx.sp-stack > div.sp-left{text-align:center !important;}

  /* アイコン画像: 幅%をやめて固定サイズに */
  .ppx.sp-stack img.sp-icon{
    width:auto !important; max-width:none !important;
    height:78px; object-fit:contain; margin:2px auto 10px;
  }

  /* 飾りの絵はスマホでは出さない（縦に並べると間延びするため） */
  .ppx.sp-stack .sp-hide{display:none !important;}

  /* カードの小見出し: 本文よりはっきり大きくする
     大見出し26px ＞ 小見出し18.5px ＞ 本文15px の3段階 */
  .ppx.sp-stack > .sp-card-head{
    font-size:18.5px !important; font-weight:900 !important;
    line-height:1.6; letter-spacing:.02em; color:#2B3A67 !important;
    margin-bottom:12px;
  }

  /* カードの先頭に区切り線を引く（番号がある場合は番号が先頭） */
  .ppx.sp-stack > .sp-sep{
    margin-top:30px; padding-top:24px;
    border-top:2px dashed rgba(168,203,236,.75);
  }
  .ppx.sp-stack > .sp-sep:first-of-type{border-top:none; margin-top:14px; padding-top:0;}
  /* 番号バッジ(01〜06 / STEP1〜4 / 1歳・ミオパチー など) */
  .ppx.sp-stack > .sp-num{
    margin:0 auto 12px; font-weight:900 !important; letter-spacing:.1em;
    color:#2B3A67 !important; width:auto !important; display:inline-block;
    background:#D6E9F8; border-radius:99px; padding:7px 22px; line-height:1.3;
  }
  /* 数字そのものは大きく */
  .ppx.sp-stack > .sp-num.fs-num {font-size:21px !important;}
  .ppx.sp-stack > .sp-num.fs-step{font-size:22px !important;}
  /* 区切り線が番号に付く場合は、線と番号の間を空ける */
  .ppx.sp-stack > .sp-num.sp-sep{padding-top:0; margin-top:30px;
    border-top:none; position:relative;}
  .ppx.sp-stack > .sp-num.sp-sep::before{
    content:''; position:absolute; left:50%; top:-24px; transform:translateX(-50%);
    width:100vw; max-width:600px; border-top:2px dashed rgba(168,203,236,.75);}
  .ppx.sp-stack > .sp-num.sp-sep:first-of-type{margin-top:14px;}
  .ppx.sp-stack > .sp-num.sp-sep:first-of-type::before{display:none;}
  /* 大きめに見せたい画像(サービス写真・地図・クマ) */
  .ppx.sp-stack img.sp-img{
    width:100% !important; max-width:360px; height:auto !important;
    border-radius:14px; margin:4px auto 12px;
  }
  /* 帯の中の締めの一文 */
  .ppx.sp-stack > .sp-band{
    background:#fff; border:2px dashed rgba(168,203,236,.8); border-radius:16px;
    padding:18px 16px; margin-top:20px;
  }
  /* 小さめに見せる画像(お問い合わせのクマなど) */
  .ppx.sp-stack img.sp-img.sp-img-s{max-width:170px; margin:2px auto 14px;}

  /* ボタン(LINE・下層ページへの導線)
     指でしっかり押せるよう、高さ58px以上・文字18pxを確保する */
  .ppx.sp-stack > .sp-btn{
    display:flex; align-items:center; justify-content:center;
    min-height:58px; margin:20px auto 8px; padding:14px 22px;
    background:#9BDDBB; color:#155e3d !important; border-radius:99px;
    font-size:18px !important; font-weight:900 !important;
    letter-spacing:.04em; text-align:center !important;
    box-shadow:0 4px 0 rgba(21,94,61,.22); text-decoration:none;
  }
  .ppx.sp-stack > .sp-btn:active{transform:translateY(3px); box-shadow:0 1px 0 rgba(21,94,61,.22);}
  .ppx.sp-stack > a.sp-btn img{width:120px;margin:0 auto;}
  /* セクション末尾の「→」リンクは枠線タイプに */
  .ppx.sp-stack > .sp-btn.fs-body{
    background:#fff; color:#2B3A67 !important;
    border:2px solid #A8CBEC; box-shadow:none; font-size:16.5px !important;
  }
}

/* タブレット〜小型ノート: 縦積みのまま列幅だけ広げる */
@media (min-width:761px) and (max-width:1260px){
  .ppx.sp-stack{--col:600px; padding:60px 24px 54px !important;}
  .ppx.sp-stack .fs-en {font-size:32px !important;}
  .ppx.sp-stack .fs-en2{font-size:29px !important;}
  .ppx.sp-stack .fs-lead{font-size:17px !important;}
  .ppx.sp-stack .fs-body{font-size:16px !important;}
  .ppx.sp-stack > .sp-card-head{font-size:20.5px !important;}
  .ppx.sp-stack .fs-sm {font-size:15px !important;}
  .ppx.sp-stack .fs-xs {font-size:14px !important;}
  .ppx.sp-stack img.sp-icon{height:96px;}
  .ppx.sp-stack img.sp-img{max-width:520px;}
}

/* ===== ヒーローの雲（平らな白い枠） ===== */
#top-hero .hero-tags{align-items:flex-start;gap:1.8vw 0.4vw;margin:2.2vw 0.5vw 0;}
#top-hero .hero-tag{
  background:none !important; background-color:transparent !important;
  border-radius:0 !important; box-shadow:none !important; border:0 !important;
  color:#2B3A67 !important; padding:0 !important;
  display:flex !important; align-items:center; justify-content:center;
  text-align:center; line-height:1.55;
  background-repeat:no-repeat !important; background-position:center !important;
  background-size:100% 100% !important;
}
#top-hero .hero-tag::before,#top-hero .hero-tag::after{display:none !important;}
#top-hero .hero-tag:nth-child(1){margin-top:1.2vw;}
#top-hero .hero-tag:nth-child(2){margin-top:2.8vw;}
#top-hero .hero-tag:nth-child(3){margin-top:0;}
#top-hero .hero-tag:nth-child(4){margin-top:1.9vw;}
@media(max-width:760px){
  #top-hero .hero-tags{gap:6px 0;margin:16px 0 0;}
  #top-hero .hero-tag:nth-child(n){margin-top:0;}
}

#top-hero .hero-tag:nth-child(1){width:13.2em;height:7.91em;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-10.8%20-8.4%20200.4%20120.1%22%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Crect%20x%3D%2235.0%22%20y%3D%2244.0%22%20width%3D%22105.0%22%20height%3D%2228.0%22%20rx%3D%2214.0%22%2F%3E%3Ccircle%20cx%3D%2226.5%22%20cy%3D%2252.3%22%20r%3D%2236.4%22%2F%3E%3Ccircle%20cx%3D%2270.9%22%20cy%3D%2234.9%22%20r%3D%2242.3%22%2F%3E%3Ccircle%20cx%3D%22120.7%22%20cy%3D%2234.2%22%20r%3D%2240.5%22%2F%3E%3Ccircle%20cx%3D%22154.2%22%20cy%3D%2259.1%22%20r%3D%2234.4%22%2F%3E%3Ccircle%20cx%3D%2258.7%22%20cy%3D%2274.7%22%20r%3D%2232.1%22%2F%3E%3Ccircle%20cx%3D%22113.3%22%20cy%3D%2273.7%22%20r%3D%2236.9%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;}
#top-hero .hero-tag:nth-child(2){width:12.2em;height:7.76em;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-17.4%20-14.4%20198.3%20126.1%22%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Crect%20x%3D%2233.0%22%20y%3D%2244.0%22%20width%3D%2299.0%22%20height%3D%2228.0%22%20rx%3D%2214.0%22%2F%3E%3Ccircle%20cx%3D%2223.7%22%20cy%3D%2252.0%22%20r%3D%2240.1%22%2F%3E%3Ccircle%20cx%3D%2264.4%22%20cy%3D%2231.8%22%20r%3D%2245.2%22%2F%3E%3Ccircle%20cx%3D%22112.8%22%20cy%3D%2236.2%22%20r%3D%2237.7%22%2F%3E%3Ccircle%20cx%3D%22146.4%22%20cy%3D%2259.6%22%20r%3D%2233.5%22%2F%3E%3Ccircle%20cx%3D%2254.6%22%20cy%3D%2275.4%22%20r%3D%2232.4%22%2F%3E%3Ccircle%20cx%3D%22106.6%22%20cy%3D%2275.2%22%20r%3D%2235.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;}
#top-hero .hero-tag:nth-child(3){width:11.8em;height:7.6em;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-17.7%20-11.0%20191.5%20123.3%22%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Crect%20x%3D%2232.0%22%20y%3D%2244.0%22%20width%3D%2296.0%22%20height%3D%2228.0%22%20rx%3D%2214.0%22%2F%3E%3Ccircle%20cx%3D%2223.3%22%20cy%3D%2256.0%22%20r%3D%2240.0%22%2F%3E%3Ccircle%20cx%3D%2262.6%22%20cy%3D%2234.5%22%20r%3D%2244.5%22%2F%3E%3Ccircle%20cx%3D%22108.1%22%20cy%3D%2236.3%22%20r%3D%2239.9%22%2F%3E%3Ccircle%20cx%3D%22140.2%22%20cy%3D%2257.7%22%20r%3D%2232.6%22%2F%3E%3Ccircle%20cx%3D%2254.1%22%20cy%3D%2273.5%22%20r%3D%2236.6%22%2F%3E%3Ccircle%20cx%3D%22101.1%22%20cy%3D%2275.9%22%20r%3D%2235.4%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;}
#top-hero .hero-tag:nth-child(4){width:10.2em;height:6.12em;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-10.0%20-7.9%20197.6%20118.5%22%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Crect%20x%3D%2235.0%22%20y%3D%2244.0%22%20width%3D%22105.0%22%20height%3D%2228.0%22%20rx%3D%2214.0%22%2F%3E%3Ccircle%20cx%3D%2227.9%22%20cy%3D%2254.0%22%20r%3D%2236.9%22%2F%3E%3Ccircle%20cx%3D%2269.3%22%20cy%3D%2233.9%22%20r%3D%2240.8%22%2F%3E%3Ccircle%20cx%3D%22118.2%22%20cy%3D%2235.8%22%20r%3D%2241.9%22%2F%3E%3Ccircle%20cx%3D%22153.0%22%20cy%3D%2259.3%22%20r%3D%2233.6%22%2F%3E%3Ccircle%20cx%3D%2256.3%22%20cy%3D%2274.5%22%20r%3D%2232.4%22%2F%3E%3Ccircle%20cx%3D%22113.4%22%20cy%3D%2274.4%22%20r%3D%2235.2%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;}
/* お問い合わせの封筒マーク：スマホでは出さない（縦積みで浮いてしまうため） */
@media (max-width:1260px){
  #contact img[src*="p_mail_line_navy"]{display:none !important;}
}

/* ===== ご利用ガイド：ページの顔の風景と、各セクションの飾り ===== */
.guide-scene{position:relative;width:100%;height:18vw;min-height:150px;max-height:260px;margin-top:10px;}
.guide-scene .gs{position:absolute;}
.guide-scene .gs-cloud{left:-6%;bottom:-10%;width:112%;}
.guide-scene .gs-sun  {right:7%;  top:2%;   width:9%;  min-width:60px;}
.guide-scene .gs-house{left:9%;   bottom:26%;width:12%; min-width:78px;}
.guide-scene .gs-bus  {left:3%;   bottom:6%; width:10%; min-width:66px;}
.guide-scene .gs-gym  {left:23%;  bottom:10%;width:11%; min-width:72px;}
.guide-scene .gs-sand {left:46%;  bottom:4%; width:12%; min-width:78px;}
.guide-scene .gs-kuma {left:62%;  bottom:14%;width:9%;  min-width:58px;}
.guide-scene .gs-slide{right:6%;  bottom:6%; width:17%; min-width:110px;}
.sd{position:absolute;pointer-events:none;opacity:.95;z-index:1;}
.sd-l{left:2.5%;top:26px;width:8.5%;min-width:62px;max-width:118px;}
.sd-r{right:2.5%;top:22px;width:9.5%;min-width:66px;max-width:128px;}
@media(max-width:900px){
  .guide-scene{height:28vw;min-height:120px;}
  .sd{display:none;}
}
/* 余白をつめる */
.sec{padding-top:44px;padding-bottom:62px;}

/* 白のセクションと水色のセクションの境目をはっきりさせる */
section.ppx{box-shadow:inset 0 1px 0 rgba(43,58,103,.06), inset 0 -1px 0 rgba(43,58,103,.06);}

/* ===== 各セクション上部の白い帯（デザインどおり 高さ13.1cqw） ===== */
section.ppx .hd-band{
  position:absolute; left:0; top:0; width:100%; height:13.10cqw;
  background:#FFFFFF; z-index:0; pointer-events:none;
}
@media (max-width:1260px){
  section.ppx.sp-stack .hd-band{display:none !important;}
}

/* ===== 下層ページも見出しの後ろを白い帯に ===== */
.sec{isolation:isolate; overflow:hidden;}
/* 白い帯は見出しのかたまり(.hb)の高さに自動で合わせる */
.hb{position:relative;}
.hb::before{
  content:''; position:absolute; left:-100%; width:300%;
  top:-999px; bottom:-30px;
  background:#FFFFFF; z-index:-1; pointer-events:none;
}
.sec.no-band .hb::before{display:none;}
.sec > *{position:relative;}
/* 飾りイラストは絶対配置を保つ（.sec > * に負けないよう指定を強める） */
.sec > .sd{position:absolute;}
@media(max-width:760px){ .hb::before{bottom:-22px;} }

/* 英字の大見出しは環境によって字幅が変わるため、絶対に折り返さない
   （お客様の環境で游ゴシックが広く出て「ABOUT / US」と2行になり、
     下の和文見出しに重なったため） */
section.ppx .fs-en, section.ppx .fs-en2{ white-space:nowrap !important; }
.sec .e-label{ white-space:nowrap; }

/* ===== LINE相談ボタン：押すと「看護／リハビリ」を選べるようにする ===== */
.line-pick{position:relative;}
.line-pick .lp-btn{border:none;cursor:pointer;font:inherit;width:100%;}
.line-pick .lp-menu{display:none;flex-direction:column;gap:8px;}
.line-pick.open .lp-menu{display:flex;}
.lp-menu a{
  display:block;white-space:nowrap;text-align:center;
  background:#fff;color:var(--green-soft-t);
  border:2px solid var(--green-soft);border-radius:99px;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;
  box-shadow:0 6px 16px rgba(43,58,103,.18);transition:.2s;
}
.lp-menu a:hover{background:var(--green-soft);}

/* 右下の浮いているボタン */
.line-pick.fab{position:fixed;right:16px;bottom:16px;z-index:95;}
.line-pick.fab .float-line{position:static;display:flex;}
.line-pick.fab .lp-menu{position:absolute;right:0;bottom:calc(100% + 10px);z-index:96;}
.line-pick.fab .lp-menu a{font-size:14px;padding:11px 24px;}

/* サイドバーのボタン */
.line-pick.side{margin:18px 26px 0;}
.line-pick.side .bnr-line{margin:0;}
.line-pick.side .lp-menu{margin-top:8px;}
.line-pick.side .lp-menu a{font-size:12.5px;padding:9px 6px;white-space:normal;line-height:1.5;}

@media(max-width:920px){
  .line-pick.fab{right:10px;bottom:10px;}
  .line-pick.fab .lp-menu a{font-size:14px;padding:12px 22px;}
}

/* スマホでは丘の風景の部品が大きくなりすぎて重なるため、最小幅を外して比率どおりに縮める */
@media(max-width:620px){
  .guide-scene{height:30vw;min-height:116px;}
  .guide-scene .gs-sun  {min-width:40px;}
  .guide-scene .gs-house{min-width:56px;}
  .guide-scene .gs-bus  {min-width:48px;}
  .guide-scene .gs-gym  {min-width:50px;}
  .guide-scene .gs-sand {min-width:54px;}
  .guide-scene .gs-kuma {min-width:40px;left:62%;}
  .guide-scene .gs-slide{min-width:78px;right:4%;}
}
@media(max-width:400px){
  .guide-scene .gs-sand {min-width:48px;}
  .guide-scene .gs-kuma {min-width:34px;left:64%;}
  .guide-scene .gs-slide{min-width:66px;}
}
@media(max-width:340px){
  .guide-scene .gs-sand {min-width:44px;}
  .guide-scene .gs-kuma {min-width:30px;}
  .guide-scene .gs-slide{min-width:56px;}
}

/* ===== スマホの第一印象：メッセージを主役にする ===== */
@media(max-width:920px){
  /* アイコンナビは右上のMENUと役割が重なるため出さない */
  .icon-nav{display:none !important;}
  /* スマホは読点で4行に割り、そのぶん大きく太く見せる（案2） */
  #top-hero .hero-copy{padding:30px 13px 0;}
  #top-hero .hero-copy h1{font-size:clamp(19px,6.4vw,36px);font-weight:900;line-height:1.52;letter-spacing:0;}
  #top-hero .hero-lead{font-size:clamp(11px,3.45vw,19px);font-weight:700;line-height:1.85;margin-top:12px;}
}

/* ===== 入ってきたときの動き（控えめに） ===== */
@keyframes heroRise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes heroPop{from{opacity:0;transform:translateY(16px) scale(.96);}to{opacity:1;transform:none;}}
@keyframes cloudFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}

#top-hero .hero-copy h1{animation:heroRise .85s cubic-bezier(.22,.9,.26,1) both;}
#top-hero .hero-lead  {animation:heroRise .85s cubic-bezier(.22,.9,.26,1) .18s both;}
#top-hero .hero-tags > *{animation:heroPop .7s cubic-bezier(.22,.9,.26,1) both;}
#top-hero .hero-tags > *:nth-child(1){animation-delay:.36s;}
#top-hero .hero-tags > *:nth-child(2){animation-delay:.48s;}
#top-hero .hero-tags > *:nth-child(3){animation-delay:.60s;}
#top-hero .hero-tags > *:nth-child(4){animation-delay:.72s;}
#top-hero .hero-cloud{animation:cloudFloat 7s ease-in-out 1.2s infinite;}
#top-hero .hero-sun  {animation:cloudFloat 9s ease-in-out 1.6s infinite;}

/* 動きを減らす設定の方には出さない */
@media (prefers-reduced-motion: reduce){
  #top-hero .hero-copy h1,
  #top-hero .hero-lead,
  #top-hero .hero-tags > *,
  #top-hero .hero-cloud,
  #top-hero .hero-sun{animation:none !important;}
}

/* 見出しの追加改行はスマホだけ（パソコンは従来どおり2行） */
@media(min-width:921px){ #top-hero .hero-copy h1 br.sp-br{display:none;} }
