/* site.css */
:root{--navy:#17324D;--teal:#547D7A;--copper:#B78257;--ivory:#F6F3ED;--ink:#202830;--muted:#64717d;--line:#d9d6cf;--serif:"Shippori Mincho",serif;--sans:"Zen Kaku Gothic New",sans-serif}.koiwa-site{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;background:#fff}.koiwa-site .siteHeader,.koiwa-site .siteFooter,.koiwa-site .breadcrumb{display:none!important}.koiwa-site .siteContent{padding:0!important}.koiwa-site .container{max-width:none;padding:0}.koiwa-site img{max-width:100%;height:auto}.koiwa-site a{text-decoration:none}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.site-head{height:88px;display:flex;align-items:center;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:999;border-bottom:1px solid rgba(23,50,77,.1)}.head-in{width:min(1280px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;color:var(--ink)!important}.brand img{width:48px;height:48px;object-fit:contain}.brand strong{font-family:var(--serif);font-size:19px;line-height:1.35}.brand small{display:block;color:var(--teal);font:10px var(--sans);letter-spacing:.12em}.nav{display:flex;gap:20px;font-size:14px}.head-cta{background:var(--navy);color:#fff!important;padding:12px 20px}.menu{display:none;background:none;border:0;font-size:26px}.hero{width:100%;background:var(--ivory);min-height:760px;display:grid;align-items:center;overflow:hidden}.hero-in{width:min(1360px,100%);margin:auto;display:grid;grid-template-columns:44% 56%;align-items:center;padding-left:max(40px,calc((100vw - 1280px)/2))}.hero-copy{padding:70px 42px 70px 0}.eyebrow{font-family:"Cormorant Garamond",serif;color:var(--copper);letter-spacing:.13em;text-transform:uppercase;font-size:14px}.hero h1,.page-hero h1{font-family:var(--serif);font-size:clamp(42px,4.6vw,68px);line-height:1.35;font-weight:600;margin:20px 0;color:var(--navy)}.hero h1 span{display:block;white-space:nowrap}.lead{font-size:18px;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;border:1px solid var(--navy);min-width:190px}.btn.primary{background:var(--navy);color:#fff!important}.btn.light{background:#fff}.hero-img{height:760px;overflow:hidden}.hero-img img{width:100%;height:100%;object-fit:cover}.proof{margin-top:42px;display:flex;gap:25px}.proof b{font:28px "Cormorant Garamond",serif;color:var(--navy)}.proof small{display:block;color:var(--muted)}.koiwa-site section{padding:100px 0}.section-head{display:grid;grid-template-columns:220px 1fr;gap:40px;margin-bottom:55px}.koiwa-site h2{font:40px/1.45 var(--serif);color:var(--navy)}.concern{background:var(--navy);color:#fff}.concern blockquote{font:500 28px/1.8 var(--serif);max-width:850px;margin:0}.concern p{color:#d9e1e7}.services{background:var(--ivory)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.svc{background:#fff;padding:34px;min-height:260px;display:flex;flex-direction:column}.svc .num{font:24px "Cormorant Garamond",serif;color:var(--copper)}.svc h2,.svc h3{font:24px var(--serif);color:var(--navy);margin:22px 0 8px}.svc p{font-size:14px;color:var(--muted)}.svc>a{margin-top:auto;color:var(--teal);font-weight:700}.two{display:grid;grid-template-columns:38% 1fr;gap:70px;align-items:start}.two>img{width:100%;object-fit:cover}.reason{padding:20px 0;border-top:1px solid var(--line)}.reason h3{font:24px var(--serif);color:var(--navy)}.price{background:#edf2f1}.price-list{border-top:2px solid var(--navy)}.price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px 10px;border-bottom:1px solid #cbd4d2}.note{font-size:13px;color:var(--muted)}.cta{background:var(--navy);color:#fff;text-align:center}.cta h2{color:#fff}.cta .actions{justify-content:center}.cta .btn{background:#fff;color:var(--navy)!important;border-color:#fff}.page-hero{background:var(--ivory);padding:100px 0 80px}.page-hero h1{font-size:52px}.prose{max-width:900px}.prose h2{margin:55px 0 18px}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{padding:15px;border-bottom:1px solid var(--line);text-align:left}.prose th{width:34%;color:var(--navy)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:70px}.sidebar{border-left:1px solid var(--line);padding-left:25px}.faq-item{border-top:1px solid var(--line)}.faq-q{width:100%;text-align:left;background:none;border:0;padding:22px 0;font:20px var(--serif);color:var(--navy)}.faq-a{display:none;padding-bottom:20px}.faq-item.open .faq-a{display:block}.site-foot{background:#10263a;color:#dce3e8;padding:70px 0 25px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.site-foot h3{color:#fff;font:22px var(--serif)}.site-foot a{display:block;color:#dce3e8}.copy{border-top:1px solid rgba(255,255,255,.15);margin-top:45px;padding-top:20px;font-size:12px}.mobile-bar{display:none}
@media(max-width:900px){.nav,.head-cta{display:none}.menu{display:block}.site-head{height:72px}.brand strong{font-size:15px}.nav.open{display:flex;position:fixed;inset:72px 0 auto;background:#fff;padding:25px;flex-direction:column}.hero{min-height:auto}.hero-in{grid-template-columns:1fr;padding:0}.hero-copy{padding:60px 24px 40px}.hero h1{font-size:38px}.hero-img{height:400px}.koiwa-site section{padding:70px 0}.section-head,.two,.content-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.concern blockquote{font-size:22px}.page-hero h1{font-size:38px}.foot-grid{grid-template-columns:1fr}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:1000}.mobile-bar a{padding:12px;background:var(--teal);color:#fff!important;text-align:center;font-weight:700}.mobile-bar a:first-child{background:var(--navy)}.koiwa-site{padding-bottom:48px}}@media(max-width:540px){.wrap,.head-in{width:calc(100% - 28px)}.actions{display:grid}.btn{width:100%}.price-row{grid-template-columns:1fr}.hero-img{height:330px}}

/* visuals.css */
.svc{padding:0}.svc-img{width:100%;aspect-ratio:16/10;object-fit:cover}.svc-body{padding:26px 30px;display:flex;flex:1;flex-direction:column}.svc-body>a{margin-top:auto}.process{background:#f6f3ed}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.process-grid figure{margin:0;background:#fff}.process-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.process-grid figcaption{padding:20px}.process-grid b,.process-grid span{display:block}.process-grid b{font-family:var(--serif);font-size:20px;color:var(--navy)}.process-grid span{font-size:14px;color:var(--muted);margin-top:8px}@media(max-width:900px){.process-grid{grid-template-columns:1fr}}

/* concern-fix.css */
@media (min-width:901px){.concern blockquote{max-width:none;white-space:nowrap;font-size:clamp(24px,2vw,32px)}}
@media (max-width:900px){.concern blockquote{word-break:keep-all;overflow-wrap:normal}}

/* seo.css */
:root{--serif:"Yu Mincho","Hiragino Mincho ProN","BIZ UDPMincho",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.koiwa-site{font-family:var(--sans)}
.eyebrow,.proof b{font-family:Georgia,"Times New Roman",serif}
.definition-box{margin:0 0 38px;padding:22px 25px;border-left:4px solid var(--copper);background:var(--ivory);color:var(--navy)}
.definition-box p{margin:0}
.company-note{padding:24px 28px;background:var(--ivory);border-left:4px solid var(--teal)}
.home-definitions{padding:70px 0!important;background:#fff}
.definition-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.definition-grid>div{padding:30px 34px;background:#fff}
.definition-grid h2{margin:0 0 12px;font-size:28px}
.definition-grid p{margin:0;color:var(--muted)}
@media(max-width:700px){.definition-grid{grid-template-columns:1fr}.definition-grid>div{padding:25px 22px}}
.service-grid{gap:28px 22px;background:transparent;border:0}
.svc{border:1px solid var(--line)}
@media(max-width:900px){.service-grid{gap:20px}}

/* 2026 client revision: legacy banner and visa-service overview */
.legacy-hero{padding:36px 0 22px!important;background:#fff;text-align:center}
.legacy-hero img{display:block;width:min(950px,100%);margin:0 auto}
.legacy-hero p{margin:22px 0 0;font:600 clamp(20px,2.4vw,32px)/1.3 Georgia,"Times New Roman",serif;letter-spacing:.14em;color:var(--navy)}
.business-overview{padding:54px 0 60px!important;background:var(--ivory);text-align:center}
.business-overview h1{margin:8px 0 28px;font:clamp(36px,4.2vw,56px)/1.4 var(--serif);color:var(--navy)}
.business-pair{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.business-pair span{min-width:250px;padding:18px 32px;border:1px solid var(--navy);background:#fff;font:600 25px/1.4 var(--serif);color:var(--navy)}
.visa-types{padding:80px 0!important;background:#fff}
.visa-types-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,38%);gap:70px;align-items:center}
.visa-types h2{margin:8px 0 28px;font-size:40px}
.visa-types ul{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin:0;padding:0;list-style:none;border-top:2px solid var(--navy)}
.visa-types li{padding:14px 4px;border-bottom:1px solid var(--line);font:600 clamp(17px,1.6vw,22px)/1.55 var(--serif);color:var(--navy)}
.visa-types-grid>img{width:100%;max-height:520px;object-fit:cover;object-position:center top}
@media(max-width:900px){.legacy-hero{padding-top:22px!important}.visa-types-grid{grid-template-columns:1fr;gap:36px}.visa-types-grid>img{max-height:540px}.visa-types ul{grid-template-columns:1fr}.business-pair span{min-width:min(100%,280px)}}
@media(max-width:540px){.legacy-hero .wrap{width:100%}.legacy-hero p{padding:0 14px;letter-spacing:.08em}.business-overview{padding:44px 0 48px!important}.visa-types{padding:60px 0!important}.visa-types h2{font-size:34px}}

/* Header alignment revision */
@media(min-width:1181px){.head-in{width:min(1720px,calc(100% - 40px));gap:clamp(12px,1.35vw,24px)}.brand{flex:0 0 auto}.brand strong,.nav a,.head-cta{white-space:nowrap}.brand strong{font-size:clamp(16px,1.25vw,19px)}.nav{flex:1 1 auto;justify-content:center;gap:clamp(10px,1.15vw,20px);font-size:clamp(12px,.9vw,14px)}.head-cta{flex:0 0 auto;padding:12px clamp(14px,1.25vw,20px);font-size:clamp(12px,.9vw,14px)}}
@media(min-width:901px) and (max-width:1180px){.nav,.head-cta{display:none}.menu{display:block}.site-head{height:72px}.brand strong{font-size:16px}.nav.open{display:flex;position:fixed;inset:72px 0 auto;background:#fff;padding:25px;flex-direction:column}}

/* 2026-10 client-approved photo first view */
.office-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(570px,66vw,760px);padding:0!important;background:url("images/fv-children.jpg") center center/cover no-repeat;border-bottom:1px solid var(--line);overflow:hidden}
.office-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,31,49,.02) 30%,rgba(10,31,49,.82) 100%)}
.office-hero .wrap{position:relative;z-index:1;padding-bottom:clamp(38px,5vw,72px)}
.office-hero-copy{max-width:950px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.office-hero-en{margin:0 0 12px;color:#fff;font:600 clamp(18px,2vw,28px)/1.4 Georgia,"Times New Roman",serif;letter-spacing:.13em}
.office-hero h1{margin:0;color:#fff;font:600 clamp(34px,4.4vw,62px)/1.38 var(--serif);letter-spacing:.025em}
.office-hero h1 span,.office-hero-info span{padding:0 .2em;color:#f0c89f}
.office-hero-info{display:flex;align-items:flex-end;gap:10px 32px;flex-wrap:wrap;margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.65)}
.office-hero-info p{margin:0;color:#fff;font-size:clamp(15px,1.35vw,19px);letter-spacing:.025em}
.office-hero-info a{color:inherit}.office-name{font:600 clamp(19px,1.75vw,26px)/1.5 var(--serif)!important}
@media(max-width:700px){.office-hero{min-height:680px;background-position:55% center}.office-hero:before{background:linear-gradient(180deg,rgba(10,31,49,0) 18%,rgba(10,31,49,.88) 78%)}.office-hero .wrap{padding-bottom:34px}.office-hero-en{font-size:17px;letter-spacing:.06em}.office-hero h1{font-size:30px}.office-hero h1 span{display:block;height:.15em;color:transparent}.office-hero-info{display:block;margin-top:18px;padding-top:15px}.office-hero-info p{margin:5px 0;font-size:14px}.office-name{font-size:20px!important}}

