.kt-pc-logo{position:fixed;left:26px;top:30px;z-index:56;display:block;width:208px}.kt-pc-logo img{display:block;width:100%;filter:brightness(0) invert(1)}.kt-main{margin-left:var(--kt-nav-w)}
#kt-meter-c{position:fixed;left:0;top:0;height:100vh;width:262px;z-index:50;padding:89px 0 12px;pointer-events:none;overflow:hidden}#kt-meter-c a{pointer-events:auto}.kt-mc-rail{position:relative;width:262px;height:calc(100vh - 101px)}.kt-mc-svg{position:absolute;inset:0;width:262px;height:100%;overflow:visible;z-index:1;animation:kt-mc-svgin 1.25s var(--kt-ease) both}.kt-mc-node{position:absolute;width:9px;height:9px;border-radius:50%;box-sizing:border-box;transform:translateY(-50%);background:#0C1219;border:1.2px solid rgba(255,255,255,.5);z-index:2;transition:background .25s var(--kt-ease),border-color .25s,box-shadow .25s,transform .25s;pointer-events:none;animation:kt-mc-fadein .6s var(--kt-ease) .5s both}.kt-mc-item{position:absolute;left:22px;width:150px;display:flex;flex-direction:column;gap:3px;transform:translateY(-50%);z-index:3;animation:kt-mc-itemin .6s var(--kt-ease) both}.kt-mc-en{font-family:var(--kt-font-en);font-size:9px;font-weight:500;letter-spacing:.20em;color:rgba(76,154,255,.65);transition:color .25s var(--kt-ease)}.kt-mc-ja{font-size:13.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap;color:rgba(255,255,255,.72);transition:color .25s var(--kt-ease)}.kt-mc-scale{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1}.kt-mc-navarc{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1}.kt-mc-main{fill:none;stroke:rgba(47,128,237,.48);stroke-width:1.6}.kt-mc-rimin{fill:none;stroke:rgba(255,255,255,.18);stroke-width:.8}.kt-mc-hub{fill:none;stroke:rgba(255,255,255,.20);stroke-width:1}.kt-mc-hub2{fill:none;stroke:rgba(255,255,255,.10);stroke-width:1}.kt-mc-minor{stroke:rgba(255,255,255,.14);stroke-width:1;transition:stroke .3s var(--kt-ease)}.kt-mc-med{stroke:rgba(255,255,255,.26);stroke-width:1;transition:stroke .3s var(--kt-ease)}.kt-mc-maj{stroke:rgba(255,255,255,.42);stroke-width:1.3;transition:stroke .3s var(--kt-ease)}.kt-mc-maj.is-hot{stroke:#2F80ED;stroke-width:1.7}.kt-mc-needle{transform-box:view-box;transform-origin:var(--nx) var(--ny)}.kt-mc-nedge{fill:#0C1219;opacity:0;transition:opacity .3s var(--kt-ease)}.kt-mc-nedge.is-on{opacity:.32}.kt-mc-nbody{fill:#1F6FD6;opacity:0;transition:opacity .3s var(--kt-ease)}.kt-mc-nbody.is-on{opacity:.5}.kt-mc-item:hover .kt-mc-en,.kt-mc-item:hover .kt-mc-ja,.kt-mc-item:focus .kt-mc-en,.kt-mc-item:focus .kt-mc-ja{color:#4C9AFF}.kt-mc-node.is-hot{background:#69A7FF;border-color:#2F80ED;border-width:2px;transform:translateY(-50%) scale(1.7);box-shadow:0 0 0 1.5px rgba(47,128,237,.46),0 0 0 2.5px rgba(47,128,237,.11),0 0 5px 1px rgba(47,128,237,.15)}
@keyframes kt-mc-svgin{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes kt-mc-itemin{from{opacity:0;transform:translateY(-50%) translateX(-12px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@keyframes kt-mc-fadein{from{opacity:0}to{opacity:1}}
.kt-mc-item:nth-of-type(1){animation-delay:.25s}.kt-mc-item:nth-of-type(2){animation-delay:.31s}.kt-mc-item:nth-of-type(3){animation-delay:.37s}.kt-mc-item:nth-of-type(4){animation-delay:.43s}.kt-mc-item:nth-of-type(5){animation-delay:.49s}.kt-mc-item:nth-of-type(6){animation-delay:.55s}.kt-mc-item:nth-of-type(7){animation-delay:.61s}.kt-mc-item:nth-of-type(8){animation-delay:.67s}.kt-mc-item:nth-of-type(9){animation-delay:.73s}
.kt-pc-cta{position:fixed;right:24px;top:24px;z-index:60;display:flex;height:56px;background:#131C26;border:1px solid rgba(255,255,255,.10);box-sizing:border-box}.kt-pc-cta__link{display:flex;align-items:center;gap:16px;white-space:nowrap;color:#fff;transition:background .25s var(--kt-ease),padding .3s var(--kt-ease)}.kt-pc-cta__link--contact{padding:0 24px;background:#1F6FD6}.kt-pc-cta__link--contact:hover{background:#2F80ED}.kt-pc-cta__link--recruit{padding:0 15px}.kt-pc-cta__link--recruit:hover{color:#4C9AFF}.kt-pc-cta__text{display:flex;flex-direction:column;gap:2px}.kt-pc-cta__text small{font-family:var(--kt-font-en);font-size:9px;font-weight:500;letter-spacing:.22em;color:rgba(255,255,255,.85)}.kt-pc-cta__link--recruit .kt-pc-cta__text small{color:rgba(255,255,255,.5)}.kt-pc-cta__text strong{font-size:16px;font-weight:700;letter-spacing:.06em}.kt-pc-cta__divider{position:relative;width:1px;align-self:stretch;flex:none}.kt-pc-cta__divider:before{content:"";position:absolute;left:-9px;top:50%;width:1px;height:52px;background:rgba(255,255,255,.14);transform:translate(-50%,-50%) rotate(12deg)}.kt-pc-cta__arrow{position:relative;width:14px;height:1px;background:#fff;color:#fff;flex:none;transition:transform .25s var(--kt-ease)}.kt-pc-cta__arrow:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.kt-pc-cta__link--recruit .kt-pc-cta__arrow{background:rgba(255,255,255,.5);color:rgba(255,255,255,.5)}.kt-pc-cta__link:hover .kt-pc-cta__arrow{transform:translateX(3px)}.kt-pc-cta:has(.kt-pc-cta__link--contact:hover) .kt-pc-cta__link--contact{padding-left:30px;padding-right:30px}.kt-pc-cta:has(.kt-pc-cta__link--contact:hover) .kt-pc-cta__link--recruit{padding-left:9px;padding-right:9px}.kt-pc-cta:has(.kt-pc-cta__link--recruit:hover) .kt-pc-cta__link--recruit{padding-left:21px;padding-right:21px}.kt-pc-cta:has(.kt-pc-cta__link--recruit:hover) .kt-pc-cta__link--contact{padding-left:18px;padding-right:18px}
.kt-hero{position:relative;margin-left:-268px;height:94vh;min-height:780px;overflow:hidden;background:var(--kt-ink-900)}.kt-hero__image,.kt-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 55%;display:block;z-index:0}.kt-hero__scrim{position:absolute;inset:0;background:rgba(12,18,25,.34);pointer-events:none;z-index:1}.kt-hero__message-gradient{position:absolute;left:0;top:0;bottom:0;width:40vw;max-width:620px;background:linear-gradient(90deg,rgba(12,18,25,.84) 0%,rgba(12,18,25,.52) 45%,rgba(12,18,25,.15) 75%,rgba(12,18,25,0) 100%);pointer-events:none;z-index:1}.kt-hero__bottom{position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(180deg,rgba(12,18,25,0),#0C1219);pointer-events:none;z-index:1}.kt-hero__glow{position:absolute;right:0;top:0;bottom:0;width:46%;background:linear-gradient(200deg,rgba(47,128,237,.16),rgba(47,128,237,0) 55%);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);pointer-events:none;z-index:1}.kt-hero__copy{position:absolute;left:356px;bottom:158px;z-index:2;pointer-events:none;animation:kt-kvup 1s ease both}.kt-hero__kicker{display:flex;align-items:center;gap:16px;margin-bottom:36px;font-family:var(--kt-font-en);font-size:11px;font-weight:500;letter-spacing:.36em;color:var(--kt-text-85);text-shadow:0 1px 5px rgba(0,0,0,.45),0 0 12px rgba(0,0,0,.20)}.kt-hero__kicker:before{content:"";width:64px;height:2px;background:var(--kt-accent-base);flex:none}.kt-hero h1{margin:0;font-size:74px;font-weight:900;line-height:1.24;letter-spacing:.02em;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55),0 0 24px rgba(0,0,0,.28)}.kt-hero p{margin:42px 0 0;max-width:430px;font-size:18px;line-height:2.1;letter-spacing:.08em;color:var(--kt-text-85);text-shadow:0 1px 5px rgba(0,0,0,.45),0 0 12px rgba(0,0,0,.20)}.kt-hero__movie{position:absolute;right:60px;bottom:60px;z-index:2;display:flex;align-items:center;gap:12px;font-family:var(--kt-font-en);font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.6);pointer-events:none}.kt-hero__movie:before{content:"";width:1px;height:72px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--kt-accent-base))}@keyframes kt-kvup{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.kt-news{padding:84px 88px 96px}.kt-news__head{display:flex;align-items:center;gap:28px;margin-bottom:16px}.kt-news__jp{font-size:18px;font-weight:700;letter-spacing:.14em}.kt-news__rule{flex:1;height:1px;background:var(--kt-line)}.kt-news__list{border-top:1px solid var(--kt-line)}.kt-news__row{display:grid;grid-template-columns:130px 130px 1fr;gap:24px;align-items:center;min-height:82px;border-bottom:1px solid var(--kt-line);font-size:16px}.kt-news__date{font-family:var(--kt-font-en);color:var(--kt-text-55);letter-spacing:.12em}.kt-news__cat{color:var(--kt-accent-text);font-size:12px;letter-spacing:.08em}
.kt-business{padding:150px 88px 170px;background:var(--kt-ink-900);overflow:hidden}.kt-business__grid{display:flex;gap:72px;align-items:flex-start}.kt-business__intro{width:40%;flex:none}.kt-business h2{margin:26px 0 0;font-size:52px;font-weight:700;line-height:1.36;letter-spacing:.02em}.kt-business__lead{margin:26px 0 0;font-size:26px;font-weight:900;line-height:1.5;letter-spacing:.04em;color:var(--kt-accent-text)}.kt-business__body{margin:24px 0 0;max-width:430px;font-size:18px;line-height:2.1;letter-spacing:.06em;color:var(--kt-text-85)}.kt-business__photo{position:relative;height:300px;margin-top:46px;overflow:hidden;background:var(--kt-ink-800)}.kt-business__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity .55s ease,transform .8s var(--kt-ease)}.kt-business__photo img.is-active{opacity:1;transform:scale(1.03)}.kt-business__caption{position:absolute;left:28px;bottom:26px;z-index:2;font-size:16px;letter-spacing:.10em;color:var(--kt-text-85)}.kt-business__main{flex:1;min-width:0}.kt-business-meter{position:relative;height:390px}.kt-business-meter svg{width:100%;height:100%;overflow:visible}.kt-bm-arc{fill:none;stroke:var(--kt-line);stroke-width:1}.kt-bm-seg{fill:none;stroke:rgba(255,255,255,.24);stroke-width:4;transition:stroke .25s}.kt-bm-seg.is-active{stroke:var(--kt-accent-base)}.kt-bm-needle{stroke:var(--kt-accent-base);stroke-width:2;transform-origin:300px 310px;transition:transform .55s var(--kt-ease);opacity:.9}.kt-business-meter__copy{position:absolute;left:50%;top:63%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;min-width:260px}.kt-business-meter__copy small{display:block;font-family:var(--kt-font-en);font-size:10px;letter-spacing:.30em;color:var(--kt-text-45)}.kt-business-meter__copy strong{display:block;margin-top:12px;font-size:28px;letter-spacing:.06em}.kt-business-meter__copy em{display:block;margin-top:14px;font-family:var(--kt-font-en);font-style:normal;font-size:11px;letter-spacing:.24em;color:var(--kt-accent-text)}.kt-business__rows{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:30px;border-top:1px solid var(--kt-line)}.kt-business__row{display:block;padding:22px 14px 24px 0;border-bottom:2px solid var(--kt-line);transition:opacity .3s,border-color .3s}.kt-business__row.is-active{border-color:var(--kt-accent-base)}.kt-business__row.is-dim{opacity:.45}.kt-business__num{display:block;font-family:var(--kt-font-en);font-size:20px;font-weight:300;color:var(--kt-accent-text)}.kt-business__en{display:block;margin-top:14px;font-family:var(--kt-font-en);font-size:8px;letter-spacing:.12em;line-height:1.5;color:var(--kt-text-55)}.kt-business__ja{display:block;margin-top:9px;font-size:16px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.kt-service{padding:150px 0 170px 88px;background:var(--kt-ink-900)}.kt-service__grid{display:flex;align-items:flex-start;gap:64px}.kt-service__intro{width:300px;flex:none;padding-top:20px}.kt-service h2{margin:26px 0 0;font-size:52px;font-weight:700;line-height:1.36}.kt-service__lead{margin:26px 0 0;font-size:26px;font-weight:900;line-height:1.5;color:var(--kt-accent-text)}.kt-service__body{margin:24px 0 0;font-size:16px;line-height:2;color:var(--kt-text-62)}.kt-service__main{flex:1;min-width:0}.kt-service__visual{position:relative;height:520px;overflow:hidden;clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}.kt-service__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}.kt-service__visual img.is-active{opacity:1}.kt-service__current{position:absolute;left:56px;bottom:48px;display:flex;align-items:flex-end;gap:22px}.kt-service__current b{font-family:var(--kt-font-en);font-size:76px;line-height:.9;color:var(--kt-accent-base)}.kt-service__current strong{font-size:34px;font-weight:900;padding-bottom:6px}.kt-service__tabs{display:grid;grid-template-columns:repeat(6,1fr);padding-right:40px}.kt-service__tab{appearance:none;border:0;border-bottom:2px solid rgba(255,255,255,.16);background:transparent;color:#fff;text-align:left;padding:22px 10px 22px 0;cursor:pointer}.kt-service__tab.is-active{border-color:var(--kt-accent-base)}.kt-service__tab small{display:block;font-family:var(--kt-font-en);font-size:12px;color:var(--kt-text-45)}.kt-service__tab strong{display:block;margin-top:8px;font-size:13px}.kt-service__actions{display:flex;gap:20px;margin-top:56px;padding-right:40px}.kt-service__actions .kt-btn{flex:1}
.kt-stock{padding:150px 88px 170px;background:var(--kt-ink-900)}.kt-stock__head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:56px}.kt-stock__head p{max-width:320px;margin:0;font-size:16px;line-height:2.05;letter-spacing:.06em;color:var(--kt-text-62)}.kt-stock__grid{display:grid;grid-template-columns:58% 1fr;gap:40px}.kt-stock__side{display:flex;flex-direction:column;gap:28px}.kt-stock-card__image{position:relative;overflow:hidden;background:var(--kt-ink-800)}.kt-stock-card--large .kt-stock-card__image{height:480px}.kt-stock-card--small{display:grid;grid-template-columns:44% 1fr;gap:22px;align-items:center}.kt-stock-card--small .kt-stock-card__image{height:190px}.kt-stock-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--kt-ease)}.kt-stock-card:hover img{transform:scale(1.03)}.kt-stock-card__badge{position:absolute;left:0;top:0;padding:9px 20px;background:var(--kt-accent-base);font-family:var(--kt-font-en);font-size:11px;letter-spacing:.24em}.kt-stock-card__body{padding:22px 0;border-bottom:1px solid var(--kt-line)}.kt-stock-card__name{font-size:24px;font-weight:700;letter-spacing:.06em}.kt-stock-card__price{display:block;margin-top:12px;font-size:16px;color:var(--kt-text-85)}.kt-stock-card__price b{font-family:var(--kt-font-en);font-size:22px;color:var(--kt-accent-text)}.kt-stock__links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:72px}.kt-link-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;padding:24px 30px;border:1px solid var(--kt-line-strong)}.kt-link-panel strong{display:block;font-size:17px}.kt-link-panel small{display:block;margin-top:8px;color:var(--kt-text-55)}.kt-link-panel:after{content:"";width:34px;height:1px;background:var(--kt-accent-base)}
.kt-rentacar{position:relative;min-height:560px;background:var(--kt-ink-800);overflow:hidden}.kt-rentacar__image{position:absolute;inset:0 0 0 48%;width:52%;height:100%;object-fit:cover}.kt-rentacar__veil{position:absolute;inset:0;background:linear-gradient(90deg,#131C26 0%,#131C26 42%,rgba(19,28,38,.72) 62%,rgba(19,28,38,.12) 100%)}.kt-rentacar__inner{position:relative;z-index:2;width:52%;padding:140px 56px 140px 88px}.kt-rentacar h2{margin:28px 0 0;font-size:54px;font-weight:900;line-height:1.36}.kt-rentacar p{margin:28px 0 0;max-width:430px;font-size:18px;line-height:2.1;color:var(--kt-text-72)}.kt-rentacar .kt-arrow-link{margin-top:42px}
.kt-recruit{position:relative;background:var(--kt-ink-800);display:grid;grid-template-columns:1fr 48%;min-height:680px}.kt-recruit__copy{padding:210px 56px 120px 88px}.kt-recruit h2{margin:28px 0 0;font-size:62px;font-weight:900;line-height:1.28}.kt-recruit p{max-width:390px;margin:36px 0 0;font-size:18px;line-height:2.2;color:rgba(255,255,255,.68)}.kt-recruit .kt-arrow-link{margin-top:48px}.kt-recruit__image{width:100%;height:100%;object-fit:cover}
.kt-contact{padding:96px 88px;background:#fff;color:#0C1219}.kt-contact__inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.kt-contact h2{margin:0;font-family:var(--kt-font-en);font-size:58px;letter-spacing:.05em}.kt-contact p{margin:14px 0 0;font-size:16px;line-height:2;color:rgba(12,18,25,.65)}.kt-contact .kt-btn{min-width:300px;color:#fff}
.kt-footer{position:relative;overflow:hidden;padding:76px 88px 44px;background:var(--kt-ink-900)}.kt-footer__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}.kt-footer:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,25,.90),rgba(12,18,25,.84) 46%,rgba(12,18,25,.94))}.kt-footer__inner{position:relative;z-index:2}.kt-footer__top{display:flex;justify-content:space-between;gap:72px}.kt-footer__brand img{width:220px;filter:brightness(0) invert(1)}.kt-footer__nav{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:42px}.kt-footer__group strong{display:block;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.16);font-size:12px;letter-spacing:.14em}.kt-footer__group a{display:block;font-size:13px;line-height:2.1;color:var(--kt-text-85)}.kt-footer__bottom{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:11px;color:var(--kt-text-62)}.kt-footer__utility{display:flex;gap:28px}.kt-footer__utility a{color:var(--kt-text-85)}.kt-sp-header,.kt-sp-drawer,.kt-sp-cta{display:none}
@media(max-width:1180px) and (min-width:1024px){.kt-business__grid{gap:40px}.kt-business__rows{grid-template-columns:repeat(3,1fr)}.kt-stock__grid{grid-template-columns:1fr}.kt-stock__side{display:grid;grid-template-columns:1fr 1fr}}
.kt-news__more{display:none}
@media(max-width:1023px){
.kt-pc-logo,#kt-meter-c,.kt-pc-cta{display:none}.kt-main{margin-left:0;padding-top:var(--kt-header-h-sp);padding-bottom:calc(var(--kt-cta-h-sp) + env(safe-area-inset-bottom))}.kt-sp-header{position:fixed;left:0;right:0;top:0;z-index:80;height:var(--kt-header-h-sp);display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(12,18,25,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.kt-sp-header__logo{display:block;width:152px}.kt-sp-header img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}.kt-sp-menu{appearance:none;width:44px;height:44px;flex:none;border:1px solid rgba(255,255,255,.24);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;cursor:pointer}.kt-sp-menu span{display:block;width:18px;height:1.5px;background:#fff}.kt-sp-menu span:nth-child(2){background:#2F80ED}.kt-sp-drawer{position:fixed;inset:0;z-index:90;display:block;background:#0C1219;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease;overflow-y:auto;overflow-x:hidden}.kt-sp-drawer.is-open{opacity:1;visibility:visible;pointer-events:auto}.kt-sp-drawer__circle{position:absolute;border-radius:50%;pointer-events:none}.kt-sp-drawer__circle--blue{left:-170px;top:-60px;width:420px;height:420px;border:1px solid rgba(47,128,237,.28)}.kt-sp-drawer__circle--white{left:-150px;top:-30px;width:380px;height:380px;border:1px solid rgba(255,255,255,.08)}.kt-sp-drawer__circle--bottom{right:-120px;bottom:-140px;width:340px;height:340px;border:1px solid rgba(255,255,255,.07)}.kt-sp-drawer__head{position:relative;display:flex;justify-content:space-between;align-items:center;height:62px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.1)}.kt-sp-drawer__title{font-family:var(--kt-font-en);font-size:11px;font-weight:500;letter-spacing:.32em;color:#4C9AFF}.kt-sp-drawer__close{width:44px;height:44px;border:1px solid rgba(255,255,255,.24);background:transparent;position:relative;cursor:pointer}.kt-sp-drawer__close span{position:absolute;left:12px;top:21px;width:18px;height:1.5px;background:#fff}.kt-sp-drawer__close span:first-child{transform:rotate(45deg)}.kt-sp-drawer__close span:last-child{transform:rotate(-45deg)}.kt-sp-drawer nav{position:relative;padding:8px 18px 40px}.kt-sp-drawer nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;border-bottom:1px solid rgba(255,255,255,.1)}.kt-sp-drawer__text{display:block}.kt-sp-drawer nav small{display:block;width:auto;margin-bottom:8px;font-family:var(--kt-font-en);font-size:10px;font-weight:500;color:#4C9AFF;letter-spacing:.26em}.kt-sp-drawer nav strong{display:block;font-size:17px;font-weight:700;letter-spacing:.1em}.kt-sp-drawer__line{flex:none;width:26px;height:1px;background:rgba(255,255,255,.4)}.kt-sp-cta{position:fixed;left:0;right:0;bottom:0;z-index:85;display:grid;grid-template-columns:1fr 1fr;min-height:var(--kt-cta-h-sp);padding-bottom:env(safe-area-inset-bottom);background:#0C1219}.kt-sp-cta a{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.08em;background:var(--kt-accent-fill)}.kt-sp-cta a:last-child{background:var(--kt-navy)}
.kt-hero{margin-left:0;height:620px;min-height:0}.kt-hero__image,.kt-hero__video{inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:64% 50%!important}.kt-hero__scrim{display:block;background:linear-gradient(180deg,rgba(12,18,25,.72) 0%,rgba(12,18,25,.24) 34%,rgba(12,18,25,.86) 78%,#0C1219 100%)}.kt-hero__message-gradient,.kt-hero__bottom{display:none}.kt-hero__glow{display:block;position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:300px;background:linear-gradient(160deg,rgba(47,128,237,.18),rgba(47,128,237,0) 62%);clip-path:none}.kt-hero__copy{left:22px;right:22px;bottom:88px}.kt-hero__kicker{gap:12px;margin-bottom:22px;font-size:9px;font-weight:500;letter-spacing:.3em;color:rgba(255,255,255,.85);text-shadow:none}.kt-hero__kicker:before{width:40px;height:2px}.kt-hero h1{font-size:40px;font-weight:900;line-height:1.32;letter-spacing:.02em;text-shadow:none}.kt-hero p{margin-top:24px;font-size:16px;line-height:2;letter-spacing:.06em;text-shadow:none;color:rgba(255,255,255,.74)}.kt-hero__scroll{position:absolute;left:22px;bottom:26px;z-index:2;display:flex;align-items:center;gap:10px;pointer-events:none}.kt-hero__scroll span{width:34px;height:1px;background:linear-gradient(90deg,#2F80ED,rgba(255,255,255,0))}.kt-hero__scroll b{font-family:var(--kt-font-en);font-size:9px;font-weight:400;letter-spacing:.2em;color:rgba(255,255,255,.55)}.kt-hero__movie{right:22px;bottom:26px;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.62)}.kt-hero__movie:before{display:none}.kt-news{padding:56px 22px 64px}.kt-news__head{gap:14px;margin-bottom:0}.kt-news__jp,.kt-news__rule{display:none}.kt-news__all{display:none}.kt-news__list{border-top:1px solid var(--kt-line)}.kt-news__row{display:grid;grid-template-columns:max-content max-content;grid-template-areas:"date cat" "title title";justify-content:start;column-gap:12px;row-gap:12px;min-height:0;padding:18px 0;border-bottom:1px solid var(--kt-line)}.kt-news__date{grid-area:date;align-self:center;font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.62)}.kt-news__cat{grid-area:cat;display:inline-flex;align-items:center;justify-content:center;justify-self:start;align-self:center;min-height:24px;padding:3px 9px 2px;border:1px solid rgba(47,128,237,.72);color:#4C9AFF;font-size:10px;line-height:1.2;letter-spacing:.08em}.kt-news__title{grid-area:title;font-size:16px;font-weight:700;line-height:1.65;letter-spacing:.04em}.kt-news__more{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:56px;margin-top:20px;border:1px solid rgba(255,255,255,.28);font-size:13px;font-weight:700;letter-spacing:.06em;color:#fff}.kt-news__more i{display:block;width:24px;height:1px;background:#2F80ED}
.kt-business{padding:70px 0 90px}.kt-business__grid{display:block}.kt-business__intro{width:auto;padding:0 22px}.kt-business h2{font-size:30px;line-height:1.42}.kt-business__lead{margin-top:22px;font-size:19px;line-height:1.6}.kt-business__body{margin-top:18px;font-size:16px;line-height:2;color:var(--kt-text-62)}.kt-business__photo{height:230px;margin:26px 22px 0}.kt-business__main{margin-top:26px}.kt-business-meter{height:250px;margin:0 12px}.kt-business-meter__copy{top:58%}.kt-business-meter__copy strong{font-size:22px}.kt-business__rows{display:block;margin:26px 22px 0;border-top:1px solid var(--kt-line)}.kt-business__row{padding:18px 0;border-bottom:1px solid var(--kt-line)}.kt-business__en{font-size:10px}.kt-business__ja{font-size:18px}.kt-business__row.is-dim{opacity:1}
.kt-service{padding:72px 0 80px}.kt-service__grid{display:block}.kt-service__intro{width:auto;padding:0 22px}.kt-service h2{margin-top:22px;font-size:30px;line-height:1.42}.kt-service__lead{margin-top:22px;font-size:19px;line-height:1.6}.kt-service__body{margin-top:18px}.kt-service__main{margin-top:26px}.kt-service__visual{height:250px;clip-path:none}.kt-service__current{left:22px;bottom:22px}.kt-service__current b{font-size:50px}.kt-service__current strong{font-size:24px}.kt-service__tabs{display:flex;gap:10px;overflow-x:auto;padding:16px 22px 8px;scroll-snap-type:x mandatory}.kt-service__tab{min-width:156px;scroll-snap-align:start;border:1px solid var(--kt-line);padding:16px}.kt-service__tab.is-active{border-color:var(--kt-accent-base)}.kt-service__actions{display:block;margin-top:18px;padding:0 22px}.kt-service__actions .kt-btn+.kt-btn{margin-top:12px}
.kt-stock{padding:72px 0 80px}.kt-stock__head{display:block;padding:0 22px;margin-bottom:30px}.kt-stock__head p{display:none}.kt-stock__grid{display:block}.kt-stock-card{margin:0 22px}.kt-stock-card--large .kt-stock-card__image{height:260px}.kt-stock__side{display:flex;margin-top:30px;gap:20px}.kt-stock-card--small{display:grid;grid-template-columns:40% 1fr;gap:18px}.kt-stock-card--small .kt-stock-card__image{height:120px}.kt-stock-card__name{font-size:18px}.kt-stock__links{display:block;margin:36px 22px 0}.kt-link-panel{min-height:92px}.kt-link-panel+.kt-link-panel{margin-top:12px}
.kt-rentacar{min-height:0}.kt-rentacar__image{position:relative;inset:auto;width:100%;height:320px;object-fit:cover}.kt-rentacar__veil{background:linear-gradient(180deg,rgba(19,28,38,.08),#131C26 88%)}.kt-rentacar__inner{width:auto;margin-top:-90px;padding:0 22px 80px}.kt-rentacar h2{font-size:34px}.kt-rentacar p{font-size:16px;line-height:2.05}.kt-recruit{display:flex;flex-direction:column-reverse;min-height:0}.kt-recruit__image{height:420px;object-position:50% 38%}.kt-recruit__copy{position:relative;margin-top:-90px;padding:0 22px 80px}.kt-recruit h2{font-size:34px;line-height:1.38}.kt-recruit p{font-size:16px;line-height:2.05}.kt-recruit .kt-arrow-link{margin-top:30px}.kt-contact{padding:64px 22px}.kt-contact__inner{display:block}.kt-contact h2{font-size:42px}.kt-contact .kt-btn{margin-top:28px;min-width:0;width:100%}.kt-footer{padding:60px 22px 32px}.kt-footer__top{display:block}.kt-footer__brand img{width:180px}.kt-footer__nav{grid-template-columns:1fr 1fr;gap:34px 24px;margin-top:42px}.kt-footer__bottom{display:block;margin-top:42px}.kt-footer__utility{display:block;margin-top:20px}.kt-footer__utility a{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.kt-mc-svg,.kt-mc-item,.kt-mc-node{animation:none!important;clip-path:none!important;opacity:1!important}.kt-mc-needle{transition:none!important}}

/* v0.6 | PC NEWS block fidelity to Claude reference */
@media (min-width:1024px){
  .kt-news .kt-section-label{gap:28px;letter-spacing:.34em}
  .kt-news .kt-section-label:before{width:46px;height:2px}
  .kt-news__all{gap:12px;font-size:11px;font-weight:500;letter-spacing:.24em}
  .kt-news__all:after{width:30px}
  .kt-news__list{border-top:0}
  .kt-news__row{
    display:grid;
    grid-template-columns:92px 84px 1fr;
    gap:30px;
    align-items:baseline;
    min-height:0;
    padding:19px 0;
    border-bottom:1px solid rgba(255,255,255,.10);
    font-size:18px;
  }
  .kt-news__date{font-size:13px;letter-spacing:.14em;color:rgba(255,255,255,.62)}
  .kt-news__cat{font-size:11px;letter-spacing:.16em;color:#4C9AFF}
  .kt-news__title{font-size:18px;letter-spacing:.04em;line-height:1.5}
}

/* v0.8 | SP NEWS spacing/alignment refinement */
@media (max-width:1023px){
  .kt-news__head{margin-bottom:20px}
  .kt-news__row{
    grid-template-columns:92px max-content;
    column-gap:12px;
  }
  .kt-news__date{width:92px;white-space:nowrap}
  .kt-news__cat{margin:0}
}

/* v0.9 | SP NEWS date/category spacing + compact tag */
@media (max-width:1023px){
  .kt-news__row{
    grid-template-columns:80px max-content;
    column-gap:8px;
  }
  .kt-news__date{
    width:80px;
  }
  .kt-news__cat{
    min-height:20px;
    padding:2px 7px 1px;
    font-size:9px;
    line-height:1.15;
    letter-spacing:.06em;
  }
}

/* v0.10 - PC BUSINESS precision pass */
@media (min-width:1024px){
  .kt-business__photo{background:#131c26}
  .kt-business__photo .kt-business__photo-base{display:block;opacity:.55;transform:none;object-position:60% 55%}
  .kt-business__photo .kt-business__photo-switch{opacity:0;transform:scale(1);z-index:1}
  .kt-business__photo .kt-business__photo-switch.is-active{opacity:1;transform:scale(1.03)}
  .kt-business__photo-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(12,18,25,.72) 0%,rgba(12,18,25,.08) 60%);pointer-events:none}
  .kt-business__caption{z-index:3}
  .kt-business-meter{height:auto;aspect-ratio:620/350;margin-top:-6px}
  .kt-business-meter__svg{display:block;width:100%;height:auto;overflow:visible}
  .kt-bm-arc,.kt-bm-arc-inner{fill:none;stroke-width:1}
  .kt-bm-arc{stroke:rgba(255,255,255,.12)}
  .kt-bm-arc-inner{stroke:rgba(255,255,255,.06)}
  .kt-bm-group{color:rgba(255,255,255,.26);transition:color .35s ease}
  .kt-bm-group.is-active{color:#2F80ED}
  .kt-bm-tick{stroke:currentColor;stroke-width:1}
  .kt-bm-sector{fill:none;stroke:currentColor;stroke-width:2.4}
  .kt-bm-label{fill:currentColor;font-family:var(--kt-font-en);font-size:13px;letter-spacing:.16em}
  .kt-bm-needle{color:#2F80ED;transform-origin:310px 300px;opacity:.30;transition:transform .7s var(--kt-ease),opacity .4s ease}
  .kt-bm-needle.is-active{opacity:1}
  .kt-bm-needle line{stroke:currentColor;stroke-width:1.5}
  .kt-bm-needle circle{fill:currentColor}
  .kt-business-meter__copy{top:63%;min-width:300px}
  .kt-business-meter__copy strong{font-size:32px;transition:font-size .35s ease}
  .kt-business-meter__copy em{min-height:15px}
  .kt-business__rows{display:flex;grid-template-columns:none;margin-top:30px}
  .kt-business__row{position:relative;flex:1;min-width:0;padding:22px 10px 24px 0}
  .kt-business__en{font-size:9px;letter-spacing:.12em;white-space:normal}
  .kt-business__ja{font-size:16px;word-break:keep-all;overflow-wrap:normal;line-break:strict}
  .kt-business__more{display:block;margin-top:14px;font-family:var(--kt-font-en);font-size:10px;font-weight:500;letter-spacing:.22em;color:var(--kt-accent-base);opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease;white-space:nowrap}
  .kt-business__more i{display:inline-block;width:22px;height:1px;margin-left:10px;background:var(--kt-accent-base);vertical-align:middle}
  .kt-business__row.is-active .kt-business__more{opacity:1;transform:none}
}
@media(max-width:1023px){.kt-business__photo-base,.kt-business__photo-scrim,.kt-business__more{display:none!important}}

/* v0.11 PC BUSINESS: keep six business labels readable without changing the 6-column layout. */
@media(min-width:1181px){
  .kt-business__row{padding-right:8px}
  .kt-business__ja{font-size:16px;line-height:1.42;white-space:normal;word-break:keep-all}
  .kt-business__row:nth-child(1) .kt-business__ja,
  .kt-business__row:nth-child(5) .kt-business__ja{letter-spacing:.02em}
  .kt-business__row:nth-child(6) .kt-business__ja{white-space:nowrap}
}

/* v0.12 PC BUSINESS meter geometry: exact Design System BusinessMeter geometry, expanded to 6 fields. */

/* v0.13 PC BUSINESS: exact radial needle + mid-PC 3x2 business list. */
@media (min-width:1024px){
  /* The needle is positioned in SVG user coordinates by JS; do not CSS-rotate the group. */
  .kt-bm-needle{
    opacity:.30;
    transition:opacity .35s ease;
  }
  .kt-bm-needle.is-active{opacity:1}
  .kt-bm-needle-line{
    stroke:var(--kt-accent-base);
    stroke-width:1.5;
  }
  .kt-bm-needle-node{fill:var(--kt-accent-base)}
}

/* Six fields are comfortable in one row on wide PC only.
   Below 1500px, use 3 columns x 2 rows instead of squeezing labels. */
@media (min-width:1024px) and (max-width:1499px){
  .kt-business__rows{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:28px;
    margin-top:28px;
  }
  .kt-business__row{
    min-width:0;
    padding:18px 8px 20px 0;
    border-bottom:1px solid var(--kt-line);
  }
  .kt-business__row.is-active{border-bottom:2px solid var(--kt-accent-base)}
  .kt-business__en{font-size:9px;letter-spacing:.10em}
  .kt-business__ja{font-size:16px;line-height:1.45}
  .kt-business__more{margin-top:10px}
}

/* v0.14 | BUSINESS: switch to a single-column layout on compact PC widths. */
@media (min-width:1024px) and (max-width:1279px){
  .kt-business{
    padding:120px 64px 150px;
  }
  .kt-business__grid{
    display:block;
  }
  .kt-business__intro{
    width:auto;
    max-width:none;
  }
  .kt-business h2{
    font-size:48px;
    line-height:1.38;
  }
  .kt-business__lead{
    max-width:680px;
  }
  .kt-business__body{
    max-width:680px;
  }
  .kt-business__photo{
    width:min(100%,720px);
    height:300px;
    margin-top:42px;
  }
  .kt-business__main{
    width:100%;
    margin-top:76px;
  }
  .kt-business-meter{
    width:min(100%,620px);
    margin:0 auto;
  }
  .kt-business__rows{
    width:100%;
    max-width:900px;
    margin:38px auto 0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:34px;
    row-gap:0;
  }
  .kt-business__row{
    min-width:0;
    padding:20px 10px 22px 0;
  }
  .kt-business__ja{
    font-size:16px;
    line-height:1.5;
  }
}

/* v0.15 | BUSINESS compact-PC: keep the interactive photo next to the meter. */
@media (min-width:1024px) and (max-width:1279px){
  .kt-business{padding:112px 72px 132px}
  .kt-business__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "copy copy"
      "photo meter"
      "rows rows";
    column-gap:44px;
    row-gap:42px;
    align-items:center;
  }
  .kt-business__intro,
  .kt-business__main{display:contents}
  .kt-business__copy{grid-area:copy;max-width:760px}
  .kt-business h2{font-size:46px;line-height:1.34}
  .kt-business__lead{font-size:23px}
  .kt-business__body{max-width:680px}
  .kt-business__photo{
    grid-area:photo;
    width:100%;
    height:clamp(250px,28vw,330px);
    margin:0;
    align-self:stretch;
  }
  .kt-business-meter{
    grid-area:meter;
    width:100%;
    max-width:560px;
    height:auto;
    aspect-ratio:620/350;
    margin:0 auto;
    align-self:center;
  }
  .kt-business__rows{
    grid-area:rows;
    width:100%;
    margin:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:26px;
    row-gap:0;
  }
  .kt-business__row{min-width:0;padding:20px 0 22px}
  .kt-business__row:nth-child(-n+3){border-top:1px solid var(--kt-line)}
}

/* v0.16 | BUSINESS PC layout refinement
   - Keep the meter above the visual/list pair.
   - Pair photo (left) with a compact 2-column business list (right).
   - Put business number and labels side-by-side to reduce vertical height. */
@media (min-width:1280px){
  .kt-business__grid{
    display:grid;
    grid-template-columns:minmax(0,40%) minmax(0,1fr);
    grid-template-areas:
      "copy meter"
      "photo rows";
    column-gap:72px;
    row-gap:34px;
    align-items:start;
  }
  .kt-business__intro,
  .kt-business__main{display:contents}
  .kt-business__copy{grid-area:copy}
  .kt-business__photo{
    grid-area:photo;
    width:100%;
    height:300px;
    margin:0;
  }
  .kt-business-meter{
    grid-area:meter;
    width:100%;
    max-width:620px;
    margin:-6px auto 0;
  }
  .kt-business__rows{
    grid-area:rows;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 28px;
    margin:0;
    border-top:1px solid var(--kt-line);
    align-self:stretch;
  }
  .kt-business__row{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:
      "num en"
      "num ja"
      "num more";
    column-gap:10px;
    align-content:center;
    min-width:0;
    min-height:88px;
    padding:14px 0;
    border-bottom:1px solid var(--kt-line);
  }
  .kt-business__num{grid-area:num;margin:0;align-self:start;padding-top:1px;font-size:19px}
  .kt-business__en{grid-area:en;margin:0;font-size:8px;line-height:1.35;letter-spacing:.10em}
  .kt-business__ja{grid-area:ja;margin:4px 0 0;font-size:16px;line-height:1.4;white-space:normal}
  .kt-business__more{grid-area:more;margin-top:7px}
}

@media (min-width:1024px) and (max-width:1279px){
  .kt-business{padding:108px 56px 126px}
  .kt-business__grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    grid-template-areas:
      "copy copy"
      "meter meter"
      "photo rows";
    column-gap:34px;
    row-gap:34px;
    align-items:start;
  }
  .kt-business__intro,
  .kt-business__main{display:contents}
  .kt-business__copy{grid-area:copy;max-width:760px}
  .kt-business-meter{
    grid-area:meter;
    width:min(100%,620px);
    max-width:620px;
    margin:0 auto;
  }
  .kt-business__photo{
    grid-area:photo;
    width:100%;
    height:clamp(250px,29vw,320px);
    margin:0;
    align-self:start;
  }
  .kt-business__rows{
    grid-area:rows;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    width:100%;
    margin:0;
    border-top:1px solid var(--kt-line);
    align-self:start;
  }
  .kt-business__row,
  .kt-business__row:nth-child(-n+3){
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    grid-template-areas:
      "num en"
      "num ja"
      "num more";
    column-gap:8px;
    min-width:0;
    min-height:80px;
    padding:12px 0;
    border-top:0;
    border-bottom:1px solid var(--kt-line);
  }
  .kt-business__num{grid-area:num;margin:0;align-self:start;padding-top:1px;font-size:17px}
  .kt-business__en{grid-area:en;margin:0;font-size:7px;line-height:1.35;letter-spacing:.08em}
  .kt-business__ja{grid-area:ja;margin:4px 0 0;font-size:15px;line-height:1.4;white-space:normal}
  .kt-business__more{grid-area:more;margin-top:6px;font-size:8px}
}


/* v0.17 | SP BUSINESS: follow the Claude mobile composition.
   Copy -> meter -> stacked visual business cards. PC layout is unchanged. */
.kt-business__mobile-fields-heading,
.kt-business__mobile-visual,
.kt-business__mobile-num{display:none}

@media (max-width:1023px){
  .kt-business{padding:70px 0 90px}
  .kt-business__intro{padding:0 22px}
  .kt-business h2{font-size:34px;font-weight:900;line-height:1.42}
  .kt-business__lead{margin-top:22px;font-size:19px;font-weight:900;line-height:1.6}
  .kt-business__body{margin-top:18px;font-size:16px;line-height:2;color:rgba(255,255,255,.64)}

  /* The separate PC switching photo is not part of the SP composition. */
  .kt-business__photo{display:none!important}
  .kt-business__main{margin-top:0}

  .kt-business-meter{
    width:100%;
    height:250px;
    aspect-ratio:auto;
    margin:26px 0 0;
    padding:0 12px;
    box-sizing:border-box;
  }
  .kt-business-meter__svg{display:block;width:100%;height:250px;overflow:visible}
  .kt-bm-arc,.kt-bm-arc-inner,.kt-bm-sector{fill:none}
  .kt-bm-arc{stroke:rgba(255,255,255,.12);stroke-width:1}
  .kt-bm-arc-inner{stroke:rgba(255,255,255,.06);stroke-width:1}
  .kt-bm-group{color:rgba(255,255,255,.24);transition:color .45s ease}
  .kt-bm-group.is-active,
  .kt-bm-group.is-passed{color:#2F80ED}
  .kt-bm-tick{stroke:currentColor;stroke-width:1.2}
  .kt-bm-sector{stroke:currentColor;stroke-width:3}
  .kt-bm-label{fill:currentColor;font-family:var(--kt-font-en);font-size:13px;letter-spacing:.14em}
  .kt-bm-needle{opacity:1}
  .kt-bm-needle-line{stroke:var(--kt-accent-base);stroke-width:1.6}
  .kt-bm-needle-node{fill:var(--kt-accent-base)}

  .kt-business-meter__copy{top:58%;min-width:0}
  .kt-business-meter__copy small{font-size:9px;letter-spacing:.26em;color:rgba(255,255,255,.40)}
  .kt-business-meter__copy strong{
    position:relative;
    display:block;
    min-height:48px;
    margin-top:8px;
    font-family:var(--kt-font-en);
    font-size:0;
    font-weight:300;
    line-height:1;
    color:transparent;
  }
  .kt-business-meter__copy strong::after{
    content:"6";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--kt-font-en);
    font-size:44px;
    font-weight:300;
    color:#fff;
  }
  .kt-business-meter__copy em{margin-top:8px;font-size:10px;letter-spacing:.20em;color:#4C9AFF}

  .kt-business__rows{
    display:block;
    margin:26px 22px 0;
    border:0;
  }
  .kt-business__mobile-fields-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:4px;
  }
  .kt-business__mobile-fields-heading span{
    flex:none;
    font-family:var(--kt-font-en);
    font-size:10px;
    font-weight:500;
    letter-spacing:.28em;
    color:rgba(255,255,255,.50);
  }
  .kt-business__mobile-fields-heading i{flex:1;height:1px;background:rgba(255,255,255,.14)}

  .kt-business__row{
    display:block;
    margin-top:18px;
    padding:0 0 18px;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.12);
    opacity:1!important;
  }
  .kt-business__row.is-active{border-bottom-color:rgba(255,255,255,.12)}
  .kt-business__mobile-visual{
    position:relative;
    display:block;
    height:132px;
    overflow:hidden;
    background:#131C26;
  }
  .kt-business__mobile-visual img{
    width:100%;height:100%;object-fit:cover;display:block;
  }
  .kt-business__row:nth-of-type(2) .kt-business__mobile-visual img{object-position:50% 30%}
  .kt-business__mobile-visual-scrim{
    position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(12,18,25,.72) 0%,rgba(12,18,25,.12) 62%);
    pointer-events:none;
  }
  .kt-business__mobile-num{
    position:absolute;left:16px;top:14px;display:block;
    font-family:var(--kt-font-en);font-size:26px;font-weight:300;line-height:1;color:#4C9AFF;
  }
  .kt-business__num{display:none}
  .kt-business__en{
    display:block;margin-top:14px;
    font-family:var(--kt-font-en);font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.50);
  }
  .kt-business__ja{
    display:block;margin-top:7px;padding-right:78px;
    font-size:17px;font-weight:700;line-height:1.55;letter-spacing:.06em;color:#fff;
  }
  .kt-business__more{
    position:absolute;right:0;bottom:31px;
    display:inline-flex!important;align-items:center;gap:9px;
    margin:0;font-family:var(--kt-font-en);font-size:9px;font-weight:400;letter-spacing:.16em;
    color:rgba(255,255,255,.55);opacity:1;transform:none;
  }
  .kt-business__more i{display:inline-block;flex:none;width:20px;height:1px;margin:0;background:#2F80ED;opacity:1}
  .kt-business__ja br{display:none}
  .kt-business__row{position:relative}
}

/* v0.20 | SERVICE compact-PC layout
   At medium desktop widths the FanNav reduces the usable content width too much
   for the original two-column composition. Stack the intro above the service
   visual while keeping the service tabs and actions desktop-like. */
@media (min-width:1024px) and (max-width:1279px){
  .kt-service{
    padding:112px 72px 132px;
  }
  .kt-service__grid{
    display:block;
  }
  .kt-service__intro{
    width:auto;
    max-width:760px;
    padding-top:0;
  }
  .kt-service h2{
    margin-top:24px;
    font-size:46px;
    line-height:1.34;
  }
  .kt-service__lead{
    margin-top:24px;
    max-width:640px;
    font-size:23px;
    line-height:1.5;
  }
  .kt-service__body{
    max-width:680px;
    margin-top:18px;
    font-size:16px;
    line-height:2;
  }
  .kt-service__main{
    width:100%;
    max-width:920px;
    margin-top:48px;
  }
  .kt-service__visual{
    height:clamp(360px,42vw,470px);
    clip-path:polygon(4% 0,100% 0,100% 100%,0 100%);
  }
  .kt-service__current{
    left:44px;
    bottom:36px;
  }
  .kt-service__current b{
    font-size:66px;
  }
  .kt-service__current strong{
    font-size:30px;
  }
  .kt-service__tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:20px;
    row-gap:0;
    padding-right:0;
  }
  .kt-service__tab{
    min-width:0;
    padding:18px 8px 18px 0;
  }
  .kt-service__tab small{
    font-size:11px;
  }
  .kt-service__tab strong{
    margin-top:7px;
    font-size:13px;
    line-height:1.45;
  }
  .kt-service__actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    width:100%;
    margin-top:36px;
    padding-right:0;
  }
  .kt-service__actions .kt-btn{
    width:100%;
    min-width:0;
    min-height:86px;
  }
}

/* v0.21 | SERVICE compact-PC intro width
   Let the title/copy use the same horizontal space as the stacked service content. */
@media (min-width:1024px) and (max-width:1279px){
  .kt-service__intro{
    width:100%;
    max-width:920px;
  }
  .kt-service h2 br{
    display:none;
  }
  .kt-service h2{
    max-width:none;
    white-space:normal;
  }
}

/* v0.24 | SERVICE SP fidelity to Claude reference */
.kt-service-sp{display:none}
@media (max-width:1023px){
  .kt-service{
    padding:72px 0 80px;
    background:#131C26;
  }
  .kt-service>.kt-service__grid{display:none!important}
  .kt-service-sp{display:block}
  .kt-service-sp__intro{padding:0 22px}
  .kt-service-sp__intro .kt-section-label{margin:0 0 22px}
  .kt-service-sp__intro h2{
    margin:0;
    font-size:30px;
    font-weight:900;
    line-height:1.42;
    letter-spacing:.02em;
  }
  .kt-service-sp__lead{
    margin:22px 0 0;
    font-size:19px;
    font-weight:900;
    line-height:1.6;
    letter-spacing:.04em;
    color:#4C9AFF;
  }
  .kt-service-sp__body{
    margin:18px 0 0;
    font-size:16px;
    line-height:2;
    letter-spacing:.06em;
    color:rgba(255,255,255,.60);
  }
  .kt-service-sp__track{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-left:22px;
    -webkit-overflow-scrolling:touch;
    margin-top:26px;
    padding:0 22px 4px;
    scrollbar-width:none;
  }
  .kt-service-sp__track::-webkit-scrollbar{display:none}
  .kt-service-sp__card{
    flex:none;
    width:312px;
    scroll-snap-align:start;
    background:#0C1219;
    border:1px solid rgba(255,255,255,.14);
    text-decoration:none;
    color:#fff;
    display:block;
  }
  .kt-service-sp__image{
    position:relative;
    display:block;
    height:168px;
    overflow:hidden;
  }
  .kt-service-sp__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
  }
  .kt-service-sp__card:nth-child(6) .kt-service-sp__image img{object-position:50% 58%}
  .kt-service-sp__content{display:block;padding:16px 16px 18px}
  .kt-service-sp__content>small{
    display:block;
    margin-bottom:8px;
    font-family:var(--kt-font-en);
    font-size:10px;
    font-weight:500;
    letter-spacing:.16em;
    color:rgba(255,255,255,.55);
  }
  .kt-service-sp__content>strong{
    display:block;
    font-size:18px;
    font-weight:700;
    letter-spacing:.03em;
    color:#fff;
  }
  .kt-service-sp__more{
    display:flex;
    align-items:center;
    margin-top:12px;
    font-family:var(--kt-font-en);
    font-size:10px;
    font-weight:500;
    letter-spacing:.16em;
    color:#4C9AFF;
  }
  .kt-service-sp__more i{
    display:inline-block;
    width:16px;
    height:1px;
    margin-left:8px;
    background:#2F80ED;
  }
  .kt-service-sp__actions{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:26px 22px 0;
  }
  .kt-service-sp__actions a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    height:60px;
    padding:0 24px;
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
    font-size:18px;
    font-weight:700;
    letter-spacing:.1em;
    text-decoration:none;
  }
  .kt-service-sp__actions a:first-child{
    background:#1F6FD6;
    border-color:#1F6FD6;
  }
  .kt-service-sp__actions i{
    width:26px;
    height:1px;
    background:#2F80ED;
    flex:none;
  }
  .kt-service-sp__actions a:first-child i{background:currentColor}
}


