
:root{--green:#4f8a72;--deep:#174c3b;--pale:#e9f3ed;--mint:#d5e9dc;--cream:#fbfaf6;--text:#263832;--soft:#566861;--line:#dce6e0;--white:#fff;--accent:#d7a65d;--shadow:0 18px 48px rgba(23,76,59,.11);--container:min(1160px,calc(100% - 48px));--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:var(--sans);background:var(--cream);line-height:1.85}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}.container{width:var(--container);margin:auto}.preview-bar{background:var(--deep);color:#fff;font-size:11px;letter-spacing:.13em}.preview-bar .container{height:34px;display:flex;align-items:center;gap:20px}.preview-bar span{opacity:.65;letter-spacing:.02em}.site-header{position:sticky;top:0;background:rgba(251,250,246,.94);backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid rgba(23,76,59,.08)}.header-inner{height:82px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;position:relative}.brand-mark i{position:absolute;background:var(--green);border-radius:99px;width:11px;transform-origin:bottom}.brand-mark i:nth-child(1){height:29px;left:5px;top:6px;transform:rotate(-28deg)}.brand-mark i:nth-child(2){height:35px;left:14px;top:2px}.brand-mark i:nth-child(3){height:29px;right:5px;top:6px;transform:rotate(28deg)}.brand b,.brand small{display:block;line-height:1}.brand b{font-size:20px}.brand small{font-size:8px;letter-spacing:.18em;margin-top:7px;color:var(--soft)}.global-nav{display:flex;margin-left:auto;gap:20px}.global-nav a{font-size:12px;font-weight:700;white-space:nowrap;padding:29px 0;position:relative}.global-nav a:after{content:"";position:absolute;bottom:18px;left:0;right:100%;height:2px;background:var(--green);transition:.2s}.global-nav a:hover:after,.global-nav a.is-active:after{right:0}.header-contact{background:var(--green);color:#fff;border-radius:99px;padding:12px 18px;font-size:12px;font-weight:700}.menu-button,.mobile-nav{display:none}.section{padding:110px 0}.soft{background:var(--pale)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--green);margin:0 0 14px}.eyebrow.light{color:#dcefe4}.section h2,.lower-hero h1{font-family:var(--serif);font-size:clamp(34px,4vw,58px);line-height:1.4;letter-spacing:-.035em;margin:0 0 25px}.section-title{margin-bottom:52px}.section-title.center{text-align:center}.section-title.center>p{max-width:700px;margin:12px auto}.section-title.row{display:flex;align-items:end;justify-content:space-between;gap:50px}.section-title.row>p{max-width:490px;color:var(--soft)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:99px;border:0;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.btn.white{background:#fff;color:var(--deep)}.btn.outline{background:transparent;color:var(--deep);border:1px solid var(--green)}.btn.ghost-light{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55)}.text-link{font-weight:800;color:var(--green)}.center{text-align:center}.mt{margin-top:45px}.hero{height:calc(100vh - 116px);min-height:680px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;display:block}.hero-mobile-image{display:none}.hero-overlay{background:linear-gradient(90deg,rgba(12,55,41,.92) 0%,rgba(12,55,41,.63) 48%,rgba(12,55,41,.15) 100%)}.hero-inner{position:relative;z-index:2}.hero h1{font-family:var(--serif);font-size:clamp(54px,7vw,94px);line-height:1.18;letter-spacing:-.055em;margin:0 0 26px}.hero h1 em{font-style:normal;color:#d9efdf}.hero p{font-size:16px;max-width:650px}.hero-actions{display:flex;gap:12px;margin-top:38px}.hero-note{display:inline-block;margin-top:30px;font-size:11px;border:1px solid rgba(255,255,255,.35);padding:7px 12px;border-radius:99px}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}.portal-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);border-radius:34px;padding:36px 34px 28px;box-shadow:0 22px 60px rgba(23,76,59,.10);border:1px solid rgba(79,138,114,.12);min-height:360px;display:flex;flex-direction:column;isolation:isolate}.portal-card::before{content:"";position:absolute;right:-44px;bottom:-44px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(79,138,114,.12) 0%,rgba(79,138,114,0) 72%);z-index:0}.portal-card::after{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--mint) 0%,rgba(79,138,114,.22) 100%);z-index:0}.portal-card.main{background:linear-gradient(180deg,#ffffff 0%,#f3faf6 100%)}.portal-card.main::after{background:linear-gradient(90deg,var(--green) 0%,rgba(79,138,114,.25) 100%)}.portal-card.recruit{background:linear-gradient(180deg,#195a47 0%,#123f31 100%);color:#fff;border-color:rgba(255,255,255,.10);box-shadow:0 28px 70px rgba(17,63,49,.24)}.portal-card.recruit::before{right:-30px;bottom:-30px;width:210px;height:210px;background:radial-gradient(circle,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 72%)}.portal-card.recruit::after{background:linear-gradient(90deg,var(--accent) 0%,rgba(255,255,255,.28) 100%)}.portal-card>*{position:relative;z-index:1}.portal-card>span{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:48px;padding:0 18px;border-radius:999px;background:rgba(79,138,114,.09);font-family:var(--serif);font-size:32px;line-height:1;color:var(--green);letter-spacing:.02em;margin-bottom:22px}.portal-card.recruit>span{background:rgba(255,255,255,.14);color:#ffffff}.portal-card h3{font-size:clamp(24px,1.85vw,33px);line-height:1.5;letter-spacing:-.03em;margin:0 0 18px;max-width:11em}.portal-card p{margin:0;color:var(--soft);font-size:15px;line-height:1.95;max-width:31ch}.portal-card.recruit p{color:#d5e6de}.portal-card b{margin-top:auto;display:inline-flex;align-items:center;gap:10px;padding-top:20px;border-top:1px solid rgba(79,138,114,.14);font-size:15px;letter-spacing:.08em;color:var(--green)}.portal-card.recruit b{border-top-color:rgba(255,255,255,.16);color:#ffffff}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split.reverse>div:first-child{order:2}.image-stack{position:relative}.image-stack img,.rounded-image{border-radius:34px;max-height:610px;object-fit:cover;box-shadow:var(--shadow)}.image-stack span{position:absolute;right:-18px;bottom:24px;background:var(--deep);color:#fff;padding:10px 15px;font-size:11px;border-radius:10px}.signature{font-family:var(--serif);font-size:20px;text-align:right}.business-grid,.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.business-card,.facility-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.business-card img,.facility-card img{height:230px;object-fit:cover}.business-card>div,.facility-card>div{padding:25px}.business-card small{font-size:10px;letter-spacing:.15em;color:var(--green)}.business-card h3,.facility-card h3{font-size:21px;line-height:1.5;margin:8px 0}.business-card p,.facility-card p{font-size:13px;color:var(--soft)}.green{background:var(--deep);color:#fff}.number-grid{display:grid;grid-template-columns:repeat(4,1fr)}.number-grid>div{text-align:center;border-right:1px solid rgba(255,255,255,.18)}.number-grid>div:last-child{border:0}.number-grid strong{font-family:var(--serif);font-size:78px;color:#dcefe4}.number-grid span{font-size:18px}.number-grid p{font-size:12px;color:#b9d0c6}.status{display:inline-block;background:#edf1ee;color:var(--soft);font-size:11px;font-weight:700;border-radius:99px;padding:5px 10px}.status.available{background:#dff1e5;color:#28764f}.manga-placeholder{aspect-ratio:4/3;border:2px dashed #98bca9;border-radius:30px;background:#f4faf6;display:grid;place-content:center;text-align:center;color:var(--green);font-size:24px;font-weight:800}.manga-placeholder small{font-size:11px;color:var(--soft);margin-top:12px}.recruit-banner{position:relative;min-height:620px;color:#fff;display:flex;align-items:center}.recruit-banner>img{position:absolute;inset:0;height:100%;object-fit:cover}.recruit-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,63,48,.93),rgba(16,63,48,.35))}.recruit-banner .container{position:relative;z-index:2}.recruit-banner .container>div{max-width:600px}.recruit-banner h2{font-family:var(--serif);font-size:56px;line-height:1.4}.news-list{border-top:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:130px 100px 1fr;gap:20px;align-items:center;padding:23px 5px;border-bottom:1px solid var(--line)}.news-list time{font-size:12px;color:var(--soft)}.news-list span{font-size:10px;text-align:center;background:var(--pale);padding:5px;border-radius:99px}.news-list b{font-size:14px}.contact-band{background:#6fa087;color:#fff;padding:70px 0}.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{font-family:var(--serif);font-size:38px;margin:0}.contact-band p{margin:8px 0 0}.contact-band-inner>div{max-width:750px}footer{background:#123d30;color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px}.brand-light .brand-mark i{background:#cfe4d8}.brand-light small{color:#bcd0c7}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid>div:first-child p{color:#afc4bb;max-width:360px}.footer-grid b{font-size:11px;letter-spacing:.13em;color:#a9c2b7;margin-bottom:10px}.footer-grid a{font-size:13px}.footer-bottom{margin-top:45px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;color:#9db5aa;font-size:10px}.lower-hero{min-height:480px;background-color:var(--deep);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}.lower-hero h1{font-size:64px}.lower-hero p:last-child{max-width:630px}.value-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-grid article,.feature-grid article{background:#fff;border-radius:24px;padding:32px;border:1px solid var(--line)}.value-grid span,.feature-grid b{color:var(--green);font-size:12px;letter-spacing:.14em}.value-grid h3,.feature-grid h3{font-size:21px;line-height:1.5}.company-table{max-width:850px}.company-table dl{border-top:1px solid var(--line)}.company-table dl>div{display:grid;grid-template-columns:220px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.company-table dt{font-weight:800}.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.flow li{background:#fff;border-radius:22px;padding:25px}.flow li>span{display:grid;place-content:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.flow h3{font-size:18px}.flow p{font-size:13px;color:var(--soft)}.cost-table{max-width:780px;margin:auto;border-top:1px solid var(--line)}.cost-table>div{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}.note{text-align:center;color:var(--soft);font-size:11px;margin-top:25px}.check-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px}.check-list li{background:#fff;border:1px solid var(--line);padding:16px 20px;border-radius:12px}.check-list li:before{content:"✓";color:var(--green);font-weight:bold;margin-right:10px}.wide-link{display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:#fff;padding:28px 35px;border-radius:18px}.filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filter button{border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:99px;cursor:pointer}.filter button.active{background:var(--green);color:#fff}.facility-grid.large{grid-template-columns:repeat(3,1fr)}.group-list{display:grid;gap:30px}.group-list article{display:grid;grid-template-columns:40% 1fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.group-list img{height:100%;min-height:330px;object-fit:cover}.group-list article>div{padding:45px}.group-list span{font-size:10px;letter-spacing:.15em;color:var(--green)}.group-list h3{font-size:30px}.portrait-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portrait-grid>div{position:relative}.portrait-grid img{height:420px;object-fit:cover;border-radius:24px}.portrait-grid span{position:absolute;bottom:15px;left:15px;background:#fff;padding:7px 12px;border-radius:8px}.job-list,.document-list{display:grid;gap:12px}.job-list a,.document-list a{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:25px 30px;border:1px solid var(--line);border-radius:16px}.job-list span,.document-list span{font-size:11px;color:var(--green);font-weight:800}.job-list h3,.document-list h3{margin:4px 0;font-size:19px}.article-inner{max-width:850px;margin:auto}.article-meta{display:flex;gap:20px}.article-meta span{background:var(--pale);padding:3px 12px;border-radius:99px}.article h1{font-family:var(--serif);font-size:42px;line-height:1.5}.article img{border-radius:25px;margin:35px 0}.contact-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-choice a{background:#fff;padding:30px;border-radius:22px;border:1px solid var(--line)}.contact-choice span{color:var(--green);font-weight:bold}.contact-choice h2{font-family:var(--sans);font-size:21px;margin:10px 0}.form-mock{max-width:800px;margin:70px auto 0;background:#fff;padding:45px;border-radius:28px;box-shadow:var(--shadow)}.form-mock label{display:grid;gap:7px;margin:20px 0;font-weight:700}.form-mock input,.form-mock select,.form-mock textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fafcfb}
@media(max-width:1000px){.global-nav{display:none}.menu-button{display:block;margin-left:auto;border:0;background:transparent;width:42px}.menu-button span{display:block;height:2px;background:var(--deep);margin:6px}.header-contact{display:none}.mobile-nav{position:fixed;z-index:49;top:116px;inset-inline:0;background:#fff;padding:25px;box-shadow:var(--shadow)}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{padding:12px;border-bottom:1px solid var(--line)}.portal-grid,.business-grid,.facility-grid,.facility-grid.large,.value-grid,.feature-grid{grid-template-columns:1fr 1fr}.split{gap:45px}.flow{grid-template-columns:1fr 1fr}.number-grid{grid-template-columns:1fr 1fr;gap:30px}.number-grid>div:nth-child(2){border:0}.group-list article{grid-template-columns:1fr}.group-list img{height:280px}.contact-choice{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{--container:min(100% - 32px,1160px)}.preview-bar span{display:none}.header-inner{height:70px}.mobile-nav{top:104px}.section{padding:75px 0}.hero{height:auto;min-height:680px}.hero-overlay{background:linear-gradient(0deg,rgba(12,55,41,.94),rgba(12,55,41,.36))}.hero-inner{padding-top:180px;padding-bottom:60px}.hero h1{font-size:46px}.hero p br{display:none}.hero-actions{flex-direction:column;align-items:stretch}.portal-grid,.business-grid,.facility-grid,.facility-grid.large,.value-grid,.feature-grid{grid-template-columns:1fr}.section-title.row,.contact-band-inner{display:block}.split{grid-template-columns:1fr;gap:35px}.split.reverse>div:first-child{order:0}.number-grid{grid-template-columns:1fr 1fr}.number-grid strong{font-size:54px}.recruit-banner{min-height:600px}.recruit-banner h2{font-size:40px}.news-list a{grid-template-columns:100px 1fr}.news-list span{display:none}.news-list b{grid-column:1/-1}.lower-hero{min-height:390px}.lower-hero h1{font-size:45px}.flow{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}.company-table dl>div{grid-template-columns:1fr;gap:5px}.portrait-grid{grid-template-columns:1fr 1fr}.portrait-grid img{height:270px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.contact-band .btn{margin-top:25px}.article h1{font-size:32px}.form-mock{padding:25px}}

/* 2026-07 kickoff revision */
.brand-logo{width:190px;height:auto;object-fit:contain}.brand-light .brand-logo{filter:none;opacity:1}.site-header .brand{min-width:190px}.manga-banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.manga-banner-grid a{display:block;position:relative;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease}.manga-banner-grid a:hover{transform:translateY(-5px)}.manga-banner-grid img{aspect-ratio:3/1;object-fit:cover}.manga-banner-grid span{display:block;padding:16px 20px;font-weight:800;color:var(--deep)}.comic-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.comic-pages img{background:#fff;border-radius:18px;box-shadow:var(--shadow)}.instagram-float{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:center;gap:11px;color:#fff;background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);padding:12px 16px;border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.25);transform:translateX(calc(100% + 50px));opacity:0;pointer-events:none;transition:transform .45s ease,opacity .45s ease}.instagram-float.is-visible{transform:translateX(0);opacity:1;pointer-events:auto}.instagram-icon{display:grid;place-content:center;width:38px;height:38px;border:2px solid #fff;border-radius:12px;font-size:28px;line-height:1}.instagram-float b,.instagram-float small{display:block;line-height:1.25}.instagram-float b{font-size:14px}.instagram-float small{font-size:10px;opacity:.9;margin-top:3px}
@media(max-width:1000px){.brand-logo{width:165px}.site-header .brand{min-width:165px}}
@media(max-width:700px){.brand-logo{width:145px}.site-header .brand{min-width:145px}.manga-banner-grid,.comic-pages{grid-template-columns:1fr}.instagram-float{right:14px;bottom:14px;padding:10px 12px;border-radius:15px}.instagram-float small{display:none}.instagram-icon{width:34px;height:34px}}

/* First-view background video */
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
@media (prefers-reduced-motion:reduce){.hero-media video{display:none}.hero-media{background:url("assets/images/hero-support.jpg") center/cover no-repeat}}

/* Final polish */
html{scroll-behavior:smooth}.site-body{padding-top:0}.skip-link{position:fixed;left:16px;top:-60px;z-index:999;background:#fff;color:var(--deep);padding:12px 18px;border-radius:0 0 10px 10px;box-shadow:var(--shadow);font-weight:800}.skip-link:focus{top:0}.site-header{top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(24,82,63,.08)}.hero{min-height:760px}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,38,29,.77) 0%,rgba(7,38,29,.44) 43%,rgba(7,38,29,.12) 75%),linear-gradient(0deg,rgba(7,38,29,.42),transparent 45%)}.hero-overlay{display:none}.hero-inner{position:relative;z-index:2}.hero h1{text-shadow:0 3px 22px rgba(0,0,0,.18)}.image-stack>span{background:rgba(255,255,255,.96);color:var(--deep);font-weight:800}.business-card img,.facility-card img,.recruit-banner>img{transition:transform .7s cubic-bezier(.2,.65,.25,1)}.business-card:hover img,.facility-card:hover img{transform:scale(1.035)}.business-card,.facility-card,.portal-card{transition:transform .28s ease,box-shadow .28s ease}.business-card:hover,.facility-card:hover,.portal-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(24,68,54,.14)}.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(17,70,52,.18)}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal-ready.is-revealed{opacity:1;transform:none}.legal-content{max-width:860px}.legal-content h2{font-family:var(--serif);font-size:28px;margin-top:48px}.legal-content p{line-height:2}.legal-note{margin-top:55px;padding:22px;border-radius:14px;background:var(--pale);font-size:12px;color:var(--soft)}
@media(max-width:700px){.hero{min-height:720px}.hero-media:after{background:linear-gradient(0deg,rgba(7,38,29,.88),rgba(7,38,29,.18))}.hero h1{font-size:42px}.site-header{top:0}.mobile-nav{top:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none;transition:none}.business-card img,.facility-card img,.btn{transition:none}}


/* =====================================================
   2026-07-28 Brand update mock v3
   ===================================================== */
.hero-v3 .hero-inner{max-width:1180px}.hero-v3 .hero-lead{font-size:17px;max-width:720px}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}.hero-tags span{border:1px solid rgba(255,255,255,.48);background:rgba(10,46,35,.28);backdrop-filter:blur(8px);padding:7px 13px;border-radius:99px;color:#fff;font-size:12px;font-weight:700}.hero-movie-label{position:absolute;right:28px;bottom:25px;z-index:3;color:#fff;text-align:right}.hero-movie-label span,.hero-movie-label small{display:block}.hero-movie-label span{font-size:10px;letter-spacing:.22em;font-weight:800}.hero-movie-label small{font-size:10px;opacity:.75}.lead-copy{font-size:18px;color:var(--deep);font-weight:700}.support-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.support-actions>span{font-size:11px;color:var(--soft)}.credential-panel{background:var(--deep);color:#fff;padding:30px;border-radius:30px;box-shadow:var(--shadow)}.credential-panel>p{font-size:10px;letter-spacing:.2em;opacity:.72}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.credential-grid article{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);padding:22px 18px;border-radius:18px;min-height:145px}.credential-grid strong{font-family:var(--serif);font-size:48px;line-height:1}.credential-grid article>span{font-size:13px;margin-left:3px}.credential-grid b,.credential-grid small{display:block}.credential-grid b{font-size:13px;line-height:1.55;margin-top:13px}.credential-grid small{font-size:10px;opacity:.68;margin-top:4px}.logo-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.logo-visual{position:relative;min-height:440px;display:grid;place-items:center}.logo-visual img{position:relative;z-index:2;width:min(390px,80%);height:auto}.logo-halo{position:absolute;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle,#fff 0 44%,rgba(79,138,114,.09) 45% 65%,transparent 66%);border:1px solid rgba(79,138,114,.14)}.logo-note{position:absolute;z-index:3;background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:13px;font-weight:800;color:var(--deep);font-size:12px;box-shadow:var(--shadow);text-align:center}.note-left{left:0;top:105px}.note-right{right:0;top:105px}.note-bottom{bottom:20px;left:50%;transform:translateX(-50%);width:180px}.logo-story blockquote{margin:26px 0;padding:22px 24px;border-left:4px solid var(--accent);background:#fff;font-family:var(--serif);font-size:21px;font-weight:700;color:var(--deep)}.number-grid-v3 p{min-height:54px}.editorial-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.editorial-card{background:#fff;border-radius:25px;overflow:hidden;box-shadow:var(--shadow)}.editorial-card img{height:240px;object-fit:cover}.editorial-card>div{padding:26px}.editorial-card span{font-size:10px;letter-spacing:.15em;color:var(--green);font-weight:800}.editorial-card h3{font-family:var(--serif);font-size:23px;line-height:1.5;margin:8px 0}.editorial-card p{font-size:13px;color:var(--soft)}.editorial-card a{font-size:12px;font-weight:800;color:var(--deep)}.editorial-wide{grid-row:span 2;display:grid;grid-template-rows:1fr auto}.editorial-wide img{height:100%;min-height:430px}.history-highlight{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:22px}.history-highlight>div{background:#fff;padding:30px;border-radius:22px;min-height:230px}.history-highlight strong{font-family:var(--serif);font-size:38px;color:var(--green)}.history-highlight h3{font-size:19px}.history-highlight p{font-size:13px;color:var(--soft)}.history-highlight>span{width:45px;height:1px;background:var(--green);position:relative}.history-highlight>span:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--green);border-right:1px solid var(--green);transform:rotate(45deg)}.recruit-banner-v3:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,43,33,.88),rgba(8,43,33,.14))}.recruit-banner-v3 .container{position:relative;z-index:2}.timeline-v3{max-width:980px;margin:40px auto 0;position:relative}.timeline-v3:before{content:"";position:absolute;left:88px;top:12px;bottom:15px;width:1px;background:var(--mint)}.timeline-v3 article{display:grid;grid-template-columns:90px 1fr;gap:38px;margin-bottom:18px}.timeline-v3 time{position:relative;z-index:2;background:var(--green);color:#fff;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:18px}.timeline-v3 article>div{background:#fff;padding:26px 30px;border-radius:19px;border:1px solid var(--line)}.timeline-v3 h3{margin:0 0 10px;font-size:20px}.timeline-v3 ul{margin:0;padding-left:20px}.timeline-v3 li{margin:4px 0;font-size:13px}.timeline-note{font-size:10px;color:var(--soft)}.future-box{margin-top:18px;padding:18px;background:var(--pale);border-radius:14px}.future-box b{color:var(--green);font-size:10px;letter-spacing:.15em}.future-box p{margin:4px 0;font-weight:700}.future-box small{color:var(--soft)}.special-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.support-photo{position:relative}.support-photo img{height:100%;min-height:500px;object-fit:cover;border-radius:26px}.support-photo>div{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(255,255,255,.94);padding:20px;border-radius:16px}.support-photo p{font-size:12px;margin-bottom:0}.support-points{display:grid;gap:14px}.support-points article{display:grid;grid-template-columns:52px 1fr;gap:18px;background:#fff;padding:24px;border-radius:18px;border:1px solid var(--line)}.support-points article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.support-points h3{margin:0 0 7px;font-size:18px}.support-points p{margin:0;font-size:13px;color:var(--soft)}.important-note{margin-top:26px;padding:17px 20px;border-left:4px solid var(--accent);background:#fff;font-size:12px}.credential-grid-wide{grid-template-columns:repeat(4,1fr);max-width:1000px;margin:auto}.credential-grid-wide article{background:var(--deep);color:#fff;text-align:center;min-height:190px;display:flex;flex-direction:column;justify-content:center}.media-frame{position:relative}.media-frame>img{height:460px;object-fit:cover;border-radius:28px}.play-link{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;background:linear-gradient(0deg,rgba(5,39,29,.58),rgba(5,39,29,.04));border-radius:28px;text-align:center}.play-link span{display:grid;place-items:center;width:70px;height:70px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:23px;padding-left:4px;margin-bottom:12px}.facility-video-intro{display:grid;grid-template-columns:1.1fr .9fr;background:var(--deep);color:#fff;border-radius:30px;overflow:hidden}.facility-video-intro img{height:430px;object-fit:cover}.facility-video-intro>div{padding:48px;align-self:center}.facility-video-intro span{font-size:10px;letter-spacing:.17em;color:#b8ddcb}.facility-video-intro h3{font-family:var(--serif);font-size:31px}.facility-video-intro p{opacity:.8}.facility-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 15px}.facility-tags span{background:var(--pale);color:var(--deep);padding:4px 9px;border-radius:99px;font-size:10px}.facility-detail-head{display:grid;grid-template-columns:1fr 1fr;gap:60px}.facility-summary{background:#fff;padding:30px;border-radius:24px;box-shadow:var(--shadow)}.facility-summary dl{margin:0}.facility-summary dl>div{display:grid;grid-template-columns:100px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}.facility-summary dl>div:last-child{border-bottom:0}.facility-summary dt{font-weight:800}.facility-summary dd{margin:0;color:var(--soft)}.facility-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:13px;margin-top:45px}.facility-gallery img{height:100%;object-fit:cover;border-radius:17px}.facility-gallery img:first-child{grid-row:1/3}.facility-gallery img:nth-child(2){grid-column:2/4}.movie-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.movie-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);padding-bottom:25px}.movie-card>div{position:relative}.movie-card img{height:300px;object-fit:cover}.movie-card small,.movie-card h3,.movie-card p{display:block;margin-left:25px;margin-right:25px}.movie-card small{color:var(--green);font-weight:800;letter-spacing:.13em;margin-top:20px}.movie-card h3{font-family:var(--serif);font-size:23px;margin-top:6px;margin-bottom:5px}.movie-card p{color:var(--soft);font-size:13px}.play-circle{position:absolute;left:24px;bottom:20px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--deep);box-shadow:var(--shadow);padding-left:3px}.career-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center}.career-path>div{background:#fff;border:1px solid var(--line);padding:24px;border-radius:18px;min-height:190px}.career-path>div span{color:var(--green);font-size:10px;font-weight:800}.career-path>div b{display:block;font-size:16px;margin:10px 0}.career-path>div p{font-size:12px;color:var(--soft)}.career-path>i{font-style:normal;color:var(--green);font-size:24px}.future-badge{display:inline-block;background:var(--pale);color:var(--deep);padding:8px 12px;border-radius:8px;font-size:10px;font-weight:800;margin-top:14px}.ecosystem{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:25px;align-items:center}.ecosystem>div{background:#fff;border-radius:22px;padding:35px;text-align:center;box-shadow:var(--shadow)}.ecosystem span,.ecosystem b{display:block}.ecosystem span{color:var(--green);font-size:11px;font-weight:800}.ecosystem b{font-family:var(--serif);font-size:21px;margin-top:8px}.ecosystem i{font-size:26px;color:var(--accent);font-style:normal}
@media(max-width:1000px){.logo-story-grid{gap:45px}.credential-grid-wide{grid-template-columns:1fr 1fr}.editorial-grid{grid-template-columns:1fr 1fr}.editorial-wide{grid-row:auto;grid-column:1/-1;grid-template-columns:1fr 1fr}.editorial-wide img{min-height:330px}.history-highlight{grid-template-columns:1fr}.history-highlight>span{width:1px;height:25px;justify-self:center}.history-highlight>span:after{display:none}.special-support-grid,.facility-detail-head{grid-template-columns:1fr}.career-path{grid-template-columns:1fr 1fr}.career-path>i{display:none}.ecosystem{grid-template-columns:1fr}.ecosystem i{text-align:center}.facility-video-intro{grid-template-columns:1fr}.facility-video-intro img{height:330px}}
@media(max-width:700px){.hero-movie-label{display:none}.hero-tags{gap:5px}.hero-tags span{font-size:10px;padding:5px 9px}.hero-v3 .hero-lead{font-size:14px}.logo-story-grid{grid-template-columns:1fr;gap:25px}.logo-visual{min-height:350px}.logo-halo{width:310px;height:310px}.note-left{left:-2px}.note-right{right:-2px}.note-bottom{bottom:0}.credential-grid{grid-template-columns:1fr 1fr}.credential-grid article{padding:17px 12px}.credential-grid strong{font-size:39px}.editorial-grid{grid-template-columns:1fr}.editorial-wide{grid-column:auto;grid-template-columns:1fr}.editorial-wide img{min-height:260px}.timeline-v3:before{left:28px}.timeline-v3 article{grid-template-columns:58px 1fr;gap:13px}.timeline-v3 time{width:56px;height:56px;font-size:13px}.timeline-v3 article>div{padding:20px}.credential-grid-wide{grid-template-columns:1fr 1fr}.special-support-grid{gap:22px}.support-photo img{min-height:420px}.support-points article{grid-template-columns:42px 1fr;padding:18px}.support-points article>span{width:40px;height:40px}.media-frame>img{height:350px}.facility-video-intro>div{padding:28px}.facility-video-intro h3{font-size:26px}.facility-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 170px 170px}.facility-gallery img:first-child{grid-column:1/3;grid-row:auto}.facility-gallery img:nth-child(2){grid-column:auto}.movie-card-grid{grid-template-columns:1fr}.movie-card img{height:230px}.career-path{grid-template-columns:1fr}.facility-detail-head{gap:25px}.about-logo .logo-visual{order:2}}


/* v4: source videos are edited into on-site storytelling rather than external links */
.site-video-shell{position:relative;overflow:hidden;border-radius:28px;background:#0c2f25;min-height:430px;box-shadow:var(--shadow)}
.site-video-shell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.site-video-shell-large{min-height:560px}
.site-video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,33,25,.04) 25%,rgba(6,33,25,.82) 100%)}
.site-video-caption{position:absolute;z-index:2;left:34px;right:34px;bottom:30px;color:#fff}
.site-video-caption span{display:block;font-size:10px;letter-spacing:.2em;font-weight:800;color:#c5e6d7;margin-bottom:10px}
.site-video-caption h3{font-family:var(--serif);font-size:28px;line-height:1.5;margin:0}
.site-video-caption p{font-size:11px;opacity:.72;margin:8px 0 0}
.media-story-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:stretch}
.story-scene-list{display:grid;gap:14px}
.story-scene-list article{background:#fff;border:1px solid var(--line);border-radius:21px;padding:25px 27px;transition:transform .25s ease,box-shadow .25s ease}
.story-scene-list article:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.story-scene-list span,.life-detail-panel span{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--green)}
.story-scene-list h3,.life-detail-panel h3{font-family:var(--serif);font-size:20px;line-height:1.5;margin:7px 0}
.story-scene-list p,.life-detail-panel p{font-size:12px;color:var(--soft);margin:0}
.life-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.life-detail-panel{display:grid;gap:14px}
.life-detail-panel article{background:#fff;border-radius:20px;padding:25px;border:1px solid var(--line)}
.facility-story-block{display:grid;grid-template-columns:1.15fr .85fr;background:var(--deep);border-radius:30px;overflow:hidden;color:#fff}
.facility-story-block .site-video-shell{border-radius:0;box-shadow:none;min-height:500px}
.facility-story-copy{padding:48px;align-self:center}
.facility-story-copy>span{font-size:10px;letter-spacing:.18em;color:#b8ddcb;font-weight:800}
.facility-story-copy h3{font-family:var(--serif);font-size:30px;line-height:1.55;margin:10px 0 15px}
.facility-story-copy>p{font-size:13px;opacity:.78}
.scene-flow{list-style:none;margin:25px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scene-flow li{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:12px}
.scene-flow b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--deep);font-size:10px}
.scene-flow span{font-size:11px;font-weight:700}
.recruit-documentary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;align-items:stretch}
.workday-timeline{display:grid;gap:11px}
.workday-timeline article{display:grid;grid-template-columns:63px 1fr;gap:15px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.workday-timeline time{display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:var(--deep);color:#fff;font-size:11px;font-weight:800}
.workday-timeline b{display:block;font-size:14px;margin-bottom:4px;color:var(--deep)}
.workday-timeline p{font-size:11px;color:var(--soft);margin:0}
.voice-list{display:grid;gap:10px;margin-top:24px}
.voice-list blockquote{position:relative;margin:0;background:var(--pale);border-radius:14px;padding:16px 18px 16px 42px;color:var(--deep);font-weight:700;font-size:13px}
.voice-list blockquote:before{content:'“';position:absolute;left:17px;top:7px;font-family:var(--serif);font-size:34px;color:var(--green)}
@media(max-width:1000px){.media-story-grid,.life-feature-grid,.facility-story-block,.recruit-documentary-grid{grid-template-columns:1fr}.site-video-shell-large{min-height:490px}.facility-story-copy{padding:38px}.facility-story-block .site-video-shell{min-height:420px}}
@media(max-width:700px){.site-video-shell,.site-video-shell-large{min-height:400px;border-radius:22px}.site-video-caption{left:21px;right:21px;bottom:21px}.site-video-caption h3{font-size:22px}.story-scene-list article,.life-detail-panel article{padding:21px}.facility-story-copy{padding:28px 23px}.facility-story-copy h3{font-size:24px}.scene-flow{grid-template-columns:1fr}.workday-timeline article{grid-template-columns:52px 1fr;padding:14px}.workday-timeline time{width:48px;height:48px;font-size:9px}}


/* v5: supplied logo artwork, phrase-aware typography, and scroll-triggered Instagram link */
main h1,main h2,main h3,.contact-band h2,.portal-card h3,.lower-hero h1{
  word-break:normal;
  word-break:auto-phrase;
  line-break:strict;
  overflow-wrap:normal;
  text-wrap:balance;
}
main p,main li,main dd,.contact-band p{
  line-break:strict;
  text-wrap:pretty;
}
.section-title.center h2{max-width:960px;margin-left:auto;margin-right:auto}
.section-title.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);align-items:end}
.section-title.row>div{min-width:0}
.section-title.row>p{margin:0 0 8px}
.logo-story-grid{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:68px}
.logo-meaning-visual{
  position:relative;
  min-height:570px;
  display:grid;
  place-items:center;
  padding:82px 56px 112px;
  isolation:isolate;
}
.logo-meaning-visual:before{
  content:"";
  position:absolute;
  width:min(92%,560px);
  aspect-ratio:1;
  border-radius:50%;
  background:rgba(255,255,255,.34);
  box-shadow:0 0 0 1px rgba(79,138,114,.13),0 0 0 34px rgba(255,255,255,.14);
  z-index:-2;
}
.logo-meaning-ring{
  position:absolute;
  width:min(100%,640px);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(79,138,114,.18);
  z-index:-3;
}
.logo-meaning-card{
  position:relative;
  z-index:2;
  width:min(100%,590px);
  aspect-ratio:1.46;
  display:grid;
  place-items:center;
  padding:24px 30px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(79,138,114,.11);
  border-radius:34px;
  box-shadow:0 24px 55px rgba(23,76,59,.12);
}
.logo-meaning-image{width:100%;height:100%;object-fit:contain}
.logo-meaning-label{
  position:absolute;
  z-index:4;
  top:28px;
  min-width:128px;
  padding:13px 18px 12px;
  border-radius:17px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(79,138,114,.16);
  box-shadow:0 12px 30px rgba(23,76,59,.09);
  text-align:center;
  color:var(--deep);
}
.logo-meaning-label strong,.logo-meaning-label span{display:block}
.logo-meaning-label strong{font-size:16px;letter-spacing:.06em}
.logo-meaning-label span{font-size:9px;color:var(--soft);letter-spacing:.08em;margin-top:2px}
.logo-meaning-label:after{
  content:"";
  position:absolute;
  top:100%;
  width:86px;
  height:1px;
  background:rgba(79,138,114,.46);
  transform-origin:top;
}
.logo-meaning-label--user{left:1%}
.logo-meaning-label--user:after{left:78%;transform:rotate(28deg)}
.logo-meaning-label--staff{right:1%}
.logo-meaning-label--staff:after{right:78%;transform:rotate(-28deg)}
.logo-meaning-message{
  position:absolute;
  left:50%;
  bottom:16px;
  z-index:4;
  width:min(88%,370px);
  transform:translateX(-50%);
  padding:17px 22px;
  border-radius:20px;
  background:var(--deep);
  color:#fff;
  text-align:center;
  box-shadow:0 16px 34px rgba(23,76,59,.18);
}
.logo-meaning-message strong,.logo-meaning-message span{display:block}
.logo-meaning-message strong{font-family:var(--serif);font-size:16px;letter-spacing:.02em}
.logo-meaning-message span{font-size:11px;color:#cfe3d8;margin-top:3px}
.instagram-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:48;
  width:min(330px,calc(100vw - 32px));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(calc(100% + 48px),0,0);
  transition:opacity .35s ease,transform .48s cubic-bezier(.2,.8,.2,1);
}
.instagram-float.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)}
.instagram-float__link{
  display:grid;
  grid-template-columns:46px 1fr 24px;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:13px 17px 13px 14px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(23,76,59,.12);
  border-radius:21px;
  color:var(--deep);
  box-shadow:0 18px 48px rgba(15,54,42,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .2s ease,box-shadow .2s ease;
}
.instagram-float__link:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(15,54,42,.23)}
.instagram-float__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#feda75,#d62976 54%,#4f5bd5);color:#fff}
.instagram-float__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}
.instagram-float__icon .instagram-float__dot{fill:currentColor;stroke:none}
.instagram-float__copy{min-width:0;line-height:1.35}
.instagram-float__copy small,.instagram-float__copy strong{display:block}
.instagram-float__copy small{font-size:8px;letter-spacing:.16em;color:var(--green);font-weight:800;white-space:nowrap}
.instagram-float__copy strong{font-size:13px;margin-top:4px;white-space:nowrap}
.instagram-float__arrow{font-size:18px;color:var(--green)}
.instagram-float__close{
  position:absolute;
  right:-7px;
  top:-9px;
  z-index:2;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--deep);
  color:#fff;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 15px rgba(15,54,42,.22);
}
@media(max-width:1000px){
  .section-title.row{grid-template-columns:1fr;gap:14px;align-items:start}
  .section-title.row>p{max-width:760px;margin:0}
  .logo-story-grid{grid-template-columns:1fr;gap:32px}
  .logo-meaning-visual{max-width:720px;width:100%;margin:auto}
}
@media(max-width:700px){
  .section h2,.lower-hero h1{font-size:clamp(31px,9vw,43px);line-height:1.48;letter-spacing:-.045em}
  .section-title{margin-bottom:38px}
  .section-title.row{gap:9px}
  .section-title.row>p{font-size:13px}
  .logo-meaning-visual{min-height:455px;padding:70px 0 96px}
  .logo-meaning-visual:before{width:92%;box-shadow:0 0 0 1px rgba(79,138,114,.13),0 0 0 19px rgba(255,255,255,.13)}
  .logo-meaning-ring{width:100%}
  .logo-meaning-card{width:94%;padding:18px 17px;border-radius:25px}
  .logo-meaning-label{top:4px;min-width:104px;padding:10px 12px;border-radius:14px}
  .logo-meaning-label strong{font-size:14px}
  .logo-meaning-label span{font-size:8px}
  .logo-meaning-label--user{left:0}
  .logo-meaning-label--staff{right:0}
  .logo-meaning-label:after{width:48px}
  .logo-meaning-message{bottom:0;width:92%;padding:14px 15px;border-radius:17px}
  .logo-meaning-message strong{font-size:14px}
  .logo-meaning-message span{font-size:10px}
  .instagram-float{right:14px;bottom:14px;width:min(315px,calc(100vw - 28px))}
  .instagram-float__link{grid-template-columns:42px 1fr 20px;min-height:68px;padding:10px 14px 10px 11px;border-radius:18px}
  .instagram-float__icon{width:42px;height:42px;border-radius:13px}
  .instagram-float__copy strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .instagram-float{transition:none}
}


