
.kh-interview-shell{--navy:#071b29;--navy2:#0b2738;--navy3:#123649;--gold:#e2c79f;--gold2:#ddc09a;--paper:#f5f7f7;--card:#ffffff;--ink:#172f3b;--body:#344a56;--muted:#667983;--line:#dfe7eb;--wide:1180px;--serif:"Yu Mincho","Noto Serif JP",serif;--sans:Meiryo,"Noto Sans JP","Yu Gothic",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth} body.kh-interview-template{margin:0;font:18px/1.92 var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased} a{color:inherit}
button{font:inherit} img{display:block;max-width:100%} .wide{width:min(var(--wide),calc(100% - 64px));margin-inline:auto}
.page-surface{width:100%;margin:auto;background:var(--paper);overflow:hidden;min-height:100vh;transition:width .28s ease}
body.kh-interview-template.device-mobile{background:#dbe6eb} body.kh-interview-template.device-mobile .page-surface{width:390px;max-width:100%;box-shadow:0 20px 65px #142f4050}
.sitehead{height:82px;background:var(--navy);border-bottom:1px solid #ffffff27;color:white}
.headinner{height:100%;display:flex;align-items:center;gap:20px}.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.28;min-width:165px}.brand small{color:#b9ccd6;font-size:12px}.brand strong{font:600 25px/1.5 var(--serif);letter-spacing:.025em}
.topnav{display:flex;align-items:center;gap:24px;margin-left:auto}.topnav a{text-decoration:none;font-size:14px;font-weight:700;color:#f0f5f7;white-space:nowrap}.topnav a.active{color:#e2c79f;border-bottom:1px solid #e2c79f;padding-bottom:3px}
.topnav a.cta{background:var(--gold);padding:10px 18px;color:#102a38;border-radius:2px}
.menuicon{display:none;border:1px solid #89a3b2;background:transparent;color:white;border-radius:5px;padding:7px 10px;cursor:pointer}
.hero{background:radial-gradient(ellipse at 73% 45%,#214b60bb 0,transparent 50%),linear-gradient(112deg,#0b2a3c,#061c29 88%);color:#fff;overflow:hidden}
.herogrid{display:grid;grid-template-columns:.98fr 1.02fr;align-items:center;gap:68px;padding:74px 0 74px}
.hero-copy{position:relative;z-index:2}.kicker{margin:0 0 22px;font-size:15px;font-weight:700;color:var(--gold);letter-spacing:.12em}
.hero h1{font:600 clamp(34px,3.3vw,47px)/1.52 var(--serif);letter-spacing:-.022em;margin:0 0 28px;text-wrap:balance}
.hero p.lead{font-size:19px;line-height:1.98;color:#dce6ec;max-width:550px;margin:0}
.hero-byline{margin-top:26px;color:#d7e4eb;font-size:16px;letter-spacing:.02em}
.herofigure{margin:0;position:relative;align-self:stretch;display:flex;align-items:center}.herofigure img{width:100%;height:475px;object-fit:cover;object-position:48% 35%;border-radius:4px;box-shadow:0 22px 50px #0006;filter:saturate(.94)}
.herofigure:after{position:absolute;content:"";inset:auto -15px -15px auto;width:63%;height:2px;background:var(--gold);opacity:.75}
.crumb{background:#edf3f5;padding:20px 0;color:#607784;font-size:14px}.crumb a{text-decoration:none}.crumb span{color:#a1b3bd;margin:0 10px}
.intro{padding-top:62px;padding-bottom:48px}.intro p{max-width:890px;font-size:19px;line-height:2.02;margin:0 0 28px;color:#324c59}
.jumpnav{display:flex;gap:12px;flex-wrap:wrap}.jumpnav a{border:1px solid #b7cbd6;background:#fff;color:#23465b;padding:11px 18px;text-decoration:none;font-size:15px;font-weight:700;border-radius:3px}.jumpnav a:hover{background:#12374c;color:white}
.article{background:#fff;padding-bottom:98px}
.topic{padding:68px 0 0;border-bottom:1px solid var(--line);scroll-margin-top:42px}
.topic:last-of-type{border-bottom:0}
.sectionhead{display:grid;grid-template-columns:7px minmax(0,1fr);gap:18px;margin-bottom:42px;max-width:990px}
.sectionhead:before{content:"";background:var(--gold2);height:calc(100% - 6px);min-height:57px;display:block}
.sectionhead h2{font:600 clamp(29px,2.6vw,37px)/1.55 var(--serif);margin:0 0 6px;color:#0d3043}
.sectionhead p{font-size:16px;color:#637784;line-height:1.8;margin:0}
.qa{max-width:1040px;margin:0 auto 46px}
.qtitle{font:700 clamp(22px,2vw,27px)/1.7 var(--sans);color:#143648;letter-spacing:-.018em;margin:0 0 22px;display:flex;align-items:flex-start;gap:14px}
.qtitle .qmark{flex:0 0 36px;width:36px;height:36px;border-radius:4px;background:#173c51;color:var(--gold);font:700 21px/36px var(--sans);text-align:center;margin-top:3px}
.answer{padding-left:50px}.answer p{font-size:18px;line-height:2.12;color:#304650;margin:0 0 19px;max-width:860px;text-wrap:pretty}
.answer p:last-child{margin-bottom:0}
.qa.hasphoto{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.63fr);gap:35px;align-items:start}
.qa.hasphoto .answer{padding-left:50px}.qa.hasphoto .answer p{max-width:none}
.qa-photo{margin:10px 0 0;min-width:0}.qa-photo img{width:100%;height:310px;object-fit:cover;object-position:50% 44%;border-radius:5px}
.qa-photo.portrait img{height:360px}.qa-photo.wide img{height:275px}
.qa-photo figcaption{font-size:12px;color:#7a8c98;margin-top:9px;text-align:right}
.pullquote{background:#092738;color:white;margin:42px 0 68px;padding:48px max(32px,calc((100vw - 1180px)/2));text-align:center;border-top:1px solid #e2c79f80;border-bottom:1px solid #e2c79f80}
.pullquote p{font:600 clamp(26px,2.9vw,37px)/1.7 var(--serif);margin:0;color:#fff}
.pullquote span{display:block;margin-top:14px;color:#d4b98e;font-size:15px;letter-spacing:.03em}
.qa.finalqa{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:36px}
.qa.finalqa .qa-photo{grid-column:2;grid-row:1}.qa.finalqa .qa-text{grid-column:1;grid-row:1}
.qa.finalqa .qa-photo img{height:450px;object-position:50% 50%}
.cta-wrap{background:#ecf3f5;padding:80px 0 96px}.cta-panel{background:linear-gradient(110deg,#12364a,#082333);color:#fff;border:1px solid #487083;border-radius:9px;padding:56px 6%;text-align:center}
.cta-panel h2{font:600 clamp(29px,3vw,39px)/1.5 var(--serif);margin:0 0 17px}
.cta-panel p{color:#dae6ed;font-size:18px;line-height:1.9;margin:0 auto 24px;max-width:700px}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.cta-actions a{display:inline-block;text-decoration:none;background:var(--gold);color:#102c3d;font-size:16px;font-weight:750;padding:14px 27px;border:1px solid var(--gold);border-radius:4px}
.cta-actions a.secondary{background:transparent;color:#fff;border-color:#839fab}
.sitefooter{margin:0;padding:60px 0 0;background:#061927;border-top:1px solid #345163;color:#f3f7f9}
.footgrid{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:38px;align-items:center}
.companyname{font:600 27px/1.4 var(--serif);margin:0 0 12px;color:#fff;letter-spacing:.04em}
.companyaddress{font-style:normal;font-size:15px;color:#dce8ee;line-height:2}
.footerlinks{list-style:none;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:14px 20px;margin:0;padding:0}
.footerlinks li{list-style:none;margin:0;padding:0}.footerlinks a{display:block;text-decoration:none;color:#f2f6f9;font-size:15px;font-weight:600;white-space:nowrap;border-bottom:1px solid transparent;padding:6px 0}
.footerlinks a:hover{color:var(--gold);border-color:var(--gold)}
.footbottom{margin-top:60px;padding:21px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #345163;color:#c9d8e0;font-size:13px}
.footbottom a{text-decoration:none;color:#e1e9ee}
@media(max-width:1080px){.topnav{gap:16px}.topnav a{font-size:13px}.herogrid{gap:36px}.qa.hasphoto{grid-template-columns:minmax(0,1fr) 280px;gap:24px}.qa.finalqa{grid-template-columns:minmax(0,1fr) 280px}.footgrid{grid-template-columns:1fr;align-items:start}.footerlinks{justify-content:flex-start}}
@media(max-width:800px){.wide{width:calc(100% - 42px)}.sitehead{height:auto;min-height:74px}.headinner{min-height:74px}.brand small{font-size:11px}.brand strong{font-size:22px}.topnav{display:none}.menuicon{display:block;margin-left:auto}.sitehead.menuopen .topnav{display:flex;position:absolute;top:74px;left:0;right:0;background:#071b29;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 22px;z-index:100;box-shadow:0 10px 22px #0006}.sitehead.menuopen .topnav a{display:block;padding:11px 7px;font-size:16px}.sitehead.menuopen .topnav a.cta{margin-top:8px;text-align:center}.herogrid{grid-template-columns:1fr;padding:42px 0 54px;gap:36px}.hero h1{font-size:38px}.herofigure img{height:370px}.intro{padding-top:40px}.topic{padding-top:55px}.qa.hasphoto,.qa.finalqa{display:block}.qa.hasphoto .qa-photo,.qa.finalqa .qa-photo{width:min(100%,500px);margin:26px 0 20px auto}.qa.hasphoto .qa-photo img,.qa.finalqa .qa-photo img{height:auto;aspect-ratio:1.5;object-fit:cover}.answer,.qa.hasphoto .answer{padding-left:0}.qtitle{gap:11px}.sectionhead{margin-bottom:34px}.footbottom{margin-top:42px}}
@media(max-width:500px){.previewbar-inner{min-height:54px}.previewbar .previewhint{display:none}.previewbar strong{font-size:12px}.previewcontrols button{padding:7px 8px;font-size:12px}.wide{width:calc(100% - 34px)}.sitehead{min-height:70px}.headinner{min-height:70px}.brand{min-width:0}.brand strong{font-size:22px}.sitehead.menuopen .topnav{top:70px}.hero h1{font-size:32px}.hero p.lead{font-size:17px}.kicker{font-size:13px;margin-bottom:16px}.herofigure img{height:270px}.hero-byline{font-size:14px}.crumb{font-size:12px;padding:15px 0}.intro{padding-top:32px;padding-bottom:34px}.intro p{font-size:18px}.jumpnav{gap:8px}.jumpnav a{font-size:13px;padding:8px 11px}.sectionhead{gap:13px;grid-template-columns:4px 1fr}.sectionhead h2{font-size:28px}.sectionhead p{font-size:15px}.topic{padding:45px 0 0}.qtitle{font-size:20px;line-height:1.6}.qtitle .qmark{width:30px;height:30px;flex-basis:30px;font-size:18px;line-height:30px}.answer p,.qa.hasphoto .answer p{font-size:18px;line-height:2.00}.qa{margin-bottom:43px}.qa.hasphoto .qa-photo{margin-left:auto;margin-right:auto}.pullquote{padding:36px 19px;margin:22px 0 44px}.pullquote p{font-size:26px}.cta-wrap{padding:48px 0 60px}.cta-panel{padding:35px 19px}.cta-panel h2{font-size:27px}.cta-panel p{font-size:16px}.cta-actions a{width:100%;font-size:15px}.sitefooter{padding-top:42px}.footgrid{gap:32px}.companyname{font-size:25px}.companyaddress{font-size:14px}.footerlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}.footerlinks a{font-size:14px;white-space:normal}.footbottom{margin-top:33px;flex-wrap:wrap;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-surface{transition:none}}

/* Production layout reset: preserve the approved preview within a theme-independent template. */
body.kh-interview-template{margin:0!important;padding:0;background:#f5f7f7;color:#172f3b;font:18px/1.92 Meiryo,"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif}
body.kh-interview-template .kh-interview-shell{width:100%;overflow:hidden;min-height:100vh;font-family:Meiryo,"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif}
body.kh-interview-template .kh-interview-shell *,body.kh-interview-template .kh-interview-shell *::before,body.kh-interview-template .kh-interview-shell *::after{box-sizing:border-box}
body.kh-interview-template .kh-interview-shell :is(h1,h2,h3,h4,p,figure,ul,ol){margin-block-start:0}
body.kh-interview-template .kh-interview-shell main{display:block}
body.kh-interview-template .kh-interview-shell a{cursor:pointer}
body.kh-interview-template .kh-interview-shell .menuicon{cursor:pointer}
body.kh-interview-template .kh-interview-shell .qtitle{font-family:Meiryo,"Noto Sans JP",sans-serif}
body.kh-interview-template .kh-interview-shell .answer p{font-size:18px;line-height:2.12}
body.kh-interview-template .kh-interview-shell .khuf-footer{margin-top:0}
@media(max-width:500px){body.kh-interview-template .kh-interview-shell .answer p{font-size:18px;line-height:2}}

/* v1.0.3: Keep each intended headline line intact on narrow screens. */
.kh-interview-shell .hero h1 .khuf-h1-line {
  display: block;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
@media (max-width: 500px) {
  body.kh-interview-template .kh-interview-shell .hero h1 {
    font-size: clamp(21px, 7.5vw, 32px);
    line-height: 1.52;
    letter-spacing: -0.025em;
  }
}
