/* Shared viewport contract: content stays readable; only outer space grows.
   This file owns the desktop canvas and the mobile reading layout. */
.mobile-reading-break {display:none;}
@media (min-width:1180px) {
  .top-page .hero {min-height:900px; padding:230px 5vw 180px; display:block;}
  .top-page .hero-inner {width:min(1480px,100%); min-height:0; margin:auto; transform:none; display:block;}
  .top-page .hero-copy {width:610px; max-width:610px; margin-top:0; padding-top:0; transform:none;}
  .top-page .hero h1 {font-size:72px; line-height:1.12;}
  .top-page .hero .lead {font-size:19.44px;}
  .ae-hero {min-height:900px; padding:230px 5vw 180px;}
  .ae-hero__copy {left:0; width:610px; max-width:610px;}
  .ae-hero h1 {font-size:52px;}
  .ae-hero .ae-hero__lead {font-size:19.44px;}
  .ae-hero__mark {width: min(43vw,730px); right:max(5vw,calc((100vw - 1480px)/2)); top:450px;}
}
.ae-hero__grain {background-size:cover;}
@media (min-width:721px) {
  .why-viewport {position:relative; width:100%; aspect-ratio:760 / 650; align-self:center;}
  body.home .why-viewport .why-scene {position:absolute; width:672px; height:600px; min-height:0; margin:0; left:0; top:0; transform:scale(var(--why-scale, .8)); transform-origin:0 0;}
  body.home .why-sheet--ceo {--why-sheet-w:330px; --why-sheet-h:190px;}
  body.home .why-sheet--recruit {--why-sheet-w:272px; --why-sheet-h:156px;}
  body.home .why-sheet--pr {--why-sheet-w:226px; --why-sheet-h:126px;}
  body.home .why-sheet--internal {--why-sheet-w:270px; --why-sheet-h:148px;}
  body.home .why-ring {width:610px; height:370px;}
  body.home .why-stage::before {width:360px; height:220px;}
  body.home .why-scene-center {font-size:24px;}
}

