/* CF7 retains its own fields, validation and submission; layout follows the accepted design. */
#a403 .regional-common .sc-case-studies__controls { display: none !important; }
#a403 .regional-common .sc-case-studies__rail { overflow: auto hidden !important; }
#a403 .regional-common .sc-case-studies__track { transform: none !important; }
#a403 .regional-common #contact .compact-consult > .lpc-field { grid-column: 1 / -1; }
#a403 .regional-common #contact .compact-consult > .lpc-field:has([name="company"]) { grid-column: 1; grid-row: 1; }
#a403 .regional-common #contact .compact-consult > .lpc-field:has([name="your-name"]) { grid-column: 2; grid-row: 1; }
#a403 .regional-common #contact .compact-consult > .lpc-field:has([name="your-email"]) { grid-row: 2; }
#a403 .regional-common #contact .compact-consult > .lpc-field:has([name="your-message"]) { grid-row: 3; }
#a403 .regional-common #contact .compact-consult > .lpc-submit { grid-row: 4; }
#a403 .regional-common #contact .compact-consult > .wpcf7-response-output { grid-column: 1 / -1; }
#a403 .regional-common #contact .compact-consult :is(input:not([type="hidden"]),textarea) { width: 100%; box-sizing: border-box; }
#a403 .regional-common #contact .compact-consult input[type="submit"] { cursor: pointer; }
#a403 .regional-common #contact .lpc-form::before { display: none; }
#a403 .regional-common #contact .lpc-field { padding: 0; }
#a403 .regional-common #contact .lpc-field::after,
#a403 .regional-common #contact .lpc-submit::before,
#a403 .regional-common #contact .lpc-submit::after,
#a403 .regional-common #contact .compact-consult::after { display: none; }
#a403 .regional-common #contact label { font-weight: 400; color: #25466c; }
#a403 .regional-common #contact .compact-consult :is(input:not([type="hidden"]):not([type="submit"]),textarea) {
  border: 1px solid #8c9fb9; border-radius: 2px; padding: 7px 12px;
  background: #fff; color: #25466c; font-weight: 400; box-shadow: none;
}
/* Match /mie/ content gutters. Padding keeps text/cards away from the viewport
   even when the existing theme resets container widths or horizontal margins. */
body.sampo-mie-lp-page #a403 .regional-common :is(.ad-wrap,.study-wrap,.sampo-front-page .sc-container,.regional-common-frame .a403-wrap,.home2026 .process),
body.sampo-mie-lp-page #a403 .regional-common #contact .a403-form-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 1280px; /* 1200px content + 40px on either side. */
  margin-inline: auto;
  padding-inline: 40px;
}
body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__rail {
  margin-inline: 0;
  padding-inline: 2px;
  scroll-padding-inline: 2px;
}
@media(min-width:981px) {
  /* Fill the same visible content span as /mie/: fixed 300px cards left a
     large empty strip on the right, despite a centered outer container. */
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    padding-inline: 0;
  }
  /* Keep the previously requested inward button position. */
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__head {
    width: min(100%,950px);
    margin-right: auto;
  }
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__head > :first-child {
    min-width: 0;
  }
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__btns {
    flex-shrink: 0;
  }
}
@media(max-width:980px) {
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__head {
    align-items: stretch;
  }
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__btns {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__btns .sc-btn {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    white-space: normal;
  }
}
@media(max-width:760px) {
  body.sampo-mie-lp-page #a403 .regional-common :is(.ad-wrap,.study-wrap,.sampo-front-page .sc-container,.regional-common-frame .a403-wrap,.home2026 .process),
  body.sampo-mie-lp-page #a403 .regional-common #contact .a403-form-wrap {
    padding-inline: 20px;
  }
  body.sampo-mie-lp-page #a403 .regional-common .sc-case-studies__rail {
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: 100% !important;
  }
}
#a403 .regional-common #contact .compact-consult ::placeholder { color: #888; font-weight: 400; opacity: 1; }
#a403 .regional-common #contact .screen-reader-response { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#a403 .regional-common .faq-list summary::-webkit-details-marker { display: none; }
#a403 .regional-common .faq-list summary span { font-size: 0; }
#a403 .regional-common .faq-list summary span::after { content: '＋'; font-size: 20px; }
#a403 .regional-common .faq-list details[open] summary span::after { content: '−'; }
@media(max-width:760px) {
  #a403 .regional-common #contact .compact-consult > .lpc-field:has([name]) { grid-column: 1 !important; grid-row: auto; }
  #a403 .regional-common #contact .compact-consult > .lpc-field:has([name="company"]) { order: 1; }
  #a403 .regional-common #contact .compact-consult > .lpc-field:has([name="your-name"]) { order: 2; }
  #a403 .regional-common #contact .compact-consult > .lpc-field:has([name="your-email"]) { order: 3; }
  #a403 .regional-common #contact .compact-consult > .lpc-field:has([name="your-message"]) { order: 4; }
  #a403 .regional-common #contact .compact-consult > .lpc-submit { grid-row: auto; order: 5; }
  #a403 .regional-common #contact .compact-consult > .wpcf7-response-output { order: 6; }
}
/* Team reference replacement: 2026-11-12. */

