/*
Theme Name: Sanko Blue
Version: 1.0.29
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: sanko-blue
*/
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:#282b26;background:#ffffff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:1.125rem;line-height:1.95}a{color:inherit;text-underline-offset:.3em}h1,h2,h3,p{margin:0 0 1.3rem}h1{font-size:clamp(2.5rem,4.8vw,4.8rem);line-height:1.6;font-weight:600;letter-spacing:.06em}h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.65;font-weight:600}h3{font-size:1.3rem}small,.small{font-size:1rem}a,p,h1,h2,h3,summary{overflow-wrap:anywhere}.serif{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}header,main,footer{max-width:1280px;margin:auto;padding:0 6%}header{padding-top:30px;padding-bottom:25px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{text-decoration:none;display:block;font-size:1.55rem;font-weight:700;letter-spacing:.16em}.brand small{display:block;font-size:.8rem;font-weight:400;letter-spacing:.08em}.mark{display:inline-block;color:var(--accent);font-family:serif;font-size:2rem;line-height:1;border:1px solid currentColor;padding:4px 8px;margin-right:14px;vertical-align:middle}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{display:inline-flex;align-items:center;min-height:48px;font-size:1rem;text-decoration:none;border-bottom:1px solid transparent}nav a:hover{border-color:currentColor}.ribbon{font-size:.85rem;padding:10px 6%;border-bottom:1px solid #c8c7bd;display:flex;justify-content:space-between;gap:20px}.ribbon a{min-height:32px}.hero{padding:70px 0 90px}.kicker{font-size:1rem;color:var(--accent);letter-spacing:.12em;font-weight:700;margin-bottom:28px}.lead{max-width:34em}.action{display:inline-flex;min-height:58px;padding:14px 28px;gap:38px;align-items:center;justify-content:space-between;background:var(--accent);border:1px solid var(--accent);color:#fff;text-decoration:none;font-weight:600;margin:16px 15px 0 0}.action::after{content:'→';font-size:1.3rem}.action.light{background:transparent;color:var(--accent)}.textlink{display:inline-block;padding:14px 0;min-height:48px}section{padding:85px 0;border-top:1px solid #bdbeb4}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.split>*{min-width:0}.indexlabel{display:block;font-size:.9rem;color:var(--accent);margin-bottom:22px;letter-spacing:.1em}.rows{border-top:1px solid #6d7669}.row{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:28px 0;border-bottom:1px solid #bdbeb4}.row .number{color:var(--accent);font-size:1rem}.row h3{margin-bottom:10px}.row p{margin:0;font-size:1.05rem}.diagram{width:100%;height:auto;display:block}.caption{font-size:.8rem;letter-spacing:.08em;color:#5f655b;margin:14px 0}.flow{display:flex;flex-wrap:wrap;gap:0;margin:35px 0}.flow span{padding:14px 24px 14px 0;font-weight:bold}.flow span:not(:last-child)::after{content:' →';color:var(--accent);margin-left:16px}details{border-bottom:1px solid #bdbeb4;padding:22px 0}summary{cursor:pointer;min-height:48px;padding-right:20px;font-size:1.15rem}details p{padding:20px 0 0;max-width:44em}.recruit{background:var(--accent);color:#fff;padding:46px 6%;margin:0 -6.8%;}.recruit .action{background:#fff;color:var(--accent);border-color:#fff}.recruit .indexlabel{color:inherit}.recruit p{max-width:40em}.corporate{display:flex;justify-content:space-between;gap:30px;align-items:center}.corporate p{margin:0}.note{font-size:.95rem;padding:26px 0;border-top:1px solid #bdbeb4;color:#50564e}.note strong{color:#282b26}.to-top{display:block;text-align:right;padding:22px 0}footer{padding-top:35px;padding-bottom:45px;border-top:1px solid #bdbeb4;font-size:.9rem}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:12px}:focus-visible{outline:3px solid #a86224;outline-offset:5px}
/* 01: a local company's printed journal */
.a{--accent:#285a86}.a .hero{display:grid;grid-template-columns:1.15fr .85fr;gap:6%;align-items:center}.a .hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.a .print{border:1px solid #285a86;padding:35px 20px 24px;color:#285a86;position:relative}.a .print-title{text-align:center;font-family:serif;letter-spacing:.4em;font-size:1.2rem;border-bottom:1px solid #285a86;padding-bottom:20px}.a .print-foot{display:flex;justify-content:space-between;border-top:1px solid #285a86;padding-top:15px;font-size:.85rem}.a .print .diagram{margin:20px 0}.a .history{font-family:serif;font-size:clamp(4rem,12vw,8rem);line-height:1.2;color:#285a86}
/* 02: practical, green and white */
.b{--accent:#215142;background:#fff}.b .hero{padding-top:20px}.b .mast{display:grid;grid-template-columns:1fr 1fr;background:#e9eee8;padding:55px;align-items:center;gap:35px}.b .mast h1{font-size:clamp(2.4rem,4vw,3.8rem);letter-spacing:0}.b .diagram{max-height:390px}.b .quick{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #215142}.b .quick a{padding:25px 15px;text-decoration:none;border-right:1px solid #bdbeb4;display:flex;justify-content:space-between;align-items:center;min-height:70px}.b .quick a:last-child{border-right:0}.b .row .number{border:1px solid #215142;width:38px;height:38px;line-height:36px;text-align:center}
/* 03: clear employment notice */
.c{--accent:#6d4d17;background:#eef4f8}.c header{border-bottom:3px solid #6d4d17}.c .hero{display:grid;grid-template-columns:1fr .8fr;gap:8%;align-items:center}.c h1{font-size:clamp(2.4rem,4.2vw,4rem);font-weight:800;letter-spacing:0}.c .notice{border:2px solid #6d4d17;padding:30px;background:#f0e7cf}.c .notice-title{font-size:1.6rem;font-weight:700;border-bottom:1px solid #6d4d17;padding-bottom:18px}.c .notice ul{list-style:none;padding:0;margin:0}.c .notice li{padding:16px 0;border-bottom:1px solid #c4bda9}.c .notice li::before{content:'□';margin-right:15px}.c .notice a{width:100%;margin-right:0}.c .section-head{display:flex;gap:28px;align-items:baseline;margin-bottom:30px}.c .large-no{font-size:3.5rem;color:#6d4d17;line-height:1}.c .split{grid-template-columns:1fr 1fr}
/* 04: quiet corporate editorial */
.d{--accent:#273f4a;background:#eef4f8}.d .hero{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.d h1,.d h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.d .hero h1{font-size:clamp(2.7rem,4.8vw,4.8rem)}.d .window{background:#273f4a;color:#eef4f8;padding:35px;position:relative}.d .window .diagram{color:#eef4f8}.d .window p{margin:0;text-align:right;letter-spacing:.18em;font-size:.9rem}.d .year{display:block;font-size:clamp(5rem,10vw,8rem);line-height:1.2;font-family:serif;letter-spacing:.02em}.d .row{grid-template-columns:75px 1fr}.d .row .number{font-family:serif;font-size:1.8rem}
/* proposal index */
.overview{--accent:#285a86;background:#eef4f8}.cover{padding:65px 0 75px;display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end}.cover h1{font-family:"Yu Mincho",serif;font-size:clamp(2.4rem,4.7vw,4rem)}.cover aside{border-top:3px solid #285a86;padding-top:25px}.plan{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;padding:70px 0;border-top:1px solid #bcb9ae;align-items:center}.plan:nth-child(even){grid-template-columns:1.15fr .85fr}.plan:nth-child(even) .preview{order:2}.preview{padding:40px 30px;min-height:320px;position:relative}.preview .sample{font-family:serif;font-size:2rem;line-height:1.6;margin:15px 0}.preview .label{font-size:.75rem;letter-spacing:.2em}.preview .mini-art{width:45%;margin-left:auto}.preview.p1{background:#eef4f8;color:#285a86;border:1px solid #285a86}.preview.p2{background:#e3ebe3;color:#215142;border-top:8px solid #215142}.preview.p3{background:#f0e7cf;color:#6d4d17;border:2px solid #6d4d17}.preview.p4{background:#273f4a;color:#eef4f8}.plan .plan-no{color:#285a86;letter-spacing:.1em}.plan h2{margin:12px 0 20px}.plan .features{font-size:1rem;border-top:1px solid #bcb9ae;padding-top:15px}.compare{width:100%;border-collapse:collapse;font-size:1rem}.compare th,.compare td{text-align:left;padding:20px 12px;border-bottom:1px solid #bcb9ae}.compare th{font-weight:600}.decision{border-left:4px solid #285a86;padding:5px 0 5px 25px;margin:35px 0}.decision p{margin:0}article,figure{margin:0}.hero>*,.plan>*{min-width:0}
@media(max-width:850px){header{display:block}nav{margin-top:18px;gap:8px 23px}.hero,.a .hero,.b .mast,.c .hero,.d .hero,.split,.c .split,.cover,.plan,.plan:nth-child(even){grid-template-columns:1fr;gap:35px}.hero{padding:40px 0 55px}.hero h1{font-size:clamp(2rem,7.7vw,3.2rem)}.c .hero h1{font-size:clamp(1.8rem,7vw,3rem)}.a .print{max-width:480px;width:100%;margin:0 auto}.b .mast{padding:28px}.b .quick{grid-template-columns:1fr}.b .quick a{border-right:0;border-bottom:1px solid #bdbeb4;padding:18px 5px}.b .quick a:last-child{border-bottom:0}.action{display:flex;width:100%;margin:16px 0 0;gap:20px}.ribbon{flex-wrap:wrap;gap:2px}.ribbon a{display:inline-flex;align-items:center;min-height:44px}section{padding:55px 0}.corporate{display:block}.corporate a{margin-top:12px}.cover{padding:40px 0}.plan,.plan:nth-child(even){padding:40px 0}.plan:nth-child(even) .preview{order:0}.preview{min-height:280px;padding:28px}.compare{table-layout:fixed}.compare th,.compare td{padding:15px 5px;font-size:.95rem}.compare th:first-child{width:16%}.d .window{padding:25px}.recruit{padding:35px 6%}.c .notice{padding:24px}.split h2{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:600px){header nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border-top:1px solid #bdbeb4;margin-top:20px;padding-top:10px}header nav a{border-bottom:1px solid #bdbeb4;padding:6px 0}.overview header nav{grid-template-columns:1fr}.b .mast{padding:24px}.hero h1{overflow-wrap:normal;word-break:normal}}
.company-logo{display:block;width:260px;max-width:100%;height:auto}.company-name{display:block;font-size:.85rem;font-weight:500;letter-spacing:.06em;margin-top:9px}.brand{max-width:100%}@media(max-width:600px){.company-logo{width:240px}.company-name{font-size:.8rem}}
/* Original wordmark stays intact; the English tagline is outside the visible frame. */
.logo-wordmark{display:block;width:300px;max-width:100%;aspect-ratio:2058/550;overflow:hidden}.logo-wordmark .company-logo{display:block;width:100%;max-width:none;height:auto}.logo-tagline{display:block;font-size:.95rem;font-weight:600;letter-spacing:0;line-height:1.7;margin-top:10px;color:#383b32}.logo-tagline>span{display:inline-block}.brand{min-width:0}@media(max-width:600px){.logo-wordmark{width:280px}.logo-tagline{font-size:.9rem}}
.contact-details{border-top:3px solid var(--accent);padding-top:25px}.contact-details address{font-style:normal;margin:22px 0;font-size:1.05rem}.contact-phone{display:inline-flex;align-items:center;min-height:60px;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.5;color:var(--accent);font-weight:700;letter-spacing:.03em;margin:8px 0 14px;text-decoration-thickness:2px}.contact-details p{margin-bottom:12px}
/* Text must reflow rather than clip, including enlarged browser text. */
h1,h2,h3,p,summary,li,address{word-break:normal;line-break:strict;overflow-wrap:break-word}
h1,h2,h3{text-wrap:balance}p,li,address{text-wrap:pretty}
.heading-phrase{display:block;max-width:100%;text-wrap:balance}
header>*,nav,.mast>*,.row>*,.notice,.contact-details,.cover>*,.preview{min-width:0}
.action{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;max-width:100%;width:fit-content;margin-right:0;column-gap:20px;height:auto;white-space:normal;line-height:1.7}
.button-label{min-width:0;overflow-wrap:break-word;word-break:normal;text-wrap:balance}
.action::after{align-self:center;white-space:nowrap}.row{grid-template-columns:55px minmax(0,1fr)}.d .row{grid-template-columns:60px minmax(0,1fr)}
.logo-tagline>span{max-width:100%;white-space:normal}.contact-phone{max-width:100%;white-space:nowrap;font-size:clamp(1.4rem,5.8vw,2.5rem)}
@media(min-width:851px) and (max-width:1100px){header{flex-wrap:wrap}header nav{width:100%}.a .hero,.b .mast,.c .hero,.d .hero{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(2.5rem,5vw,3.5rem)}.a .print,.d .window{max-width:520px}.b .diagram{max-width:520px}.split,.c .split{grid-template-columns:1fr;gap:30px}}
@media(max-width:850px){.action{display:grid;width:100%;margin-right:0;padding:14px 18px;column-gap:14px}.heading-phrase{display:inline-block;margin-right:.2em}.hero h1{font-size:clamp(1.85rem,7.2vw,3.2rem)}.b .mast h1{font-size:clamp(1.85rem,7.2vw,3.2rem)}.c .hero h1{font-size:clamp(1.7rem,6.8vw,3rem)}.c .section-head{flex-wrap:wrap;gap:12px 24px}.a .print-title{letter-spacing:.12em}.a .print-foot{flex-wrap:wrap;gap:10px}.flow span{max-width:100%}}
@media(max-width:360px){header nav{grid-template-columns:1fr}.row,.d .row{grid-template-columns:36px minmax(0,1fr);gap:12px}.b .row .number{width:32px;height:auto;min-height:36px}.preview{padding:20px}.logo-tagline{font-size:1rem}.contact-phone{font-size:1.5rem}}
.contact-phone{display:inline-block;white-space:normal;overflow-wrap:anywhere}.heading-phrase{overflow-wrap:anywhere}
.d .year{font-size:clamp(3rem,10vw,8rem);max-width:100%;overflow-wrap:anywhere}
/* Preferred direction: navy, generous headline and fine line drawings. */
.d header{padding-top:20px;padding-bottom:20px}.d .logo-wordmark{width:230px}.d .logo-tagline{font-size:.8rem}.d header nav{gap:8px 20px}.d header nav a{font-size:.95rem}
.d .hero{background:#273f4a;color:#eef4f8;margin:0 -6.8%;padding:65px 6%;grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr);gap:4%;align-items:center}.d .hero h1{font-size:clamp(3rem,6.8vw,6rem);line-height:1.35;letter-spacing:.03em;margin-bottom:24px}.d .hero .heading-phrase{display:block;margin:0}.d .hero-subtitle{font-family:"Yu Mincho",serif;font-size:1.4rem;margin-bottom:14px}.d .hero p{max-width:32em}.d .hero .window{padding:0;background:transparent}.d .hero .window p{font-size:.85rem}.d .hero .direct-jobs{background:#eef4f8;color:#273f4a;border-color:#eef4f8}.d .hero-work{display:block;width:fit-content;padding:8px 0}.nav-jobs{font-weight:700}.business-list{margin-top:35px}.business-item{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:7%;padding:35px 0;border-top:1px solid #bdbeb4;align-items:center}.business-item h3{font-size:1.6rem}.business-item p{margin-bottom:0;max-width:40em}.business-art{width:100%;max-width:230px;height:auto;color:var(--accent)}.business-item .indexlabel{margin-bottom:8px}.company-facts{margin:30px 0;font-size:1rem}.company-facts>div{display:grid;grid-template-columns:5em minmax(0,1fr);padding:14px 0;border-top:1px solid #bdbeb4;gap:14px}.company-facts dd{margin:0}.direct-jobs{margin-top:18px}
@media(max-width:1100px){.d .hero{grid-template-columns:1fr}.d .hero h1{font-size:clamp(2.7rem,7.5vw,5.5rem)}.d .hero .window{max-width:280px;justify-self:end}.d .hero .window .diagram{max-height:220px}.d header nav{width:100%}}
@media(max-width:600px){.d .hero{padding-top:35px;padding-bottom:35px;gap:25px}.d .hero h1{font-size:clamp(2.1rem,8.8vw,3.3rem)}.d .hero-subtitle{font-size:1.1rem}.d .hero .window{max-width:190px}.d .hero .window .diagram{max-height:155px}.d header{padding-top:15px;padding-bottom:15px}.d header nav{display:flex;flex-wrap:wrap;margin-top:10px;padding-top:0;gap:0 18px}.d header nav a{font-size:.9rem;min-height:40px}.d .logo-wordmark{width:210px}.business-item{grid-template-columns:1fr;gap:12px}.business-art{max-width:155px}.business-item h3{font-size:1.4rem}.company-facts>div{grid-template-columns:4em minmax(0,1fr)}}
.d .hero h1{font-size:clamp(2.6rem,5.25vw,4.7rem)}@media(max-width:1100px){.d .hero h1{font-size:clamp(2.4rem,5.8vw,4.7rem)}}@media(max-width:600px){.d .hero h1{font-size:clamp(1.75rem,7.2vw,2.7rem);letter-spacing:0;line-height:1.65}}
/* Agreed direction: open plan 01, vermilion on an ivory ground. */
.a .hero{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:5%;padding:65px 0 55px}.a .hero h1{font-size:clamp(2.5rem,4.65vw,4.1rem);line-height:1.55;letter-spacing:0}.a .hero .heading-phrase{display:block;margin:0}.a .print{border:0;padding:20px 0;color:#285a86}.a .print-title{letter-spacing:.15em;font-size:1rem}.a .hero .lead{margin-top:30px;margin-bottom:0}.purpose-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #285a86;margin-bottom:70px}.purpose-links>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:28px 20px;text-decoration:none;border-bottom:1px solid #285a86;min-width:0}.purpose-links>a:not(:last-child){border-right:1px solid #c6b5a5}.purpose-links .purpose-label{grid-column:1/-1;font-size:.95rem;color:#285a86}.purpose-links strong{font-size:1.1rem;line-height:1.8;overflow-wrap:anywhere}.purpose-links>a>span:last-child{color:#285a86}.purpose-links a:hover{background:#eef4f8}.a .recruit{background:transparent;color:#282b26;margin:0;padding:0}.a .recruit .action{background:#285a86;color:#fff;border-color:#285a86}.a .recruit .indexlabel{color:#285a86}
@media(max-width:1100px){.a .hero{grid-template-columns:1fr}.a .hero h1{font-size:clamp(2.3rem,5.8vw,4.1rem)}.a .print{max-width:400px;justify-self:end}.purpose-links>a{padding:22px 14px}}
@media(max-width:600px){.a .hero{padding:32px 0 30px;gap:22px}.a .hero h1{font-size:clamp(1.75rem,7.2vw,2.7rem)}.a .print{max-width:230px;margin:0 0 0 auto}.a .print .diagram{margin:8px 0;max-height:160px}.a .print-title,.a .print-foot{font-size:.8rem}.a .print-title{padding-bottom:8px}.a .print-foot{padding-top:8px}.purpose-links{grid-template-columns:1fr;margin-bottom:45px}.purpose-links>a{padding:18px 4px}.purpose-links>a:not(:last-child){border-right:0}.a .hero .lead{margin-top:20px}}
.interview-note{font-size:1rem;border-left:3px solid #285a86;padding:12px 18px;background:#eef4f8}.voice-list{margin:35px 0;border-top:1px solid #bdbeb4}.voice-entry{display:grid;grid-template-columns:8em minmax(0,1fr);gap:32px;padding:30px 0;border-bottom:1px solid #bdbeb4;text-decoration:none}.voice-age{font-family:"Yu Mincho",serif;color:#285a86;font-size:2rem}.voice-age small{display:block;font-family:inherit;font-size:.9rem}.voice-entry strong{display:block;font-family:"Yu Mincho",serif;font-size:1.5rem;line-height:1.7}.voice-entry .indexlabel{margin-bottom:8px}.voice-teaser{display:block;margin:12px 0;font-size:1rem}.voice-read{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:1rem;color:#285a86}.voice-entry:hover{background:#eef4f8}.sample-warning{border:1px solid #285a86;padding:22px;margin:30px 0;color:#285a86}.sample-warning p{font-size:1rem;margin:10px 0 0}.breadcrumbs{display:block;font-size:.95rem;padding:20px 0}.interview-hero{max-width:55em;padding:45px 0 20px}.interview-hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.7}.interview-body{max-width:48em;margin:auto}.interview-body section{padding:50px 0}.interview-body h2{font-size:clamp(1.5rem,3vw,2rem)}.schedule{list-style:none;margin:30px 0;padding:0}.schedule li{display:grid;grid-template-columns:5em minmax(0,1fr);gap:20px;padding:20px 0;border-top:1px solid #bdbeb4}.schedule time{font-weight:700;color:#285a86}.schedule p{margin:8px 0 0}.other-interviews{display:flex;flex-wrap:wrap;gap:12px 28px;padding:35px 0}.other-interviews a{min-height:48px;padding:10px 0}.a header{flex-wrap:wrap}.a header nav{flex-wrap:wrap}#related .action::after{content:none}
@media(max-width:600px){.voice-entry{grid-template-columns:1fr;gap:10px}.voice-age{font-size:1.6rem}.voice-age small{display:inline;margin-left:18px}.voice-entry strong{font-size:1.3rem}.schedule li{grid-template-columns:minmax(0,1fr);gap:5px}.interview-hero{padding-top:25px}.sample-warning{padding:18px}.a header nav{width:100%}}
/* Fine line illustrations distinguish the three visitor paths. */
.purpose-links>a{grid-template-columns:84px minmax(0,1fr) auto;column-gap:18px;align-items:center;padding:26px 18px}.purpose-links .purpose-art{grid-column:1;grid-row:1/3;width:84px;height:76px;color:#285a86;align-self:center}.purpose-links .purpose-label{grid-column:2;grid-row:1;align-self:end}.purpose-links strong{grid-column:2;grid-row:2;align-self:start}.purpose-links>a>span:last-child{grid-column:3;grid-row:1/3}.purpose-links .purpose-label{font-size:.9rem}.purpose-links strong{font-size:1.05rem}
@media(max-width:1100px){.purpose-links>a{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.purpose-links .purpose-art{grid-column:1/-1;grid-row:1;width:76px;height:68px}.purpose-links .purpose-label{grid-column:1;grid-row:2}.purpose-links strong{grid-column:1;grid-row:3}.purpose-links>a>span:last-child{grid-column:2;grid-row:2/4}}
@media(max-width:600px){.purpose-links>a{grid-template-columns:72px minmax(0,1fr) auto;padding:20px 2px;column-gap:14px}.purpose-links .purpose-art{grid-column:1;grid-row:1/3;width:72px;height:68px}.purpose-links .purpose-label{grid-column:2;grid-row:1}.purpose-links strong{grid-column:2;grid-row:2}.purpose-links>a>span:last-child{grid-column:3;grid-row:1/3}}
@media(max-width:360px){.purpose-links>a{grid-template-columns:58px minmax(0,1fr) auto;column-gap:10px}.purpose-links .purpose-art{width:58px;height:58px}}
.project-nav{display:flex;justify-content:center;gap:12px 40px;flex-wrap:wrap;padding:12px 6%;border-bottom:1px solid #c4beb2;font-size:1rem}.project-nav a{display:inline-flex;align-items:center;min-height:44px;color:#285a86;text-underline-offset:6px}.checklist-heading{max-width:52em;padding:55px 0 35px}.checklist-heading h1{font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.5rem)}.check-status{border-left:3px solid #285a86;background:#eef4f8;padding:20px 24px}.check-status p,.check-progress p{margin:8px 0 0;font-size:1rem}.check-progress{padding:30px 0}.check-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid #d5cfc4;cursor:pointer;min-height:54px}.check-item input{width:24px;height:24px;margin:6px 0 0;accent-color:#285a86}.check-item:has(input:checked)>span{color:#52664e}.check-group{padding:40px 0}.check-item span{overflow-wrap:anywhere}@media(max-width:600px){.project-nav{justify-content:flex-start;gap:0 18px}.project-nav a{font-size:.95rem}.checklist-heading{padding:35px 0}.check-status{padding:18px}.check-item{gap:12px}}

/* Company homepage revision: recruitment lives on its own page. */
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-actions .action{margin-right:0}.corporate-home header{align-items:center}.corporate-home nav{gap:20px}.corporate-home .business-list{margin-top:35px}.recruit-hero{padding:65px 0 75px}.corporate-home #recruit{background:#eef4f8;padding:55px 5%;margin:0 -5.5%;border-top:1px solid #bdbeb4}.corporate-home #recruit .action{margin-top:0}@media(max-width:700px){.hero-actions{display:block}.corporate-home #recruit{margin:0;padding:40px 5%}.recruit-hero{padding:40px 0 50px}.corporate-home nav{gap:8px 18px}.corporate-home nav a{font-size:1rem}}

/* Human-edited English edition: same brand, natural line wrapping. */
.language-switch{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:1rem}.language-switch a,.language-switch span{display:inline-flex;align-items:center;min-height:44px}.language-switch [aria-current]{font-weight:700;border-bottom:2px solid #285a86}.project-nav{flex-wrap:wrap}.english{line-height:1.75}.english h1{font-size:clamp(2.1rem,4vw,4rem);line-height:1.25;letter-spacing:0}.english h2{line-height:1.35;letter-spacing:0}.english .logo-tagline{font-size:.9rem;line-height:1.6;white-space:normal}.english .row{grid-template-columns:65px 1fr}.english p,.english h1,.english h2,.english h3,.english a{overflow-wrap:break-word;word-break:normal}.english .contact-phone{font-size:clamp(1.35rem,3vw,2.4rem)}@media(max-width:700px){.english .hero{padding-top:40px}.language-switch{gap:20px}.english .voice-age{font-size:2rem}.english .project-nav{justify-content:space-between}}

.breadcrumbs{display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap;padding:24px 0 0;font-size:1rem}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}.breadcrumbs span{display:inline-flex;align-items:center}.hero-actions .action{max-width:100%}

/* Staff line drawings; one coherent hero rather than separate image tiles. */
.people-hero{width:100%;height:auto}.staff-art{display:block;width:100px;height:130px;color:#285a86;flex-shrink:0}.recruit-art{width:115px;height:145px;float:right;margin:0 0 18px 15px;color:#285a86}.voice-entry{grid-template-columns:100px 100px 1fr}.interview-portrait{display:block;width:100px;height:130px;float:right;color:#285a86;margin:25px 0 20px 20px}.company-centered .split{max-width:950px;margin:0 auto;align-items:center}.company-centered .split>div:last-child{padding:0 4%}.corporate-home .hero h1{font-size:clamp(2.2rem,4.5vw,4.1rem)}@media(max-width:700px){.voice-entry{grid-template-columns:70px 1fr;gap:15px}.voice-entry>.staff-art{width:70px;height:100px}.voice-entry>.voice-age{grid-column:2}.voice-entry>span:last-child{grid-column:1/-1}.company-centered .split>div:last-child{padding:0}.recruit-art{width:90px;height:120px}.interview-portrait{float:none;margin:20px 0}}

/* Unified masthead and a shared building scene, aligned on one baseline. */
.corporate-home header{display:grid;grid-template-columns:1fr auto;gap:28px;padding-top:24px;padding-bottom:24px;align-items:center}.corporate-home .brand{max-width:440px}.corporate-home .logo-wordmark{max-width:300px}.corporate-home nav{justify-content:flex-end;margin:0}.corporate-home .hero{grid-template-columns:1.08fr .92fr;gap:4%;padding:48px 0 55px;align-items:center}.corporate-home .hero h1{font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.45;letter-spacing:.035em;margin-bottom:24px}.corporate-home .hero .lead{line-height:1.9;margin-bottom:18px}.corporate-home .print{margin:0;padding:0;border:0;max-width:none;width:100%}.corporate-home .print-title{border:0;padding:0;margin-bottom:8px;font-family:inherit;font-size:.95rem;letter-spacing:.08em;text-align:center}.corporate-home .print .diagram{margin:0;width:100%}.corporate-home .print-foot{display:none}.hero-services{text-align:center;font-size:.9rem;letter-spacing:0;line-height:1.8;padding-top:5px}.company-workforce{border-top:1px solid #cbd8e3;border-bottom:1px solid #cbd8e3;padding:18px 0;margin:24px 0;display:flex;gap:22px;align-items:center;flex-wrap:wrap}.company-workforce strong{font-size:1.35rem;color:#285a86}.company-workforce span{font-size:.95rem;line-height:1.7}.corporate-home .hero-actions .action{padding:12px 20px;gap:20px}.english.corporate-home .hero h1{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.25}@media(max-width:1000px){.corporate-home header{grid-template-columns:1fr}.corporate-home nav{justify-content:flex-start}.corporate-home .hero{gap:3%}.corporate-home .hero-actions{display:block}}@media(max-width:850px){.corporate-home .hero{grid-template-columns:1fr;padding:30px 0 38px;gap:28px}.corporate-home .hero h1{font-size:clamp(2.2rem,7.5vw,3.1rem);line-height:1.45}.corporate-home header{padding-top:20px;padding-bottom:20px;gap:16px}.corporate-home .print{max-width:460px;margin:auto}.corporate-home .hero-actions{display:flex}.corporate-home .hero-actions .action{width:100%}.corporate-home .logo-wordmark{max-width:270px}.hero-services{font-size:.85rem}.company-workforce{gap:12px}.english.corporate-home .hero h1{font-size:2.4rem}}

.corporate-home .print .professional-illustration{display:block;width:100%;height:auto;object-fit:contain;margin:12px 0 5px}.corporate-home .print-title{font-size:.9rem;letter-spacing:.06em}.corporate-home .hero-services{font-size:.85rem}

.portrait-sprite{background-image:none;background-repeat:no-repeat;background-size:300% 100%;height:130px;width:100px;display:block}.portrait-0{background-position:0% center}.portrait-1{background-position:50% center}.portrait-2{background-position:100% center}.corporate-home .recruit-art{width:210px;height:auto;float:none;margin:0 0 20px;display:block}@media(max-width:700px){.voice-entry>.portrait-sprite{height:100px;width:77px}.corporate-home .recruit-art{width:180px}}

.portrait-sprite{background-size:300% auto}

/* Interview list: age, text, then restrained portrait on the right. */
.portrait-sprite{background-image:none}.voice-entry{display:grid;grid-template-columns:110px minmax(0,1fr) 120px;align-items:center;gap:30px}.voice-entry>.portrait-sprite{grid-column:3;grid-row:1;width:120px;height:140px;justify-self:end}.voice-entry>.voice-age{grid-column:1;grid-row:1}.voice-entry>span:last-child{grid-column:2;grid-row:1;min-width:0}@media(max-width:700px){.voice-entry{grid-template-columns:minmax(0,1fr) 85px;gap:12px 18px}.voice-entry>.voice-age{grid-column:1;grid-row:1}.voice-entry>span:last-child{grid-column:1;grid-row:2}.voice-entry>.portrait-sprite{grid-column:2;grid-row:1/3;width:85px;height:110px;align-self:start}}

/* Match the original service drawings: thin vermilion outlines, no fills. */
.voice-entry>.minimal-portrait{grid-column:3;grid-row:1;width:120px;height:145px;justify-self:end;color:#285a86}.corporate-home .recruit-art{width:110px;height:135px}.corporate-home .print .minimalist-hero{margin:8px 0;width:100%;height:auto}.minimal-portrait{background:none}@media(max-width:700px){.voice-entry>.minimal-portrait{grid-column:2;grid-row:1/3;width:85px;height:110px;align-self:start}}

/* Editorial pass: descriptive headings and the approved illustration. */
.approved-work-illustration{display:block;width:100%;height:auto;mix-blend-mode:multiply}.corporate-home .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.recruit-scene{display:block;width:100%;max-width:360px;height:auto;mix-blend-mode:multiply;margin-bottom:20px}.related-logo{display:inline-block;width:150px;height:auto;vertical-align:middle;margin-left:20px}.corporate-home section h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.5}.voice-entry strong{font-family:inherit;font-size:1.25rem}@media(max-width:850px){.corporate-home .hero{grid-template-columns:minmax(0,1fr)}.corporate-home .print{max-width:620px}.related-logo{display:block;margin:16px 0 0}.recruit-scene{max-width:320px}}

.approved-work-illustration,.recruit-scene{mix-blend-mode:normal}

/* Balanced shared masthead: quieter tagline, compact logo, equal menu gaps. */
.a header.balanced-header{padding-top:18px;padding-bottom:18px;gap:24px;align-items:center}
.a .balanced-header .logo-wordmark{width:270px;max-width:100%}
.a .balanced-header .brand{max-width:460px}
.a .balanced-header .logo-tagline{display:flex;flex-wrap:wrap;column-gap:1.5rem;row-gap:.15rem;font-size:.85rem;font-weight:400;line-height:1.65;margin-top:8px}
.a .balanced-header nav{gap:0 28px;margin-top:0;align-items:center}
@media(max-width:1000px){.a header.balanced-header{gap:16px}.a .balanced-header nav{justify-content:flex-start}}
@media(max-width:600px){.a header.balanced-header{padding-top:16px;padding-bottom:16px;gap:12px}.a .balanced-header .logo-wordmark{width:245px}.a .balanced-header .logo-tagline{font-size:.85rem;column-gap:1.5rem;row-gap:.2rem}.a .balanced-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;width:100%;padding-top:8px}.a .balanced-header nav a{min-height:44px}}

/* Align the wordmark and the complete Japanese tagline to one width. */
.a .balanced-header .brand{display:block;width:330px;max-width:100%}
.a .balanced-header .logo-wordmark{width:100%;max-width:100%}
.a .balanced-header .logo-tagline{width:100%;justify-content:space-between;column-gap:.65rem;box-sizing:border-box}
.a .balanced-header .logo-tagline>span{white-space:nowrap}
@media(max-width:360px){.a .balanced-header .logo-tagline{font-size:.78rem;column-gap:.35rem}}

.a{--accent:#285a86}.approved-work-illustration,.recruit-scene,.interview-portrait{filter:grayscale(1) sepia(1) hue-rotate(165deg) saturate(1.8);mix-blend-mode:multiply}.project-nav{background:#eef4f8}.logo-wordmark{background:white}.variant-switch{max-width:1280px;margin:auto;padding:10px 6%;display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #cbd8e3;font-size:1rem}.variant-switch a{padding:5px 0;min-height:44px}
.approved-work-illustration,.recruit-scene,.interview-portrait{filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply}
@media(min-width:851px){.corporate-home .hero h1{font-size:clamp(2.3rem,3.6vw,3.25rem)}}

/* WordPress block adaptation, retaining the supplied design. */
.wp-block-group{min-width:0}.wp-block-image{margin:0}.wp-block-image img{max-width:100%;height:auto}.wp-block-group>p:last-child{margin-bottom:0}.purpose-links>p{margin:0}.purpose-links>p>a{display:flex;flex-wrap:wrap;gap:14px;padding:24px 14px;min-height:120px}.purpose-links svg{display:none}.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.office-card{padding:24px;border:1px solid #cbd8e3}.office-card a{display:inline-block;min-height:44px;font-weight:700}.english .logo-tagline span{white-space:normal!important}.review-banner{background:#eef4f8;font-size:.9rem;padding:12px 6%;text-align:center}.footer-links{padding:24px 0}.portrait-sprite{background-image:none}.business-art{color:#285a86}.hero figure img{width:100%}.action{max-width:100%}.wp-block-group .wp-block-group{min-width:0}.note{margin-top:40px}.site-content p:empty{display:none}
@media(max-width:700px){.office-grid{grid-template-columns:1fr}.office-card{padding:20px}.purpose-links>p>a{min-height:80px}.a header.balanced-header nav{gap:4px 12px}.action{gap:12px;padding:14px 18px}.logo-tagline>span{white-space:normal!important}.site-content .row{grid-template-columns:1fr}.hero .lead br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:3px solid #145c9d;outline-offset:5px}
.purpose-links>p>a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.purpose-links .purpose-label{order:0}.purpose-links strong{order:1}.purpose-links a>span:last-child{display:none}
.a header.balanced-header>*{min-width:0}.a .balanced-header .brand{width:100%;max-width:330px}.a .balanced-header .company-logo{max-width:100%;height:auto}
@media(max-width:1000px){.a header.balanced-header{grid-template-columns:minmax(0,1fr)}}

/* Preserve the reference layout when WordPress wraps links in paragraphs. */
.hero-actions > p { margin: 0; }
.hero-actions .action { padding: 12px 20px; line-height: 1.7; }
.purpose-links > p { border-bottom: 1px solid var(--accent); }
.purpose-links > p > a {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  gap: 8px 18px;
  min-height: 128px;
  padding: 26px 18px;
}
.purpose-links > p:not(:last-child) { border-right: 1px solid #c6b5a5; }
.purpose-links > p > a::before {
  content: "";
  grid-area: 1 / 1 / 3 / 2;
  width: 100%;
  aspect-ratio: 6 / 5;
  background: center / contain no-repeat var(--purpose-art);
}
.purpose-links > p:nth-child(1) { --purpose-art: url("assets/purpose-1.svg"); }
.purpose-links > p:nth-child(2) { --purpose-art: url("assets/purpose-2.svg"); }
.purpose-links > p:nth-child(3) { --purpose-art: url("assets/purpose-3.svg"); }
.purpose-links > p > a > .purpose-label { grid-area: 1 / 2; font-size: .9rem; }
.purpose-links > p > a > strong { grid-area: 2 / 2; font-size: 1.05rem; }
.purpose-links > p > a > span:last-child { display: block; grid-area: 1 / 3 / 3 / 4; }
@media (min-width: 851px) {
  .a.corporate-home .hero { padding: 48px 0 55px; gap: 4%; }
  .a.corporate-home .hero h1 { line-height: 1.45; margin-bottom: 24px; }
  .a.corporate-home .hero .lead { line-height: 1.9; margin-bottom: 18px; }
}
@media (max-width: 850px) {
  .purpose-links > p > a { grid-template-columns: 54px minmax(0, 1fr) auto; gap: 4px 10px; min-height: 90px; padding: 12px 10px; }
}
@media (max-width: 700px) {
  .purpose-links > p:not(:last-child) { border-right: 0; }
}

/* Use grid gaps for office cards, without WordPress flow margins on grid children. */
.office-grid.is-layout-flow > .office-card { margin-block: 0; }
#offices > .office-grid { margin-block-start: 48px; }

/* Match the reference definition list using editable WordPress groups. */
.company-facts.is-layout-flow > div { margin-block: 0; }
.company-facts > div > p { margin-block: 0; }

/* The reference specifies its own spacing. Neutralize the automatic flow
   gap on these page blocks, keeping the office cards' approved spacing. */
.site-content .is-layout-flow:not(:where(.office-card, #offices, .office-grid, .hero-actions))
  > :where(.wp-block-group, .wp-block-heading, .wp-block-paragraph, .wp-block-image) {
  margin-block-start: 0;
}
.site-content :where(.is-layout-flow):not(:where(.office-card, #offices, .office-grid))
  > :where(.wp-block-heading, .wp-block-paragraph):not(:last-child) {
  margin-block-end: 1.3rem;
}
.corporate-home .site-content .business-list { margin-block-start: 35px; }
.site-content .business-item .indexlabel { margin-block-end: 8px; }
.site-content .business-item p:has(> .indexlabel) { margin-block-end: 0; }
.site-content .business-item p:last-child { margin-block-end: 0; }
.site-content .rows > .row { margin-block: 0; }
.site-content .row h3 { margin-block-end: 10px; }
.site-content .company-facts > div > p { margin-block: 0; }
.site-content .company-centered .company-workforce { margin-block: 24px; }
.site-content .hero-actions > p, .site-content .purpose-links > p { margin-block: 0; }
.site-content #recruit .recruit-scene { margin-block-end: 20px; }
.site-content #recruit .split { align-items: center; }
.site-content .contact-details > p:has(> .contact-phone, > .textlink),
.site-content #related p:has(> .action) { margin-block-end: 0; }
@media (min-width: 851px) {
  .site-content .hero .hero-actions { margin-block-start: 0; }
}

/* Align the Japanese tagline to the visible edges of the blue wordmark. */
html[lang="ja"] .balanced-header .logo-tagline {
  padding-inline: 2.35% 2.77%;
  column-gap: .3rem;
}

.sanko-quick-links {
  position: fixed;
  z-index: 100;
  right: 20px;
  bottom: 20px;
  display: flex;
  gap: 8px;
  margin: 0;
}
.sanko-quick-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #285a86;
  border-radius: 8px;
  background: #fff;
  color: #285a86;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}
.sanko-quick-links [data-quick-link="jobs"] {
  background: #285a86;
  color: #fff;
}
.sanko-quick-links a[hidden],
.sanko-quick-links:not(:has(a:not([hidden]))) {
  display: none;
}
body:has(.sanko-quick-links) {
  padding-bottom: calc(86px + env(safe-area-inset-bottom));
}
html:has(.sanko-quick-links) {
  scroll-padding-bottom: calc(86px + env(safe-area-inset-bottom));
}
@media (max-width: 700px) {
  .sanko-quick-links {
    inset: auto 0 0;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #d4e0e9;
  }
  .sanko-quick-links a {
    flex: 1;
    padding-inline: 6px;
  }
}
@media print {
  .sanko-quick-links { display: none; }
}
