*{box-sizing:border-box;margin:0;padding:0}:root{--side:clamp(20px,8vw,120px);--content-left:calc(clamp(20px,8vw,120px) + .42 * clamp(48px,17vw,136px))}html{scroll-behavior:smooth}html,body{color:#000;background:#fff}body{font-family:Meiryo,メイリオ,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif}img{max-width:100%}a:focus-visible,button:focus-visible{outline-offset:4px;outline:2px solid #000}.first{grid-template-rows:1fr auto auto;min-height:100svh;display:grid;position:relative}.eyecatch{padding:40px var(--side);align-items:center;display:flex}.catch{letter-spacing:.08em;text-align:left;row-gap:.3em;margin-left:.42em;font-size:clamp(48px,17vw,136px);font-weight:700;line-height:1.15;display:inline-grid}.catch>.line{display:block}.catch .line,.catch em{-webkit-text-stroke:.05em currentColor}.catch .turn{color:#fff;clip-path:polygon(0 0,calc(100% - .93em) 0,100% 100%,0 100%);background:#000;justify-self:start;margin-left:-.42em;padding:.2em 1.03em .2em .42em}.catch em{color:#ff2a1a;font-style:normal}.page-nav{padding:0 0 20px var(--content-left);grid-template-columns:repeat(3,200px);gap:24px;display:grid}.page-nav a{color:#000;text-align:center;letter-spacing:.06em;border-bottom:3px solid #000;padding:14px 0 12px;font-size:16px;font-weight:700;line-height:1;text-decoration:none;display:block}.page-nav a:hover{opacity:.6}.recruit-wrap{padding:0 0 40px var(--content-left)}.line-btn{color:#000;letter-spacing:.08em;background:#fff;border:2px solid #000;justify-content:space-between;align-items:center;width:648px;max-width:100%;padding:20px 24px;font-size:18px;font-weight:700;line-height:1;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.line-btn:hover{color:#fff;background:#000}.line-btn .arrow{font-size:22px;line-height:1}button.line-btn{cursor:pointer;font-family:inherit}.hamburger{top:24px;right:var(--side);z-index:10;cursor:pointer;mix-blend-mode:difference;background:0 0;border:0;place-content:center;gap:8px;width:48px;height:48px;margin-right:-8px;display:grid;position:fixed}.hamburger span{background:#fff;width:32px;height:3px;display:block}.block{padding:120px var(--side) 0 var(--content-left)}.block-title{letter-spacing:-.02em;padding-bottom:.14em;font-family:Helvetica Neue,Helvetica,Arial,Meiryo,メイリオ,sans-serif;font-size:clamp(40px,10.5vw,88px);font-weight:500;line-height:1;display:block;position:relative}.block-title:after{content:"";left:0;right:calc(-1 * var(--side));transform-origin:0;background:#000;height:1px;transition:transform 1.2s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0}html.js .block-title:after{transform:scaleX(0)}html.js .block-title.is-drawn:after{transform:scaleX(1)}.block-sub{letter-spacing:.02em;margin-top:clamp(12px,3.6vw,22px);font-size:clamp(22px,6vw,40px);font-weight:400;line-height:1.4}.biz-brand{margin-top:48px;display:inline-flex}.biz-brand img{width:auto;height:clamp(40px,5vw,64px);display:block}.biz-list{gap:clamp(28px,4vw,44px);margin-top:44px;list-style:none;display:grid}.biz-jp{letter-spacing:.04em;font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.4;display:block}.biz-en{letter-spacing:.18em;margin-top:6px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;display:block}.biz-list li{transition:opacity .7s,transform .8s cubic-bezier(.22,1,.36,1)}html.js .biz-list li{opacity:0;transform:translateY(24px)}html.js .biz-list li.is-in{opacity:1;transform:none}.outline{border-top:2px solid #000;grid-template-columns:200px minmax(0,1fr);max-width:880px;margin-top:40px;display:grid}.outline dt,.outline dd{border-bottom:1px solid #000;padding:20px 0;font-size:15px;line-height:1.8}.outline dt{letter-spacing:.06em;font-weight:700}.outline .office,.outline .dd-line{display:block}.outline .office+.office{margin-top:14px}.outline .office-name{font-weight:700;display:block}.contact-btn{margin-top:36px}:is(html:has(.contact-dialog[open]),html:has(.pp-dialog[open]),html:has(.menu-dialog[open])){overflow:hidden}.contact-dialog{color:#000;background:#fff;border:2px solid #000;width:min(720px,92vw);max-width:none;max-height:92svh;margin:auto;padding:0}.contact-dialog::backdrop,.pp-dialog::backdrop{background:#0000008c}.cd-inner{padding:56px clamp(24px,5vw,56px) 44px;position:relative}.cd-close{cursor:pointer;background:0 0;border:0;width:44px;height:44px;position:absolute;top:14px;right:14px}.cd-close i{background:#000;height:2px;position:absolute;top:50%;left:10px;right:10px}.cd-close i:first-child{transform:rotate(45deg)}.cd-close i:last-child{transform:rotate(-45deg)}.cd-title{letter-spacing:-.01em;font-family:Helvetica Neue,Helvetica,Arial,Meiryo,メイリオ,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:500;line-height:1.2}.cd-form .field{margin-top:24px}.cd-form label{letter-spacing:.04em;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.cd-form .tag{letter-spacing:.06em;border:1px solid #000;padding:2px 7px;font-size:11px;line-height:1.4}.cd-form .tag.is-req{color:#fff;background:#000}.cd-form input[type=text],.cd-form input[type=email],.cd-form textarea{color:#000;width:100%;font:inherit;background:#fff;border:1px solid #000;border-radius:0;margin-top:8px;padding:12px 14px;font-size:16px;line-height:1.6;display:block}.cd-form textarea{resize:vertical}.cd-form [aria-invalid=true]{border-width:2px;border-color:#b5241b}.cd-form .check{cursor:pointer;align-items:flex-start;font-weight:400;line-height:1.6}.cd-form .check input{accent-color:#000;flex:none;width:20px;height:20px;margin:2px 0 0}.cd-form .check a{color:#000}.cd-form .err{color:#b5241b;margin-top:6px;font-size:13px}.cd-form .err:empty{display:none}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cd-submit{width:100%;margin-top:32px}.cd-submit:disabled{opacity:.5;cursor:default}.cd-general-err{margin-top:12px}.cd-done{margin-top:28px}.cd-done-title{font-size:22px;font-weight:700}.cd-done-text{margin-top:12px;font-size:15px;line-height:1.9}.cd-done-close{width:100%;margin-top:28px}.pp-dialog{color:#000;background:#fff;border:2px solid #000;width:min(880px,94vw);max-width:none;max-height:92svh;margin:auto;padding:0}.pp-inner{padding:56px clamp(24px,5vw,64px);position:relative}.pp-sub{letter-spacing:.04em;margin-top:10px;font-size:18px}.pp-body{max-width:44em;margin-top:32px}.pp-body p,.pp-body li,.pp-body dd,.pp-body dt{font-size:14px;line-height:2}.pp-body p+p,.pp-body ul+p{margin-top:10px}.pp-body h3{letter-spacing:.04em;border-top:1px solid #000;margin-top:36px;padding-top:14px;font-size:16px;font-weight:700}.pp-body h3+p,.pp-body h3+ul{margin-top:10px}.pp-body ul{margin-top:8px;list-style:none}.pp-body li{text-indent:-1em;padding-left:1em}.pp-body li:before{content:"・"}.pp-contact{grid-template-columns:6em minmax(0,1fr);gap:4px 16px;margin-top:12px;display:grid}.pp-contact dt{font-weight:700}.pp-date{margin-top:36px}.pp-page-head{padding:28px var(--side) 0 var(--content-left)}.pp-back{color:#000;letter-spacing:.04em;font-size:14px;font-weight:700;text-decoration:none}.pp-back:hover{text-underline-offset:4px;text-decoration:underline}.pp-page{padding-top:64px}.menu-dialog{color:#fff;background:#000;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0}.menu-dialog::backdrop{background:#000}.menu-dialog[open]{animation:.3s menuIn}@keyframes menuIn{0%{opacity:0}to{opacity:1}}@keyframes menuItem{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.menu-inner{min-height:100%;padding:96px var(--side) 56px var(--content-left);flex-direction:column;justify-content:center;display:flex;position:relative}.menu-close{top:24px;right:var(--side);cursor:pointer;background:0 0;border:0;width:48px;height:48px;margin-right:-8px;position:absolute}.menu-close i{background:#fff;height:3px;margin-top:-1.5px;position:absolute;top:50%;left:8px;right:8px}.menu-close i:first-child{transform:rotate(45deg)}.menu-close i:last-child{transform:rotate(-45deg)}.menu-close:focus-visible,.menu-dialog a:focus-visible{outline-offset:4px;outline:2px solid #fff}.menu-main{gap:clamp(18px,3.5svh,32px);list-style:none;display:grid}.menu-main li{animation:.5s cubic-bezier(.22,1,.36,1) both menuItem}.menu-main li:nth-child(2){animation-delay:60ms}.menu-main li:nth-child(3){animation-delay:.12s}.menu-main a{color:#fff;align-items:baseline;gap:20px;text-decoration:none;display:inline-flex}.menu-en{letter-spacing:-.02em;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(44px,7vw,80px);font-weight:500;line-height:1}.menu-jp{letter-spacing:.1em;font-size:14px;font-weight:700}.menu-main a:hover .menu-en{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:1px}.menu-sub{letter-spacing:.06em;border-top:1px solid #fff;flex-wrap:wrap;gap:12px 36px;margin-top:clamp(40px,7svh,72px);padding-top:24px;font-size:14px;font-weight:700;display:flex}.menu-sub a{color:#fff;text-decoration:none}.menu-sub a:hover{text-underline-offset:4px;text-decoration:underline}.site-footer{padding:40px var(--side) 36px var(--content-left);color:#fff;background:#000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:120px;display:flex}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-underline-offset:4px;text-decoration:underline}.site-footer a:focus-visible{outline-color:#fff}.sf-company{letter-spacing:.06em;font-size:15px;font-weight:700}.sf-company span{letter-spacing:.16em;margin-top:4px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;display:block}.sf-links{flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:13px;display:flex}.sf-links small{letter-spacing:.08em;font-size:11px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}@keyframes gRed{0%{color:#000}to{color:#ff2a1a}}@keyframes blink{0%,to{opacity:1}50%{opacity:.15}}@keyframes cue{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}html.js .intro{height:250svh}html.js .intro .first{height:100svh;min-height:0;position:sticky;top:0;overflow:hidden}html.intro-lock{overflow:hidden}html.hold main,html.hold .site-footer{display:none}html.hold{overscroll-behavior-y:none}.curtain{display:none}html.js .curtain{z-index:5;color:#fff;pointer-events:none;background:#000;display:block;position:absolute;inset:0}html.js .curtain.is-done{opacity:0;transition:opacity .45s}.curtain-inner{place-items:center;display:grid;position:absolute;inset:0}.curtain-msg{letter-spacing:.12em;-webkit-text-stroke:.03em currentColor;font-size:clamp(22px,6vw,36px);font-weight:700;line-height:1;display:grid}.curtain-msg span{text-align:center;grid-area:1/1;transition:opacity .5s}.curtain .loading{animation:1s ease-in-out infinite blink}.curtain .ready{opacity:0}.curtain.is-ready .loading{opacity:0;animation:none}.curtain.is-ready .ready{opacity:1}.scroll-cue{opacity:0;width:12px;height:56px;margin-left:-6px;transition:opacity .5s .4s;position:absolute;bottom:48px;left:50%}.curtain.is-ready .scroll-cue{opacity:1}.scroll-cue i{animation:1.6s ease-in-out infinite cue;position:absolute;inset:0}.scroll-cue i:before{content:"";background:#fff;width:1px;position:absolute;top:0;bottom:1px;left:50%;transform:translate(-50%)}.scroll-cue i:after{content:"";border-bottom:1px solid #fff;border-right:1px solid #fff;width:10px;height:10px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)rotate(45deg)}html.js .catch .l1,html.js .catch .l3,html.js .page-nav,html.js .recruit-wrap{opacity:0}html.js .catch .l1 em{color:#000}html.play .catch .l1{animation:.6s cubic-bezier(.22,1,.36,1) .25s forwards fadeUp}html.play .catch .l3{animation:.6s cubic-bezier(.22,1,.36,1) .6s forwards fadeUp}html.play .catch .l1 em{animation:.5s 1.15s forwards gRed}html.play .page-nav{animation:.6s 1.4s forwards fadeIn}html.play .recruit-wrap{animation:.6s 1.55s forwards fadeIn}html.intro-skip .curtain{display:none}html.intro-skip .intro{height:auto}html.intro-skip .intro .first{height:auto;min-height:100svh;position:relative;overflow:visible}html.intro-skip .catch .line,html.intro-skip .catch em,html.intro-skip .page-nav,html.intro-skip .recruit-wrap{opacity:1!important;animation:none!important;transform:none!important}html.intro-skip .catch em{color:#ff2a1a!important}@media (max-width:767px){:root{--side:5vw;--content-left:5vw}.hamburger{top:16px}.hamburger span{width:28px}.catch{margin-left:0}.catch .turn{margin-left:-5vw;padding-left:5vw}.page-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 5vw 16px}.page-nav a{letter-spacing:.04em;font-size:14px}.recruit-wrap{padding:0 5vw 28px}.line-btn{width:100%;padding:17px 18px;font-size:16px}.line-btn .arrow{font-size:20px}.block{padding:80px 5vw 0}.biz-brand{margin-top:32px}.biz-list{gap:26px;margin-top:32px}.biz-jp{font-size:20px}.biz-en{margin-top:4px;font-size:11px}.outline{grid-template-columns:1fr;margin-top:28px}.outline dt{border-bottom:0;padding:16px 0 0;font-size:13px}.outline dd{padding:4px 0 16px}.contact-btn{margin-top:24px}.contact-dialog,.pp-dialog{border:0;width:100%;height:100%;max-height:none}.cd-inner,.pp-inner{padding:64px 5vw 40px}.pp-contact{grid-template-columns:1fr;gap:0}.pp-contact dd{margin-bottom:8px}.pp-page-head{padding:20px 5vw 0}.pp-page{padding-top:48px}.site-footer{margin-top:80px;padding:32px 5vw 28px}.menu-inner{padding:88px 5vw 40px}.menu-close{top:16px;right:5vw}.menu-main a{gap:14px}.menu-jp{font-size:12px}.scroll-cue{bottom:36px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.line-btn,.block-title:after,.biz-list li{transition:none}html.js .block-title:after{transform:none}html.js .biz-list li{opacity:1;transform:none}.menu-dialog[open],.menu-main li{animation:none}html.js .curtain{display:none}html.js .intro{height:auto}html.js .intro .first{height:auto;min-height:100svh;position:relative;overflow:visible}html.js .catch .line,html.js .catch em,html.js .page-nav,html.js .recruit-wrap{opacity:1!important;animation:none!important;transform:none!important}html.js .catch em{color:#ff2a1a!important}}
