.stack__main{right:0px}

.cstack__back{bottom:0px}

.cstack__main{right:0px}

.rstack__main{right:0px}

.hero__copy{bottom:auto}

.stack__back{left:0px}

.cstack__back{left:0px}

.pc-br{display:inline}

.vh{position:absolute;width:1px;height:1px}

.morita-btn--outline:hover{color:#fff}

.morita-btn--sm{padding-top:8px;padding-right:18px;padding-bottom:8px;padding-left:18px;font-size:14px}

.tel-link{align-items:center;font-weight:500;font-size:26px;letter-spacing:.04em}

.logo{display:flex;align-items:center;color:#fff}

.logo-mark{position:relative}

.logo__text{display:flex;flex-direction:column}

.logo__en{font-weight:600;font-size:20px;letter-spacing:.14em}

.logo__jp{font-size:11px;letter-spacing:.08em;margin-top:4px}

.hero{order:10;position:relative;color:#fff}

.hero__frame{position:relative;min-height:600px;border-radius:24px}

.hero__img{position:absolute;width:100%;height:100%}

.hero__shade{position:absolute}

.hero__curtain{display:none}

.hero__copy{position:absolute}

.hero__label{display:flex;flex-wrap:wrap;align-items:center;font-size:13px;letter-spacing:.24em}

.hero__catch{font-weight:500;letter-spacing:.08em;margin-top:16px}

.hero__sub{margin-top:16px;max-width:600px;color:#e8e9e7}

.hero__tags{display:none;flex-wrap:wrap;margin-top:18px}

.hero__btns{display:flex;flex-wrap:wrap;margin-top:26px}

.hero__win{position:absolute;right:56px;bottom:56px;width:320px;border-radius:16px;display:none;border:1px solid rgba(255,255,255,.15)}

.hero__scroll{position:absolute;left:26px;bottom:36px;display:flex;flex-direction:column;align-items:center;font-size:11px;letter-spacing:.3em}

.contact__aside{display:none}

.form-morita-card{position:relative;padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px}

.form-card__ttl{font-size:22px;font-weight:900;margin-top:12px}

.form-card__desc{font-size:13.5px;margin-top:10px}

.form-card__points{display:none;margin-top:24px}

.morita-badge{display:inline-block;font-size:11px;font-weight:700;padding-top:4px;padding-right:6px;padding-bottom:4px;padding-left:6px;border-radius:4px;color:#fff;letter-spacing:.04em}

.field-error{display:none;font-size:13px;color:#b3261e;margin-top:6px}

.field-error.is-on{display:block}

.form-done{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px;font-size:15px}

.estimate{order:30}

.chk-ttl{font-size:15px;font-weight:700;margin-top:32px;display:flex;align-items:center}

.chk-list{margin-top:16px}

.chk__icon{width:24px;height:24px;margin-top:2px;display:block}

.chk__title{display:block;font-weight:700}

.chk__text{display:block;font-size:14px}

.stack{position:relative;max-width:640px;width:100%}

.stack__green{position:absolute;right:-2%;top:5%;width:52%;height:50%;border-radius:16px}

.stack__back{position:absolute;width:60%;border-radius:12px}

.stack__main{position:absolute;top:14%;width:80%}

.stack__front{position:absolute;width:34%;border-radius:12px;border:3px solid #fff}

.step{position:relative;padding-top:26px;padding-right:24px;padding-bottom:24px;padding-left:24px}

.estimate__cta{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center}

.tel-wrap{display:flex;flex-direction:column}

.voice-sec{order:70}

.voice__icon{width:56px;height:56px;border-radius:50%}

.voice__bubble{position:relative;padding-top:22px;padding-right:24px;padding-bottom:22px;padding-left:24px}

.voice__who{font-size:13px;margin-top:14px;padding-top:12px}

.voice__note{font-size:13px;margin-top:24px}

.company{order:80}

.greeting__ttl{font-size:18px;font-weight:700;display:flex;align-items:center}

.greeting__sign{margin-top:24px;display:flex;flex-direction:column}

.cstack{position:relative;width:100%;max-width:480px}

.cstack__back{position:absolute;width:66%;border-radius:12px}

.cstack__main{position:absolute;width:74%;border-radius:12px}

.recruit{order:90}

.rstack{position:relative;width:100%}

.rstack__main{position:absolute;width:84%;height:88%;border-radius:12px}

.rstack__front{position:absolute;width:40%;border-radius:12px;border:1px solid rgba(255,255,255,.1)}

.words{position:absolute;right:6%;top:6%;font-weight:900;letter-spacing:.12em}

.recruit__body{margin-top:20px}

.merits{margin-top:32px}

.jobs{margin-top:28px;font-size:14px;padding-top:18px;padding-right:20px;padding-bottom:18px;padding-left:20px;border:1px solid rgba(255,255,255,.14)}

.people{margin-top:36px}

.person{border:1px solid rgba(255,255,255,.12);padding-top:18px;padding-right:18px;padding-bottom:18px;padding-left:18px}

.person__ph{width:88px;height:88px;border-radius:50%;border:2px solid rgba(255,255,255,.25)}

.person__name{font-size:12.5px;margin-top:8px}

.recruit__cta{margin-top:32px;display:flex;flex-wrap:wrap}

.news{order:100}

.news__empty{margin-top:24px;padding-top:22px;padding-right:24px;padding-bottom:22px;padding-left:24px;font-size:15px}

.news__more{margin-top:20px}

.blog__sub{font-size:15px;font-weight:700;margin-top:12px}

.blog__cards{margin-top:24px}

.bcard{display:flex;flex-direction:column}

.bcard__body{padding-top:16px;padding-right:18px;padding-bottom:20px;padding-left:18px}

.bcard__meta{display:flex;flex-wrap:wrap;align-items:center;font-size:12px}

.bcard__date{font-size:14px;letter-spacing:.06em}

.tag{padding-top:2px;padding-right:8px;padding-bottom:2px;padding-left:8px;border-radius:4px;font-weight:500}

.totop{align-items:center;color:#fff;font-size:13px}

.chatbot-morita-btn{position:fixed;right:20px;bottom:24px;display:flex;align-items:center;height:52px;border-radius:999px;color:#fff;font-weight:700;font-size:14px}

.chatbot__head{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-right:12px;padding-bottom:12px;padding-left:16px;color:#fff}

.chatbot__ttl{font-size:14px;font-weight:700;display:flex;align-items:center}

.chatbot__close{width:36px;height:36px;border-radius:8px}

.chatbot__log{padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px;display:flex;flex-direction:column}

.msg{max-width:88%;padding-top:10px;padding-right:14px;padding-bottom:10px;padding-left:14px;border-radius:14px;font-size:13.5px}

.msg--bot{align-self:flex-start;border-bottom-left-radius:4px}

.msg--user{align-self:flex-end;color:#fff;border-bottom-right-radius:4px}

.choices{padding-left:8px}

.choice{text-align:left;padding-top:9px;padding-right:14px;padding-bottom:9px;padding-left:14px;border-radius:10px;font-size:13.5px;font-weight:500}

.chips{display:flex;flex-wrap:wrap;padding-left:8px}

.chip{align-items:center;padding-top:7px;padding-right:12px;padding-bottom:7px;padding-left:12px;border-radius:999px;color:#fff;font-size:12.5px;font-weight:700}

.chatbot__foot{padding-top:8px;padding-right:14px;padding-bottom:8px;padding-left:14px;font-size:11px}

.dev-toggle{position:fixed;right:12px;display:flex;align-items:center;padding-top:4px;padding-right:6px;padding-bottom:4px;padding-left:10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:11px;color:#fff;letter-spacing:.08em}

.hero__frame{height:auto;display:flex;flex-direction:column;justify-content:flex-end}

.hero__copy{position:relative;left:auto}

.hero__scroll{display:none}

.hero__win{display:none}

.contact{position:relative;margin-top:-48px}

.form-morita-card{width:100%;max-width:720px;padding-top:24px;padding-right:20px;padding-bottom:24px;padding-left:20px}

.stack,.wstack,.cstack,.rstack{max-width:100%}

.voice__icon{width:44px;height:44px}

.voice__bubble{padding-top:18px;padding-right:18px;padding-bottom:18px;padding-left:18px}

.person{padding-top:14px;padding-right:14px;padding-bottom:14px;padding-left:14px}

.person__ph{width:64px;height:64px}

.bcard__date{font-size:12px}

.person__name--name{color:#fff;font-size:14px;font-weight:700}

.voices{align-items:stretch}

.voice{align-items:stretch}

.voice__bubble{height:100%}

*{box-sizing:border-box}

body{margin:0}

.morita-btn{border-top:1.5px solid transparent;border-top-width:1.5px;border-top-style:solid;border-top-color:transparent;border-right:1.5px solid transparent;border-right-width:1.5px;border-right-style:solid;border-right-color:transparent;border-bottom:1.5px solid transparent;border-bottom-width:1.5px;border-bottom-style:solid;border-bottom-color:transparent;border-left:1.5px solid transparent;border-left-width:1.5px;border-left-style:solid;border-left-color:transparent;border-image:none}

.morita-btn--ghost{border-top-color:rgba(255,255,255,0.75);border-right-color:rgba(255,255,255,0.75);border-bottom-color:rgba(255,255,255,0.75);border-left-color:rgba(255,255,255,0.75)}

.specs{border-top:1px solid rgba(255,255,255,0.14);border-top-width:1px;border-top-style:solid;border-top-color:rgba(255,255,255,0.14);border-right:1px solid rgba(255,255,255,0.14);border-right-width:1px;border-right-style:solid;border-right-color:rgba(255,255,255,0.14);border-bottom:1px solid rgba(255,255,255,0.14);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(255,255,255,0.14);border-left:1px solid rgba(255,255,255,0.14);border-left-width:1px;border-left-style:solid;border-left-color:rgba(255,255,255,0.14);border-image:none}

.wstack__front{border-top:1px solid rgba(255,255,255,0.1);border-top-width:1px;border-top-style:solid;border-top-color:rgba(255,255,255,0.1);border-right:1px solid rgba(255,255,255,0.1);border-right-width:1px;border-right-style:solid;border-right-color:rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(255,255,255,0.1);border-left:1px solid rgba(255,255,255,0.1);border-left-width:1px;border-left-style:solid;border-left-color:rgba(255,255,255,0.1);border-image:none}

.jmap__pin{border-top:2px solid rgb(255,255,255);border-top-width:2px;border-top-style:solid;border-top-color:rgb(255,255,255);border-right:2px solid rgb(255,255,255);border-right-width:2px;border-right-style:solid;border-right-color:rgb(255,255,255);border-bottom:2px solid rgb(255,255,255);border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:rgb(255,255,255);border-left:2px solid rgb(255,255,255);border-left-width:2px;border-left-style:solid;border-left-color:rgb(255,255,255);border-image:none}

.morita-card.is-visible:hover{box-shadow:0 24px 50px rgba(0,0,0,.12)}

.hero__win figcaption{right:0px;bottom:0px}

.cstack__back>div{right:0px;bottom:0px}

.cta__inner .label{justify-content:center}

.logo__text{line-height:1.1}

.hero__sub{line-height:1.95}

.hero__win figcaption{letter-spacing:.04em}

.field-error{line-height:1.5}

.chk b{line-height:1.5}

.card__body>p{line-height:1.85}

.feat p{line-height:1.75}

.voice__bubble>p{line-height:1.8}

.person q{line-height:1.8}

.msg{line-height:1.7}

.chk__title{line-height:1.5}

.hero__win>div{right:0;bottom:0;letter-spacing:.04em}

.card__body>h3+div,.card__body>h2+div{line-height:1.85}

.feat>h3+div{line-height:1.75}

.voice__bubble>h3+div{line-height:1.8}

.form-morita-card .pp-body .pp-lead,.form-morita-card .pp-body .pp-p,.form-morita-card .pp-body .pp-li{line-height:1.8}

.form-morita-card .pp-body .pp-h{line-height:1.5}

.form-morita-card .pp-body .pp-sub{line-height:1.7}

.hero__win figcaption{left:0px}

.field textarea{min-height:120px}

.cstack__back>div{left:0px}

.tk-home{overflow:clip}

:root{--morita-card-inset:clamp(24px,calc((100% - 1160px) * .25),56px);--black:#0f1115;--ink:#1a1d22;--gray-700:#4D4D4D;--gray-600:#727171;--gray-500:#999999;--gray-400:#B5B6B6;--gray-300:#cfd0d0;--gray-200:#e4e5e4;--gray-100:#f0f0ee;--green:#0F4F46;--green-light:#0B6A5C;--green-alt:#0F4D32;--green-alt-light:#1D7A49;--white:#f7f7f5;--radius-s:8px;--radius-m:12px;--font-jp:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--font-en:"Oswald","Arial Narrow",Arial,sans-serif;--hh:84px;--hh-s:64px;--frame-gap:20px;--sp-bar:60px;--slant:clamp(28px,4vw,56px);--ease-out:cubic-bezier(.22,.61,.36,1);--ease-inout:cubic-bezier(.77,0,.18,1);--ease-soft:cubic-bezier(.16,1,.3,1);--hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

*,*::before,*::after{box-sizing:border-box}

img{max-width:100%;height:auto;display:block}

a{color:inherit}

h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}

ul,ol{padding:0;list-style:none}

button,input,select,textarea{font:inherit;color:inherit}

button{cursor:pointer;background:none;border:0;padding:0}

:focus-visible{outline:2px solid var(--green);outline-offset:3px}

.sec--dark :focus-visible,.header :focus-visible,.drawer :focus-visible,.footer :focus-visible,.hero :focus-visible,.cta :focus-visible,.sp-bar :focus-visible{outline-color:#fff}

.morita-container{margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}

.sec{padding:clamp(72px,9vw,128px)0}

.sec--dark{background:var(--black);color:var(--white)}

.vh{overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cube{width:var(--cw,40px);aspect-ratio:.866;flex:none;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.cube--flat{background:var(--green)}

.cube--num{display:inline-grid;place-items:center;font-family:var(--font-en);font-size:calc(var(--cw,40px)*.42);line-height:1}

.label{display:inline-flex;gap:10px;font-family:var(--font-en);color:var(--green);text-transform:uppercase;line-height:1}

.label::before{content:"";width:10px;height:11.5px;flex:none;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.sec--dark .label,.cta .label{color:var(--gray-400)}

.sec--dark .label::before,.cta .label::before{background:conic-gradient(from 60deg,var(--green-light)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.label--line::after{content:"";width:60px;height:1px;background:currentColor;opacity:.7;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease-inout) .25s}

.is-visible .label--line::after,.label--line.is-visible::after{transform:scaleX(1)}

.ttl{font-size:clamp(24px,3vw,40px);line-height:1.35;text-wrap:balance}

.ttl--line::after{content:"";display:block;width:64px;height:2px;background:var(--green-light);margin-top:20px;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease-inout) .35s}

.is-visible .ttl--line::after{transform:scaleX(1)}

.cta__inner .ttl--line::after{margin-inline:auto;transform-origin:center}

.sub{font-size:clamp(17px,1.5vw,20px);line-height:1.6}

.sec--dark .morita-lead{color:#e2e3e1}

.morita-btn{display:inline-flex;gap:10px;border-radius:var(--radius-s);line-height:1.3;text-decoration:none;transition:transform .3s var(--ease-out),background-color .3s,color .3s,border-color .3s,box-shadow .3s;cursor:pointer}

.morita-btn svg{width:18px;height:18px;flex:none;transition:transform .3s var(--ease-out)}

.morita-btn:hover svg{transform:translateX(4px)}

.morita-btn--green{background:var(--green)}

.morita-btn--green:hover{background:var(--green-light);transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,106,92,.3)}

.morita-btn--ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}

.morita-btn--outline{border-color:var(--ink);color:var(--ink)}

.morita-btn--outline:hover{background:var(--ink);transform:translateY(-2px)}

.link-arrow{display:inline-flex;gap:8px;text-decoration:none;color:var(--green)}

.link-arrow svg{width:18px;height:18px;transition:transform .3s var(--ease-out)}

.link-arrow:hover svg{transform:translateX(4px)}

.link-arrow:hover{text-decoration:underline;text-underline-offset:4px}

.sec--dark .link-arrow{color:#fff}

.tel-link{display:inline-flex;gap:10px;font-family:var(--font-en);text-decoration:none;line-height:1}

.tel-link svg{width:22px;height:22px}

.tel-link small{font-family:var(--font-jp);font-size:12px;font-weight:500;letter-spacing:0;color:var(--gray-700)}

.delay-1{transition-delay:.1s}

.delay-2{transition-delay:.2s}

.delay-3{transition-delay:.3s}

.delay-4{transition-delay:.4s}

.logo{gap:12px;text-decoration:none;flex:none}

.logo-mark{--lh:44px;width:calc(var(--lh)*.87);height:var(--lh);overflow:hidden;flex:none;transition:transform .35s var(--ease-out),width .35s ease,height .35s ease}

.logo-mark img{position:absolute;left:50%;top:50%;height:calc(var(--lh)/.54);width:auto;max-width:none;transform:translate(-50%,-50%);transition:opacity .35s ease}

.logo-mark img.logo--black{top:45.4%;height:calc(var(--lh)/.586);mix-blend-mode:screen}

.logo-mark img.logo--green{opacity:0}

.logo:hover .logo-mark img.logo--green,.logo:focus-visible .logo-mark img.logo--green{opacity:1}

.logo:hover .logo-mark img.logo--base,.logo:focus-visible .logo-mark img.logo--base{opacity:0}

.logo:hover .logo-mark,.logo:focus-visible .logo-mark{transform:translateY(-1px)}

.logo__en{font-family:var(--font-en)}

.logo__jp{color:var(--gray-400)}

.hero{z-index:1;background:var(--black);padding:calc(var(--hh) + var(--frame-gap)) var(--frame-gap)0}

.hero__frame{height:calc(100svh - var(--hh) - var(--frame-gap)*2);max-height:980px;overflow:hidden;background:var(--ink);isolation:isolate}

.hero__img{inset:0;object-fit:cover;object-position:62% 50%;filter:saturate(.85);transform:scale(1.08);translate:0 var(--hy,0px);transition:transform 2.6s var(--ease-soft);will-change:transform}

@media (min-width:769px){.hero__img{top:-6%;height:112%}}

.hero__shade{inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,17,21,.82) 0%,rgba(15,17,21,.5) 40%,rgba(15,17,21,.12) 100%),linear-gradient(0deg,rgba(15,17,21,.88) 0%,rgba(15,17,21,.35) 40%,rgba(15,17,21,0) 68%)}

.hero__copy{left:0;bottom:0;z-index:3;padding:32px 24px clamp(24px,5vw,72px) clamp(24px,5vw,72px);max-width:calc(100% - 470px - var(--morita-card-inset))}

.hero__label{gap:6px 18px;font-family:var(--font-en);color:var(--gray-300);line-height:1.4}

.hero__label>div:first-child{color:#fff;font-weight:500}

.hero__label>div+div::before{content:"";display:inline-block;width:14px;height:1px;background:var(--gray-400);vertical-align:middle;margin-right:10px}

.hero__catch{font-family:var(--font-en);font-size:clamp(40px,6.2vw,96px);line-height:.98;text-transform:uppercase;overflow-wrap:anywhere;text-shadow:0 2px 24px rgba(0,0,0,.4)}

.hero__catch p{display:block}

.hero h1{font-size:clamp(22px,2.9vw,42px);font-weight:900;line-height:1.4;letter-spacing:.02em;margin-top:18px;text-shadow:0 2px 16px rgba(0,0,0,.45)}

.hero__sub{font-size:clamp(14px,1.1vw,16px)}

.hero__tags{gap:8px}

.hero__tags li{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:500;background:rgba(15,17,21,.25)}

.hero__btns{gap:12px}

.hero__win{z-index:3;aspect-ratio:16/11;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.45);opacity:0;transform:translate(24px,24px);transition:opacity .8s var(--ease-out) 1.4s,transform .8s var(--ease-out) 1.4s}

.hero__win img{width:100%;height:100%;object-fit:cover}

.hero__win figcaption{position:absolute;padding:22px 14px 10px;font-size:12px;background:linear-gradient(0deg,rgba(15,17,21,.85),rgba(15,17,21,0))}

.hero__scroll{z-index:3;gap:12px;font-family:var(--font-en);color:var(--gray-300)}

.hero__scroll>div{writing-mode:vertical-rl}

.hero__scroll i{display:block;width:1px;height:52px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}

.hero__scroll i::after{content:"";position:absolute;inset:0;background:var(--green-light)}

.morita-motion-ready:not(.morita-motion-reduced) .hero__scroll i::after{animation:scrollLine 1.8s var(--ease-inout) infinite}

@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

@media (min-width:1321px){.contact__wm{font-family:var(--font-en);font-weight:600;font-size:clamp(64px,7.6vw,108px);line-height:1;letter-spacing:.04em;color:rgba(255,255,255,.06);text-transform:uppercase;white-space:nowrap;user-select:none}.contact__points{display:flex;flex-wrap:wrap;gap:12px 32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:15px;font-weight:700;letter-spacing:.02em}.contact__points li{display:flex;align-items:center;gap:10px}.contact__points li::before{content:"";width:12px;height:13.8px;flex:none;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green-light)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}}

.form-morita-card{background:#fff;color:var(--ink);border-radius:var(--radius-m);box-shadow:0 30px 60px rgba(0,0,0,.35)}

.form-card__ttl{line-height:1.4}

.form-card__desc{line-height:1.8;color:var(--gray-700)}

.form-card__points{gap:8px}

.form-card__points li{display:grid;grid-template-columns:10px 1fr;gap:12px;align-items:start;font-size:15px}

.form-card__points li::before{content:"";width:10px;height:11.5px;margin-top:.55em;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.form-card__points b{font-weight:700}

.form-morita-card .contact-form{display:grid;gap:16px;margin-top:22px}

.form-morita-card .contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.form-morita-card .formRow{display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 16px}

.form-morita-card .formRow>.formTh{width:auto;max-width:none;padding:0}

.form-morita-card .formRow>.formTh>.label{display:inline;font-family:var(--font-jp);font-size:13px;font-weight:700;letter-spacing:0;line-height:1.5;color:var(--ink);text-transform:none}

.form-morita-card .formRow>.formTh>.label::before{display:none}

.form-morita-card .formRow>.formTh>.requiredText,.form-morita-card .formRow>.formTh>.anyText{display:inline-block;margin-left:7px;padding:3px 5px;border-radius:3px;background:var(--green);color:#fff;font-size:10px;font-weight:700;line-height:1;letter-spacing:0}

.form-morita-card .formRow>.formTh>.anyText{background:var(--gray-200);color:var(--gray-700)}

.form-morita-card .formRow>.formTh>.formInput{display:block;width:100%;min-height:38px;margin-top:7px;padding:9px 10px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.5;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}

.form-morita-card .formRow>.formTh>.formInput:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,79,70,.14);outline:none}

.form-morita-card .formRow>.formTh>.formTextArea{min-height:100px;resize:vertical}

.form-morita-card .form-card__help{margin-top:7px;color:var(--gray-700);font-size:11px;line-height:1.65}

.form-morita-card .formRow>.formTh>select.formInput{padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--gray-600) 50%),linear-gradient(135deg,var(--gray-600) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat}

.form-morita-card .formRow>.col{grid-column:1/-1}

.form-morita-card .formRow>.col-md-6{grid-column:1/-1}

.form-morita-card .formPrivacyArea{grid-template-columns:max-content minmax(0,1fr);align-items:center;column-gap:7px;row-gap:10px}

.form-morita-card .formPrivacyArea .formTh{display:flex;grid-column:1;grid-row:1;width:auto;align-items:center;gap:4px;white-space:nowrap}

.form-morita-card .formPrivacyArea .formTh>.label{font-size:12px}

.form-morita-card .formPrivacyArea .formTh>.requiredText{margin-left:0;padding:3px 4px;font-size:9px}

.form-morita-card .formPrivacyArea .formTd{grid-column:2;grid-row:1;width:auto;min-width:0}

.form-morita-card .formPrivacyArea .pp-consent{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;white-space:nowrap}

.form-morita-card .formPrivacyArea .pp-consent label{min-width:0;white-space:nowrap;font-size:12px}

.form-morita-card .formPrivacyArea .formPrivacyAccordion{grid-column:1/-1;grid-row:2;width:100%}

.form-morita-card .contact-form-actions{margin-bottom:0}

.form-morita-card .contact-form-actions .formBtnTd{grid-column:1/-1}

.form-morita-card .contact-form-actions .formBtn{display:block;width:100%;min-height:44px;border:0;border-radius:6px;background:var(--green);color:#fff;font:inherit;font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .2s,transform .2s}

.form-morita-card .contact-form-actions .formBtn:hover{background:#0b5d54}

.form-morita-card .contact-form-actions .formBtn:focus-visible{outline:3px solid rgba(15,79,70,.32);outline-offset:3px}

.form-morita-card .pp-consent label{display:inline;color:var(--ink);font-family:var(--font-jp);font-size:13px;font-weight:700;letter-spacing:0;line-height:1.5;text-transform:none}

.form-morita-card .pp-consent label::before{display:none}

@media (min-width:521px){.form-morita-card .formRow{grid-template-columns:1fr 1fr}.form-morita-card .formRow>.col-md-6{grid-column:auto}}

@media (min-width:769px){.form-morita-card .formRow.formPrivacyArea{display:grid;grid-template-columns:max-content minmax(0,1fr)}.form-morita-card .formRow>.formTh{grid-column:auto}.form-morita-card .formRow>.col{grid-column:1/-1}.form-morita-card .formRow>.col-md-6{grid-column:auto}}

.field label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:6px;line-height:1.4}

.morita-badge{line-height:1;background:var(--green)}

.morita-badge--opt{background:var(--gray-200);color:var(--gray-700)}

.field input:not([type="checkbox"]),.field select,.field textarea{width:100%;border:1px solid var(--gray-300);border-radius:var(--radius-s);padding:11px 14px;background:#fff;font-size:15px;line-height:1.5;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}

.field select{background-image:linear-gradient(45deg,transparent 50%,var(--gray-600) 50%),linear-gradient(135deg,var(--gray-600) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}

.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,79,70,.35);outline:none}

.field textarea{resize:vertical}

.field [aria-invalid="true"]{border-color:#b3261e}

.form-morita-card .contact-form__help{font-size:12.5px;color:var(--gray-700);margin-top:6px;line-height:1.6}

.form-morita-card .contact-form__agree label{font-weight:500;align-items:flex-start;margin-bottom:0}

.form-morita-card .contact-form__agree input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--green)}

.form-morita-card .contact-form__agree a{color:var(--green);font-weight:700}

.form-morita-card .contact-form__msg{font-size:14px;font-weight:700;color:#b3261e;padding:10px 14px;border:1px solid #b3261e;border-radius:var(--radius-s);background:#fff6f5}

.form-morita-card .contact-form__msg[hidden]{display:none}

.form-morita-card .contact-form__submit{width:100%}

.form-morita-card .pp-toggle{position:absolute;opacity:0;pointer-events:none}

.form-morita-card .pp-toggle-label{position:relative;display:block;padding:11px 28px 11px 0;border-top:1px solid #d7ddd9;border-bottom:1px solid #d7ddd9;color:var(--green);font-size:13px;font-weight:700;cursor:pointer}

.form-morita-card .pp-toggle-label::after{position:absolute;top:50%;right:7px;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;content:"";transform:translateY(-65%) rotate(45deg)}

.form-morita-card .pp-toggle:checked+.pp-toggle-label::after{transform:translateY(-35%) rotate(225deg)}

.form-morita-card .pp-body{display:none;max-height:360px;padding:0 15px;overflow-y:auto;font-size:12px;background:#f3f6f4;color:#41504a}

.form-morita-card .pp-toggle:checked~.pp-body{display:block}

.form-morita-card .pp-body .pp-h{font-size:14px}

.form-morita-card .pp-body .pp-sub{font-weight:700}

.form-morita-card .pp-toggle:focus-visible+.pp-toggle-label{outline:2px solid var(--green);outline-offset:3px}

.form-morita-card .pp-body .pp-lead,.form-morita-card .pp-body .pp-p,.form-morita-card .pp-body .pp-li{margin:10px 0}

.form-morita-card .pp-body .pp-h{margin:20px 0 8px}

.form-morita-card .pp-body .pp-sub{margin:14px 0 6px}

.form-done{border:1.5px solid var(--green);border-radius:var(--radius-m);background:#f4f9f8}

.form-done p+p{margin-top:10px}

.form-done a{color:var(--green);font-weight:700}

.estimate{background:var(--white);overflow:hidden}

.estimate__grid{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,52fr);gap:clamp(32px,5vw,72px);align-items:start}

.chk-ttl{gap:10px}

.chk-ttl::after{content:"";flex:1;height:1px;background:var(--gray-300)}

.chk-list{display:grid;gap:12px}

.chk{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}

.chk__icon{background:var(--green);mask:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIvPjxwYXRoIGQ9Ik03IDEyLjVsMy4yIDNMMTcgOSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+)center/contain no-repeat;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIvPjxwYXRoIGQ9Ik03IDEyLjVsMy4yIDNMMTcgOSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+)center/contain no-repeat}

.voice__icon::before{width:24px;height:24px;content:"";background:currentColor;mask:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSI4IiByPSI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS44Ii8+PHBhdGggZD0iTTQgMjFhOCA4IDAgMCAxIDE2IDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)center/contain no-repeat;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSI4IiByPSI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS44Ii8+PHBhdGggZD0iTTQgMjFhOCA4IDAgMCAxIDE2IDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)center/contain no-repeat}

.chk__body{min-width:0}

.chk__text{color:var(--gray-700);line-height:1.7}

.stack{aspect-ratio:1/1;margin-left:auto}

.stack__green{background:var(--green);rotate:-14deg;transition:rotate 1.2s var(--ease-soft) .25s;opacity:.95}

@supports not (rotate:1deg){.stack__green{transform:rotate(-6deg)}}

.stack__back{top:0;aspect-ratio:4/3;overflow:hidden;filter:grayscale(1);opacity:.9}

.stack__main{aspect-ratio:4/3}

.stack__main::before{content:"";position:absolute;inset:8% 3% -3% 3%;border-radius:12px;z-index:-1}

.stack__main .ph{position:absolute;inset:0;border-radius:12px;overflow:hidden}

.stack__front{left:0;bottom:0;aspect-ratio:3/4;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35)}

.stack img,.ph img{width:100%;height:100%;object-fit:cover}

.stack img,.wstack img,.cstack img,.rstack img{clip-path:inset(0 100%0 0);transition:clip-path .9s var(--ease-inout)}

.card__ph img,.bcard__ph img{clip-path:inset(0 100%0 0)}

.stack__main img,.wstack__main img,.cstack__main img,.rstack__front img{transition-delay:.15s}

.stack__front img,.wstack__front img{transition-delay:.3s}

.stack img,.wstack img,.cstack img,.rstack img,.card__ph img,.bcard__ph img{clip-path:inset(0)}

.steps{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}

.step{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-m)}

.step h3{font-size:18px;font-weight:700;margin-top:14px;line-height:1.5}

.step p{font-size:14px;color:var(--gray-700);margin-top:8px;line-height:1.75}

.step::after{content:"";position:absolute;right:-16px;top:50%;width:12px;height:12px;border-top:2px solid var(--gray-400);border-right:2px solid var(--gray-400);transform:translateY(-50%) rotate(45deg)}

.step:last-child::after{display:none}

.estimate__cta{gap:16px 28px}

.estimate__cta .tel-link{color:var(--ink)}

.tel-wrap{gap:4px}

.tel-wrap small{font-size:12.5px;color:var(--gray-700)}

.service{background:var(--gray-100)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,32px);margin-top:clamp(40px,5vw,64px)}

.morita-card{background:#fff;border-radius:var(--radius-m);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06);transition:opacity .8s ease,transform .8s var(--ease-out),translate .5s var(--ease-out),box-shadow .5s ease}

.morita-card.delay-1{transition-delay:.1s,.1s,0s,0s}

.morita-card.delay-2{transition-delay:.2s,.2s,0s,0s}

.morita-card.delay-3{transition-delay:.3s,.3s,0s,0s}

.morita-card.is-visible:hover{translate:0-6px}

.card__ph{aspect-ratio:4/3;overflow:hidden;background:var(--gray-200)}

.card__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out),clip-path .9s var(--ease-inout)}

.card__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,17,21,.35),rgba(15,17,21,0) 45%)}

.card__num{z-index:2}

.card__vlabel{z-index:2;writing-mode:vertical-rl;font-family:var(--font-en);text-transform:uppercase;background:rgba(15,17,21,.55)}

.card__body{flex:1}

.morita-card h3,.morita-card h2{font-size:20px;font-weight:700;line-height:1.45}

.card__body>p{font-size:15px;margin-top:12px}

.morita-card ul{margin-top:16px;display:grid;gap:8px;font-size:13.5px;color:var(--gray-700);line-height:1.65}

.morita-card li{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start}

.morita-card li::before{content:"";width:10px;height:11.5px;margin-top:.45em;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.card__link{margin-top:auto}

.service__note{margin-top:clamp(32px,4vw,48px);border-left:3px solid var(--green);background:#fff;border-radius:0 var(--radius-s) var(--radius-s)0;gap:8px 24px}

.welding{overflow:hidden}

.welding__grid{display:grid;grid-template-columns:minmax(0,54fr) minmax(0,42fr);gap:clamp(32px,4vw,56px)}

.feats{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}

.feat h3{font-size:16px;font-weight:700;line-height:1.5;display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start;text-wrap:balance}

.feat h3::before{content:"";width:12px;height:13.8px;margin-top:.4em;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green-light)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.feat p{font-size:14px;color:#d9dad8;margin-top:8px;padding-left:22px}

.specs{gap:8px 24px;border-radius:var(--radius-s);color:var(--gray-400)}

.specs div{display:flex;gap:8px;align-items:baseline}

.specs dt::after{content:":"}

.specs dd{color:#fff;font-weight:500}

.wstack{aspect-ratio:1/1.02;isolation:isolate;margin-left:auto}

.wstack__back{top:0;aspect-ratio:4/3;overflow:hidden;opacity:.55}

.wstack__main{aspect-ratio:4/3;overflow:hidden}

.wstack__main img{mix-blend-mode:lighten}

.wstack__front{bottom:0;aspect-ratio:3/4;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5)}

.wstack img{width:100%;height:100%;object-fit:cover}

.wstack__cap{left:0;z-index:2;font-family:var(--font-en);color:var(--gray-400);gap:10px}

.wstack__cap::before{content:"";width:28px;height:1px;background:var(--green-light)}

.area{overflow:hidden}

.area__bg{inset:0;z-index:0}

.area__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.55)}

.area__bg::after{content:"";position:absolute;inset:0;background:rgba(15,17,21,.8)}

.area__grid{z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:clamp(32px,5vw,80px)}

.area__text p{margin-top:14px;max-width:580px;color:#e2e3e1}

.area__text p:first-of-type{margin-top:0}

.counters{gap:20px clamp(24px,4vw,56px);border-top:1px solid rgba(255,255,255,.14)}

.counter b{display:block;font-family:var(--font-en);font-weight:500;font-size:clamp(40px,4.5vw,64px);line-height:1;letter-spacing:.02em}

.counter b small{font-family:var(--font-jp);font-size:14px;font-weight:700;margin-left:6px}

.counter__lbl{font-style:normal;color:var(--gray-400)}

.jmap{margin-inline:auto}

.jmap svg{width:100%;height:auto;display:block;overflow:visible}

.jmap .r{fill:#2a2e34;stroke:#0f1115;stroke-width:1.5;stroke-linejoin:round}

.jmap .kinki{transition:fill .9s ease .4s}

.jmap.is-visible .kinki{fill:var(--green-light)}

.jmap .dot{fill:#fff}

.jmap .lbl{font:600 11px var(--font-jp);fill:#fff}

.jmap .pulse{fill:none;stroke:var(--green-light);stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0}

.morita-motion-ready:not(.morita-motion-reduced) .jmap.is-visible .pulse{animation:pulse 2.4s ease-out infinite;animation-delay:var(--d,0s)}

@keyframes pulse{0%{transform:scale(1);opacity:1}100%{transform:scale(2.2);opacity:0}}

.jmap__note{color:var(--gray-400);line-height:1.7}

.voice-sec{background:var(--white)}

.voices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(36px,5vw,56px)}

.voice{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start}

.voice__icon{background:var(--gray-100);border:1px solid var(--gray-300);display:grid;place-items:center;color:var(--gray-600)}

.voice__icon svg{width:30px;height:30px}

.voice__bubble{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-m)}

.voice__bubble::before{content:"";position:absolute;left:-8px;top:22px;width:14px;height:14px;background:#fff;border-left:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);transform:rotate(45deg)}

.voice--fixed .voice__bubble{border-color:var(--green);border-width:1.5px}

.voice--fixed .voice__bubble::before{border-color:var(--green);border-width:1.5px}

.voice--fixed .voice__icon{border-color:var(--green);color:var(--green)}

.voice h3{font-size:18px;font-weight:700;line-height:1.5;display:flex;gap:10px;align-items:baseline}

.voice h3::before{content:"“";font-family:var(--font-en);font-size:30px;line-height:.6;color:var(--green);flex:none;transform:translateY(6px)}

.voice__bubble>p{font-size:14.5px;margin-top:12px}

.voice__who{color:var(--gray-700);border-top:1px dashed var(--gray-300)}

.voice__note{color:var(--gray-700)}

.company{background:var(--gray-100);overflow:hidden}

.company__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:clamp(36px,5vw,56px)}

.greeting__ttl{gap:12px}

.greeting__ttl::after{content:"";flex:1;height:1px;background:var(--gray-300)}

.greeting p{margin-top:14px;font-size:15.5px}

.greeting__sign{gap:2px}

.greeting__sign small{font-size:12.5px;color:var(--gray-700)}

.greeting__sign b{font-size:20px;font-weight:700;letter-spacing:.08em}

.cstack{aspect-ratio:4/5;margin-left:auto}

.cstack__back{aspect-ratio:4/3;overflow:hidden}

.cstack__back img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}

.cstack__back>div{position:absolute;padding:24px 12px 10px;font-size:11.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(0deg,rgba(15,17,21,.8),rgba(15,17,21,0))}

.cstack__main{top:0;aspect-ratio:3/4;overflow:hidden}

.cstack__main img{width:100%;height:100%;object-fit:cover}

.overview{margin-top:clamp(48px,6vw,80px);background:#fff;border-radius:var(--radius-m);padding:clamp(20px,3vw,40px)}

.overview h3{font-size:18px;font-weight:700;display:flex;align-items:center;gap:12px}

.overview h3::after{content:"";flex:1;height:1px;background:var(--gray-300)}

.overview dl{margin-top:16px;display:grid;grid-template-columns:170px 1fr;font-size:15px}

.overview dt,.overview dd{padding:12px 0;border-bottom:1px solid var(--gray-200);line-height:1.7}

.overview dt{font-weight:700;color:var(--gray-700)}

.overview dd{overflow-wrap:anywhere}

.overview dd a{text-decoration:none;color:var(--ink)}

.overview dd a:hover{text-decoration:underline}

.recruit{background:var(--ink);color:var(--white);overflow:hidden}

.recruit__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}

.rstack{aspect-ratio:3/4}

@media (min-width:769px){.rstack{position:sticky;top:calc(var(--hh-s) + 32px)}}

.rstack__main{top:0;overflow:hidden}

.rstack__front{left:0;bottom:0;aspect-ratio:3/4;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5)}

.rstack img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}

.words{z-index:2;writing-mode:vertical-rl;font-size:clamp(20px,2vw,26px);line-height:1.3;text-shadow:0 2px 14px rgba(0,0,0,.6)}

.words span{display:block;margin-left:10px;opacity:1;transform:none}

.recruit__text .ttl{font-size:clamp(22px,2.6vw,34px)}

.recruit__body p{margin-top:10px;color:#e2e3e1;font-size:15.5px}

.merits{display:grid;gap:16px}

.merit{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start}

.merit h3{font-size:16.5px;font-weight:700;line-height:1.5;margin-top:4px}

.merit p{font-size:14px;color:var(--gray-400);margin-top:6px;line-height:1.75}

.jobs{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;border-radius:var(--radius-s)}

.jobs dt{color:var(--gray-400);white-space:nowrap}

.jobs dd{color:#fff}

.people{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.person{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:start;background:rgba(255,255,255,.04);border-radius:var(--radius-m)}

.person__ph{overflow:hidden}

.person__ph img{width:100%;height:100%;object-fit:cover}

.person q{display:block;font-size:13.5px;quotes:"「""」"}

.person__name{color:var(--gray-400);line-height:1.5}

.person__name b{color:#fff;font-weight:700;font-size:14px}

.recruit__cta{gap:12px}

.news{background:var(--white)}

.news__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,72px)}

.news__empty{border:1px dashed var(--gray-300);border-radius:var(--radius-s);color:var(--gray-700)}

.blog__sub{color:var(--gray-700)}

.blog__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.bcard{text-decoration:none;color:inherit;border-radius:var(--radius-m);overflow:hidden;background:#fff;border:1px solid var(--gray-200);transition:opacity .8s ease,transform .8s var(--ease-out),translate .4s var(--ease-out),box-shadow .4s ease}

.bcard.delay-1{transition-delay:.1s,.1s,0s,0s}

.bcard.delay-2{transition-delay:.2s,.2s,0s,0s}

.bcard.is-visible:hover{translate:0-4px}

.bcard__ph{aspect-ratio:3/2;overflow:hidden;background:var(--gray-200)}

.bcard__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out),clip-path .9s var(--ease-inout);filter:saturate(.85)}

.bcard:hover .bcard__ph img{transform:scale(1.05)}

.bcard__meta{gap:6px 10px}

.bcard__date{font-family:var(--font-en);color:var(--gray-700);white-space:nowrap}

.tag{background:var(--gray-100);color:var(--gray-700);white-space:nowrap}

.bcard h3{font-size:14.5px;font-weight:700;margin-top:8px;line-height:1.65}

.cta{background:var(--black);margin-top:calc(var(--slant)*-1);padding:calc(var(--slant) + clamp(72px,9vw,120px))0 clamp(72px,9vw,120px);clip-path:polygon(0 var(--slant),100%0,100% 100%,0 100%);overflow:hidden}

.cta__bg{inset:0;z-index:0}

.cta__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}

.cta__bg::after{content:"";position:absolute;inset:0;background:rgba(15,17,21,.8)}

.cta__inner{z-index:1;margin-inline:auto}

.cta__inner p{margin-top:16px;color:#e2e3e1}

.cta__btns{gap:14px}

.cta__btns .morita-btn--ghost{font-family:var(--font-en);font-size:20px;letter-spacing:.04em;font-weight:500}

.cta__note{color:var(--gray-400)}

.fcol h3{font-size:14px;color:#fff;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:.04em}

.fcol h3 small{font-family:var(--font-en);font-weight:400;font-size:11px;letter-spacing:.2em;color:var(--gray-400)}

.fcol p{font-size:13px;color:var(--gray-400);margin-top:10px;line-height:1.75}

.fcol a{color:#fff}

.totop{display:inline-flex;gap:8px;text-decoration:none}

.totop svg{width:16px;height:16px;transition:transform .3s var(--ease-out)}

.totop:hover svg{transform:translateY(-3px)}

.chatbot-morita-btn{z-index:60;gap:10px;padding:0 20px 0 16px;background:var(--green);box-shadow:0 12px 30px rgba(0,0,0,.3);transition:transform .3s var(--ease-out),background-color .3s}

.chatbot-morita-btn:hover{background:var(--green-light);transform:translateY(-2px)}

.chatbot-morita-btn svg{width:22px;height:22px;flex:none}

.chatbot-morita-btn span{display:block;max-width:160px;white-space:nowrap;overflow:hidden;transition:max-width .4s var(--ease-out),opacity .3s ease,margin .4s var(--ease-out)}

.is-top .chatbot-morita-btn span,.chatbot-morita-btn[aria-expanded="true"] span{max-width:0;opacity:0;margin-left:-10px}

.is-top .chatbot-morita-btn,.chatbot-morita-btn[aria-expanded="true"]{padding-right:16px}

.chatbot-morita-btn .ico-close{display:none}

.chatbot-morita-btn[aria-expanded="true"] .ico-chat{display:none}

.chatbot-morita-btn[aria-expanded="true"] .ico-close{display:block}

.chatbot__head{gap:12px;background:var(--black);flex:none}

.chatbot__ttl{gap:10px}

.chatbot__ttl::before{content:"";width:10px;height:11.5px;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green-light)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.chatbot__close{display:grid;place-items:center}

.chatbot__close svg{width:18px;height:18px}

.chatbot__close:hover{background:rgba(255,255,255,.1)}

.chatbot__log{flex:1;overflow-y:auto;background:var(--gray-100);gap:10px;overscroll-behavior:contain}

.msg{overflow-wrap:anywhere}

.msg--bot{background:#fff;border:1px solid var(--gray-200)}

.msg--user{background:var(--green)}

.choices{display:grid;gap:6px}

.choice{border:1px solid var(--green);background:#fff;color:var(--green);line-height:1.5;transition:background-color .2s,color .2s}

.choice:hover:not(:disabled){background:var(--green);color:#fff}

.choice:disabled{opacity:.45;cursor:default}

.choice--nav{border-color:var(--gray-300);color:var(--gray-700)}

.choice--nav:hover:not(:disabled){background:var(--gray-200);color:var(--ink)}

.chips{gap:6px}

.chip{display:inline-flex;gap:6px;background:var(--green);text-decoration:none;line-height:1.3}

.chip:hover{background:var(--green-light)}

.chip--ghost{background:#fff;color:var(--gray-700);border:1px solid var(--gray-300)}

.chip--ghost:hover{background:var(--gray-200);color:var(--ink)}

.chatbot__foot{flex:none;color:var(--gray-700);border-top:1px solid var(--gray-200);background:#fff}

.dev-toggle{top:calc(var(--hh) + 8px);z-index:100;gap:4px;background:rgba(15,17,21,.85);font-family:var(--font-en);box-shadow:0 6px 20px rgba(0,0,0,.3)}

.dev-toggle button{padding:4px 10px;border-radius:999px;color:#fff;font-size:11px;font-family:var(--font-jp);font-weight:700;line-height:1.3}

.dev-toggle button[aria-pressed="true"]{background:var(--green-light)}

.dev-toggle button:hover{background:rgba(255,255,255,.15)}

.dev-toggle button[aria-pressed="true"]:hover{background:var(--green-light)}

@media (min-width:1025px){.morita-card--offset{margin-top:56px}}

.hero{padding:calc(var(--hh) + var(--frame-gap)) var(--frame-gap)0}

.hero__frame{min-height:calc(100svh - var(--hh) - var(--frame-gap)*2);max-height:none}

.hero__copy{max-width:none;margin-top:auto;padding:clamp(120px,26vh,200px) 20px 28px}

.contact{z-index:2;background:var(--black);padding:0 16px 56px}

.form-morita-card{margin-inline:auto}

.estimate__grid,.welding__grid,.area__grid,.voices,.company__grid,.recruit__grid,.people,.news__grid,.cards,.blog__cards,.steps,.feats{grid-template-columns:minmax(0,1fr)}

.estimate__grid,.area__grid,.company__grid,.recruit__grid,.news__grid{gap:40px}

.cards,.voices,.people,.blog__cards{gap:20px}

.stack,.wstack,.cstack,.rstack{margin-inline:0}

.voice{grid-template-columns:44px minmax(0,1fr);gap:12px}

.voice__icon svg{width:24px;height:24px}

.voice__bubble{min-width:0}

.person{grid-template-columns:64px minmax(0,1fr);gap:12px}

.bcard__date{white-space:normal;overflow-wrap:anywhere}

.bcard__meta{min-width:0}

.hero h1,.ttl,.step h3,.morita-card h3,.morita-card h2,.feat h3,.voice h3,.greeting__ttl,.overview h3,.merit h3,.bcard h3,.sub,.morita-lead,.blog__sub{word-break:normal;overflow-wrap:normal;text-wrap:balance}

.cta__btns .morita-btn{white-space:nowrap}

.estimate__cta .tel-wrap{display:flex;flex-direction:column;gap:4px}

.estimate__cta .tel-wrap>div{font-size:12.5px;color:var(--gray-700)}

.counter__year{font-family:var(--font-jp)}

.voice__icon{align-self:start}

.hero__win>div{position:absolute;left:0;padding:22px 14px 10px;font-size:12px;background:linear-gradient(0deg,rgba(15,17,21,.85),rgba(15,17,21,0))}

.hero__tags>div,.contact__points>div{display:flex;align-items:center;gap:10px}

.hero__tags>div{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:500;background:rgba(15,17,21,.25)}

.contact__points>div::before,.form-card__points>div::before,.card__body>h3+div+div>div::before,.card__body>h2+div+div>div::before{content:"";width:10px;height:11.5px;flex:none;clip-path:var(--hex);background:conic-gradient(from 60deg,var(--green)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.contact__points>div::before{width:12px;height:13.8px;background:conic-gradient(from 60deg,var(--green-light)0 120deg,var(--gray-600)0 240deg,var(--gray-400)0 360deg)}

.form-card__points>div{display:grid;grid-template-columns:10px minmax(0,1fr);gap:12px;align-items:start;font-size:15px}

.form-card__points>div::before{margin-top:.55em}

.form-card__points>div>div>div:first-child{display:inline;font-weight:700}

.step>.cube+div{font-size:14px;color:var(--gray-700);margin-top:8px;line-height:1.75}

.card__body>h3+div,.card__body>h2+div{font-size:15px;margin-top:12px}

.card__body>h3+div+div,.card__body>h2+div+div{margin-top:16px;display:grid;gap:8px;font-size:13.5px;color:var(--gray-700);line-height:1.65}

.card__body>h3+div+div>div,.card__body>h2+div+div>div{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;align-items:start}

.card__body>h3+div+div>div::before,.card__body>h2+div+div>div::before{margin-top:.45em}

.feat>h3+div{font-size:14px;color:#d9dad8;margin-top:8px;padding-left:22px}

.specs>div{display:flex;gap:8px;align-items:baseline}

.specs>div>div:first-child::after{content:":"}

.specs>div>div:first-child{flex-shrink:0;white-space:nowrap}

.specs>div>div:last-child{min-width:0;color:#fff;font-weight:500}

.area__body>div{margin-top:14px;max-width:580px;color:#e2e3e1}

.area__body>div:first-child{margin-top:0}

.counter__value{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-size:clamp(40px,4.5vw,64px);line-height:1}

.voice__bubble>h3+div{font-size:14.5px;margin-top:12px}

.greeting>h3~div:not(.greeting__sign){margin-top:14px;font-size:15.5px}

.greeting__sign>div:first-child{font-size:12.5px;color:var(--gray-700)}

.greeting__sign>div:last-child{font-size:20px;font-weight:700;letter-spacing:.08em}

.overview>h3+div{margin-top:16px;display:grid;grid-template-columns:1fr;font-size:15px}

.overview>h3+div>div{padding:12px 0;border-bottom:1px solid var(--gray-200);line-height:1.7}

.overview>h3+div>div:nth-child(odd){padding-bottom:0;border-bottom:0;font-weight:700;color:var(--gray-700)}

.overview>h3+div>div:nth-child(even){padding-top:4px;overflow-wrap:anywhere}

.recruit__body>div{margin-top:10px;color:#e2e3e1;font-size:15.5px}

.merit>div:last-child>h3+div{font-size:14px;color:var(--gray-400);margin-top:6px;line-height:1.75}

.jobs>div:nth-child(odd){color:var(--gray-400);white-space:nowrap}

.jobs>div:nth-child(even){color:#fff}

.person__ph+div>div:first-child{display:block;font-size:13.5px}

.person__ph+div>div:last-child{font-size:12.5px;color:var(--gray-400);margin-top:8px;line-height:1.5}

.cta__inner>.ttl+div{margin-top:16px;color:#e2e3e1}

@media (min-width:769px){.overview>h3+div{grid-template-columns:170px minmax(0,1fr)}.overview>h3+div>div:nth-child(odd){padding-bottom:12px;border-bottom:1px solid var(--gray-200)}.overview>h3+div>div:nth-child(even){padding-top:12px}.jobs{grid-template-columns:auto 1fr;gap:8px 20px}.jobs>div:nth-child(odd){margin-top:0}}

@media (min-width:769px){.hero__frame{height:calc(100svh - var(--hh) - var(--frame-gap)*2);min-height:600px;max-height:980px;display:block}.hero__copy{position:absolute;left:0;bottom:0;margin:0;padding:32px 48px 48px;max-width:100%}.hero__scroll{display:flex}.form-morita-card{padding:32px}.blog__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.morita-card{flex-direction:row}.card__ph{width:42%;flex:none;aspect-ratio:auto}.voices,.company__grid,.recruit__grid,.people,.area__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area__grid{align-items:center}.voice{grid-template-columns:56px minmax(0,1fr);gap:18px}.voice__icon{width:56px;height:56px}.voice__icon svg{width:30px;height:30px}.person{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:18px}.person__ph{width:88px;height:88px}.card__vlabel{right:12px;top:12px;font-size:12px;letter-spacing:.26em;padding:10px 5px}.bcard__date{white-space:nowrap;font-size:14px}.cta__inner>.ttl br{display:none}}

@media (min-width:769px){.voice:nth-child(3) .voice__bubble h3 br{display:none}}

@media (min-width:1025px){.estimate__grid{grid-template-columns:minmax(0,44fr) minmax(0,52fr)}.welding__grid{grid-template-columns:minmax(0,54fr) minmax(0,42fr)}.news__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.company__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.recruit__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.area__grid{grid-template-columns:minmax(0,1fr) minmax(360px,420px)}.cards,.blog__cards,.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.morita-card{flex-direction:column}.card__ph{width:100%;aspect-ratio:4/3}.feats{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{max-width:640px;margin-left:auto;margin-right:0}.wstack{max-width:600px;margin-left:auto;margin-right:0}.cstack{max-width:480px;margin-left:auto;margin-right:0}.rstack{max-width:none;margin-left:0;margin-right:0}}

@media (min-width:1321px){.hero__copy{max-width:calc(100% - 470px - var(--morita-card-inset));padding:32px 24px clamp(24px,5vw,72px) clamp(24px,5vw,72px)}.contact{margin-top:calc(min(66vh,620px)*-1);padding:0 var(--frame-gap) 56px;background:transparent}.contact::before{content:"";position:absolute;inset:min(66vh,620px)0 0;background:var(--black);z-index:-1}.contact__aside{position:absolute;z-index:1;left:calc(var(--frame-gap) + clamp(24px,5vw,72px));top:calc(min(66vh,620px) + 28px);bottom:56px;width:calc(100% - 700px);display:flex;flex-direction:column;justify-content:space-between;gap:24px;color:#fff}.contact__points{display:flex;flex-wrap:wrap;gap:12px 32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:15px;font-weight:700;letter-spacing:.02em}.form-morita-card{width:440px;max-width:100%;margin-left:auto;margin-right:var(--morita-card-inset)}}

@media (min-width:769px){.voice__icon::before{width:30px;height:30px}}

@media (min-width:769px){.form-morita-card .formPrivacyArea{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;column-gap:12px;row-gap:12px}.form-morita-card .formPrivacyArea .formTh{display:flex;grid-column:1;grid-row:1;width:auto;align-items:center;gap:8px;white-space:nowrap}.form-morita-card .formPrivacyArea .formTd{grid-column:2;grid-row:1;width:auto;min-width:0}.form-morita-card .formPrivacyArea .pp-consent{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;white-space:nowrap}.form-morita-card .formPrivacyArea .pp-consent label{min-width:0;white-space:nowrap;overflow:visible}.form-morita-card .formPrivacyArea .formPrivacyAccordion{grid-column:1/-1;grid-row:2;width:100%}}

.tk-home .wstack{max-width:100%}

@media (min-width:769px){.tk-home .morita-card{flex-direction:row}.tk-home .card__vlabel{top:12px;font-size:12px;padding:10px 5px}}

@media (min-width:1025px){.tk-home .morita-card{flex-direction:column}.tk-home .wstack{max-width:600px}}

.jmap__graphic>img{display:block;width:100%;height:auto;margin-inline:auto}

.jmap__pin{background:var(--green-light);translate:-50% -50%;box-shadow:0 0 0 2px rgba(15,17,21,.62);pointer-events:none}

.jmap__pin::after{content:"";position:absolute;inset:-7px;border:1px solid var(--green-light);border-radius:50%;opacity:0}

.morita-motion-ready:not(.morita-motion-reduced) .jmap.is-visible .jmap__pin::after{animation:pulse 2.4s ease-out infinite}

.morita-motion-ready:not(.morita-motion-reduced) .jmap.is-visible .jmap__pin--osaka::after{animation-delay:.3s}

.morita-motion-ready:not(.morita-motion-reduced) .jmap.is-visible .jmap__pin--oita::after{animation-delay:.6s}

.morita-motion-ready .morita-motion-reveal,.morita-motion-ready .morita-motion-scale,.morita-motion-ready .morita-motion-form{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}

.morita-motion-ready .morita-motion-scale{transform:translateY(12px) scale(.96)}

.morita-motion-ready .morita-motion-reveal.is-visible,.morita-motion-ready .morita-motion-scale.is-visible,.morita-motion-ready .morita-motion-form.is-visible{opacity:1;transform:none}

.morita-motion-ready .morita-motion-stagger>*{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}

.morita-motion-ready .morita-motion-stagger.is-visible>*{opacity:1;transform:none}

.morita-motion-ready .hero .morita-motion-reveal{transition-duration:.9s}

.morita-motion-ready .hero__label{transition-delay:.7s}

.morita-motion-ready .hero__catch>div:first-child{transition-delay:.82s}

.morita-motion-ready .hero__catch>div:last-child{transition-delay:1s}

.morita-motion-ready .hero h1{transition-delay:1.15s}

.morita-motion-ready .hero__sub{transition-delay:1.3s}

.morita-motion-ready .hero__tags,.morita-motion-ready .hero__btns{transition-delay:1.8s}

.morita-motion-ready .morita-motion-form{transform:translateX(40px);transition-delay:1.2s}

.morita-motion-ready .hero__curtain{position:absolute;z-index:4;inset:0;display:block;background:linear-gradient(90deg,var(--green)0 3px,#0f1115 3px);transform:translateX(0);transition:transform 1.1s cubic-bezier(.16,1,.3,1) .15s,visibility 0s linear 1.25s;pointer-events:none}

.hero__img{transition:transform 2.6s cubic-bezier(.16,1,.3,1)}

.morita-hero-loaded .hero__img{transform:scale(1)}

.morita-hero-loaded .hero__curtain{transform:translateX(100%);visibility:hidden}

.morita-motion-ready .stack img,.morita-motion-ready .wstack img,.morita-motion-ready .cstack img,.morita-motion-ready .rstack img,.morita-motion-ready .morita-card img,.morita-motion-ready .bcard img{clip-path:inset(0 100%0 0);transition:clip-path .9s cubic-bezier(.22,.61,.36,1)}

.morita-motion-ready .stack.morita-motion-scale.is-visible img,.morita-motion-ready .wstack.morita-motion-reveal.is-visible img,.morita-motion-ready .cstack.morita-motion-scale.is-visible img,.morita-motion-ready .rstack.morita-motion-scale.is-visible img,.morita-motion-ready .morita-motion-stagger.is-visible .morita-card img,.morita-motion-ready .morita-motion-stagger.is-visible .bcard img{clip-path:inset(0)}

.morita-motion-ready .stack.morita-motion-scale.is-visible .stack__main img,.morita-motion-ready .wstack.morita-motion-reveal.is-visible .wstack__main img{transition-delay:.15s}

.morita-motion-ready .stack.morita-motion-scale.is-visible .stack__front img,.morita-motion-ready .wstack.morita-motion-reveal.is-visible .wstack__front img{transition-delay:.3s}

.stack__green,.stack__back,.stack__main,.stack__front,.wstack__back,.wstack__main,.wstack__front{transform:translateY(var(--morita-plx-y,0px))}

.words>div{transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}

.morita-motion-ready .words>div{opacity:0;transform:translateY(-12px)}

.morita-motion-ready .rstack.is-visible .words>div{opacity:1;transform:none}

.morita-motion-ready .rstack.is-visible .words>div:nth-child(2){transition-delay:.22s}

.morita-motion-ready .rstack.is-visible .words>div:nth-child(3){transition-delay:.44s}

.morita-motion-ready .rstack.is-visible .words>div:nth-child(4){transition-delay:.66s}

.morita-motion-ready .chk{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1)}

.morita-motion-ready .morita-motion-reveal.is-visible .chk{opacity:1;transform:none}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(1){transition-delay:.2s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(2){transition-delay:.28s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(3){transition-delay:.36s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(4){transition-delay:.44s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(5){transition-delay:.52s}

.morita-motion-ready .chk__icon{clip-path:inset(0 100%0 0);transition:clip-path .5s cubic-bezier(.22,.61,.36,1)}

.morita-motion-ready .morita-motion-reveal.is-visible .chk__icon{clip-path:inset(0)}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(1) .chk__icon{transition-delay:.5s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(2) .chk__icon{transition-delay:.58s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(3) .chk__icon{transition-delay:.66s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(4) .chk__icon{transition-delay:.74s}

.morita-motion-ready .morita-motion-reveal.is-visible .chk:nth-child(5) .chk__icon{transition-delay:.82s}

.morita-motion-reduced .morita-motion-reveal,.morita-motion-reduced .morita-motion-scale,.morita-motion-reduced .morita-motion-form,.morita-motion-reduced .morita-motion-stagger>*,.morita-motion-reduced .words>div,.morita-motion-reduced .chk{opacity:1;transform:none;transition:none}

.morita-motion-reduced .chk__icon{clip-path:inset(0);transition:none}

.morita-motion-reduced .stack img,.morita-motion-reduced .wstack img,.morita-motion-reduced .cstack img,.morita-motion-reduced .rstack img,.morita-motion-reduced .morita-card img,.morita-motion-reduced .bcard img{clip-path:inset(0);transition:none}

:root{--hh:64px;--hh-s:56px}

@media (min-width:769px){:root{--hh:68px;--hh-s:60px}}

@media (min-width:1025px){:root{--hh:84px;--hh-s:64px}}


/* daifuku:editor-css */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

.welding {
  order: 50;
}

.area {
  order: 60;
}

.cta__inner {
  text-align: center;
}

.wstack__back {
  right: 0px;
}

.cta__btns {
  justify-content: center;
}

.card__vlabel {
  right: 8px;
  letter-spacing: 0.18em;
}

.card__num {
  left: 16px;
}

.wstack__main {
  left: 0px;
}

.morita-container {
  max-width: 1200px;
}

.cube {
  display: inline-block;
}

.cube--num {
  color: rgb(255, 255, 255);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.label {
  align-items: center;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.24em;
}

.ttl {
  font-weight: 900;
  letter-spacing: 0.01em;
  margin-top: 16px;
}

.sub {
  font-weight: 700;
  margin-top: 18px;
}

.morita-lead {
  margin-top: 16px;
  max-width: 640px;
}

.morita-btn {
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding-top: 12px;
  padding-right: 28px;
  padding-bottom: 12px;
  padding-left: 28px;
  padding: 12px 28px;
  font-weight: 700;
  font-size: 15px;
  border: 1.5px transparent;
  border-width: 1.5px;
  border-style: solid;
  border-color: transparent;
  border-top: 1.5px transparent;
  border-top-width: 1.5px;
  border-top-style: solid;
  border-top-color: transparent;
  border-right: 1.5px transparent;
  border-right-width: 1.5px;
  border-right-style: solid;
  border-right-color: transparent;
  border-bottom: 1.5px transparent;
  border-bottom-width: 1.5px;
  border-bottom-style: solid;
  border-bottom-color: transparent;
  border-left: 1.5px transparent;
  border-left-width: 1.5px;
  border-left-style: solid;
  border-left-color: transparent;
  border-image: none;
}

.morita-btn--green {
  color: rgb(255, 255, 255);
}

.morita-btn--ghost {
  border-color: rgba(255, 255, 255, 0.75);
  border-top-color: rgba(255, 255, 255, 0.75);
  border-right-color: rgba(255, 255, 255, 0.75);
  border-bottom-color: rgba(255, 255, 255, 0.75);
  border-left-color: rgba(255, 255, 255, 0.75);
  color: rgb(255, 255, 255);
}

.link-arrow {
  align-items: center;
  font-weight: 700;
  font-size: 15px;
}

.service {
  order: 40;
}

.morita-card {
  display: flex;
  flex-direction: column;
  position: relative;
}

.card__ph {
  position: relative;
}

.card__num {
  position: absolute;
  top: 16px;
}

.card__vlabel {
  position: absolute;
  right: 12px;
  top: 12px;
  font-size: 12px;
  letter-spacing: 0.26em;
  color: rgb(255, 255, 255);
  padding-top: 10px;
  padding-right: 5px;
  padding-bottom: 10px;
  padding-left: 5px;
  padding: 10px 5px;
  border-radius: 4px;
}

.card__body {
  padding-top: 26px;
  padding-right: 26px;
  padding-bottom: 28px;
  padding-left: 26px;
  padding: 26px 26px 28px;
  display: flex;
  flex-direction: column;
}

/* Keep the service-card number badges as a consistent pointy hexagon.
   The generated .cube display rule previously overrode .cube--num's grid
   layout, leaving the numbers aligned to the inline baseline. */
.service .card__ph > .card__num {
  width: 40px;
  height: calc(40px / .866);
  aspect-ratio: auto;
  display: grid;
  place-items: center;
  line-height: 1;
}

.card__link {
  padding-top: 22px;
}

.service__note {
  padding-top: 20px;
  padding-right: 24px;
  padding-bottom: 20px;
  padding-left: 24px;
  padding: 20px 24px;
  font-size: 15px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.welding__grid {
  align-items: center;
}

.feats {
  margin-top: 36px;
}

.specs {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  padding-top: 16px;
  padding-right: 20px;
  padding-bottom: 16px;
  padding-left: 20px;
  padding: 16px 20px;
  border: 1px rgba(255, 255, 255, 0.14);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  border-top: 1px rgba(255, 255, 255, 0.14);
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.14);
  border-right: 1px rgba(255, 255, 255, 0.14);
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: rgba(255, 255, 255, 0.14);
  border-bottom: 1px rgba(255, 255, 255, 0.14);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.14);
  border-left: 1px rgba(255, 255, 255, 0.14);
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: rgba(255, 255, 255, 0.14);
  border-image: none;
  font-size: 13px;
}

.welding__cta {
  margin-top: 32px;
}

.wstack {
  position: relative;
  max-width: 600px;
  width: 100%;
}

.wstack__back {
  position: absolute;
  width: 58%;
  border-radius: 12px;
}

.wstack__main {
  position: absolute;
  top: 22%;
  width: 78%;
  border-radius: 12px;
}

.wstack__front {
  position: absolute;
  right: 2%;
  width: 34%;
  border-radius: 12px;
  border: 1px rgba(255, 255, 255, 0.1);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.1);
  border-top: 1px rgba(255, 255, 255, 0.1);
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.1);
  border-right: 1px rgba(255, 255, 255, 0.1);
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: rgba(255, 255, 255, 0.1);
  border-bottom: 1px rgba(255, 255, 255, 0.1);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.1);
  border-left: 1px rgba(255, 255, 255, 0.1);
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: rgba(255, 255, 255, 0.1);
  border-image: none;
}

.wstack__cap {
  position: absolute;
  bottom: 6%;
  font-size: 12px;
  letter-spacing: 0.24em;
  display: flex;
  align-items: center;
}

.area {
  position: relative;
}

.area__bg {
  position: absolute;
}

.area__grid {
  position: relative;
  align-items: center;
}

.area__body {
  margin-top: 20px;
}

.counters {
  display: flex;
  flex-wrap: wrap;
  margin-top: 36px;
  padding-top: 28px;
}

.counter__lbl {
  display: block;
  font-size: 12.5px;
  margin-top: 8px;
  letter-spacing: 0.04em;
}

.jmap {
  width: 100%;
  max-width: 420px;
}

.jmap__graphic {
  position: relative;
}

.jmap__note {
  font-size: 12px;
  margin-top: 10px;
  text-align: center;
}

.cta {
  order: 110;
  position: relative;
  color: rgb(255, 255, 255);
}

.cta__bg {
  position: absolute;
}

.cta__inner {
  position: relative;
  max-width: 780px;
}

.cta__btns {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.cta__note {
  margin-top: 18px;
  font-size: 13px;
}

.card__vlabel {
  top: 8px;
  font-size: 10px;
  padding-top: 8px;
  padding-right: 4px;
  padding-bottom: 8px;
  padding-left: 4px;
  padding: 8px 4px;
}

.counter__year {
  display: inline;
  font-size: 0.36em;
  font-weight: 700;
  margin-left: 8px;
}

.counter__value {
  display: block;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.jmap__pin {
  position: absolute;
  width: 8px;
  height: 8px;
  border: 2px rgb(255, 255, 255);
  border-width: 2px;
  border-style: solid;
  border-color: rgb(255, 255, 255);
  border-top: 2px rgb(255, 255, 255);
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: rgb(255, 255, 255);
  border-right: 2px rgb(255, 255, 255);
  border-right-width: 2px;
  border-right-style: solid;
  border-right-color: rgb(255, 255, 255);
  border-bottom: 2px rgb(255, 255, 255);
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-bottom-color: rgb(255, 255, 255);
  border-left: 2px rgb(255, 255, 255);
  border-left-width: 2px;
  border-left-style: solid;
  border-left-color: rgb(255, 255, 255);
  border-image: none;
  border-radius: 50%;
}

.jmap__pin--aomori {
  left: 56.71%;
  top: 31.04%;
}

.jmap__pin--osaka {
  left: 41.28%;
  top: 50.56%;
}

.jmap__pin--oita {
  left: 29.37%;
  top: 55.28%;
}


/* daifuku:editor-css */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}
