
:root{
  --ink:#15362e; --green:#0f654f; --green2:#1d7a64; --navy:#223e55;
  --paper:#fffdfa; --cream:#fbf6e9; --yellow:#e7bf4a; --red:#c94c42;
  --line:#d9e2dd; --muted:#67746e; --blue:#405c78;
  --shadow:0 9px 25px rgba(29,54,46,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#23332e;background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.wrap{width:min(1160px,calc(100% - 34px));margin:auto}
.utility{background:#f3f6f4;border-bottom:1px solid #dfe6e2;font-size:12px;color:#53645d}
.utility .wrap{height:32px;display:flex;align-items:center;justify-content:space-between}
.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:90;border-bottom:1px solid #dce5e0;backdrop-filter:blur(8px)}
.header-row{height:70px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;min-width:305px}
.brand-signature-logo{width:145px;height:38px;object-fit:contain;object-position:left center;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.15;white-space:nowrap}
.brand-name{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:19px;font-weight:800;letter-spacing:.04em;color:#163d33}
.brand-sub{display:block;margin-top:4px;font-size:8px;letter-spacing:.19em;color:#73847c}
.nav{display:flex;align-items:center;gap:3px;margin-left:auto}
.nav a{padding:9px 8px;font-size:12px;font-weight:800;color:#405149}
.nav a:hover{color:var(--green)}
.nav .archive-link{color:#775f35}
.nav-cta{background:var(--green)!important;color:#fff!important;border-radius:4px;margin-left:4px}
.menu-btn{display:none;margin-left:auto;background:#fff;border:1px solid #cad8d1;border-radius:4px;padding:6px 9px}
.hero{background:linear-gradient(120deg,#f4f8f5,#fff9eb);border-bottom:1px solid #dfe7e2;overflow:hidden}
.hero-inner{position:relative;height:292px}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .65s ease}
.hero-slide.active{opacity:1;pointer-events:auto}
.hero-slide .wrap{height:100%;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:26px}
.hero-copy{position:relative;z-index:2}
.hero-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:#4a7567}
.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,3.7vw,48px);line-height:1.17;margin:5px 0 9px;color:#163b32;letter-spacing:.01em}
.hero p{font-size:13px;color:#5d6a65;margin:0;max-width:560px}
.hero-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 16px;border-radius:3px;font-size:12px;font-weight:900}
.btn-main{background:var(--green);color:#fff}.btn-light{border:1px solid #afc7bd;background:#fff;color:#1c5e4c}
.hero-visual{height:250px;position:relative}
.hero-main-photo{position:absolute;right:0;top:12px;width:75%;height:224px;object-fit:cover;border:7px solid #fff;box-shadow:var(--shadow)}
.hero-small-photo{position:absolute;left:0;bottom:9px;width:33%;height:118px;object-fit:cover;border:5px solid #fff;box-shadow:0 6px 18px rgba(20,47,39,.13)}
.hero-signature{position:absolute;right:8px;bottom:5px;width:245px;opacity:.14;z-index:2}
.hero-uniform{position:absolute;right:3%;top:6px;width:62%;height:238px;object-fit:contain;background:#fff;border:6px solid #fff;box-shadow:var(--shadow)}
.hero-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:4}
.hero-dot{width:24px;height:4px;padding:0;border:0;background:#b5c7bf;cursor:pointer}.hero-dot.active{background:var(--green)}
.motion-up{opacity:0;transform:translateY(12px)}.active .motion-up{animation:rise .52s ease forwards}.active .d2{animation-delay:.08s}.active .d3{animation-delay:.15s}.active .d4{animation-delay:.22s}
@keyframes rise{to{opacity:1;transform:none}}

.prefit{position:relative;background:#f8f3e5;border-bottom:1px solid #e8dfc9;padding:18px 0}
.prefit:after{content:"";position:absolute;right:3%;top:0;width:220px;height:100%;background:url("../images/brand/kaikiya-watermark.png") center/contain no-repeat;opacity:.32;pointer-events:none}
.prefit-card{position:relative;z-index:2;background:#fff;border-left:5px solid var(--green);box-shadow:0 3px 11px rgba(40,55,48,.06);padding:17px 20px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.prefit-label{font-size:11px;font-weight:900;color:#6b735e;letter-spacing:.08em;margin-bottom:2px}
.prefit-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(25px,3vw,37px);font-weight:800;line-height:1.25;color:#183f34}
.prefit-title em{font-style:normal;color:var(--red);border-bottom:3px solid #e9c95b;padding-bottom:2px}
.prefit-text{font-size:12px;color:#68736e;margin-top:5px}
.form-btn{min-width:250px;background:#155f4b;color:#fff;padding:12px 17px;border-radius:4px;font-weight:900;font-size:13px;text-align:center;box-shadow:0 3px 0 #0c4435}
.form-btn span{font-size:10px;font-weight:600;display:block;color:#dceee7}.form-btn:hover{transform:translateY(1px)}
.quick-links{background:#fff;border-bottom:1px solid #e3e9e5}
.quick-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.quick{padding:12px 13px;border-left:1px solid #e4eae7;display:flex;gap:9px;align-items:center}.quick:last-child{border-right:1px solid #e4eae7}
.quick-no{font-family:Georgia,serif;color:#a98a37;font-size:17px}.quick b{display:block;font-size:12px}.quick span span{font-size:9.5px;color:#7a8680;display:block}
section{padding:38px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:15px}
.section-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:29px;line-height:1.25;margin:0;color:#183d34}
.section-head p{max-width:500px;margin:0;font-size:11.5px;color:#69776f}
.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:.18em;color:#1c6d58;font-weight:800;margin-bottom:2px}
.handline{position:relative}.handline:after{content:"";position:absolute;left:0;right:0;bottom:-4px;border-bottom:4px solid rgba(228,190,66,.63);transform:rotate(-1deg)}
.news-section{background:#fff}
.news-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.news-card{border:1px solid #d9e4df;background:#fff;display:block}.news-card.latest{grid-row:span 2}
.news-meta{padding:9px 12px;border-bottom:1px solid #e2e8e5;background:#f7faf8;display:flex;gap:8px;align-items:center}.news-date{font-size:11px;font-weight:900;color:#285c79}.tag{font-size:9px;font-weight:900;background:#fff2bd;border:1px solid #e5c95e;padding:2px 6px;border-radius:10px}
.news-body{padding:12px 14px}.news-body h3{font-size:15px;margin:0 0 5px}.news-body p,.news-body li{font-size:11.5px;color:#5d6964;margin:4px 0}
.news-media{display:grid;grid-template-columns:180px 1fr;gap:13px}.news-media img{width:100%;height:138px;object-fit:contain;border:1px solid #e0e6e3}
.more-arrow{font-size:10.5px;color:var(--green);font-weight:900;margin-top:7px}
.school-showcase{background:#f7faf8}
.uniform-teasers{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.uniform-teaser{background:#fff;border:1px solid #dbe4df;padding:8px;transition:.15s}.uniform-teaser:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(30,58,49,.08)}
.uniform-teaser img{width:100%;height:220px;object-fit:contain;background:#f7f7f5}.uniform-teaser b{display:block;font-size:12px;margin-top:5px}.uniform-teaser span{font-size:9.5px;color:#738078}
.archive-banner{margin-top:13px;background:#f4efe5;border:1px solid #dfd3bb;padding:12px 15px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.archive-banner strong{font-family:"Yu Mincho",serif;font-size:18px;color:#5b513d}.archive-banner p{font-size:11px;margin:2px 0 0;color:#716956}
.local-story{background:var(--cream);position:relative;overflow:hidden}
.local-story:before{content:"";position:absolute;right:-40px;bottom:-80px;width:360px;height:440px;background:url("../images/brand/kaikiya-watermark.png") center/contain no-repeat;opacity:.22}
.story-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:21px;align-items:center}
.story-photos{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:165px 150px;gap:8px}.story-photo{overflow:hidden;border:5px solid #fff;box-shadow:var(--shadow);background:#fff}.story-photo.main{grid-row:1/3}.story-photo img{width:100%;height:100%;object-fit:cover}
.story-copy h3{font-family:"Yu Mincho",serif;font-size:27px;line-height:1.4;margin:5px 0 8px;color:#153c32}.story-copy p{font-size:12px;color:#59665f;margin:7px 0}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.fact{background:rgba(255,255,255,.9);border-top:3px solid var(--green);padding:8px}.fact strong{font-family:Georgia,serif;color:#1d5f4e;font-size:18px}.fact span{font-size:9.5px;color:#68766f;display:block}
.quality-strip{background:#fff}
.process-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:9px}.process-photo{position:relative;overflow:hidden;min-height:210px;background:#eee}.process-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.process-photo:first-child{min-height:310px;grid-row:span 2}.process-copy{background:#f3f8f5;border:1px solid #dce6e0;padding:14px}.process-copy h3{font-family:"Yu Mincho",serif;margin:0 0 5px;font-size:18px}.process-copy p{font-size:11px;color:#69766f;margin:0}
.support-row{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.support-call{background:#edf7f3;border:1px solid #cfe1d9;padding:17px}.support-care{background:#fff8df;border:1px solid #eadca3;padding:17px}.support-row h3{font-family:"Yu Mincho",serif;font-size:20px;margin:0 0 6px}.support-row p{font-size:11.5px;color:#60706a;margin:3px 0}
.phone-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.phone-link{background:var(--green);color:#fff;padding:9px;text-align:center;font-size:11px;font-weight:900}.phone-link small{display:block;color:#d8ebe3;font-size:9px}
.store-strip{background:#f7fafb}.stores-mini{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:8px}.store-card{background:#fff;border:1px solid #dae4e0}.store-card img{width:100%;height:155px;object-fit:cover}.store-info{padding:11px}.store-info h3{margin:0 0 2px;font-size:14px}.store-info p{font-size:10.5px;color:#6b7670;margin:2px 0}.tel{display:inline-block;margin-top:6px;background:#f0c74c;padding:5px 8px;font-size:11px;font-weight:900}
.store-placeholder{height:155px;display:grid;place-items:center;background:#edf3f0;color:#78857f;font-size:10px}
.footer{background:#153c32;color:#fff;padding:26px 0 14px;position:relative;overflow:hidden}.footer:after{content:"";position:absolute;right:4%;bottom:-18px;width:260px;height:85px;background:url("../images/brand/kaikiya-signature.png") center/contain no-repeat;filter:invert(1);opacity:.10}.footer-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-signature-logo{width:112px;height:auto;object-fit:contain;flex:0 0 auto}.footer-brand-copy{display:flex;flex-direction:column;line-height:1.2}.footer-brand-copy strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;font-weight:700;color:#fff}.footer-brand-copy small{margin-top:4px;font-size:8px;letter-spacing:.16em;color:#b9d1c8}.footer p,.footer a{font-size:10.5px;color:#d9e7e1}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:3px 10px}.copy{border-top:1px solid rgba(255,255,255,.15);padding-top:8px;margin-top:14px;font-size:9px;color:#abc0b7}
.prototype-badge{position:fixed;right:9px;bottom:9px;background:#fff5c8;border:1px solid #d3b853;padding:4px 7px;font-size:9px;z-index:100}

/* pages */
.page-hero{background:linear-gradient(135deg,#f2f8f4,#fff8e8);padding:27px 0;border-bottom:1px solid #dce6e0;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:3%;top:-60px;width:220px;height:280px;background:url("../images/brand/kaikiya-watermark.png") center/contain no-repeat;opacity:.18}.breadcrumbs{font-size:10px;color:#76847d;margin-bottom:5px}.page-title{font-family:"Yu Mincho",serif;font-size:31px;margin:0;color:#183e34}.page-lead{font-size:12px;color:#62716a;max-width:760px;margin:5px 0 0}.content{padding:30px 0 45px}.content-narrow{width:min(860px,100%);margin:auto}
.article{font-size:16px;line-height:1.9}.article h2{font-family:"Yu Mincho",serif;font-size:27px;color:#173d35}.article img{max-height:520px;margin:15px auto}.article p{margin:10px 0}.article-meta{display:flex;gap:8px;align-items:center}
.notice-box{background:#fff8d8;border-left:5px solid #d9ad2f;padding:12px 14px;font-size:13px;margin:14px 0}
.archive-warning{background:#f5efe3;border:1px solid #d7c8a9;border-left:6px solid #7b6a4c;padding:14px 16px;margin-bottom:15px}.archive-warning strong{display:block;font-size:14px;color:#554b39}.archive-warning p{font-size:11px;color:#766d5e;margin:3px 0}
.uniform-tools{display:flex;gap:7px;margin-bottom:13px}.uniform-tools input{flex:1;padding:10px 11px;border:1px solid #cbd8d2}.uniform-count{font-size:11px;color:#728078;margin-bottom:8px}
.uniform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.uniform-card{border:1px solid #dce4e0;background:#fff;padding:8px;display:block}.uniform-card img{width:100%;height:245px;object-fit:contain;background:#fafaf8}.uniform-card h3{font-size:12px;margin:6px 0 1px}.uniform-card p{font-size:9.5px;color:#748078;margin:0}.uniform-card:hover{border-color:#8eb3a4;box-shadow:0 5px 14px rgba(30,55,48,.07)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-img{background:#fafaf8;border:1px solid #dbe4df;padding:12px}.detail-img img{width:100%;height:430px;object-fit:contain}.detail-label{font-size:11px;color:#6d7a74;margin:4px 0 0}.detail-side h2{font-family:"Yu Mincho",serif;font-size:27px;margin:0 0 5px}.detail-side p{font-size:12px;color:#65736c}.item-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.item-thumb{border:1px solid #dde5e1;background:#fff;padding:5px;cursor:pointer}.item-thumb img{height:125px;width:100%;object-fit:contain}.item-thumb span{display:block;font-size:9px;text-align:center}
.store-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.store-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}.store-gallery img:first-child{grid-column:1/3;height:360px}.store-gallery img{width:100%;height:180px;object-fit:cover}.store-panel{background:#f3f8f5;border:1px solid #dae5df;padding:17px}.store-panel h2{font-family:"Yu Mincho",serif;margin:0 0 6px}.store-panel p{font-size:12px}.big-tel{display:block;background:var(--green);color:white;padding:12px;text-align:center;font-weight:900;margin-top:10px}
.factory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.factory-grid figure{margin:0;background:#fff;border:1px solid #dce4e0}.factory-grid img{width:100%;height:220px;object-fit:cover}.factory-grid figcaption{padding:7px 9px;font-size:10.5px;color:#617069}
.text-link{display:inline-block;margin-top:8px;font-size:11px;font-weight:900;color:var(--green)}

@media(max-width:900px){
 .nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;flex-direction:column;align-items:stretch;border-bottom:1px solid #dce5e0;padding:8px 17px}.nav.open{display:flex}.nav a{padding:10px}.menu-btn{display:block}
 .hero-slide .wrap{grid-template-columns:1fr 1fr}.prefit-card{grid-template-columns:1fr}.form-btn{min-width:0;max-width:360px}
 .quick-grid{grid-template-columns:repeat(3,1fr)}.uniform-teasers,.uniform-grid{grid-template-columns:repeat(3,1fr)}
 .news-grid,.story-grid,.support-row,.store-hero-grid,.detail-grid{grid-template-columns:1fr}.news-card.latest{grid-row:auto}.process-grid{grid-template-columns:1fr 1fr}.process-photo:first-child{grid-row:auto}
 .stores-mini{grid-template-columns:1fr 1fr}.stores-mini .store-card:first-child{grid-column:1/3}
}
@media(max-width:650px){
 .wrap{width:min(100% - 20px,1160px)}.utility span:first-child{display:none}.utility .wrap{justify-content:center}.header-row{height:60px}.nav{top:60px}.brand-name{font-size:17px}.brand-mark{width:36px;height:36px}
 .hero-inner{height:410px}.hero-slide .wrap{grid-template-columns:1fr;align-content:start;padding-top:13px}.hero h1{font-size:30px}.hero p{font-size:12px}.hero-visual{height:170px;margin-top:3px}.hero-main-photo{height:160px;width:78%;top:4px}.hero-small-photo{height:82px;width:38%;bottom:0}.hero-signature{width:170px}.hero-uniform{height:165px;width:68%}
 .prefit{padding:12px 0}.prefit-card{padding:14px 13px;gap:12px}.prefit-title{font-size:27px}.prefit-text{font-size:11px}.form-btn{width:100%;max-width:none}
 .quick-grid{grid-template-columns:1fr 1fr}.quick{padding:9px}.quick:nth-child(5){grid-column:1/3}.section-head{align-items:flex-start;flex-direction:column;gap:5px}.section-head h2{font-size:25px}
 .news-grid{display:block}.news-card{margin-bottom:8px}.news-media{grid-template-columns:105px 1fr}.news-media img{height:105px}
 .uniform-teasers,.uniform-grid{grid-template-columns:1fr 1fr}.uniform-teaser img,.uniform-card img{height:190px}.archive-banner{display:block}.archive-banner a{margin-top:8px}
 .story-photos{grid-template-rows:145px 110px}.facts{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.process-photo,.process-photo:first-child{min-height:210px}
 .phone-row{grid-template-columns:1fr}.stores-mini{grid-template-columns:1fr}.stores-mini .store-card:first-child{grid-column:auto}
 .footer-grid{grid-template-columns:1fr}.uniform-tools{display:block}.uniform-tools input{width:100%}.uniform-count{margin-top:7px}.detail-img img{height:360px}.item-thumbs{grid-template-columns:repeat(2,1fr)}
 .store-gallery img:first-child{height:240px}.store-gallery img{height:130px}.factory-grid{grid-template-columns:1fr 1fr}.factory-grid img{height:165px}.prototype-badge{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


.history-section{padding:34px 0 42px;background:#fff}
.history-intro{margin-bottom:14px}
.history-list{position:relative;margin:0;padding:0;list-style:none;border-left:2px solid #d9e3de}
.history-item{position:relative;display:grid;grid-template-columns:150px 1fr;gap:22px;padding:0 0 19px 24px}
.history-item:last-child{padding-bottom:0}
.history-item:before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:#17614e;border:3px solid #fff;box-shadow:0 0 0 1px #aac6bb}
.history-year{font-family:Georgia,"Yu Mincho",serif;font-weight:700;color:#174d3f;font-size:16px}
.history-year small{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:10px;font-weight:600;color:#78867f;margin-left:5px}
.history-text{font-size:13px;color:#45544e}
.history-item.latest .history-year{color:#a66d22}
.history-item.latest:before{background:#d3a137}
@media(max-width:650px){
 .history-item{grid-template-columns:1fr;gap:2px;padding-left:20px;padding-bottom:17px}
 .history-year{font-size:15px}
 .history-text{font-size:12px}
}


/* v6: customer-facing cleanup */
.clean-lead{font-size:12px;color:#607069;margin:5px 0 0}
.flow-preview{background:#f8f5eb;border-top:1px solid #e7dfcd;border-bottom:1px solid #e7dfcd}
.flow-preview-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.flow-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:13px}
.flow-mini-step{position:relative;text-align:center;padding:8px 6px 6px}
.flow-mini-step:not(:last-child):after{content:"→";position:absolute;right:-6px;top:14px;color:#b69e62;font-weight:900}
.flow-mini-step b{display:block;font-size:12px;color:#174a3c}
.flow-mini-step span{display:block;font-size:9px;color:#728078;margin-top:2px}
.flow-link{white-space:nowrap}
.care-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}
.care-card{border:1px solid #dce5e0;background:#fff;padding:13px}
.care-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;margin:0 0 4px;color:#173d35}
.care-card p{font-size:11.5px;color:#617069;margin:0}
.store-address{font-size:11.5px;color:#58675f;margin:3px 0}
.map-link{display:inline-block;margin-top:7px;border:1px solid #a9c5b9;color:#17614e;padding:5px 8px;font-size:10.5px;font-weight:900;background:#fff}
.flow-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.flow-block{border:1px solid #dce5e0;background:#fff;padding:17px}
.flow-block h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;margin:0 0 13px;color:#173d35;font-size:23px}
.flow-genders{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flow-gender{background:#f8faf8;border-top:4px solid #17614e;padding:12px}
.flow-gender h3{margin:0 0 8px;font-size:14px}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;padding:0 0 14px 22px;font-size:11.5px;color:#53625b}
.timeline li:last-child{padding-bottom:0}
.timeline li:before{content:"";position:absolute;left:3px;top:5px;width:8px;height:8px;border-radius:50%;background:#d2ae43}
.timeline li:not(:last-child):after{content:"";position:absolute;left:6px;top:15px;bottom:1px;width:2px;background:#d8e1dc}
.timeline strong{display:block;color:#173d35;font-size:12px}
.timeline small{display:block;color:#7b8781;font-size:9.5px;margin-top:2px}
.flow-note{margin-top:14px;background:#fff8d9;border-left:4px solid #d5ae37;padding:10px 12px;font-size:11px;color:#655d47}
.company-summary{font-size:12px;color:#5b6962;margin:7px 0 0}
.store-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.store-simple{border:1px solid #dce5e0;background:#fff;padding:15px}
.store-simple h3{font-family:"Yu Mincho",serif;margin:0 0 5px;color:#173d35;font-size:20px}
.store-simple .big-tel{margin-top:8px}
@media(max-width:700px){
 .flow-preview-grid{grid-template-columns:1fr}
 .flow-mini{grid-template-columns:1fr}
 .flow-mini-step{text-align:left;padding-left:18px;border-left:2px solid #d7e1dc}
 .flow-mini-step:not(:last-child):after{content:"↓";right:auto;left:2px;top:auto;bottom:-11px}
 .flow-tabs,.flow-genders,.store-secondary{grid-template-columns:1fr}
 .care-grid{grid-template-columns:1fr}
}


/* v6.3 mobile hero overlap fix */
@media(max-width:650px){
  .hero-inner{
    height:460px;
  }
  .hero-slide .wrap{
    grid-template-columns:1fr;
    grid-template-rows:auto 180px;
    align-content:start;
    gap:12px;
    padding-top:13px;
    padding-bottom:34px;
  }
  .hero-visual{
    height:180px;
    margin-top:0;
  }
  .hero-main-photo{
    height:168px;
  }
  .hero-uniform{
    height:175px;
  }
  .hero-dots{
    bottom:13px;
    z-index:6;
  }
  .prefit{
    position:relative;
    z-index:1;
  }
}

/* v6.5 school-first uniform index */
.school-index-content{background:#fbfcfb;padding-top:28px}.school-search{max-width:620px;margin-bottom:7px}.school-search input{background:#fff;border-radius:2px;font-size:13px}.school-category{margin-top:30px}.school-category:first-of-type{margin-top:18px}.school-category-head{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid #dce5e0;padding-bottom:7px;margin-bottom:12px}.school-category-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#173d35;font-size:24px;margin:0}.school-category-head span{font-size:10px;color:#7b8882}.school-banner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.school-banner-card{display:block;background:#fff;border:1px solid #dbe4df;transition:.15s;overflow:hidden}.school-banner-card:hover{transform:translateY(-2px);border-color:#93b5a7;box-shadow:0 6px 17px rgba(29,55,47,.08)}.school-banner-text{aspect-ratio:4/1;display:flex;align-items:center;justify-content:center;background:#fff;padding:12px;text-align:center}.school-banner-text strong{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:clamp(22px,2.5vw,34px);font-weight:800;line-height:1.2;letter-spacing:.01em}
.school-banner-image{aspect-ratio:4/1;background:#fff;display:flex;align-items:center;justify-content:center}.school-banner-image img{width:100%;height:100%;object-fit:contain}.school-banner-fallback{aspect-ratio:4/1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(120deg,#f7faf8,#fffaf0);padding:12px;text-align:center}.school-banner-fallback span{font-family:Georgia,serif;font-size:8px;letter-spacing:.22em;color:#93a39b;margin-bottom:5px}.school-banner-fallback strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(17px,2.1vw,25px);color:#24463d;line-height:1.3}.school-banner-foot{min-height:34px;padding:6px 8px;border-top:1px solid #edf1ef;display:flex;align-items:center;justify-content:space-between;gap:10px}.school-banner-foot strong{font-size:10.5px;color:#405049}.school-banner-foot span,.school-card-arrow{font-size:9.5px;color:#17614e;font-weight:900;white-space:nowrap}.middle-school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.school-compact-card{min-height:78px;border:1px solid #dce5e0;background:#fff;padding:11px 12px;display:grid;grid-template-columns:27px 1fr;grid-template-rows:1fr auto;gap:1px 9px;align-items:center;transition:.15s}.school-compact-card:hover{border-color:#93b5a7;background:#fbfdfc;transform:translateY(-1px)}.school-type-chip{grid-row:1/3;width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf3ef;color:#17614e;font-size:11px;font-weight:900}.school-compact-card.elementary .school-type-chip{background:#fff2d8;color:#8b6820}.school-compact-card.other .school-type-chip{background:#eef0f5;color:#4e6076}.school-compact-card strong{font-size:17px;line-height:1.35;color:#263f37}.school-compact-card .school-card-arrow{align-self:start;font-size:12px}[data-school-card][hidden]{display:none!important}.school-no-match{display:none;padding:18px;border:1px dashed #ccd8d2;color:#7a8781;font-size:11px;text-align:center;background:#fff}.school-category.category-empty .school-banner-grid,.school-category.category-empty .middle-school-grid{display:none}.school-category.category-empty .school-no-match{display:block}.school-detail-content{background:#fbfcfb;padding-top:25px}.detail-school-banner{max-width:920px;margin:0 auto 17px;border:1px solid #dce4e0;background:#fff;aspect-ratio:4/1;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-school-banner img{width:100%;height:100%;object-fit:contain}.detail-school-banner.fallback{flex-direction:column;background:linear-gradient(120deg,#f7faf8,#fffaf0);text-align:center;padding:15px}.detail-school-banner.fallback span{font-family:Georgia,serif;font-size:9px;letter-spacing:.22em;color:#93a39b}.detail-school-banner.fallback strong{font-family:"Yu Mincho",serif;font-size:clamp(24px,4vw,42px);color:#24463d}.school-detail-head{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin-bottom:26px;padding-bottom:15px;border-bottom:1px solid #dce5e0}.detail-kind{font-size:9px;color:#17614e;font-weight:900;letter-spacing:.1em}.school-detail-head h2{font-family:"Yu Mincho",serif;font-size:27px;color:#173d35;margin:1px 0 2px}.school-detail-head p{font-size:11.5px;color:#69766f;margin:0}.detail-form-btn{min-width:230px}.detail-media-section{margin-top:25px}.detail-media-title{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.detail-media-title h3{font-family:"Yu Mincho",serif;font-size:20px;color:#173d35;margin:0}.detail-media-title span{font-size:9px;color:#839089}.detail-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-media-card{margin:0;border:1px solid #dce5e0;background:#fff;padding:7px}.detail-media-card img{width:100%;height:360px;object-fit:contain;background:#fafaf8}.detail-media-card figcaption{font-size:10px;color:#627068;padding:5px 2px 1px;text-align:center}.detail-empty{font-size:12px;color:#7a8781}.detail-back{margin-top:28px;padding-top:16px;border-top:1px solid #e0e7e3}@media(max-width:900px){.school-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.middle-school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-media-card img{height:330px}}@media(max-width:650px){.school-banner-grid{grid-template-columns:1fr}.middle-school-grid{grid-template-columns:1fr 1fr}.school-compact-card{min-height:68px;padding:9px}.school-detail-head{grid-template-columns:1fr;gap:10px}.detail-form-btn{width:100%;min-width:0}.detail-media-grid{grid-template-columns:1fr 1fr;gap:7px}.detail-media-card img{height:245px}.school-category-head h2{font-size:21px}}@media(max-width:430px){.middle-school-grid{grid-template-columns:1fr}.detail-media-grid{grid-template-columns:1fr}.detail-media-card img{height:350px}}


/* V6.6 refinements */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand{min-width:305px;gap:12px}.brand-signature-logo{width:145px;height:38px}
.nav a.is-current,.nav a[aria-current="page"]{color:var(--green);position:relative;background:#f1f7f4}
.nav a.is-current:not(.nav-cta):after,.nav a[aria-current="page"]:not(.nav-cta):after{content:"";position:absolute;left:9px;right:9px;bottom:3px;height:2px;background:var(--green)}
.private-school-category{margin-top:36px;padding:22px;background:#faf6ed;border:1px solid #e6ddc9}
.private-school-category .school-category-head{margin-top:0}.private-school-card .school-banner-fallback{background:#fffaf0}.school-banner-fallback em{font-style:normal;font-size:11px;color:#887558;margin-top:5px}.school-banner-foot small{margin-left:auto;margin-right:12px;color:#7a6c54;font-size:10px}.school-affiliation{font-size:11px;color:#7b827f;border:1px solid #d8e1dd;padding:2px 7px;border-radius:999px;margin-left:auto;margin-right:12px}
.closed-school-label{font-size:10px;color:#9c563e;border:1px solid #e0bba9;padding:2px 6px;border-radius:999px;margin-left:auto;margin-right:10px}
.school-showcase-neutral{padding:34px 0;background:#f6faf8;border-bottom:1px solid var(--line)}.uniform-category-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.uniform-category-links a{border:1px solid #cbdad3;background:#fff;padding:18px 16px;display:flex;flex-direction:column;gap:5px;min-height:92px;justify-content:center}.uniform-category-links strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;color:var(--ink)}.uniform-category-links span{font-size:11px;color:var(--green);font-weight:800}.archive-inline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:15px 17px;background:#fbf6e9;border:1px solid #e4d7b6}.archive-inline h3{margin:0 0 2px;font-family:"Yu Mincho",serif;font-size:18px}.archive-inline p{margin:0;color:#6c675b;font-size:12px}
.measurement-explain{padding:24px 0 10px}.measurement-explain-box{display:grid;grid-template-columns:150px 1fr;gap:24px;border:1px solid #d6e3de;background:linear-gradient(100deg,#f3faf7,#fffdfa);padding:24px 28px}.measurement-explain-box h2{font-family:"Yu Mincho",serif;color:var(--ink);font-size:26px;margin:2px 0 12px}.measurement-explain-box p{font-size:13px;line-height:1.9;margin:5px 0}.measurement-illustration{display:flex;align-items:center;justify-content:center;gap:7px}.measure-person{width:56px;height:92px;border-radius:28px 28px 12px 12px;background:#e6f2ed;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;border:1px solid #c5ddd3}
.support-call h2{font-family:"Yu Mincho",serif;color:var(--ink);margin-top:0}.repair-wash-warning{margin-top:14px;padding:13px 15px;border:1px solid #e5b1ad;border-left:5px solid #c83f35;background:#fff7f6;color:#b5322a}.repair-wash-warning strong{display:block;font-size:14px;font-weight:1000;margin-bottom:3px}.repair-wash-warning p{margin:0;font-size:12px;font-weight:800;line-height:1.75;color:#b5322a}.care-intro{margin-top:38px;padding-bottom:14px;border-bottom:1px solid var(--line)}.care-intro h2,.care-trouble h2{font-family:"Yu Mincho",serif;color:var(--ink);font-size:28px;margin:2px 0 5px}.care-intro p{margin:0;color:#64716c}.care-guide-list{margin-top:12px;display:grid;gap:12px}.care-guide{display:grid;grid-template-columns:64px 1fr;gap:16px;border:1px solid var(--line);padding:20px;background:#fff}.care-guide-no{font-family:Georgia,serif;font-size:28px;color:#b79c4b;border-right:1px solid #e7e2d5}.care-guide h3{margin:0 0 8px;font-family:"Yu Mincho",serif;color:var(--ink);font-size:20px}.care-guide p{margin:6px 0;font-size:13px;line-height:1.9}.care-trouble{margin-top:38px}.care-trouble-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.care-trouble-grid>div{border:1px solid var(--line);padding:16px;background:#f9fbfa}.care-trouble-grid h3{font-family:"Yu Mincho",serif;color:var(--ink);margin:0 0 6px}.care-trouble-grid p{margin:0;font-size:12px;line-height:1.8}.care-final-note{margin-top:18px;padding:16px 18px;background:#fbf6e9;border-left:4px solid #d7ad37}.care-final-note strong{color:var(--ink)}.care-final-note p{margin:5px 0 0;font-size:12px;line-height:1.8}
#detailStatus[hidden]{display:none}.detail-school-banner.fallback strong{word-break:keep-all;text-align:center}.detail-media-card figcaption{line-height:1.6;min-height:1.6em}
@media(max-width:760px){.brand{min-width:auto;gap:8px}.brand-signature-logo{width:100px;height:30px}.brand-name{font-size:15px}.brand-sub{font-size:6.5px;letter-spacing:.13em}.footer-signature-logo{width:92px}.footer-brand-copy strong{font-size:17px}.uniform-category-links{grid-template-columns:1fr 1fr}.measurement-explain-box{grid-template-columns:1fr;padding:18px}.measurement-illustration{display:none}.care-guide{grid-template-columns:44px 1fr;padding:15px}.care-guide-no{font-size:22px}.care-trouble-grid{grid-template-columns:1fr}.private-school-category{padding:14px}.archive-inline{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.uniform-category-links{grid-template-columns:1fr}.brand{min-width:auto}.brand-signature-logo{width:88px;height:27px}.brand-name{font-size:14px}.brand-sub{display:none}}

.school-category[id]{scroll-margin-top:118px}


/* V6.6.3 mobile density + story photo refinement */
@media(max-width:650px){
  /* Keep desktop breathing room; tighten only mobile by roughly one third. */
  section{padding:25px 0}
  .content{padding:20px 0 30px}
  .page-hero{padding:19px 0}
  .section-head{margin-bottom:10px}
  .school-showcase-neutral{padding:23px 0}
  .school-index-content{padding-top:20px}
  .school-category{margin-top:22px}
  .school-category:first-of-type{margin-top:13px}
  .private-school-category{margin-top:25px}
  .archive-inline{margin-top:11px;padding:11px 13px}
  .local-story{padding:24px 0}
  .story-grid{gap:13px}
  .story-photos{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:6px}
  .story-photo{border-width:4px;margin:0;box-shadow:0 5px 15px rgba(29,54,46,.10)}
  .story-photo.main{grid-column:1/3;grid-row:auto;height:190px}
  .story-photo:not(.main){height:112px}
  .story-copy h3{font-size:25px;margin-top:3px}
  .story-copy p{margin:5px 0}
  .facts{margin-top:8px;gap:5px}
  .store-strip{padding-top:24px;padding-bottom:24px}
  .footer{padding-top:20px}
}
@media(max-width:430px){
  .story-photo.main{height:175px}
  .story-photo:not(.main){height:102px}
}

/* V6.6.6 news data-driven view */
.news-detail-body{font-size:15px;line-height:1.9}
.news-detail-body p{white-space:pre-line;margin:0 0 18px}
.news-detail-body ul{margin:0 0 20px;padding-left:1.4em}
.news-detail-image{width:min(720px,100%);height:auto;margin:0 0 22px;border-radius:8px;border:1px solid var(--line)}
.news-block-image{margin:0 auto 22px;max-width:100%;text-align:center}.news-block-image img{width:100%;height:auto;margin:0 auto;border-radius:8px;border:1px solid var(--line)}.news-block-image figcaption{margin-top:7px;color:var(--muted);font-size:12px}
.article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}


/* V6.6.6 final: preparation guide, store photos, release polish */
.page-hero:after{display:none}
.measurement-audience{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 8px}.measurement-audience span{font-size:10px;font-weight:800;color:var(--green);border:1px solid #bcd6cb;background:#fff;padding:4px 9px;border-radius:999px}
.flow-guide-grid{display:grid;grid-template-columns:.88fr 1.42fr;gap:14px}.flow-guide-card{border:1px solid #d7e2dd;background:#fff;padding:20px}.flow-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:3px solid var(--green);padding-bottom:11px;margin-bottom:11px}.flow-guide-head h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);font-size:24px;margin:2px 0 0}.flow-audience{display:block;font-size:9.5px;font-weight:900;letter-spacing:.04em;color:#81744e}.flow-method{white-space:nowrap;font-size:10px;font-weight:900;color:var(--green);background:#e9f4ef;border:1px solid #c8dfd5;padding:5px 8px}.flow-intro{font-size:12px;line-height:1.85;color:#5f6e67;margin:0 0 14px}.flow-steps{list-style:none;margin:0;padding:0}.flow-steps li{display:grid;grid-template-columns:118px 1fr;gap:12px;position:relative;padding:0 0 15px}.flow-steps li:not(:last-child):after{content:"";position:absolute;left:7px;top:25px;bottom:2px;width:2px;background:#d9e4df}.flow-steps li:before{content:"";position:absolute;left:2px;top:7px;width:12px;height:12px;border-radius:50%;background:#d3ae3d;border:3px solid #fff;box-shadow:0 0 0 1px #d3ae3d}.flow-steps time{padding-left:24px;font-size:10.5px;font-weight:900;color:#8a6f27;line-height:1.45}.flow-steps strong{display:block;color:var(--ink);font-size:13px}.flow-steps p{margin:3px 0 0;font-size:10.5px;color:#748079;line-height:1.7}.high-school-lanes{display:grid;grid-template-columns:1fr 1fr;gap:11px}.flow-lane{background:#f8faf8;border:1px solid #e1e7e4;padding:13px}.flow-lane h4{margin:0 0 12px;font-size:13px;color:var(--ink)}.flow-lane h4 span{display:inline-flex;align-items:center;justify-content:center;min-width:37px;padding:3px 8px;background:var(--green);color:#fff;margin-right:5px;font-size:11px}.flow-steps.compact li{grid-template-columns:102px 1fr;padding-bottom:12px}.flow-important{margin-top:12px;border:1px solid #e6d18c;background:#fff9df;padding:11px 13px;display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center}.flow-important strong{font-size:11px;color:#80661e}.flow-important span{font-size:11px;color:#5f5948}.flow-school-note{margin-top:7px;font-size:9.5px;color:#7a847f}.flow-form-btn{display:block;min-width:0;max-width:390px;margin-top:13px}.store-simple-with-photos{padding:0!important;overflow:hidden}.secondary-store-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:5px;background:#f3f6f4}.secondary-store-gallery img{width:100%;height:210px;object-fit:cover}.secondary-store-body{padding:15px}.privacy-content h2,.privacy-content h3{font-family:"Yu Mincho",serif;color:var(--ink)}.privacy-content h2{font-size:26px}.privacy-content h3{font-size:18px;margin:27px 0 5px}.privacy-content p,.privacy-content li{font-size:13px;line-height:1.9}.privacy-updated{margin-top:30px;color:#78847e}.error-page{text-align:center;padding-top:30px;padding-bottom:50px}.error-page .hero-actions{justify-content:center;margin-top:20px}
@media(max-width:900px){.flow-guide-grid{grid-template-columns:1fr}.secondary-store-gallery img{height:190px}}
@media(max-width:650px){.flow-guide-card{padding:15px}.flow-guide-head{flex-direction:column;gap:6px}.flow-guide-head h3{font-size:22px}.high-school-lanes{grid-template-columns:1fr}.flow-steps li,.flow-steps.compact li{grid-template-columns:88px 1fr;gap:8px}.flow-important{grid-template-columns:1fr;gap:2px}.secondary-store-gallery{grid-template-columns:1fr 1fr}.secondary-store-gallery img{height:135px}}

/* V6.6.6 refinements */
.company-signature-logo{width:250px;height:auto;max-height:90px;object-fit:contain;object-position:left center;margin-bottom:6px}
.private-school-card .school-banner-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:1px}
.private-school-card .school-banner-foot strong{grid-column:1/2;min-width:0}
.private-school-card .school-banner-foot small{grid-column:1/2;margin:0;color:#7a6c54;font-size:9px}
.private-school-card .school-banner-foot span{grid-column:2/3;grid-row:1/3;align-self:center}