/* v6: deliberate heading line layouts and stronger floating contact CTA */
.controlled-heading .heading-layout{display:block}
.controlled-heading .heading-layout--mobile{display:none}
.controlled-heading .heading-line{display:block;white-space:nowrap}
.heading-guide{font-size:clamp(34px,3.65vw,54px)!important}
.heading-support{font-size:clamp(40px,4.35vw,56px)!important;line-height:1.48!important}
.heading-logo-message{font-size:clamp(34px,3.35vw,46px)!important;line-height:1.48!important}
.heading-special-support{font-size:clamp(33px,3vw,40px)!important;line-height:1.48!important}
.heading-daily{font-size:clamp(37px,3.65vw,51px)!important;line-height:1.48!important}
.heading-meals,.heading-group-vision{font-size:clamp(34px,3.2vw,44px)!important;line-height:1.45!important}

.contact-float{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:49;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(-50%,calc(100% + 48px),0);
  transition:opacity .3s ease,visibility .3s ease,transform .44s cubic-bezier(.2,.8,.2,1);
}
.contact-float.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(-50%,0,0);
}
.contact-float__link{
  display:grid;
  grid-template-columns:44px auto 24px;
  align-items:center;
  gap:12px;
  min-width:310px;
  min-height:70px;
  padding:10px 19px 10px 12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:linear-gradient(135deg,#174c3b,#31765e);
  color:#fff;
  box-shadow:0 20px 50px rgba(12,48,37,.32);
  transition:transform .2s ease,box-shadow .2s ease;
}
.contact-float__link:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(12,48,37,.38)}
.contact-float__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--deep);font-size:19px}
.contact-float__copy{line-height:1.25;white-space:nowrap}
.contact-float__copy small,.contact-float__copy strong{display:block}
.contact-float__copy small{font-size:8px;letter-spacing:.19em;color:#cae5d9;font-weight:800}
.contact-float__copy strong{font-size:15px;letter-spacing:.04em;margin-top:4px}
.contact-float__arrow{font-size:20px;color:#fff}

/* Instagram is secondary to the contact CTA. */
.instagram-float{right:18px;bottom:18px;width:min(226px,calc(100vw - 32px));z-index:48}
.instagram-float__link{grid-template-columns:35px 1fr 17px;gap:9px;min-height:57px;padding:9px 12px 9px 9px;border-radius:17px}
.instagram-float__icon{width:35px;height:35px;border-radius:11px}
.instagram-float__icon svg{width:20px;height:20px}
.instagram-float__copy small{font-size:6.5px;letter-spacing:.13em}
.instagram-float__copy strong{font-size:10.5px;margin-top:2px}
.instagram-float__arrow{font-size:14px}
.instagram-float__close{right:-6px;top:-8px;width:21px;height:21px;font-size:13px}

@media(max-width:700px){
  .controlled-heading .heading-layout--desktop{display:none}
  .controlled-heading .heading-layout--mobile{display:block}
  .controlled-heading .heading-line{white-space:nowrap}
  .heading-guide{font-size:clamp(24px,7.05vw,29px)!important;line-height:1.38!important;letter-spacing:-.045em!important}
  .heading-support{font-size:clamp(28px,8.2vw,35px)!important;line-height:1.5!important}
  .heading-logo-message{font-size:clamp(28px,8.05vw,34px)!important;line-height:1.48!important}
  .heading-special-support{font-size:clamp(25px,7.25vw,31px)!important;line-height:1.52!important}
  .heading-daily{font-size:clamp(28px,8vw,34px)!important;line-height:1.5!important}
  .heading-meals{font-size:clamp(27px,7.75vw,33px)!important;line-height:1.52!important}
  .heading-group-vision{font-size:clamp(25px,7.1vw,30px)!important;line-height:1.52!important}

  .contact-float{left:auto;right:13px;bottom:13px;transform:translate3d(calc(100% + 42px),0,0)}
  .contact-float.is-visible{transform:translate3d(0,0,0)}
  .contact-float__link{grid-template-columns:38px auto 19px;gap:9px;min-width:0;min-height:60px;padding:8px 14px 8px 9px}
  .contact-float__icon{width:38px;height:38px;font-size:16px}
  .contact-float__copy small{font-size:7px}
  .contact-float__copy strong{font-size:12px}
  .contact-float__arrow{font-size:16px}

  .instagram-float{right:13px;bottom:82px;width:166px}
  .instagram-float__link{grid-template-columns:29px 1fr 13px;gap:7px;min-height:47px;padding:7px 9px 7px 7px;border-radius:14px}
  .instagram-float__icon{width:29px;height:29px;border-radius:9px}
  .instagram-float__icon svg{width:17px;height:17px}
  .instagram-float__copy small{font-size:5.5px;letter-spacing:.1em}
  .instagram-float__copy strong{font-size:9px;margin-top:1px}
  .instagram-float__arrow{font-size:12px}
  .instagram-float__close{width:19px;height:19px;font-size:12px}
}
@media(max-width:374px){
  .heading-guide{font-size:23px!important}
  .heading-support{font-size:27px!important}
  .heading-logo-message{font-size:27px!important}
  .heading-special-support{font-size:24px!important}
  .heading-daily{font-size:27px!important}
  .heading-meals{font-size:26px!important}
  .heading-group-vision{font-size:24px!important}
}
@media(prefers-reduced-motion:reduce){.contact-float{transition:none}}


/* v7: mobile credential label and always-visible contact CTA */
@media(max-width:700px){
  .credential-grid article:first-child b{
    white-space:nowrap;
    font-size:11.5px;
    letter-spacing:-.045em;
  }
}


/* v9: inclusive hero message and representative introduction */
.hero-lead--inclusive{max-width:780px!important}
.hero-lead--inclusive span{display:block}
.representative-intro{position:relative;overflow:hidden;background:#fff}
.representative-intro:before{content:"";position:absolute;right:-10%;top:-30%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(213,233,220,.72) 0%,rgba(233,243,237,.25) 58%,transparent 72%);pointer-events:none}
.representative-intro__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);gap:78px;align-items:center}
.representative-intro__visual{position:relative;min-height:580px;border-radius:36px 36px 130px 36px;overflow:hidden;box-shadow:var(--shadow);background:var(--pale)}
.representative-intro__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(11,55,41,.35) 100%);pointer-events:none}
.representative-intro__visual img{width:100%;height:100%;min-height:580px;object-fit:cover;object-position:center 24%}
.representative-intro__badge{position:absolute;z-index:2;left:24px;bottom:24px;min-width:210px;padding:16px 20px;border-radius:18px;background:rgba(255,255,255,.95);color:var(--deep);box-shadow:0 15px 34px rgba(17,62,48,.18);backdrop-filter:blur(10px)}
.representative-intro__badge small,.representative-intro__badge strong{display:block}
.representative-intro__badge small{font-size:9px;font-weight:800;letter-spacing:.17em;color:var(--green)}
.representative-intro__badge strong{font-family:var(--serif);font-size:22px;margin-top:3px}
.representative-intro__body{max-width:650px}
.representative-intro__body h2{font-size:clamp(38px,4.1vw,56px);line-height:1.45}
.representative-intro__body p{color:var(--soft)}
.representative-intro__lead{font-size:18px!important;line-height:2;color:var(--text)!important}
.representative-intro__signature{margin:27px 0 22px;padding-top:20px;border-top:1px solid var(--line);text-align:right}
.representative-intro__signature span,.representative-intro__signature strong{display:block}
.representative-intro__signature span{font-size:11px;letter-spacing:.08em}
.representative-intro__signature strong{font-family:var(--serif);font-size:19px;color:var(--text);margin-top:3px}
@media(max-width:1000px){
  .representative-intro__grid{grid-template-columns:1fr;gap:42px}
  .representative-intro__visual{width:min(100%,720px);min-height:520px;border-radius:30px 30px 100px 30px}
  .representative-intro__visual img{min-height:520px}
  .representative-intro__body{max-width:760px}
}
@media(max-width:700px){
  .hero-lead--inclusive span{display:block}
  .representative-intro__grid{gap:30px}
  .representative-intro__visual{min-height:420px;border-radius:24px 24px 72px 24px}
  .representative-intro__visual img{min-height:420px;object-position:center 20%}
  .representative-intro__badge{left:14px;bottom:14px;min-width:175px;padding:12px 15px;border-radius:15px}
  .representative-intro__badge strong{font-size:18px}
  .representative-intro__body h2{font-size:clamp(32px,9vw,42px);line-height:1.5}
  .representative-intro__lead{font-size:16px!important;line-height:1.9}
}


/* v10: tighter mobile hero spacing and scroll-triggered floating CTA */
@media(max-width:700px){
  .hero{height:auto;min-height:calc(100svh - 82px)}
  .hero-v3{align-items:flex-start}
  .hero-v3 .hero-inner{padding-top:34px;padding-bottom:34px}
  .hero-v3 .eyebrow.light{margin-bottom:10px}
  .hero-v3 h1{margin-bottom:18px}
  .hero-v3 .hero-lead{margin-top:0}
  .hero-v3 .hero-tags{margin-top:14px}
  .hero-v3 .hero-actions{margin-top:22px}
}
@media(max-width:374px){
  .hero-v3 .hero-inner{padding-top:26px;padding-bottom:28px}
}


/* v11: natural mobile wrapping with no-break exceptions on contact page */
.heading-natural{
  word-break:auto-phrase;
  line-break:strict;
  overflow-wrap:normal;
  text-wrap:pretty;
}
@media(max-width:700px){
  .portal-card h3,
  .contact-choice h2,
  .form-mock h2,
  .contact-band h2{
    word-break:auto-phrase;
    line-break:strict;
    overflow-wrap:normal;
    text-wrap:balance;
  }
  .portal-card h3 br{display:none}
  .contact-choice h2.heading-compact-mobile{
    white-space:nowrap;
    font-size:clamp(17px,5.8vw,21px);
    letter-spacing:-.045em;
    line-height:1.4;
  }
  .form-mock h2.heading-form-mobile{
    white-space:nowrap;
    font-size:clamp(27px,8vw,31px);
    letter-spacing:-.04em;
    line-height:1.35;
  }
}


@media(max-width:900px){
  .portal-grid{grid-template-columns:1fr;gap:18px}
  .portal-card{min-height:auto}
  .portal-card h3{max-width:none}
}
@media(max-width:700px){
  .portal-card{padding:30px 26px 24px;border-radius:28px}
  .portal-card>span{min-width:64px;height:42px;font-size:28px;margin-bottom:18px}
  .portal-card h3{font-size:clamp(22px,7vw,30px);line-height:1.5;margin-bottom:14px}
  .portal-card p{font-size:14px;line-height:1.85;max-width:none}
  .portal-card b{padding-top:16px;font-size:14px}
}

/* v12: prevent horizontal page drift on mobile */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.site-header,
.mobile-nav,
main,
main > section,
.contact-band,
footer{
  max-width:100%;
}

@media(max-width:700px){
  .container{
    width:calc(100% - 32px);
    max-width:calc(100% - 32px);
    margin-left:auto;
    margin-right:auto;
  }

  /* Grid children must be allowed to shrink inside the viewport. */
  .portal-grid > *,
  .split > *,
  .section-title.row > *,
  .timeline-v3,
  .timeline-v3 article,
  .timeline-v3 article > div,
  .contact-choice > *,
  .facility-grid > *,
  .business-grid > *,
  .editorial-grid > *,
  .representative-intro__grid > *{
    min-width:0;
    max-width:100%;
  }

  .timeline-v3{
    width:100%;
    overflow:hidden;
  }
  .timeline-v3 article{
    grid-template-columns:56px minmax(0,1fr);
    gap:12px;
    width:100%;
  }
  .timeline-v3 article > div{
    width:100%;
    padding:19px 16px;
  }
  .timeline-v3 h3,
  .timeline-v3 p,
  .timeline-v3 li,
  .future-box p,
  .future-box small{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    line-break:strict;
  }
  .timeline-v3 ul{
    max-width:100%;
    padding-left:1.2em;
  }

  /* Fixed panels must never increase the document width. */
  .contact-float,
  .instagram-float{
    max-width:calc(100vw - 26px);
  }
  .contact-float__link,
  .instagram-float__link{
    max-width:100%;
  }
}


