/* V3: reference structures and measured/adapted dimensions in 設計根拠.md */
body{font-family:"Noto Sans JP",sans-serif;font-weight:400}h1,h2,h3,h4,strong,b,summary{font-weight:700}main{font-size:16px;line-height:1.8}main h2{font-size:28px;line-height:1.5;padding:0;margin:0 0 16px}main h2::after{display:none}main h3{font-size:20px;line-height:1.6}main h4{font-size:16px;line-height:1.7}main p{margin:0}main a:not(.case-link){text-underline-offset:4px}main .source a,main .author a,main .partner-list a,main .seminar-list a,main .faq-list a{text-decoration:underline}main .wrap{width:1100px}.ai-section{padding:60px 0;border-top:1px solid #dadada}.ai-section .answer{max-width:860px;margin:0 0 32px}.ai-hero{padding:24px 0 0}.crumb{font-size:14px;color:#555;margin-bottom:32px!important}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-bottom:40px}.ai-hero h1{font-size:38px;line-height:1.5;letter-spacing:0}.ai-hero h1>span{display:block;font-size:18px;margin-bottom:16px}.hero-grid .answer{margin-top:24px;max-width:540px}.bar-link{font-size:16px;font-weight:700;margin-top:24px}.answer-visual{background:#f8f8f8;padding:28px;border:1px solid #dadada}.answer-visual figcaption{font-size:14px;color:#555;margin-bottom:16px}.question-line{background:#fff;padding:16px;font-weight:700}.response-lead{margin-top:24px!important;font-size:14px}.mock-companies{list-style:none;margin-top:8px}.mock-companies li{display:grid;grid-template-columns:40px 1fr;gap:0 16px;border-bottom:1px solid #dadada;padding:12px 0;font-size:14px}.mock-companies small{grid-column:2;font-size:12px;color:#555;text-decoration:underline;text-underline-offset:3px}.missing{font-weight:700;color:#b80915;margin-top:16px!important;font-size:16px}.source{font-size:13px;line-height:1.8;color:#555;margin-top:16px!important}.page-nav{display:flex;gap:16px 32px;border-top:1px solid #dadada;padding:20px 0;font-size:14px;flex-wrap:wrap}.page-nav a{text-decoration:underline}.concern-list{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.concern-list li{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:14px}.line-icon{width:76px;height:76px;flex-shrink:0;color:#333;display:block}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.comparison>div{background:#fff;padding:24px}.comparison h3{margin-bottom:16px}.query{padding:12px 0;border-bottom:1px solid #dadada;font-size:14px}.search-links{padding:12px 0;font-size:14px;color:#23578b}.search-links p{line-height:1.8;text-decoration:underline;text-underline-offset:3px}.comparison strong{font-size:16px}.recommendations{padding:24px 0;min-height:187px}.recommendations p{padding:12px 0;border-bottom:1px solid #dadada}.comparison figcaption{grid-column:1/-1}.statistics{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.data-figure{min-width:0}.data-figure h3{font-size:16px;line-height:1.7;margin-bottom:24px;min-height:54px}.bars{display:grid;gap:16px}.bar-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px}.bar-row>span{grid-column:1}.bar-row>strong{grid-column:2;grid-row:1;font-size:20px;line-height:1.5}.bar-track{grid-column:1/-1;height:20px;border-left:1px solid #aaa;background:#eee}.bar-track i{display:block;height:100%;background:#999}.bar-track i.current{background:#d70c18}.research-note{margin-top:24px;border-top:1px solid #dadada;padding-top:16px}.research-note summary{cursor:pointer;font-size:16px}.research-note>p{margin-top:12px}.flow-duration{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #dadada}.deliverable-intro{margin:16px 0!important;font-size:14px}.service-flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:24px}.service-flow>li{padding:0 24px;border-left:1px solid #dadada;position:relative}.service-flow>li:first-child{padding-left:0;border-left:0}.service-flow>li:last-child{padding-right:0}.service-flow h3{display:flex;align-items:center;gap:16px;margin-bottom:24px}.service-flow h3 span{font-size:13px;color:#555}.service-flow>li+li::before{content:'›';position:absolute;left:-7px;top:0;background:white;font-size:24px;line-height:32px}.service-flow .line-icon{margin-bottom:16px}.service-flow h4{margin-bottom:8px}.service-flow>li>p{font-size:14px}.deliverables{margin-top:24px;border-top:1px solid #dadada;padding-top:16px;font-size:14px}.deliverables>p{font-weight:700;margin-bottom:8px}.deliverables ul{list-style:disc;padding-left:1.2em}.deliverables li+li{margin-top:8px}.reason-list article{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:24px 0;border-bottom:1px solid #dadada;align-items:center}.reason-list article:first-child{padding-top:0}.reason-list h3{margin-bottom:8px}.reason-list p{font-size:14px}.mini-flow{display:flex;align-items:center;gap:24px}.mini-flow>span{position:relative;flex:1;text-align:center;font-size:14px;border-bottom:1px solid #aaa;padding:12px 0}.mini-flow>span+span::before{content:'›';position:absolute;left:-17px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:400}.research-example{max-width:960px}.subheading{margin:40px 0 16px!important;font-size:20px}.investigation{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}.investigation article{display:flex;gap:24px}.investigation h4{margin-bottom:8px}.investigation p{font-size:14px}.investigation .mini-flow{margin-top:8px}.investigation .mini-flow span{font-size:13px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.result-grid .data-figure{padding-top:24px}.result-grid .bar-row strong{font-size:28px}.result-grid .bar-track{height:32px}.result-grid .bars{gap:24px}.case-link{display:block}.case-link img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top}.case-link>span{display:block;font-size:13px;margin-top:16px}.case-link h3{font-size:18px;line-height:1.6;margin:8px 0}.case-link p{font-size:14px}.case-link .read-more{font-size:16px;text-decoration:underline;text-align:right}.partner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.partner-list h4{font-size:16px;margin-bottom:8px}.partner-list p{font-size:14px}.seminar-common{font-size:14px;margin:16px 0!important}.seminar-list>li{display:grid;grid-template-columns:160px 1fr;gap:24px;border-top:1px solid #dadada;padding:24px 0}.seminar-date{font-size:14px}.seminar-date .cat{display:block;margin-top:8px}.seminar-subtitle{display:block;font-weight:400}.seminar-speakers{font-size:14px;margin:8px 0!important}.text-link{font-size:14px}.faq-intro{max-width:560px;margin-bottom:24px}.faq-list details{border-top:1px solid #dadada}.faq-list details:last-child{border-bottom:1px solid #dadada}.faq-list summary{padding:24px 32px 24px 0;cursor:pointer;position:relative;list-style:none;font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:0;top:24px;font-size:20px;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details>div{padding:0 32px 24px 0;font-size:16px}.faq-list details a{display:inline-block;margin-top:8px;font-size:14px}.consult-line{display:flex;align-items:center;gap:32px}.consult-line .bar-link{margin:0}.author{font-size:14px;margin-top:32px!important}.soft{background:#f8f8f8}summary:focus-visible{outline:2px solid #000;outline-offset:4px}
@media(max-width:767px){main{font-size:16px;line-height:1.8}main .wrap{max-width:calc(100% - 48px)}.ai-section{padding:40px 0}main h2{font-size:24px;line-height:1.6}.ai-section .answer{margin-bottom:24px}.ai-hero{padding-top:20px}.crumb{margin-bottom:24px!important;font-size:13px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-bottom:24px}.ai-hero h1{font-size:28px;line-height:1.55}.ai-hero h1>span{font-size:16px;margin-bottom:12px}.pc{display:none}.hero-grid .answer{margin-top:16px}.answer-visual{padding:20px}.question-line{padding:12px;font-size:16px}.mock-companies li{gap:0 8px}.missing{font-size:15px}.source{font-size:13px}.page-nav{gap:12px 24px}.concern-list{grid-template-columns:1fr;gap:16px}.concern-list li{flex-direction:row;align-items:center;gap:24px;font-size:16px}.concern-list br{display:none}.line-icon{width:60px;height:60px}.comparison{grid-template-columns:1fr;gap:24px}.comparison>div{padding:20px}.comparison strong{font-size:16px}.recommendations{min-height:0;padding:16px 0}.statistics{grid-template-columns:1fr;gap:32px;margin-top:32px}.data-figure h3{min-height:0;margin-bottom:16px}.bar-row>strong{font-size:22px}.flow-duration{display:block}.flow-duration strong{display:block;margin-top:8px}.service-flow{grid-template-columns:1fr;gap:32px}.service-flow>li,.service-flow>li:first-child,.service-flow>li:last-child{padding:24px 0 0;border-left:0;border-top:1px solid #dadada;display:grid;grid-template-columns:60px 1fr;gap:0 24px}.service-flow h3{grid-column:1/-1;margin-bottom:20px}.service-flow .line-icon{grid-column:1;grid-row:2/4;margin:0}.service-flow h4,.service-flow>li>p{grid-column:2}.service-flow>li>p{font-size:15px}.service-flow>li+li::before{content:'⌄';left:50%;top:-20px;line-height:28px}.deliverables{grid-column:1/-1;margin-top:20px;padding-top:16px;font-size:14px}.reason-list article{grid-template-columns:1fr;gap:16px;padding:24px 0}.reason-list h3{font-size:20px}.reason-list p{font-size:16px}.mini-flow{gap:20px}.mini-flow>span{font-size:14px}.mini-flow>span+span::before{left:-14px}.subheading{margin-top:32px!important}.investigation{grid-template-columns:1fr;gap:32px}.investigation article{gap:20px}.investigation p{font-size:15px}.investigation .mini-flow{margin-left:-80px;margin-top:16px}.result-grid{grid-template-columns:1fr;gap:32px}.result-grid .data-figure{padding-top:0}.result-grid .bar-row strong{font-size:28px}.partner-list{grid-template-columns:1fr;gap:24px}.partner-list p{font-size:15px}.seminar-list>li{grid-template-columns:1fr;gap:12px}.seminar-date br{display:none}.seminar-date .cat{display:inline;margin-left:12px}.seminar-list h4{font-size:16px}.faq-intro .mini-flow{gap:16px}.faq-intro .mini-flow span{font-size:14px}.consult-line{gap:24px}.consult-line .line-icon{width:48px;height:48px}.consult-line .bar-link{font-size:16px}.author{font-size:14px}}

/* V4: explanatory drawings; reference mapping in 設計根拠.md */
main p,main li{ text-wrap:pretty }main h2,main h3,main h4{ text-wrap:balance }
.ai-section .answer{max-width:52em}.missing{color:#d70c18}
.explain-diagram{display:block;width:100%;height:auto;max-width:400px;margin:0 auto;color:#333;overflow:visible}
.explain-diagram path,.explain-diagram rect{fill:none;stroke:#777;stroke-width:1;vector-effect:non-scaling-stroke}
.explain-diagram text{fill:#222;font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:400;stroke:none}
.explain-diagram .note{font-size:13px}.explain-diagram .bold{font-weight:700}.explain-diagram .red{fill:#d70c18}.explain-diagram .pale-fill{fill:#f5f5f5;stroke:#aaa}.explain-diagram .gray-fill{fill:#999;stroke:none}.explain-diagram .red-fill{fill:#d70c18;stroke:none}
.comparison{gap:0 40px}.comparison>div{padding:24px 28px;border-top:1px solid #aaa;display:flex;flex-direction:column}.comparison>div:last-of-type{border-color:#d70c18}.search-links{color:#555;padding:16px 0;display:grid;gap:5px}.search-links p{font-size:14px}.comparison>div>strong{margin-top:auto;padding-top:20px}.recommendations{padding:16px 0 0;min-height:0}.recommendations p{font-size:15px;padding:14px 0}.recommendations .response-opening{border:0;padding:0 0 8px}.recommendations .company-absence{display:grid;grid-template-columns:28px 1fr;gap:0 8px;border:1px solid #d70c18;padding:14px;margin-top:18px;color:#d70c18}.company-absence>span{font-size:26px;line-height:1.2}.company-absence small{grid-column:2;color:#555;font-size:13px}.comparison figcaption{margin-top:12px!important}
.flow-duration{display:flex;align-items:center;gap:20px;border:0;padding:10px 0 26px;font-size:14px}.flow-duration>span:first-child{font-size:20px;font-weight:700;white-space:nowrap}.duration-rule{flex:1;height:1px;background:#d70c18;position:relative}.duration-rule::before,.duration-rule::after{content:'';position:absolute;height:9px;width:1px;background:#d70c18;top:-4px}.duration-rule::after{right:0}
.service-flow{gap:40px;margin-top:0}.service-flow>li,.service-flow>li:first-child,.service-flow>li:last-child{padding:0;border:0;display:flex;flex-direction:column;min-width:0}.service-flow h3{gap:16px;margin:0 0 16px}.service-flow h3 span{font-size:36px;color:#d70c18;line-height:1.2}.service-flow .explain-diagram{margin:0 0 24px;background:#fafafa}.service-flow>li+li::before{content:'';width:12px;height:12px;border-top:1px solid #777;border-right:1px solid #777;transform:rotate(45deg);top:142px;left:-28px;background:none}.service-flow h4{font-size:17px}.service-flow>li>p{font-size:15px}.deliverables{margin-top:24px;font-size:14px}.deliverable-intro{margin:24px 0 0!important;padding-top:16px;border-top:1px solid #dadada}
.reason-list article{grid-template-columns:1fr 420px;gap:72px;padding:28px 0}.reason-list article:first-child{padding-top:8px}.reason-list p{font-size:16px;max-width:32em}.reason-list .explain-diagram{max-width:360px}.investigation{gap:32px 48px}.investigation article{display:flex;flex-direction:column;gap:20px;padding-top:24px;border-top:1px solid #dadada;min-width:0}.investigation article>div{min-height:104px}.investigation h4{font-size:18px}.investigation p{font-size:16px;max-width:30em}.investigation .explain-diagram{max-width:360px}
.partner-list{gap:0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;margin-top:20px}.partner-list>li{padding:20px 24px;display:flex;flex-direction:column}.partner-list>li:first-child{padding-left:0}.partner-list>li:last-child{padding-right:0}.partner-list>li+li{border-left:1px solid #dadada}.partner-list .partner-role{color:#555;margin:0 0 12px;font-size:14px}.partner-list .explain-diagram{margin-top:auto;padding-top:16px}.industry-diagram{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;gap:0 24px;text-align:center;font-size:15px}.industry-diagram>span{padding:12px 0 28px;border-bottom:1px solid #aaa;position:relative}.industry-diagram>span::after{content:'';width:1px;height:15px;background:#aaa;position:absolute;bottom:0;left:50%}.industry-diagram strong{grid-column:1/-1;padding:28px 0 0;position:relative}.industry-diagram strong::before{content:'↓';position:absolute;top:0;left:calc(50% - 8px);font-weight:400;color:#d70c18}
.seminar-timeline{padding-left:28px;border-left:1px solid #aaa;margin-top:24px}.seminar-timeline>li{position:relative}.seminar-timeline>li::before{content:'';position:absolute;left:-33px;top:32px;width:9px;height:9px;background:#d70c18}.seminar-date time{font-size:16px;font-weight:700}.faq-reading{display:flex;align-items:center;gap:14px;font-size:14px;padding:16px 0;border-bottom:1px solid #dadada}.faq-letter{font-size:24px;font-weight:700;color:#d70c18}
@media(max-width:767px){.comparison{gap:24px}.comparison>div{padding:20px}.comparison .search-links{gap:4px}.recommendations p{font-size:15px}.flow-duration{flex-wrap:wrap;gap:12px;padding-bottom:24px}.flow-duration>span:first-child{font-size:20px}.flow-duration>span:last-child{width:100%;font-size:14px}.service-flow{gap:44px}.service-flow>li,.service-flow>li:first-child,.service-flow>li:last-child{padding:0;display:flex;border:0}.service-flow h3{margin-bottom:16px}.service-flow .explain-diagram{width:100%;margin-bottom:20px}.service-flow>li+li::before{top:-30px;left:calc(50% - 6px);transform:rotate(135deg)}.service-flow h4{font-size:18px}.service-flow>li>p{font-size:16px}.reason-list article{grid-template-columns:1fr;gap:24px;padding:28px 0}.reason-list .explain-diagram{max-width:342px}.investigation{gap:28px}.investigation article{gap:20px}.investigation article>div{min-height:0}.investigation p{font-size:16px}.partner-list{grid-template-columns:1fr}.partner-list>li,.partner-list>li:first-child,.partner-list>li:last-child{padding:24px 0}.partner-list>li+li{border-left:0;border-top:1px solid #dadada}.partner-list h4{font-size:17px}.partner-list .explain-diagram{max-width:342px;margin:12px 0 0;padding:0}.industry-diagram{grid-template-columns:1fr 1fr;gap:0 16px;font-size:14px}.industry-diagram>span{padding:12px 0 20px}.seminar-timeline{padding-left:20px}.seminar-timeline>li::before{left:-25px}.seminar-date .cat{display:block;margin-left:0}.faq-reading{gap:10px;flex-wrap:wrap;font-size:13px}.explain-diagram .note{font-size:13px}}
.keep-ending{white-space:nowrap}.heading-phrase{display:inline-block}.heading-phrase+.heading-phrase{margin-left:.3em}
@media(max-width:767px){.ai-hero h1 .pc{display:block}.heading-phrase{display:block}.heading-phrase+.heading-phrase{margin-left:0}main h2{letter-spacing:0}.faq-list summary{text-wrap:balance}.hero-grid .answer{max-width:21em}}
.concern-list p{text-wrap:balance}

.advisory{margin-top:48px}.advisory ul{list-style:disc;padding-left:1.2em;margin-top:16px;font-size:14px}.advisory li+li{margin-top:8px}

.partner-list{grid-template-columns:repeat(2,1fr);max-width:1100px;margin-left:auto;margin-right:auto}
.partner-list>li,.partner-list>li:first-child,.partner-list>li:last-child{padding:32px 40px;align-items:stretch}
.partner-list h4{text-align:center;font-size:18px;margin-bottom:16px}
.partner-list .pair{display:flex;justify-content:center;align-items:center;gap:16px;margin:0 0 20px;padding:14px 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;font-size:16px;line-height:1.5;text-align:center}
.partner-list .pair strong{font-weight:700}
.partner-list .pair span{color:#d70c18;font-weight:700;font-size:20px;line-height:1}
.partner-list>li>p:not(.pair){max-width:none;font-size:14px}
@media(max-width:767px){.partner-list{grid-template-columns:1fr}.partner-list>li,.partner-list>li:first-child,.partner-list>li:last-child{padding:28px 0}.partner-list .pair{flex-wrap:wrap;gap:8px 12px;font-size:15px}.partner-list>li>p:not(.pair){font-size:15px}}

.partner-list>li>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 0 24px}
.partner-people{margin:16px 0 0;font-size:14px;line-height:1.7}
.partner-people>div{display:flex;gap:16px;padding:8px 0;border-top:1px solid #dadada}
.partner-people dt{flex:0 0 190px;color:#555}
.partner-people dd{margin:0;font-weight:700}
.partner-list .text-link{display:inline-block;margin-top:auto;padding-top:20px;align-self:flex-start;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.partner-people+.text-link{padding-top:20px}
@media(max-width:767px){.partner-people dt{flex-basis:170px}.partner-list>li>img{margin-bottom:20px}}
