/* Service detail bodies share the approved Web page's type, spacing and motifs.
   Content stays in normal flow; only the decorative Figma artwork is positioned. */
/* Match About's centered 1440px frame with 40px inner gutters.
   Section backgrounds and decorative artwork still span the viewport. */
.service-page-content{--service-gutter:max(40px,calc((100% - 1360px)/2));--service-title:clamp(64px,9.72222vw,140px);background:var(--paper);color:var(--ink)}
.service-page-content section{position:relative;isolation:isolate;padding-inline:var(--service-gutter)}
.service-page-content section>header,.service-page-content section>div:not(.service-ring-scene),.service-page-content section>ol{position:relative;z-index:2}
.service-paper{background:var(--paper)}
.service-paper::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:url('assets/service-grain.png') 0 0/50px 50px repeat;opacity:.9}
.service-dark{background:var(--ink);color:#fff}
.service-two-column{display:grid;grid-template-columns:minmax(0,640fr) minmax(0,600fr);gap:clamp(40px,5.55556vw,80px);padding-right:40px}
.service-overview{min-height:520px;padding-block:124px 110px}
.service-overview-title{font-size:clamp(32px,3.33333vw,48px);line-height:1.5;letter-spacing:0;font-weight:700}
.service-body{font:400 16px/2.1 var(--font-ja);color:rgb(0 7 31 / .85);overflow-wrap:anywhere}
.service-introduction>.service-body{line-height:2.2}
.service-consult{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px;width:var(--service-consult-width,336px);max-width:100%;min-height:66px;padding:20px 32px;background:var(--ink);color:#fff;border-radius:40px;font-size:16px;line-height:1.5;font-weight:700;transition:background-color .24s ease}
.service-page-ai{--service-consult-width:372px}.service-page-marketing{--service-consult-width:403px}
.service-consult span:last-child{font:500 20px/1 var(--font-en);transition:transform .24s cubic-bezier(.22,1,.36,1)}
.service-consult:is(:hover,:focus-visible){background:#ff4b00}.service-consult:is(:hover,:focus-visible) span:last-child{transform:translateX(5px)}
.service-section-heading{margin-left:-8px}.service-display{font:700 var(--service-title)/.95 var(--font-en);letter-spacing:-.02em}
.service-heading-jp{margin-top:37px;margin-left:8px;font-size:20px;line-height:normal;font-weight:700}
.service-strategy{min-height:var(--section-height,720px);padding-top:93px;padding-bottom:100px}
.service-strategy .service-section-heading{margin-left:-18px}
.service-strategy .service-heading-jp{line-height:1.7}.service-strategy .service-question-grid{margin-top:80px}
.service-question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:72px;margin:0;padding:0 20px 0 0;list-style:none}
.service-question-grid li{border-top:1px solid rgb(255 255 255 / .25);padding-top:28px;min-width:0}
.service-question-number{display:block;font:700 56px/1.2 var(--font-en);color:rgb(255 255 255 / .9)}
.service-question-title{margin-top:16px;font-size:clamp(21px,1.80556vw,26px);line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.service-page-web .service-strategy .service-question-grid{margin-top:46px}
.service-offerings{min-height:var(--section-height,1720px);padding-block:120px 119px;overflow:hidden}
.service-offering-list{margin-top:81px;border-bottom:1px solid rgb(0 7 31 / .15)}
.service-offering-row{min-height:200px;border-top:1px solid rgb(0 7 31 / .15);padding-top:47px;padding-bottom:35px}
.service-offering-label{display:grid;grid-template-columns:40px 1fr;gap:24px;align-items:start}
.service-offering-number{font:500 20px/1.5 var(--font-en);color:var(--orange)}
.service-offering-title{font-size:clamp(21px,1.80556vw,26px);line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.service-ring-scene{position:absolute;z-index:0;left:0;top:0;width:1440px;height:1920px;pointer-events:none;transform:scale(var(--service-ring-scale,1));transform-origin:top left}
.service-ring-top-blur{position:absolute;inset:0;filter:blur(23px)}
.service-ring-top{position:absolute;left:848.29px;top:-182.71px;width:670.851px;height:666.292px;opacity:.85;mask-image:url('assets/service-pages/a5596.svg');mask-size:1118.875px 1034px;mask-position:-226.293px -270.29px;mask-repeat:no-repeat;mask-mode:alpha}
.service-ring-top img{display:block;max-width:none}
.service-ring-web .service-ring-top{mask-image:url('assets/service-pages/b0ae2.svg')}
.service-ring-bottom{filter:blur(29px);position:absolute;display:flex;align-items:center;justify-content:center;left:-388.11px;top:767.28px;width:1437.496px;height:1437.585px}
.service-ring-rotated{transform:rotate(134.48deg);flex:none}
.service-ring-mask{position:relative;width:1020.003px;height:1013.071px;opacity:.85;mask-image:url('assets/service-pages/4ee71.svg');mask-size:2313.689px 2315.352px;mask-position:-341.892px -349.281px;mask-repeat:no-repeat;mask-mode:alpha}
.service-ring-web .service-ring-mask{mask-image:url('assets/service-pages/27c32.svg')}
.service-ring-mask img{display:block;position:absolute;left:-4px;top:-4px;max-width:none}
.service-process{min-height:var(--section-height,939px);padding-block:120px 80px}
.service-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px;list-style:none;margin:127px 0 0;padding:0 28px 0 0;position:relative}
.service-process-grid::before{position:absolute;content:"";top:6px;left:0;right:0;height:1px;background:rgb(255 255 255 / .25)}
.service-process-grid li{position:relative;min-width:0}
.service-process-dot{position:relative;display:block;z-index:1;width:12px;height:12px}
.service-process-number{display:block;margin-top:26px;font:700 72px/1.2 var(--font-en);color:rgb(255 255 255 / .9)}
.service-process-title{min-height:66px;margin-top:10px;font-size:22px;line-height:1.5;overflow-wrap:anywhere}
.service-process-description{margin-top:18px;color:rgb(255 255 255 / .8);font:400 15px/2.1 var(--font-ja);overflow-wrap:anywhere}
.service-page-web .service-process-title{min-height:33px}
.service-chatbot{min-height:1019px;padding-block:120px 100px}
.service-chatbot-layout{display:grid;grid-template-columns:minmax(0,680fr) minmax(0,680fr);gap:0;margin-top:81px;align-items:start}
.service-chatbot-title{font-size:clamp(28px,2.77778vw,40px);line-height:1.5;font-weight:700}
.service-chatbot-copy>.service-body{max-width:640px;margin-top:36px}
.service-chatbot-copy>.service-body p+p{margin-top:33.6px}
.service-chatbot-character{position:relative;width:min(100%,538px);aspect-ratio:1;margin-top:-86px;margin-left:71px;max-width:calc(100% - 71px)}
.service-chatbot-character .mascot-figure{width:100%;height:100%}
.service-chatbot-bubble{position:absolute;left:66.36%;top:-2px;display:flex;align-items:center;justify-content:center;width:156px;height:72px;border-radius:8px;background:#fff;color:var(--ink);font:700 15.84px/22.176px var(--font-ja);white-space:nowrap}
.service-chatbot-bubble img{position:absolute;left:52.43px;top:70.12px;display:block;max-width:none}
.service-faq{min-height:1160px;padding-block:120px 117px;background:#fff}
.service-faq-list{margin-top:81px;border-bottom:1px solid rgb(0 7 31 / .15)}
.service-faq-item{min-height:214px;padding-top:47px;padding-bottom:35px;border-top:1px solid rgb(0 7 31 / .15);align-items:start}
.service-faq-question{margin:0;color:inherit;font:700 clamp(21px,1.80556vw,26px)/1.5 var(--font-ja)}
@media(min-width:1024px) and (max-width:1250px){
 .service-two-column{gap:40px;padding-right:0}.service-overview{padding-top:96px}
 .service-process-grid{gap:28px;padding-right:0}.service-process-title{font-size:20px;min-height:90px}
 .service-process-number{font-size:64px}.service-chatbot-character{margin-left:20px;max-width:calc(100% - 20px)}
 .service-chatbot-bubble{left:auto;right:0;transform:scale(.85);transform-origin:top right}
}
@media(max-width:1023px){
 .service-page-content{--service-title:clamp(62px,9.72222vw,100px)}
 .service-two-column{grid-template-columns:1fr;gap:28px;padding-right:0}
 .service-overview{min-height:0;padding-block:88px}.service-overview-title{font-size:36px}
 .service-introduction{max-width:680px}.service-consult{min-height:60px}
 .service-strategy{min-height:0;padding-block:80px 88px}.service-section-heading,.service-strategy .service-section-heading{margin-left:0}
 .service-heading-jp{margin-left:0;font-size:18px;margin-top:28px}
 .service-strategy .service-question-grid,.service-page-web .service-strategy .service-question-grid{margin-top:64px}
 .service-question-grid{gap:48px 28px;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-question-number{font-size:48px}.service-question-title{font-size:22px}
 .service-offerings,.service-process,.service-chatbot,.service-faq{min-height:0;padding-block:88px}
 .service-offering-list,.service-faq-list{margin-top:64px}.service-offering-row{min-height:0;padding-block:32px;gap:24px}
 .service-offering-title{font-size:23px}.service-offering-row>.service-body{padding-left:64px}
 .service-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;padding:0;margin-top:72px}
 .service-process-grid::before{display:none}.service-process-grid li{border-top:1px solid rgb(255 255 255 / .25)}
 .service-process-dot{margin-top:-6px}.service-process-title,.service-page-web .service-process-title{min-height:66px;font-size:22px}
 .service-process-description{font-size:16px}
 .service-chatbot-layout{grid-template-columns:1fr;margin-top:64px}.service-chatbot-copy>.service-body{max-width:none}
 .service-chatbot-character{margin:42px auto 0;width:440px;max-width:100%}.service-chatbot-bubble{left:auto;right:0}
 .service-faq-item{min-height:0;padding-block:32px;gap:24px}.service-faq-question{font-size:22px}
}
@media(max-width:767px){
 .service-page-content{--service-gutter:24px}
}
@media(max-width:600px){
 .service-page-content{--service-title:clamp(58px,14.75vw,84px)}
 .service-overview{padding-block:76px}.service-overview-title{font-size:28px;line-height:1.65}
 .service-body{font-size:15px;line-height:2.1}.service-consult{font-size:14px;padding:17px 22px;width:100%;gap:12px;margin-top:28px}
 .service-heading-jp{font-size:16px;line-height:1.8;margin-top:24px}
 .service-question-grid{grid-template-columns:1fr;gap:32px}.service-question-grid li{padding-top:20px}
 .service-question-number{font-size:42px}.service-question-title{font-size:21px;margin-top:12px}
 .service-strategy .service-question-grid,.service-page-web .service-strategy .service-question-grid{margin-top:48px}
 .service-offerings,.service-process,.service-chatbot,.service-faq{padding-block:72px}.service-offering-list,.service-faq-list{margin-top:48px}
 .service-offering-label{grid-template-columns:28px 1fr;gap:16px}.service-offering-number{font-size:18px;line-height:1.8}
 .service-offering-title{font-size:21px;line-height:1.65}.service-offering-row>.service-body{padding-left:0}
 .service-ring-scene{transform:translateX(-160px) scale(.68);opacity:.65}
 .service-process-grid{grid-template-columns:1fr;gap:46px;margin-top:60px}
 .service-process-number{margin-top:20px;font-size:60px}.service-process-title,.service-page-web .service-process-title{min-height:0;margin-top:10px;font-size:22px}
 .service-process-description{font-size:15px}.service-chatbot-layout{margin-top:48px}
 .service-chatbot-title{font-size:22px;line-height:1.6}.service-chatbot-copy>.service-body{margin-top:28px}
 .service-chatbot-copy>.service-body p+p{margin-top:24px}.service-chatbot-character{width:340px}
 .service-chatbot-bubble{width:128px;height:58px;font-size:13px;top:8px;right:0}
 .service-chatbot-bubble img{top:56px;left:40px}.service-faq-question{font-size:20px;line-height:1.65}
 .service-faq-answer{padding-right:16px}
}
@media(prefers-reduced-motion:reduce){.service-consult,.service-consult span:last-child{transition:none}}
