/* V7: authored Japanese phrases and sentence-level paragraph boundaries. */
html[lang=ja] body{word-break:normal;overflow-wrap:normal;line-break:strict}
html[lang=ja] .page-body h1,html[lang=ja] .page-body h2,html[lang=ja] .page-body h3,html[lang=ja] .page-body h4{word-break:normal;overflow-wrap:normal;line-break:strict;text-wrap:wrap}
.text-phrase{display:inline-block;max-width:100%;word-break:normal;overflow-wrap:normal}
.copy-paragraph{display:block}.copy-paragraph+.copy-paragraph{margin-top:.65em}
.hero .copy-paragraph+.copy-paragraph{margin-top:.45em}.section-heading .editorial-paragraphs{max-width:850px}
html[lang=ja] .page-body p{word-break:normal;overflow-wrap:normal;line-break:strict;text-wrap:pretty}
.page-body a,.page-body address,.preview-panel dd{overflow-wrap:anywhere}
.header-copy h1,.page-header h1{line-height:1.6}.header-copy .hero-intro{margin-top:18px}
.business-detail,.business-detail:first-child{display:block;padding:32px 0 36px}
.business-heading{display:flex;align-items:center;gap:19px;margin-bottom:22px}.business-heading .business-index{font-size:34px;flex:none;margin:0;line-height:1.2}.business-heading h3{font-size:27px;margin:0;line-height:1.6}
.business-overview{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.business-scene{margin:0;min-width:0}.business-scene img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:2px}
.business-scene figcaption{margin-top:10px;font-size:12px;line-height:1.8;color:#526559}.business-scene figcaption span,.business-scene figcaption small{display:block}.business-scene figcaption small{font-size:9px;margin-top:5px;color:#758176}
.business-copy{min-width:0}.business-copy>p{font-size:15px;line-height:1.95;margin:0 0 20px}.business-copy .business-point{font-size:13px;padding:15px 18px;background:#f3f6ee;border:0;margin:0 0 15px}.business-copy .text-link{font-size:13px}
.business-detail>div.business-specs{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin:23px 0 0;padding:21px 24px;background:#f6f8f2;border:0;border-top:1px solid #dde6d8}
.business-specs h4{margin:0 0 13px}.business-specs .scope-list{columns:2;column-gap:26px;margin:0;font-size:13px}.business-specs .scope-list li{break-inside:avoid;margin-bottom:5px}.business-specs .process-flow{margin:0}.business-specs .process-flow li{font-size:12px;min-height:60px}
.business-specs>div{min-width:0}.business-specs .process-flow li:nth-child(odd):after{right:-17px}
@media(max-width:1199px){.business-overview,.business-detail>div.business-specs{gap:25px}.business-copy>p{font-size:14px}.business-specs .scope-list{columns:1}.business-heading h3{font-size:25px}}
@media(max-width:767px){.business-detail,.business-detail:first-child{padding:26px 0 29px}.business-overview{grid-template-columns:1fr;gap:21px}.business-heading{gap:13px;margin-bottom:18px}.business-heading h3{font-size:24px}.business-heading .business-index{font-size:29px}.business-scene{max-width:560px}.business-scene figcaption{font-size:11px}.business-scene figcaption small{font-size:9px}.business-copy>p{font-size:14px;line-height:1.95}.business-detail>div.business-specs{grid-template-columns:1fr;gap:23px;padding:20px;margin-top:20px}.business-specs .scope-list{columns:2;font-size:13px}.copy-paragraph+.copy-paragraph{margin-top:.7em}.page-header h1,.illustrated-header h1{font-size:27px}.page-body:not(.page-index) .section-heading h2{font-size:23px}}
@media(max-width:479px){.page-header h1,.illustrated-header h1{font-size:25px}.page-body:not(.page-index) .section-heading h2{font-size:22px}.business-heading h3{font-size:23px}.business-specs .scope-list{columns:1}.business-specs .process-flow li{font-size:12px}.business-detail>div.business-specs{padding:18px}.page-about #global-goals h3{font-size:14px}.hero h1{font-size:30px}}
@media(max-width:359px){.page-header h1,.illustrated-header h1{font-size:23px}.page-body:not(.page-index) .section-heading h2{font-size:21px}.hero h1{font-size:27px}.business-heading h3{font-size:21px}.site-nav .nav-link{font-size:13px}}

/* V8: one illustration family across the site; sentence endings always break. */
html[lang=ja] .page-body p{ text-wrap:wrap }
.sentence-break{display:initial}
.hero-image{object-position:center center}
.hero-shade{background:linear-gradient(90deg,rgba(19,43,35,.84) 0%,rgba(19,43,35,.58) 46%,rgba(19,43,35,.12) 100%)}
.hero-caption{background:rgba(19,43,35,.6);padding:3px 7px}
.about-illustration{padding:0;background:#f2f3e9;position:relative;min-height:0}
.about-illustration img{width:100%;height:100%;max-height:none;object-fit:cover;display:block}
.about-illustration small{position:absolute;bottom:9px;right:12px;background:#f6f7eedd;padding:2px 5px;font-size:9px}
.home-about{align-items:stretch}
.service-art{padding:0;overflow:hidden;background:#f3f4eb}
.service-art img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.service-copy{padding-top:20px}.service-icon{display:none}
.contact-guide img{aspect-ratio:1.5;object-fit:cover}
.page-header{background-image:none}
.page-art img,.business-scene img,.editorial-image img{border-radius:0}
@media(max-width:767px){
 .about-illustration img{height:auto;max-height:none;aspect-ratio:1.5}
 .hero-shade{background:linear-gradient(90deg,rgba(19,43,35,.83),rgba(19,43,35,.45))}
 .hero-image{object-position:60% center}
}
@media(max-width:479px){
 .service-item{display:block}
 .service-art img{width:100%;height:auto;aspect-ratio:1.7;max-width:100%}
 .service-copy{padding:20px}
}

/* V9: quieter home summaries; original line-drawn circular model. */
.page-index .service-item{display:block;box-shadow:none;border:1px solid #dde6dd;background:#fff}
.page-index .service-copy{padding:23px 22px}
.page-index .service-icon{display:flex;position:static;width:39px;height:39px;margin:0 0 16px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#498463}
.page-index .service-icon .line-icon{width:32px;height:32px}
.page-index .service-item h3{min-height:59px}
@media(max-width:767px){.page-index .service-item h3{min-height:0}}
@media(max-width:479px){.page-index .business-grid{gap:0}.page-index .service-item{border:0;border-top:1px solid #d7e2d8;background:transparent}.page-index .service-copy{padding:21px 0 21px 48px;position:relative}.page-index .service-icon{position:absolute;left:0;top:22px;width:30px;height:30px;margin:0}.page-index .service-icon .line-icon{width:27px;height:27px}.page-index .service-item h3{font-size:18px}.page-index .service-link{padding-top:9px}}

/* V10 trial: Hokkaido map concept, bright paper and dark green copy. */
.hero.hero-map{background:#f6f6ed;min-height:clamp(530px,41.6vw,680px);isolation:isolate;overflow:hidden}
.hero-map-visual{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-map .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;filter:none}
.hero-map .hero-content{position:relative;z-index:1;padding-block:55px;width:100%}
.hero-map h1,.hero-map h1 span{color:#244c3c}
.hero-map h1{font-size:clamp(33px,2.9vw,42px);max-width:51%;letter-spacing:0;line-height:1.65}
.hero-map .eyebrow{color:#37684e}
.hero-map .hero-intro{color:#3d574a;max-width:47%;font-size:15px}
.hero-map .hero-buttons{max-width:50%;flex-wrap:wrap}
.hero-map .btn-hero-outline{color:#28563f;border-color:#6b8c75;background:#f8f8f0b3}
.hero-map .btn-hero-outline:hover{background:#28563f;color:white;border-color:#28563f}
.hero-map .hero-caption{color:#52664e;background:#f8f8eecc;z-index:2;bottom:10px;right:20px}
html[lang=hi] .hero-map h1{font-size:40px;max-width:50%}
@media(max-width:1199px) and (min-width:992px){.hero-map h1{font-size:34px}.hero-map .hero-intro{font-size:14px}.hero-map .hero-buttons .btn{padding:12px 17px;font-size:12px}}
@media(max-width:991px){
 .hero.hero-map{display:flex;flex-direction:column;align-items:stretch;min-height:0}
 .hero-map .hero-content{order:0;padding-block:34px 12px}
 .hero-map h1,html[lang=hi] .hero-map h1{max-width:100%;font-size:34px;margin:12px 0 17px}
 .hero-map .hero-intro{max-width:660px;font-size:14px;margin-bottom:0}
 .hero-map .hero-buttons{max-width:none;margin-top:20px}
 .hero-map-visual{order:1;position:relative;inset:auto;align-self:center;width:min(100%,520px);height:auto;aspect-ratio:1.2;overflow:hidden}
 .hero-map .hero-image{inset:auto;top:0;left:-100%;width:200%;height:100%;max-width:none;object-fit:contain;object-position:center}
 .hero-map .hero-caption{bottom:7px;font-size:8px}
}
@media(max-width:479px){.hero-map h1,html[lang=hi] .hero-map h1{font-size:28px}.hero-map .hero-content{padding-top:28px}.hero-map .hero-buttons .btn{padding:11px 16px}.hero-map-visual{width:94%;margin-top:5px}}
@media(max-width:359px){.hero-map h1,html[lang=hi] .hero-map h1{font-size:25px}.hero-map .hero-buttons .btn{font-size:11px;padding:10px 13px}}

/* V12: selected paper sculpture proposal 08. */
.hero.hero-paper{background:#eeeadd}
.hero-paper .hero-image{mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent)}
.hero-paper .hero-caption{background:#eeeaddcc}
