/* ============ PDF設計値ベース（2026-09-02 全面リライト） ============ */
:root{--yellow:#fff100;--bg:#eeeeee;--bg2:#dddddd;--dark:#232020;--ink:#232020;--rule:#232020;--body:#2e2e2e;--ink-1:#111111;--ink-2:#232020;--ink-3:#2e2e2e;--ink-4:#1f191a}
*{box-sizing:border-box;margin:0}
b,strong{font-weight:500}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html{scroll-behavior:smooth}
body{line-break:strict}
body{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;color:var(--ink);background:var(--bg);line-height:1.43;font-size:14px;overflow-x:hidden}
.en{font-family:"Work Sans","Zen Kaku Gothic New",sans-serif}
.wrap{max-width:1366px;margin:0 auto;padding:0 20px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h2{font-size:inherit}
.eyebrow{font-size:20px;font-weight:500;letter-spacing:0;margin-bottom:8px;display:block}
.h-sub{font-size:24px;font-weight:500;line-height:1.25;margin-bottom:16px;letter-spacing:.6px;color:var(--ink-1)}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:12px;padding:12px 30px;font-weight:500}
header .pill{width:148px;height:42px;padding:0}
.pill.yel{background:var(--yellow);color:var(--ink-1);letter-spacing:-.5px}
.pill.dark{background:var(--dark);color:#eee;letter-spacing:-1.2px}
.more{color:var(--ink-4);display:inline-block;font-size:14px;letter-spacing:-1.1px;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:5px}
.more::after{content:"";display:inline-block;width:20px;height:20px;vertical-align:-4px;margin-left:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2022.5%2022.5%22%20width%3D%2290%22%20height%3D%2290%22%3E%0A%20%20%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22butt%22%20stroke-linejoin%3D%22miter%22%20d%3D%22M0.7%200.7%20L22%2022%20M22%200.5%20V22%20H0.25%22/%3E%0A%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2022.5%2022.5%22%20width%3D%2290%22%20height%3D%2290%22%3E%0A%20%20%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22butt%22%20stroke-linejoin%3D%22miter%22%20d%3D%22M0.7%200.7%20L22%2022%20M22%200.5%20V22%20H0.25%22/%3E%0A%3C/svg%3E") center/contain no-repeat}
/* [HD] header: 高さ120 */
header{position:sticky;top:0;z-index:50;background:var(--bg);height:120px;padding:22px 20px 0;display:flex;align-items:flex-start;gap:21px;border-bottom:1px solid #d9d9d9}
.logo{width:116px;height:auto;flex:none;display:block}

header nav{color:var(--ink-1);display:flex;gap:34px;font-size:12.5px;flex:1;margin-top:12px;margin-left:9px}
.h-tel{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #111;border-radius:999px;width:148px;height:42px;line-height:1.3;margin-top:6px;flex:none}
.h-tel span{display:flex;flex-direction:column;align-items:center}
.h-tel b{font-size:13px;font-weight:400;color:var(--ink-1)}
.h-tel small{font-size:8px;color:var(--ink)}
.h-cta{display:flex;gap:20px;margin-top:6px}
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer;color:var(--ink);line-height:0}
.spnav{display:none}
.spnav.open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;box-shadow:0 8px 20px rgba(0,0,0,.08);padding:8px 0 14px}
.spnav a{display:block;padding:13px 26px;font-size:15px;border-bottom:1px solid #d9d9d9}
.spnav .sp-tel{font-weight:500}
/* [FV] FV: 1366x706 */
.fv{background:#dcdcdc}
.fv video{width:100%;aspect-ratio:1366/768;display:block;background:#d6d4d0}
/* [BD] 黒帯: 高さ180 */
.band{background:var(--dark);color:#eee;text-align:center;padding:24px 20px 20px;display:block}
.band .s1{font-size:16px;font-weight:500;letter-spacing:.04em}
.band .s1 .en{font-size:18px;letter-spacing:.06em}
.band .s2{font-size:46px;font-weight:500;letter-spacing:0;font-feature-settings:"palt";line-height:1.25;margin:2px 0 6px}
.band .s2 .en{font-size:52px;letter-spacing:.01em}
.ar-band{width:34px;height:35px;display:inline-block;vertical-align:3px;margin:0 12px 0 6px;color:#eee}
.band .s3{font-size:16px;font-weight:500;color:#eee;line-height:1.25;letter-spacing:.64px}
.band .s3 .b2{letter-spacing:1.44px}
/* [HC] HCR / TALK: 左495 右654 */
.hcr{padding:31px 0 60px}
.hcr-grid{display:grid;grid-template-columns:minmax(0,495fr) minmax(0,654fr);gap:min(183px,13vw)}
.hcr .date .dn{display:block;padding-left:1.95em}
.ar-down{width:40px;height:40px;display:inline-block;color:var(--ink-2)}
.hcr .date{font-size:60px;font-weight:500;line-height:.97;margin:56px 0 63px}
.hcr .place{font-size:20px;font-weight:500}
.hcr .time{font-size:14px;color:var(--ink);margin-bottom:10px;letter-spacing:.43px}
.hcr .spec th,.hcr .spec td{padding:10px 0}
.hcr .spec th{padding-left:17px}
.spec{width:100%;border-collapse:collapse;font-size:14px}
.spec th{font-weight:500;color:#111;text-align:left;width:151px;padding:13px 0 13px 17px;border-bottom:.5px solid var(--rule);vertical-align:top;white-space:nowrap}
.spec td{padding:13px 0;border-bottom:.5px solid var(--rule);color:#111;letter-spacing:.8px}
.spec td small{font-size:14px;letter-spacing:.7px}
.spec tr:first-child th,.spec tr:first-child td{border-top:.5px solid var(--rule)}
.z1-spec .spec tr:first-child th,.z1-spec .spec tr:first-child td{border-top:none}
.z1-spec .spec th{font-weight:400;color:var(--ink-2)}
.z1-spec .spec td{color:var(--ink-2)}
.co-grid .spec th{color:var(--ink-2)}
.co-grid .spec td{color:var(--ink-2)}
.mcard .spec th{font-weight:400;color:var(--ink-3)}
.mcard .spec td{font-weight:500;color:var(--ink-1)}
.talk h3{font-size:24px;font-weight:500;line-height:1.25;margin:12px 0 20px}/* lh47.5は再適用禁止(textdiffのpdf_lead誤検出。PDF実測は行送り30px=1.25) */
.talk .meta{font-size:16px;color:#111}
.talk .meta b{color:var(--ink-2);font-size:24px;font-weight:500;letter-spacing:-1px;font-family:"Work Sans","Zen Kaku Gothic New",sans-serif}
.talk .meta.detail .hang{display:block;padding-left:3em;text-indent:-3em}
.talk .meta.detail{font-size:14px;margin-top:28px;line-height:1.43;max-width:560px}
.speakers{display:flex;gap:26px;margin-top:42px;padding-left:6px;flex-wrap:wrap;align-items:flex-end}
.sp-card{text-align:center}
.sp-card img{width:129px;height:auto;margin:0 auto 8px}
.sp-role{font-size:12px;color:#111;letter-spacing:-1.1px}
.sp-name{font-size:12px;font-weight:500;letter-spacing:-.2px;color:var(--ink-1)}
.sp-name small{font-size:8px}
/* [Z2] Z2: PC=座標配置(1366キャンバス基準) 高さ1623 */
.z2{background:var(--bg2)}
.z2 .wrap{position:relative;height:1623px;max-width:1366px;overflow:hidden;padding:0}
.z2 .badge{position:absolute;left:20px;top:48px;width:316px;height:85px;display:flex;align-items:center;justify-content:center;background:var(--dark);color:#eee;border-radius:999px;padding:0;font-size:35px;font-weight:500;line-height:1}
.z2 .big{color:var(--ink-4);position:absolute;left:-3px;top:112px;font-size:556px;font-weight:400;line-height:1;letter-spacing:0}
.z2 .copy{color:var(--ink-1);position:absolute;left:28px;top:585px;z-index:1;font-size:46.9px;font-weight:500;letter-spacing:-2.96px;white-space:nowrap}
.z2-grid > img{position:absolute;left:563px;top:36px;width:935px;max-width:none;clip-path:inset(0 0 0 130px)}
.z2-feats > img{position:absolute;left:89px;top:768px;width:516px;height:542px}
.z2-feats > div{position:absolute;left:693px;top:830px;width:653px}
.z2-grid,.z2-feats{display:contents}
.feat{margin-bottom:15px}
.feat .fp{display:inline-block;background:var(--dark);color:#eee;border-radius:999px;font-size:15px;font-weight:500;padding:7px 21px;margin-bottom:9px}
.feat p{font-size:14px;color:var(--body)}
.cases3{position:absolute;left:0;top:1354px;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.cases3 img{aspect-ratio:439/247;object-fit:cover;width:100%}
/* [MS] ミッション帯: グレー地・黒文字 高さ123 */
.mission{background:var(--bg);color:#1f191a;overflow:hidden;padding:21px 0}
.mq{white-space:nowrap;font-size:56px;font-weight:500;letter-spacing:-.03em}
.mq .track{display:inline-block;animation:mq 26s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq span{padding-right:90px}
/* [Z1] Z1 */
.z1{padding:15px 0 67px;background:var(--bg2)}
.z1 .lead{font-size:14px;color:var(--body);max-width:668px;margin-bottom:52px}
.z1-cmp{display:grid;grid-template-columns:minmax(0,554fr) 214px minmax(0,562fr);gap:0;align-items:start;position:relative}
.z1-cmp img{width:100%;aspect-ratio:554/646;object-fit:cover}
.z1-cmp .mid{font-size:25px;font-weight:500;text-align:center;margin:120px 0 0;letter-spacing:0;display:flex;align-items:center;justify-content:center;gap:16px;color:#111;grid-column:2;width:100%}
.z1-cmp .mid > span.vtext{writing-mode:vertical-rl}
.cmp-ar{width:40.02px;flex:none;color:#232020;overflow:visible}
.br-sp{display:none}
.mrow{display:grid;grid-template-columns:minmax(0,652fr) minmax(0,653fr);gap:20px;margin-top:53px}
.mcard h3{font-size:40px;font-weight:500;letter-spacing:.01em;color:var(--ink-1)}
.mcard .tag{font-size:15px;color:#5e5e5e;margin:-5px 0 14px}
.mcard .spec th{width:335px;padding:11px 0 11px 11px}
.mcard .spec td{padding:11px 0}
.spec td.en{letter-spacing:0}
.mcard .spec td.en{font-weight:400;font-size:30px;padding-top:2px;padding-bottom:10px}
.z1-spec{display:grid;grid-template-columns:minmax(0,653fr) minmax(0,500fr);gap:60px;margin-top:141px;align-items:start}
.z1-spec .spec th{width:208px;padding:24px 0}
.z1-spec .spec td{padding:24px 0}
.z1-spec h3{color:var(--ink-1);font-size:20px;font-weight:500;border-bottom:.5px solid var(--rule);padding-bottom:14px;margin-bottom:0}
.z1-spec .tower{width:279px;height:661px;margin:20px auto 0}
.z1 .more-r{text-align:right;margin-top:36px}
/* [FT] FEATURES: 黒 */
.features{background:var(--dark);color:#d8d8d8;padding:54px 0 37px}
.features .eyebrow{color:#eee}
.features .intro{display:grid;grid-template-columns:500px minmax(0,1fr);gap:172px;font-size:14px;color:#d8d8d8;margin:16px 0 40px}
.f-grid{display:grid;grid-template-columns:512px minmax(0,1fr);gap:160px;align-items:start}
.f-grid img{width:371px;height:665px;margin:8px 0 0 142px}
.f-grid > div{margin-top:158px}
.features .feat{margin-bottom:52px}
.features .feat .fp{background:#eeeeee;color:var(--ink-2);font-size:16px}
.features .feat p{color:#d8d8d8}
/* [PM] 確認申請 */
.permit{padding:50px 0 19px}
.permit .h-sub{letter-spacing:.72px}
.permit .body{font-size:14px;color:var(--body);max-width:550px;letter-spacing:.28px}
.permit .body+.body{margin-top:34px}
.permit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:8px}
.permit-grid > div:last-child{margin-top:87px}
.permit-grid h3{font-size:20px;font-weight:500;color:var(--ink-1)}
.cond{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin-top:28px}
.cond .card{border:1px solid var(--ink);border-radius:10px;padding:22px 20px;font-size:14px;color:var(--ink-3)}
.cond .card:first-child{color:var(--ink-2)}
.cond .card .sub{display:block;margin-bottom:14px}
.cond .card b{display:block;font-size:20px;font-weight:400;margin-bottom:10px;color:var(--ink-2)}
.cond .card .sub{display:block;margin-bottom:18px}
.cond .or{align-self:center;font-size:14px}
.permit .note{font-size:14px;color:var(--body);margin-top:20px}
.permit .note a{text-decoration:underline}
/* [CS] 導入事例 */
.case{background:var(--bg2);padding:16px 0 35px}
.case h2{font-size:20px;font-weight:500;color:var(--ink-1)}
.case-grid{display:grid;grid-template-columns:minmax(0,650fr) minmax(0,650fr);gap:26px;margin-top:36px}
.case-grid img{aspect-ratio:1/1;object-fit:cover;width:100%}
.case-grid .num{font-size:20px;margin-bottom:12px}
.case-grid .cap{margin-top:14px;font-size:16px}
.case-grid .ctag{display:table;background:var(--dark);color:#eee;font-size:12.5px;border-radius:999px;padding:2px 14px;margin-bottom:8px}
.case .more-r{text-align:right;margin-top:36px}
/* [IV] INTERVIEW */
.interview{padding:44px 0 63px}
.interview .eyebrow{color:var(--ink-1);font-size:24px;letter-spacing:.01em;margin-bottom:8px}
.interview .lead-iv{font-size:16px;color:#111;margin-top:20px}
.iv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.iv .thumb{position:relative;cursor:pointer;background:#f1f1f1;border:1px solid #c9c9c9}
.iv .thumb img{aspect-ratio:426/220;object-fit:cover;width:100%}
.iv .thumb::after{content:"▶";position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#f1f1f1;border:1px solid #111;display:flex;align-items:center;justify-content:center;color:#111;font-size:14px;font-family:"Hiragino Sans",sans-serif;font-weight:300}
.iv .thumb:hover::after{background:#111;color:#f1f1f1}
.iv .t1{color:var(--ink-1);font-size:16px;font-weight:500;margin-top:14px;line-height:1.4;letter-spacing:.6px}
.iv .t2{font-size:14px;color:var(--body);letter-spacing:.52px}
.interview .more-r{text-align:right;margin-top:72px}
/* [CO] COMPANY */
.company{padding:14px 0 61px}
.company .eyebrow{margin-bottom:21px}
.company .h-sub{margin-bottom:25px}
.co-grid{display:grid;grid-template-columns:minmax(0,653fr) minmax(0,652fr);gap:20px;align-items:end;margin-top:0}
.co-grid .spec th{width:158px;padding:24px 0}
.co-grid .spec td{padding:24px 0}
.company img{filter:grayscale(100%);aspect-ratio:652/344;object-fit:cover}
.company .more-r{text-align:right;margin-top:36px}
/* [CT] CONTACT */
.contact{padding:19px 0 102px;text-align:center}
.contact h2{font-size:24px;letter-spacing:.03em;font-weight:500;color:var(--ink-1)}
.contact p{font-size:14px;color:var(--ink);margin:18px 0 90px}
.c-cta{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;align-items:center}
.c-tel{display:flex;gap:10px;align-items:center;justify-content:center;border:1px solid #111;border-radius:999px;width:296px;height:84px;padding:0}
.c-tel b{font-size:26px;font-weight:400;color:var(--ink-1)}
.c-tel small{font-size:15px;color:var(--ink);display:block;line-height:1.3;text-align:center}
.contact .pill{font-size:24px;width:295px;height:84px;padding:0}
.contact .pill.dark{letter-spacing:-2.5px}
.contact .pill.yel{letter-spacing:-1.2px}
/* [FO] footer: #232020 高さ277 */
footer{background:var(--dark);color:#eee;padding:40px 20px 10px}
.f-grid2{display:grid;grid-template-columns:6fr 3fr 3fr;gap:32px;max-width:1326px;margin:0 auto;align-items:start}
.f-brand{display:block}
.f-logo{width:205px;height:auto;display:block}
footer ul{list-style:none;padding:0 0 0 10px;}
.f-grid2 > ul:last-child{padding-left:0}
footer ul{font-size:12px;display:flex;flex-direction:column;gap:16px;color:#eee}
.f-cr{max-width:1326px;margin:28px auto 0;font-size:12px;color:#eee;text-align:right}
/* video overlay */
.ovl{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.ovl.open{display:flex}
.ovl .box{width:min(920px,100%);aspect-ratio:16/9;position:relative}
.ovl iframe{width:100%;height:100%;border:0}
.ovl .x{position:absolute;top:-44px;right:0;color:#fff;font-size:30px;cursor:pointer;background:none;border:0}
/* fixbar */
.fixbar{position:fixed;bottom:0;left:0;right:0;background:#111;display:none;gap:1px;z-index:60}
.fixbar a{flex:1;text-align:center;color:#fff;font-size:13px;padding:15px 4px;background:#222}
.fixbar a.tb{background:var(--yellow);color:#111;font-weight:500}
@media (prefers-reduced-motion: reduce){
  .mq .track{animation:none}
  html{scroll-behavior:auto}
}
/* 中間幅〜SP: Z2をフローに戻す */
@media(max-width:1286px){
  .z2 .wrap{height:auto;overflow:visible;padding:60px 20px}
  .z2 .badge{position:static;display:inline-flex;width:auto;height:auto;padding:.6em 1.5em;font-size:clamp(18px,2.7vw,35px)}
  .c-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,295px));justify-content:center;gap:clamp(14px,2.5vw,40px)}
  .contact .pill,.c-tel{width:100%;min-width:0;height:64px;padding:0}
  .contact .pill{font-size:clamp(16px,1.85vw,24px)}
  .c-tel b{font-size:clamp(18px,2vw,24px)}
  .c-tel small{font-size:13px}
  .z2 .badge,.z2 .big,.z2 .copy,.z2-grid > img,.z2-feats > img,.z2-feats > div,.cases3{position:static}
  .z2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
  .z2-feats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:56px;align-items:start}
  .z2-grid > img{width:100%;max-width:none;height:auto;clip-path:none}
  .z2-feats > img{width:min(100%,516px);height:auto;margin:0 auto}
  .z2-feats > div{width:auto}
  .z2 .big{font-size:200px}
  .z2 .copy{font-size:clamp(22px,3vw,32px);white-space:normal;margin-top:8px}
  .cases3{margin-top:48px}
}
@media(max-width:820px){
  header nav,.h-tel,.h-cta{display:none}
  .menu-btn{display:block}
  header{height:64px;padding:0 16px;align-items:center}
  .logo{width:64px}
  .menu-btn{margin-top:0}
  .hcr-grid,.f-grid,.permit-grid,.case-grid,.iv-grid,.co-grid,.mrow,.features .intro,.z2-grid,.z2-feats{grid-template-columns:1fr}
  /* PC用の大きな列gapがSP縦積みで段落間の空白になるのを防ぐ */
  .features .intro{gap:24px}
  .f-grid{gap:32px}
  .f-grid > div{margin-top:0}
  .z1-spec{gap:24px}
  .interview .more-r{margin-top:40px}
  .contact p{margin:18px 0 40px}
  .contact{padding:19px 0 64px}
  .hcr .date{margin:32px 0 40px}
  .hcr-grid{gap:32px}
  /* Z1段積み(260907_HCR_LP_段積みメモ_SP.pdf): キャッチ→写真1→Z1表→写真2→Z1plus表 */
  .z1 .wrap{display:flex;flex-direction:column}
  .z1-cmp,.mrow{display:contents}
  .z1-cmp .mid{grid-column:auto;writing-mode:horizontal-tb;font-size:22px;text-align:left;order:1;margin:8px 0 24px;padding:0}
  .z1-cmp .mid > span.vtext{writing-mode:horizontal-tb}
  .cmp-ar{display:none}
  .z1-cmp img:first-child{order:2}
  .mrow .mcard:first-child{order:3;margin:20px 0 48px}
  .z1-cmp img:last-of-type{order:4}
  .mrow .mcard:last-child{order:5;margin:20px 0 0}
  .z1-spec{order:6;grid-template-columns:1fr;margin-top:56px;display:grid}
  .z1 .more-r{order:7}
  .br-sp{display:inline}
  .cases3{grid-template-columns:1fr}
  .z2 .big{font-size:36vw}
  .hcr .date{font-size:38px}
  .band .s2{font-size:26px}
  .band .s2 .en{font-size:29px}
  .mq{font-size:30px}
  .mcard h3{font-size:28px}
  .z1 .eyebrow{font-size:38px!important}
  .f-grid2{grid-template-columns:1fr}
  .fixbar{display:flex}
  body{padding-bottom:54px}
  .contact .pill{font-size:16px;padding:14px 34px}
  .spec th{white-space:normal;width:96px;padding-left:8px}
  .mcard .spec th{width:120px}
  .co-grid .spec th,.z1-spec .spec th{padding:16px 0;width:110px}
  .z1-spec .spec td,.co-grid .spec td{padding:16px 0}
  .f-grid img{max-height:420px;width:auto;margin:8px auto 0}
  .cond{grid-template-columns:1fr}
  .cond .or{justify-self:center}
  .ar-band{width:20px;height:21px;margin:0 6px}
  .ar-down{width:26px;height:26px}
  .permit-grid > div:last-child{margin-top:24px}
  .features .feat{margin-bottom:28px}
  .c-tel b{font-size:20px}
  .speakers{gap:18px}
}