/* Mobile is a reading sequence, not a scaled-down desktop composition. */
@media (max-width:380px) {
  body.home .top-page #service .service-card {display:block;}
  body.home .top-page #service .service-card > img {width:100%; height:88px; min-height:0;}
}
@media (max-width:720px) {
  .mobile-reading-break {display:initial;}
  .top-page .hero {min-height:720px; padding:144px 22px 130px; display:block;}
  .top-page .problem-heading .section-number,
  .top-page .why-heading .section-number {font-size:12px!important;}
  .top-page #service .service-card {display:grid; grid-template-columns:88px minmax(0,1fr); align-items:stretch; min-height:0;}
  .top-page #service .service-card > img {width:88px; height:100%; min-height:150px; object-fit:cover;}
  .top-page #service .service-card-body {padding:18px 16px;}
  .top-page #service .service-card h3 {font-size:19px; line-height:1.5; text-wrap:balance;}
  .top-page #service .service-card p {font-size:16px; line-height:1.8;}
  .top-page #service .service-card p br {display:none;}
  .mon-sub-section[aria-labelledby="contact-detail-title"] {padding-top:32px; padding-bottom:32px;}
  .mon-sub-section[aria-labelledby="contact-detail-title"] .mon-sub-card-grid {display:block;}
  .mon-sub-section[aria-labelledby="contact-detail-title"] .mon-sub-card {min-height:0; padding:18px 0; background:none; border:0; border-bottom:1px solid rgba(190,159,81,.24);}
  .mon-sub-section[aria-labelledby="contact-detail-title"] .mon-sub-card__visual,
  .mon-sub-section[aria-labelledby="contact-detail-title"] .mon-sub-card > span {display:none;}
  .top-page .hero-inner {width:100%; min-height:0; transform:none; display:block;}
  .top-page .hero-copy {width:100%; max-width:none; margin:0; padding:0; transform:none;}
  .top-page .hero .actions {display:grid; grid-template-columns:1fr; gap:12px; margin-top:24px;}
  .top-page .hero .actions .button {width:100%; min-height:52px; font-size:16px;}
  .ae-hero {min-height:720px; padding:180px 22px 130px;}
  .ae-hero__mark {width:120px; top:72px; right:22px;}
  .ae-hero__actions {max-width:none;}
  .ae-hero__actions a {min-height:52px; font-size:16px;}
  .lower-lead,.hero-lead,.lower-section-lead,.section-lead,.mon-sub-lead,.mon-page-hero__lead {text-align:left; max-width:100%;}
  .copy p,.mission-copy p,.lower-main p,.mon-subpage p {overflow-wrap:anywhere;}
  .copy p,.mission-copy p {line-height:1.85;}
  .mission-copy p + p {margin-top:1.4em;}
  .top-page .philosophy-copy h2,.mission-layout h2 {font-size:clamp(25px,7vw,32px); line-height:1.5; letter-spacing:.02em;}
  .reading-chunk {display:block; margin-top:1em;}
  .mon-contact-form input,.mon-contact-form textarea,.lower-main input,.lower-main textarea {font-size:16px;}
  .mon-works-filter button {min-height:44px; font-size:13px;}
  .business-phrase,.ae-process-phrase {max-width:100%;}

  body.home .why-scene {width:100%; min-height:0; height:auto; margin:28px 0 0; padding:0; transform:none; perspective:none;}
  body.home .why-stage {position:relative; inset:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; transform:none;}
  body.home .why-sheet,
  body.home .why-scene.is-visible .why-sheet {position:relative; inset:auto; width:100%; height:auto; min-height:104px; margin:0; transform:none!important; animation:none; opacity:1; filter:none; box-shadow:none;}
  body.home .why-sheet-inner {padding:18px 10px;}
  body.home .why-sheet-title {font-size:14px; line-height:1.6; white-space:normal;}
  body.home .why-sheet-sub {font-size:12px; line-height:1.6; white-space:normal;}
  body.home .why-scene-center,
  body.home .why-scene.is-visible .why-scene-center {display:block!important; grid-column:1 / -1; position:static; width:auto; margin:10px 0 0; font-size:17px; line-height:1.7; color:#fff; transform:none; animation:none; opacity:1; text-align:center;}
  body.home .why-axis,body.home .why-ring,body.home .why-connectors,
  body.home .why-stage::before,body.home .why-stage::after,
  body.home .why-scene::before,body.home .why-scene-center::before,body.home .why-scene-center::after,
  body.home .why-sheet::before,body.home .why-sheet::after {display:none;}
}


/* Fukumi quotation and unified typography */
body.postid-1385 .single-case-page .case-single__content,body.postid-1385 .single-case-page .case-single__content p,body.postid-1385 .single-case-page .case-single__content h2,body.postid-1385 .single-case-page .case-single__content a,body.postid-1385 .single-case-page .case-single__title{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Noto Serif JP",serif!important}
body.postid-1385 .single-case-page .case-single__content blockquote{position:relative;margin:40px 0!important;padding:38px 36px!important;background:#f5f2eb;border:0;border-top:1px solid #b5a071;border-bottom:1px solid #b5a071;text-align:left;font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif!important;font-size:24px;font-weight:500;line-height:1.9;letter-spacing:.025em}
body.postid-1385 .single-case-page .case-single__content blockquote::before{content:"“";display:block;position:static;font-family:"Yu Mincho",YuMincho,serif;font-size:44px;line-height:.7;color:#9e8550;margin-bottom:12px}
body.postid-1385 .single-case-page .case-single__content blockquote p{margin:0!important;line-height:1.9!important}
@media(max-width:600px){body.postid-1385 .single-case-page .case-single__content blockquote{padding:28px 22px!important;font-size:20px;line-height:1.9}body.postid-1385 .single-case-page .case-single__content blockquote::before{font-size:36px}}

/* Secondary quotations follow the text, with a compact inset. */
body.postid-1385 .single-case-page .case-single__content blockquote ~ blockquote{height:auto;min-height:0;margin:28px 0!important;padding:10px 0 10px 24px!important;background:transparent;border:0;border-left:2px solid #b5a071;font-size:21px;line-height:1.9}
body.postid-1385 .single-case-page .case-single__content blockquote ~ blockquote::before{content:none;display:none}
@media(max-width:600px){body.postid-1385 .single-case-page .case-single__content blockquote ~ blockquote{padding:8px 0 8px 18px!important;font-size:19px}}

/* Fukumi reading hierarchy and consultation interaction */
body.postid-1385 .fukumi-overview{margin:32px 0;padding:8px 24px;border-left:3px solid #b5a071;background:#f1eee6}
body.postid-1385 .fukumi-overview dl{margin:0}
body.postid-1385 .fukumi-overview dl>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid #ded8c9}
body.postid-1385 .fukumi-overview dl>div:last-child{border-bottom:0}
body.postid-1385 .fukumi-overview dt{font-size:14px;font-weight:600;color:#665635}
body.postid-1385 .fukumi-overview dd{margin:0;font-size:16px;line-height:1.9}
body.postid-1385 .fukumi-toc{margin:32px 0 48px;padding:24px 28px;border:1px solid #d7cfbd}
body.postid-1385 .fukumi-toc__label{font-size:16px;font-weight:600;letter-spacing:.08em}
body.postid-1385 .fukumi-toc ol{margin:14px 0 0;padding-left:24px}
body.postid-1385 .fukumi-toc li{padding:4px 0;font-size:16px;line-height:1.8}
body.postid-1385 .fukumi-toc li::marker{color:#8b754a}
body.postid-1385 .fukumi-toc a{display:inline-block;padding:4px 0;text-decoration:none;border-bottom:1px solid transparent}
body.postid-1385 .fukumi-toc a:hover{border-color:#8b754a;color:#665635}
body.postid-1385 .case-single__content h2[id]{scroll-margin-top:130px}
body.postid-1385 .fukumi-key{font-weight:600;background:linear-gradient(transparent 72%,#e8dfca 72%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
body.postid-1385 .fukumi-consult-button{box-shadow:0 4px 0 #171612,0 7px 15px #29272220;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
@media(hover:hover){body.postid-1385 .fukumi-consult-button:hover{background:#514730!important;transform:translateY(-3px);box-shadow:0 5px 0 #30291c,0 12px 22px #29272230}}
body.postid-1385 .fukumi-consult-button:focus-visible{outline:2px solid #947a43;outline-offset:5px;background:#514730!important}
body.postid-1385 .fukumi-consult-button:active{transform:translateY(1px);box-shadow:0 1px 0 #171612}
@media(max-width:600px){body.postid-1385 .fukumi-overview{padding:8px 18px}body.postid-1385 .fukumi-overview dl>div{grid-template-columns:1fr;gap:3px}body.postid-1385 .fukumi-toc{padding:20px}body.postid-1385 .fukumi-toc li{font-size:15px}}
@media(prefers-reduced-motion:reduce){body.postid-1385 .fukumi-consult-button{transition:none;transform:none!important}}
