/* One type system; intentional phrase boundaries for compact screens. */
@font-face{font-family:KK Sans;src:url('/assets/kk-sans-jp.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}
:root{--type-jp:'KK Sans','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--type-en:Arial,'Helvetica Neue',sans-serif}
body{font-family:var(--type-jp);font-weight:400;letter-spacing:.025em;line-height:1.9}
.header .brand strong{font-family:var(--type-jp);font-weight:700;letter-spacing:-.035em}
.header .brand strong span{font-weight:400;letter-spacing:-.03em}
h1,h2,h3,strong{font-weight:700}
p{line-break:strict;word-break:normal;overflow-wrap:break-word}
.phrase{display:inline-block;max-width:100%;vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:break-word}
.home-page .about-copy .about-intro{font-size:1.0625rem;font-weight:500;line-height:2}
.home-page .about-copy p,.home-page .chapter-description,.home-page .service p.service-copy,.home-page .works-feature-copy,.home-page .recruit-content>p{line-height:1.95;letter-spacing:.025em}
.home-page .chapter-label{font-family:var(--type-en);letter-spacing:-.04em;font-weight:400}
.home-page .chapter-title{letter-spacing:.04em}
.home-page .service .english,.home-page .field-caption>span,.english,.works-year-heading>p{font-size:.75rem}
.home-page .chapter-description{max-width:30em}
.home-page .business-photo img{inset:0}
.home-page .contact-card>strong{font-size:1.5rem}
.home-page .contact-card .phrase{display:inline-block}
.company-table dd{line-height:1.85}
.phone,.works-period,.works-year-heading h2>span,.featured-projects time{font-variant-numeric:tabular-nums}
.service-hero h1{letter-spacing:.025em;font-weight:700}
.service-hero-copy,.detail-content p,.faq-list p{max-width:40em}
.detail-content p,.consultation-steps p,.faq-list p{letter-spacing:.025em;line-height:2}
.detail-content .detail-lead{font-weight:500}
.detail-label>span{font-weight:400;color:#1b82b4}
.detail-check{background:#f5f7f8;border-left-width:2px}
.consultation-steps li{border-top:1px solid #a8becb}
.service-company,.service-hero,.works-hero{background:#f0f6fa}
.works-year-heading h2>span{font-weight:400}
.works-contact{background:#102f49}
.works-entry h3{letter-spacing:.025em}
.home-page .button,.button,.text-link,.header nav{font-weight:600}
@media(max-width:760px){
 .home-page .chapter-label{line-height:1.12}
 .home-page .about-statement{font-size:clamp(1.375rem,6.4vw,1.75rem);font-weight:600;line-height:1.75}
 .home-page .recruit-statement{font-weight:600;line-height:1.7}
 .home-page .service h3{font-size:1.375rem;letter-spacing:.025em}
 .home-page .about-copy p,.home-page .about-copy .about-intro{font-size:1rem;line-height:1.95;letter-spacing:.025em}
 .home-page .field p{font-size:.875rem;line-height:1.8}
 .home-page .recruit-lead{font-size:1.125rem;line-height:1.8}
 .home-page .recruit .recruit-note{font-size:.8125rem;line-height:1.85}
 .detail-content h2{line-height:1.6}
 .works-entry h3{font-size:1.125rem;line-height:1.8}
 .works-entry>p{font-size:1rem}
 .works-contact h2{font-weight:600}
 .email-block{overflow-wrap:anywhere}
}
@media(max-width:600px){
 .home-page .hero h1{font-size:clamp(2rem,9.7vw,3.15rem);letter-spacing:.01em;line-height:1.48}
 .home-page .eyebrow{font-size:.75rem;letter-spacing:.07em}
 .home-page .hero-bottom{font-size:.75rem;letter-spacing:.025em;gap:12px}
 .home-page .hero-bottom a{gap:8px}
 .home-page .chapter-title,.home-page .about .chapter-title,.home-page .contact .chapter-title{font-size:1.25rem}
 .home-page .business-photo figcaption{font-size:.75rem;padding:8px 12px}
 .home-page .service p.service-copy{font-size:1rem;line-height:1.95}
 .home-page .service,.home-page .service+.service{padding-block:28px}
 .home-page .chapter-description .phrase,.home-page .works-feature-copy .phrase{vertical-align:top}
 .home-page .works-feature-copy{margin-top:22px}
 .home-page .company-caption{font-size:1rem}
 .service-hero h1{font-size:clamp(1.5rem,7.4vw,2.625rem);line-height:1.55}
 .consultation>h2{font-size:1.625rem;line-height:1.65}
 .service-company h2{font-size:clamp(1.25rem,5.7vw,1.875rem)}
 .works-summary{flex-wrap:wrap;gap:12px 20px}
 .works-jump>a{padding-inline:10px}
 .footer>small{font-size:.75rem}
}
@media(max-width:360px){
 .home-page .hero-bottom{font-size:.75rem}
 .header{padding-inline:12px;gap:8px}
 .header .brand{gap:7px;min-width:0;flex-shrink:1}
 .header .brand img{width:30px;height:30px}
 .header .brand strong{font-size:.9375rem}
 .home-page .field-grid{gap:24px 12px}
 .home-page .field h3{font-size:1rem}
}
