/*
Theme Name: KURT — BEYOND MOTION v1
Theme URI: https://kurt.co.jp/
Author: KURT Co., Ltd.
Description: KURTの思想を、文字・線・構造の動きで表現するモーションテーマ。
Version: 3.0.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: kurt-beyond-v2
*/
:root{--paper:#ffffff;--ink:#111214;--line:rgba(17,18,20,.13);--pad:clamp(22px,4vw,64px);--sans:'Archivo','Helvetica Neue',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;--jp:'Zen Kaku Gothic New','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}.site-header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:relative;z-index:10;background:rgba(255,255,255,.96)}.brand img{width:200px;height:auto;display:block}.site-nav{display:flex;gap:clamp(18px,2.5vw,42px);align-items:center}.site-nav a{font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase}.nav-toggle{display:none;background:none;border:0;font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase}.hero{min-height:calc(100svh - 84px);display:grid;grid-template-columns:1.1fr .9fr;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:calc(100%/6) 100%,calc(100%/6) 100%;opacity:.5}.hero-grid-art{position:absolute;left:0;top:0;width:32%;height:100%;background:linear-gradient(135deg,rgba(0,0,0,.04) 25%,transparent 25%) 0 0/50% 50%,linear-gradient(45deg,transparent 75%,rgba(0,0,0,.03) 75%) 0 0/50% 50%}.hero-title-wrap,.hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}.hero-title-wrap{padding:70px 5vw 70px 16vw}.hero-title-wrap h1{font-size:clamp(70px,8.5vw,150px);line-height:.78;letter-spacing:-.055em;font-weight:500}.hero-title-wrap h1 span{display:inline-block;margin-left:22%}.hero-copy{padding:70px var(--pad);font-family:var(--jp);border-left:1px solid var(--line)}.hero-copy h2{font-size:clamp(18px,1.6vw,28px);line-height:1.7;margin-bottom:8px}.hero-copy p{font-size:14px;line-height:1.9;margin-top:18px}.hero-copy i{width:38px;height:1px;background:var(--ink);margin:34px 0 24px}.hero-copy strong{font-size:clamp(20px,2vw,32px)}.scroll-mark{position:absolute;right:22px;bottom:30px;z-index:2;font:9px var(--mono);letter-spacing:.25em;writing-mode:vertical-rl}.scroll-mark span{display:block;width:1px;height:70px;background:var(--ink);margin-top:14px}.outside{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);padding:42px var(--pad);display:grid;grid-template-columns:1.2fr .65fr .65fr 1fr;gap:0}.outside>div{padding:0 28px;border-left:1px solid var(--line);font-family:var(--jp)}.outside>div:first-child{border-left:0;padding-left:0}.outside h2{font:500 clamp(32px,3vw,56px)/1.05 var(--sans);letter-spacing:.04em}.outside p{font-size:13px;line-height:1.9}.outside p+p{margin-top:24px}.business{padding:38px var(--pad);display:grid;grid-template-columns:1.15fr 1fr .62fr 1fr .78fr;border-bottom:1px solid var(--line)}.business>div{padding:0 28px;border-left:1px solid var(--line);font-family:var(--jp)}.business>div:first-child{border-left:0;padding-left:0}.business h2{font:500 clamp(34px,3.2vw,60px)/1.05 var(--sans);letter-spacing:.03em}.business p{font-size:13px;line-height:1.9}.business p+p{margin-top:22px}.business strong{display:block;margin-top:38px;font-size:15px}.practice{padding:34px var(--pad) 70px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:24px;letter-spacing:.04em}.section-heading p{font:13px var(--jp);margin-top:4px}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.practice article{border-top:1px solid var(--line);padding-top:0}.visual{height:210px;position:relative;overflow:hidden;margin-bottom:14px;filter:grayscale(1)}.visual span{position:absolute;left:10px;top:2px;font-size:40px;font-weight:600;z-index:2}.v1{background:repeating-linear-gradient(90deg,#9a9a9a 0 16px,#d5d5d5 16px 30px),linear-gradient(#666,#ddd)}.v2{background:repeating-linear-gradient(0deg,#595959 0 18px,#8e8e8e 18px 24px)}.v3{background:linear-gradient(135deg,#d4d4d4 0 50%,#777 50%)}.v4{background:linear-gradient(135deg,#aaa 0 42%,#e2e2e2 42% 68%,#555 68%)}.practice h3{font-size:18px}.practice small{display:block;font-size:11px;margin:4px 0 12px}.practice article p{font:13px/1.8 var(--jp)}.closing{padding:90px var(--pad);display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line)}.closing p{font-size:clamp(42px,6vw,92px);line-height:.9;letter-spacing:-.04em}.closing a{border:1px solid var(--ink);border-radius:50%;width:140px;height:140px;display:grid;place-items:center;font:11px var(--mono)}.site-footer{border-top:1px solid var(--line);padding:24px var(--pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px;background:#fff}.site-footer img{width:145px;height:auto;display:block}.footer-nav{display:flex;justify-content:center;gap:clamp(16px,2.5vw,38px);flex-wrap:wrap}.footer-nav a,.footer-legal a,.footer-legal span{font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:22px;white-space:nowrap}.page-wrap{padding:80px var(--pad);max-width:1000px}.page-title{font-size:clamp(40px,6vw,82px)}.page-content{font:15px/2 var(--jp)}
@media(max-width:980px){.site-nav{display:none;position:absolute;right:var(--pad);top:68px;background:var(--paper);border:1px solid var(--line);padding:18px;flex-direction:column;align-items:flex-end}.site-nav.open{display:flex}.nav-toggle{display:block}.hero{grid-template-columns:1fr}.hero-title-wrap{padding:90px var(--pad) 40px}.hero-copy{border-left:0;border-top:1px solid var(--line);padding:42px var(--pad)}.outside,.business{grid-template-columns:1fr 1fr}.outside>div,.business>div{border-left:0;border-top:1px solid var(--line);padding:24px 0}.business>div{border-top:1px solid var(--line)}.practice-grid{grid-template-columns:1fr 1fr}.closing{align-items:flex-start;gap:40px;flex-direction:column}}@media(max-width:600px){.brand img{width:150px}.hero-title-wrap h1{font-size:17vw}.outside,.business,.practice-grid{grid-template-columns:1fr}.outside>div:first-child,.business>div:first-child{padding-top:0}.visual{height:180px}.closing a{width:110px;height:110px}.site-footer{grid-template-columns:1fr;justify-items:start}.footer-nav{justify-content:flex-start}.footer-legal{justify-content:flex-start;flex-wrap:wrap;white-space:normal}}

/* White canvas and contact-page consistency */
html,body,.site-header,.hero,.outside,.business,.practice,.closing,.page-wrap,.site-footer{background-color:#fff}
.page-wrap{min-height:calc(100svh - 180px)}
.page-content .wpforms-container{margin-top:36px}
.page-content .wpforms-field-label{font-family:var(--jp);font-weight:500}
.page-content input,.page-content textarea,.page-content select{background:#fff!important;border:1px solid var(--line)!important;border-radius:0!important;color:var(--ink)!important}
.page-content button[type=submit],.page-content .wpforms-submit{background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important;border-radius:0!important;padding:14px 28px!important;font-family:var(--mono)!important;letter-spacing:.12em!important;text-transform:uppercase!important}
@media(max-width:980px){.site-footer{grid-template-columns:1fr;justify-items:start}.footer-nav{justify-content:flex-start}.footer-legal{justify-content:flex-start;flex-wrap:wrap;white-space:normal}}


/* v2.2: force unified footer and neutral-gray legacy logo */
body.page .legacy-footer,
body.page .old-footer,
body.page .footer-old,
body.page .kurt-old-footer,
body.page .inquiry-old-footer{display:none!important}


/* v2.6: hide any remaining legacy The7 footer blocks on inquiry/privacy pages */
body.page-id-0 .legacy-footer{display:none!important}
body.page-template-default .page-content .legacy-footer,
body.page-template-default .page-content .old-footer,
body.page-template-default .page-content .footer-old,
body.page-template-default .page-content .kurt-old-footer,
body.page-template-default .page-content .inquiry-old-footer{display:none!important}

/* =========================================================
   KURT — BEYOND MOTION v1
   Structure Shift + Frame / Outside
   ========================================================= */
:root{--motion-ease:cubic-bezier(.22,.75,.18,1);--motion-slow:1100ms;--motion-fast:720ms}
.motion-site{overflow:hidden}
.motion-site .hero{background:#fff;isolation:isolate}
.motion-site .hero:before,.motion-site .hero-grid-art{display:none}
.frame-lines{position:absolute;inset:0;z-index:0;pointer-events:none}
.frame-lines i{position:absolute;background:var(--line);transform-origin:left top}
.frame-lines i:nth-child(1),.frame-lines i:nth-child(2){height:1px;width:100%;left:0;transform:scaleX(0)}
.frame-lines i:nth-child(1){top:32%}.frame-lines i:nth-child(2){top:68%}
.frame-lines i:nth-child(3),.frame-lines i:nth-child(4){width:1px;height:100%;top:0;transform:scaleY(0)}
.frame-lines i:nth-child(3){left:33.333%}.frame-lines i:nth-child(4){left:66.666%}
.motion-ready .motion-hero.is-in .frame-lines i:nth-child(1){transition:transform 1.1s var(--motion-ease) .05s;transform:scaleX(1)}
.motion-ready .motion-hero.is-in .frame-lines i:nth-child(2){transition:transform 1.1s var(--motion-ease) .15s;transform:scaleX(1)}
.motion-ready .motion-hero.is-in .frame-lines i:nth-child(3){transition:transform 1.1s var(--motion-ease) .25s;transform:scaleY(1)}
.motion-ready .motion-hero.is-in .frame-lines i:nth-child(4){transition:transform 1.1s var(--motion-ease) .35s;transform:scaleY(1)}

.motion-title{display:flex;flex-direction:column;align-items:flex-start;gap:.01em;overflow:visible}
.motion-title .word{display:block;will-change:transform,opacity;white-space:nowrap}
.motion-title .word-1{transform:translate3d(-14vw,-24px,0)}
.motion-title .word-2{transform:translate3d(26vw,8px,0)}
.motion-title .word-3{transform:translate3d(-4vw,30px,0)}
.motion-title .word-2{margin-left:22%}
.motion-ready .motion-title .word{opacity:0}
.motion-ready .motion-hero.is-in .motion-title .word{opacity:1;transform:translate3d(0,0,0);transition:transform 1.25s var(--motion-ease),opacity .65s ease}
.motion-ready .motion-hero.is-in .motion-title .word-2{transition-delay:.12s}
.motion-ready .motion-hero.is-in .motion-title .word-3{transition-delay:.24s}
.motion-hero .hero-title-wrap{transform:translate3d(calc(var(--hero-progress,0) * -5vw),calc(var(--hero-progress,0) * -4vh),0)}
.motion-hero .hero-copy{transform:translate3d(calc(var(--hero-progress,0) * 3vw),calc(var(--hero-progress,0) * 3vh),0)}

.copy-line{overflow:hidden}
.motion-ready .motion-copy .copy-line>*{transform:translateY(115%);opacity:0}
.motion-ready .motion-hero.is-in .motion-copy .copy-line>*{transform:translateY(0);opacity:1;transition:transform .9s var(--motion-ease),opacity .55s ease}
.motion-ready .motion-hero.is-in .motion-copy .copy-line:nth-child(2)>*{transition-delay:.12s}
.motion-ready .motion-hero.is-in .motion-copy .copy-line:nth-child(3)>*{transition-delay:.24s}
.motion-ready .motion-hero.is-in .motion-copy .copy-line:nth-child(5)>*{transition-delay:.52s}
.motion-copy .draw-line{transform:scaleX(0);transform-origin:left center}
.motion-ready .motion-hero.is-in .motion-copy .draw-line{transform:scaleX(1);transition:transform .75s var(--motion-ease) .38s}

.motion-columns{position:relative}
.motion-ready .motion-columns .motion-cell{opacity:0;transform:translate3d(calc((var(--cell-shift,1))*32px),18px,0)}
.motion-ready .motion-columns .motion-cell:nth-child(even){--cell-shift:-1}
.motion-ready .motion-columns.is-in .motion-cell{opacity:1;transform:none;transition:transform .9s var(--motion-ease),opacity .6s ease}
.motion-ready .motion-columns.is-in .motion-cell:nth-child(2){transition-delay:.09s}
.motion-ready .motion-columns.is-in .motion-cell:nth-child(3){transition-delay:.18s}
.motion-ready .motion-columns.is-in .motion-cell:nth-child(4){transition-delay:.27s}
.motion-ready .business.is-in .motion-cell:nth-child(5){transition-delay:.36s}
.motion-columns .motion-cell:before{content:"";position:absolute;left:-1px;top:0;width:1px;height:100%;background:var(--ink);transform:scaleY(0);transform-origin:top}
.motion-columns .motion-cell{position:relative}
.motion-columns .motion-cell:first-child:before{display:none}
.motion-ready .motion-columns.is-in .motion-cell:before{transform:scaleY(1);transition:transform 1s var(--motion-ease) .18s}

.motion-practice{background:#fff}
.practice-stack{border-top:1px solid var(--ink)}
.practice-row{display:grid;grid-template-columns:100px minmax(220px,.8fr) minmax(280px,1.3fr) 40px;align-items:center;gap:28px;min-height:132px;border-bottom:1px solid var(--line);padding:20px 0;position:relative;overflow:hidden;background:#fff}
.practice-row:after{content:"";position:absolute;inset:0;background:var(--ink);transform:translateX(-101%);transition:transform .65s var(--motion-ease);z-index:0}
.practice-row>*{position:relative;z-index:1}
.practice-row:hover:after{transform:translateX(0)}
.practice-row:hover{color:#fff}
.practice-number{font-size:clamp(46px,5vw,82px);font-weight:500;letter-spacing:-.06em}
.practice-row h3{font-size:clamp(20px,2vw,32px);letter-spacing:.02em}
.practice-row small{font:10px var(--mono);letter-spacing:.08em;margin-top:5px}
.practice-row p{font:13px/1.9 var(--jp);max-width:560px}
.practice-arrow{font-size:22px;text-align:right}
.motion-ready .motion-heading{opacity:0;transform:translateX(-34px)}
.motion-ready .motion-practice.is-in .motion-heading{opacity:1;transform:none;transition:transform .8s var(--motion-ease),opacity .5s ease}
.motion-ready .practice-row{opacity:0;transform:translate3d(0,calc((3 - var(--index))*-16px),0) scaleY(.82);transform-origin:top}
.motion-ready .motion-practice.is-in .practice-row{opacity:1;transform:none;transition:transform .9s var(--motion-ease),opacity .55s ease;transition-delay:calc(.12s + var(--index)*.09s)}

.motion-closing{position:relative;min-height:70vh;overflow:hidden}
.motion-closing:before,.motion-closing:after{content:"";position:absolute;background:var(--ink);z-index:0}
.motion-closing:before{height:1px;width:100%;left:0;top:50%;transform:scaleX(0);transform-origin:left}
.motion-closing:after{width:1px;height:100%;left:72%;top:0;transform:scaleY(0);transform-origin:top}
.motion-ready .motion-closing.is-in:before{transform:scaleX(1);transition:transform 1.1s var(--motion-ease)}
.motion-ready .motion-closing.is-in:after{transform:scaleY(1);transition:transform 1.1s var(--motion-ease) .18s}
.motion-closing>*{position:relative;z-index:1}
.motion-closing p span{display:inline-block}
.motion-ready .motion-closing p span{opacity:0;transform:translateX(-14vw)}
.motion-ready .motion-closing p span:nth-child(2){transform:translateX(14vw)}
.motion-ready .motion-closing.is-in p span{opacity:1;transform:none;transition:transform 1.15s var(--motion-ease),opacity .65s ease}
.motion-ready .motion-closing.is-in p span:nth-child(2){transition-delay:.13s}
.motion-closing a{overflow:hidden;transition:background .35s ease,color .35s ease,transform .55s var(--motion-ease)}
.motion-closing a span,.motion-closing a b{position:relative;z-index:1;font-weight:400}
.motion-closing a b{font-size:18px}
.motion-closing a:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .55s var(--motion-ease)}
.motion-closing a:hover{color:#fff;transform:rotate(-7deg)}
.motion-closing a:hover:before{transform:scale(1)}

.page-wrap .page-title,.page-wrap .page-content>*{transition:opacity .7s ease,transform .9s var(--motion-ease)}
.motion-ready .page-wrap .page-title,.motion-ready .page-wrap .page-content>*{opacity:0;transform:translateY(24px)}
.motion-ready body:not(.home) .page-wrap .page-title,.motion-ready body:not(.home) .page-wrap .page-content>*{opacity:1;transform:none}

@media(max-width:980px){
  .motion-hero .hero-title-wrap,.motion-hero .hero-copy{transform:none}
  .frame-lines i:nth-child(3){left:50%}.frame-lines i:nth-child(4){display:none}
  .practice-row{grid-template-columns:72px 1fr 30px;gap:18px}
  .practice-row p{grid-column:2/4;margin-top:-10px}
  .motion-closing:after{left:82%}
}
@media(max-width:600px){
  .motion-title .word-2{margin-left:12%}
  .motion-title .word-1{transform:translateX(-18vw)}
  .motion-title .word-2{transform:translateX(22vw)}
  .motion-title .word-3{transform:translateX(-8vw)}
  .practice-row{grid-template-columns:58px 1fr 24px;min-height:150px;padding:24px 0}
  .practice-row p{font-size:12px}
  .motion-closing{min-height:58vh}
  .motion-closing:after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .motion-site *,body:not(.home) .page-wrap *{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