#a403 .regional-common #taisei { color: #113b60; }
#a403 .regional-common #taisei :is(h2,h3,h4,p,li) { color: #113b60; font-family: 'Noto Sans JP','Yu Gothic',Meiryo,sans-serif; }
#a403 .regional-common #taisei :is(h2,h3) { font-weight: 700; }
#a403 .regional-common #taisei .ad-roles { grid-template-columns: repeat(3,minmax(0,1fr)); }
#a403 .regional-common #taisei .ad-roles article { min-width: 0; }
#a403 .regional-common #taisei .ad-follow { grid-template-columns: 250px minmax(0,1fr); gap: 20px; }
#a403 .regional-common #taisei .ad-follow p { padding-left: 38px; }
#a403 .regional-common #taisei .ad-concerns { background: #e5f5fd; padding-block: 30px 28px; }
#a403 .regional-common #taisei .ad-pairs article { grid-template-columns: 100px minmax(0,1.04fr) 40px minmax(0,1fr); gap: 20px; padding: 3px 18px; min-height: 90px; }
#a403 .regional-common #taisei .ad-worry-face { display: block; position: relative; overflow: hidden; width: 92px; height: 84px; justify-self: center; }
#a403 .regional-common #taisei .ad-worry-face img { display: block; position: absolute; top: 0; left: -72%; width: 1402%; max-width: none; height: auto; }
#a403 .regional-common #taisei .ad-worry-face--1 img { transform: translateY(-59.269162%); }
#a403 .regional-common #taisei .ad-worry-face--2 img { transform: translateY(-69.162210%); }
#a403 .regional-common #taisei .ad-worry-face--3 img { transform: translateY(-79.055258%); }
#a403 .regional-common #taisei .ad-worry-face--4 img { transform: translateY(-88.948307%); }
#a403 .regional-common #taisei .ad-question { padding-left: 26px; }
#a403 .regional-common #taisei .ad-question,#a403 .regional-common #taisei .ad-answer { font-size: 18px; line-height: 1.6; font-weight: 500; min-width: 0; text-wrap: pretty; }
#a403 .regional-common #taisei .ad-answer { max-width: 100%; }
#a403 .regional-common #taisei .ad-pair-labels { grid-template-columns: 100px minmax(0,1.04fr) 40px minmax(0,1fr); padding-inline: 18px; gap: 20px; }
#a403 .regional-common #taisei .ad-pair-labels span:first-child { grid-column: 2; padding-left: 26px; }
#a403 .regional-common #taisei .ad-pair-labels span:last-child { grid-column: 4; }

@media(max-width:760px) {
#a403 .regional-common #taisei .ad-roles { grid-template-columns: minmax(0,1fr); }
#a403 .regional-common #taisei .ad-follow { display: block; }
#a403 .regional-common #taisei .ad-follow p { padding-left: 0; }
#a403 .regional-common #taisei .ad-pairs article { grid-template-columns: 58px minmax(0,1fr); gap: 12px; padding: 16px 14px; }
#a403 .regional-common #taisei .ad-worry-face { width: 56px; height: 51px; }
#a403 .regional-common #taisei .ad-question { font-size: 14px; padding-left: 12px; }
#a403 .regional-common #taisei .ad-answer { font-size: 15px; }
#a403 .regional-common #taisei .ad-desktop-break { display: none; }
#a403 .regional-common #taisei .ad-pair-labels { display: none; }
}
