#kt-v2{ --v2-ink:#0e0e0e; --v2-line:#e2e2e2; --v2-mute:#8c8c8c; --v2-text:var(--ink-soft); --v2-wrap:920px; --v2-gap:clamp(32px,6vw,96px); --v2-pad:clamp(20px,5vw,40px); }
#kt-v2#kt-v2 body#home{ background:#000; }
#kt-v2#kt-v2 body#home::before{ background-color:#000; }

@media (min-width:821px){
  #kt-v2#kt-v2 header{ position:sticky; top:0; z-index:100; height:auto; display:block; box-shadow:none; border-bottom:1px solid rgba(255,255,255,.16); }
  #kt-v2#kt-v2 header::before{ display:none; }
  #kt-v2#kt-v2 header::after{ content:""; display:block; position:absolute; left:0; right:0; top:calc(100% + 1px); height:22px; background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 100%); pointer-events:none; }
  #kt-v2#kt-v2 header .inner{ max-width:var(--v2-wrap); padding:0; display:flex; align-items:center; justify-content:space-between; height:96px; }
  #kt-v2#kt-v2 header .name{ font-size:22px; }
  #kt-v2#kt-v2 nav{ position:absolute; top:0; left:50%; transform:translateX(-50%); width:calc(100% - 2 * var(--v2-pad)); max-width:var(--v2-wrap); height:96px; margin:0; padding:0; display:flex; align-items:center; justify-content:flex-end; gap:0 36px; pointer-events:none; }
  #kt-v2#kt-v2 nav a{ pointer-events:auto; min-width:0; margin:0; padding:6px 0; background:none; border:0; border-radius:0; box-shadow:none; clip-path:none; color:rgba(255,255,255,.66); font-size:13.5px; font-weight:500; letter-spacing:.14em; line-height:1.4; }
  #kt-v2#kt-v2 nav a:hover{ color:#fff; }
  #kt-v2#kt-v2 nav a.on{ color:#fff; font-weight:500; box-shadow:inset 0 -1px 0 #fff; padding-bottom:6px; }
  #kt-v2#kt-v2 nav a.right{ margin-left:8px; display:flex; flex-direction:row; align-items:baseline; gap:.7em; padding:9px 16px; border:1px solid rgba(255,255,255,.42); font-size:15px; font-weight:700; letter-spacing:.04em; color:#fff; box-shadow:none; position:relative; }
  #kt-v2#kt-v2 nav a.right:hover, #kt-v2#kt-v2 nav a.right.on{ background:#fff; color:var(--v2-ink); }
  #kt-v2#kt-v2 nav a.right .yomi{ display:inline; margin:0; font-size:10.5px; font-weight:500; letter-spacing:.16em; color:inherit; opacity:.7; }
  #kt-v2#kt-v2 nav a.right::after{ content:""; position:absolute; left:-28px; right:0; top:100%; height:34px; }
}

