@charset "UTF-8";
.service-detail-page{--purple:var(--accent);--lilac:var(--tint);--deep:#010637;--line:#dce2eb;--ink:#20263d;--muted:#626c7d}
.service-detail-page ::selection{background:var(--tint)}
.service-detail-page :focus-visible{outline-color:var(--accent)}
.service-detail-page .site-header{background:#ffffffed}
.service-detail-page .header-contact{border-radius:999px}
.service-detail-page .button{border-radius:8px}
.service-detail-page .button-dark:hover,.service-detail-page .header-contact:hover{background:var(--accent-ink)}
.service-detail-page .hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:40px;align-items:center;padding-top:56px}
.service-detail-page .hero-copy{min-width:0;padding:0;container-type:inline-size}
.service-detail-page .service-title{margin:0 0 10px;line-height:1.4}
.service-detail-page .service-mark{color:var(--purple);width:38px;height:38px;flex-shrink:0}
.service-detail-page .service-mark svg{width:100%;height:100%}
.service-detail-page .service-category{font-size:13px;line-height:1.85;color:#526583;margin-bottom:28px;letter-spacing:.03em}
.service-detail-page .service-category br{display:none}
.service-detail-page .hero h1{font-size:clamp(32px,4.1vw,60px);font-size:min(60px,9.1cqw);line-height:1.65;letter-spacing:.025em}
.service-detail-page .hero h1>span{display:block;white-space:nowrap;width:fit-content}
.service-detail-page .underlined:after{background:var(--accent-soft);height:.15em;bottom:.29em;left:0;right:0}
.service-detail-page .hero-description{font-size:14px;line-height:2.05;max-width:40em;margin-top:25px;color:var(--muted)}
.service-detail-page .hero-actions{margin-top:27px}
.service-detail-page .hero-visual{width:100%;height:auto;max-height:none;margin:0;padding:0;border-radius:24px;align-self:center;background:var(--tint);overflow:hidden}
.service-detail-page .hero-visual:before{display:none}
.service-detail-page .stage-art{width:100%;max-width:none;height:auto;margin:0;object-fit:contain}
.service-detail-page h2,.service-detail-page .intro h2,.service-detail-page .section-heading h2,.service-detail-page .reason-title h2,.service-detail-page .plan-heading h2{font-size:clamp(27px,3.1vw,43px);line-height:1.65;letter-spacing:.04em;margin:0}
.service-detail-page .intro{display:block;padding-block:88px 82px}
.service-detail-page .intro h2{margin-bottom:24px}
.service-detail-page .intro h2 br{display:none}
.service-detail-page .intro-main p{font-size:15px;line-height:2.05;margin-top:15px;color:var(--muted)}
.service-detail-page .section-heading{margin-bottom:35px}
.service-detail-page .section-heading>p{font-size:14px}
.service-detail-page .services{padding-bottom:84px}
.service-detail-page .service-grid{border-top-color:var(--theme-line)}
.service-detail-page .support-item{background:#fcfcfa;padding:27px 25px 0}
.service-detail-page .support-top{margin-bottom:16px}
.service-detail-page .support-top svg{stroke:var(--accent);stroke-width:1.6}
.service-detail-page .support-top>span,.service-detail-page .reason-list article>span{color:var(--accent-ink)}
.service-detail-page .support-item h3{font-size:19px;line-height:1.7}
.service-detail-page .support-item>p,.service-detail-page .scene-copy>p,.service-detail-page .reason-list p,.service-detail-page .price-box>p,.service-detail-page .process p{font-size:14px;line-height:2;color:var(--muted)}
.service-detail-page .support-item summary,.service-detail-page .support-item details>div{font-size:13px;color:var(--accent-ink)}
.service-detail-page .scope-note{padding-top:24px;gap:24px}
.service-detail-page .scope-note p{font-size:13px}
.service-detail-page .scope-note a{display:flex;gap:10px;align-items:center;font-size:12px;white-space:nowrap}
.service-detail-page .scenes{background:var(--theme-wash);padding-block:78px}
.service-detail-page .audience-tabs button{font-size:14px;color:#526583;border-color:var(--theme-line)}
.service-detail-page .audience-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:white}
.service-detail-page .scene-copy h3{margin-top:0;font-size:30px}
.service-detail-page .tick-list li{font-size:13px}
.service-detail-page .tick-list li:before{color:var(--accent)}
.service-detail-page .scene-board{background:#fbfdff;box-shadow:8px 8px 0 var(--tint);border-color:var(--theme-line);transform:none;padding:25px 27px 10px}
.service-detail-page .board-top{font-size:15px;color:var(--accent-ink);border-color:var(--theme-line);font-weight:600;line-height:1.7}
.service-detail-page .workflow-example li{gap:18px;padding:15px 0}
.service-detail-page .workflow-example li:before,.service-detail-page .workflow-example li:after{border-color:var(--theme-line)}
.service-detail-page .step-dot{background:#fbfdff;color:var(--accent-ink);border-color:var(--theme-line)}
.service-detail-page .workflow-example small{font-size:12px;color:#626c7d}
.service-detail-page .workflow-example strong{font-size:14px;line-height:1.8}
.service-detail-page .reasons{gap:48px;padding-block:84px;grid-template-columns:1fr 1.2fr}
.service-detail-page .reason-list h3{font-size:20px}
.service-detail-page .plan-section{background:var(--theme-wash);padding-block:80px}
.service-detail-page .plan-heading h2{width:auto}
.service-detail-page .plan-layout{gap:48px}
.service-detail-page .price-box{background:#fbfcfd;border-color:var(--theme-line)}
.service-detail-page .price-box h3{font-size:25px;margin-top:0}
.service-detail-page .price-box dl>div{font-size:13px}
.service-detail-page .price-box dt{color:#64758d}
.service-detail-page .price-box p.price-note{font-size:12px;color:#626c7d}
.service-detail-page .process li>span{border-color:var(--theme-line);background:var(--theme-wash);color:var(--accent-ink)}
.service-detail-page .process li:not(:last-child):after{border-color:var(--theme-line)}
.service-detail-page .process h4{font-size:16px}
.service-detail-page .faq{padding-block:84px;grid-template-columns:.65fr 1.35fr}
.service-detail-page .faq-title h2{font-size:30px;margin:0}
.service-detail-page .faq-list summary,.service-detail-page .faq-list details p{font-size:14px}
.service-detail-page .faq-list summary>span{color:var(--accent)}
.service-detail-page .contact-section{min-height:0;padding-top:62px;padding-bottom:64px;background:#010637}
.service-detail-page .contact-content h2{margin:0 0 20px}
.service-detail-page .contact-content>p{font-size:14px;color:#c4cee6}
.service-detail-page .all-services{font-size:13px;display:flex;align-items:center;gap:15px;margin-left:auto}
.service-detail-page .back-top{margin-left:25px;font-family:var(--sans);font-size:11px}
.service-detail-page .footer-bottom{font-size:11px;margin-top:25px;padding-top:20px}
.service-detail-page .dialog-top{justify-content:flex-end}
.service-detail-page .dialog-intro{font-size:13px;border-color:var(--accent-soft)}
.service-detail-page .dialog-body input{accent-color:var(--accent)}
.service-detail-page .task-options label:has(input:checked){background:var(--tint);border-color:var(--accent-soft)}
.service-detail-page #memo-text{background:var(--theme-wash);border-color:var(--theme-line)}
@media(max-width:1150px){.service-detail-page .hero{gap:28px}.service-detail-page .service-category{font-size:12px}.service-detail-page .service-category br{display:block}.service-detail-page .service-title{font-size:27px}.service-detail-page .hero-description{font-size:13px}}
@media(max-width:900px){.service-detail-page .hero{grid-template-columns:1fr;padding-top:35px;gap:30px}.service-detail-page .hero h1{font-size:clamp(36px,6.5vw,54px)}.service-detail-page .service-category br{display:none}.service-detail-page .hero-visual{max-width:none}.service-detail-page .hero-description{max-width:48em}.service-detail-page h2,.service-detail-page .intro h2,.service-detail-page .section-heading h2,.service-detail-page .reason-title h2,.service-detail-page .plan-heading h2{font-size:31px}.service-detail-page .intro h2 br{display:block}.service-detail-page .scene-copy{display:block}.service-detail-page .scene-board{max-width:none}.service-detail-page .plan-layout{gap:25px}.service-detail-page .price-box dl>div{display:block}.service-detail-page .price-box h3{font-size:22px}}
@media(max-width:600px){.service-detail-page .header-contact{font-size:10px;padding:10px 13px;gap:10px}.service-detail-page .hero{padding:28px 23px 0}.service-detail-page .service-title{font-size:26px}.service-detail-page .service-mark{width:34px;height:34px}.service-detail-page .service-category{font-size:12px;line-height:1.8;margin-bottom:22px}.service-detail-page .service-category br{display:block}.service-detail-page .hero h1{font-size:9.1vw;font-size:9.8cqw;letter-spacing:.01em;line-height:1.65}.service-detail-page .hero-description{font-size:13px;line-height:2;margin-top:23px}.service-detail-page .hero-actions .button{font-size:12px;min-height:54px;gap:24px}.service-detail-page .hero-visual{margin-top:30px;border-radius:18px}.service-detail-page h2,.service-detail-page .intro h2,.service-detail-page .section-heading h2,.service-detail-page .reason-title h2,.service-detail-page .plan-heading h2{font-size:28px;letter-spacing:.015em;line-height:1.65}.service-detail-page .intro{padding-block:58px}.service-detail-page .intro-main p{font-size:14px}.service-detail-page .services{padding-bottom:58px}.service-detail-page .section-heading{margin-bottom:25px}.service-detail-page .section-heading>p{font-size:13px}.service-detail-page .support-item{padding:23px 23px 0}.service-detail-page .support-item h3{font-size:19px}.service-detail-page .scope-note{display:block;padding-top:20px}.service-detail-page .scope-note p{font-size:12px}.service-detail-page .scope-note a{margin-top:12px}.service-detail-page .scenes{padding-block:56px}.service-detail-page .audience-tabs button{font-size:11px;padding:14px 11px}.service-detail-page .scene-copy h3{font-size:26px}.service-detail-page .scene-board{padding:20px 18px 8px;box-shadow:5px 5px 0 var(--tint)}.service-detail-page .board-top{font-size:14px}.service-detail-page .workflow-example li{gap:12px}.service-detail-page .workflow-example strong{font-size:13px}.service-detail-page .workflow-example small{font-size:11px}.service-detail-page .reasons{padding-block:58px}.service-detail-page .reason-list h3{font-size:19px}.service-detail-page .plan-section{padding-block:56px}.service-detail-page .plan-heading{margin-bottom:27px}.service-detail-page .price-box h3{font-size:23px}.service-detail-page .price-box dl>div{display:block;font-size:13px}.service-detail-page .price-box dd{margin-top:3px}.service-detail-page .faq{padding-block:58px}.service-detail-page .faq-title h2{font-size:27px}.service-detail-page .faq-list summary,.service-detail-page .faq-list details p{font-size:13px}.service-detail-page .contact-section{padding:46px 23px}.service-detail-page .contact-content h2{font-size:28px}.service-detail-page .contact-content .button{min-width:0;width:100%;max-width:350px;font-size:12px}.service-detail-page .contact-content>p{font-size:13px}.service-detail-page .footer-main{gap:22px}.service-detail-page .all-services{margin:0;order:3;width:100%}.service-detail-page .back-top{margin-left:auto;font-size:10px}.service-detail-page .footer-main .brand-logo{width:160px}.service-detail-page .dialog-intro{font-size:12px}}
@media(max-width:360px){.service-detail-page .site-header{padding-inline:16px;gap:10px}.service-detail-page .header-contact{font-size:9px;padding:9px 11px;gap:7px}.service-detail-page .header-contact .ui-arrow{width:16px;height:16px}.service-detail-page .audience-tabs button{padding:12px 8px;font-size:10px}.service-detail-page .audience-tabs button .ui-arrow{width:16px;height:16px}}

.service-detail-page .hero h1{font-size:min(60px,var(--headline-scale,9cqw))}
.service-detail-page .service-category{max-width:42em;text-wrap:pretty}
.service-detail-page .audience-tabs button[aria-selected=true]{background:var(--accent-ink);border-color:var(--accent-ink)}
.service-detail-page .support-top{margin-bottom:12px}
.service-detail-page .support-top>span{font-size:15px;color:var(--accent-ink)}
.service-detail-page .button-light:hover{background:var(--tint)}
.service-detail-page .dialog-close:hover{background:var(--tint)}
.service-detail-page .dialog-body h2{font-size:27px;margin-bottom:15px}
.service-detail-page .task-options label{line-height:1.65}
.service-detail-page .spotlight{padding-bottom:82px}
.service-detail-page .spotlight .section-heading>p{max-width:30em}
.service-detail-page .spotlight h2{font-size:clamp(27px,3.1vw,43px)}
.service-detail-page .spotlight-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:2px solid var(--accent-soft)}
.service-detail-page .spotlight-items li{padding-top:25px}
.service-detail-page .spotlight-items li>span{font-size:13px;color:var(--accent-ink)}
.service-detail-page .spotlight-items h3{font-size:22px;margin:12px 0}
.service-detail-page .spotlight-items p{font-size:14px;line-height:2;color:var(--muted)}
.service-detail-page .section-heading>p{max-width:28em}
.service-detail-page .intro h2 br{display:block}
@media(min-width:1250px){.service-detail-page .intro h2 br{display:none}}
@media(max-width:900px){.service-detail-page .hero h1{font-size:min(54px,var(--headline-scale,9cqw))}.service-detail-page .spotlight-items{gap:22px}}
@media(max-width:600px){.service-detail-page .hero h1{font-size:min(39px,var(--headline-scale,9cqw))}.service-detail-page .spotlight{padding-bottom:58px}.service-detail-page .spotlight-items{grid-template-columns:1fr;gap:22px}.service-detail-page .spotlight-items h3{font-size:20px;margin:8px 0}.service-detail-page .dialog-body h2{font-size:23px}.service-detail-page .spotlight h2{font-size:28px}}
.monban-page{--accent:#008178;--accent-ink:#006b63;--accent-soft:#71bfb0;--tint:#ccefe7;--theme-wash:#edf6f2;--theme-line:#b8d8d0}
.tsunagite-page{--accent:#f0a022;--accent-ink:#91570c;--accent-soft:#efbc6b;--tint:#ffebc9;--theme-wash:#faf3e8;--theme-line:#e8d4b2}
.tsukurite-page{--accent:#db3349;--accent-ink:#b92940;--accent-soft:#f2a0ab;--tint:#ffe0e2;--theme-wash:#faf0f1;--theme-line:#e9c8cd}
.hiromeyaku-page{--accent:#cc278d;--accent-ink:#a61c72;--accent-soft:#ea9dcf;--tint:#f9d9ed;--theme-wash:#fbf0f7;--theme-line:#e9c8dc}
.sodateyaku-page{--accent:#62b62d;--accent-ink:#36761b;--accent-soft:#acd485;--tint:#e2f2cd;--theme-wash:#f2f7eb;--theme-line:#cbdcba}

/* Keep the longer Monban service heading together on small screens. */
@media(max-width:600px){.monban-page #services>.section-heading h2{font-size:clamp(20px,6.4vw,28px)}}

/* Give longer service messages a full-width heading. */
:is(.tsunagite-page,.tsukurite-page) #services>.section-heading{display:block}
:is(.tsunagite-page,.tsukurite-page) #services>.section-heading>p{margin-top:18px;padding-bottom:0;max-width:none}
@media(min-width:901px){:is(.tsunagite-page,.tsukurite-page) #services>.section-heading h2 br:first-of-type{display:none}}
@media(max-width:600px){:is(.tsunagite-page,.tsukurite-page) #services>.section-heading h2{font-size:clamp(20px,6.4vw,28px)}}

/* Keep Hiromeyaku's requested line breaks legible across screen sizes. */
.hiromeyaku-page #services>.section-heading{display:block}
.hiromeyaku-page #services>.section-heading>p{margin-top:18px;padding-bottom:0;max-width:none}
@media(max-width:600px){.hiromeyaku-page #services>.section-heading h2,.hiromeyaku-page #talent-panel .scene-copy h3{font-size:clamp(18px,6vw,28px);letter-spacing:.015em}}