/* v13: feedback reflection - plain Japanese labels, inclusive support, 18 facilities, message/MVV, costs and recruit integration */
.facility-home-section .facility-map-wrap{margin-bottom:42px}
.facility-map-wrap{background:#fff;border:1px solid var(--line);border-radius:30px;padding:26px;box-shadow:var(--shadow)}
.facility-map{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:14px;min-height:360px;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,#eff6f1,#e2eee7)}
.facility-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(79,138,114,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(79,138,114,.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.facility-map-region{position:relative;margin:24px;border:1px solid rgba(23,76,59,.16);border-radius:44% 56% 47% 53%/42% 40% 60% 58%;background:rgba(255,255,255,.78);box-shadow:0 12px 32px rgba(23,76,59,.08);min-height:310px;z-index:2}
.facility-map-region--higashiosaka{border-radius:54% 46% 55% 45%/52% 62% 38% 48%;background:rgba(233,243,237,.92)}
.facility-map-region>strong{position:absolute;left:24px;top:20px;font-family:var(--serif);font-size:24px;color:var(--deep)}
.facility-map-region>span{position:absolute;left:25px;top:57px;font-size:11px;color:var(--soft);font-weight:800}
.facility-map-pin{position:absolute;display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--deep);color:#fff;font-size:10px;font-weight:800;box-shadow:0 8px 16px rgba(23,76,59,.22);z-index:3}
.facility-map-pin::before{content:attr(aria-label);position:absolute;left:50%;top:-9px;transform:translate(-50%,-100%) rotate(45deg);background:#fff;color:var(--deep);border:1px solid var(--line);border-radius:8px;padding:4px 7px;font-size:9px;line-height:1.25;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow)}
.facility-map-pin:hover::before,.facility-map-pin:focus-visible::before{opacity:1}
.facility-map-pin:nth-of-type(1){left:28%;top:31%}.facility-map-pin:nth-of-type(2){left:49%;top:27%}.facility-map-pin:nth-of-type(3){left:69%;top:37%}.facility-map-pin:nth-of-type(4){left:36%;top:50%}.facility-map-pin:nth-of-type(5){left:58%;top:52%}.facility-map-pin:nth-of-type(6){left:76%;top:60%}.facility-map-pin:nth-of-type(7){left:24%;top:68%}.facility-map-pin:nth-of-type(8){left:48%;top:74%}.facility-map-pin:nth-of-type(9){left:68%;top:76%}
.facility-map-road{position:absolute;height:2px;background:rgba(215,166,93,.45);z-index:1;transform-origin:left}.facility-map-road--one{left:10%;right:8%;top:48%;transform:rotate(-8deg)}.facility-map-road--two{left:18%;right:12%;top:68%;transform:rotate(5deg)}
.facility-map-legend{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:26px}
.facility-map-legend>div{background:var(--cream);border-radius:18px;padding:20px 22px}.facility-map-legend h3{font-size:17px;margin:0 0 12px}.facility-map-legend h3 span{font-size:11px;color:var(--soft);margin-left:7px}.facility-map-legend ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.facility-map-legend li{display:flex;gap:8px;align-items:center;font-size:11px}.facility-map-legend li b{color:var(--green);font-size:9px;min-width:20px}.facility-map-note{text-align:right;font-size:10px;color:var(--soft);margin:14px 2px 0}
.facility-grid--featured{margin-top:30px}.facility-grid--locations{margin-top:28px}.facility-card--location[hidden]{display:none}
.facility-filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:42px 0 24px}.facility-filter button{border:1px solid var(--line);background:#fff;color:var(--deep);border-radius:99px;padding:10px 20px;font-weight:800;cursor:pointer}.facility-filter button.active{background:var(--deep);color:#fff;border-color:var(--deep)}

.representative-message-full__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:70px;align-items:start}.representative-message-full__content{max-width:760px}.representative-message-full__content h2{font-size:clamp(34px,3.8vw,52px);line-height:1.55}.representative-message-full__content>p:not(.eyebrow):not(.signature){color:var(--soft)}.representative-message-full__visual{position:sticky;top:115px}.representative-message-full__visual img{height:560px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.representative-message-full__visual span{display:block;margin-top:13px;text-align:right;font-family:var(--serif);font-weight:700}.message-key-quote{margin:32px 0;padding:26px 30px;border-left:4px solid var(--green);background:var(--pale);font-family:var(--serif);font-size:22px;line-height:1.8;color:var(--deep)}

.mvv-core-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mvv-core-grid article{background:var(--deep);color:#fff;border-radius:28px;padding:38px}.mvv-core-grid span{font-size:11px;letter-spacing:.08em;color:#cfe3d8;font-weight:800}.mvv-core-grid h3{font-family:var(--serif);font-size:28px;line-height:1.55;margin:14px 0}.mvv-core-grid p{color:#dbe9e2;margin-bottom:0}.value-section-head{margin:64px 0 24px}.value-section-head>span{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.08em}.value-section-head h3{font-family:var(--serif);font-size:30px;margin:8px 0}.value-grid--six{grid-template-columns:repeat(3,1fr)}.value-grid--six article{min-height:245px}.value-grid--six h3{font-size:19px}.value-grid--six p{font-size:13px;color:var(--soft)}

.cost-total{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:22px}.cost-total small{font-size:12px;font-weight:800;color:var(--green)}.cost-total strong{font-family:var(--serif);font-size:clamp(38px,5vw,62px);color:var(--deep);line-height:1}.cost-total span{font-weight:800}.cost-table--detail>div{align-items:center;gap:28px}.cost-table--detail>div>b{min-width:180px}.cost-table--detail>div>span{text-align:right}.cost-table--detail strong,.cost-table--detail small{display:block}.cost-table--detail strong{font-size:18px;color:var(--deep)}.cost-table--detail small{color:var(--soft);font-size:11px;margin-top:2px}.cost-effort-note{max-width:780px;margin:22px auto 0;padding:15px 18px;background:#fff;border-left:4px solid var(--accent);font-size:12px;color:var(--soft)}

.recruit-platform-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--deep);color:#fff;border-radius:24px;padding:28px 32px;margin-bottom:24px}.recruit-platform-card>div{max-width:720px}.recruit-platform-card span{font-size:10px;letter-spacing:.1em;color:#cfe3d8;font-weight:800}.recruit-platform-card h3{font-family:var(--serif);font-size:23px;margin:6px 0}.recruit-platform-card p{font-size:12px;color:#c9ddd4;margin:0}.recruit-platform-card>strong{white-space:nowrap;background:#fff;color:var(--deep);border-radius:99px;padding:13px 20px}.recruit-platform-card>.btn{white-space:nowrap;background:#fff;color:var(--deep);min-height:48px;padding:0 20px}.job-platform-badge{display:inline-block;color:var(--green);background:var(--pale);border-radius:99px;padding:4px 9px;font-size:9px;margin-bottom:5px}

.logo-story .logo-meaning-visual,.about-logo .logo-meaning-visual{padding-top:35px}.logo-story .logo-meaning-message,.about-logo .logo-meaning-message{width:min(92%,520px)}

@media(max-width:1000px){.facility-map{grid-template-columns:1fr;min-height:680px}.facility-map-region{min-height:290px}.representative-message-full__grid{grid-template-columns:1fr}.representative-message-full__visual{position:relative;top:auto;width:min(100%,680px)}.mvv-core-grid{grid-template-columns:1fr}.value-grid--six{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.facility-map-wrap{padding:14px;border-radius:22px}.facility-map{min-height:610px}.facility-map-region{margin:12px;min-height:270px}.facility-map-region>strong{left:17px;top:14px;font-size:20px}.facility-map-region>span{left:18px;top:45px}.facility-map-pin{width:26px;height:26px;font-size:9px}.facility-map-pin::before{display:none}.facility-map-legend{grid-template-columns:1fr;gap:12px;padding-top:16px}.facility-map-legend>div{padding:16px}.facility-map-legend ol{grid-template-columns:1fr}.facility-map-note{text-align:left}.facility-filter{margin:30px 0 18px;justify-content:flex-start}.facility-filter button{font-size:11px;padding:9px 13px}.representative-message-full__content h2{font-size:clamp(29px,8.4vw,36px)}.representative-message-full__visual img{height:430px}.message-key-quote{font-size:18px;padding:20px}.value-grid--six{grid-template-columns:1fr}.mvv-core-grid article{padding:28px}.mvv-core-grid h3{font-size:23px}.value-section-head{margin-top:45px}.cost-total{flex-wrap:wrap}.cost-total strong{font-size:36px}.cost-table--detail>div{display:block;padding:18px 12px}.cost-table--detail>div>b{display:block;margin-bottom:7px}.cost-table--detail>div>span{text-align:left}.recruit-platform-card{display:block;padding:24px}.recruit-platform-card>strong{display:inline-block;margin-top:18px}.recruit-platform-card>.btn{margin-top:18px}.facility-grid--locations,.facility-grid--featured{grid-template-columns:1fr}}


/* v14: selected representative/business photos + responsive crop assets */
.responsive-photo{display:block;width:100%;height:100%}
.responsive-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.responsive-photo--rounded{border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.responsive-photo--rounded{height:auto}
.responsive-photo--rounded>img{border-radius:0;box-shadow:none;max-height:none;height:auto}
.lower-hero--responsive{background-image:linear-gradient(90deg,rgba(16,66,49,.94),rgba(16,66,49,.42)),var(--hero-pc)!important;background-position:center;background-size:cover}
.representative-intro__visual>.responsive-photo{position:absolute;inset:0}
.representative-intro__visual>.responsive-photo>img{min-height:580px;object-position:center 28%}
.representative-message-full__visual>.responsive-photo{height:560px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.representative-message-full__visual>.responsive-photo>img{height:100%;border-radius:0;box-shadow:none;object-position:center 28%}
.support-photo>.responsive-photo{height:100%;min-height:500px}
.support-photo>.responsive-photo>img{min-height:500px;border-radius:26px;object-position:center}
.group-list article>picture.responsive-photo{height:100%;min-height:330px}
.group-list article>picture.responsive-photo>img{height:100%;min-height:330px;object-position:center}
.recruit-banner>picture.responsive-photo{position:absolute;inset:0;height:100%;z-index:0}
.recruit-banner>picture.responsive-photo>img{height:100%;object-fit:cover;object-position:center}
@media(max-width:1000px){
  .group-list article>picture.responsive-photo{height:280px;min-height:0}
  .group-list article>picture.responsive-photo>img{height:280px;min-height:0}
}
@media(max-width:700px){
  .lower-hero--responsive{background-image:linear-gradient(0deg,rgba(16,66,49,.92),rgba(16,66,49,.45)),var(--hero-sp)!important;background-position:center 35%}
  .representative-intro__visual>.responsive-photo>img{object-position:center 25%}
  .representative-message-full__visual>.responsive-photo{height:430px}
  .representative-message-full__visual>.responsive-photo>img{object-position:center 25%}
  .support-photo>.responsive-photo{min-height:420px}
  .support-photo>.responsive-photo>img{min-height:420px;object-position:center}
  .recruit-banner>picture.responsive-photo>img{object-position:center}
}


/* v15/v22: about hero image visibility + natural representative-message wrapping */
.lower-hero--about-photo{position:relative;isolation:isolate;overflow:hidden;background:var(--deep)}
.lower-hero--about-photo .lower-hero__media{position:absolute;inset:0;z-index:-2;display:block}
.lower-hero--about-photo .lower-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.lower-hero--about-photo .lower-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,62,45,.90) 0%,rgba(11,62,45,.78) 31%,rgba(11,62,45,.38) 56%,rgba(11,62,45,.10) 82%,rgba(11,62,45,.04) 100%)}
.lower-hero--about-photo .lower-hero__content{position:relative;z-index:1}
.lower-hero--about-photo .lower-hero__content>p:last-child{max-width:620px;text-shadow:0 1px 12px rgba(0,0,0,.18)}
.lower-hero--about-photo h1{text-shadow:0 2px 16px rgba(0,0,0,.18)}
.representative-message-heading>span{display:block}
.representative-message-heading .message-line-natural{word-break:normal;overflow-wrap:anywhere}
.representative-message-heading .message-keep-phrase{white-space:nowrap}

@media(max-width:700px){
  .lower-hero--about-photo{min-height:520px;align-items:flex-end}
  .lower-hero--about-photo .lower-hero__media img{object-position:42% center}
  .lower-hero--about-photo .lower-hero__overlay{background:linear-gradient(0deg,rgba(8,56,40,.94) 0%,rgba(8,56,40,.78) 34%,rgba(8,56,40,.28) 67%,rgba(8,56,40,.08) 100%)}
  .lower-hero--about-photo .lower-hero__content{padding-bottom:48px}
  .lower-hero--about-photo .lower-hero__content>p:last-child{max-width:92%;font-size:13px;line-height:1.75}
  .representative-message-heading .message-line-natural{word-break:normal;overflow-wrap:anywhere}
  .representative-message-heading .message-keep-phrase{white-space:nowrap}
}


/* v16: make recruitment FV photography clearly visible; NEWS intentionally remains a plain brand-color hero because no hero photo is assigned */
.lower-hero--recruit-photo{position:relative;isolation:isolate;overflow:hidden;background:var(--deep)}
.lower-hero--recruit-photo .lower-hero__media{position:absolute;inset:0;z-index:-2;display:block}
.lower-hero--recruit-photo .lower-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.lower-hero--recruit-photo .lower-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,54,39,.91) 0%,rgba(9,54,39,.76) 32%,rgba(9,54,39,.30) 57%,rgba(9,54,39,.08) 82%,rgba(9,54,39,.03) 100%)}
.lower-hero--recruit-photo .lower-hero__content{position:relative;z-index:1}
.lower-hero--recruit-photo .lower-hero__content>p:last-child{max-width:590px;text-shadow:0 1px 12px rgba(0,0,0,.20)}
.lower-hero--recruit-photo h1{text-shadow:0 2px 16px rgba(0,0,0,.20)}
@media(max-width:700px){
  .lower-hero--recruit-photo{min-height:520px;align-items:flex-end}
  .lower-hero--recruit-photo .lower-hero__media img{object-position:59% center}
  .lower-hero--recruit-photo .lower-hero__overlay{background:linear-gradient(0deg,rgba(8,56,40,.95) 0%,rgba(8,56,40,.79) 34%,rgba(8,56,40,.30) 67%,rgba(8,56,40,.08) 100%)}
  .lower-hero--recruit-photo .lower-hero__content{padding-bottom:48px}
  .lower-hero--recruit-photo .lower-hero__content>p:last-child{max-width:94%;font-size:13px;line-height:1.75}
}

/* v17: mobile about-page gutter balance + contact-choice heading size alignment */
@media(max-width:700px){
  /* About page representative message: give the block a slightly stronger side gutter
     so the text and portrait do not feel visually shifted to the right on SP. */
  .representative-message-full > .container{
    width:calc(100% - 40px);
    max-width:calc(100% - 40px);
  }
  .representative-message-full__grid{
    gap:28px;
  }
  .representative-message-full__content,
  .representative-message-full__visual{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .representative-message-full__content h2,
  .representative-message-full__content > p,
  .representative-message-full__content .message-key-quote,
  .representative-message-full__content .signature,
  .representative-message-full__visual span{
    max-width:100%;
  }
  .representative-message-full__visual{
    margin-top:6px;
  }
  .representative-message-full__visual > .responsive-photo{
    width:100%;
  }

  /* Contact page cards: unify the heading size of 01 and 03 with 02. */
  .contact-choice h2,
  .contact-choice h2.heading-compact-mobile{
    font-size:clamp(17px,5.8vw,21px);
    line-height:1.4;
    letter-spacing:-.045em;
  }
}


/* v20: 2026-08-14 client feedback - meals, facility count, recruit role/career/data redesign */
.food-care-panel{margin-top:26px;background:var(--deep);color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}
.food-care-panel__lead{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1fr);column-gap:34px;align-items:end;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:24px}
.food-care-panel__lead>span{grid-row:1/3;font-size:11px;letter-spacing:.12em;color:#c9e1d5;font-weight:800;align-self:start}
.food-care-panel__lead h3{font-family:var(--serif);font-size:28px;line-height:1.5;margin:0 0 8px}
.food-care-panel__lead p{font-size:13px;color:#d9e8e1;margin:0;max-width:720px}
.food-care-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.food-care-points article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px}
.food-care-points b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--deep);font-size:10px;margin-bottom:13px}
.food-care-points h4{font-family:var(--serif);font-size:17px;margin:0 0 7px}
.food-care-points p{font-size:11px;color:#d6e6de;margin:0}
.food-care-note{font-size:10px;color:#bfd6ca;margin:16px 0 0}

/* facility pins: Daito now has 13 locations */
.facility-map-region--daito .facility-map-pin:nth-of-type(10){left:15%;top:45%}
.facility-map-region--daito .facility-map-pin:nth-of-type(11){left:84%;top:43%}
.facility-map-region--daito .facility-map-pin:nth-of-type(12){left:18%;top:82%}
.facility-map-region--daito .facility-map-pin:nth-of-type(13){left:82%;top:82%}

.role-switch{display:flex;gap:10px;justify-content:center;margin:0 0 26px;flex-wrap:wrap}
.role-switch__button{border:1px solid var(--line);background:#fff;color:var(--deep);border-radius:999px;padding:12px 22px;font-weight:800;cursor:pointer;transition:.2s}
.role-switch__button:hover,.role-switch__button.is-active{background:var(--deep);color:#fff;border-color:var(--deep)}
.role-panel[hidden]{display:none!important}
.role-visual{position:relative;min-height:510px;border-radius:28px;overflow:hidden;background:var(--deep);color:#fff;box-shadow:var(--shadow)}
.role-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.role-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,56,40,.94),rgba(8,56,40,.12) 72%)}
.role-visual>div{position:absolute;left:28px;right:28px;bottom:26px;z-index:2}
.role-visual span{font-size:10px;letter-spacing:.11em;font-weight:800;color:#c9e1d5}
.role-visual h3{font-family:var(--serif);font-size:27px;line-height:1.5;margin:8px 0}
.role-visual p{font-size:11px;max-width:560px;margin:0;color:#deebe5}
.role-switch-note,.career-note,.employee-data-note{font-size:10px;color:var(--soft);margin:18px 0 0;text-align:center}
.career-path--detailed>div{min-height:230px;display:flex;flex-direction:column}
.career-path--detailed>div p{margin-top:auto}
.employee-data-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;max-width:1000px;margin:0 auto}
.employee-data-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 12px 36px rgba(23,76,59,.07)}
.employee-data-card__head span{font-size:10px;letter-spacing:.1em;color:var(--green);font-weight:800}
.employee-data-card__head h3{font-family:var(--serif);font-size:24px;line-height:1.5;margin:7px 0 22px}
.employee-data-card>p{font-size:11px;color:var(--soft);margin:18px 0 0}
.ratio-bar{display:flex;height:72px;border-radius:16px;overflow:hidden;background:var(--pale)}
.ratio-bar>span:first-child{width:var(--ratio);background:var(--deep);color:#fff}
.ratio-bar>span:last-child{flex:1;background:var(--mint);color:var(--deep)}
.ratio-bar>span{display:grid;place-items:center;font-size:12px}
.age-ratio-list{display:grid;gap:13px}
.age-ratio-list>div{display:grid;grid-template-columns:74px 1fr 40px;gap:11px;align-items:center}
.age-ratio-list b,.age-ratio-list strong{font-size:11px}
.age-ratio-list strong{text-align:right;color:var(--deep)}
.age-ratio-list span{height:9px;border-radius:99px;background:var(--pale);overflow:hidden}
.age-ratio-list i{display:block;width:var(--value);height:100%;background:var(--green);border-radius:inherit}

@media(max-width:1000px){
 .food-care-panel__lead{grid-template-columns:1fr}.food-care-panel__lead>span{grid-row:auto;margin-bottom:8px}.food-care-points{grid-template-columns:1fr 1fr 1fr}
 .employee-data-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .food-care-panel{padding:24px 20px;border-radius:22px}.food-care-panel__lead h3{font-size:23px}.food-care-points{grid-template-columns:1fr}.food-care-points article{padding:18px}
 .facility-map-region--daito .facility-map-pin:nth-of-type(10){left:15%;top:43%}.facility-map-region--daito .facility-map-pin:nth-of-type(11){left:82%;top:45%}.facility-map-region--daito .facility-map-pin:nth-of-type(12){left:16%;top:82%}.facility-map-region--daito .facility-map-pin:nth-of-type(13){left:82%;top:82%}
 .role-switch{display:grid;grid-template-columns:1fr;width:100%}.role-switch__button{width:100%;padding:11px 14px}
 .role-visual{min-height:420px}.role-visual>div{left:20px;right:20px;bottom:20px}.role-visual h3{font-size:22px}
 .career-path--detailed>div{min-height:0}
 .employee-data-card{padding:22px}.employee-data-card__head h3{font-size:21px}.ratio-bar{height:62px}.age-ratio-list>div{grid-template-columns:68px 1fr 36px;gap:8px}
}


/* v25: mobile heading wrap controls */
.br-mobile{display:none}
.nowrap-mobile{white-space:normal}
@media(max-width:700px){
  .br-mobile{display:block}
  .nowrap-mobile{white-space:nowrap}
  .group-list article>div{padding:28px 24px 32px}
  .group-list h3{font-size:clamp(24px,7.2vw,32px);line-height:1.55;letter-spacing:-.03em}
  .group-list p{font-size:14px;line-height:1.9}
  /* group page mobile: make business titles smaller and allow natural wrapping */
  .group-list .br-mobile{display:none}
  .group-list h3 .nowrap-mobile{white-space:normal}
  .recruit-platform-card h3{font-size:clamp(31px,8.8vw,41px);line-height:1.42;letter-spacing:-.04em}
  .contact-band h2{font-size:clamp(31px,8.8vw,43px);line-height:1.46;letter-spacing:-.045em}
  .reveal-ready{opacity:1!important;transform:none!important;transition:none!important}
  .facility-story-block,.facility-map-wrap{overflow:visible}
}


/* v26: recruit visual polish and balanced typography */
.employee-data-heading__sp,
.recruit-platform-heading__sp{display:none}
.employee-data-heading__pc,
.recruit-platform-heading__pc{display:inline}

.recruit-platform-card .recruit-platform-card__eyebrow{
  font-size:10px;
  letter-spacing:.12em;
  color:#cfe3d8;
  font-weight:800;
}
.recruit-platform-card .recruit-platform-heading{
  font-family:var(--serif);
  font-size:clamp(22px,2vw,28px);
  line-height:1.55;
  letter-spacing:-.025em;
  margin:8px 0 10px;
  text-wrap:balance;
}
.recruit-platform-card .recruit-platform-heading span{
  font:inherit;
  color:inherit;
  letter-spacing:inherit;
  font-weight:inherit;
}

.portrait-grid{gap:22px}
.portrait-grid .portrait-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  isolation:isolate;
  box-shadow:0 18px 42px rgba(23,76,59,.12);
}
.portrait-grid .portrait-card:after{
  content:"";
  position:absolute;
  inset:38% 0 0;
  z-index:1;
  background:linear-gradient(180deg,transparent 0%,rgba(10,45,35,.18) 28%,rgba(10,45,35,.84) 100%);
  pointer-events:none;
}
.portrait-grid .portrait-card img{
  height:420px;
  object-fit:cover;
  border-radius:0;
  transition:transform .6s ease;
}
.portrait-grid .portrait-card:hover img{transform:scale(1.025)}
.portrait-grid .portrait-card__meta{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:20px;
  color:#fff;
}
.portrait-grid .portrait-card__meta small{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  font-size:9px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:800;
  color:#e5f1eb;
}
.portrait-grid .portrait-card__meta small:before{
  content:"";
  width:18px;
  height:1px;
  background:#b8d7c8;
}
.portrait-grid .portrait-card__meta strong{
  display:block;
  font-family:var(--serif);
  font-size:clamp(17px,1.8vw,24px);
  line-height:1.35;
  letter-spacing:-.025em;
  font-weight:700;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}

@media(max-width:700px){
  .employee-data-heading__pc,
  .recruit-platform-heading__pc{display:none}
  .employee-data-heading__sp,
  .recruit-platform-heading__sp{display:block}
  .employee-data-heading__sp>span,
  .recruit-platform-heading__sp>span{display:block}

  .employee-data-heading{
    font-size:clamp(31px,8.1vw,36px)!important;
    line-height:1.52!important;
    letter-spacing:-.045em!important;
    text-wrap:balance;
  }
  .employee-data-heading__sp>span{white-space:nowrap}

  .recruit-platform-card .recruit-platform-heading{
    font-size:clamp(21px,5.8vw,24px)!important;
    line-height:1.55!important;
    letter-spacing:-.035em!important;
    margin:10px 0 14px;
  }
  .recruit-platform-heading__sp>span{white-space:nowrap}

  .portrait-grid{gap:12px}
  .portrait-grid .portrait-card{border-radius:22px}
  .portrait-grid .portrait-card img{height:300px}
  .portrait-grid .portrait-card__meta{left:14px;right:12px;bottom:14px}
  .portrait-grid .portrait-card__meta small{font-size:7px;margin-bottom:5px}
  .portrait-grid .portrait-card__meta small:before{width:13px}
  .portrait-grid .portrait-card__meta strong{
    font-size:clamp(12px,3.45vw,15px);
    white-space:nowrap;
    line-height:1.25;
  }
}


/* v28: about mobile logo message overflow fix */
@media(max-width:700px){
  .heading-logo-message--natural{font-size:clamp(24px,7.4vw,32px)!important;line-height:1.52!important;letter-spacing:-.04em;overflow-wrap:anywhere;word-break:normal}
  .heading-logo-message--natural .nowrap-mobile{white-space:normal}
}


/* v29: CTA mobile heading 3-line balance */
.contact-cta-heading{max-width:12.6em}
@media(max-width:700px){
  .contact-band-inner>div{max-width:none}
  .contact-cta-heading{max-width:none;font-size:clamp(28px,7.6vw,33px)!important;line-height:1.48!important;letter-spacing:-.045em}
  .contact-cta-heading .nowrap-mobile{white-space:nowrap}
}


/* v30: group external link, career lanes, qualification support, overtime data */
.group-external-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px}
.career-lanes{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;align-items:stretch}
.career-lane{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 14px 40px rgba(23,76,59,.07)}
.career-lane--specialist{background:var(--deep);color:#fff;border-color:transparent}
.career-lane__head>span{display:inline-block;font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--green);margin-bottom:9px}
.career-lane--specialist .career-lane__head>span{color:#cfe3d8}
.career-lane__head h3{font-family:var(--serif);font-size:26px;line-height:1.5;margin:0 0 10px}
.career-lane__head p{font-size:13px;color:var(--soft);margin:0}
.career-lane--specialist .career-lane__head p{color:#c9ddd4}
.career-lane__steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:10px}
.career-lane__steps--management{grid-template-columns:repeat(3,minmax(0,1fr))}
.career-lane__steps li{position:relative;min-height:110px;padding:18px 16px;border-radius:18px;background:var(--pale);display:flex;flex-direction:column;justify-content:center}
.career-lane__steps li small{font-size:9px;letter-spacing:.13em;color:var(--green);font-weight:800;margin-bottom:6px}
.career-lane__steps li strong{font-size:14px;line-height:1.55}
.career-lane__steps li span{font-size:10px;line-height:1.7;color:var(--soft);margin-top:6px}
.career-lane--specialist .career-lane__steps li{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}
.career-lane--specialist .career-lane__steps li small{color:#cfe3d8}
.career-lane--specialist .career-lane__steps li span{color:#c9ddd4}
.career-policy-note{margin-top:24px;padding:22px 24px;border-left:4px solid var(--accent);background:var(--pale);border-radius:0 16px 16px 0}
.career-policy-note b{display:block;color:var(--deep);font-size:15px}
.career-policy-note p{margin:5px 0 0;font-size:12px;color:var(--soft)}
.qualification-support-panel{display:grid;grid-template-columns:.72fr 1.28fr;gap:0;max-width:1000px;margin:0 auto;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.qualification-support-panel__lead{background:var(--deep);color:#fff;padding:38px}
.qualification-support-panel__lead span{font-size:10px;letter-spacing:.16em;color:#cfe3d8;font-weight:800}
.qualification-support-panel__lead strong{display:block;font-family:var(--serif);font-size:35px;line-height:1.35;margin:10px 0}
.qualification-support-panel__lead p{font-size:12px;color:#c9ddd4;margin:0}
.qualification-support-panel__list{background:#fff;padding:38px}
.qualification-support-panel__list>p{margin:0 0 16px;font-size:12px;font-weight:800;color:var(--deep)}
.qualification-tags{display:flex;flex-wrap:wrap;gap:10px}
.qualification-tags span{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border-radius:99px;background:var(--pale);color:var(--deep);font-size:12px;font-weight:800}
.employee-data-grid--expanded{grid-template-columns:.8fr .62fr 1.18fr;max-width:1100px}
.employee-data-card--overtime{background:var(--deep);color:#fff;border-color:transparent;display:flex;flex-direction:column;justify-content:center}
.employee-data-card--overtime .employee-data-card__head>span{color:#cfe3d8}
.employee-data-card--overtime .employee-data-card__head h3{display:flex;align-items:baseline;gap:6px;margin:6px 0}
.employee-data-card--overtime .employee-data-card__head h3 strong{font-family:var(--serif);font-size:72px;line-height:1;color:#fff}
.employee-data-card--overtime .employee-data-card__head h3 em{font-style:normal;font-size:18px;color:#dcefe4}
.employee-data-card--overtime>p{color:#c9ddd4}
@media(max-width:1000px){
  .career-lanes{grid-template-columns:1fr}
  .qualification-support-panel{grid-template-columns:1fr}
  .employee-data-grid--expanded{grid-template-columns:1fr 1fr}
  .employee-data-card--age{grid-column:1/-1}
}
@media(max-width:700px){
  .career-lane{padding:24px 20px;border-radius:22px}
  .career-lane__head h3{font-size:23px}
  .career-lane__steps--management{grid-template-columns:1fr}
  .career-lane__steps li{min-height:0;padding:16px}
  .career-policy-note{padding:18px}
  .qualification-support-panel{border-radius:22px}
  .qualification-support-panel__lead,.qualification-support-panel__list{padding:26px 22px}
  .qualification-support-panel__lead strong{font-size:29px}
  .qualification-tags{display:grid;grid-template-columns:1fr}
  .qualification-tags span{border-radius:14px;justify-content:flex-start}
  .employee-data-grid--expanded{grid-template-columns:1fr}
  .employee-data-card--age{grid-column:auto}
  .employee-data-card--overtime .employee-data-card__head h3 strong{font-size:64px}
}


/* v31: career progression + qualification support redesign */
.career-lane__steps--management{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.career-lane__steps--management li,
.career-lane__steps--specialist li{overflow:visible}
.career-lane__steps--management li:not(:last-child)::after{
  content:"→";
  position:absolute;
  top:50%;
  right:-17px;
  transform:translateY(-50%);
  z-index:2;
  color:var(--green);
  font-size:18px;
  font-weight:800;
}
.career-lane__steps--specialist{gap:24px}
.career-lane__steps--specialist li:not(:last-child)::after{
  content:"↓";
  position:absolute;
  left:50%;
  bottom:-22px;
  transform:translateX(-50%);
  z-index:2;
  color:#cfe3d8;
  font-size:18px;
  font-weight:800;
}
.career-lane__steps li small{display:flex;align-items:center;gap:7px}
.career-lane__steps li small::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  opacity:.8;
}
.career-lane__steps--management li{min-height:132px;padding:18px 13px}
.career-lane__steps--management li strong{font-size:13px}

.qualification-support-panel--refined{
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.58fr);
  max-width:1120px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 20px 50px rgba(23,76,59,.09);
}
.qualification-support-panel--refined .qualification-support-panel__lead{
  padding:42px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,#174c3b 0%,#215f4b 100%);
}
.qualification-support-panel__metric{display:flex;align-items:flex-end;gap:10px;margin:12px 0 18px}
.qualification-support-panel__metric strong{display:block!important;font-family:var(--serif);font-size:54px!important;line-height:1!important;margin:0!important;color:#fff}
.qualification-support-panel__metric em{font-style:normal;font-size:18px;font-weight:800;color:#dcefe4;padding-bottom:5px}
.qualification-support-panel--refined .qualification-support-panel__lead p{max-width:330px;line-height:1.9}
.qualification-support-panel--refined .qualification-support-panel__list{
  padding:38px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.qualification-support-panel__list-head{margin-bottom:20px}
.qualification-support-panel__list-head span{display:block;font-size:10px;letter-spacing:.15em;color:var(--green);font-weight:800;margin-bottom:5px}
.qualification-support-panel__list-head strong{display:block;font-size:17px;color:var(--deep)}
.qualification-tags--cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qualification-tags--cards span{
  min-height:92px;
  border-radius:18px;
  padding:16px 18px;
  background:var(--pale);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:5px;
}
.qualification-tags--cards span i{font-style:normal;font-size:9px;letter-spacing:.13em;color:var(--green);font-weight:800}
.qualification-tags--cards span b{font-size:13px;line-height:1.55;color:var(--deep)}

@media(max-width:1200px){
  .career-lane__steps--management{grid-template-columns:repeat(3,minmax(0,1fr))}
  .career-lane__steps--management li:nth-child(3)::after{display:none}
}
@media(max-width:700px){
  .career-lane__steps--management{grid-template-columns:1fr;gap:28px}
  .career-lane__steps--management li:nth-child(3)::after{display:block}
  .career-lane__steps--management li:not(:last-child)::after{
    content:"↓";
    left:50%;
    right:auto;
    top:auto;
    bottom:-25px;
    transform:translateX(-50%);
  }
  .career-lane__steps--management li{min-height:0;padding:17px 18px}
  .career-lane__steps--management li strong{font-size:14px}
  .qualification-support-panel--refined{grid-template-columns:1fr}
  .qualification-support-panel--refined .qualification-support-panel__lead{padding:30px 24px}
  .qualification-support-panel__metric strong{font-size:46px!important}
  .qualification-support-panel--refined .qualification-support-panel__list{padding:28px 22px}
  .qualification-tags--cards{grid-template-columns:1fr;gap:10px}
  .qualification-tags--cards span{min-height:0;padding:15px 16px}
}


/* v32: upward career ladder + group heading typography balance */
.career-lanes{
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);
  align-items:stretch;
}
.career-lane{
  display:flex;
  flex-direction:column;
}
.career-lane__steps--management,
.career-lane__steps--specialist{
  display:flex;
  flex-direction:column-reverse;
  gap:18px;
  margin-top:26px;
}
.career-lane__steps--management li,
.career-lane__steps--specialist li{
  min-height:82px;
  padding:16px 20px;
  border-radius:18px;
  overflow:visible;
}
.career-lane__steps--management li strong{
  font-size:14px;
}
.career-lane__steps--management li:nth-child(1){width:82%;margin-left:0}
.career-lane__steps--management li:nth-child(2){width:82%;margin-left:4.5%}
.career-lane__steps--management li:nth-child(3){width:82%;margin-left:9%}
.career-lane__steps--management li:nth-child(4){width:82%;margin-left:13.5%}
.career-lane__steps--management li:nth-child(5){width:82%;margin-left:18%}
.career-lane__steps--management li:not(:last-child)::after{
  content:"↑";
  position:absolute;
  left:50%;
  right:auto;
  top:-19px;
  bottom:auto;
  transform:translateX(-50%);
  z-index:2;
  color:var(--green);
  font-size:17px;
  font-weight:800;
}
.career-lane__steps--specialist{
  margin-top:auto;
  padding-top:28px;
}
.career-lane__steps--specialist li{
  min-height:120px;
}
.career-lane__steps--specialist li:nth-child(1){width:90%;margin-left:0}
.career-lane__steps--specialist li:nth-child(2){width:90%;margin-left:10%}
.career-lane__steps--specialist li:not(:last-child)::after{
  content:"↑";
  position:absolute;
  left:50%;
  top:-22px;
  bottom:auto;
  transform:translateX(-50%);
  z-index:2;
  color:#cfe3d8;
  font-size:18px;
  font-weight:800;
}
/* The generic group-list span rule is for eyebrow labels; heading spans must inherit h3 typography. */
.group-list h3 > span{
  display:inline;
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
}
.group-list h3 .nowrap-mobile{white-space:normal}

@media(max-width:1200px){
  .career-lanes{grid-template-columns:1fr}
  .career-lane__steps--management{
    display:flex;
    flex-direction:column-reverse;
  }
  .career-lane__steps--management li:nth-child(n){width:86%}
  .career-lane__steps--management li:nth-child(1){margin-left:0}
  .career-lane__steps--management li:nth-child(2){margin-left:3.5%}
  .career-lane__steps--management li:nth-child(3){margin-left:7%}
  .career-lane__steps--management li:nth-child(4){margin-left:10.5%}
  .career-lane__steps--management li:nth-child(5){margin-left:14%}
  .career-lane__steps--specialist{margin-top:26px;padding-top:0}
}
@media(max-width:700px){
  .career-lane__steps--management,
  .career-lane__steps--specialist{
    gap:24px;
  }
  .career-lane__steps--management li:nth-child(n),
  .career-lane__steps--specialist li:nth-child(n){
    width:100%;
    margin-left:0;
  }
  .career-lane__steps--management li,
  .career-lane__steps--specialist li{
    min-height:0;
    padding:17px 18px;
  }
  .career-lane__steps--management li:not(:last-child)::after,
  .career-lane__steps--specialist li:not(:last-child)::after{
    content:"↑";
    left:50%;
    right:auto;
    top:-23px;
    bottom:auto;
    transform:translateX(-50%);
  }
  .group-list h3 > span{font:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
}


/* v33: CTA desktop 2-line / mobile unchanged */
.contact-cta-heading{max-width:none}
.contact-cta-heading__pc{display:block}
.contact-cta-heading__pc>span{display:block;white-space:nowrap}
.contact-cta-heading__sp{display:none}
@media(max-width:700px){
  .contact-cta-heading__pc{display:none}
  .contact-cta-heading__sp{display:block}
  .contact-cta-heading__sp>span{display:block;white-space:nowrap}
}


/* v34: Career Concept A - premium ascending path, no step numbers */
.career-a-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.82fr);gap:24px;align-items:stretch}
.career-a-management,.career-a-specialist{border-radius:30px;overflow:hidden;box-shadow:0 18px 46px rgba(23,76,59,.08)}
.career-a-management{background:#fff;border:1px solid rgba(79,138,114,.16);padding:38px 38px 28px}
.career-a-specialist{background:linear-gradient(150deg,#185541 0%,#0f4736 100%);color:#fff;padding:38px 34px;position:relative}
.career-a-specialist:after{content:"";position:absolute;right:-70px;top:40px;width:260px;height:260px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.018),0 0 0 80px rgba(255,255,255,.012);pointer-events:none}
.career-a-head>span{display:inline-flex;align-items:center;min-height:27px;padding:0 12px;border-radius:99px;background:#edf5ef;color:var(--green);font-size:10px;letter-spacing:.16em;font-weight:800}
.career-a-head h3{font-family:var(--serif);font-size:clamp(27px,2.3vw,38px);line-height:1.45;letter-spacing:-.03em;margin:15px 0 8px;color:var(--deep)}
.career-a-head p{max-width:760px;margin:0;color:var(--soft);font-size:13px;line-height:1.85}
.career-a-head--light>span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.25);color:#e4f0e9}
.career-a-head--light h3{color:#fff;font-size:clamp(27px,2.35vw,38px)}
.career-a-head--light p{color:#c8ddd3}
.career-a-management__steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;min-height:340px;margin-top:20px;padding:30px 0 20px}
.career-a-path{position:absolute;left:0;right:0;top:6px;width:100%;height:145px;overflow:visible;z-index:0}
.career-a-path path{fill:none;stroke:#a7c4ad;stroke-width:4;stroke-linecap:round}
.career-a-path circle{fill:#fff;stroke:#c9a75e;stroke-width:3}
.career-a-path .career-a-path__arrow{stroke:#c9a75e;stroke-width:4;fill:none}
.career-a-step{position:relative;z-index:1;background:#fff;border:1px solid #e5e3d9;border-radius:20px;padding:22px 16px 18px;min-height:215px;box-shadow:0 12px 28px rgba(30,67,52,.08);display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start}
.career-a-step:nth-of-type(1){transform:translateY(52px)}
.career-a-step:nth-of-type(2){transform:translateY(34px)}
.career-a-step:nth-of-type(3){transform:translateY(15px)}
.career-a-step:nth-of-type(4){transform:translateY(-8px)}
.career-a-step:nth-of-type(5){transform:translateY(-34px)}
.career-a-step--goal{border-color:#d8c39a;box-shadow:0 14px 32px rgba(94,72,28,.13)}
.career-a-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:12px;color:#4d896f}
.career-a-icon svg,.qualification-a-icon svg,.career-a-benefits svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.career-a-step h4{font-size:14px;line-height:1.55;margin:0;color:var(--deep)}
.career-a-step p{font-size:10.5px;line-height:1.75;color:var(--soft);margin:12px 0 0}
.career-a-specialist__steps{position:relative;min-height:420px;margin-top:24px;z-index:1}
.career-a-specialist__path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0}
.career-a-specialist__path path{fill:none;stroke:#d9b66b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.career-a-specialist-step{position:absolute;z-index:1;display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;background:#fff;color:var(--deep);border-radius:18px;padding:18px 20px;box-shadow:0 14px 30px rgba(5,38,28,.18)}
.career-a-specialist-step--base{left:0;right:12%;bottom:15px}
.career-a-specialist-step--top{left:15%;right:0;top:55px}
.career-a-icon--specialist{margin:0;color:#427d65;width:50px;height:50px}
.career-a-specialist-step h4{font-size:15px;line-height:1.5;margin:0 0 5px}
.career-a-specialist-step p{font-size:10px;line-height:1.65;color:#65736d;margin:0}
.career-policy-note{margin-top:20px!important;background:#f4f8f5!important;border:1px solid #e2ebe5!important;border-left:0!important;border-radius:16px!important;padding:16px 20px!important}
.career-policy-note b{font-size:13px!important}.career-policy-note p{font-size:11px!important}

.qualification-a-panel{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.35fr;border-radius:30px;overflow:hidden;box-shadow:0 18px 48px rgba(23,76,59,.11);background:#fff}
.qualification-a-lead{background:linear-gradient(145deg,#174f3d,#0f4434);color:#fff;padding:42px 38px;position:relative;overflow:hidden}
.qualification-a-lead:after{content:"";position:absolute;right:-80px;bottom:-95px;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025)}
.qualification-a-lead>span{display:inline-flex;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);font-size:10px;letter-spacing:.15em;font-weight:800;color:#d7e9df}
.qualification-a-lead h3{font-family:var(--serif);font-size:clamp(30px,3vw,44px);line-height:1.3;letter-spacing:-.035em;margin:17px 0 15px;color:#fff}
.qualification-a-lead h3 span{color:#e7c681}
.qualification-a-lead>p{position:relative;z-index:1;font-size:12px;line-height:1.9;color:#c9ddd4;margin:0;max-width:410px}
.qualification-a-benefits{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.qualification-a-benefits>div{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px}
.qualification-a-benefits svg{width:34px;height:34px;color:#e8cd91;fill:none;stroke:currentColor;stroke-width:1.5}
.qualification-a-benefits b{font-size:9.5px;line-height:1.55;color:#eef6f1}
.qualification-a-list{padding:40px 38px;background:#fff}
.qualification-a-list__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #e9eee9}
.qualification-a-list__head span{font-family:var(--serif);font-size:25px;color:var(--deep);font-weight:700}
.qualification-a-list__head p{margin:0;color:var(--soft);font-size:10.5px;text-align:right;max-width:270px}
.qualification-a-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qualification-a-cards article{min-height:105px;border:1px solid #e5e5dd;border-radius:18px;padding:18px;display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;background:#fcfdfb;box-shadow:0 8px 18px rgba(23,76,59,.04)}
.qualification-a-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e9f3ed;color:#357159;padding:10px}
.qualification-a-cards h4{font-size:13px;line-height:1.55;color:var(--deep);margin:0}

@media(max-width:1000px){
 .career-a-grid{grid-template-columns:1fr}
 .career-a-specialist__steps{min-height:350px}
 .qualification-a-panel{grid-template-columns:1fr}
 .qualification-a-benefits{max-width:520px}
}
@media(max-width:700px){
 .career-a-management,.career-a-specialist{padding:26px 20px;border-radius:23px}
 .career-a-head h3,.career-a-head--light h3{font-size:clamp(25px,7.4vw,31px)}
 .career-a-management__steps{display:flex;flex-direction:column;min-height:0;margin-top:26px;padding:0 0 0 28px;gap:14px;align-items:stretch}
 .career-a-path{display:none}
 .career-a-management__steps:before{content:"";position:absolute;left:9px;top:22px;bottom:22px;width:2px;background:linear-gradient(0deg,#8bb49d,#c6d8cb)}
 .career-a-step:nth-of-type(n){transform:none;min-height:0;align-items:flex-start;text-align:left;padding:17px 17px 17px 68px;position:relative}
 .career-a-step:before{content:"";position:absolute;left:-26px;top:28px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #bf9d55;box-sizing:border-box}
 .career-a-icon{position:absolute;left:15px;top:16px;width:40px;height:40px;margin:0}
 .career-a-step h4{font-size:14px}.career-a-step p{font-size:10.5px;margin-top:7px}
 .career-a-specialist__steps{min-height:330px;margin-top:18px}
 .career-a-specialist-step{grid-template-columns:44px 1fr;padding:15px 15px;left:0!important;right:0!important}
 .career-a-specialist-step--top{top:28px}.career-a-specialist-step--base{bottom:14px}
 .career-a-icon--specialist{width:40px;height:40px}
 .qualification-a-lead,.qualification-a-list{padding:28px 22px}
 .qualification-a-benefits{grid-template-columns:1fr;gap:12px}
 .qualification-a-benefits>div{grid-template-columns:34px 1fr}
 .qualification-a-list__head{display:block}.qualification-a-list__head p{text-align:left;margin-top:6px}
 .qualification-a-cards{grid-template-columns:1fr}
 .qualification-a-cards article{min-height:88px;padding:14px}
}


/* v35: tighten career whitespace + align arrows */
@media(min-width:701px){
  .career-a-grid{gap:18px;align-items:start}
  .career-a-management{padding:34px 34px 20px}
  .career-a-specialist{padding:34px 30px}
  .career-a-management__steps{min-height:292px;margin-top:14px;padding:38px 8px 6px;gap:10px;align-items:end}
  .career-a-path{top:22px;height:118px}
  .career-a-step{min-height:178px;padding:18px 14px 16px}
  .career-a-step:nth-of-type(1){transform:translateY(28px)}
  .career-a-step:nth-of-type(2){transform:translateY(12px)}
  .career-a-step:nth-of-type(3){transform:translateY(-4px)}
  .career-a-step:nth-of-type(4){transform:translateY(-20px)}
  .career-a-step:nth-of-type(5){transform:translateY(-36px)}
  .career-a-step h4{font-size:13px;line-height:1.5}
  .career-a-step p{font-size:10px;line-height:1.7;margin-top:10px}
  .career-a-specialist__steps{min-height:330px;margin-top:18px}
  .career-a-specialist-step{padding:16px 18px;grid-template-columns:48px 1fr;gap:12px}
  .career-a-specialist-step--top{left:14%;right:4%;top:40px}
  .career-a-specialist-step--base{left:2%;right:18%;bottom:26px}
  .career-a-icon--specialist{width:44px;height:44px}
  .career-a-specialist-step h4{font-size:14px;line-height:1.5;margin-bottom:4px}
  .career-a-specialist-step p{font-size:9.5px;line-height:1.65}
}
.qualification-a-benefit--natural{display:inline-block;line-height:1.55}
@media(min-width:701px){.qualification-a-benefit--natural{max-width:7.5em}}


/* v36: equalize career panel height + remove decorative circles */
.career-a-management,.career-a-specialist{display:flex;flex-direction:column;height:100%}
.career-a-specialist:after,.qualification-a-lead:after{content:none !important;display:none !important}
@media(min-width:701px){
  .career-a-grid{align-items:stretch !important}
  .career-a-management,.career-a-specialist{min-height:100%}
}


/* v37: implement target premium career layout from mock */
@media(min-width:701px){
  .career-a-grid{grid-template-columns:minmax(0,1.78fr) minmax(360px,.78fr);gap:24px;align-items:stretch !important}
  .career-a-management,.career-a-specialist{min-height:860px;border-radius:34px;display:flex;flex-direction:column}
  .career-a-management{padding:34px 34px 28px;border:1px solid #e6ece6;background:#fff}
  .career-a-specialist{padding:34px 36px 28px;background:linear-gradient(180deg,#16543f 0%,#0f4b37 100%);position:relative;overflow:hidden}
  .career-a-specialist::before{content:"";position:absolute;right:20px;top:70px;width:170px;height:260px;background-repeat:no-repeat;background-size:contain;background-position:center;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 280'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M113 250V85'/%3E%3Cpath d='M111 110c-10-16-27-21-45-18 7 17 24 27 45 18Z'/%3E%3Cpath d='M116 138c14-15 31-20 49-16-8 19-24 28-49 16Z'/%3E%3Cpath d='M111 167c-11-16-28-21-46-18 8 18 24 28 46 18Z'/%3E%3Cpath d='M116 195c14-14 30-18 46-14-8 17-23 25-46 14Z'/%3E%3Cpath d='M111 222c-10-14-24-18-39-16 7 14 20 22 39 16Z'/%3E%3C/g%3E%3C/svg%3E")}
  .career-a-head>span{background:#eef1df;color:#55654a;padding:8px 16px;font-size:11px;letter-spacing:.08em;font-weight:700}
  .career-a-head--light>span{background:rgba(243,237,220,.12);border:1px solid rgba(240,231,197,.28);color:#f1ebd6}
  .career-a-head h3{font-size:clamp(34px,3vw,58px);line-height:1.28;margin:24px 0 14px}
  .career-a-head p{font-size:13px;line-height:1.95;max-width:820px}
  .career-a-head--light h3{font-size:clamp(34px,3.1vw,56px);line-height:1.34;color:#fff;max-width:420px}
  .career-a-head--light p{font-size:13px;line-height:1.9;color:#d7e7df;max-width:420px}

  .career-a-management__steps{counter-reset:mgmt;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:end;min-height:520px;margin-top:24px;padding:110px 12px 12px}
  .career-a-path{top:56px;left:8px;right:8px;height:150px}
  .career-a-path path{stroke:#b5cfba;stroke-width:4}
  .career-a-path circle{fill:#fff;stroke:#c8a24a;stroke-width:3}
  .career-a-path .career-a-path__arrow{stroke:#c8a24a;stroke-width:4}
  .career-a-step{counter-increment:mgmt;min-height:280px;padding:20px 18px 18px;border:1px solid #e8dcc2;border-radius:24px;box-shadow:0 10px 25px rgba(32,67,53,.06);background:#fff;align-items:center;text-align:center;justify-content:flex-start}
  .career-a-step::before{content:counter(mgmt,decimal-leading-zero);font-family:var(--serif);font-size:24px;line-height:1;color:#b89547;margin-bottom:10px}
  .career-a-step .career-a-icon{order:2;width:58px;height:58px;margin:12px auto 10px;color:#5e8f78}
  .career-a-step h4{order:1;font-size:18px;line-height:1.45;margin:0;color:var(--deep)}
  .career-a-step p{order:3;font-size:10.5px;line-height:1.9;color:#66736d;margin-top:10px}
  .career-a-step:nth-of-type(1){transform:translateY(60px)}
  .career-a-step:nth-of-type(2){transform:translateY(36px)}
  .career-a-step:nth-of-type(3){transform:translateY(10px)}
  .career-a-step:nth-of-type(4){transform:translateY(-18px)}
  .career-a-step:nth-of-type(5){transform:translateY(-52px)}
  .career-a-step--goal{box-shadow:0 12px 30px rgba(119,93,37,.12)}

  .career-a-specialist__steps{counter-reset:spec;position:relative;min-height:430px;margin-top:44px}
  .career-a-specialist__path{inset:0;overflow:visible}
  .career-a-specialist__path path{stroke:#d7b361;stroke-width:4}
  .career-a-specialist-step{counter-increment:spec;grid-template-columns:58px 1fr;gap:16px;padding:24px 24px 20px;border-radius:22px;box-shadow:0 12px 28px rgba(4,28,21,.16)}
  .career-a-specialist-step::before{content:counter(spec,decimal-leading-zero);position:absolute;left:24px;top:18px;font-family:var(--serif);font-size:22px;line-height:1;color:#b89547}
  .career-a-specialist-step .career-a-icon--specialist{grid-row:1 / span 2;align-self:center;width:52px;height:52px;margin-top:26px;color:#5a8d75}
  .career-a-specialist-step h4{font-size:18px;line-height:1.45;margin:18px 0 6px;color:var(--deep)}
  .career-a-specialist-step p{font-size:10.5px;line-height:1.9;color:#66736d}
  .career-a-specialist-step--base{left:2%;right:13%;bottom:28px}
  .career-a-specialist-step--top{left:17%;right:1%;top:58px}

  .career-policy-note{margin-top:26px!important}
}
@media(max-width:700px){
  .career-a-specialist::before{display:none}
}


/* v38: career title scale down + specialist layout stabilize */
@media(min-width:701px){
  .career-a-head h3{font-size:clamp(28px,2.35vw,46px)!important;line-height:1.32!important}
  .career-a-head--light h3{font-size:clamp(28px,2.4vw,44px)!important;line-height:1.36!important;max-width:360px}
  .career-a-head p{max-width:760px}
  .career-a-head--light p{max-width:380px}
  .career-a-specialist{padding:30px 28px 24px}
  .career-a-specialist__steps{min-height:390px;margin-top:30px}
  .career-a-specialist-step{grid-template-columns:46px 1fr;gap:12px;padding:20px 18px 16px;border-radius:20px}
  .career-a-specialist-step::before{left:18px;top:14px;font-size:20px}
  .career-a-specialist-step .career-a-icon--specialist{width:44px;height:44px;margin-top:22px}
  .career-a-specialist-step h4{font-size:15px;line-height:1.45;margin:14px 0 4px}
  .career-a-specialist-step p{font-size:10px;line-height:1.8}
  .career-a-specialist-step--base{left:4%;right:18%;bottom:22px}
  .career-a-specialist-step--top{left:20%;right:3%;top:60px}
  .career-a-specialist__path{left:0;top:0;right:0;bottom:0}
}


/* v40: remove numbering, refine design, widen specialist spacing, fix qualification subcopy wrap */
.career-a-step::before,
.career-a-specialist-step::before{content:none !important;display:none !important}

@media(min-width:701px){
  /* career cards polish */
  .career-a-step{
    min-height:292px;
    padding:22px 18px 20px;
    border:1px solid #e6d8b5;
    border-radius:26px;
    box-shadow:0 14px 34px rgba(29,62,49,.07), 0 2px 8px rgba(186,158,92,.06);
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#ffffff 0%,#fefefc 100%);
  }
  .career-a-step::after{
    content:"";
    position:absolute;
    left:18px; right:18px; top:0;
    height:4px;
    background:linear-gradient(90deg,#d9bf80 0%,#b6cfb8 100%);
    border-radius:0 0 999px 999px;
    opacity:.9;
  }
  .career-a-step .career-a-icon{
    width:66px; height:66px; padding:14px; box-sizing:border-box;
    margin:10px auto 12px;
    background:linear-gradient(180deg,#f6fbf6 0%,#eff6f0 100%);
    border:1px solid #dde9df;
    border-radius:50%;
    color:#5b8e76;
  }
  .career-a-step h4{font-size:17px;line-height:1.52;margin:0 0 10px}
  .career-a-step p{font-size:11px;line-height:1.9;color:#69756f;margin-top:0}

  /* specialist panel polish */
  .career-a-specialist{
    background:linear-gradient(180deg,#145740 0%,#0f4c38 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  }
  .career-a-specialist__steps{
    min-height:470px !important;
    margin-top:40px !important;
  }
  .career-a-specialist__path path{stroke:#d4ae5b;stroke-width:4.5}
  .career-a-specialist-step{
    grid-template-columns:54px 1fr;
    gap:14px;
    padding:22px 22px 18px;
    border-radius:24px;
    background:linear-gradient(180deg,#ffffff 0%,#fcfcfa 100%);
    border:1px solid rgba(220,205,171,.85);
    box-shadow:0 18px 38px rgba(4,28,21,.20);
  }
  .career-a-specialist-step .career-a-icon--specialist{
    width:50px; height:50px; margin-top:0; align-self:start;
    padding:10px; box-sizing:border-box;
    background:linear-gradient(180deg,#f6fbf6 0%,#eff6f0 100%);
    border:1px solid #dde9df; border-radius:50%; color:#5a8d75;
  }
  .career-a-specialist-step h4{font-size:17px;line-height:1.52;margin:0 0 8px;color:var(--deep)}
  .career-a-specialist-step p{font-size:10.8px;line-height:1.85;color:#6a7570}
  .career-a-specialist-step--top{left:22% !important; right:3% !important; top:44px !important}
  .career-a-specialist-step--base{left:6% !important; right:21% !important; bottom:2px !important}

  /* qualification heading wrap fix */
  .qualification-a-list__head{gap:28px}
  .qualification-a-list__head p{max-width:380px;font-size:13px;line-height:1.8;text-wrap:balance}
}


/* v43: consolidated client feedback refinements */

/* ---------- TOP: audience portal cards ---------- */
.portal-card > span{display:none !important}
.portal-card{
  min-height:360px;
  padding-top:40px;
}
.portal-card h3{
  font-size:clamp(24px,1.7vw,28px);
  line-height:1.55;
  letter-spacing:-.025em;
  margin-bottom:20px;
  max-width:none;
}
.portal-card p{font-size:14px;line-height:1.95;max-width:none}
@media(min-width:901px){
  .portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .portal-card{height:100%;min-height:365px}
  .portal-card:nth-child(2) h3{white-space:nowrap}
}

/* ---------- TOP: food / health-care commitment ---------- */
.food-care-panel{
  position:relative;
  overflow:hidden;
  padding:44px 46px 34px;
  border-radius:34px;
  background:
    radial-gradient(circle at 92% 10%,rgba(215,166,93,.14),transparent 30%),
    linear-gradient(145deg,#174f3d 0%,#123f31 100%);
  box-shadow:0 24px 64px rgba(23,76,59,.16);
}
.food-care-panel::before{
  content:"";
  position:absolute;
  width:270px;height:270px;
  right:-110px;bottom:-135px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  box-shadow:0 0 0 46px rgba(255,255,255,.018),0 0 0 92px rgba(255,255,255,.012);
  pointer-events:none;
}
.food-care-panel__lead{
  position:relative;z-index:1;
  grid-template-columns:minmax(160px,.42fr) minmax(0,1.3fr);
  column-gap:46px;
  align-items:start;
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.food-care-panel__lead>span{
  display:inline-flex;
  width:max-content;
  grid-row:auto;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  color:#e2eee8;
  font-size:10px;
  letter-spacing:.14em;
}
.food-care-panel__lead h3{font-size:clamp(28px,2.5vw,40px);line-height:1.42;margin:-3px 0 10px}
.food-care-panel__lead p{font-size:13px;line-height:1.95;color:#d7e7df;max-width:780px}
.food-care-points{
  position:relative;z-index:1;
  gap:16px;
  margin-top:28px;
}
.food-care-points article{
  position:relative;
  min-height:205px;
  padding:28px 26px 24px;
  border-radius:24px;
  border:1px solid rgba(222,202,157,.38);
  background:linear-gradient(180deg,#fffdf7 0%,#f7f2e7 100%);
  color:var(--deep);
  box-shadow:0 14px 30px rgba(4,31,23,.12);
}
.food-care-points article::after{
  content:"";
  position:absolute;left:26px;right:26px;top:0;height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#d6ae60,#9fc2aa);
}
.food-care-points b{
  width:auto;height:auto;display:inline-flex;
  padding:5px 10px;margin:0 0 16px;
  border-radius:999px;
  background:#e9f3ed;
  color:var(--green);
  font-size:0;
  letter-spacing:.08em;
}
.food-care-points article:nth-child(1) b::after{content:"栄養設計";font-size:10px;font-weight:800}
.food-care-points article:nth-child(2) b::after{content:"個別調整";font-size:10px;font-weight:800}
.food-care-points article:nth-child(3) b::after{content:"手づくり";font-size:10px;font-weight:800}
.food-care-points h4{font-family:var(--serif);font-size:21px;line-height:1.5;margin:0 0 10px;color:var(--deep)}
.food-care-points p{font-size:12px;line-height:1.85;color:#5f6f68;margin:0}
.food-care-note{
  position:relative;z-index:1;
  margin:22px 0 0;
  color:#c9ddd4;
  font-size:10px;
}

/* ---------- ABOUT: representative message ---------- */
.representative-message-heading{
  font-size:clamp(34px,3.2vw,50px) !important;
  line-height:1.55 !important;
  letter-spacing:-.035em !important;
}
@media(max-width:700px){
  .representative-message-heading{
    font-size:clamp(28px,8.2vw,36px) !important;
    line-height:1.58 !important;
    word-break:auto-phrase;
    line-break:strict;
    text-wrap:pretty;
  }
  .representative-message-heading>span,
  .representative-message-heading .message-keep-phrase{
    display:inline !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:auto-phrase !important;
  }
  /* SP: only break between the two sentences; wrapping inside each sentence stays natural */
  .representative-message-heading .message-line-natural{
    display:block !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:auto-phrase !important;
  }
}

/* ---------- GROUP: main heading (PC one line only) ---------- */
@media(min-width:701px){
  .group-business-main-title{
    white-space:nowrap;
    font-size:clamp(34px,3.15vw,50px) !important;
  }
}

/* ---------- GROUP: ecosystem / business expansion ---------- */
.ecosystem{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) 58px minmax(0,1fr);
  gap:0;
  align-items:stretch;
  padding:18px 0 10px;
}
.ecosystem>i{
  display:grid;
  place-items:center;
  align-self:center;
  justify-self:center;
  width:46px;
  height:46px;
  font-family:var(--serif);
  font-size:34px;
  font-weight:400;
  line-height:1;
  color:#b58c3d;
  font-style:normal;
  position:relative;
  z-index:3;
}
.ecosystem>i::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:50%;
  background:rgba(251,250,246,.82);
  border:1px solid rgba(181,140,61,.28);
  box-shadow:0 8px 22px rgba(30,74,58,.07);
  z-index:-1;
}
.ecosystem>div{
  position:relative;
  min-height:285px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  padding:42px 38px 34px;
  text-align:left;
  border-radius:32px;
  background:linear-gradient(155deg,#fffefb 0%,#fbfaf5 72%,#f4f7ef 100%);
  border:1px solid rgba(119,143,113,.18);
  box-shadow:0 22px 52px rgba(27,70,54,.10),inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  isolation:isolate;
}
.ecosystem>div::before{
  content:"";
  position:absolute;
  left:36px;
  right:36px;
  bottom:31px;
  height:1px;
  background:linear-gradient(90deg,rgba(181,140,61,.78) 0 42%,transparent 42% 58%,rgba(181,140,61,.78) 58% 100%);
  z-index:0;
}
.ecosystem>div::after{
  content:"";
  position:absolute;
  width:118px;
  height:118px;
  right:-18px;
  bottom:-8px;
  opacity:.28;
  background:
    radial-gradient(ellipse at 66% 20%,transparent 0 20%,#7da789 21% 23%,transparent 24%),
    radial-gradient(ellipse at 50% 42%,transparent 0 20%,#7da789 21% 23%,transparent 24%),
    radial-gradient(ellipse at 75% 53%,transparent 0 19%,#7da789 20% 22%,transparent 23%),
    linear-gradient(115deg,transparent 0 48%,#7da789 49% 50%,transparent 51%);
  transform:rotate(-12deg);
  z-index:0;
}
.ecosystem>div:nth-of-type(2)::after{transform:rotate(4deg) scale(.92);right:-8px;bottom:-14px}
.ecosystem>div:nth-of-type(3)::after{transform:rotate(-22deg) scale(1.05);right:-12px;bottom:-10px}
.ecosystem span,
.ecosystem b{position:relative;z-index:1}
.ecosystem span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 16px 6px;
  border-radius:999px;
  background:linear-gradient(180deg,#255f4a 0%,#174c3b 100%);
  border:1px solid rgba(203,173,102,.72);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.07);
  color:#f5ead0;
  font-size:11px;
  letter-spacing:.10em;
  font-weight:800;
}
.ecosystem b{
  display:block;
  font-family:var(--serif);
  font-size:clamp(26px,2vw,34px);
  line-height:1.45;
  margin-top:28px;
  color:var(--deep);
  letter-spacing:-.035em;
  max-width:100%;
}
.ecosystem>div b::after{
  content:"✦";
  position:absolute;
  left:50%;
  bottom:-112px;
  transform:translateX(-50%);
  color:#b58c3d;
  font-size:11px;
  font-family:var(--sans);
}
@media(max-width:1100px){
  .ecosystem{grid-template-columns:1fr 44px 1fr 44px 1fr}
  .ecosystem>div{padding:34px 28px 30px;min-height:250px}
  .ecosystem b{font-size:clamp(22px,2.3vw,28px)}
  .ecosystem>i{width:38px;height:38px;font-size:28px}
}
@media(max-width:800px){
  .ecosystem{
    grid-template-columns:1fr;
    gap:0;
    padding:8px 0;
  }
  .ecosystem>div{
    min-height:190px;
    padding:30px 28px 32px;
    border-radius:26px;
  }
  .ecosystem>i{
    width:40px;
    height:40px;
    margin:8px auto;
    font-size:29px;
  }
  .ecosystem>div::before{left:28px;right:28px;bottom:24px}
  .ecosystem>div::after{width:92px;height:92px;opacity:.22}
  .ecosystem span{min-height:32px;padding:6px 14px;font-size:10px}
  .ecosystem b{font-size:clamp(24px,7.2vw,31px);margin-top:20px;line-height:1.48}
  .ecosystem>div b::after{display:none}
}

/* ---------- RECRUIT: specialist lane mobile stability ---------- */
@media(max-width:700px){
  .career-a-specialist{
    min-height:0 !important;
    padding:26px 20px 28px !important;
  }
  .career-a-specialist__steps{
    display:flex !important;
    flex-direction:column-reverse !important;
    gap:22px !important;
    min-height:0 !important;
    height:auto !important;
    margin-top:26px !important;
  }
  .career-a-specialist__path{display:none !important}
  .career-a-specialist-step,
  .career-a-specialist-step--top,
  .career-a-specialist-step--base{
    position:relative !important;
    inset:auto !important;
    left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:center !important;
    padding:20px 18px !important;
    border-radius:22px !important;
  }
  .career-a-specialist-step .career-a-icon--specialist{
    position:static !important;
    inset:auto !important;
    width:48px !important;height:48px !important;
    margin:0 !important;
    padding:9px !important;
    grid-row:auto !important;
  }
  .career-a-specialist-step>div:last-child{min-width:0 !important;width:auto !important}
  .career-a-specialist-step h4{
    margin:0 0 6px !important;
    font-size:16px !important;
    line-height:1.55 !important;
    word-break:auto-phrase !important;
    overflow-wrap:normal !important;
  }
  .career-a-specialist-step p{font-size:11px !important;line-height:1.8 !important}
}

/* ---------- RECRUIT: qualification support headings ---------- */
@media(min-width:701px){
  .qualification-a-panel{grid-template-columns:1fr 1.45fr}
  .qualification-a-lead h3{
    white-space:nowrap;
    font-size:clamp(30px,2.25vw,38px) !important;
    letter-spacing:-.04em;
  }
  .qualification-a-list__head{
    display:block !important;
    margin-bottom:24px;
  }
  .qualification-a-list__head span{
    display:block;
    white-space:nowrap;
    font-size:25px;
  }
  .qualification-a-list__head p{
    display:block;
    margin:8px 0 0 !important;
    max-width:none !important;
    white-space:nowrap;
    text-align:left !important;
    font-size:11px;
    line-height:1.7;
  }
}


/* v44: latest consolidated mobile refinements */
@media(max-width:700px){
  /* TOP: compact three audience cards while keeping equal heights */
  .portal-grid{gap:16px !important}
  .portal-card{
    height:300px !important;
    min-height:300px !important;
    padding:26px 24px 20px !important;
    border-radius:26px !important;
  }
  .portal-card h3{
    margin:0 0 12px !important;
    font-size:clamp(21px,6.6vw,27px) !important;
    line-height:1.45 !important;
  }
  .portal-card p{
    font-size:13.5px !important;
    line-height:1.8 !important;
  }
  .portal-card b{
    margin-top:auto !important;
    padding-top:14px !important;
    font-size:13.5px !important;
  }

  /* TOP: food commitment - restore horizontal heading and use the width */
  .food-care-panel{
    padding:22px 10px 24px !important;
    border-radius:24px !important;
  }
  .food-care-panel__lead{
    display:block !important;
    grid-template-columns:1fr !important;
    padding:0 8px 20px !important;
  }
  .food-care-panel__lead>span{
    display:inline-flex !important;
    margin:0 0 14px !important;
  }
  .food-care-panel__lead h3{
    display:block !important;
    width:100% !important;
    margin:0 0 12px !important;
    font-size:clamp(25px,7.4vw,31px) !important;
    line-height:1.5 !important;
    letter-spacing:-.03em !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    word-break:auto-phrase !important;
    overflow-wrap:normal !important;
    text-wrap:pretty;
  }
  .food-care-panel__lead p{
    font-size:13px !important;
    line-height:1.85 !important;
  }
  .food-care-points{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:18px !important;
    padding:0 !important;
  }
  .food-care-points article{
    width:100% !important;
    min-height:0 !important;
    padding:24px 22px 22px !important;
    border-radius:24px !important;
  }
  .food-care-points h4{
    font-size:clamp(20px,6.2vw,25px) !important;
    line-height:1.5 !important;
  }
  .food-care-points p{font-size:13px !important;line-height:1.85 !important}
  .food-care-note{padding:0 8px !important}

  /* GROUP: smaller business titles, natural wrapping, but keep key words intact */
  .group-list h3{
    font-size:clamp(21px,6.2vw,27px) !important;
    line-height:1.55 !important;
    letter-spacing:-.035em !important;
    word-break:auto-phrase !important;
    overflow-wrap:normal !important;
    text-wrap:pretty;
  }
  .group-list .br-mobile{display:none !important}
  .group-list h3 .nowrap-mobile{white-space:normal !important}
  .group-list h3 .keep-mobile-word{
    display:inline !important;
    white-space:nowrap !important;
    font:inherit !important;
    color:inherit !important;
    letter-spacing:inherit !important;
  }

  /* RECRUIT: on mobile show management positions from senior to entry */
  .career-a-management__steps{
    flex-direction:column-reverse !important;
  }
}


/* v45: mobile management career path upward arrow */
@media(max-width:700px){
  .career-a-management__steps{
    position:relative;
  }
  .career-a-management__steps::before{
    left:9px !important;
    top:28px !important;
    bottom:22px !important;
    width:2px !important;
    background:linear-gradient(0deg,#88b39a 0%,#5f9a79 100%) !important;
  }
  .career-a-management__steps::after{
    content:"";
    position:absolute;
    left:4px;
    top:18px;
    width:0;
    height:0;
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    border-bottom:10px solid #5f9a79;
    z-index:2;
  }
}


/* v47: SP representative-message Japanese word-break fix */
@media(max-width:700px){
  .representative-message-heading .message-keep-word{
    display:inline !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
}


/* v49: persistent fixed header on desktop/tablet/mobile */
:root{
  --site-header-height:82px;
}
.site-body{
  padding-top:var(--site-header-height) !important;
}
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:200 !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 4px 18px rgba(23,76,59,.07);
}
.mobile-nav{
  position:fixed !important;
  top:var(--site-header-height) !important;
  left:0 !important;
  right:0 !important;
  z-index:190 !important;
  max-height:calc(100dvh - var(--site-header-height));
  overflow-y:auto;
  overscroll-behavior:contain;
}
@media(max-width:700px){
  :root{--site-header-height:70px}
  .site-header{height:var(--site-header-height)}
  .header-inner{height:var(--site-header-height) !important}
  .mobile-nav{top:var(--site-header-height) !important}
}


/* v50: food story + facility building/home hierarchy */
.food-movie-feature{display:grid;grid-template-columns:1.16fr .84fr;background:#102f27;border-radius:30px;overflow:hidden;color:#fff;min-height:510px;box-shadow:var(--shadow)}
.food-movie-feature__media{position:relative;min-height:510px;background:#0b231d}.food-movie-feature__media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.food-movie-feature__badge{position:absolute;left:24px;bottom:24px;z-index:2;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.94);color:var(--deep);border-radius:999px;padding:9px 15px;box-shadow:0 10px 28px rgba(0,0,0,.16);pointer-events:none}.food-movie-feature__badge span{font-size:9px;letter-spacing:.12em;background:var(--green);color:#fff;border-radius:99px;padding:5px 8px;font-weight:800}.food-movie-feature__badge b{font-size:11px}
.food-movie-feature__copy{padding:46px 42px;align-self:center}.food-movie-feature__label{font-size:10px;letter-spacing:.18em;color:#b8ddcb;font-weight:800}.food-movie-feature__copy h3{font-family:var(--serif);font-size:31px;line-height:1.55;margin:11px 0 17px}.food-movie-feature__copy>p{font-size:13px;line-height:1.9;color:rgba(255,255,255,.78)}.food-movie-feature__copy ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}.food-movie-feature__copy li{position:relative;padding:11px 12px 11px 38px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.055);font-size:12px}.food-movie-feature__copy li:before{content:'✓';position:absolute;left:14px;color:#b8ddcb;font-weight:900}.food-movie-feature__note{font-size:10px!important;margin-top:18px!important;color:rgba(255,255,255,.55)!important}
.facility-structure-note{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:center;margin:34px 0 10px;padding:24px 28px;border-radius:22px;background:#eef6f1;border:1px solid #dbe9e1}.facility-structure-note__icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--deep);color:#fff;font-family:var(--serif);font-size:28px;position:relative}.facility-structure-note__icon:after{content:'HOMES';position:absolute;bottom:7px;font:700 7px/1 sans-serif;letter-spacing:.12em;color:#b8ddcb}.facility-structure-note span{font-size:9px;letter-spacing:.15em;color:var(--green);font-weight:800}.facility-structure-note h3{font-family:var(--serif);font-size:21px;margin:4px 0 7px}.facility-structure-note p{font-size:12px;color:var(--soft);margin:0;line-height:1.8}
.facility-building-card{grid-column:1/-1;display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--line);border-radius:25px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.facility-building-card[hidden]{display:none}.facility-building-card__visual{position:relative;min-height:390px}.facility-building-card__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.facility-building-card__visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,38,29,.42))}.facility-building-card__visual>span{position:absolute;left:20px;bottom:20px;z-index:2;background:#fff;color:var(--deep);border-radius:99px;padding:9px 14px;font-size:10px;font-weight:800}.facility-building-card__body{padding:34px}.facility-building-card__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line)}.facility-building-card__head h3{font-family:var(--serif);font-size:28px;margin:8px 0 6px}.facility-building-card__head p{font-size:12px;color:var(--soft);margin:0}.facility-building-card__head>b{font-size:10px;letter-spacing:.14em;color:var(--green);white-space:nowrap;padding-top:8px}.facility-home-list{display:grid;margin-top:15px}.facility-home-list a{display:grid;grid-template-columns:34px 1fr 24px;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--deep);text-decoration:none}.facility-home-list a>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf5f0;color:var(--green);font-size:9px;font-weight:900}.facility-home-list strong{display:block;font-size:14px}.facility-home-list small{display:block;margin-top:3px;font-size:10px;color:var(--soft)}.facility-home-list i{font-style:normal;font-size:18px}.facility-building-card__note{font-size:10px;color:var(--soft);margin:15px 0 0}
.facility-persona-section{background:#fff}.facility-same-building{display:grid;grid-template-columns:150px 1fr auto;gap:30px;align-items:center;padding:30px;border-radius:26px;background:var(--deep);color:#fff}.facility-same-building>span{font-size:10px;letter-spacing:.12em;color:#b8ddcb;font-weight:800}.facility-same-building h2{font-family:var(--serif);font-size:25px;margin:0 0 8px}.facility-same-building p{font-size:11px;line-height:1.8;margin:0;color:rgba(255,255,255,.75)}.facility-same-building__homes{display:flex;gap:7px;flex-wrap:wrap}.facility-same-building__homes a{display:grid;place-items:center;min-width:60px;padding:9px 12px;border:1px solid rgba(255,255,255,.23);border-radius:99px;color:#fff;text-decoration:none;font-size:10px;font-weight:800}.facility-same-building__homes a.is-current{background:#fff;color:var(--deep)}.facility-persona-title{margin-top:65px}.resident-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.resident-profile-grid article{padding:25px 22px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}.resident-profile-grid span{display:block;font-size:9px;letter-spacing:.12em;color:var(--green);font-weight:900}.resident-profile-grid strong{display:block;font-family:var(--serif);font-size:19px;margin:9px 0 10px}.resident-profile-grid p{font-size:11px;line-height:1.75;color:var(--soft);margin:0}.resident-profile-note{font-size:10px;color:var(--soft);margin:14px 2px 0}
@media(max-width:1000px){.food-movie-feature{grid-template-columns:1fr}.food-movie-feature__media{min-height:470px}.facility-building-card{grid-template-columns:1fr}.facility-building-card__visual{min-height:330px}.facility-same-building{grid-template-columns:1fr}.resident-profile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.food-movie-feature{border-radius:22px;min-height:0}.food-movie-feature__media{min-height:270px;aspect-ratio:16/9}.food-movie-feature__badge{left:12px;bottom:12px;padding:7px 9px;gap:7px}.food-movie-feature__badge b{font-size:9px}.food-movie-feature__copy{padding:28px 23px}.food-movie-feature__copy h3{font-size:24px}.facility-structure-note{grid-template-columns:48px 1fr;gap:14px;padding:18px}.facility-structure-note__icon{width:46px;height:46px;border-radius:14px;font-size:21px}.facility-structure-note__icon:after{display:none}.facility-structure-note h3{font-size:17px}.facility-building-card{border-radius:20px}.facility-building-card__visual{min-height:230px}.facility-building-card__body{padding:22px 18px}.facility-building-card__head h3{font-size:23px}.facility-building-card__head>b{display:none}.facility-home-list a{grid-template-columns:30px 1fr 18px}.facility-same-building{padding:24px 20px;gap:18px}.facility-same-building h2{font-size:22px}.facility-persona-title{margin-top:45px}.resident-profile-grid{grid-template-columns:1fr}.resident-profile-grid article{padding:20px}}


/* v53: FOOD STORY PC stacked layout + autoplay movie */
@media (min-width:1001px){
  .media-story-grid{
    align-items:stretch;
  }
  .food-movie-feature--stacked .food-movie-feature__media{
    position:relative;
    overflow:hidden;
  }

  .food-movie-feature.food-movie-feature--stacked{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:290px minmax(320px,1fr);
    min-height:610px;
    height:100%;
    overflow:hidden;
  }
  .food-movie-feature--stacked .food-movie-feature__copy{
    order:1;
    padding:28px 34px 24px;
    align-self:stretch;
    display:grid;
    grid-template-columns:1fr;
    align-content:start;
  }
  .food-movie-feature--stacked .food-movie-feature__label{
    margin-bottom:5px;
  }
  .food-movie-feature--stacked .food-movie-feature__copy h3{
    font-size:25px;
    line-height:1.45;
    margin:4px 0 8px;
  }
  .food-movie-feature--stacked .food-movie-feature__copy>p:not(.food-movie-feature__note){
    font-size:11px;
    line-height:1.65;
    margin:0;
  }
  .food-movie-feature--stacked .food-movie-feature__copy ul{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin:11px 0 0;
  }
  .food-movie-feature--stacked .food-movie-feature__copy li{
    padding:8px 8px 8px 27px;
    font-size:10px;
    line-height:1.45;
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .food-movie-feature--stacked .food-movie-feature__copy li:before{
    left:10px;
  }
  .food-movie-feature--stacked .food-movie-feature__note{
    margin-top:8px!important;
    font-size:9px!important;
    line-height:1.5!important;
  }
  .food-movie-feature--stacked .food-movie-feature__media{
    order:2;
    min-height:0;
    height:auto;
    min-height:320px;
    background:#0b231d;
  }
  .food-movie-feature--stacked .food-movie-feature__media iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
  }
  .food-movie-feature--stacked .food-movie-feature__badge{
    left:18px;
    bottom:16px;
    padding:7px 12px;
  }
}

@media (max-width:1000px){
  .food-movie-feature.food-movie-feature--stacked{display:grid;grid-template-columns:1fr;}
  .food-movie-feature--stacked .food-movie-feature__copy{order:1;}
  .food-movie-feature--stacked .food-movie-feature__media{order:2;}
}


/* v56: FOOD STORY mobile overflow fix */
@media (max-width:700px){
  .media-story-section,
  .media-story-section .container,
  .media-story-grid,
  .food-movie-feature,
  .food-movie-feature--stacked,
  .food-movie-feature__copy,
  .food-movie-feature__media,
  .story-scene-list{
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  .media-story-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    overflow:hidden !important;
  }

  .food-movie-feature.food-movie-feature--stacked{
    grid-template-columns:minmax(0,1fr) !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }

  .food-movie-feature--stacked .food-movie-feature__copy{
    padding:27px 20px 24px !important;
    overflow:hidden !important;
  }

  .food-movie-feature--stacked .food-movie-feature__copy h3{
    font-size:clamp(23px,7vw,28px) !important;
    line-height:1.5 !important;
    letter-spacing:-.03em !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .food-movie-feature--stacked .food-movie-feature__copy > p{
    width:100% !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.85 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .food-movie-feature--stacked .food-movie-feature__copy ul{
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    gap:10px !important;
  }

  .food-movie-feature--stacked .food-movie-feature__copy li{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:12px 12px 12px 38px !important;
    font-size:12px !important;
  }

  .food-movie-feature--stacked .food-movie-feature__media{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    background:#0b231d !important;
  }

  .food-movie-feature--stacked .food-movie-feature__media iframe{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    border:0 !important;
  }

  .food-movie-feature--stacked .food-movie-feature__badge{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    width:max-content !important;
    max-width:calc(100% - 24px) !important;
    box-sizing:border-box !important;
  }

  .food-movie-feature--stacked .food-movie-feature__badge b{
    white-space:normal !important;
    line-height:1.4 !important;
  }

  .story-scene-list{
    grid-template-columns:minmax(0,1fr) !important;
  }
}


/* v57: actual facility data, shared-building photo grouping, status badges, address-based schematic map */
.yp-area-map-wrap{background:#fff;border:1px solid var(--line);border-radius:30px;padding:26px;box-shadow:var(--shadow)}
.yp-area-map{position:relative;height:500px;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,#eff7f2 0%,#e5f0e9 100%);border:1px solid rgba(23,76,59,.08)}
.yp-area-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(79,138,114,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(79,138,114,.075) 1px,transparent 1px);background-size:32px 32px;opacity:.72}
.yp-area-map:after{content:"";position:absolute;left:49%;top:-12%;width:50%;height:125%;border-radius:50%;background:rgba(226,239,232,.66);border:1px solid rgba(23,76,59,.1);transform:rotate(2deg)}
.yp-area-map__city{position:absolute;z-index:4;top:42px;color:var(--deep)}.yp-area-map__city strong{display:block;font-family:var(--serif);font-size:30px;line-height:1}.yp-area-map__city span{display:block;margin-top:8px;font-size:11px;font-weight:800;color:var(--soft)}.yp-area-map__city--daito{left:5%}.yp-area-map__city--higashi{left:58%}
.yp-area-map__rail{position:absolute;z-index:2;left:5%;top:51%;width:65%;height:5px;border-top:2px solid rgba(67,104,90,.38);border-bottom:2px solid rgba(67,104,90,.22);transform:rotate(-11deg);transform-origin:left center}.yp-area-map__rail span{position:absolute;right:3%;bottom:8px;font-size:9px;letter-spacing:.1em;color:#6c7f76;font-weight:800;transform:rotate(11deg);white-space:nowrap}
.yp-area-map__station{position:absolute;z-index:5;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;color:#5f756a;font-size:9px;font-weight:800}.yp-area-map__station i{display:block;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #6d8e7e;box-shadow:0 0 0 3px rgba(255,255,255,.8)}
.yp-area-map__road{position:absolute;z-index:2;color:#9b7a45;font-size:9px;font-weight:800;letter-spacing:.08em}.yp-area-map__road--170{right:11%;top:22%;height:65%;width:2px;background:rgba(213,166,90,.55);writing-mode:vertical-rl;padding-left:8px}
.yp-area-map__border{position:absolute;z-index:1;left:52%;top:13%;height:74%;border-left:1px dashed rgba(23,76,59,.24);transform:rotate(9deg)}
.yp-map-pin{position:absolute;z-index:8;left:var(--x);top:var(--y);transform:translate(-50%,-50%);text-decoration:none;color:var(--deep)}.yp-map-pin>span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 7px;border-radius:50% 50% 50% 12px;transform:rotate(-45deg);background:var(--deep);color:#fff;font-size:9px;font-weight:900;box-shadow:0 10px 22px rgba(23,76,59,.24);border:2px solid rgba(255,255,255,.86)}.yp-map-pin>span::first-line{transform:rotate(45deg)}.yp-map-pin>small{position:absolute;left:50%;top:48px;transform:translateX(-50%);white-space:nowrap;background:rgba(255,255,255,.92);border:1px solid rgba(23,76,59,.1);border-radius:8px;padding:4px 7px;font-size:8px;font-weight:800;box-shadow:0 5px 14px rgba(23,76,59,.09)}
.yp-map-pin--higashiosaka>span{background:#2b6954}.yp-map-pin:hover>span{transform:rotate(-45deg) translate(2px,-2px)}
.yp-map-help{display:flex;gap:14px;align-items:flex-start;padding:17px 4px 3px}.yp-map-help span{font-size:9px;letter-spacing:.15em;color:var(--green);font-weight:900;white-space:nowrap}.yp-map-help p{margin:0;font-size:10px;color:var(--soft);line-height:1.7}
.yp-map-legend{margin-top:14px}.yp-map-legend li{align-items:flex-start}.yp-map-legend li span{line-height:1.4}
.facility-status-guide{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 8px}.facility-status-guide>div{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.facility-status-guide p{font-size:10px;color:var(--soft);margin:0}.facility-status-guide>small{grid-column:1/-1;font-size:9px;color:var(--soft);padding-left:3px}
.facility-inline-badge{display:inline-flex!important;align-items:center;justify-content:center;vertical-align:middle;margin-left:9px;padding:5px 9px;border-radius:999px;font:800 9px/1.1 sans-serif!important;white-space:nowrap}.facility-inline-badge--available{background:#fff1dd;color:#a65f00;border:1px solid #f0ce9d}.facility-inline-badge--planned{background:#e9f1ff;color:#315f9e;border:1px solid #bfd2ef}.facility-inline-badge--consult{background:#e2f3e9;color:#176646;border:1px solid #c9e8d6}
.yp-facility-buildings{grid-template-columns:1fr}.yp-facility-buildings .facility-building-card{grid-column:auto}.yp-facility-buildings .facility-building-card__visual{min-height:430px}.facility-home-list small{max-width:720px;line-height:1.65}.facility-home-list strong{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.facility-building-card__note strong{color:var(--deep)}
.facility-detail-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.facility-detail-badges .facility-inline-badge{margin-left:0}.facility-gallery--actual{grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;min-height:520px}.facility-gallery--actual>img{grid-row:1/3;height:100%;min-height:520px}.facility-detail-feature-card,.facility-detail-privacy{border-radius:18px;padding:24px;background:#f4f8f5;border:1px solid var(--line)}.facility-detail-feature-card span,.facility-detail-privacy span{display:block;font-size:9px;letter-spacing:.12em;color:var(--green);font-weight:900;margin-bottom:9px}.facility-detail-feature-card p,.facility-detail-privacy p{margin:0;font-size:12px;color:var(--soft);line-height:1.85}
@media(max-width:1000px){.yp-area-map{height:470px}.yp-facility-buildings .facility-building-card__visual{min-height:340px}.facility-gallery--actual{grid-template-columns:1fr;grid-template-rows:auto}.facility-gallery--actual>img{grid-row:auto;min-height:380px}.facility-status-guide{grid-template-columns:1fr}}
@media(max-width:700px){.yp-area-map-wrap{padding:12px;border-radius:22px}.yp-area-map{height:500px;border-radius:17px}.yp-area-map__city{top:22px}.yp-area-map__city strong{font-size:22px}.yp-area-map__city--daito{left:5%}.yp-area-map__city--higashi{left:60%}.yp-area-map__rail{top:54%;width:70%}.yp-area-map__station span{display:none}.yp-map-pin>span{min-width:31px;height:31px;font-size:7px;border-width:1px}.yp-map-pin>small{font-size:7px;top:38px;padding:3px 5px;max-width:78px;overflow:hidden;text-overflow:ellipsis}.yp-area-map__road--170{right:8%}.yp-map-help{display:block;padding:12px 3px 0}.yp-map-help p{margin-top:5px}.facility-status-guide>div{align-items:flex-start;flex-direction:column;gap:7px}.facility-inline-badge{margin-left:0}.yp-facility-buildings .facility-building-card__visual{min-height:260px}.facility-building-card__body{padding:24px 18px}.facility-home-list a{grid-template-columns:32px 1fr 18px;align-items:flex-start}.facility-home-list small{font-size:9.5px;line-height:1.65}.facility-gallery--actual>img{min-height:280px}.facility-detail-feature-card,.facility-detail-privacy{padding:18px}.facility-same-building__homes{margin-top:6px}}


/* v58: homepage map sync + PC facility cards + mobile facility detail stacking */
.facility-home-map{margin-top:4px}

/* Facility directory: keep every building card full-width and readable on desktop. */
@media (min-width:1001px){
  .facility-grid.large.facility-grid--locations.yp-facility-buildings{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
    width:100%;
  }
  .yp-facility-buildings .facility-building-card{
    width:100%;
    min-width:0;
    display:grid!important;
    grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr)!important;
    align-items:stretch;
  }
  .yp-facility-buildings .facility-building-card__visual{
    min-width:0;
    min-height:390px;
  }
  .yp-facility-buildings .facility-building-card__body{
    min-width:0;
    padding:34px 38px;
  }
  .yp-facility-buildings .facility-building-card__head>div{
    min-width:0;
  }
  .yp-facility-buildings .facility-home-list a{
    grid-template-columns:34px minmax(0,1fr) 24px;
  }
  .yp-facility-buildings .facility-home-list strong,
  .yp-facility-buildings .facility-home-list small{
    overflow-wrap:anywhere;
    word-break:normal;
  }
}

/* Facility detail: on phones, feature/address cards must never form narrow columns. */
@media (max-width:700px){
  .facility-gallery.facility-gallery--actual{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    gap:14px!important;
  }
  .facility-gallery.facility-gallery--actual>img{
    order:1;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .facility-gallery--actual .facility-detail-feature-card,
  .facility-gallery--actual .facility-detail-privacy{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:block!important;
    writing-mode:horizontal-tb!important;
    padding:20px 18px!important;
  }
  .facility-gallery--actual .facility-detail-feature-card{order:2}
  .facility-gallery--actual .facility-detail-privacy{order:3}
  .facility-gallery--actual .facility-detail-feature-card span,
  .facility-gallery--actual .facility-detail-privacy span,
  .facility-gallery--actual .facility-detail-feature-card p,
  .facility-gallery--actual .facility-detail-privacy p{
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .facility-gallery--actual .facility-detail-feature-card p,
  .facility-gallery--actual .facility-detail-privacy p{
    font-size:13px;
    line-height:1.9;
  }
}


/* WordPress theme integration */
.filter a{border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 15px;font-size:11px;font-weight:800;cursor:pointer}.filter a.active,.filter a:hover{background:var(--deep);color:#fff;border-color:var(--deep)}
.form-mock form{display:grid;gap:18px;margin-top:24px}.form-mock form label{display:grid;gap:7px;font-size:12px;font-weight:800}.form-mock form input,.form-mock form select,.form-mock form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px 14px;color:var(--text)}.form-mock form textarea{resize:vertical}.yp-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.yp-form-status{margin:18px 0;padding:14px 16px;border-radius:12px;background:#eef6f1;border:1px solid #cfe2d7;color:var(--deep);font-size:12px}.yp-form-status--success{background:#e9f5ed}.yp-form-status--error{background:#fff1ef;border-color:#e8c3bd;color:#873e34}.yp-article-content{font-size:14px;line-height:2}.yp-article-content p{margin:0 0 1.5em}.yp-article-content h2,.yp-article-content h3{font-family:var(--serif);margin-top:2em}
/* FOOD STORY: WordPress公開環境で左カードが縦に伸び過ぎないよう、動画枠を安定化 */
@media (min-width:1001px){.food-movie-feature.food-movie-feature--stacked{grid-template-rows:auto 360px!important;min-height:0!important;height:auto!important}.food-movie-feature--stacked .food-movie-feature__media{height:360px!important;min-height:360px!important}.food-movie-feature--stacked .food-movie-feature__media iframe{display:block;width:100%!important;height:100%!important}}
/* v1.0.1: facility detail — remove auto-generated one-word/first-sentence heading */
.facility-detail-head .facility-detail-lead{margin-top:20px;max-width:680px;font-size:14px;line-height:2;color:var(--soft)}
@media(max-width:700px){.facility-detail-head .facility-detail-lead{margin-top:16px;font-size:13px;line-height:1.9}}


/* v1.0.2: contact result stays directly below submit button */
.form-mock form .yp-form-status{margin:0;padding:14px 16px}
.form-mock form .yp-form-status[hidden]{display:none!important}
.form-mock form button[type="submit"]:disabled{opacity:.68;cursor:wait}

/* v1.0.4: facility detail — remove generic consultation badge and duplicate feature lead */
.facility-detail-head--compact{display:block}
.facility-detail-head--compact .facility-summary{width:100%;max-width:none}
.facility-detail-head--compact .facility-detail-badges{margin:0 0 16px}
.facility-detail-head--compact .facility-detail-badges:empty{display:none}
@media(max-width:700px){.facility-detail-head--compact .facility-detail-badges{margin-bottom:12px}}


/* v1.0.10: FOOD STORY mobile horizontal gutter */
@media (max-width:700px){
  .media-story-section .container{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:clamp(16px,5vw,22px) !important;
    padding-right:clamp(16px,5vw,22px) !important;
    box-sizing:border-box !important;
  }
  .media-story-section .section-title,
  .media-story-section .media-story-grid,
  .media-story-section .food-care-panel{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}


/* v1.0.11: 2026-09-04 content update */
.facility-grid--featured{grid-template-columns:repeat(4,minmax(0,1fr))}
.facility-card__badges{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:29px}
.facility-card__badges .facility-inline-badge{margin:0}

.disclosure-documents .section-title{margin-bottom:58px}
.disclosure-group{margin-top:44px}
.disclosure-group:first-of-type{margin-top:0}
.disclosure-group__head{display:flex;align-items:center;gap:17px;margin:0 0 18px}
.disclosure-group__head>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--deep);color:#fff;font-family:var(--serif);font-size:15px}
.disclosure-group__head small{display:block;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.12em}
.disclosure-group__head h3{font-family:var(--serif);font-size:24px;margin:2px 0 0}
.document-list--pdf{gap:10px}
.document-list--pdf a{padding:24px 28px;transition:transform .2s,box-shadow .2s,border-color .2s}
.document-list--pdf a:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(23,76,59,.09);border-color:#b9d2c5}
.document-list--pdf a>div{padding-right:20px}
.document-list--pdf h3{font-size:18px;margin:3px 0 3px}
.document-list--pdf p{margin:0;font-size:11px;line-height:1.7;color:var(--soft)}
.document-list--pdf b{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:11px;color:var(--green)}
.document-list--pdf b em{font-style:normal;font-size:8px;letter-spacing:.08em;background:var(--deep);color:#fff;border-radius:5px;padding:4px 6px}
.disclosure-note{margin:22px 2px 0;font-size:10px;color:var(--soft)}

.people-interview-title{align-items:end}
.people-interview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.people-interview-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 15px 38px rgba(23,76,59,.08)}
.people-interview-card__photo{position:relative;height:310px;overflow:hidden;background:#e8eee9}
.people-interview-card__photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(8,38,29,.5))}
.people-interview-card__photo img{height:100%;object-fit:cover;filter:saturate(.82)}
.people-interview-card__photo>span{position:absolute;z-index:2;left:15px;bottom:14px;background:rgba(255,255,255,.94);color:var(--deep);border-radius:99px;padding:6px 10px;font-size:8px;font-weight:900;letter-spacing:.11em}
.people-interview-card__body{padding:21px 22px 23px}
.people-interview-card__body small{display:block;color:var(--green);font-size:10px;font-weight:800;line-height:1.6;min-height:32px}
.people-interview-card__body h3{font-family:var(--serif);font-size:24px;margin:5px 0 11px}
.people-interview-card__body p{font-size:11px;line-height:1.75;color:var(--soft);margin:0 0 15px}
.people-interview-card__body b{display:inline-flex;align-items:center;border-radius:99px;background:#edf5f0;color:var(--green);font-size:9px;padding:6px 10px;letter-spacing:.05em}
.people-interview-note{font-size:10px;color:var(--soft);margin:18px 2px 0}

.food-movie-feature__media--mixed{position:relative!important;display:grid!important;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr)!important;gap:0!important;min-height:430px!important;background:#0b231d!important}
.food-story-photo{position:relative;overflow:hidden;min-height:430px}
.food-story-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(7,35,28,.68))}
.food-story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.food-story-photo>div{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;color:#fff}
.food-story-photo span{display:block;font-size:8px;letter-spacing:.14em;color:#cfe8db;font-weight:800;margin-bottom:5px}
.food-story-photo b{font-family:var(--serif);font-size:17px;line-height:1.5}
.food-story-video{position:relative;display:grid;place-items:center;padding:28px;background:#0a211b;overflow:hidden}
.food-story-video:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(79,138,114,.18),transparent 66%)}
.food-story-video video{position:relative;z-index:1;width:100%;height:auto;max-height:350px;object-fit:contain;background:#071914;border-radius:12px;box-shadow:0 18px 36px rgba(0,0,0,.22)}
.food-story-video .food-movie-feature__badge{z-index:3}

@media(max-width:1000px){
  .facility-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-interview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .food-movie-feature__media--mixed{grid-template-columns:.44fr .56fr!important}
}
@media(max-width:700px){
  .facility-grid--featured{grid-template-columns:1fr}
  .document-list--pdf a{align-items:flex-start;padding:20px 18px;gap:14px}
  .document-list--pdf a>div{padding-right:0}
  .document-list--pdf b{font-size:0;gap:0;margin-top:2px}
  .document-list--pdf b em{font-size:8px}
  .disclosure-group__head h3{font-size:20px}
  .people-interview-grid{grid-template-columns:1fr}
  .people-interview-card__photo{height:330px}
  .people-interview-title br{display:none}
  .food-movie-feature__media--mixed{display:block!important;min-height:0!important;aspect-ratio:auto!important}
  .food-story-photo{min-height:390px}
  .food-story-video{padding:22px 14px 48px;min-height:245px}
  .food-story-video video{max-height:none;border-radius:9px}
  .food-story-video .food-movie-feature__badge{bottom:10px}
}


/* v1.0.12: real-world facility map + FOOD STORY local video poster */
.yp-area-map.yp-area-map--real{
  position:relative;
  height:500px;
  overflow:hidden;
  border-radius:24px;
  background:#e8ece9;
  border:1px solid rgba(23,76,59,.10);
}
.yp-area-map.yp-area-map--real:before,
.yp-area-map.yp-area-map--real:after{display:none!important}
.yp-area-map__tiles{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.76) contrast(.94) brightness(1.03);
  pointer-events:none;
}
.yp-area-map__veil{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(248,251,249,.12),rgba(238,246,241,.08));
  pointer-events:none;
}
.yp-area-map__city-summary{
  position:absolute;
  z-index:7;
  left:18px;
  top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.yp-area-map__city-summary span{
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:8px 11px;
  border:1px solid rgba(23,76,59,.12);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--soft);
  font-size:9px;
  font-weight:800;
  box-shadow:0 6px 18px rgba(23,76,59,.10);
  backdrop-filter:blur(6px);
}
.yp-area-map__city-summary b{font-family:var(--serif);font-size:13px;color:var(--deep)}
.yp-area-map--real .yp-map-pin{z-index:8}
.yp-area-map--real .yp-map-pin>span{
  box-shadow:0 8px 20px rgba(10,44,34,.28);
  border:2px solid rgba(255,255,255,.98);
}
.yp-area-map--real .yp-map-pin>small{
  background:rgba(255,255,255,.96);
  border-color:rgba(23,76,59,.14);
  box-shadow:0 5px 15px rgba(23,76,59,.12);
}
.yp-map-google-link{
  position:absolute;
  z-index:9;
  right:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(23,76,59,.12);
  background:rgba(255,255,255,.96);
  color:var(--deep);
  font-size:9px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 7px 20px rgba(23,76,59,.12);
}
.yp-map-google-link:hover{transform:translateY(-1px)}

/* Keep the v1.0.10 FOOD STORY frame size; only the movie/content changes. */
.food-movie-feature--stacked .food-movie-feature__media--local{
  position:relative;
  overflow:hidden;
  background:#0b231d url('assets/images/food-table-feature.jpg') center/cover no-repeat;
}
.food-movie-feature--stacked .food-movie-feature__media--local:before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(7,25,20,.18);
  backdrop-filter:blur(10px);
  transform:scale(1.04);
}
.food-movie-feature--stacked .food-movie-feature__media--local video{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  display:block;
}
.food-movie-feature--stacked .food-movie-feature__media--local .food-movie-feature__badge{z-index:3}

@media (max-width:700px){
  .yp-area-map.yp-area-map--real{height:480px;border-radius:17px}
  .yp-area-map__city-summary{left:10px;top:10px;right:10px}
  .yp-area-map__city-summary span{padding:6px 8px;font-size:8px}
  .yp-area-map__city-summary b{font-size:11px}
  .yp-map-google-link{right:10px;bottom:10px;font-size:8px;padding:8px 10px}
}


/* v1.0.13: FOOD STORY sizing refinement + facility map pin readability */
@media (min-width:1001px){
  .food-movie-feature.food-movie-feature--stacked{grid-template-rows:auto 420px!important}
  .food-movie-feature--stacked .food-movie-feature__media{height:420px!important;min-height:420px!important}
}
.food-movie-feature--stacked .food-movie-feature__media--local{min-height:420px!important}
.food-movie-feature--stacked .food-movie-feature__media--local:before{background:rgba(7,25,20,.10);backdrop-filter:blur(6px)}
.food-movie-feature--stacked .food-movie-feature__media--local video{object-fit:cover;object-position:center center}
.food-movie-feature--stacked .food-movie-feature__media--local .food-movie-feature__badge{left:18px;top:18px;bottom:auto}
.yp-area-map--real .yp-map-pin>small{line-height:1.35}
.yp-area-map--real .yp-map-pin--label-top>small{top:-10px;left:50%;transform:translate(-50%,-100%)}
.yp-area-map--real .yp-map-pin--label-left>small{left:auto;right:calc(100% + 10px);top:6px;transform:none}
.yp-area-map--real .yp-map-pin--label-right>small{left:calc(100% + 10px);top:6px;transform:none}
.yp-area-map--real .yp-map-pin--label-bottom>small{top:48px;left:50%;transform:translateX(-50%)}
@media (max-width:1000px){
  .food-movie-feature--stacked .food-movie-feature__media--local{min-height:360px!important}
}
@media (max-width:700px){
  .food-movie-feature--stacked .food-movie-feature__media--local{min-height:300px!important}
  .food-movie-feature--stacked .food-movie-feature__media--local .food-movie-feature__badge{left:12px;top:12px;bottom:auto}
  .yp-area-map--real .yp-map-pin--label-left>small,.yp-area-map--real .yp-map-pin--label-right>small{top:38px;left:50%;right:auto;transform:translateX(-50%)}
  .yp-area-map--real .yp-map-pin--label-top>small{top:-8px;left:50%;transform:translate(-50%,-100%)}
}


/* v1.0.14: mobile FOOD STORY label position + shorter movie frame */
@media (max-width:700px){
  .food-movie-feature.food-movie-feature--stacked{grid-template-rows:auto 250px!important}
  .food-movie-feature--stacked .food-movie-feature__media{height:250px!important;min-height:250px!important;aspect-ratio:auto!important}
  .food-movie-feature--stacked .food-movie-feature__media--local{min-height:250px!important}
  .food-movie-feature--stacked .food-movie-feature__media--local video{object-fit:cover;object-position:center center}
  .food-movie-feature--stacked .food-movie-feature__media--local .food-movie-feature__badge,
  .food-movie-feature--stacked .food-movie-feature .food-movie-feature__badge,
  .food-movie-feature--stacked .food-movie-feature__badge{
    top:12px!important;
    left:12px!important;
    right:auto!important;
    bottom:auto!important;
    z-index:5!important;
  }
}


/* v1.0.15: natural mobile heading wrap system */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
.keep-phrase{
  white-space:normal;
}
@media (max-width:700px){
  /* Main H1/H2/H3 use natural wrapping first, with only key phrases kept together. */
  .hero-v3 h1,
  .lower-hero h1,
  .section-title h2,
  .portal-card h3,
  .food-movie-feature__copy h3,
  .story-scene-list h3,
  .food-care-panel__lead h3,
  .history-highlight h3,
  .role-visual h3,
  .site-video-caption h3,
  .people-interview-title h2,
  .facility-same-building h2,
  .facility-persona-title h2,
  .facility-building-card__head h3,
  .contact-choice h2,
  .form-mock h2,
  .contact-band h2,
  .contact-cta-heading,
  .article-inner h1{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-break:strict;
    text-wrap:pretty;
    hyphens:none;
  }

  /* Remove forced line breaks in major headings on mobile so real devices can wrap naturally. */
  .hero-v3 h1 br,
  .lower-hero h1 br,
  .portal-card h3 br,
  .section-title h2 br,
  .food-movie-feature__copy h3 br,
  .role-visual h3 br,
  .site-video-caption h3 br,
  .people-interview-title h2 br,
  .facility-same-building h2 br,
  .facility-persona-title h2 br,
  .facility-building-card__head h3 br,
  .contact-choice h2 br,
  .form-mock h2 br,
  .contact-band h2 br,
  .article-inner h1 br{
    display:none !important;
  }

  /* Keep only meaningful phrase units from breaking awkwardly. */
  .keep-phrase,
  .portal-card h3 .keep-phrase,
  .section-title h2 .keep-phrase,
  .hero-v3 h1 .keep-phrase,
  .lower-hero h1 .keep-phrase{
    display:inline;
    white-space:nowrap !important;
  }

  /* Existing utility class should also work consistently for mobile phrase protection. */
  .nowrap-mobile{
    display:inline;
    white-space:nowrap !important;
  }

  /* A little more breathing room stabilizes wrapping across iPhone / Android widths. */
  .portal-card h3{letter-spacing:-.02em !important}
  .section-title h2,
  .lower-hero h1,
  .hero-v3 h1{letter-spacing:-.03em !important}
}


/* v1.0.16: interview profiles + hide inert map zoom controls */
.people-interview-card__lead{font-size:12px!important;line-height:1.8!important;color:var(--deep)!important;font-weight:700;margin:0 0 16px!important}
.people-interview-detail{border-top:1px solid var(--line);padding-top:14px}
.people-interview-detail summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.05em;padding:2px 0}
.people-interview-detail summary::-webkit-details-marker{display:none}
.people-interview-detail summary i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf5f0;color:var(--green);font-size:15px;transition:transform .2s ease}
.people-interview-detail[open] summary i{transform:rotate(45deg)}
.people-interview-qa{display:grid;gap:17px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.people-interview-qa section{margin:0}
.people-interview-qa h4{margin:0 0 7px;color:var(--deep);font-size:11px;line-height:1.6}
.people-interview-qa p{margin:0 0 7px!important;color:var(--soft)!important;font-size:10.5px!important;line-height:1.9!important}
.people-interview-qa p:last-child{margin-bottom:0!important}

/* OSM embed places non-functional +/- controls on the right edge. Extend the iframe beyond the clipped map frame so those controls stay outside the visible area. */
.yp-area-map.yp-area-map--real{overflow:hidden}
.yp-area-map__tiles{left:0!important;right:-64px!important;width:calc(100% + 64px)!important;max-width:none!important}
@media(max-width:700px){
  .people-interview-card__body{padding:20px 18px 22px}
  .people-interview-card__lead{font-size:11.5px!important}
  .people-interview-detail summary{font-size:10px}
  .people-interview-qa h4{font-size:11px}
  .people-interview-qa p{font-size:10.5px!important}
  .yp-area-map__tiles{right:-56px!important;width:calc(100% + 56px)!important}
}


/* v1.0.17: recruit interview modal */
.people-interview-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f7fbf8;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.05em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.people-interview-trigger:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(23,76,59,.08);border-color:#bdd5c8}
.people-interview-trigger i{font-style:normal;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf5f0;color:var(--green);font-size:14px;flex:0 0 auto}
.people-interview-modal-source[hidden]{display:none!important}
.people-interview-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:22px}
.people-interview-modal[hidden]{display:none!important}
.people-interview-modal__backdrop{position:absolute;inset:0;background:rgba(8,31,24,.56);backdrop-filter:blur(6px)}
.people-interview-modal__dialog{position:relative;z-index:1;width:min(980px,100%);max-height:min(88vh,980px);overflow:auto;background:#fff;border-radius:28px;box-shadow:0 40px 90px rgba(6,26,20,.32)}
.people-interview-modal__close{position:sticky;top:16px;left:calc(100% - 62px);z-index:3;display:grid;place-items:center;width:42px;height:42px;margin:16px 16px 0 auto;border:0;border-radius:50%;background:#f0f5f2;color:var(--deep);font-size:24px;cursor:pointer;box-shadow:0 10px 24px rgba(23,76,59,.10)}
.people-interview-modal__body{padding:0 34px 34px}
.people-interview-modal__intro{display:grid;grid-template-columns:minmax(250px,300px) 1fr;gap:28px;align-items:start}
.people-interview-modal__photo .people-interview-card__photo{height:100%;min-height:360px;border-radius:24px;overflow:hidden}
.people-interview-modal__photo .people-interview-card__photo img{width:100%;height:100%;object-fit:cover}
.people-interview-modal__photo .people-interview-card__photo>span{left:18px;bottom:18px}
.people-interview-modal__head{padding-top:8px}
.people-interview-modal__head small{display:block;color:var(--green);font-size:12px;font-weight:900;line-height:1.7}
.people-interview-modal__head h3{margin:8px 0 14px;font-family:var(--serif);font-size:34px;line-height:1.3;color:var(--deep)}
.people-interview-modal__head .people-interview-card__lead{font-size:15px!important;line-height:1.9!important;margin:0!important;color:var(--deep)!important}
.people-interview-modal__content{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.people-interview-modal__content .people-interview-qa{gap:18px;margin:0;padding:0;border-top:0}
.people-interview-modal__content .people-interview-qa section{padding:18px 20px;border-radius:18px;background:#f8fbf9;border:1px solid #e2ece6}
.people-interview-modal__content .people-interview-qa h4{margin:0 0 9px;font-size:13px;line-height:1.7;color:var(--deep)}
.people-interview-modal__content .people-interview-qa p{margin:0 0 10px!important;font-size:12.5px!important;line-height:1.95!important;color:var(--soft)!important}
.people-interview-modal__content .people-interview-qa p:last-child{margin-bottom:0!important}
body.is-people-modal-open{overflow:hidden}
@media(max-width:900px){
  .people-interview-modal__body{padding:0 24px 24px}
  .people-interview-modal__intro{grid-template-columns:1fr;gap:20px}
  .people-interview-modal__photo .people-interview-card__photo{min-height:320px}
  .people-interview-modal__head h3{font-size:29px}
}
@media(max-width:700px){
  .people-interview-trigger{padding:13px 14px;font-size:10.5px}
  .people-interview-modal{padding:0}
  .people-interview-modal__dialog{width:100%;max-height:100dvh;border-radius:24px 24px 0 0;align-self:end}
  .people-interview-modal__close{top:12px;margin:12px 12px 0 auto;width:38px;height:38px;font-size:22px}
  .people-interview-modal__body{padding:0 18px 22px}
  .people-interview-modal__photo .people-interview-card__photo{min-height:280px;border-radius:20px}
  .people-interview-modal__head small{font-size:11px}
  .people-interview-modal__head h3{font-size:26px;margin:6px 0 12px}
  .people-interview-modal__head .people-interview-card__lead{font-size:13.5px!important;line-height:1.8!important}
  .people-interview-modal__content{margin-top:20px;padding-top:20px}
  .people-interview-modal__content .people-interview-qa section{padding:16px 15px;border-radius:16px}
  .people-interview-modal__content .people-interview-qa h4{font-size:12px}
  .people-interview-modal__content .people-interview-qa p{font-size:11.5px!important;line-height:1.9!important}
}


/* v1.0.18: interview modal reliability + whole-card click */
.people-interview-card[data-people-modal-target]{cursor:pointer;outline:none}
.people-interview-card[data-people-modal-target]:focus-visible{box-shadow:0 0 0 3px rgba(47,118,89,.24),0 15px 38px rgba(23,76,59,.08)}
.people-interview-card[data-people-modal-target]:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(23,76,59,.12)}
.people-interview-modal__head{display:block!important;visibility:visible!important;opacity:1!important;color:var(--deep)!important}
.people-interview-modal__head small,.people-interview-modal__head h3,.people-interview-modal__head p{display:block!important;visibility:visible!important;opacity:1!important}
.people-interview-modal__content{display:block!important;visibility:visible!important;opacity:1!important}
.people-interview-modal__content .people-interview-qa{display:grid!important;visibility:visible!important;opacity:1!important}
.people-interview-modal__dialog{overscroll-behavior:contain}
.people-interview-modal__intro{min-height:360px}
.people-interview-modal__photo{min-width:0}
.people-interview-modal__head{align-self:center;padding:24px 8px 24px 0!important}
@media(max-width:900px){
  .people-interview-modal__intro{min-height:0}
  .people-interview-modal__head{padding:0 2px 4px!important}
}


/* v1.0.19: facility area overview + interview hint */
.facility-area-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:stretch;margin-bottom:34px}
.facility-area-overview__intro,.facility-area-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 48px rgba(18,67,52,.06)}
.facility-area-overview__intro{padding:30px 32px}
.facility-area-overview__intro .eyebrow{margin-bottom:10px}
.facility-area-overview__intro h3{margin:0 0 14px;font-family:var(--serif);font-size:clamp(26px,2.4vw,36px);line-height:1.4;color:var(--deep)}
.facility-area-overview__intro p{margin:0;color:var(--soft);line-height:1.95}
.facility-area-overview__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.facility-area-card{padding:24px 24px 22px;background:linear-gradient(180deg,#ffffff,#f7fbf8)}
.facility-area-card__label{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#edf5f0;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.08em}
.facility-area-card strong{display:block;margin-top:18px;font-family:var(--serif);font-size:60px;line-height:1;color:var(--deep)}
.facility-area-card small{display:block;margin-top:6px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.08em}
.facility-area-card p{margin:16px 0 0;color:var(--soft);font-size:13px;line-height:1.9}
.facility-area-overview--page{margin-bottom:28px}
.people-interview-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin:0 0 22px;border-radius:18px;background:linear-gradient(135deg,#f7fbf8,#edf5f0);border:1px solid #d9e8df}
.people-interview-guide span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.1em;box-shadow:0 8px 20px rgba(23,76,59,.07)}
.people-interview-guide p{margin:0;color:var(--deep);font-size:13px;line-height:1.8;font-weight:700}
.people-interview-trigger{display:none!important}
.people-interview-card__hint{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);color:var(--green);font-size:11px;font-weight:900;letter-spacing:.05em}
.people-interview-card__hint i{font-style:normal;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf5f0;color:var(--green);font-size:14px;flex:0 0 auto}
@media(max-width:1000px){
  .facility-area-overview{grid-template-columns:1fr;gap:18px}
}
@media(max-width:700px){
  .facility-area-overview__intro,.facility-area-card{border-radius:22px}
  .facility-area-overview__intro{padding:22px 20px}
  .facility-area-overview__intro h3{font-size:24px}
  .facility-area-overview__stats{grid-template-columns:1fr;gap:14px}
  .facility-area-card{padding:20px 18px}
  .facility-area-card strong{font-size:50px}
  .people-interview-guide{display:block;padding:14px 16px;margin-bottom:18px}
  .people-interview-guide span{margin-bottom:10px}
  .people-interview-guide p{font-size:12px;line-height:1.8}
  .people-interview-card__hint{font-size:10.5px}
}


/* v1.0.21: facility detail Google Maps */
.facility-access-section{padding-top:10px}
.facility-access-title{align-items:end;margin-bottom:24px}
.facility-access-title h2{max-width:680px}
.facility-access-address{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:460px}
.facility-access-address span{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--green)}
.facility-access-address strong{font-size:14px;line-height:1.8;color:var(--deep)}
.facility-access-address a{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:10px 14px;border-radius:999px;background:#edf5f0;color:var(--green);font-size:11px;font-weight:900;transition:transform .2s ease,background .2s ease}
.facility-access-address a:hover{transform:translateY(-1px);background:#e2f0e8}
.facility-google-map{position:relative;width:100%;height:460px;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:#eef4ef;box-shadow:0 20px 52px rgba(18,67,52,.08)}
.facility-google-map iframe{display:block;width:100%;height:100%;border:0}
.facility-detail-access-note{background:linear-gradient(180deg,#f8fbf9,#eef6f1)}
@media(max-width:900px){
  .facility-access-title{display:block}
  .facility-access-address{margin-top:18px;max-width:none}
}
@media(max-width:700px){
  .facility-access-section{padding-top:0}
  .facility-access-title{margin-bottom:18px}
  .facility-access-title h2{font-size:clamp(27px,8vw,34px)!important;line-height:1.5!important}
  .facility-access-address strong{font-size:13px}
  .facility-google-map{height:340px;border-radius:22px}
}


/* v1.0.22: facility filters + home icon */
.facility-filter button{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.facility-filter button:hover{border-color:rgba(23,76,59,.35);transform:translateY(-1px)}
.facility-filter button:focus-visible{outline:3px solid rgba(79,138,114,.2);outline-offset:3px}
.facility-filter button.active{box-shadow:0 8px 20px rgba(23,76,59,.14)}
.facility-home-list a>span.facility-home-list__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:linear-gradient(145deg,#edf6f1,#dcece3);color:var(--deep);border:1px solid rgba(79,138,114,.16);box-shadow:0 7px 16px rgba(23,76,59,.07)}
.facility-home-list__icon svg{width:18px;height:18px;overflow:visible}
.facility-home-list__icon svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.facility-home-list a:hover .facility-home-list__icon{background:var(--deep);color:#fff;transform:translateY(-1px)}
.facility-home-list__icon{transition:background .2s ease,color .2s ease,transform .2s ease}
@media(max-width:700px){
  .facility-home-list a{grid-template-columns:34px 1fr 18px!important}
  .facility-home-list a>span.facility-home-list__icon{width:32px;height:32px;border-radius:10px}
  .facility-home-list__icon svg{width:17px;height:17px}
}


/* v1.0.23: robust facility filter visibility */
.facility-building-card.is-filter-hidden,.facility-card--location.is-filter-hidden{display:none !important}


/* v1.0.25: design polish 01-07 */
/* 02: break the repeated "white rounded card" rhythm in the area-intro block. */
.facility-area-overview__intro{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:30px 42px 30px 6px!important;
  align-self:center;
  position:relative;
}
.facility-area-overview__intro:before{
  content:"";
  position:absolute;
  left:-20px;
  top:32px;
  width:4px;
  height:72px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--green),var(--mint));
}

/* 05: make availability / opening-status badges easier to scan on featured homes. */
.facility-grid--featured .facility-card__badges{gap:9px;min-height:34px}
.facility-grid--featured .facility-inline-badge{
  padding:7px 11px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  border-width:1px!important;
  box-shadow:0 5px 14px rgba(23,76,59,.07);
}
.facility-grid--featured .facility-inline-badge--available{
  background:#fff0d7!important;
  color:#8e5000!important;
  border-color:#e7bd78!important;
}
.facility-grid--featured .facility-inline-badge--planned{
  background:#e5efff!important;
  color:#28558f!important;
  border-color:#adc7ec!important;
}
.facility-grid--featured .status{padding:6px 10px;font-size:10.5px}

/* 07: area-count cards now work as navigation / filtering controls. */
.facility-area-card--action{
  appearance:none;
  width:100%;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.facility-area-card--action:after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-48px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(79,138,114,.12),rgba(79,138,114,0) 72%);
  pointer-events:none;
}
.facility-area-card--action:hover,
.facility-area-card--action:focus-visible{
  transform:translateY(-4px);
  border-color:#c4d9ce;
  box-shadow:0 22px 46px rgba(18,67,52,.12);
  outline:none;
}
.facility-area-card--action.active{
  border-color:rgba(23,76,59,.36);
  box-shadow:0 18px 42px rgba(18,67,52,.12);
}
.facility-area-card__link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:var(--green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.facility-area-card__link i{font-style:normal;font-size:16px}

/* 04: improve text contrast across informational copy. */
.section-title.row>p,
.business-card p,
.facility-card p,
.facility-area-card p,
.facility-area-overview__intro p,
.people-interview-card__body p,
.role-visual p,
.food-care-panel p{color:var(--soft)}

/* 01 + 03: mobile density / typography refinement. */
@media(max-width:700px){
  .section-title h2{font-size:clamp(28px,7.6vw,36px)!important;line-height:1.48!important}
  .lower-hero h1{font-size:clamp(34px,9vw,40px)!important;line-height:1.42!important}
  .hero-v3 h1,.hero h1{font-size:clamp(39px,10.3vw,47px)!important;line-height:1.28!important}
  .portal-card h3{font-size:clamp(20px,5.8vw,25px)!important;line-height:1.5!important}
  .representative-message-heading{font-size:clamp(26px,7.1vw,32px)!important;line-height:1.56!important}
  .food-care-panel__lead h3,.role-visual h3,.site-video-caption h3{font-size:clamp(21px,6vw,26px)!important}

  .facility-area-overview__intro{padding:8px 6px 18px 14px!important}
  .facility-area-overview__intro:before{left:0;top:14px;height:54px;width:3px}

  .contact-float{right:9px!important;bottom:9px!important}
  .contact-float__link{
    grid-template-columns:34px auto 16px!important;
    gap:7px!important;
    min-height:52px!important;
    padding:6px 11px 6px 7px!important;
  }
  .contact-float__icon{width:34px!important;height:34px!important;font-size:14px!important}
  .contact-float__copy small{font-size:6px!important;letter-spacing:.14em!important}
  .contact-float__copy strong{font-size:10.5px!important;margin-top:2px!important}
  .contact-float__arrow{font-size:14px!important}

  .instagram-float{right:9px!important;bottom:67px!important;width:136px!important}
  .instagram-float__link{
    grid-template-columns:25px 1fr 12px!important;
    gap:6px!important;
    min-height:40px!important;
    padding:6px 8px 6px 6px!important;
    border-radius:12px!important;
  }
  .instagram-float__icon{width:25px!important;height:25px!important;border-radius:8px!important}
  .instagram-float__icon svg{width:15px!important;height:15px!important}
  .instagram-float__copy small{display:none!important}
  .instagram-float__copy strong{font-size:8.5px!important;line-height:1.25!important;margin:0!important}
  .instagram-float__arrow{font-size:11px!important}
  .instagram-float__close{width:18px!important;height:18px!important;font-size:11px!important;right:-5px!important;top:-7px!important}

  .facility-grid--featured .facility-inline-badge{font-size:10px!important;padding:6px 9px!important}
  .facility-area-card__link{font-size:10.5px}
}


/* v1.0.26: SEO/UX lower-page refinements */
html{scroll-behavior:smooth;scroll-padding-top:112px}
.page-anchor-nav{position:sticky;top:76px;z-index:35;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 10px 26px rgba(23,76,59,.05)}
.page-anchor-nav .container{display:flex;justify-content:center;gap:8px;padding-top:10px;padding-bottom:10px;overflow-x:auto;scrollbar-width:none}
.page-anchor-nav .container::-webkit-scrollbar{display:none}
.page-anchor-nav a{flex:0 0 auto;padding:9px 14px;border-radius:999px;color:var(--deep);font-size:12px;font-weight:800;white-space:nowrap;transition:background .2s ease,color .2s ease}
.page-anchor-nav a:hover{background:#edf5f0;color:var(--green)}
.special-support-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:26px;padding:24px 26px;border-radius:24px;background:#fff;border:1px solid #dce9e1;box-shadow:0 14px 34px rgba(23,76,59,.06)}
.special-support-cta span{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:6px}
.special-support-cta h3{margin:0;font-family:var(--serif);font-size:22px;line-height:1.55;color:var(--deep)}

.partners-support-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.partners-support-grid article{padding:26px 22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(23,76,59,.05)}
.partners-support-grid article>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#edf5f0;color:var(--green);font-size:11px;font-weight:900}
.partners-support-grid h3{font-family:var(--serif);font-size:21px;line-height:1.5;margin:16px 0 9px;color:var(--deep)}
.partners-support-grid p{margin:0;color:var(--soft);font-size:13px;line-height:1.9}
.partners-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding:28px 30px;border-radius:26px;background:linear-gradient(135deg,#143f32,#276b55);color:#fff}
.partners-cta span{font-size:9px;font-weight:900;letter-spacing:.13em;color:#c7e4d7}
.partners-cta h3{font-family:var(--serif);font-size:24px;margin:6px 0 8px;color:#fff}
.partners-cta p{margin:0;color:rgba(255,255,255,.78);font-size:13px}
.partners-cta .btn{background:#fff;color:var(--deep);flex:0 0 auto}

.business-status{display:inline-flex!important;width:auto!important;padding:7px 11px;border-radius:999px;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important}
.business-status--current{background:#e9f5ee;color:#267255!important}
.business-status--planned{background:#fff4dd;color:#9b671a!important}

.disclosure-year-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px 0 34px}
.disclosure-year-nav a{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--deep);font-size:12px;font-weight:800}
.disclosure-year-nav a:hover{background:#edf5f0}
.disclosure-year-section{margin-top:34px;padding-top:16px}
.disclosure-year-head{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.disclosure-year-head>span{font-family:var(--serif);font-size:48px;line-height:1;color:var(--green)}
.disclosure-year-head small{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.1em}
.disclosure-year-head h3{margin:3px 0 3px;font-family:var(--serif);font-size:24px;color:var(--deep)}
.disclosure-year-head p{margin:0;color:var(--soft);font-size:11px}

.yp-breadcrumb{padding:16px 0 0}
.yp-breadcrumb ol{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:11px;color:var(--soft)}
.yp-breadcrumb li{display:flex;align-items:center;gap:8px}
.yp-breadcrumb a{color:var(--green);font-weight:700}
.yp-breadcrumb li>span:not([aria-current]){opacity:.45}

.facility-overview-card{padding:30px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 48px rgba(23,76,59,.06)}
.facility-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.facility-facts article{padding:18px;border-radius:18px;background:#f6faf7;border:1px solid #e2ece6}
.facility-facts span{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:7px}
.facility-facts strong{display:block;color:var(--deep);font-size:13px;line-height:1.75}
.facility-overview-feature{margin-top:18px;padding:20px 22px;border-left:4px solid var(--green);background:#f9fbfa;border-radius:0 18px 18px 0}
.facility-overview-feature span{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:7px}
.facility-overview-feature p{margin:0;color:var(--deep);font-size:14px;line-height:1.95}
.facility-gallery--single{display:block!important}
.facility-gallery--single>img{width:100%;height:auto;max-height:680px;object-fit:cover;border-radius:28px}
.facility-detail-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 36px;border-radius:30px;background:linear-gradient(135deg,#edf7f1,#fff);border:1px solid #dbe8e0}
.facility-detail-cta .eyebrow{margin-bottom:8px}
.facility-detail-cta h2{font-family:var(--serif);font-size:clamp(28px,3vw,42px);margin:0 0 10px;color:var(--deep)}
.facility-detail-cta p{margin:0;color:var(--soft)}
.facility-detail-cta .btn{flex:0 0 auto}
.facility-filter a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--deep);border-radius:99px;padding:10px 20px;font-weight:800;cursor:pointer}
.facility-filter a.active{background:var(--deep);color:#fff;border-color:var(--deep)}
.facility-area-card.is-current{box-shadow:0 0 0 3px rgba(47,118,89,.16),0 18px 48px rgba(23,76,59,.08)}

.news-hero-title{font-family:var(--serif);font-size:clamp(34px,4vw,54px)!important;line-height:1.35!important;color:#fff!important;margin:10px 0 12px!important;font-weight:700}
.article-related-facilities{margin:34px 0;padding:24px;border-radius:22px;background:#f5faf7;border:1px solid #ddebe3}
.article-related-facilities>span{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.1em}
.article-related-facilities h2{font-family:var(--serif);font-size:22px;margin:6px 0 14px}
.article-related-facilities>div{display:flex;gap:10px;flex-wrap:wrap}
.article-related-facilities a{display:inline-flex;gap:10px;align-items:center;padding:10px 14px;border-radius:999px;background:#fff;color:var(--deep);font-size:12px;font-weight:800;border:1px solid var(--line)}
.article-related-facilities i{font-style:normal;color:var(--green)}

.privacy-agree{display:flex!important;align-items:flex-start;gap:10px;padding:16px 18px;border-radius:16px;background:#f6faf7;border:1px solid #dfeae4}
.privacy-agree input{width:18px!important;height:18px!important;min-width:18px;margin-top:3px}
.privacy-agree span{font-size:12px;line-height:1.7;color:var(--deep)}
.privacy-agree a{color:var(--green);text-decoration:underline;font-weight:800}
.form-mock label small{color:var(--soft);font-weight:500;margin-left:5px}

/* About: the central promise is treated as a visual quote, especially on mobile. */
.message-key-quote{position:relative;border-left:0!important;background:linear-gradient(135deg,#edf7f1,#fff)!important;border:1px solid #d9e8df!important;border-radius:24px!important;padding:28px 30px!important;font-family:var(--serif)!important;font-size:clamp(22px,2.3vw,30px)!important;line-height:1.7!important;color:var(--deep)!important;box-shadow:0 15px 38px rgba(23,76,59,.05)}
.message-key-quote:before{content:'“';position:absolute;left:16px;top:-12px;font-family:Georgia,serif;font-size:58px;color:rgba(47,118,89,.18)}

@media(max-width:1000px){
  .partners-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facility-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  html{scroll-padding-top:96px}
  .page-anchor-nav{top:66px}
  .page-anchor-nav .container{justify-content:flex-start;padding-left:18px;padding-right:18px}
  .page-anchor-nav a{font-size:11px;padding:8px 12px}
  .special-support-cta,.partners-cta,.facility-detail-cta{display:block;padding:22px 20px;border-radius:22px}
  .special-support-cta h3,.partners-cta h3{font-size:20px}
  .special-support-cta .btn,.partners-cta .btn,.facility-detail-cta .btn{width:100%;margin-top:18px;text-align:center;justify-content:center}
  .partners-support-grid{grid-template-columns:1fr;gap:12px}
  .partners-support-grid article{padding:22px 18px}
  .disclosure-year-head>span{font-size:40px}
  .disclosure-year-head h3{font-size:21px}
  .yp-breadcrumb{padding-top:12px}
  .yp-breadcrumb ol{font-size:10px;gap:6px}
  .facility-overview-card{padding:22px 18px;border-radius:22px}
  .facility-facts{grid-template-columns:1fr;gap:10px}
  .facility-facts article{padding:15px 16px}
  .facility-gallery--single>img{border-radius:22px;max-height:480px}
  .facility-detail-cta h2{font-size:28px}
  .facility-filter a{font-size:11px;padding:9px 13px}
  .message-key-quote{padding:25px 20px!important;font-size:clamp(21px,6.2vw,27px)!important;line-height:1.75!important}
  .article-related-facilities{padding:20px 16px}
}

/* v1.0.27: single-page facility filters + admin-driven ordering */
.facility-filter-panel{display:grid;gap:14px;margin:38px 0 26px;padding:18px 20px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 12px 30px rgba(23,76,59,.05);scroll-margin-top:110px}
.facility-filter-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.facility-filter-label{min-width:72px;color:var(--deep);font-size:12px;font-weight:900;letter-spacing:.06em}
.facility-filter-panel .facility-filter{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:0}
.facility-filter-panel .facility-filter button{appearance:none;border:1px solid var(--line);background:#fff;color:var(--deep);border-radius:999px;padding:10px 18px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.facility-filter-panel .facility-filter button:hover{border-color:rgba(23,76,59,.35);transform:translateY(-1px)}
.facility-filter-panel .facility-filter button.active{background:var(--deep);color:#fff;border-color:var(--deep);box-shadow:0 8px 20px rgba(23,76,59,.14)}
.facility-filter-panel .facility-filter button:focus-visible{outline:3px solid rgba(79,138,114,.2);outline-offset:3px}
.facility-area-card[type="button"]{appearance:none;width:100%;font:inherit;text-align:left;border:1px solid var(--line);cursor:pointer}
.facility-area-card[type="button"].is-current{border-color:rgba(23,76,59,.42);box-shadow:0 18px 42px rgba(23,76,59,.12)}
.facility-home-list a.is-filter-hidden,.facility-building-card.is-filter-hidden{display:none!important}
.facility-filter-empty{margin:0 0 24px;padding:20px 22px;border-radius:18px;background:#f6faf7;border:1px solid #dfeae4;color:var(--deep)}
.facility-filter-empty strong{display:block;margin-bottom:6px;font-size:16px}
.facility-filter-empty p{margin:0;color:var(--soft);font-size:13px}
@media(max-width:700px){
  .facility-filter-panel{gap:16px;margin:28px 0 20px;padding:16px;border-radius:20px;scroll-margin-top:88px}
  .facility-filter-row{display:block}
  .facility-filter-label{display:block;margin:0 0 9px;font-size:11px}
  .facility-filter-panel .facility-filter{gap:8px}
  .facility-filter-panel .facility-filter button{font-size:11px;padding:9px 13px}
}

/* 05: improve readability of food commitment intro copy on dark background. */
.food-care-panel__lead p{
  color:#e8f2ed !important;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.food-care-note{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#dce9e2 !important;
  line-height:1.85;
  text-shadow:0 1px 0 rgba(0,0,0,.06);
}
@media(max-width:700px){
  .food-care-note{
    display:block;
    padding:10px 12px;
  }
}

/* v1.0.32: improve mobile spacing on single news/article pages */
@media (max-width:700px){
  .article.section{
    padding-top:56px;
  }
  .article-inner{
    width:100%;
    max-width:none;
    padding-left:16px;
    padding-right:16px;
  }
  .article-meta{
    gap:12px;
    flex-wrap:wrap;
  }
  .article h1{
    margin-top:14px;
    margin-bottom:20px;
  }
  .article img{
    margin:24px 0;
    border-radius:20px;
  }
  .yp-article-content{
    font-size:15px;
    line-height:2;
  }
  .article-related-facilities{
    margin:28px 0;
  }
}


/* v1.0.38: recruit photo framing refinements */
/* List cards only: keep heads comfortably inside the rounded photo frame. Modal/detail views are intentionally unaffected. */
.people-interview-grid .people-interview-card--ohno .people-interview-card__photo img{object-position:50% 6%}
.people-interview-grid .people-interview-card--kawazu .people-interview-card__photo img{object-position:50% 18%}
.people-interview-grid .people-interview-card--akase .people-interview-card__photo img{object-position:50% 0%}
.people-interview-grid .people-interview-card--takahashi .people-interview-card__photo img{object-position:50% 4%}

/* Landscape interview photos: use a deliberate wide composition instead of leaving empty space below the image. */
.people-interview-modal--landscape .people-interview-modal__intro{display:block;min-height:0}
.people-interview-modal--landscape .people-interview-modal__photo{width:100%}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo{
  position:relative;
  width:100%;
  height:clamp(270px,34vw,350px);
  min-height:0;
  border-radius:24px;
  overflow:hidden;
}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo:after{inset:58% 0 0}
.people-interview-modal--landscape .people-interview-modal__head{
  display:grid!important;
  grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);
  grid-template-rows:auto auto;
  column-gap:32px;
  row-gap:2px;
  align-items:center;
  padding:22px 4px 0;
}
.people-interview-modal--landscape .people-interview-modal__head small{grid-column:1;grid-row:1;margin:0}
.people-interview-modal--landscape .people-interview-modal__head h3{grid-column:1;grid-row:2;margin:4px 0 0}
.people-interview-modal--landscape .people-interview-modal__head .people-interview-card__lead{
  grid-column:2;
  grid-row:1 / 3;
  align-self:center;
  padding-left:30px;
  border-left:1px solid var(--line);
}
@media(max-width:700px){
  .people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo{height:245px;border-radius:20px}
  .people-interview-modal--landscape .people-interview-modal__head{display:block!important;padding:17px 2px 0}
  .people-interview-modal--landscape .people-interview-modal__head h3{margin:5px 0 10px}
  .people-interview-modal--landscape .people-interview-modal__head .people-interview-card__lead{padding-left:0;border-left:0}
}

.people-interview-modal--landscape.people-interview-modal--kawazu .people-interview-modal__photo .people-interview-card__photo img{object-position:50% 10%}
.people-interview-modal--landscape.people-interview-modal--maeda .people-interview-modal__photo .people-interview-card__photo img{object-position:50% 20%}

/* v1.0.40: final fixes for recruit cards and landscape detail modals */
.people-interview-grid .people-interview-card--ohno .people-interview-card__photo img{object-position:50% 6%!important}
.people-interview-grid .people-interview-card--akase .people-interview-card__photo img{object-position:50% 0%!important}
.people-interview-grid .people-interview-card--takahashi .people-interview-card__photo img{object-position:50% 4%!important}

.people-interview-modal--landscape .people-interview-modal__intro{display:grid!important;grid-template-columns:minmax(360px,460px) minmax(0,1fr)!important;gap:40px!important;align-items:center!important;min-height:0!important}
.people-interview-modal--landscape .people-interview-modal__photo{width:100%!important;min-width:0!important}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo{height:320px!important;min-height:320px!important;border-radius:24px!important;overflow:hidden!important;background:#e8eee9!important}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo:after{display:none!important;content:none!important}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;filter:saturate(.82)!important}
.people-interview-modal--landscape.people-interview-modal--kawazu .people-interview-modal__photo .people-interview-card__photo img{object-position:50% 10%!important}
.people-interview-modal--landscape.people-interview-modal--maeda .people-interview-modal__photo .people-interview-card__photo img{object-position:50% 20%!important}
.people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo>span{left:18px!important;bottom:18px!important;z-index:2!important}
.people-interview-modal--landscape .people-interview-modal__head{display:block!important;padding:0!important;align-self:center!important}
.people-interview-modal--landscape .people-interview-modal__head small{display:block!important;margin:0 0 12px!important}
.people-interview-modal--landscape .people-interview-modal__head h3{display:block!important;margin:0 0 18px!important}
.people-interview-modal--landscape .people-interview-modal__head .people-interview-card__lead{display:block!important;margin:0!important;padding:0!important;border-left:0!important}
@media(max-width:1000px){
  .people-interview-modal--landscape .people-interview-modal__intro{grid-template-columns:1fr!important;gap:22px!important;align-items:start!important}
  .people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo{height:300px!important;min-height:300px!important}
}
@media(max-width:700px){
  .people-interview-modal--landscape .people-interview-modal__intro{grid-template-columns:1fr!important;gap:18px!important}
  .people-interview-modal--landscape .people-interview-modal__photo .people-interview-card__photo{height:260px!important;min-height:260px!important;border-radius:20px!important}
  .people-interview-modal--landscape .people-interview-modal__head{padding:0 2px!important}
}

/* v1.0.44: list-card portrait framing */
.people-interview-grid .people-interview-card--matsuki .people-interview-card__photo img,
.people-interview-grid .people-interview-card--ohno .people-interview-card__photo img,
.people-interview-grid .people-interview-card--kawazu .people-interview-card__photo img,
.people-interview-grid .people-interview-card--maeda .people-interview-card__photo img{object-position:50% 50%!important;}


/* 2026-09-18 interview detail photo adjustments */
.people-interview-modal--portrait-fit .people-interview-modal__intro{display:grid!important;grid-template-columns:minmax(320px,400px) minmax(0,1fr)!important;gap:40px!important;align-items:center!important;min-height:0!important;}
.people-interview-modal--portrait-fit .people-interview-modal__photo{width:100%!important;min-width:0!important;}
.people-interview-modal--portrait-fit .people-interview-modal__photo .people-interview-card__photo{height:460px!important;min-height:460px!important;border-radius:24px!important;overflow:hidden!important;background:#e8eee9!important;}
.people-interview-modal--portrait-fit .people-interview-modal__photo .people-interview-card__photo:after{display:none!important;content:none!important;}
.people-interview-modal--portrait-fit .people-interview-modal__photo .people-interview-card__photo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;filter:saturate(.82)!important;background:#e8eee9!important;}
.people-interview-modal--portrait-fit .people-interview-modal__photo .people-interview-card__photo>span{left:18px!important;bottom:18px!important;z-index:2!important;}
.people-interview-modal--portrait-fit .people-interview-modal__head{display:block!important;padding:0!important;align-self:center!important;}
.people-interview-modal--portrait-fit .people-interview-modal__head small{display:block!important;margin:0 0 12px!important;}
.people-interview-modal--portrait-fit .people-interview-modal__head h3{display:block!important;margin:0 0 18px!important;}
.people-interview-modal--portrait-fit .people-interview-modal__head .people-interview-card__lead{display:block!important;margin:0!important;padding:0!important;border-left:0!important;}
@media (max-width: 1024px){.people-interview-modal--portrait-fit .people-interview-modal__intro{grid-template-columns:1fr!important;gap:22px!important;align-items:start!important;}.people-interview-modal--portrait-fit .people-interview-modal__photo .people-interview-card__photo{height:380px!important;min-height:380px!important;}}
@media (max-width: 767px){.people-interview-modal--portrait-fit .people-interview-modal__intro{grid-template-columns:1fr!important;gap:18px!important;}.people-interview-modal--portrait-fit .people-interview-modal__photo .people-interview-card__photo{height:320px!important;min-height:320px!important;border-radius:20px!important;}.people-interview-modal--portrait-fit .people-interview-modal__head{padding:0 2px!important;}}


/* v1.0.53: mobile hero image + stacked copy while keeping desktop video */
@media(max-width:700px){
  .hero{display:block;height:auto;min-height:0;color:var(--deep);background:var(--cream);padding-bottom:18px;overflow:visible}
  .hero-v3{background:var(--cream);align-items:stretch}
  .hero-v3 .hero-media{position:relative;inset:auto;height:min(58svh,520px);min-height:360px;overflow:hidden;border-radius:0 0 28px 28px;box-shadow:0 20px 45px rgba(23,76,59,.12)}
  .hero-v3 .hero-media video{display:none}
  .hero-v3 .hero-mobile-image{display:block}
  .hero-v3 .hero-overlay{background:linear-gradient(180deg,rgba(14,57,44,.10) 0%,rgba(14,57,44,.18) 44%,rgba(14,57,44,.56) 100%)}
  .hero-v3 .hero-inner{padding-top:22px!important;padding-bottom:0!important;color:var(--deep)}
  .hero-v3 .eyebrow.light{color:var(--green)!important;margin-bottom:10px}
  .hero-v3 h1{color:var(--deep)!important;margin-bottom:16px!important}
  .hero-v3 h1 em{color:var(--deep)!important}
  .hero-v3 .hero-lead{max-width:none!important;margin-top:0;color:var(--soft);font-size:15px!important;line-height:1.95!important}
  .hero-v3 .hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px!important}
  .hero-v3 .hero-tags span{background:#fff;color:var(--deep);border:1px solid rgba(23,76,59,.18);box-shadow:0 10px 24px rgba(23,76,59,.06);padding:8px 13px;font-size:11px}
  .hero-v3 .hero-actions{flex-direction:column;gap:10px;margin-top:24px!important}
  .hero-v3 .hero-actions .btn{width:100%;min-height:60px;font-size:16px}
  .hero-v3 .hero-actions .ghost-light{background:#fff;color:var(--deep);border:1px solid rgba(23,76,59,.22)}
}


/* v1.0.54: keep SP hero video, show more of the footage by shifting copy lower */
@media(max-width:700px){
  .hero{display:flex!important;height:auto!important;min-height:calc(100svh - 70px)!important;color:#fff!important;background:transparent!important;padding-bottom:0!important;overflow:hidden!important}
  .hero-v3{align-items:flex-end!important;background:transparent!important}
  .hero-v3 .hero-media{position:absolute!important;inset:0!important;height:auto!important;min-height:0!important;overflow:hidden!important;border-radius:0!important;box-shadow:none!important}
  .hero-v3 .hero-media video{display:block!important}
  .hero-v3 .hero-mobile-image{display:none!important}
  .hero-v3 .hero-overlay{background:linear-gradient(180deg,rgba(12,55,41,.08) 0%,rgba(12,55,41,.16) 24%,rgba(12,55,41,.48) 50%,rgba(12,55,41,.82) 100%)!important}
  .hero-v3 .hero-inner{padding-top:min(43svh,315px)!important;padding-bottom:26px!important;color:#fff!important}
  .hero-v3 .eyebrow.light{color:#dcefe4!important;margin-bottom:10px!important}
  .hero-v3 h1{color:#fff!important;font-size:clamp(36px,9.6vw,44px)!important;line-height:1.22!important;margin-bottom:16px!important}
  .hero-v3 h1 em{color:#eef7f1!important}
  .hero-v3 .hero-lead{max-width:none!important;margin-top:0!important;color:rgba(255,255,255,.94)!important;font-size:15px!important;line-height:1.9!important}
  .hero-v3 .hero-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:16px!important}
  .hero-v3 .hero-tags span{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.38)!important;box-shadow:none!important;backdrop-filter:blur(8px)!important;padding:8px 12px!important;font-size:11px!important}
  .hero-v3 .hero-actions{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:22px!important}
  .hero-v3 .hero-actions .btn{width:100%!important;min-height:58px!important}
  .hero-v3 .hero-actions .ghost-light{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.52)!important}
}
@media(max-width:374px){
  .hero-v3 .hero-inner{padding-top:min(46svh,320px)!important}
  .hero-v3 h1{font-size:clamp(34px,9.4vw,40px)!important}
  .hero-v3 .hero-lead{font-size:14px!important}
}


/* v1.0.56: SP top FV prioritizes video, keeps only primary CTA in-video */
.hero-mobile-followup{display:none}
@media(max-width:700px){
  .hero-v3 .hero-inner{padding-top:min(53svh,380px)!important;padding-bottom:22px!important}
  .hero-v3 h1{max-width:7.2em}
  .hero-lead--desktop,.hero-tags--desktop{display:none!important}
  .hero-v3 .hero-actions{margin-top:18px!important}
  .hero-v3 .hero-actions .hero-action-secondary{display:none!important}
  .hero-v3 .hero-actions .btn{width:100%!important;min-height:56px!important;font-size:17px!important}
  .hero-v3 .eyebrow.light{font-size:10px!important;letter-spacing:.12em!important}
  .hero-v3 .hero-overlay{background:linear-gradient(180deg,rgba(12,55,41,.03) 0%,rgba(12,55,41,.10) 24%,rgba(12,55,41,.30) 50%,rgba(12,55,41,.78) 100%)!important}

  .hero-mobile-followup{display:block;background:var(--cream);padding:18px 0 8px}
  .hero-mobile-followup__inner{display:grid;gap:14px}
  .hero-mobile-followup__lead{margin:0;color:var(--soft);font-size:14px;line-height:1.9}
  .hero-mobile-followup__tags{display:flex;flex-wrap:wrap;gap:8px}
  .hero-mobile-followup__tags span{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(23,76,59,.12);box-shadow:0 8px 20px rgba(23,76,59,.05);color:var(--deep);font-size:11px;font-weight:700;line-height:1.5}
  .hero-mobile-followup__actions .btn{width:100%;min-height:54px}
  .portal.section{padding-top:54px}
}
@media(max-width:374px){
  .hero-v3 .hero-inner{padding-top:min(56svh,388px)!important}
  .hero-mobile-followup__lead{font-size:13px}
  .hero-mobile-followup__tags span{font-size:10.5px;padding:7px 11px}
}


/* v1.0.57: cache-safe mobile hero fix */
.hero-mobile-followup{display:none!important}
.hero-desktop-supplement{display:block}
@media(max-width:700px){
  .hero-desktop-supplement{display:none!important}
  .hero-mobile-followup{display:block!important;background:var(--cream);padding:18px 0 8px}
  .hero-mobile-followup__inner{display:grid;gap:14px}
  .hero-mobile-followup__lead{margin:0;color:var(--soft);font-size:14px;line-height:1.9}
  .hero-mobile-followup__tags{display:flex;flex-wrap:wrap;gap:8px}
  .hero-mobile-followup__tags span{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(23,76,59,.12);box-shadow:0 8px 20px rgba(23,76,59,.05);color:var(--deep);font-size:11px;font-weight:700;line-height:1.5}
  .hero-mobile-followup__actions .btn{width:100%;min-height:54px}
  .hero-v3 .hero-inner{padding-top:min(53svh,380px)!important;padding-bottom:22px!important}
  .hero-v3 .hero-overlay{background:linear-gradient(180deg,rgba(12,55,41,.03) 0%,rgba(12,55,41,.10) 24%,rgba(12,55,41,.30) 50%,rgba(12,55,41,.78) 100%)!important}
  .hero-v3 .hero-actions{margin-top:18px!important}
  .hero-v3 .hero-actions .hero-action-secondary{display:none!important}
  .hero-v3 .hero-actions .btn{width:100%!important;min-height:56px!important;font-size:17px!important}
  .portal.section{padding-top:54px}
}
@media(max-width:374px){
  .hero-mobile-followup__lead{font-size:13px}
  .hero-mobile-followup__tags span{font-size:10.5px;padding:7px 11px}
}


/* v1.0.58: mobile hero typography and side-by-side CTAs */
@media(max-width:700px){
  .hero-v3 .hero-inner{padding-top:min(33svh,220px)!important;padding-bottom:16px!important}
  .hero-v3 h1{font-size:clamp(27px,7.9vw,34px)!important;line-height:1.12!important;letter-spacing:-.04em!important;max-width:none!important;white-space:nowrap}
  .hero-v3 .eyebrow.light{margin-bottom:12px!important;font-size:11px!important}
  .hero-v3 .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important;align-items:stretch}
  .hero-v3 .hero-actions .hero-action-secondary{display:flex!important}
  .hero-v3 .hero-actions .btn{width:100%!important;min-height:52px!important;font-size:14px!important;line-height:1.2!important;padding:0 10px!important;white-space:nowrap!important;border-radius:999px!important;justify-content:center!important}
  .hero-v3 .hero-actions .ghost-light{border-width:1.5px!important}
  .hero-mobile-followup{padding:14px 0 6px!important}
  .hero-mobile-followup__inner{gap:12px!important}
  .hero-mobile-followup__lead{font-size:13px!important;line-height:1.85!important}
  .hero-mobile-followup__tags span{font-size:10.5px!important}
}
@media(max-width:430px){
  .hero-v3 .hero-inner{padding-top:min(30svh,205px)!important}
  .hero-v3 h1{font-size:clamp(26px,7.7vw,31px)!important}
}
@media(max-width:374px){
  .hero-v3 .hero-inner{padding-top:min(29svh,190px)!important}
  .hero-v3 h1{font-size:25px!important}
  .hero-v3 .hero-actions .btn{font-size:13px!important;min-height:50px!important;padding:0 8px!important}
}


/* v1.0.59: mobile FV line control and button labels */
.hero-v3 h1 span{display:block}
@media(max-width:700px){
  .hero-v3 .hero-inner{padding-top:min(38svh,260px)!important;padding-bottom:14px!important}
  .hero-v3 h1{font-size:clamp(24px,7.1vw,29px)!important;line-height:1.18!important;letter-spacing:-.04em!important;white-space:normal!important;max-width:10.8em!important}
  .hero-v3 h1 span{display:block;white-space:nowrap}
  .hero-v3 .hero-actions{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important}
  .hero-v3 .hero-actions .btn{font-size:13px!important;min-height:50px!important;padding:0 8px!important;white-space:nowrap!important}
  .hero-v3 .hero-actions .hero-action-secondary{display:flex!important}
}
@media(max-width:430px){
  .hero-v3 .hero-inner{padding-top:min(41svh,280px)!important}
  .hero-v3 h1{font-size:clamp(23px,6.9vw,27px)!important;max-width:11.2em!important}
  .hero-v3 .hero-actions .btn{font-size:12.5px!important}
}
@media(max-width:374px){
  .hero-v3 .hero-inner{padding-top:min(42svh,288px)!important}
  .hero-v3 h1{font-size:22px!important;max-width:11.4em!important}
  .hero-v3 .hero-actions .btn{font-size:12px!important;min-height:48px!important}
}


/* v1.0.60: wording fix, mobile portal card density, updated recruit banner */
@media(max-width:700px){
  .portal-card{height:auto!important;min-height:0!important;padding:24px 24px 18px!important}
  .portal-card h3{margin:0 0 10px!important}
  .portal-card p{line-height:1.75!important}
  .portal-card b{margin-top:18px!important;padding-top:12px!important}

  .recruit-banner-v3{min-height:720px!important;align-items:flex-start!important}
  .recruit-banner-v3 .responsive-photo img{object-position:62% center!important}
  .recruit-banner-v3:after{background:linear-gradient(90deg,rgba(8,43,33,.84),rgba(8,43,33,.22))!important}
  .recruit-banner-v3 .container{padding-top:64px!important;padding-bottom:56px!important}
}
@media(min-width:701px){
  .recruit-banner-v3{min-height:620px!important}
  .recruit-banner-v3 .responsive-photo img{object-position:center center!important}
  .recruit-banner-v3:after{background:linear-gradient(90deg,rgba(8,43,33,.88),rgba(8,43,33,.18))!important}
}


/* v1.0.61: wording fix + tighter mobile portal cards */
@media(max-width:700px){
  .portal-grid{gap:14px!important}
  .portal-card{height:auto!important;min-height:0!important;padding:24px 24px 18px!important;display:block!important}
  .portal-card h3{margin:0 0 10px!important}
  .portal-card p{margin:0!important;font-size:13.5px!important;line-height:1.8!important;max-width:none!important}
  .portal-card b{display:inline-flex!important;margin-top:14px!important;padding-top:12px!important;border-top:1px solid rgba(79,138,114,.14)!important}
  .portal-card.recruit b{border-top-color:rgba(255,255,255,.16)!important}
}

/* v1.0.64: facility floor plan */
.facility-floorplan-section{background:linear-gradient(180deg,#f7faf8 0%,#fff 100%)}
.facility-floorplan-card{padding:26px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 48px rgba(23,76,59,.06)}
.facility-floorplan-card__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.facility-floorplan-card__header span{display:block;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:6px}
.facility-floorplan-card__header strong{display:block;color:var(--deep);font-family:var(--serif);font-size:clamp(24px,3vw,38px);line-height:1.25}
.facility-floorplan-card__action{flex:0 0 auto;background:#fff;color:var(--deep);border:1px solid #cfe0d6;box-shadow:none}
.facility-floorplan-card__image{display:block;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#f5f7f4;text-decoration:none}
.facility-floorplan-card__image img{display:block;width:100%;height:auto}
.facility-floorplan-card__note{margin:14px 4px 0;color:var(--soft);font-size:12px;line-height:1.8}
@media(max-width:700px){
  .facility-floorplan-card{padding:18px;border-radius:22px}
  .facility-floorplan-card__header{display:block;margin-bottom:14px}
  .facility-floorplan-card__header strong{font-size:26px}
  .facility-floorplan-card__action{display:flex;width:100%;margin-top:14px;justify-content:center}
  .facility-floorplan-card__image{border-radius:18px}
  .facility-floorplan-card__note{font-size:11px;margin-top:12px}
}


/* v1.0.65: INTERVIEW 02 mobile repaint stabilization */
@media(max-width:767px){
  .people-interview-modal--ohno .people-interview-modal__photo{
    min-width:0!important;
  }
  .people-interview-modal--ohno .people-interview-modal__photo .people-interview-card__photo{
    position:relative!important;
    height:320px!important;
    min-height:320px!important;
    max-height:320px!important;
    overflow:hidden!important;
    contain:paint;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
  .people-interview-modal--ohno .people-interview-modal__photo .people-interview-card__photo img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}


/* v1.0.67: FV accent split + mobile interview carousel */
.hero-v3 h1 span:last-child{
  color:#fff!important;
}
.hero-v3 h1 .hero-accent-text{
  color:var(--green)!important;
  font-style:normal;
}
.hero-v3 h1 .hero-ending-text{
  color:#fff!important;
  font-style:normal;
}

.people-interview-pagination{display:none}
@media(max-width:700px){
  .people-interview-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 4px 12px!important;
    margin:0 -4px;
    touch-action:pan-x pan-y;
  }
  .people-interview-grid::-webkit-scrollbar{display:none}
  .people-interview-grid>.people-interview-card{
    flex:0 0 calc(100% - 22px)!important;
    width:calc(100% - 22px)!important;
    min-width:0!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .people-interview-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:8px;
    min-height:24px;
  }
  .people-interview-pagination button{
    appearance:none;
    -webkit-appearance:none;
    width:8px;
    height:8px;
    padding:0;
    border:1.5px solid #9eb9ac;
    border-radius:50%;
    background:transparent;
    cursor:pointer;
    transition:width .2s ease,background .2s ease,transform .2s ease;
  }
  .people-interview-pagination button.is-active{
    width:10px;
    height:10px;
    background:var(--green);
    border-color:var(--green);
    transform:scale(1.06);
  }
  .people-interview-pagination button:focus-visible{
    outline:2px solid var(--deep);
    outline-offset:3px;
  }
}


/* v1.0.68: facility plan/status updates + requested mobile line breaks */
.facility-area-card__planned{display:block;margin:6px 0 0;color:#9a6415;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.03em}
@media(max-width:700px){
  .partners-decision-heading{font-size:clamp(19px,5.2vw,21px)!important;line-height:1.65!important;letter-spacing:-.02em!important}
  .partners-decision-heading span{display:block!important;white-space:nowrap!important}
  .logo-meaning-message strong .br-mobile{display:block!important}
  .mvv-core-grid h3 .br-mobile,.group-business-main-title .br-mobile,.group-list h3 .br-mobile,.facility-area-overview__intro h3 .br-mobile,.section-title h2 .br-mobile{display:block!important}
}

@media(max-width:700px){
  .about-mission-heading{font-size:clamp(20px,5.6vw,22px)!important;line-height:1.65!important}
  .about-mission-heading .nowrap-mobile{white-space:nowrap!important}
  .group-business-main-title{font-size:clamp(30px,8.4vw,34px)!important;line-height:1.55!important}
  .group-business-main-title .nowrap-mobile{white-space:nowrap!important}
  .group-future-heading .nowrap-mobile{white-space:nowrap!important}
}


/* v1.0.71: SP logo message - keep original size, change line break only */
@media(max-width:700px){
  .logo-meaning-message strong{font-size:14px!important;line-height:1.6!important}
  .logo-meaning-message strong .nowrap-mobile{display:block!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important;margin:0!important;white-space:nowrap!important}
  .logo-meaning-message strong .br-mobile{display:none!important}
}

/* v1.0.72: responsive FV movie. PC source remains unchanged; SP selects the vertical movie via <source media>. */
@media(max-width:700px){
  .hero-v3 .hero-media video{object-position:center center!important}
}

/* v1.0.74: third region, pre-opening photography and geographically anchored map. */
.facility-area-overview--three{grid-template-columns:1fr}
.facility-area-overview--three .facility-area-overview__stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.facility-area-overview--three .facility-area-overview__intro h3{overflow-wrap:anywhere}
.facility-area-overview--three .facility-area-card{min-width:0}
.facility-building-card--kadoma .facility-building-card__visual{background:#eef2ed}
/* v1.0.75: match the existing directory image frame; retain the full photo on the detail page. */
.yp-facility-buildings .facility-building-card--kadoma .facility-building-card__visual img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}
.facility-detail--kadoma .facility-gallery--single>img{aspect-ratio:auto!important;height:auto;max-height:760px;min-height:0;object-fit:contain;background:#eef2ed}
.facility-detail--kadoma .facility-detail-hero{background-size:cover,contain;background-position:center,right center;background-repeat:no-repeat;background-color:#104231}
.facility-facts strong{overflow-wrap:anywhere}
.yp-map-legend--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.yp-map-legend--three ol{grid-template-columns:1fr}
.yp-map-legend--three h3 span{display:block;margin:6px 0 0}
.yp-area-map.yp-area-map--geographic{height:510px;isolation:isolate;background:#eaf0e9}
.yp-geographic-tiles{position:absolute;inset:0;overflow:hidden}
.yp-geographic-tiles img{position:absolute!important;max-width:none!important;border-radius:0!important;object-fit:fill!important;margin:0!important}
.yp-map-leaders{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.yp-map-leaders line{stroke:#315c48;stroke-width:1.5}
.yp-map-leaders circle{fill:#315c48;stroke:white;stroke-width:1}
.yp-area-map--geographic .yp-map-pin{visibility:hidden}
.yp-area-map--geographic.is-map-ready .yp-map-pin{visibility:visible}
.yp-area-map--geographic .yp-map-pin>span{height:30px;min-width:32px;font-size:9px;transform:none;border-radius:14px;padding:0 6px}
.yp-area-map--geographic .yp-map-pin>small{top:34px;font-size:9px;max-width:none}
.yp-area-map--geographic .yp-map-pin:hover,.yp-area-map--geographic .yp-map-pin:focus-visible{z-index:12}
.yp-map-pin--kadoma>span{background:#9a6415!important}
.yp-map-attribution{position:absolute;bottom:0;right:0;z-index:15;background:rgba(255,255,255,.95);padding:3px 7px;font-size:10px}
.facility-home-list a[id],.facility-building-card[id]{scroll-margin-top:120px}
@media(max-width:700px){
  .facility-area-overview--three .facility-area-overview__stats,.yp-map-legend--three{grid-template-columns:1fr}
  .facility-area-overview--three .facility-area-overview__intro h3{font-size:23px;line-height:1.65}
  .facility-detail--kadoma .facility-gallery--single>img{max-height:none;min-height:0}
  .yp-area-map.yp-area-map--geographic{height:340px}
  .yp-area-map--geographic .yp-map-pin>span{height:25px;min-width:27px;font-size:8px;padding:0 4px}
  .yp-area-map--geographic .yp-map-pin>small{font-size:8px;top:28px;padding:3px 4px}
}

.yp-area-map--geographic .yp-map-google-link{bottom:28px;right:12px}
