/* Workspaceの配置・写真・書体を継承し、このページの追加部分だけを定義する。 */
.advisor-hero-visual { --img-origin: url(/assets/local/9ae832a1414ced50.jpg); }
.advisor-site-visual { --img-origin: url(/assets/local/578ea465c01f2b5c.jpg); }
.advisor-support-visual { --img-origin: url(/assets/local/57a552eeacb295b2.jpg); }
.advisor-page .service-section__visual { --img-small: var(--img-origin); --img-middle: var(--img-origin); --img-regular: var(--img-origin); }
.advisor-page .service-section__content { min-width: 0; }
/* 見出しの幅を本文カラムに揃え、明示したbrを通常の行として扱う。 */
.advisor-page .service-section__lead {
  display: block;
  width: 100%;
  text-wrap: wrap;
  word-break: normal;
  overflow-wrap: break-word;
}
.advisor-page .service-section__rich-text p + p,
.advisor-description p + p { margin-top: 1em; }
.advisor-description { display: block; }
.advisor-page .service-section__rich-text p,
.advisor-scope-note { text-wrap: pretty; }
.advisor-scope-note { display: block; }
.advisor-description p { margin: 0; }
.advisor-page .service-section__rich-text a,
.advisor-page .service-layout-17 a { color: var(--corporate-accent); text-underline-offset: .2em; }
.advisor-section { padding: 85px 40px; }
.advisor-page .advisor-section--plans { padding-bottom: 0; }
.advisor-section__inner { box-sizing: border-box; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 60px; max-width: 1200px; margin: 0 auto; padding: 44px; }
.advisor-section__heading h2,
.advisor-contact h2 { margin: 0; color: var(--corporate-accent); font-size: 28px; line-height: 1.5; font-weight: 400; scroll-margin-top: 50px; }
.advisor-eyebrow { margin: 0 0 16px; font-family: var(--font-latin); font-size: 14px; line-height: 1.4; letter-spacing: .16em; color: var(--corporate-muted); }
.advisor-section__body { min-width: 0; color: var(--corporate-ink); font-size: 18px; line-height: 1.85; }
.advisor-section__body p { margin: 0; text-wrap: pretty; }
.advisor-section__body .advisor-note { margin-top: 24px; font-size: 14px; line-height: 1.85; }
.advisor-section__inner.advisor-comparison { grid-template-columns: minmax(0, 1fr); row-gap: 24px; padding-bottom: 0; }
.advisor-comparison__content { grid-column: 1 / -1; margin-top: 12px; }
.advisor-estimate { margin: 36px 0 0; padding: 36px; border-radius: 12px; background: #fff; box-shadow: 0 8px 40px rgb(74 81 76 / 7%); }
.advisor-estimate__heading { margin-bottom: 28px; }
.advisor-estimate__heading h3 { margin: 6px 0 12px; color: var(--corporate-accent); font-size: 24px; line-height: 1.5; font-weight: 400; scroll-margin-top: 32px; }
.advisor-estimate__heading h3 span { display: inline-block; }
.advisor-estimate__heading > p:not(.advisor-eyebrow) { font-size: 15px; }
.advisor-footnotes { margin: 0; padding: 0; list-style: none; line-height: 1.55; }
.advisor-footnotes li { position: relative; margin: 0; padding: 0 0 0 1.3em; list-style: none; }
.advisor-footnotes li + li { margin-top: 6px; }
.advisor-footnotes li > span { position: absolute; left: 0; top: 0; }
.advisor-estimate__notes { margin-top: 20px; color: var(--corporate-muted); font-size: 13px; }
.advisor-estimate__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: end; }
.advisor-estimate__layout > div { min-width: 0; }
.advisor-estimate__result { padding: 24px; border-radius: 8px; background: #f2f7f7; }
.advisor-estimate__result-label { font-size: 14px; }
.advisor-section__body .advisor-estimate__amount { margin: 8px 0; color: var(--corporate-accent); font-size: 32px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.advisor-estimate__condition, .advisor-estimate__breakdown { font-size: 13px; }
.advisor-section__body .advisor-estimate__breakdown { margin-top: 12px; }
.advisor-estimate__amount-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin: 8px 0 12px; }
.advisor-estimate__benefit { position: relative; padding: 8px 12px; border-radius: 6px; background: var(--corporate-accent); color: #fff; }
.advisor-estimate__benefit::before { content: ""; position: absolute; right: 100%; top: calc(50% - 6px); border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-right: 7px solid var(--corporate-accent); }
.advisor-estimate__benefit-label { font-size: 11px; line-height: 1.5; }
.advisor-section__body .advisor-estimate__saving { margin: 2px 0 0; font-size: 14px; font-weight: 400; line-height: 1.5; font-variant-numeric: tabular-nums; }
.advisor-estimate__saving strong { font-size: 1.15em; font-weight: 700; }
.advisor-estimate__return { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; min-height: 44px; color: var(--corporate-accent); font-size: 14px; text-underline-offset: .25em; }
.advisor-plan-table__condition { display: block; margin-top: 6px; font-size: 12px; line-height: 1.5; white-space: normal; }
#GWS年間維持費 { scroll-margin-top: 32px; }
#GWS年間維持費:focus { outline: 2px solid var(--corporate-accent); outline-offset: -3px; }
.advisor-estimate[hidden], .advisor-estimate [hidden] { display: none; }
.advisor-estimate__fields { display: flex; flex-wrap: wrap; gap: 20px 40px; }
.advisor-estimate__fields label { display: block; margin-bottom: 8px; font-size: 15px; }
.advisor-estimate select, .advisor-estimate input { box-sizing: border-box; min-height: 44px; padding: 8px 12px; border: 1px solid #aebfc1; border-radius: 6px; background: #fff; color: var(--corporate-ink); font: inherit; font-size: 16px; }
.advisor-estimate__select { position: relative; display: inline-block; }
.advisor-estimate__select::after { content: ""; position: absolute; right: 16px; top: 50%; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.advisor-estimate select { min-width: 180px; padding-right: 44px; -webkit-appearance: none; appearance: none; }
.advisor-estimate input { width: 120px; }
.advisor-estimate__number { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.advisor-estimate :is(select, input):focus-visible { outline: 2px solid var(--corporate-accent); outline-offset: 3px; }
.advisor-estimate input[aria-invalid="true"] { border-color: #a92727; }
.advisor-section__body .advisor-estimate__help { margin: 16px 0; font-size: 13px; }
.advisor-estimate__error { color: #a92727; font-size: 14px; }
.advisor-plan-table__license { display: block; font-size: 12px; white-space: normal; }
.advisor-table-hint { display: none; }
.advisor-table-scroll { overflow-x: auto; border-radius: 12px; background: #fff; box-shadow: 0 8px 40px rgb(74 81 76 / 5%); }
.advisor-table-scroll:focus-visible { outline: 2px solid var(--corporate-accent); outline-offset: 5px; }
.advisor-plan-table { width: 100%; min-width: 840px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 15px; line-height: 1.7; }
.advisor-plan-available { display: inline-block; box-sizing: border-box; width: .8em; height: .8em; border: 1px solid currentColor; border-radius: 50%; vertical-align: -.02em; }
.advisor-plan-table__label { width: 30%; }
.advisor-plan-table th, .advisor-plan-table td { padding: 15px 16px; border: 0; vertical-align: middle; overflow-wrap: break-word; }
.advisor-plan-table th { font-weight: 400; word-break: keep-all; overflow-wrap: normal; }
.advisor-plan-table td { word-break: keep-all; overflow-wrap: normal; }
.advisor-plan-table__link { position: relative; display: inline-flex; align-items: center; gap: 6px; color: var(--corporate-accent); text-decoration: underline; text-underline-offset: .2em; }
.advisor-plan-table th:first-child { padding-left: 24px; text-align: left; }
.advisor-plan-table td, .advisor-plan-table thead th:not(:first-child) { text-align: center; }
.advisor-plan-table thead th { background: #fff; color: var(--corporate-accent); font-size: 18px; line-height: 1.4; }
.advisor-plan-table__caption { display: block; margin-bottom: 2px; color: var(--corporate-muted); font-size: 12px; line-height: 1.4; white-space: nowrap; }
.advisor-plan-table tbody tr > * { background: #fff; border-top: 1px solid #d5dddf; }
.advisor-plan-table .advisor-plan-table__costs tr:first-child > * { border-top: 3px double #96a8ac; }
.advisor-plan-table__environment td { font-size: 14px; word-break: keep-all; overflow-wrap: normal; }
.advisor-plan-table th span { display: inline-block; font-size: 12px; }
.advisor-plan-table__costs td, .advisor-plan-table tfoot td { white-space: nowrap; }
.advisor-plan-table tfoot > tr > * { padding-top: 20px; padding-bottom: 20px; border-top: 1px solid #96a8ac; background: #fff; color: var(--corporate-accent); }
.advisor-plan-table tfoot td { font-size: 22px; }
.advisor-comparison__notes { margin-top: 16px; font-size: 14px; }
.advisor-price-card { padding: 44px; border-radius: 12px; background: #fff; box-shadow: 0 8px 40px rgb(74 81 76 / 5%); }
.advisor-prices { display: grid; grid-template-columns: 1fr 2fr; column-gap: 30px; row-gap: 8px; margin: 0 0 28px; }
.advisor-prices > div { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: 8px; }
.advisor-prices dt { margin: 0; font-size: 16px; }
.advisor-prices dd { margin: 0; white-space: nowrap; align-self: last baseline; }
.advisor-price { font-size: 36px; font-weight: 400; }
.advisor-price--fee { font-size: 42px; font-weight: 700; }
.advisor-price__currency { font-size: .55em; }
.advisor-price-unit { display: inline-block; font-size: 14px; }
.advisor-steps { list-style: none; counter-reset: advisor-step; margin: 0; padding: 0; display: grid; gap: 32px; }
.advisor-steps li { counter-increment: advisor-step; position: relative; padding-left: 64px; }
.advisor-steps li::before { content: counter(advisor-step, decimal-leading-zero); position: absolute; top: 0; left: 0; font-family: var(--font-latin); font-size: 28px; color: var(--corporate-accent); }
.advisor-steps h3 { margin: 0 0 8px; font-size: 22px; font-weight: 400; line-height: 1.5; }
.advisor-steps__desktop-break, .advisor-price__desktop-break { display: none; }
@media (min-width: 1025px) {
  .advisor-steps__desktop-break, .advisor-price__desktop-break { display: inline; }
}
.advisor-contact { --fixed-page-ink: var(--corporate-ink); --fixed-page-accent: var(--corporate-accent); --fixed-page-line: #aebfc1; padding-bottom: 40px; color: var(--corporate-ink); }
.advisor-contact__inner { max-width: 1200px; margin: 0 auto; padding: 64px 24px; text-align: center; background: #f2f7f7; border-radius: 12px; }
.advisor-contact__inner > p:not(.advisor-eyebrow) { margin: 24px auto; font-size: 18px; line-height: 1.85; text-wrap: pretty; }
.advisor-contact .contact-form, .advisor-contact .contact-success, .advisor-contact .contact-error-summary { width: min(100%, 820px); text-align: left; line-height: 1.75; }
.advisor-contact .contact-form { margin-top: 48px; gap: 36px; }
.advisor-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
.advisor-contact .contact-field input, .advisor-contact .contact-field textarea { box-sizing: border-box; font-family: inherit; border-radius: 0; }
.advisor-contact .contact-field textarea { height: 220px; }
.advisor-choice-field { min-width: 0; padding: 0; margin: 0; border: 0; }
.advisor-choice-field legend { font-size: 16px; margin-bottom: 12px; }
.advisor-choice-field small { margin-left: 8px; font-size: 12px; color: var(--corporate-muted); }
.advisor-choice-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.advisor-choice-list label { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; cursor: pointer; }
.advisor-choice-list input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--corporate-accent); }
.advisor-form-submit { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.advisor-form-submit > p { margin: 0; font-size: 14px; }
.advisor-contact .contact-button { width: min(100%, 360px); font-family: inherit; border-radius: 28px; }
.advisor-contact .contact-button:disabled { opacity: .55; cursor: wait; }
.advisor-contact :is(input, textarea, button, a):focus-visible { outline: 2px solid var(--corporate-accent); outline-offset: 4px; }
.advisor-contact [aria-invalid="true"] { outline: 2px solid #a92727; outline-offset: 2px; }
.advisor-contact .contact-success { margin-top: 40px; }
.advisor-contact .contact-success h3 { margin: 0; color: var(--corporate-accent); font-weight: 400; }
.advisor-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.advisor-page a:focus-visible { outline: 2px solid var(--corporate-accent); outline-offset: 5px; }
@media (max-width: 1024px) {
  .advisor-estimate__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .advisor-section__inner { grid-template-columns: 210px minmax(0, 1fr); gap: 32px; padding: 32px; }
  .advisor-price-card { padding: 32px; }
  .advisor-prices { grid-template-columns: 1fr; gap: 20px; }
  .advisor-section__body .advisor-table-hint { display: block; margin-bottom: 12px; font-size: 12px; color: var(--corporate-muted); }
  .advisor-plan-table th:first-child { position: sticky; left: 0; z-index: 1; box-shadow: 5px 0 12px rgb(74 81 76 / 4%); }
}
@media (min-width: 481px) and (max-width: 768px) {
  .advisor-page .service-section__inner { padding-left: 24px; padding-right: 24px; }
  .advisor-page .service-section__content { padding: 24px; }
  .advisor-page .service-section__heading { font-size: 22px; }
  .advisor-page .service-section__lead { font-size: 30px; }
  .advisor-page .service-section--2 .service-section__content { width: 65%; max-width: 65%; }
  .advisor-page .service-section__label { margin-left: -60px; max-width: calc(100% + 60px); }
}
@media (max-width: 768px) {
  .advisor-section { padding: 56px 30px; }
  .advisor-section__inner { grid-template-columns: 1fr; gap: 28px; }
  .advisor-section__body, .advisor-contact__inner > p:not(.advisor-eyebrow) { font-size: 16px; }
  .advisor-prices { grid-template-columns: 1fr 2fr; }
}
@media (max-width: 480px) {
  /* セクション内外で重なっていた余白をモバイルではまとめる。 */
  .advisor-page .service-section--3 .service-section__inner { padding: 24px 0 0; }
  /* 自動幅のflex項目を内容幅いっぱいに揃え、Safariでも縮ませない。 */
  .advisor-page .service-section__content {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding-left: 24px;
    padding-right: 24px;
  }
  .advisor-page .service-section__content > :is(.content-text, .service-section__rich-text) {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .advisor-page .service-section__content p,
  .advisor-section__body p,
  .advisor-contact__inner > p:not(.advisor-eyebrow) { text-wrap: wrap; }
  .advisor-section__inner,
  .advisor-contact__inner,
  .advisor-estimate,
  .advisor-estimate__result { box-sizing: border-box; width: 100%; min-width: 0; }
  .advisor-estimate { padding: 24px 20px; }
  .advisor-estimate__heading h3 { font-size: 20px; }
  .advisor-estimate__heading > p:not(.advisor-eyebrow) { font-size: 14px; }
  .advisor-estimate__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .advisor-estimate__fields > div { min-width: 0; }
  .advisor-estimate__select { display: block; width: 100%; }
  .advisor-estimate select { width: 100%; min-width: 0; }
  .advisor-estimate__number input { flex: 1; width: 100%; min-width: 0; }
  .advisor-estimate__fields label { font-size: 14px; }
  .advisor-estimate__result { padding: 20px 16px; }
  .advisor-section__body .advisor-estimate__amount { font-size: 24px; }
  .advisor-estimate__amount-row { column-gap: 16px; }
  .advisor-estimate__benefit { padding: 8px; }
  .advisor-estimate__benefit-label { font-size: 10px; }
  .advisor-section__body .advisor-estimate__saving { font-size: 12px; }
  .advisor-section { padding: 32px 24px; }
  .advisor-section__heading h2, .advisor-contact h2 { font-size: 20px; }
  .advisor-eyebrow { margin-bottom: 10px; font-size: 12px; }
  .advisor-section__body, .advisor-contact__inner > p:not(.advisor-eyebrow) { font-size: 14px; }
  .advisor-steps h3 { font-size: 18px; }
  .advisor-section__inner { grid-template-columns: minmax(0, 1fr); padding: 0; }
  .advisor-section__inner.advisor-price-card { padding: 28px 20px; }
  .advisor-comparison { padding-left: 0; padding-right: 0; }
  .advisor-plan-table { min-width: 730px; font-size: 13px; }
  .advisor-plan-table__label { width: 160px; }
  .advisor-plan-table th, .advisor-plan-table td { padding: 13px 12px; }
  .advisor-plan-table th:first-child { padding-left: 16px; }
  .advisor-plan-table thead th { font-size: 16px; }
  .advisor-plan-table tfoot td { font-size: 20px; }
  .advisor-comparison__notes { font-size: 12px; }
  .advisor-prices { grid-template-columns: 1fr; gap: 22px; }
  .advisor-prices > div { grid-template-rows: auto auto; grid-row: auto; row-gap: 4px; }
  .advisor-prices dt { line-height: 1.5; }
  .advisor-prices dd { line-height: 1.25; }
  .advisor-price { font-size: 32px; line-height: 1.25; }
  .advisor-price--fee { font-size: 38px; }
  .advisor-price-unit { font-size: 12px; }
  .advisor-section__body .advisor-note { font-size: 12px; }
  .advisor-steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px 10px; padding-left: 0; }
  .advisor-steps li::before { position: static; grid-column: 1; grid-row: 1; font-size: 24px; line-height: 1.125; }
  .advisor-steps h3 { grid-column: 2; grid-row: 1; margin-bottom: 0; }
  .advisor-steps li > p { grid-column: 1 / -1; }
  .advisor-contact__inner { padding: 40px 20px; }
  .advisor-form-grid, .advisor-choice-list { grid-template-columns: 1fr; }
  .advisor-contact .contact-form { margin-top: 32px; gap: 28px; }
  .advisor-form-submit { align-items: stretch; }
}
