/* All services share facts, readable cards and equal breathing room. */
[data-page=service] .wrap{max-width:1240px;padding-inline:40px}[data-page=service] section{padding:96px 0}[data-page=service] h2{font-size:clamp(30px,3.5vw,46px);line-height:1.4}[data-page=service] .lead{font-size:17px;max-width:46em;margin-bottom:40px}[data-page=service] .label{font-size:12px;font-weight:700;letter-spacing:.14em}[data-page=service] .pains,[data-page=service] .plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}[data-page=service] .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}[data-page=service] .overview,[data-page=service] .company{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}[data-page=service] .feats{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}[data-page=service] .pain,[data-page=service] .feat,[data-page=service] .step,[data-page=service] .plan{min-width:0;padding:32px 28px;border-width:2px}[data-page=service] .pain,[data-page=service] .feat{display:flex;flex-direction:column;justify-content:center}[data-page=service] .pain h3,[data-page=service] .feat h3{font-size:23px}[data-page=service] .pain p,[data-page=service] .feat p,[data-page=service] .step p{font-size:15px;line-height:1.85}[data-page=service] .step{overflow:hidden;border-color:#666;padding-block:32px;display:flex;flex-direction:column;justify-content:center}[data-page=service] .step .no{align-self:flex-start;color:#ddd}[data-page=service] .step .w{color:#ccc}[data-page=service] .step p{color:#ddd}[data-page=service] .step h3{font-size:21px}[data-page=service] .plan .for{min-height:0;font-size:14px}[data-page=service] .plan .fee b{font-size:clamp(25px,2.5vw,32px)}[data-page=service] .plan h4{font-size:14px;font-weight:700}[data-page=service] .plan ul{font-size:14px}[data-page=service] .plan .fee{border-block-width:2px}[data-page=service] .terms dl{grid-template-columns:150px minmax(0,1fr);font-size:14px}[data-page=service] .terms dt,[data-page=service] .terms dd{padding:15px 0}[data-page=service] .company dl{grid-template-columns:112px minmax(0,1fr);background:#ededed;padding:18px 28px;border-radius:18px;gap:0 24px;font-size:15px}[data-page=service] .company dt,[data-page=service] .company dd{padding:20px 0;margin:0;align-content:center;border-bottom:2px solid #c7c7c7}[data-page=service] .company dt:last-of-type,[data-page=service] .company dd:last-of-type{border-bottom:0}[data-page=service] .company dt{font-weight:700}[data-page=service] .faq{max-width:900px}[data-page=service] .faq li{border-bottom-width:2px}[data-page=service] .faq .a p{font-size:15px;line-height:1.9}[data-page=service] .contact .inner{padding:48px;border:2px solid #c7c7c7}[data-page=service] .f label{font-size:14px}[data-page=service] .btn{font-weight:700;border-radius:10px;padding:16px 28px;font-size:15px}[data-page=service] .hero{position:relative;isolation:isolate;min-height:72svh;gap:44px;padding:76px 40px 92px}[data-page=service] .hero .wrap{min-width:0;width:100%;max-width:1120px;padding:0}[data-page=service] .hero h1{font-size:clamp(36px,4.3vw,62px);line-height:1.4;font-weight:900;margin:20px 0 28px}[data-page=service] .hero p{font-size:16px}[data-page=service] .hero .figs{border-width:2px;margin-bottom:28px;max-width:100%}[data-page=service] .hero .figs div{padding:20px 24px}[data-page=service] .hero .figs b{font-size:30px}[data-page=service] .hero .note{font-size:13px}[data-page=service] .s-breadcrumb{display:block;margin:0 0 28px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.s-mark{pointer-events:none;flex-shrink:0;color:#191919}.s-object{position:relative}.s-face svg,.s-layer svg{width:100%;height:auto;display:block}.s-layer{position:absolute;inset:0;transform:translateZ(var(--z));color:#777}.s-face{position:relative}
/* A / restrained centered introduction and the original Zen headings. */
html[data-design=a][data-page=service]{--head:"Zen Kaku Gothic New","Noto Sans JP",sans-serif}html[data-design=a] .s-mark{display:none}html[data-design=a][data-page=service] .hero h1{max-width:16em;margin-inline:auto}html[data-design=a][data-page=service] .hero .wrap::before{content:"";display:block;width:80px;height:6px;background:#191919;margin:0 auto 32px}
/* B / logo assembly beside a grounded left-aligned opening. */
html[data-design=b][data-page=service] .hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.65fr);max-width:1360px;margin:auto;text-align:left}html[data-design=b][data-page=service] .hero .wrap{grid-column:1;grid-row:1}html[data-design=b][data-page=service] .hero h1{font-size:clamp(36px,3.9vw,58px)}html[data-design=b][data-page=service] .hero p{margin-left:0}html[data-design=b][data-page=service] .hero .figs{display:flex;width:fit-content;flex-wrap:wrap}html[data-design=b] .s-mark{grid-column:2;grid-row:1;background:#ededed;border-radius:24px;min-height:330px;padding:40px;display:flex;align-items:center;overflow:hidden}html[data-design=b] .s-object{width:100%}html[data-design=b] .s-face .s-letter{transform-box:fill-box;transform-origin:center;animation:s-assemble 22s cubic-bezier(.22,.7,.2,1) infinite}html[data-design=b] .s-face .s-letter:nth-child(2n){animation-delay:.16s}html[data-design=b] .s-face .s-letter:nth-child(3n){animation-delay:.3s}@keyframes s-assemble{0%,5%{transform:translateY(65px) rotate(15deg);opacity:.15}24%,88%,100%{transform:none;opacity:1}}html[data-design=b][data-page=service] .feats{border-radius:20px}html[data-design=b][data-page=service] .pain{background:#fff}
/* C / a wide typographic masthead and one large moving logo, no ornamental imagery. */
html[data-design=c][data-page=service] .hero{display:flex;flex-direction:column;text-align:left;padding-bottom:0;gap:36px}html[data-design=c][data-page=service] .hero .wrap{order:0;max-width:1200px}html[data-design=c][data-page=service] .hero h1{font-size:clamp(38px,5.2vw,76px);max-width:17em;letter-spacing:-.045em}html[data-design=c][data-page=service] .hero p{margin-left:0;max-width:760px}html[data-design=c] .s-mark{order:1;width:min(100%,1200px);padding:36px 0;border-top:3px solid #191919;overflow:hidden}html[data-design=c] .s-object{width:min(75%,760px);transform:translateX(var(--logo-shift,0px));transition:transform .12s linear}html[data-design=c][data-page=service] .pain,html[data-design=c][data-page=service] .feat,html[data-design=c][data-page=service] .plan{border-radius:6px}html[data-design=c][data-page=service] .label{letter-spacing:.22em}html[data-design=c][data-page=service] .steps{gap:0;border-block:2px solid #777}html[data-design=c][data-page=service] .step{border:0;border-right:1px solid #777;border-radius:0;padding:36px 28px}html[data-design=c][data-page=service] .step:last-child{border-right:0}
/* D / a slow extruded wordmark, with generous solid cards. */
html[data-design=d][data-page=service]{--r:22px}html[data-design=d][data-page=service] .hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.75fr);max-width:1440px;margin:auto;text-align:left;gap:40px}html[data-design=d][data-page=service] .hero .wrap{grid-column:1;grid-row:1}html[data-design=d][data-page=service] .hero h1{font-size:clamp(36px,3.7vw,56px)}html[data-design=d][data-page=service] .hero p{margin-left:0}html[data-design=d][data-page=service] .hero .figs{display:flex;flex-wrap:wrap;width:fit-content}html[data-design=d] .s-mark{grid-column:2;grid-row:1;perspective:950px;min-height:420px;background:#e8e8e8;border-radius:28px;display:flex;align-items:center;padding:46px;overflow:hidden}html[data-design=d] .s-object{width:100%;transform-style:preserve-3d;animation:s-orbit 32s ease-in-out infinite;transform:rotateX(14deg) rotateY(-17deg)}html[data-design=d] .s-face{color:#191919}@keyframes s-orbit{0%,100%{transform:rotateX(14deg) rotateY(-17deg) rotateZ(-3deg)}50%{transform:rotateX(-6deg) rotateY(17deg) rotateZ(3deg)}}html[data-design=d][data-page=service] .feats{background:transparent;border:0;gap:18px}html[data-design=d][data-page=service] .feat{background:#e9e9e9;border-radius:22px}html[data-design=d][data-page=service] .pains{gap:18px}html[data-design=d][data-page=service] .pain{border-color:transparent}html[data-design=d][data-page=service] .plan.rec{border-color:#191919}
@media(max-width:1100px){[data-page=service] .steps{grid-template-columns:repeat(2,minmax(0,1fr))}[data-page=service] .plans{grid-template-columns:repeat(2,minmax(0,1fr))}[data-page=service] .overview,[data-page=service] .company{gap:32px}[data-page=service] .hero .figs div{padding:18px}html[data-design=b][data-page=service] .hero,html[data-design=d][data-page=service] .hero{grid-template-columns:minmax(0,1fr);gap:32px}html[data-design=b] .s-mark,html[data-design=d] .s-mark{grid-column:1;grid-row:2;min-height:240px;max-height:280px;justify-content:center}html[data-design=b] .s-object,html[data-design=d] .s-object{width:min(100%,460px)}html[data-design=c][data-page=service] .step{border-bottom:1px solid #777}}
@media(max-width:740px){[data-page=service] section{padding:72px 0}[data-page=service] .wrap{padding-inline:24px}[data-page=service] .pains,[data-page=service] .feats,[data-page=service] .plans,[data-page=service] .steps,[data-page=service] .overview,[data-page=service] .company{grid-template-columns:minmax(0,1fr)}[data-page=service] .pain,[data-page=service] .feat,[data-page=service] .plan,[data-page=service] .step{padding:28px 24px}[data-page=service] .company dl{grid-template-columns:92px minmax(0,1fr);gap:0 18px;padding:12px 20px}[data-page=service] .terms dl{grid-template-columns:100px minmax(0,1fr);gap:0 16px}[data-page=service] .contact .inner{padding:28px 22px}[data-page=service] .hero{padding:48px 24px 64px;min-height:auto}[data-page=service] .hero .figs{display:grid!important;grid-template-columns:minmax(0,1fr);width:100%!important;text-align:left}[data-page=service] .hero .figs div+div{border-left:0;border-top:2px solid #c7c7c7}[data-page=service] .hero .figs div{display:flex;justify-content:space-between;align-items:center;gap:16px}[data-page=service] .hero .figs b{font-size:28px}[data-page=service] .hero .figs b small{font-size:12px}html[data-design=b] .s-mark,html[data-design=d] .s-mark{padding:40px;min-height:210px}html[data-design=c] .s-object{width:85%;transform:none}html[data-design=c][data-page=service] .step{border-right:0}html[data-design=a][data-page=service] .hero .wrap::before{margin-left:0}html[data-design=a][data-page=service] .hero{text-align:left}[data-page=service] .company .link{font-size:14px}}
.motion-off .s-object,.motion-off .s-face .s-letter{animation:none!important;transform:none!important;opacity:1!important}.motion-off .s-layer{transform:translateZ(var(--z))}
@media(prefers-reduced-motion:reduce){html:not(.motion-on) .s-object,html:not(.motion-on) .s-face .s-letter{animation:none!important;transform:none!important;opacity:1!important}}