@media (min-width:821px){
  .v2-mega{ position:fixed; top:97px; left:0; right:0; z-index:99; padding:0 var(--v2-pad); background:rgba(8,8,8,.96); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.12); visibility:hidden; opacity:0; transform:translateY(-6px); transition:opacity .18s, transform .18s, visibility 0s .18s; }
  header:has(nav a.right:hover) ~ .v2-mega, header:has(nav a.right:focus-visible) ~ .v2-mega, .v2-mega:hover, .v2-mega:focus-within{ visibility:visible; opacity:1; transform:none; transition:opacity .18s, transform .18s, visibility 0s; }
  .v2-mega-in{ max-width:var(--v2-wrap); margin:0 auto; padding:26px 0 30px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:0 var(--v2-gap); }
  .v2-mega-h{ margin:0; }
  .v2-mega-h a{ font-size:15px; font-weight:700; letter-spacing:.04em; color:#fff; }
  .v2-mega-l{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:14px 34px; }
  .v2-mega-l a{ color:rgba(255,255,255,.72); font-size:13.5px; letter-spacing:.1em; padding-bottom:4px; }
  .v2-mega-l a:hover, .v2-mega-l a:focus-visible{ color:#fff; box-shadow:inset 0 -1px 0 #fff; }
  .v2-mega-l2{ list-style:none; margin:10px 0 0; padding:0 0 0 12px; border-left:1px solid rgba(255,255,255,.22); display:flex; flex-direction:column; gap:8px; }
  .v2-mega-l2 a{ color:rgba(255,255,255,.55); font-size:12.5px; letter-spacing:.08em; }
}
@media (max-width:820px){ .v2-mega{ display:none; } }

.v2-sub{ background:#0b0b0b; }
.v2-sub-in{ box-sizing:content-box; max-width:var(--v2-wrap); margin:0 auto; padding:0 var(--v2-pad); display:flex; align-items:center; gap:0 clamp(28px,3.5vw,48px); }
.v2-sub-h{ margin:0; flex:none; }
.v2-sub-h a{ font-size:14.5px; font-weight:700; letter-spacing:.04em; color:#fff; }
.v2-sub-l{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0 clamp(18px,2.2vw,30px); }
.v2-sub-l a{ display:block; padding:19px 0 17px; font-size:13.5px; letter-spacing:.1em; line-height:1.4; color:rgba(255,255,255,.6); }
.v2-sub-l a:hover, .v2-sub-l a:focus-visible{ color:#fff; }
.v2-sub-l a.on{ color:#fff; box-shadow:inset 0 -2px 0 #fff; }
.v2-sub2{ background:var(--ymm-band); border-top:1px solid rgba(255,255,255,.08); }
.v2-sub2 .v2-sub-h a{ font-size:13.5px; }
.v2-sub2 .v2-sub-l a{ padding:14px 0 12px; font-size:13px; color:rgba(255,255,255,.72); }
.v2-sub2 .v2-sub-l a.on{ color:#fff; }
@media (min-width:821px){
  .v2-sub{ position:sticky; top:97px; z-index:98; }
  .v2-sub::after{ content:""; position:absolute; left:0; right:0; top:100%; height:22px; background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 100%); pointer-events:none; }
  #kt-v2#kt-v2 body:has(.v2-sub) header::after{ display:none; }
  #kt-v2#kt-v2 body:has(.v2-sub) [id]{ scroll-margin-top:172px; }
  #kt-v2#kt-v2 body:has(.v2-sub-ymm) [id]{ scroll-margin-top:218px; }
}
@media (max-width:820px){ .v2-sub{ display:none; } }

@media (min-width:821px){ #kt-v2#kt-v2 #home .lead h1{ white-space:nowrap; } }
#kt-v2#kt-v2 #home .lead{ padding:clamp(64px,10vw,148px) var(--v2-pad) clamp(64px,8vw,112px); }
#kt-v2#kt-v2 #home .lead .inner{ max-width:var(--v2-wrap); }
#kt-v2#kt-v2 #home .lead h1{ font-size:clamp(26px,3.2vw,46px); font-weight:700; line-height:1.2; letter-spacing:-.01em; margin:0 0 20px; color:#fff; text-wrap:balance; word-break:auto-phrase; }
#kt-v2#kt-v2 #home .lead p.lead-astacplus{ font-size:clamp(19px,2.3vw,30px); font-weight:500; line-height:1.4; color:rgba(255,255,255,.82); margin:0; }
#kt-v2#kt-v2 #home .lead p.lead-astacplus b{ font-weight:700; color:#fff; }
#kt-v2#kt-v2 #home .lead .lead-yomi{ display:block; margin:12px 0 0; font-size:12.5px; letter-spacing:.14em; color:rgba(255,255,255,.55); }
#kt-v2#kt-v2 #home .lead .inner > p:not(.lead-astacplus){ max-width:none; margin-left:0; margin-right:0; font-size:16px; line-height:1.95; color:#c8c8c8; text-indent:0; }

#kt-v2#kt-v2 #home .lead p.lead-astacplus + p{ margin-top:clamp(56px,8vw,104px); padding-top:30px; border-top:1px solid rgba(255,255,255,.2); }
#kt-v2#kt-v2 #home .lead .inner > p + p{ margin-top:18px; }
#kt-v2#kt-v2 #home .lead .inner > p b{ font-weight:600; color:#fff; }
#kt-v2#kt-v2 #home .lead p.signoff{ margin-top:36px; font-size:12.5px; letter-spacing:.14em; color:rgba(255,255,255,.55); }
#kt-v2#kt-v2 #home .lead p.signoff b{ font-size:21px; letter-spacing:.08em; margin-left:.7em; }

#kt-v2#kt-v2 .phead{ background:#fff; border-bottom:0; padding:clamp(52px,6vw,88px) var(--v2-pad) clamp(40px,4.5vw,64px); }
#kt-v2#kt-v2 .phead .inner{ max-width:var(--v2-wrap); }
#kt-v2#kt-v2 .phead h1{ font-size:clamp(30px,4vw,54px); font-weight:700; line-height:1.24; letter-spacing:-.005em; margin:0 0 22px; color:var(--v2-ink); text-wrap:balance; word-break:auto-phrase; }
#kt-v2#kt-v2 .phead p{ font-size:clamp(15px,1.25vw,18px); line-height:1.95; color:#4a4a4a; }
@media (min-width:900px){ #kt-v2#kt-v2 .phead p, #kt-v2#kt-v2 .v2-sub-ymm + .lead p.lead-big{ white-space:nowrap; } }

#kt-v2#kt-v2 .v2-sub-ymm + .phead, #kt-v2#kt-v2 .v2-sub-ymm + .lead{ background:var(--ymm-band); color:#fff; padding:clamp(52px,6vw,88px) var(--v2-pad) clamp(40px,4.5vw,64px); }
#kt-v2#kt-v2 .v2-sub-ymm + .phead h1, #kt-v2#kt-v2 .v2-sub-ymm + .lead h1{ color:#fff; }
#kt-v2#kt-v2 .v2-sub-ymm + .phead p{ color:rgba(255,255,255,.84); }
#kt-v2#kt-v2 .v2-sub-ymm + .lead .inner{ max-width:var(--v2-wrap); }
#kt-v2#kt-v2 .v2-sub-ymm + .lead h1{ font-size:clamp(30px,4vw,54px); font-weight:700; line-height:1.24; letter-spacing:-.005em; margin:0 0 22px; }
#kt-v2#kt-v2 .v2-sub-ymm + .lead h1 .mm-en{ display:block; margin:10px 0 0; font-size:clamp(12.5px,1.1vw,15px); letter-spacing:.14em; color:rgba(255,255,255,.7); white-space:normal; }
#kt-v2#kt-v2 .v2-sub-ymm + .lead p.lead-big{ font-size:clamp(15px,1.25vw,18px) !important; line-height:1.95; margin:0; color:#fff; text-indent:0; }

#kt-v2#kt-v2 section{ padding:clamp(48px,4.5vw,64px) var(--v2-pad); border-top:1px solid var(--v2-line); }
#kt-v2#kt-v2 #home section{ padding:clamp(52px,5.5vw,80px) var(--v2-pad); }
#kt-v2#kt-v2 section.alt{ background:#f6f6f6; }
#kt-v2#kt-v2 section .inner{ max-width:var(--v2-wrap); display:flow-root; }
#kt-v2#kt-v2 section h2{ margin:0; font-size:clamp(20px,2.2vw,25px); font-weight:700; letter-spacing:.03em; line-height:1.5; color:var(--v2-ink); border:0; padding:0; text-wrap:balance; word-break:auto-phrase; }
#kt-v2#kt-v2 #home section h2{ font-size:clamp(20px,1.9vw,25px); line-height:1.35; letter-spacing:.04em; }
#kt-v2#kt-v2 section h2{ display:inline-block; max-width:100%; padding:10px 22px 11px; border:2px solid var(--v2-ink); box-sizing:border-box; }
#kt-v2#kt-v2 section h2::after{ content:none; }

#kt-v2#kt-v2 section h2{ margin-bottom:32px; }

#kt-v2#kt-v2 section h3{ font-size:17px; font-weight:700; letter-spacing:.03em; color:var(--v2-ink); margin:40px 0 12px; }
#kt-v2#kt-v2 section .inner > h3:first-of-type, #kt-v2#kt-v2 .svc > h3:first-child{ margin-top:0; }
#kt-v2#kt-v2 .svc p, #kt-v2#kt-v2 .doc p, #kt-v2#kt-v2 .doc li{ font-size:16px; line-height:1.9; color:var(--v2-text); }
#kt-v2#kt-v2 .svc p{ margin:0 0 16px; }
#kt-v2#kt-v2 .svc p:last-child{ margin-bottom:0; }
#kt-v2#kt-v2 .svc p b, #kt-v2#kt-v2 .doc p b, #kt-v2#kt-v2 .doc li b{ color:var(--ink); }
#kt-v2#kt-v2 p.note, #kt-v2#kt-v2 .svc p.note, #kt-v2#kt-v2 .note-i, #kt-v2#kt-v2 .svc p b.note-i{ color:#8f2033; }
#kt-v2#kt-v2 p.note b, #kt-v2#kt-v2 .svc p.note b{ color:inherit; }
#kt-v2#kt-v2 #home .svc h3{ font-size:24px; letter-spacing:.02em; margin:0 0 18px; }
#kt-v2#kt-v2 #home .svc h3 .en{ font-size:12.5px; letter-spacing:.14em; color:var(--v2-mute); margin-left:14px; }
#kt-v2#kt-v2 #home .svc p.note{ margin-top:22px; padding-left:14px; border-left:1px solid currentColor; font-size:14px; line-height:1.9; text-indent:0; }
#kt-v2#kt-v2 .mtx-note, #kt-v2#kt-v2 .svc p.mtx-note{ font-size:14px; line-height:1.9; color:var(--muted); }
#kt-v2#kt-v2 .svc p.logonote{ font-size:14px; color:var(--muted); }

#kt-v2#kt-v2 .svc{ background:none; border:0; border-radius:0; box-shadow:none; padding:0; }
#kt-v2#kt-v2 .svc code{ border-radius:0; }

#kt-v2#kt-v2 table{ border:0; border-top:1px solid var(--v2-ink); border-bottom:1px solid var(--v2-ink); border-radius:0; background:transparent; }
#kt-v2#kt-v2 th{ background:rgba(0,0,0,.035); }
#kt-v2#kt-v2 th, #kt-v2#kt-v2 td{ border-bottom-color:var(--v2-line); }
#kt-v2#kt-v2 .mtx tr.me td{ background:rgba(0,0,0,.045); }

#kt-v2#kt-v2 .md2{ gap:56px; }
#kt-v2#kt-v2 .md2 > div{ background:none; border:0; border-radius:0; padding:0; }
#kt-v2#kt-v2 .md2 > div.plus h3, #kt-v2#kt-v2 .md2 > div.minus h3{ background:none; border-radius:0; padding:0 0 14px; margin:0 0 24px; font-size:20px; letter-spacing:.06em; line-height:1.3; border-bottom:2px solid currentColor; }
#kt-v2#kt-v2 .md2 > div.plus h3{ color:#3f6a4b; }
#kt-v2#kt-v2 .md2 > div.minus h3{ color:#8f2033; }
#kt-v2#kt-v2 .md2 p{ font-size:16px; line-height:1.9; color:var(--v2-text); }
#kt-v2#kt-v2 .md2 .item{ background:none; border-radius:0; border-left-width:2px; padding:2px 0 2px 20px; margin:0 0 26px; }
#kt-v2#kt-v2 .md2 .item:last-child{ margin-bottom:0; }
#kt-v2#kt-v2 .md2 .item .item{ background:none; border-left:1px solid var(--v2-line); padding:0 0 0 18px; margin:14px 0 0; }
#kt-v2#kt-v2 .md2 .inbox{ background:none; border:0; border-left:1px solid var(--v2-line); border-radius:0; padding:0 0 0 18px; }

#kt-v2#kt-v2 .warnbox, #kt-v2#kt-v2 .svc p.warnbox{ border-radius:0; padding:18px 22px; margin-top:26px; color:#fff; line-height:1.75; }
#kt-v2#kt-v2 .warnbox b, #kt-v2#kt-v2 .svc p.warnbox b{ color:inherit; }

#kt-v2#kt-v2 .logobox{ border-radius:0; }
#kt-v2#kt-v2 .logobox.on-dark{ background:#262626; }

#kt-v2#kt-v2 .svc .gorow{ justify-content:flex-start; gap:12px; margin-top:36px; }
#kt-v2#kt-v2 .svc .gorow a.go{ position:relative; width:auto; height:auto; margin:0; padding:15px 50px 15px 22px; line-height:1.4; text-align:left; font-size:14px; font-weight:600; letter-spacing:.06em; color:var(--v2-ink); background:transparent; border:1px solid var(--v2-ink); border-radius:0; box-shadow:none; text-shadow:none; transition:background-color .2s, color .2s; }
#kt-v2#kt-v2 .svc .gorow a.go::after{ content:""; position:absolute; right:20px; top:50%; width:7px; height:7px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:translateY(-50%) rotate(45deg); }
#kt-v2#kt-v2 .svc .gorow a.go:hover{ color:#fff; background:var(--v2-ink); }
#kt-v2#kt-v2 .svc .gorow a.go.main{ font-size:14px; color:#fff; background:var(--v2-ink); }
#kt-v2#kt-v2 .svc .gorow a.go.main:hover{ background:#3a3a3a; border-color:#3a3a3a; }

#kt-v2#kt-v2 ul.news{ padding:0; margin:0; font-size:15.5px; }
#kt-v2#kt-v2 ul.news li{ display:grid; grid-template-columns:9em minmax(0,1fr); gap:0 24px; padding:18px 0; border-top:1px solid var(--v2-line); border-bottom:0; font-size:16px; color:var(--v2-text); }
#kt-v2#kt-v2 ul.news li:last-child{ border-bottom:1px solid var(--v2-line); }
#kt-v2#kt-v2 ul.news time{ font-family:var(--mono); font-size:13px; letter-spacing:.08em; color:var(--v2-mute); }

@media (max-width:820px){
  #kt-v2#kt-v2 #home .lead .inner > p:not(.lead-astacplus){ max-width:none; }
  #kt-v2#kt-v2 .svc .gorow a.go{ width:100%; box-sizing:border-box; }
  #kt-v2#kt-v2 ul.news li{ grid-template-columns:minmax(0,1fr); gap:6px; }
  #kt-v2#kt-v2 body:not(#home) header{ border-bottom:1px solid rgba(255,255,255,.16); }
  #kt-v2#kt-v2 body:not(#home) header::after{ content:""; position:absolute; left:0; right:0; top:calc(100% + 1px); height:22px; background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 100%); pointer-events:none; }
}

.v2-map{ background:#000; color:#fff; padding:56px var(--v2-pad) 40px; border-top:0; }
.v2-map-in{ max-width:var(--v2-wrap); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px clamp(24px,5vw,72px); }
.v2-map-h{ margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.18); font-size:13.5px; font-weight:700; letter-spacing:.06em; }
.v2-map-h a{ color:#fff; }
.v2-map ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.v2-map a{ color:rgba(255,255,255,.66); font-size:13.5px; letter-spacing:.06em; }
.v2-map a:hover, .v2-map a:focus-visible{ color:#fff; }
#kt-v2#kt-v2 footer{ box-shadow:none; border-top:1px solid rgba(255,255,255,.14); }
#kt-v2#kt-v2 footer .inner{ max-width:var(--v2-wrap); }
@media (max-width:820px){ .v2-map-in{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