/* v0.27 | STOCK CARS desktop fidelity: spacing / placement / card proportions */
@media (min-width:1280px){
  .kt-stock .kt-section-label{margin-bottom:28px}
  .kt-stock__grid{display:flex;grid-template-columns:none;gap:40px;align-items:stretch}
  .kt-stock-card--large{width:58%;flex:none;display:block}
  .kt-stock-card--large .kt-stock-card__image{height:480px}
  .kt-stock__side{flex:1;min-width:0;display:flex;flex-direction:column;gap:36px}
  .kt-stock-card--small{display:flex;grid-template-columns:none;gap:26px;align-items:center;margin:0}
  .kt-stock-card--small .kt-stock-card__image{width:210px;height:150px;flex:none}
  .kt-stock-card__body{border-bottom:0;padding:0}
  .kt-stock-card--large .kt-stock-card__body{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:26px;padding:0 0 22px;border-bottom:1px solid var(--kt-line)}
  .kt-stock-card__copy{display:block;min-width:0}
  .kt-stock-card--large .kt-stock-card__name{display:block;font-size:30px;line-height:1.4;font-weight:700;letter-spacing:.06em}
  .kt-stock-card--large .kt-stock-card__price{margin-top:14px;font-size:18px;color:rgba(255,255,255,.82)}
  .kt-stock-card--large .kt-stock-card__price b{font-size:24px}
  .kt-stock-card--small .kt-stock-card__body{flex:1;min-width:0}
  .kt-stock-card--small .kt-stock-card__name{display:block;font-size:21px;line-height:1.45;font-weight:700;letter-spacing:.06em}
  .kt-stock-card--small .kt-stock-card__price{margin-top:12px;font-size:16px;color:var(--kt-text-62)}
  .kt-stock-card--small .kt-stock-card__price b{font-size:19px}
  .kt-stock-card__detail{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-family:var(--kt-font-en);font-size:10px;font-weight:500;letter-spacing:.24em;color:rgba(255,255,255,.70)}
  .kt-stock-card--large .kt-stock-card__detail{flex:none;gap:14px;margin-top:0;padding-bottom:6px;font-size:11px;color:#fff}
  .kt-stock-card__detail i{display:block;width:26px;height:1px;background:var(--kt-accent-base);transition:width .45s var(--kt-ease)}
  .kt-stock-card--large .kt-stock-card__detail i{width:34px}
  .kt-stock-card:hover .kt-stock-card__detail i{width:42px}
  .kt-stock__divider{display:block;height:1px;background:var(--kt-line);flex:none}
}
@media (min-width:1280px) and (max-width:1520px){
  .kt-stock-card--large{width:55%}
  .kt-stock__grid{gap:34px}
  .kt-stock-card--small .kt-stock-card__image{width:185px}
  .kt-stock-card--small{gap:20px}
  .kt-stock-card--small .kt-stock-card__name{font-size:20.5px}
}
@media (min-width:1280px) and (max-width:1370px){
  .kt-stock-card--large{width:52%}
  .kt-stock__grid{gap:30px}
  .kt-stock-card--small .kt-stock-card__image{width:162px}
  .kt-stock-card--small{gap:16px}
  .kt-stock-card--small .kt-stock-card__name{font-size:20px}
}

/* v0.28 | STOCK CARS: rental-sale CTA removed; keep the remaining stock CTA full width */
@media (min-width: 768px){
  .kt-stock__links{grid-template-columns:1fr}
  .kt-stock__links .kt-link-panel{width:100%}
}

/* v0.29 | STOCK CARS: match Claude stock CTA */
.kt-stock__links{
  display:block;
  margin-top:72px;
}
.kt-stock__links .kt-link-panel{
  width:100%;
  min-height:0;
  padding:30px 34px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#131C26;
  border:0;
  border-left:3px solid #2F80ED;
  text-decoration:none;
  transition:background .25s var(--kt-ease);
}
.kt-stock__links .kt-link-panel:hover{background:#1B2632}
.kt-stock__links .kt-link-panel strong{
  display:block;
  font-size:20px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:.08em;
  color:#fff;
}
.kt-stock__links .kt-link-panel small{
  display:block;
  margin-top:12px;
  font-size:13px;
  line-height:1.7;
  letter-spacing:.06em;
  color:rgba(255,255,255,.60);
}
.kt-stock__links .kt-link-panel:after{
  content:"";
  flex:none;
  width:34px;
  height:1px;
  background:#2F80ED;
}
@media (max-width:767px){
  .kt-stock__links{
    display:block;
    margin:36px 22px 0;
  }
  .kt-stock__links .kt-link-panel{
    min-height:0;
    padding:22px;
    gap:18px;
  }
  .kt-stock__links .kt-link-panel strong{
    font-size:17px;
    line-height:1.5;
    letter-spacing:.06em;
  }
  .kt-stock__links .kt-link-panel small{
    margin-top:9px;
    font-size:12px;
    line-height:1.7;
    letter-spacing:.04em;
  }
  .kt-stock__links .kt-link-panel:after{width:26px}
}

/* v0.30 | SP STOCK CARS: Claude reference fidelity */
@media (max-width:767px){
  .kt-stock{padding:72px 0 80px;background:#0C1219}
  .kt-stock__head{display:block;padding:0 22px;margin-bottom:30px}
  .kt-stock__head .kt-section-label{margin-bottom:22px}
  .kt-stock__head h2{margin:0;font-size:30px;font-weight:900;line-height:1.42;letter-spacing:.02em}

  .kt-stock__grid{display:block}
  .kt-stock-card{margin:0;text-decoration:none}

  .kt-stock-card--large{display:block;margin:0}
  .kt-stock-card--large .kt-stock-card__image{height:260px}
  .kt-stock-card--large .kt-stock-card__badge{
    padding:8px 16px;
    font-size:10px;
    font-weight:500;
    letter-spacing:.22em;
  }
  .kt-stock-card--large .kt-stock-card__body{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px 0;
    border-bottom:0;
  }
  .kt-stock-card__copy{display:block;min-width:0}
  .kt-stock-card--large .kt-stock-card__name{
    display:block;
    font-size:22px;
    font-weight:700;
    line-height:1.45;
    letter-spacing:.06em;
  }
  .kt-stock-card--large .kt-stock-card__price{
    display:block;
    margin-top:10px;
    font-size:16px;
    letter-spacing:.06em;
    color:rgba(255,255,255,.62);
  }
  .kt-stock-card--large .kt-stock-card__price b{
    font-size:19px;
    font-weight:400;
    color:#fff;
  }
  .kt-stock-card__detail{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:12px;
    font-family:var(--kt-font-en);
    font-size:9px;
    font-weight:400;
    letter-spacing:.18em;
    color:rgba(255,255,255,.55);
    white-space:nowrap;
  }
  .kt-stock-card--large .kt-stock-card__detail{
    flex:none;
    gap:10px;
    margin-top:0;
    padding-bottom:4px;
    font-size:10px;
    color:rgba(255,255,255,.60);
  }
  .kt-stock-card__detail i{
    display:block;
    width:20px;
    height:1px;
    background:#2F80ED;
  }
  .kt-stock-card--large .kt-stock-card__detail i{width:22px}

  .kt-stock__side{
    display:flex;
    flex-direction:column;
    gap:20px;
    margin:34px 22px 0;
  }
  .kt-stock__side .kt-stock-card{margin:0}
  .kt-stock-card--small{
    display:flex;
    grid-template-columns:none;
    gap:18px;
    align-items:center;
  }
  .kt-stock-card--small .kt-stock-card__image{
    width:132px;
    height:96px;
    flex:none;
  }
  .kt-stock-card--small .kt-stock-card__body{
    flex:1;
    min-width:0;
    padding:0;
    border-bottom:0;
  }
  .kt-stock-card--small .kt-stock-card__name{
    display:block;
    font-size:18px;
    font-weight:700;
    line-height:1.45;
    letter-spacing:.05em;
  }
  .kt-stock-card--small .kt-stock-card__price{
    display:block;
    margin-top:8px;
    font-size:13px;
    line-height:1.5;
    letter-spacing:.05em;
    color:rgba(255,255,255,.62);
  }
  .kt-stock-card--small .kt-stock-card__price b{
    font-size:18px;
    font-weight:400;
    color:#fff;
  }
  .kt-stock__divider{display:none}

  .kt-stock__links{margin:36px 22px 0}
}

/* v0.31 | RENT A CAR separation + RECRUIT fidelity to Claude reference */
.kt-recruit__link-sp{display:none}
@media (min-width:1024px){
  /* RENT A CAR was added later: keep it on the page background and visually separate it from RECRUIT. */
  .kt-rentacar{
    background:transparent;
    margin-bottom:150px;
  }
  .kt-rentacar__veil{
    background:linear-gradient(90deg,#0C1219 0%,#0C1219 42%,rgba(12,18,25,.72) 62%,rgba(12,18,25,.08) 100%);
  }

  /* Claude PC RECRUIT geometry */
  .kt-recruit{
    display:flex;
    align-items:stretch;
    justify-content:flex-end;
    grid-template-columns:none;
    min-height:0;
    padding:0 0 170px;
    background:#131C26;
  }
  .kt-recruit__copy{
    flex:1 1 auto;
    min-width:0;
    padding:250px 56px 0 88px;
  }
  .kt-recruit__image{
    width:50%;
    flex:0 0 50%;
    height:740px;
    object-fit:cover;
    object-position:50% 28%;
    clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);
  }
  .kt-recruit h2{
    margin-top:28px;
    font-size:62px;
    line-height:1.28;
    letter-spacing:.02em;
    white-space:nowrap;
  }
  .kt-recruit p{
    max-width:380px;
    margin-top:36px;
    line-height:2.2;
    letter-spacing:.06em;
  }
  .kt-recruit .kt-arrow-link{margin-top:48px}
}

@media (min-width:1024px) and (max-width:1279px){
  .kt-rentacar{margin-bottom:120px}
  .kt-recruit{padding-bottom:130px}
  .kt-recruit__copy{padding:170px 38px 0 48px}
  .kt-recruit__image{height:620px}
  .kt-recruit h2{font-size:50px}
}

@media (max-width:1023px){
  .kt-rentacar{
    background:transparent;
    margin-bottom:72px;
  }
  .kt-rentacar__veil{
    background:linear-gradient(180deg,rgba(12,18,25,.06),#0C1219 88%);
  }

  /* Claude SP RECRUIT: image first, gradient overlay, then copy lifted over the image. */
  .kt-recruit{
    display:block;
    position:relative;
    min-height:0;
    padding:0;
    background:#131C26;
  }
  .kt-recruit:before{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    right:0;
    top:0;
    height:420px;
    background:linear-gradient(180deg,rgba(19,28,38,.55) 0%,rgba(19,28,38,.10) 38%,rgba(19,28,38,.92) 88%,#131C26 100%);
    pointer-events:none;
  }
  .kt-recruit:after{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    top:330px;
    width:100%;
    height:90px;
    background:linear-gradient(90deg,rgba(47,128,237,.22),rgba(47,128,237,0) 68%);
    pointer-events:none;
  }
  .kt-recruit__image{
    display:block;
    width:100%;
    height:420px;
    object-fit:cover;
    object-position:50% 28%;
    clip-path:none;
  }
  .kt-recruit__copy{
    position:relative;
    z-index:2;
    margin-top:-60px;
    padding:0 22px 80px;
  }
  .kt-recruit h2{margin-top:22px;font-size:34px;line-height:1.38}
  .kt-recruit p{margin-top:22px;font-size:16px;line-height:2.05;color:rgba(255,255,255,.70)}
  .kt-recruit__link-pc{display:none}
  .kt-recruit__link-sp{display:inline}
  .kt-recruit .kt-arrow-link.kt-recruit__link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    width:100%;
    height:60px;
    box-sizing:border-box;
    margin-top:30px;
    padding:0 24px;
    border:1px solid rgba(255,255,255,.28);
    font-family:var(--kt-font-jp);
    font-size:18px;
    font-weight:700;
    letter-spacing:.10em;
  }
  .kt-recruit .kt-arrow-link.kt-recruit__link:after{width:26px}
}

/* v0.32 | SP RECRUIT order/fidelity fix */
@media (max-width:1023px){
  /* DOM is copy -> image. Reverse only the visual order on SP so the image is first. */
  .kt-recruit{
    display:flex;
    flex-direction:column-reverse;
    position:relative;
    overflow:hidden;
    min-height:0;
    padding:0;
    background:#131C26;
  }
  .kt-recruit__image{
    order:0;
    display:block;
    width:100%;
    height:420px;
    flex:0 0 420px;
    object-fit:cover;
    object-position:50% 28%;
    clip-path:none;
  }
  .kt-recruit__copy{
    order:1;
    position:relative;
    z-index:2;
    width:100%;
    box-sizing:border-box;
    margin-top:-110px;
    padding:0 22px 80px;
  }
  .kt-recruit:before{
    z-index:1;
    height:420px;
    background:linear-gradient(180deg,rgba(19,28,38,.24) 0%,rgba(19,28,38,.06) 42%,rgba(19,28,38,.68) 70%,rgba(19,28,38,.96) 90%,#131C26 100%);
  }
  .kt-recruit:after{
    z-index:1;
    top:318px;
    height:102px;
    background:linear-gradient(90deg,rgba(47,128,237,.20),rgba(47,128,237,0) 70%);
  }
}


/* v0.33 | RECRUIT DOM/order fix: image must lead on SP, copy stays left on PC */
@media (min-width:1024px){
  .kt-recruit__copy{order:0}
  .kt-recruit__image{order:1}
}

@media (max-width:1023px){
  .kt-recruit{
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
    min-height:0;
    padding:0;
    background:#131C26;
  }
  .kt-recruit__image{
    order:0;
    display:block;
    width:100%;
    height:420px;
    flex:0 0 420px;
    object-fit:cover;
    object-position:50% 28%;
    clip-path:none;
  }
  .kt-recruit__copy{
    order:1;
    position:relative;
    z-index:2;
    width:100%;
    box-sizing:border-box;
    margin-top:-60px;
    padding:0 22px 80px;
  }
  .kt-recruit:before{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    right:0;
    top:0;
    height:420px;
    background:linear-gradient(180deg,rgba(19,28,38,.55) 0%,rgba(19,28,38,.10) 38%,rgba(19,28,38,.92) 88%,#131C26 100%);
    pointer-events:none;
  }
  .kt-recruit:after{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    top:330px;
    width:100%;
    height:90px;
    background:linear-gradient(90deg,rgba(47,128,237,.22),rgba(47,128,237,0) 68%);
    pointer-events:none;
  }
  .kt-recruit .kt-section-label{margin-bottom:22px}
  .kt-recruit h2{margin:0;font-size:34px;line-height:1.38}
  .kt-recruit p{margin-top:22px}
}

/* v0.34 | RECRUIT gradient anchor + RENT A CAR responsive structure */
/* RECRUIT: anchor the SP gradient to the image itself so it never drifts with viewport width. */
.kt-recruit:before,
.kt-recruit:after{content:none!important;display:none!important}
.kt-recruit__media{position:relative;overflow:hidden}
.kt-recruit__media:after{content:"";position:absolute;inset:0;pointer-events:none}
.kt-recruit__image{display:block;width:100%;height:100%;object-fit:cover}

/* RENT A CAR: the text, image and store link are independent grid items. */
.kt-rentacar__veil{display:none!important}
.kt-rentacar__media{position:relative;overflow:hidden}
.kt-rentacar__media:after{content:"";position:absolute;inset:0;background:rgba(12,18,25,.16);pointer-events:none}
.kt-rentacar__image{display:block;width:100%;height:100%;object-fit:cover}

@media (min-width:1024px){
  .kt-rentacar{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,52%);
    grid-template-rows:auto auto;
    column-gap:0;
    align-items:center;
    min-height:560px;
    margin-bottom:150px;
    padding:90px 0;
    background:transparent;
    overflow:hidden;
  }
  .kt-rentacar__inner{
    grid-column:1;
    grid-row:1;
    align-self:end;
    width:auto;
    margin:0;
    padding:0 56px 0 88px;
  }
  .kt-rentacar__media{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
    width:100%;
    height:420px;
  }
  .kt-rentacar__image{position:static;inset:auto;width:100%;height:100%;object-position:50% 50%}
  .kt-rentacar__link{
    grid-column:1;
    grid-row:2;
    align-self:start;
    justify-self:start;
    margin:42px 56px 0 88px;
  }

  .kt-recruit{
    display:grid;
    grid-template-columns:minmax(0,1fr) 50%;
    align-items:center;
    min-height:680px;
    padding:0 0 170px;
    background:#131C26;
    overflow:hidden;
  }
  .kt-recruit__copy{
    grid-column:1;
    grid-row:1;
    align-self:center;
    min-width:0;
    margin:0;
    padding:0 56px 0 88px;
  }
  .kt-recruit__media{
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    height:740px;
    clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);
  }
  .kt-recruit__media:after{background:rgba(12,18,25,.08)}
  .kt-recruit__image{object-position:50% 28%;clip-path:none}
}

@media (min-width:1024px) and (max-width:1279px){
  .kt-rentacar{
    grid-template-columns:minmax(0,1fr) 50%;
    min-height:0;
    margin-bottom:120px;
    padding:90px 0;
  }
  .kt-rentacar__inner{align-self:end;padding:0 42px 0 48px}
  .kt-rentacar__media{height:340px}
  .kt-rentacar__link{margin:36px 42px 0 48px}
  .kt-rentacar h2{font-size:46px}
  .kt-rentacar p{margin-top:24px;line-height:2}

  .kt-recruit{
    grid-template-columns:minmax(0,1fr) 50%;
    min-height:620px;
    padding-bottom:130px;
  }
  .kt-recruit__copy{padding:0 38px 0 48px}
  .kt-recruit__media{height:620px}
  .kt-recruit h2{font-size:50px}
}

@media (max-width:1023px){
  .kt-rentacar{
    display:flex;
    flex-direction:column;
    min-height:0;
    margin:0 0 92px;
    padding:70px 22px 0;
    background:transparent;
    overflow:visible;
  }
  .kt-rentacar__inner{order:0;width:auto;margin:0;padding:0}
  .kt-rentacar h2{margin:22px 0 0;font-size:34px;line-height:1.38}
  .kt-rentacar p{margin:22px 0 0;max-width:none;font-size:16px;line-height:2.05;color:var(--kt-text-72)}
  .kt-rentacar__media{
    order:1;
    width:calc(100% + 44px);
    height:auto;
    aspect-ratio:390 / 305;
    margin:34px -22px 0;
  }
  .kt-rentacar__media:after{background:rgba(12,18,25,.16)}
  .kt-rentacar__image{position:static;inset:auto;width:100%;height:100%;object-position:50% 50%}
  .kt-rentacar__link{
    order:2;
    align-self:flex-start;
    margin:30px 0 0;
  }

  .kt-recruit{
    display:flex;
    flex-direction:column;
    position:relative;
    min-height:0;
    padding:0;
    background:#131C26;
    overflow:hidden;
  }
  .kt-recruit__media{
    order:0;
    width:100%;
    height:clamp(330px,78vw,420px);
    flex:none;
    clip-path:none;
  }
  .kt-recruit__media:after{
    background:
      linear-gradient(180deg,rgba(19,28,38,.05) 0%,rgba(19,28,38,.04) 44%,rgba(19,28,38,.58) 72%,#131C26 100%),
      linear-gradient(90deg,rgba(47,128,237,.18) 0%,rgba(47,128,237,0) 72%);
  }
  .kt-recruit__image{height:100%;object-position:50% 28%;clip-path:none}
  .kt-recruit__copy{
    order:1;
    position:relative;
    z-index:2;
    width:100%;
    box-sizing:border-box;
    margin-top:-96px;
    padding:0 22px 80px;
  }
  .kt-recruit .kt-section-label{margin-bottom:22px}
  .kt-recruit h2{margin:0;font-size:34px;line-height:1.38}
  .kt-recruit p{margin-top:22px}
}

/* v0.34 specificity guards */
@media (min-width:1024px) and (max-width:1279px){
  .kt-rentacar .kt-rentacar__link{margin:36px 42px 0 48px}
}
@media (max-width:1023px){
  .kt-rentacar .kt-rentacar__link{margin:30px 0 0}
}

/* v0.35 | CONTACT: match the current Claude reference (blue slanted panel + phone block). */
.kt-contact{
  position:relative;
  min-height:476px;
  box-sizing:border-box;
  padding:138px 76px 114px;
  background:transparent;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.kt-contact:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:#2F80ED;
  clip-path:polygon(0 108px,100% 0,100% 100%,0 100%);
}
.kt-contact__inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  align-items:center;
  gap:88px;
  width:100%;
  max-width:none;
  margin:0;
}
.kt-contact__main h2{
  margin:0;
  font-family:var(--kt-font-ja);
  font-size:48px;
  font-weight:900;
  line-height:1.38;
  letter-spacing:.035em;
  color:#fff;
}
.kt-contact__button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:252px;
  min-height:54px;
  box-sizing:border-box;
  margin-top:42px;
  padding:0 28px 0 30px;
  background:#0C1219;
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.13em;
  transition:background .25s var(--kt-ease),transform .25s var(--kt-ease);
}
.kt-contact__button i{
  display:block;
  width:26px;
  height:1px;
  background:rgba(255,255,255,.9);
  flex:none;
  transition:transform .25s var(--kt-ease);
}
.kt-contact__button:hover{background:#131C26;transform:translateY(-1px)}
.kt-contact__button:hover i{transform:translateX(4px)}
.kt-contact__phone{
  position:relative;
  z-index:2;
  align-self:center;
  padding:10px 0 0 16px;
  color:#fff;
}
.kt-contact__phone-label{
  display:block;
  margin-bottom:18px;
  font-family:var(--kt-font-en);
  font-size:10px;
  font-weight:500;
  letter-spacing:.28em;
  color:rgba(255,255,255,.72);
}
.kt-contact__phone-number{
  display:block;
  white-space:nowrap;
  font-family:var(--kt-font-en);
  font-size:31px;
  font-weight:400;
  line-height:1.15;
  letter-spacing:.06em;
  color:#fff;
}
.kt-contact__phone small{
  display:block;
  margin-top:18px;
  font-size:11px;
  line-height:1.85;
  letter-spacing:.02em;
  color:rgba(255,255,255,.78);
}
.kt-contact__diamond{
  position:absolute;
  z-index:0;
  right:-20px;
  top:34px;
  width:250px;
  height:250px;
  border:1px solid rgba(255,255,255,.16);
  transform:rotate(45deg);
  pointer-events:none;
}
.kt-contact__hatch{
  position:absolute;
  z-index:0;
  right:-2px;
  bottom:-12px;
  width:262px;
  height:190px;
  opacity:.27;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.75) 0 1px,transparent 1px 10px);
  clip-path:polygon(34% 0,100% 0,100% 100%,0 100%);
  pointer-events:none;
}

@media (min-width:1024px) and (max-width:1279px){
  .kt-contact{
    min-height:430px;
    padding:126px 48px 96px;
  }
  .kt-contact:before{clip-path:polygon(0 82px,100% 0,100% 100%,0 100%)}
  .kt-contact__inner{grid-template-columns:minmax(0,1fr) 260px;gap:48px}
  .kt-contact__main h2{font-size:40px}
  .kt-contact__button{margin-top:34px}
  .kt-contact__phone-number{font-size:27px}
  .kt-contact__diamond{right:-54px;top:42px;width:220px;height:220px}
  .kt-contact__hatch{width:220px;height:160px}
}

@media (max-width:1023px){
  .kt-contact{
    min-height:0;
    padding:82px 22px 70px;
    color:#fff;
  }
  .kt-contact:before{clip-path:polygon(0 42px,100% 0,100% 100%,0 100%)}
  .kt-contact__inner{
    display:block;
    width:auto;
  }
  .kt-contact__main h2{
    font-size:34px;
    line-height:1.42;
    letter-spacing:.025em;
  }
  .kt-contact__button{
    width:100%;
    min-height:58px;
    margin-top:32px;
    padding:0 22px;
    font-size:12px;
  }
  .kt-contact__phone{
    margin-top:46px;
    padding:0;
  }
  .kt-contact__phone-label{margin-bottom:12px}
  .kt-contact__phone-number{font-size:29px}
  .kt-contact__phone small{margin-top:12px}
  .kt-contact__diamond{
    right:-92px;
    top:180px;
    width:190px;
    height:190px;
  }
  .kt-contact__hatch{
    right:-46px;
    bottom:-10px;
    width:190px;
    height:130px;
  }
}


/* v0.37 | Footer sync to Claude reference */
.kt-footer{
  position:relative;
  overflow:hidden;
  padding:76px 88px 44px;
  background:#0C1219;
  color:#fff;
}
.kt-footer__media{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
  background-image:var(--kt-footer-bg-pc);
  background-size:cover;
  background-position:top center;
  background-repeat:no-repeat;
}
.kt-footer:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,18,25,.78) 0%,rgba(12,18,25,.82) 45%,rgba(12,18,25,.94) 100%);
  pointer-events:none;
}
.kt-footer__inner{position:relative;z-index:2}
.kt-footer__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:80px;
}
.kt-footer__brand{
  flex:0 0 auto;
}
.kt-footer__brand .kt-footer__logo{
  display:block;
  width:250px;
  height:auto;
  filter:brightness(0) invert(1);
}
.kt-footer__address{
  margin:24px 0 0;
  font-size:15px;
  line-height:2.1;
  letter-spacing:.06em;
  color:rgba(255,255,255,.85);
}
.kt-footer__tel,.kt-footer__sep,.kt-footer__fax{display:inline}
.kt-footer__sns{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:26px;
}
.kt-footer__sns-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  flex:none;
  border-radius:50%;
  background:#131C26;
  transition:opacity .2s var(--kt-ease),transform .2s var(--kt-ease);
}
.kt-footer__sns-link img{
  display:block;
  filter:none!important;
  width:19px;
  height:19px;
  object-fit:contain;
}
.kt-footer__sns-link--line img{width:20px;height:20px}
.kt-footer__sns-link[aria-label="X"] img{width:16px;height:16px}
.kt-footer__sns-link:hover{opacity:.78;transform:translateY(-1px)}
.kt-footer__sns-link:focus-visible{outline:2px solid #4C9AFF;outline-offset:2px}
.kt-footer__nav{
  display:flex;
  flex:0 0 auto;
  justify-content:flex-end;
  gap:60px;
  margin-left:auto;
  padding-top:6px;
}
.kt-footer__group{
  flex:0 0 150px;
  min-width:150px;
}
.kt-footer__group .kt-footer__group-title{
  display:block;
  padding-bottom:12px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.16);
  font-size:12px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.14em;
  color:#fff;
}
.kt-footer__group a.kt-footer__group-title:hover{color:#4C9AFF}
.kt-footer__nav-link{
  display:flex!important;
  align-items:baseline;
  gap:10px;
  font-size:15px!important;
  line-height:2.1!important;
  letter-spacing:.06em;
  color:rgba(255,255,255,.85)!important;
}
.kt-footer__nav-link span{
  flex:none;
  font-family:var(--kt-font-en);
  font-size:11px;
  color:#4C9AFF;
}
.kt-footer__nav-link:hover{color:#fff!important}
.kt-footer__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  margin-top:56px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
}
.kt-footer__copyright{
  font-family:var(--kt-font-en);
  font-size:10px;
  line-height:1.6;
  letter-spacing:.2em;
  color:rgba(255,255,255,.62);
}
.kt-footer__utility{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:28px;
}
.kt-footer__utility a{
  font-size:12px;
  line-height:1.6;
  letter-spacing:.06em;
  color:rgba(255,255,255,.82);
}
.kt-footer__utility a:hover{color:#fff}
.kt-footer__utility a.kt-footer__utility-external{display:inline-flex;align-items:baseline;gap:4px}
.kt-footer__utility-external span{font-family:var(--kt-font-en);font-size:.9em;font-weight:600;line-height:1;color:#4C9AFF}

@media (min-width:1024px) and (max-width:1499px){
  .kt-footer{padding:64px 48px 40px}
  .kt-footer:after{background:linear-gradient(180deg,rgba(12,18,25,.78) 0%,rgba(12,18,25,.82) 52%,rgba(12,18,25,.89) 100%)}
  .kt-footer__top{display:block}
  .kt-footer__nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 52px;
    margin-top:46px;
    margin-left:0;
    padding-top:0;
  }
  .kt-footer__group{
    min-width:0;
    flex:auto;
  }
  .kt-footer__bottom{align-items:flex-start}
  .kt-footer__utility{max-width:520px}
}

@media (max-width:1023px){
  .kt-footer{
    padding:48px 22px 32px;
  }
  .kt-footer__media{background-image:var(--kt-footer-bg-sp);background-position:top center}
  .kt-footer:after{
    background:linear-gradient(180deg,rgba(12,18,25,.78) 0%,rgba(12,18,25,.84) 42%,rgba(12,18,25,.95) 100%);
  }
  .kt-footer__top{display:block}
  .kt-footer__brand .kt-footer__logo{width:200px}
  .kt-footer__address{
    margin-top:20px;
    font-size:15px;
    line-height:2.05;
    letter-spacing:.05em;
  }
  .kt-footer__tel,.kt-footer__fax{display:block}
  .kt-footer__sep{display:none}
  .kt-footer__sns{gap:12px;margin-top:24px}
  .kt-footer__sns-link{width:44px;height:44px}
  .kt-footer__nav{
    display:block;
    margin-top:34px;
    padding-top:0;
  }
  .kt-footer__group + .kt-footer__group{margin-top:30px}
  .kt-footer__group .kt-footer__group-title{
    padding-bottom:12px;
    margin-bottom:0;
    border-bottom:1px solid rgba(255,255,255,.16);
    font-size:12px;
    letter-spacing:.14em;
  }
  .kt-footer__nav-link{
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:15px 2px;
    border-bottom:1px solid rgba(255,255,255,.10);
    font-size:16px!important;
    line-height:1.55!important;
    letter-spacing:.05em;
  }
  .kt-footer__nav-link span{
    order:2;
    margin-left:auto;
    font-size:16px;
  }
  .kt-footer__bottom{
    display:flex;
    flex-direction:column-reverse;
    align-items:stretch;
    gap:0;
    margin-top:34px;
    padding-top:0;
    border-top:0;
  }
  .kt-footer__utility{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    margin:0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.16);
  }
  .kt-footer__utility a{
    display:block;
    margin:0;
    font-size:12px;
    letter-spacing:.05em;
  }
  .kt-footer__copyright{
    margin-top:22px;
    font-size:9px;
    letter-spacing:.18em;
  }
}


/* v0.40 | consolidated TOP QA fixes (2026-09-30) */
.kt-business__body-break{display:none}

/* Image policy: every TOP media frame is filled, centered and cropped consistently. */
.kt-business__photo img,
.kt-business__mobile-visual img,
.kt-service__visual img,
.kt-service-sp__image img,
.kt-stock-card__image img,
.kt-rentacar__image,
.kt-recruit__image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center!important;
}

/* NEWS: restore the JP label on PC and make all link-like elements visibly interactive. */
.kt-news__title,
.kt-news__all,
.kt-news__more,
.kt-arrow-link,
.kt-btn,
.kt-link-panel,
.kt-service__tab,
.kt-service-sp__card{
  transition:color .25s var(--kt-ease),background-color .25s var(--kt-ease),border-color .25s var(--kt-ease),transform .25s var(--kt-ease),opacity .25s var(--kt-ease);
}
.kt-news__title{display:inline-block;transition:color .25s var(--kt-ease),transform .25s var(--kt-ease)}
.kt-news__more i,
.kt-btn:after,
.kt-link-panel:after,
.kt-service-sp__more i{
  transition:width .3s var(--kt-ease),transform .3s var(--kt-ease),background-color .25s var(--kt-ease);
}
@media (hover:hover){
  .kt-news__row:hover .kt-news__title{color:#4C9AFF;transform:translateX(4px)}
  .kt-news__all:hover{color:#4C9AFF}
  .kt-news__all:hover:after{transform:translateX(6px) scaleX(1.08)}
  .kt-news__more:hover{border-color:#4C9AFF;background:rgba(47,128,237,.08);color:#4C9AFF}
  .kt-news__more:hover i{width:34px}
  .kt-btn:hover{transform:translateY(-2px)}
  .kt-btn:not(.kt-btn--outline):hover{background:#2F80ED}
  .kt-btn--outline:hover{border-color:#4C9AFF;background:rgba(47,128,237,.08);color:#4C9AFF}
  .kt-btn:hover:after{width:44px;transform:translateX(3px)}
  .kt-link-panel:hover:after{width:44px;transform:translateX(3px)}
  .kt-service-sp__card:hover{border-color:rgba(76,154,255,.65);transform:translateY(-2px)}
  .kt-service-sp__card:hover .kt-service-sp__image img{transform:scale(1.035)}
  .kt-service-sp__card:hover .kt-service-sp__more i{width:26px}
  .kt-rentacar__link:hover,.kt-recruit__link:hover{color:#4C9AFF}
}
.kt-news__row:focus-visible .kt-news__title,
.kt-news__all:focus-visible,
.kt-news__more:focus-visible,
.kt-rentacar__link:focus-visible,
.kt-recruit__link:focus-visible{color:#4C9AFF}

/* BUSINESS: natural wrap points in the meter, larger wide-PC meter, tighter visual grouping. */
.kt-business-meter__copy strong{word-break:keep-all;overflow-wrap:normal;line-break:strict}
@media (min-width:1500px){
  .kt-business__grid{row-gap:8px}
  .kt-business-meter{
    width:calc(100% + 90px);
    max-width:760px;
    margin:-28px -45px -22px;
  }
  .kt-business__rows{align-self:start}
}
@media (min-width:1024px) and (max-width:1279px){
  .kt-business__photo{
    height:auto;
    min-height:280px;
    aspect-ratio:1/1;
    align-self:stretch;
  }
}
@media (min-width:600px) and (max-width:1023px){
  .kt-business__body-break{display:block}
  .kt-business__body{max-width:650px}
  .kt-business__mobile-visual{height:clamp(220px,34vw,290px)}
}

/* SERVICE: 3 x 2 switch links on PC, Claude-style VIEW MORE on hover/focus. */
@media (min-width:1024px){
  .kt-service__tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:22px;
    row-gap:0;
  }
  .kt-service__tab{
    position:relative;
    display:block;
    min-height:104px;
    text-decoration:none;
    border-bottom:2px solid rgba(255,255,255,.16);
    padding:18px 8px 16px 0;
  }
  .kt-service__tab strong{padding-right:6px}
  .kt-service__tab-more{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:16px;
    margin-top:10px;
    font-family:var(--kt-font-en);
    font-size:9px;
    font-weight:500;
    letter-spacing:.18em;
    color:#4C9AFF;
    opacity:0;
    transform:translateY(5px);
    transition:opacity .3s var(--kt-ease),transform .3s var(--kt-ease);
  }
  .kt-service__tab-more i{width:20px;height:1px;background:#2F80ED;transition:width .3s var(--kt-ease)}
  .kt-service__tab:hover,
  .kt-service__tab:focus-visible,
  .kt-service__tab.is-active{border-color:#2F80ED}
  .kt-service__tab:hover .kt-service__tab-more,
  .kt-service__tab:focus-visible .kt-service__tab-more{opacity:1;transform:none}
  .kt-service__tab:hover .kt-service__tab-more i,
  .kt-service__tab:focus-visible .kt-service__tab-more i{width:30px}
}

/* SERVICE slider: keep swipe/drag and add click/tap alternatives. */
.kt-service-sp__controls{display:none}
@media (max-width:1023px){
  .kt-service-sp__image img{transition:transform .5s var(--kt-ease)}
  .kt-service-sp__controls{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding:12px 22px 0;
  }
  .kt-service-sp__arrow{
    appearance:none;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.28);
    background:transparent;
    color:#fff;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:border-color .2s var(--kt-ease),background .2s var(--kt-ease),color .2s var(--kt-ease),opacity .2s var(--kt-ease);
  }
  .kt-service-sp__arrow span{font-size:18px;line-height:1}
  .kt-service-sp__arrow:not(:disabled):hover,
  .kt-service-sp__arrow:not(:disabled):focus-visible{border-color:#4C9AFF;background:rgba(47,128,237,.10);color:#4C9AFF}
  .kt-service-sp__arrow:disabled{opacity:.28;cursor:default}
}

/* STOCK CARS: compact one-link panel using the same hierarchy as SERVICE CTAs. */
.kt-stock__links .kt-link-panel{
  min-height:78px;
  padding:18px 32px;
}
.kt-stock__links .kt-link-panel small{
  margin:0 0 8px;
  font-family:var(--kt-font-en);
  font-size:10px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.24em;
  color:rgba(255,255,255,.72);
}
.kt-stock__links .kt-link-panel strong{
  font-size:17px;
  line-height:1.45;
  letter-spacing:.08em;
}
@media (max-width:767px){
  .kt-stock__links .kt-link-panel{min-height:60px;padding:15px 22px}
  .kt-stock__links .kt-link-panel small{margin-bottom:6px;font-size:9px}
  .kt-stock__links .kt-link-panel strong{font-size:18px}
}

/* Keep all major section images centered when source images are replaced by the final square-ish assets. */
.kt-rentacar__image,
.kt-recruit__image{object-position:center center!important}

@media (prefers-reduced-motion:reduce){
  .kt-news__title,.kt-news__more i,.kt-btn,.kt-btn:after,.kt-link-panel:after,.kt-service__tab-more,.kt-service-sp__card,.kt-service-sp__image img{transition:none!important;transform:none!important}
}

@media (max-width:1023px){.kt-news__jp{display:inline-block}}

@media (min-width:600px) and (max-width:1023px){.kt-business h2,.kt-business__lead{word-break:keep-all;overflow-wrap:normal}}

/* v0.41 | BUSINESS meter alignment + robust media-frame fill (2026-09-30) */

/* BUSINESS meter: keep the meter visually centered and lower-aligned to the business links
   whenever the section uses the two-column PC composition. */
@media (min-width:1280px){
  .kt-business-meter{
    --kt-business-meter-y:clamp(44px,3.3vw,64px);
    justify-self:center;
    align-self:end;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .kt-business-meter__svg{
    display:block;
    transform:translateY(var(--kt-business-meter-y));
  }
  .kt-business-meter__copy{
    top:calc(63% + var(--kt-business-meter-y));
  }
}

/* The wide-PC enlargement from v0.40 must remain centered instead of using negative side margins. */
@media (min-width:1500px){
  .kt-business-meter{
    width:min(100%,760px);
    max-width:760px;
    margin-top:-28px!important;
    margin-bottom:-22px!important;
  }
}

/* Needle must read clearly above the meter ticks. The needle group is appended last in the SVG;
   make it fully opaque and give the node/line enough visual separation from underlying ticks. */
.kt-bm-needle{
  opacity:.34!important;
  transition:opacity .28s ease!important;
}
.kt-bm-needle.is-active{opacity:1!important}
.kt-bm-needle-line{
  stroke:var(--kt-accent-base)!important;
  stroke-width:2.35!important;
  stroke-linecap:round;
  opacity:1!important;
  filter:drop-shadow(0 0 1px rgba(12,18,25,.72));
}
.kt-bm-needle-node{
  fill:var(--kt-accent-base)!important;
  stroke:var(--kt-accent-base)!important;
  stroke-width:.6;
  opacity:1!important;
}

/* Major TOP imagery: every image must fill its intended frame with center/center cropping.
   Keep the frame geometry owned by each component; only the source image is cropped. */
.kt-business__photo,
.kt-business__mobile-visual,
.kt-service__visual,
.kt-service-sp__image,
.kt-stock-card__image,
.kt-rentacar__media,
.kt-recruit__media{
  overflow:hidden;
}

.kt-business__photo img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%;
  min-height:100%;
  object-fit:cover!important;
  object-position:center center!important;
}

.kt-business__mobile-visual img,
.kt-service__visual img,
.kt-service-sp__image img,
.kt-stock-card__image img,
.kt-rentacar__image,
.kt-recruit__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%;
  min-height:100%;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Keep the BUSINESS caption readable without making the lower half look like an empty dark panel. */
.kt-business__photo-scrim{
  background:linear-gradient(0deg,rgba(12,18,25,.48) 0%,rgba(12,18,25,.10) 45%,rgba(12,18,25,0) 76%)!important;
}


/* v0.42 | BUSINESS needle node connection + idle opacity (2026-09-30) */

/* v0.43 | STOCK CARS DETAIL hover/focus color parity */
.kt-stock-card__detail{
  transition:color .25s var(--kt-ease);
}
@media (hover:hover){
  .kt-stock-card:hover .kt-stock-card__detail{
    color:#4C9AFF;
  }
}
.kt-stock-card:focus-visible .kt-stock-card__detail{
  color:#4C9AFF;
}

/* v0.44 | STOCK CARS intermediate two-column layout: stack side-card media over copy */
@media (min-width:1181px) and (max-width:1370px){
  .kt-stock__side{
    min-width:0;
    gap:24px;
  }
  .kt-stock-card--small{
    display:block;
    margin:0;
    min-width:0;
  }
  .kt-stock-card--small .kt-stock-card__image{
    width:100%;
    height:clamp(150px,13vw,180px);
    margin:0;
  }
  .kt-stock-card--small .kt-stock-card__body{
    display:block;
    width:100%;
    min-width:0;
    padding:14px 0 18px;
    border-bottom:1px solid var(--kt-line);
  }
  .kt-stock-card--small .kt-stock-card__name{
    display:block;
    font-size:18px;
    line-height:1.45;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .kt-stock-card--small .kt-stock-card__price{
    margin-top:9px;
    font-size:13px;
    line-height:1.55;
  }
  .kt-stock-card--small .kt-stock-card__price b{
    font-size:18px;
  }
  .kt-stock-card--small .kt-stock-card__detail{
    margin-top:10px;
  }
  .kt-stock__divider{display:none;}
}

/* v0.45 | STOCK CARS 1024-1180: side cards use the full stacked width */
@media (min-width:1024px) and (max-width:1180px){
  .kt-stock__side{
    display:flex;
    flex-direction:column;
    width:100%;
    min-width:0;
    gap:24px;
    margin-top:30px;
  }
  .kt-stock__side .kt-stock-card--small{
    display:grid;
    grid-template-columns:minmax(240px,42%) minmax(0,1fr);
    width:100%;
    min-width:0;
    margin:0;
    gap:28px;
    align-items:center;
  }
  .kt-stock__side .kt-stock-card--small .kt-stock-card__image{
    width:100%;
    height:190px;
    min-width:0;
  }
  .kt-stock__side .kt-stock-card--small .kt-stock-card__body{
    width:100%;
    min-width:0;
    padding:0 0 18px;
  }
  .kt-stock__side .kt-stock-card--small .kt-stock-card__name{
    font-size:20px;
    line-height:1.45;
    word-break:keep-all;
  }
  .kt-stock__side .kt-stock__divider{
    display:block;
    width:100%;
    height:1px;
  }
}

/* v0.46 | STOCK CARS DETAIL style parity for intermediate widths */
@media (min-width:768px) and (max-width:1279px){
  .kt-stock-card__detail{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:18px;
    font-family:var(--kt-font-en);
    font-size:10px;
    font-weight:500;
    letter-spacing:.24em;
    color:rgba(255,255,255,.70);
    white-space:nowrap;
  }
  .kt-stock-card--large .kt-stock-card__detail{
    flex:none;
    gap:14px;
    margin-top:0;
    padding-bottom:6px;
    font-size:11px;
    color:#fff;
  }
  .kt-stock-card__detail i{
    display:block;
    width:26px;
    height:1px;
    background:var(--kt-accent-base);
    transition:width .45s var(--kt-ease);
  }
  .kt-stock-card--large .kt-stock-card__detail i{width:34px}
  .kt-stock-card:hover .kt-stock-card__detail i{width:42px}
}

/* v0.47 | STOCK CARS tablet: keep PICK UP inset consistent with section content */
@media (min-width:768px) and (max-width:1023px){
  .kt-stock__grid > .kt-stock-card--large{
    width:calc(100% - 44px)!important;
    margin-left:22px!important;
    margin-right:22px!important;
  }
}

/* v0.48 | STOCK CARS tablet PICK UP: make the whole card respect section gutters */
@media (min-width:768px) and (max-width:1023px){
  .kt-stock__grid > .kt-stock-card--large{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    margin-left:22px!important;
    margin-right:22px!important;
    box-sizing:border-box!important;
  }
  .kt-stock__grid > .kt-stock-card--large .kt-stock-card__image,
  .kt-stock__grid > .kt-stock-card--large .kt-stock-card__body{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* v0.49 | RENT A CAR / RECRUIT: unified two-line CTA hierarchy. */
.kt-two-line-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  width:min(100%,430px);
  min-height:72px;
  padding:16px 24px;
  box-sizing:border-box;
  background:#131C26;
  border-left:3px solid #2F80ED;
  color:#fff;
  text-decoration:none;
  transition:background-color .25s var(--kt-ease),color .25s var(--kt-ease),transform .25s var(--kt-ease);
}
.kt-two-line-cta>span{display:block;min-width:0}
.kt-two-line-cta small{
  display:block;
  margin:0 0 7px;
  font-family:var(--kt-font-en);
  font-size:10px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.24em;
  color:rgba(255,255,255,.68);
}
.kt-two-line-cta strong{
  display:block;
  font-family:var(--kt-font-jp);
  font-size:18px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.08em;
  color:#fff;
}
.kt-two-line-cta:after{
  content:"";
  flex:none;
  width:30px;
  height:1px;
  background:#2F80ED;
  transition:width .3s var(--kt-ease),transform .3s var(--kt-ease);
}
@media (hover:hover){
  .kt-two-line-cta:hover{background:#1B2632;color:#4C9AFF}
  .kt-two-line-cta:hover strong{color:#4C9AFF}
  .kt-two-line-cta:hover:after{width:42px;transform:translateX(3px)}
}
.kt-two-line-cta:focus-visible{
  outline:2px solid #4C9AFF;
  outline-offset:3px;
}
.kt-two-line-cta:focus-visible strong{color:#4C9AFF}

/* Preserve each section's existing placement while using the shared CTA component. */
.kt-rentacar .kt-rentacar__link,
.kt-recruit .kt-recruit__link{font-family:inherit;letter-spacing:normal}
@media (min-width:1280px){
  .kt-recruit .kt-recruit__link{margin-top:48px}
}
@media (min-width:1024px) and (max-width:1279px){
  .kt-recruit .kt-recruit__link{margin-top:40px}
}
@media (max-width:1023px){
  .kt-two-line-cta{width:100%;min-height:66px;padding:14px 20px}
  .kt-two-line-cta small{margin-bottom:6px;font-size:9px}
  .kt-two-line-cta strong{font-size:18px}
  .kt-two-line-cta:after{width:26px}
  .kt-rentacar .kt-rentacar__link{margin:30px 0 0}
  .kt-recruit .kt-recruit__link{margin-top:30px}
}


/* v0.50 | CTA system: standard internal / recruit variant / contact stays untouched. */
/* SERVICE: both internal CTAs share the same neutral outline style. */
.kt-service__actions .kt-service__cta{
  background:transparent;
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
}
@media (hover:hover){
  .kt-service__actions .kt-service__cta:hover{
    background:rgba(47,128,237,.08);
    border-color:#4C9AFF;
    color:#4C9AFF;
  }
}

/* SP/tablet SERVICE uses the same hierarchy; cancel the old blue primary treatment. */
@media (max-width:1023px){
  .kt-service-sp__actions .kt-service__cta,
  .kt-service-sp__actions .kt-service__cta:first-child{
    display:flex;
    width:100%;
    height:auto;
    min-height:66px;
    padding:14px 20px;
    background:transparent;
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
  }
  .kt-service-sp__actions .kt-service__cta span{display:block;min-width:0}
  .kt-service-sp__actions .kt-service__cta small{
    display:block;
    margin:0 0 6px;
    font-family:var(--kt-font-en);
    font-size:9px;
    font-weight:500;
    line-height:1.2;
    letter-spacing:.24em;
    color:rgba(255,255,255,.68);
  }
  .kt-service-sp__actions .kt-service__cta:after{
    content:"";
    flex:none;
    width:26px;
    height:1px;
    margin:0;
    background:#2F80ED;
  }
}
@media (hover:hover){
  .kt-service-sp__actions .kt-service__cta:hover,
  .kt-service-sp__actions .kt-service__cta:first-child:hover{
    background:rgba(47,128,237,.08);
    border-color:#4C9AFF;
    color:#4C9AFF;
  }
}

/* STOCK CARS: use the same compact two-line panel as RENT A CAR. */
.kt-stock__links{display:block}
.kt-stock__cta{width:min(100%,430px)}
@media (hover:hover){
  .kt-stock__cta:hover strong{color:#4C9AFF}
}

/* RECRUIT: same two-line hierarchy, but use the fixed recruit CTA tone and no left accent. */
.kt-recruit .kt-recruit__link{
  background:#131C26;
  border-left:0;
}
@media (hover:hover){
  .kt-recruit .kt-recruit__link:hover{
    background:#1B2632;
    color:#4C9AFF;
  }
}

/* Keep RENT A CAR as the standard compact panel reference. */
.kt-rentacar .kt-rentacar__link{background:#131C26}

/* Reduced motion: keep CTA feedback without movement. */
@media (prefers-reduced-motion:reduce){
  .kt-service__cta,
  .kt-service__cta:after,
  .kt-stock__cta,
  .kt-stock__cta:after,
  .kt-rentacar__link,
  .kt-rentacar__link:after,
  .kt-recruit__link,
  .kt-recruit__link:after{transition:none!important;transform:none!important}
}

/* v0.51 | CTA visual alignment: two-line CTA height parity + recruit border. */
.kt-two-line-cta{
  min-height:78px;
  padding:20px 32px;
}
.kt-recruit .kt-recruit__link{
  border:1px solid rgba(255,255,255,.10);
  border-left:1px solid rgba(255,255,255,.10);
}
@media (min-width:1024px) and (max-width:1279px){
  .kt-two-line-cta{
    min-height:86px;
  }
}
@media (max-width:1023px){
  .kt-two-line-cta{
    min-height:66px;
    padding:14px 20px;
  }
}

/* v0.52 | STOCK CARS: visually separate the section-level CTA from the PICK UP card */
@media (min-width:1024px){
  .kt-stock__links{
    width:100%;
    margin-top:52px;
    padding-top:48px;
    border-top:1px solid var(--kt-line);
  }
  .kt-stock__cta{
    margin-left:0;
  }
}

/* v0.53 | CTA responsive widths + RENT A CAR collision guard + wider SERVICE intro */
@media (min-width:1280px){
  /* SERVICE: give the title/copy a little more breathing room without starving the visual. */
  .kt-service__grid{gap:52px}
  .kt-service__intro{
    width:clamp(350px,24vw,400px);
  }
  .kt-service__lead{max-width:370px}
  .kt-service__body{max-width:390px}

  /* Section-level CTAs: roughly one half-column, but slightly shorter than a true 50%. */
  .kt-stock__cta{
    width:calc(50% - 20px);
    max-width:none;
    min-width:0;
  }
  .kt-rentacar .kt-rentacar__link{
    width:auto;
    max-width:none;
    min-width:0;
    justify-self:stretch;
  }
  .kt-recruit .kt-recruit__link{
    width:100%;
    max-width:none;
    min-width:0;
  }
}

@media (min-width:1024px) and (max-width:1279px){
  /* Keep the RENT A CAR CTA strictly inside the text column at intermediate widths. */
  .kt-rentacar .kt-rentacar__link{
    width:auto;
    max-width:none;
    min-width:0;
    justify-self:stretch;
    margin:36px 42px 0 48px;
  }
  .kt-recruit .kt-recruit__link{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .kt-stock__cta{
    width:calc(50% - 20px);
    max-width:none;
    min-width:0;
  }
}

/* v0.54 | STOCK CARS heading: stack description below title below 1280px */
@media (max-width:1279px){
  .kt-stock__head{
    display:block;
  }
  .kt-stock__head > div{
    width:100%;
    max-width:none;
  }
  .kt-stock__head h2{
    max-width:none;
  }
  .kt-stock__head p{
    display:block;
    max-width:600px;
    margin:24px 0 0;
  }
}
@media (max-width:767px){
  .kt-stock__head p{
    max-width:none;
    margin-top:18px;
    font-size:13px;
    line-height:1.9;
  }
}

/* v0.56 | STOCK CARS CTA: full width on tablet / SP to match other section CTAs. */
@media (max-width:1023px){
  .kt-stock__links{
    width:auto;
    margin-left:22px;
    margin-right:22px;
  }
  .kt-stock__cta{
    display:flex;
    width:100%;
    max-width:none;
    box-sizing:border-box;
  }
}

/* v0.57 | MV background is an editable video; copy stays as HTML text. */
.kt-hero__video{display:block;object-fit:cover;object-position:62% 55%;z-index:0;background:var(--kt-ink-900)}
@media(max-width:1023px){.kt-hero__video{object-position:64% 50%!important}}

/* v1.04 | TOP RECRUIT: clipped two-image layout with a tighter real diagonal gap (2026-10-04)
   The two sources are separate media regions. No decorative divider line is used.
   Their clip-path polygons leave a subtle diagonal gap so the section background itself separates them. */
.kt-recruit__media-pane{
  position:relative;
  min-width:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.kt-recruit__media:not(.is-split) .kt-recruit__media-pane{
  position:absolute;
  inset:0;
}
.kt-recruit__media.is-split{
  display:block;
  position:relative;
  isolation:isolate;
}
.kt-recruit__media.is-split .kt-recruit__media-pane{
  position:absolute;
  top:0;
  bottom:0;
  height:100%;
  overflow:hidden;
}
/* PC: leave an approx. 1.0% parent-width gap between the two diagonal clip edges.
   Left edge ends at 53.5% -> 43.5%; right edge begins at 54.5% -> 44.5%. */
.kt-recruit__media.is-split .kt-recruit__media-pane--left{
  left:0;
  width:58%;
  -webkit-clip-path:polygon(0 0,92.241% 0,75% 100%,0 100%);
  clip-path:polygon(0 0,92.241% 0,75% 100%,0 100%);
}
.kt-recruit__media.is-split .kt-recruit__media-pane--right{
  right:0;
  width:56%;
  -webkit-clip-path:polygon(18.75% 0,100% 0,100% 100%,0.893% 100%);
  clip-path:polygon(18.75% 0,100% 0,100% 100%,0.893% 100%);
}
.kt-recruit__media.is-split:before{content:none;}
.kt-recruit__media.is-split .kt-recruit__image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

@media (max-width:1023px){
  /* SP/Tablet: keep the clipped concept and preserve a small real gap. */
  .kt-recruit__media.is-split .kt-recruit__media-pane--left{
    width:60%;
    -webkit-clip-path:polygon(0 0,92.5% 0,72.5% 100%,0 100%);
    clip-path:polygon(0 0,92.5% 0,72.5% 100%,0 100%);
  }
  .kt-recruit__media.is-split .kt-recruit__media-pane--right{
    width:56%;
    -webkit-clip-path:polygon(22.321% 0,100% 0,100% 100%,0.893% 100%);
    clip-path:polygon(22.321% 0,100% 0,100% 100%,0.893% 100%);
  }
}


/* v1.10 | 2026-10-06 | TOP fixed CTA: confirmed Option 3 visual */
@media (min-width:1024px){
  .kt-pc-cta{
    right:24px;
    top:24px;
    display:flex;
    gap:10px;
    height:78px;
    background:transparent;
    border:0;
  }
  .kt-pc-cta__link{
    position:relative;
    display:block;
    width:240px;
    height:78px;
    padding:0;
    overflow:hidden;
    color:#fff;
    background:#1F6FD6;
    border:0;
    box-sizing:border-box;
    transition:none;
  }
  .kt-pc-cta__link--contact,
  .kt-pc-cta__link--contact:hover{background:#1F6FD6;padding:0;}
  .kt-pc-cta__link--recruit,
  .kt-pc-cta__link--recruit:hover{background:#1E2E4F;padding:0;color:#fff;}
  .kt-pc-cta:has(.kt-pc-cta__link--contact:hover) .kt-pc-cta__link--contact,
  .kt-pc-cta:has(.kt-pc-cta__link--contact:hover) .kt-pc-cta__link--recruit,
  .kt-pc-cta:has(.kt-pc-cta__link--recruit:hover) .kt-pc-cta__link--recruit,
  .kt-pc-cta:has(.kt-pc-cta__link--recruit:hover) .kt-pc-cta__link--contact{padding:0;}
  .kt-pc-cta__photo{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:122px;
    overflow:hidden;
    clip-path:polygon(26% 0,100% 0,100% 100%,0 100%);
  }
  .kt-pc-cta__photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.22,.7,.2,1);
  }
  .kt-pc-cta__link--contact .kt-pc-cta__photo img{object-position:50% 34%;}
  .kt-pc-cta__link--recruit .kt-pc-cta__photo img{object-position:50% 26%;}
  .kt-pc-cta__photo:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(12,18,25,.42) 0%,rgba(12,18,25,0) 55%);
  }
  .kt-pc-cta__edge{
    position:absolute;
    right:122px;
    top:0;
    width:1px;
    height:84px;
    background:rgba(255,255,255,.55);
    transform-origin:50% 0;
    transform:translateX(31.72px) rotate(22.3deg);
  }
  .kt-pc-cta__text{
    position:absolute;
    left:18px;
    top:14px;
    display:flex;
    flex-direction:column;
    gap:4px;
    z-index:2;
  }
  .kt-pc-cta__text small,
  .kt-pc-cta__link--recruit .kt-pc-cta__text small{
    font-family:var(--kt-font-en);
    font-size:9px;
    font-weight:500;
    letter-spacing:.24em;
    color:rgba(255,255,255,.85);
  }
  .kt-pc-cta__text strong{
    font-size:17px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.06em;
  }
  .kt-pc-cta__arrow{
    position:absolute;
    left:18px;
    bottom:11px;
    width:96px;
    height:7px;
    background:transparent;
    color:#fff;
    z-index:2;
    transition:width .35s cubic-bezier(.22,.7,.2,1);
  }
  .kt-pc-cta__arrow:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:currentColor;
  }
  .kt-pc-cta__arrow:after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    top:auto;
    width:9px;
    height:1px;
    border:0;
    background:currentColor;
    transform-origin:100% 50%;
    transform:rotate(38deg);
  }
  .kt-pc-cta__link--recruit .kt-pc-cta__arrow{background:transparent;color:#fff;}
  .kt-pc-cta__link:hover .kt-pc-cta__photo img{transform:scale(1.05);}
  .kt-pc-cta__link:hover .kt-pc-cta__arrow{width:101px;transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .kt-pc-cta__photo img,.kt-pc-cta__arrow{transition:none!important;}
}


/* 2026-10-12 BUSINESS photo tone unification
 * Photos were color-adjusted in Photoshop. Avoid applying a second
 * saturation/contrast filter to the photographs in the browser.
 * Overlay: navy black #08101C at 4%; preserve the existing caption
 * gradient on PC and the number-legibility gradient on SP/Tablet.
 * Kept on the scrim layer (rather than <img>) so fades/hover transitions
 * of business photographs are unaffected.
 */
@media (min-width:1024px) {
  .kt-business__photo .kt-business__photo-scrim {
    background:
      linear-gradient(to top,
        rgba(12,18,25,.48) 0%,
        rgba(12,18,25,.10) 45%,
        rgba(12,18,25,0) 76%
      ),
      rgba(8,16,28,.04) !important;
  }
}
@media (max-width:1023px) {
  .kt-business__mobile-visual .kt-business__mobile-visual-scrim {
    background:
      linear-gradient(90deg,
        rgba(12,18,25,.72) 0%,
        rgba(12,18,25,.12) 62%
      ),
      rgba(8,16,28,.04);
  }
}


/* 2026-10-12 SERVICE visual tone & caption contrast
 * Keep Photoshop-adjusted photos as-is: a fixed navy-black veil (2%)
 * and a localized lower-left gradient (max 40%) improve caption contrast.
 * Apply the veil on a dedicated layer, not on the images, so hover/fade
 * transitions and the existing clipped frame stay unchanged.
 */
.kt-service__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 64% 64% at 14% 100%,
      rgba(8, 16, 28, .40) 0%,
      rgba(8, 16, 28, .24) 34%,
      rgba(8, 16, 28, .10) 65%,
      rgba(8, 16, 28, 0) 100%
    ),
    rgba(8, 16, 28, .02);
}
/* Keep the service number/name above the overlay, with no color changes. */
.kt-service__visual .kt-service__current {
  z-index: 2;
}
/* SP/Tablet cards: title is below the photograph, so only the subtle
 * 2% veil is needed; no lower-left text gradient on the card image.
 */
.kt-service-sp__image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(8, 16, 28, .02);
}

/* 2026-10-12 RECRUIT photo tone unification
 * Match the subtly cool TOP BUSINESS / SERVICE imagery, without
 * reprocessing the already color-corrected photographs in the browser.
 * PC: replace the existing 8% neutral-dark veil with a 12% navy veil
 * (an additional ~4 percentage points, not a second stacked overlay).
 * SP/Tablet: preserve the pre-existing bottom fade and blue-edge gradient
 * for readability, and add only a uniform 3% navy tone on top.
 * Use the pre-existing media pseudo-element so the diagonal two-image
 * clipping, 1-image fallback, caption/CTA and slide behavior do not change.
 */
@media (min-width:1024px) {
  .kt-recruit__media::after {
    background: rgba(8, 16, 28, .12);
  }
}
@media (max-width:1023px) {
  .kt-recruit__media::after {
    background:
      linear-gradient(rgba(8, 16, 28, .03), rgba(8, 16, 28, .03)),
      linear-gradient(180deg,
        rgba(19, 28, 38, .05) 0%,
        rgba(19, 28, 38, .04) 44%,
        rgba(19, 28, 38, .58) 72%,
        #131C26 100%
      ),
      linear-gradient(90deg,
        rgba(47, 128, 237, .18) 0%,
        rgba(47, 128, 237, 0) 72%
      );
  }
}

/* 2026-10-14: CONTACT title line breaks only on smartphone. */
.kt-contact__sp-break{display:none}
@media(max-width:767px){.kt-contact__sp-break{display:block}}

/* 2026-10-26: optional link to the video rail beneath TOP NEWS. */
.kt-news__video-link {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:max-content;
  min-height:50px;
  margin:24px 0 0 auto;
  padding:11px 22px;
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  transition:background-color .2s,border-color .2s,color .2s;
}
.kt-news__video-link i {
  display:block;
  flex:none;
  width:25px;
  height:1px;
  background:var(--kt-accent-base,#2F80ED);
}
.kt-news__video-link:hover,.kt-news__video-link:focus-visible {
  border-color:var(--kt-accent-base,#2F80ED);
  background:rgba(47,128,237,.09);
  color:#fff;
}
@media(max-width:1023px){
  .kt-news__video-link{width:100%;min-height:56px;box-sizing:border-box;margin-top:12px;}
}
@media(prefers-reduced-motion:reduce){.kt-news__video-link{transition:none;}}


/* 2026-10-26 | Align TOP brand to the corporate lower-page header. */
@media (min-width:1280px) {
  .kt-site .kt-pc-logo {left:40px;top:24px;width:190px;}
}
@media (min-width:1024px) and (max-width:1279px) {
  .kt-site .kt-pc-logo {left:28px;top:25px;width:178px;}
}
/* The MV content remains HTML text; these are display-only changes. */
@media (min-width:1024px) {
  .kt-site .kt-hero__copy {left:316px;bottom:122px;}
  .kt-site .kt-hero h1 {font-size:clamp(52px,4.45vw,64px);line-height:1.26;}
  .kt-site .kt-hero p {font-size:16px;margin-top:30px;}
  .kt-site .kt-hero__kicker {font-size:10px;margin-bottom:26px;letter-spacing:.14em;}
}
.kt-site .kt-hero__kicker {letter-spacing:.14em;}
.kt-site .kt-hero__kicker-compact {letter-spacing:.025em;}
@media (max-width:1023px) {
  .kt-site .kt-hero__copy {bottom:76px;}
  .kt-site .kt-hero h1 {font-size:clamp(32px,8vw,38px);}
  .kt-site .kt-hero p {font-size:13px;}
  .kt-site .kt-hero__kicker {letter-spacing:.12em;}
}

/* 2026-10-27 | TOP RECRUIT: expand only the lead copy on desktop.
   Keep the parent grid, title, type scale, explicit line breaks, and SP layout intact. */
@media (min-width:1024px) {
  .kt-recruit .kt-recruit__copy > p {
    width:100%;
    max-width:640px;
  }
}

/* Stock TOP auto list: a single available card should not leave an empty side column. */
@media (min-width:1280px){
  .kt-stock__grid--single > .kt-stock-card--large{width:min(100%,820px);}
}

/* 2026-10-28 | TOP MV responsive framing and unobstructed closing logo.
 * The movie stays in WordPress media; its original framing and animation
 * remain unchanged. These rules only affect the TOP MV presentation. */
.kt-site .kt-hero__scrim {
  transition: opacity .75s ease;
}
.kt-site .kt-hero.is-logo-phase .kt-hero__scrim {
  /* Reveal the original white-backed company logo at the end of the movie. */
  opacity: .10;
}
@media (min-width:1024px) {
  .kt-site .kt-hero__copy {
    /* The entrance uses a CSS opacity animation, so fade via filter instead. */
    filter: opacity(1);
    transition: filter .75s ease;
  }
  .kt-site .kt-hero.is-logo-phase .kt-hero__copy {
    filter: opacity(0);
  }
}
@media (min-width:1024px) and (max-width:1279px) {
  .kt-site .kt-hero {
    /* 16:9 framing prevents the 65-second video's logo being cropped. */
    height: clamp(576px,56.25vw,720px);
    min-height: 0;
  }
  .kt-site .kt-hero__image,
  .kt-site .kt-hero__video {
    object-position: center center;
  }
  .kt-site .kt-hero__copy {
    left: clamp(272px,28vw,316px);
    right: 28px;
    bottom: clamp(62px,7vw,90px);
  }
  .kt-site .kt-hero h1 {
    font-size: clamp(40px,4.1vw,52px);
    line-height: 1.3;
  }
  .kt-site .kt-hero p {
    margin-top: 24px;
    font-size: 13px;
  }
  .kt-site .kt-hero__kicker {
    margin-bottom: 20px;
  }
}
@media (max-width:1023px) {
  .kt-site .kt-hero {
    /* Tablet/SP: full 16:9 video first, then the editable HTML message. */
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    overflow: hidden;
    background: #0C1219;
  }
  .kt-site .kt-hero__image,
  .kt-site .kt-hero__video {
    position: relative;
    inset: auto;
    flex: none;
    order: 0;
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9;
    object-fit: contain !important;
    object-position: center center !important;
    background: #0C1219;
  }
  .kt-site .kt-hero__scrim {
    /* Do not shade the text area: only a light veil above the video. */
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    background: rgba(12,18,25,.10);
  }
  .kt-site .kt-hero__message-gradient,
  .kt-site .kt-hero__bottom,
  .kt-site .kt-hero__glow {
    display: none;
  }
  .kt-site .kt-hero__copy {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    order: 1;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 30px 24px 76px;
    filter: none;
    background: #0C1219;
  }
  .kt-site .kt-hero__kicker {
    margin-bottom: 18px;
  }
  .kt-site .kt-hero__scroll,
  .kt-site .kt-hero__movie {
    bottom: 22px;
    z-index: 3; /* Above the separate opaque copy panel in flex layout. */
  }
}
@media (min-width:768px) and (max-width:1023px) {
  .kt-site .kt-hero__copy {
    padding: 36px 36px 78px;
  }
  .kt-site .kt-hero__scroll { left: 36px; }
  .kt-site .kt-hero__movie { right: 36px; }
  .kt-site .kt-hero h1 { font-size: 40px; }
  .kt-site .kt-hero p { max-width: 560px; }
}
@media (max-width:374px) {
  .kt-site .kt-hero__copy { padding-inline: 18px; }
  .kt-site .kt-hero__scroll { left: 18px; }
  .kt-site .kt-hero__movie { right: 18px; }
  .kt-site .kt-hero h1 { font-size: clamp(28px,8.5vw,32px); }
}
@media (prefers-reduced-motion: reduce) {
  .kt-site .kt-hero__copy,
  .kt-site .kt-hero__scrim { transition: none !important; }
}

/* 2026-10-29 | TOP MV: a single, consistently right-aligned SCROLL cue.
 * The previous left SCROLL + right MOVIE pair was redundant on tablet/SP.
 * Keep the established vertical accent on PC and horizontal accent on tablet/SP.
 */
@media (min-width: 1024px) {
  .kt-site .kt-hero__scroll {
    position: absolute;
    left: auto;
    right: 60px;
    bottom: 60px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    pointer-events: none;
  }
  .kt-site .kt-hero__scroll span {
    display: block;
    width: 1px;
    height: 72px;
    background: linear-gradient(180deg, rgba(255,255,255,0), var(--kt-accent-base));
  }
  .kt-site .kt-hero__scroll b {
    font-family: var(--kt-font-en);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .22em;
    color: rgba(255,255,255,.6);
  }
}
@media (max-width: 1023px) {
  .kt-site .kt-hero__scroll {
    left: auto;
    right: 22px;
    bottom: 22px;
    z-index: 3;
  }
  .kt-site .kt-hero__scroll span {
    display: block;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg,#2F80ED,rgba(255,255,255,0));
  }
  .kt-site .kt-hero__scroll b {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .2em;
    color: rgba(255,255,255,.62);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .kt-site .kt-hero__scroll { left: auto; right: 36px; }
}
@media (max-width: 374px) {
  .kt-site .kt-hero__scroll { left: auto; right: 18px; }
}
