@charset "UTF-8";

.strengths-page .heading-bar::before { top: -1px; }

.strengths-core { padding: 148px 0 150px; }
.strengths-core-main { display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 0 70px; align-items: center; }
.strengths-core-head .heading-bar-ja { margin-top: 30px; font-size: 40px; line-height: 1.65; }
.strengths-core-line { display: block; }
.strengths-core-head em { font-style: normal; color: var(--color-accent); }
.strengths-core-text { margin: 36px 0 0; font-weight: 400; font-size: 18px; line-height: 2.2; letter-spacing: var(--letter-spacing-base); }
.strengths-core-img { margin: 0; overflow: hidden; border-radius: 8px; aspect-ratio: 4 / 3; }
.strengths-core-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.worry-card-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 96px 0 0; padding: 0; list-style: none; }
.worry-card { position: relative; padding: 58px 28px 32px; background: var(--color-white); box-shadow: 0 2px 14px rgba(0, 0, 0, .09); }
.worry-card::before { content: ""; position: absolute; top: 19px; left: 50%; width: 60px; height: 12px; border-radius: 3px; background: var(--color-accent); translate: -50% 0; }
.worry-card:nth-child(2) { --rev-d: .08s; }
.worry-card:nth-child(3) { --rev-d: .16s; }
.worry-card:nth-child(4) { --rev-d: .24s; }
.worry-card-title { margin: 0; font-weight: 700; font-size: 21px; line-height: 1.4; letter-spacing: var(--letter-spacing-base); color: #353535; text-align: center; }
.worry-card-text { margin: 14px 0 0; font-weight: 400; font-size: 15px; line-height: 1.9; letter-spacing: var(--letter-spacing-base); }

.strengths-works { padding: 148px 0 235px; }
.strengths-compare { margin-top: 170px; }
.strengths-compare .heading-bar-ja { line-height: 1.4; }
.compare-head-line { display: inline-block; }
.compare-table-wrap { margin-top: 80px; }
.compare-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.compare-col-item { width: 210px; }
.compare-col-mark { width: 92px; }
.compare-col-gap { width: 20px; }
.compare-col-mark-other { width: 110px; }
.compare-table :is(th, td) { padding: 0; vertical-align: middle; letter-spacing: var(--letter-spacing-base); }
.compare-head-us { height: 76px; border-radius: 8px 8px 0 0; background: var(--color-accent); font-weight: 900; font-size: 24px; line-height: 1.3; color: #fff; text-align: center; }
.compare-head-other { height: 76px; border-top: 14px solid transparent; border-radius: 8px 8px 0 0; background: #d9d9d9; background-clip: padding-box; font-weight: 700; font-size: 19px; line-height: 1.3; color: #353535; text-align: center; }
.compare-item { height: 96px; border-bottom: 8px solid transparent; background: #353535; background-clip: padding-box; font-weight: 700; font-size: 18px; line-height: 1.5; color: #fff; text-align: center; }
.compare-table tbody tr:last-child .compare-item { border-bottom: 0; }
.compare-us { background: var(--color-white); border-bottom: 1px solid #f0d2c2; }
.compare-us.compare-mark { border-left: 3px solid var(--color-accent); font-size: 40px; line-height: 1; color: var(--color-accent); text-align: center; }
.compare-us.compare-text { padding-right: 24px; border-right: 3px solid var(--color-accent); font-weight: 700; font-size: 18px; line-height: 1.6; color: var(--color-text); }
.compare-table tbody tr:last-child .compare-us { border-bottom: 3px solid var(--color-accent); }
.compare-other { background: var(--color-white); border-bottom: 1px solid var(--color-line); }
.compare-table tbody tr:first-child .compare-other { border-top: 1px solid var(--color-line); }
.compare-other.compare-mark { border-left: 1px solid var(--color-line); font-size: 24px; line-height: 1; color: #8a8a8a; text-align: center; white-space: nowrap; }
.compare-other.compare-text { padding-right: 24px; border-right: 1px solid var(--color-line); font-weight: 400; font-size: 16px; line-height: 1.6; color: #545454; }
.compare-gap, .compare-blank { background: none; }
.number-card-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 127px 0 0; padding: 0; list-style: none; }
.number-card {
  position: relative;
  height: 342px;
  padding: 81px 58px 0;
  background: var(--color-white);
  box-shadow: 0 2px 14px rgba(0, 0, 0, .09);
  text-align: center;
}
.number-card::before { content: ""; position: absolute; top: 19px; left: 50%; width: 81px; height: 15px; border-radius: 3px; background: #353535; translate: -50% 0; }
.number-card-label { margin: 0; font-weight: 700; font-size: 23px; line-height: 1.4; letter-spacing: var(--letter-spacing-base); color: #353535; }
.number-card-value { --value-size: 34px; --unit-ratio: .6176; --value-fit: 8.6; margin: 8px -20px 0; container-type: inline-size; font-weight: 900; font-size: 34px; line-height: 1.3; letter-spacing: var(--letter-spacing-base); color: var(--color-accent); }
.number-card-value-in { font-size: min(var(--value-size), calc(100cqi / var(--value-fit))); white-space: nowrap; }
.number-card-value-in > span { font-size: calc(var(--unit-ratio) * 1em); }
.number-card-text { margin: 18px 0 0; font-weight: 400; font-size: 15px; line-height: 32px; letter-spacing: var(--letter-spacing-base); text-align: left; }

.strengths-points { position: relative; padding: 135px 0 278px; border-radius: 90px 90px 0 0; background: var(--color-bg-light); }
.strength-list { margin: 127px 0 0; padding: 0; list-style: none; }
.strength-item { position: relative; height: 423px; }
.strength-item:nth-child(2) { margin-top: 117px; }
.strength-item:nth-child(3) { margin-top: 142px; }
.strength-item:nth-child(4) { margin-top: 142px; }
.strength-img { position: absolute; top: 0; left: 20px; width: 430px; margin: 0; overflow: hidden; border-radius: 8px; }
.strength-img img { display: block; width: 100%; height: auto; }
.strength-num { position: absolute; bottom: -34px; left: -1px; font-family: var(--font-en); font-weight: 700; font-size: 173px; line-height: 1; letter-spacing: var(--letter-spacing-base); color: #fff; }
.strength-item .vertical-label { top: 151px; left: 528px; }
.strength-item .vertical-label::after { background: #191919; }
.strength-body { position: absolute; bottom: -11px; left: 607px; width: 575px; }
.strength-title { margin: 0; font-weight: 900; font-size: 40px; line-height: 70px; letter-spacing: var(--letter-spacing-base); color: #353535; }
.strength-text { margin: 25px 0 0; font-weight: 400; font-size: 20px; line-height: 45px; letter-spacing: var(--letter-spacing-base); }
.strength-item:nth-child(even) .strength-img { left: 740px; }
.strength-item:nth-child(even) .strength-num { right: 3px; left: auto; }
.strength-item:nth-child(even) .vertical-label { left: 648px; }
.strength-item:nth-child(even) .strength-body { left: 20px; }

.strengths-voice {
  position: relative;
  z-index: 1;
  margin-top: -100px;
  padding: 145px 0 230px;
  border-radius: 90px 90px 0 0;
  background: var(--color-accent);
  color: #fff;
  text-align: center;
}
.strengths-voice-stars { margin: 0; font-weight: 700; font-size: 37px; line-height: 1; letter-spacing: var(--letter-spacing-base); }
.strengths-voice-head { margin: 30px 0 0; }
.strengths-voice-en { display: block; font-family: var(--font-en); font-weight: 600; font-size: 18px; line-height: 1; letter-spacing: .16em; }
.strengths-voice-ja { display: block; margin-top: 25px; font-weight: 900; font-size: 34px; line-height: 1; letter-spacing: var(--letter-spacing-base); }
.voice-card-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 80px 28px; margin: 131px 0 0; padding: 0; list-style: none; text-align: left; }
.voice-card { position: relative; min-height: 392px; padding: 76px 32px 32px; border-radius: var(--radius-sm); background: #fff; box-shadow: 0 6px 16px rgba(120, 50, 10, .18); color: var(--color-text); }
.voice-card .voice-tape { position: absolute; top: -20px; left: 50%; translate: -50% 0; }
.voice-card:nth-child(3) .voice-tape { left: 301px; }
.voice-card:nth-child(7) .voice-tape { left: 68px; }
.voice-card-name { margin: 0; padding: 0 0 8px 15px; border-bottom: 1px solid #191919; font-weight: 700; font-size: 20px; line-height: 1.3; letter-spacing: var(--letter-spacing-base); color: #58539e; }
.voice-card-meta { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 9px 13px 0 16px; }
.voice-card-stars { font-weight: 700; font-size: 24px; line-height: 1.2; letter-spacing: var(--letter-spacing-base); color: #ff9600; }
.voice-card-date { font-weight: 700; font-size: 16px; line-height: 1.2; letter-spacing: var(--letter-spacing-base); color: #6c6c6c; }
.voice-card-text { min-height: 191px; margin: 24px 0 0; padding: 23px 28px; background: #f6f6f6; font-weight: 500; font-size: 17px; line-height: 27px; letter-spacing: var(--letter-spacing-base); }

.strengths-links { padding: 144px 0 130px; background: var(--color-bg-light); }
.strengths-points + .strengths-links { padding-top: 0; }
.strengths-links .link-card-list { margin-top: 70px; }
.strengths-page .contact-banner { padding-top: 128px; }

@media (max-width: 1280px) {
  .number-card-value { margin-inline: -8px; }
  .strength-item { height: auto; display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 0 60px; align-items: end; }
  .strength-img, .strength-body, .strength-item:nth-child(even) .strength-img, .strength-item:nth-child(even) .strength-body { position: relative; top: auto; bottom: auto; left: auto; width: auto; }
  .strength-item:nth-child(even) .strength-img { order: 2; }
  .strength-item .vertical-label { display: none; }
  .strength-num { bottom: -34px; left: -1px; }
  .strength-item:nth-child(even) .strength-num { right: auto; left: calc(60% + 56px); }
  .voice-card:nth-child(3) .voice-tape, .voice-card:nth-child(7) .voice-tape { left: 50%; }
}

@media (max-width: 1280px) {
  .strengths-core-main { grid-template-columns: minmax(0, 1fr) 42%; gap: 0 48px; }
  .strengths-core-head .heading-bar-ja { font-size: 32px; }
  .worry-card-list { gap: 20px; }
  .worry-card { padding: 54px 20px 28px; }
  .worry-card-title { font-size: 19px; }
  .compare-col-item { width: 170px; }
  .compare-col-mark { width: 72px; }
  .compare-col-gap { width: 14px; }
  .compare-col-mark-other { width: 92px; }
  .compare-us.compare-text, .compare-other.compare-text { padding-right: 16px; }
  .compare-us.compare-text { font-size: 16px; }
  .compare-other.compare-text { font-size: 15px; }
  .compare-item { font-size: 16px; }
  .compare-other.compare-mark { font-size: 20px; }
}

@media (max-width: 1100px) {
  .number-card-list { gap: 16px; }
  .number-card { height: auto; min-height: 300px; padding: 70px 28px 32px; }
  .voice-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .strengths-works { padding: 100px 0 120px; }
  .number-card-list { grid-template-columns: minmax(0, 1fr); margin-top: 50px; }
  .number-card { min-height: 0; padding: 60px 28px 30px; }
  .strengths-points { padding: 90px 0 180px; border-radius: 40px 40px 0 0; }
  .strength-list { margin-top: 50px; }
  .strengths-core { padding: 100px 0 100px; }
  .strengths-core-main { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .strengths-core-head .heading-bar-ja { font-size: 28px; }
  .strengths-core-text { margin-top: 24px; font-size: 16px; line-height: 2.1; }
  .worry-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 56px; }
  .worry-card:nth-child(n) { --rev-d: 0s; }
  .strengths-compare { margin-top: 110px; }
  .compare-table-wrap { margin-top: 48px; }
  .compare-col-item { width: 120px; }
  .compare-col-mark { width: 56px; }
  .compare-col-gap { width: 10px; }
  .compare-col-mark-other { width: 72px; }
  .compare-head-us { height: 60px; font-size: 19px; }
  .compare-head-other { height: 60px; border-top-width: 10px; font-size: 15px; }
  .compare-item { height: 84px; font-size: 14px; }
  .compare-us.compare-mark { font-size: 30px; }
  .compare-other.compare-mark { font-size: 16px; }
  .compare-us.compare-text, .compare-other.compare-text { padding-right: 12px; font-size: 14px; }
  .strength-item, .strength-item:nth-child(2), .strength-item:nth-child(3), .strength-item:nth-child(4) { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 0; }
  .strength-item + .strength-item { margin-top: 70px; }
  .strength-item:nth-child(even) .strength-img { order: 0; }
  .strength-num, .strength-item:nth-child(even) .strength-num { top: -18px; bottom: auto; left: -4px; right: auto; z-index: 1; font-size: 90px; }
  .strength-title { font-size: 24px; line-height: 1.7; }
  .strength-text { margin-top: 14px; font-size: 15px; line-height: 2.1; }
  .strengths-voice { margin-top: -60px; padding: 90px 0 110px; border-radius: 40px 40px 0 0; }
  .strengths-voice-stars { font-size: 28px; }
  .strengths-voice-ja { margin-top: 16px; font-size: 22px; line-height: 1.5; }
  .voice-card-list { grid-template-columns: minmax(0, 1fr); gap: 50px; margin-top: 60px; }
  .voice-card { min-height: 0; }
  .voice-card-text { min-height: 0; padding: 18px 20px; font-size: 15px; }
  .strengths-links { padding: 90px 0 90px; }
  .strengths-links .link-card-list { margin-top: 36px; }
  .strengths-page .contact-banner { padding-top: 90px; }
}

@media (max-width: 700px) {
  .strengths-core { padding: 64px 0 72px; }
  .strengths-core-head .heading-bar-ja { margin-top: 18px; font-size: 22px; line-height: 1.7; }
  .strengths-core-main { gap: 28px; }
  .worry-card-list { gap: 12px; margin-top: 40px; }
  .worry-card { padding: 44px 14px 18px; }
  .worry-card::before { top: 16px; width: 44px; height: 9px; }
  .worry-card-title { font-size: 16px; }
  .worry-card-text { margin-top: 10px; font-size: 13px; line-height: 1.8; }
  .strengths-compare { margin-top: 72px; }
  .compare-table-wrap { margin-top: 32px; }
  .compare-table, .compare-table tbody, .compare-table tr { display: block; }
  .compare-table colgroup, .compare-table thead, .compare-gap { display: none; }
  .compare-table tbody tr { display: grid; grid-template-columns: 52px minmax(0, 1fr); margin-top: 16px; background: var(--color-white); box-shadow: 0 2px 14px rgba(0, 0, 0, .09); }
  .compare-table tbody tr:first-child { margin-top: 0; }
  .compare-table tbody td, .compare-table tbody th { display: block; }
  .compare-table tbody .compare-gap { display: none; }
  .compare-table .compare-item { grid-column: 1 / -1; height: auto; padding: 18px 20px; border-bottom: 0; font-size: 15px; }
  .compare-us, .compare-other, .compare-table tbody tr:last-child .compare-us, .compare-table tbody tr:first-child .compare-other { border: 0; }
  .compare-mark, .compare-us.compare-mark, .compare-other.compare-mark { display: flex; align-items: center; justify-content: center; padding: 12px 0 12px 8px; border: 0; }
  .compare-us.compare-mark { font-size: 26px; }
  .compare-other.compare-mark { font-size: 14px; border-top: 1px solid var(--color-line); }
  .compare-us.compare-text, .compare-other.compare-text { padding: 12px 16px 12px 12px; border: 0; font-size: 14px; }
  .compare-other.compare-text { border-top: 1px solid var(--color-line); }
  .compare-text::before { content: attr(data-label); display: block; font-weight: 700; font-size: 11px; line-height: 1.6; color: #8a8a8a; }
  .compare-us.compare-text::before { color: var(--color-accent); }
  .strengths-works { padding: 64px 0 72px; }
  .number-card-list { margin-top: 32px; gap: 20px; }
  .number-card { padding: 52px 24px 24px; }
  .number-card-text { margin-top: 16px; font-size: 13px; line-height: 1.9; }
  .strengths-points { padding: 64px 0 124px; }
  .strength-list { margin-top: 32px; }
  .strength-item + .strength-item { margin-top: 48px; }
  .strength-text { line-height: 2; }
  .strengths-voice { padding: 64px 0 72px; }
  .strengths-links { padding: 64px 0 72px; }
  .number-card-label { font-size: 19px; }
  .number-card-value { --value-size: 28px; --unit-ratio: .75; --value-fit: 8.9; font-size: 28px; }
  .strength-title { font-size: 20px; }
  .voice-card { padding: 60px 24px 28px; }
  .voice-card .voice-tape { width: 140px; top: -14px; }
  .voice-card-name { padding-left: 0; font-size: 17px; line-height: 1.6; }
  .voice-card-meta { flex-wrap: wrap; gap: 8px; padding-inline: 0; }
  .voice-card-text { margin-top: 20px; padding: 20px 16px; line-height: 1.9; }
  .voice-card-stars { font-size: 19px; }
  .voice-card-date { font-size: 13px; }
}

@media (min-width: 701px) and (max-width: 1280px) {
  .strengths-works { padding-block: 80px 96px; }
  .number-card-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
  .number-card { min-height: 0; padding: 64px 24px 32px; }
  .number-card-text { font-size: 16px; line-height: 2; }
  .strength-title { font-size: 30px; line-height: 1.7; }
  .strength-text { font-size: 16px; line-height: 2; }
  .voice-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 28px; margin-top: 64px; }
  .voice-card { min-height: 0; padding: 68px 28px 32px; }
  .voice-card-meta { flex-wrap: wrap; gap: 8px; padding-inline: 0; }
  .voice-card-text { min-height: 0; padding: 20px; font-size: 16px; line-height: 1.9; }
  .voice-card-stars { font-size: 22px; }
  .voice-card-date { font-size: 14px; }
  .strengths-links { padding-block: 80px 96px; }
}


.strength-title-line { display: block; }
.strengths-links-title { display: block; }

@media screen and (prefers-reduced-motion: no-preference) {
  .js main.strengths-page :is(.hero-simple-head, .heading-bar, .bar-title, .strength-item, .strength-body, .strengths-voice-head) {
    opacity: 1;
    translate: none;
    transition: none;
  }
  .js main.strengths-page :is(.hero-simple-head, .heading-bar, .bar-title)::before {
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 1.1s cubic-bezier(.65, 0, .35, 1);
  }
  .js.is-loaded main.strengths-page .hero-simple-head::before,
  .js main.strengths-page :is(.heading-bar, .bar-title).is-inview::before { transform: scaleY(1); }
  .js main.strengths-page :is(.hero-title-en, .hero-title, .heading-bar-en, .heading-bar-ja, .strengths-links-title, .strengths-voice-en, .strengths-voice-ja) {
    opacity: 0;
    translate: 14px 0;
    clip-path: inset(0 100% 0 0);
    transition: opacity .55s ease, translate .75s cubic-bezier(.22, 1, .36, 1), clip-path .75s cubic-bezier(.22, 1, .36, 1);
    transition-delay: .16s;
  }
  .js main.strengths-page :is(.hero-title, .heading-bar-ja, .strengths-voice-ja) { transition-delay: .3s; }
  .js.is-loaded main.strengths-page :is(.hero-title-en, .hero-title),
  .js main.strengths-page .is-inview :is(.heading-bar-en, .heading-bar-ja, .strengths-links-title, .strengths-voice-en, .strengths-voice-ja) {
    opacity: 1;
    translate: none;
    clip-path: inset(0);
  }
  .js main.strengths-page .strength-img {
    opacity: 0;
    clip-path: inset(0 100% 0 0 round 8px);
    transition: opacity .4s ease, clip-path .95s cubic-bezier(.22, 1, .36, 1);
  }
  .js main.strengths-page .strength-item:nth-child(even) .strength-img { clip-path: inset(0 0 0 100% round 8px); }
  .js main.strengths-page .strength-img img { scale: 1.06; transition: scale 1.15s cubic-bezier(.22, 1, .36, 1); }
  .js main.strengths-page .strength-item.is-inview .strength-img { opacity: 1; clip-path: inset(0 round 8px); }
  .js main.strengths-page .strength-item.is-inview .strength-img img { scale: 1; }
  .js main.strengths-page .strength-num {
    opacity: 0;
    translate: 0 20px;
    clip-path: inset(0 0 100% 0);
    transition: opacity .5s ease .2s, translate .75s cubic-bezier(.22, 1, .36, 1) .2s, clip-path .75s cubic-bezier(.22, 1, .36, 1) .2s;
  }
  .js main.strengths-page .strength-item.is-inview .strength-num { opacity: 1; translate: none; clip-path: inset(0); }
  .js main.strengths-page .strength-item .vertical-label::after {
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 1.4s cubic-bezier(.65, 0, .35, 1) .12s;
  }
  .js main.strengths-page .strength-item.is-inview .vertical-label::after { transform: scaleY(1); }
  .js main.strengths-page .strength-item .vertical-label span { opacity: 0; transition: opacity .6s ease .18s; }
  .js main.strengths-page .strength-item.is-inview .vertical-label span { opacity: 1; }
  .js main.strengths-page :is(.strength-title-line, .strength-text) {
    opacity: 0;
    translate: 0 16px;
    clip-path: inset(0 100% 0 0);
    transition: opacity .55s ease, translate .7s cubic-bezier(.22, 1, .36, 1), clip-path .7s cubic-bezier(.22, 1, .36, 1);
    transition-delay: .1s;
  }
  .js main.strengths-page .strength-title-line:nth-child(2) { transition-delay: .22s; }
  .js main.strengths-page .strength-text { clip-path: none; transition-delay: .34s; }
  .js main.strengths-page .strength-body.is-inview :is(.strength-title-line, .strength-text) { opacity: 1; translate: none; clip-path: inset(0); }
  .js main.strengths-page .number-card {
    opacity: 0;
    translate: 0 26px;
    transition: opacity .6s ease, translate .8s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--strength-card-delay, 0s);
  }
  .js main.strengths-page .number-card:nth-child(2) { --strength-card-delay: .13s; }
  .js main.strengths-page .number-card:nth-child(3) { --strength-card-delay: .26s; }
  .js main.strengths-page .number-card.is-inview { opacity: 1; translate: none; }
  .js main.strengths-page .number-card::before {
    transform: scaleX(0);
    transition: transform .6s cubic-bezier(.22, 1, .36, 1);
    transition-delay: calc(var(--strength-card-delay, 0s) + .12s);
  }
  .js main.strengths-page .number-card.is-inview::before { transform: scaleX(1); }
  .js main.strengths-page :is(.number-card-value, .number-card-text) {
    opacity: 0;
    translate: 0 10px;
    transition: opacity .55s ease, translate .6s cubic-bezier(.22, 1, .36, 1);
    transition-delay: calc(var(--strength-card-delay, 0s) + .2s);
  }
  .js main.strengths-page .number-card-text { transition-delay: calc(var(--strength-card-delay, 0s) + .3s); }
  .js main.strengths-page .number-card.is-inview :is(.number-card-value, .number-card-text) { opacity: 1; translate: none; }
  .js main.strengths-page .voice-card {
    opacity: 0;
    translate: 0 -18px;
    transform: rotate(var(--voice-card-tilt, -1.2deg));
    transition: opacity .2s ease, translate .28s cubic-bezier(.22, 1, .36, 1), transform .28s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--voice-card-delay, 0s);
  }
  .js main.strengths-page .voice-card:nth-child(even) { --voice-card-tilt: 1.2deg; }
  .js main.strengths-page .voice-card.is-inview { opacity: 1; translate: none; transform: none; }
  .js main.strengths-page .voice-card .voice-tape {
    opacity: 0;
    clip-path: none;
    transition: none;
  }
  .js main.strengths-page .voice-card.is-inview .voice-tape {
    animation: voice-tape-stick .27s cubic-bezier(.22, 1, .36, 1) both;
    animation-delay: calc(var(--voice-card-delay, 0s) + .08s);
  }
  .js main.strengths-page .voice-card.is-voice-static {
    opacity: 1;
    translate: none;
    transform: none;
    transition: none;
  }
  .js main.strengths-page .voice-card.is-voice-static .voice-tape {
    opacity: 1;
    animation: none;
    filter: none;
    transform: rotate(var(--voice-tape-angle, 0deg));
  }
  @keyframes voice-tape-stick {
    0% {
      opacity: 0;
      transform: translateY(-22px) rotate(calc(var(--voice-tape-angle, 0deg) - 7deg)) scale(1.08);
      filter: drop-shadow(0 8px 5px rgba(0, 0, 0, .15));
    }
    20% { opacity: 1; }
    65% {
      opacity: 1;
      transform: translateY(0) rotate(var(--voice-tape-angle, 0deg)) scale(1.02, .96);
      filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .08));
    }
    100% {
      opacity: 1;
      transform: rotate(var(--voice-tape-angle, 0deg));
      filter: none;
    }
  }
}

@media screen and (max-width: 900px) and (prefers-reduced-motion: no-preference) {
  .js main.strengths-page .strength-item:nth-child(even) .strength-img { clip-path: inset(0 100% 0 0 round 8px); }
  .js main.strengths-page .strength-item.is-inview .strength-img { clip-path: inset(0 round 8px); }
}

@media screen and (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .js main.strengths-page .number-card:nth-child(n) { --strength-card-delay: 0s; }
}

@media print, (prefers-reduced-motion: reduce) {
  .strengths-page :is(.hero-simple-head, .hero-title-en, .hero-title, .heading-bar, .heading-bar-en, .heading-bar-ja, .bar-title, .strengths-links-title, .strength-item, .strength-img, .strength-img img, .strength-num, .strength-body, .strength-title-line, .strength-text, .number-card, .number-card-value, .number-card-text, .strengths-voice-head, .strengths-voice-en, .strengths-voice-ja, .voice-card, .voice-tape) {
    opacity: 1 !important;
    translate: none !important;
    scale: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .strengths-page :is(.hero-simple-head, .heading-bar, .bar-title, .number-card)::before,
  .strengths-page .vertical-label::after { transform: none !important; transition: none !important; }
  .strengths-page .vertical-label span { opacity: 1 !important; transition: none !important; }
  .strengths-page .voice-card { transform: none !important; }
  .strengths-page .voice-card .voice-tape {
    translate: -50% 0 !important;
    animation: none !important;
    transform: rotate(var(--voice-tape-angle, 0deg)) !important;
    filter: none !important;
  }
}

.value-hero-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr); align-items: center; gap: 24px; min-height: 590px; padding: 48px 0 24px; }
.value-hero-copy { position: relative; z-index: 3; }
.value-hero-copy h2 { font-weight: 700; }
.value-hero-copy h2 > span, .value-hero-copy h2 > em { display: block; }
.value-hero-lead { font-size: clamp(20px, 2.05vw, 30px); line-height: 1.8; }
.value-hero-worry { margin-top: 8px; font-size: clamp(28px, 2.9vw, 42px); line-height: 1.65; }
.value-hero-copy h2 em { width: max-content; max-width: 100%; margin-top: 8px; font-size: clamp(42px, 5.7vw, 86px); font-weight: 700; font-style: normal; line-height: 1.4; white-space: nowrap; color: var(--value-orange); }
.value-intro { max-width: 530px; margin-top: 30px; font-size: 16px; line-height: 2.2; color: #465256; }
.value-scroll-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; margin-top: 32px; font-family: var(--font-en); font-size: 14px; font-weight: 600; letter-spacing: .13em !important; }
.value-down { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #a1a8a7; border-radius: 50%; }
.value-down svg { width: 17px; height: 17px; rotate: 90deg; transition: translate .3s; }
.value-scroll-link:hover .value-down svg { translate: 0 3px; }
.value-hero-visual { position: relative; align-self: center; padding: 20px 0 70px; }
.value-hero-photo { position: relative; overflow: hidden; aspect-ratio: 1.22; border-radius: 104px 8px 8px 8px; }
.value-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.value-photo-note { position: absolute; z-index: 2; left: -30px; bottom: 32px; min-width: 280px; padding: 26px 30px; border: 1px solid #ffffffd9; border-radius: 12px; background: #ffffff7d; -webkit-backdrop-filter: blur(22px) saturate(1.4); backdrop-filter: blur(22px) saturate(1.4); box-shadow: 0 12px 36px #a7632912; }
.value-photo-note > span { font-family: var(--font-en); font-size: 12px; font-weight: 600; letter-spacing: .18em; color: #714c30; }
.value-photo-note p { margin-top: 8px; font-size: 15px; font-weight: 500; }
.value-worry-glass { padding: 40px 32px 42px; border: 1px solid #fffffff2; border-radius: 20px; background: #ffffff63; -webkit-backdrop-filter: blur(26px) saturate(1.3); backdrop-filter: blur(26px) saturate(1.3); box-shadow: 0 20px 66px #a38e4812, inset 0 1px 0 #fff; }
.value-worry-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.value-worry { position: relative; min-width: 0; padding: 4px 26px 0; text-align: center; }
.value-worry + .value-worry { border-left: 1px solid #ffffffc9; }
.value-small-number { display: block; font-family: var(--font-en); font-size: 25px; line-height: 1; font-weight: 500; color: #01305b; }
.value-worry figure { width: 100%; max-width: 220px; aspect-ratio: 4 / 3; margin: 22px auto 16px; }
.value-worry img { width: 100%; height: 100%; object-fit: contain; }
.value-worry h3 { font-weight: 900; font-size: 21px; line-height: 1.5; color: var(--color-accent); }
.value-worry p { max-width: 220px; margin: 14px auto 0; font-weight: 700; font-size: 14px; line-height: 1.9; color: #b5a7a1; }
@media (max-width: 1100px) {
.value-hero-stage { gap: 24px; min-height: 560px; }
.value-hero-copy h2 em { font-size: 5.7vw; }
.value-intro { font-size: 15px; }
.value-photo-note { left: -12px; min-width: 0; padding: 22px; }
.value-worry-glass { padding-inline: 15px; }
.value-worry { padding-inline: 18px; }
.value-worry h3 { font-size: 18px; }
}
@media (max-width: 900px) {
.value-hero-stage { grid-template-columns: 1fr; gap: 30px; padding-top: 40px; }
.value-hero-copy h2 em { font-size: clamp(48px, 8vw, 72px); }
.value-intro { max-width: 620px; }
.value-hero-visual { width: min(520px, 78%); justify-self: end; margin-top: -36px; padding-bottom: 62px; }
.value-hero-photo { aspect-ratio: 1.4; }
.value-photo-note { left: -65px; bottom: 30px; }
.value-worry-glass { padding: 34px 22px; }
.value-worry-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 0; }
.value-worry:nth-child(3) { border-left: 0; }
.value-worry h3 { font-size: 21px; }
.value-worry figure { max-width: 210px; }
}
@media (max-width: 700px) {
.value-hero-stage { gap: 28px; padding-top: 40px; }
.value-hero-lead { font-size: clamp(16px, 4.5vw, 24px); }
.value-hero-worry { font-size: clamp(25px, 6.7vw, 36px); }
.value-hero-copy h2 em { font-size: clamp(32px, 8.8vw, 60px); }
.value-intro { max-width: 560px; margin-top: 23px; font-size: 14px; line-height: 2.1; }
.value-scroll-link { margin-top: 24px; }
.value-hero-visual { width: 86%; margin-top: 0; padding: 8px 0 58px; }
.value-hero-photo { border-top-left-radius: 66px; }
.value-photo-note { left: -34px; bottom: 24px; padding: 17px 19px; }
.value-photo-note p { font-size: 12px; }
.value-photo-note > span { font-size: 10px; }
.value-worry-glass { padding: 26px 8px 30px; border-radius: 14px; }
.value-worry-list { gap: 30px 0; }
.value-worry { padding-inline: 6px; }
.value-small-number { font-size: 18px; }
.value-worry figure { margin-block: 15px; }
.value-worry h3 { font-size: 16px; }
.value-worry p { margin-top: 12px; font-size: 12px; line-height: 1.9; }
}
@media screen and (prefers-reduced-motion: no-preference) {
.js .value-hero-stage [data-hero-part] { opacity: 0; translate: 0 18px; }
.js .value-hero-stage.is-inview [data-hero-part] { animation: value-hero-enter 1s cubic-bezier(.22, 1, .36, 1) both; }
.js .value-hero-stage.is-inview .value-hero-worry { animation-delay: .12s; }
.js .value-hero-stage.is-inview .value-hero-copy h2 em { animation-delay: .24s; }
.js .value-hero-stage.is-inview .value-intro { animation-delay: .36s; }
.js .value-hero-stage.is-inview .value-scroll-link { animation-delay: .45s; }
.js .value-hero-stage.is-inview .value-hero-visual { animation-delay: .18s; animation-duration: 1.2s; }
@keyframes value-hero-enter { to { opacity: 1; translate: none; } }
}
@media print {
.value-scroll-link { display: none; }
.value-worry-glass, .value-photo-note { background: #fff; border-color: #ddd; box-shadow: none; backdrop-filter: none; }
.value-worry { break-inside: avoid; }
}

.value-hero-stage { --value-ink: #212c30; --value-orange: var(--color-accent); isolation: isolate; overflow: clip; color: var(--value-ink); }
.value-hero-stage #strengthsCoreTitle, .value-worry-glass { scroll-margin-top: 116px; }
.strengths-core > .inner-container > .value-worry-glass { margin-top: 20px; }
.value-worry-glass { color: #212c30; background: #ffffff63; }
@media (max-width: 900px) { .strengths-core > .inner-container > .value-worry-glass { margin-top: 20px; } }
@media (max-width: 700px) { .strengths-core > .inner-container > .value-worry-glass { margin-top: 16px; } }
@media screen and (prefers-reduced-motion: no-preference) { .js .value-hero-stage[data-reveal] { opacity: 1; translate: none; transition: none; } }
@media print, (prefers-reduced-motion: reduce) { .value-hero-stage, .value-hero-stage [data-hero-part], .value-worry-glass { opacity: 1 !important; translate: none !important; animation: none !important; transition: none !important; } }
@media print { .value-hero-stage::before { display: none; } .value-worry-glass { background: #fff; } }


.strengths-works .number-card-list { position: relative; z-index: 2; margin-top: -112px; }
.strengths-works .number-card { border: 1px solid rgba(255, 255, 255, .85); background: rgba(255, 255, 255, .60); -webkit-backdrop-filter: blur(22px) saturate(1.7); backdrop-filter: blur(22px) saturate(1.7); box-shadow: 0 12px 34px rgba(25, 25, 25, .12), 0 2px 6px rgba(25, 25, 25, .05); }
@media (min-width: 701px) and (max-width: 1280px) { .strengths-works .number-card-list { margin-top: -85px; } }
@media (max-width: 700px) { .strengths-works .number-card-list { margin-top: -64px; } }
@media print { .strengths-works .number-card-list { margin-top: 32px; } .strengths-works .number-card { background: #fff; backdrop-filter: none; box-shadow: none; border-color: #ddd; } }

.strengths-core { position: relative; isolation: isolate; overflow: visible; background: #fff; }
.strengths-page > .page-hero > .inner-container { position: relative; z-index: 2; }
.value-core-backdrop { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
@media print { .value-core-backdrop { display: none; } }
.strengths-core .value-hero-stage { min-height: 0; padding-bottom: 0; }
.strengths-core .value-hero-visual { padding-bottom: 44px; }
@media (max-width: 700px) { .strengths-core .value-hero-visual { padding-bottom: 40px; } }


.value-hero-copy h2, .value-hero-copy h2 em, .value-intro { color: #fff; font-weight: 900; }
@media print { .value-hero-copy h2, .value-hero-copy h2 em, .value-intro { color: #212c30; } }

.strengths-page > .hero-simple { background: none; }
.strengths-core { --core-hero-h: 580px; --core-wave-h: 170px; --core-orange-bottom: 188px; padding: 0 0 40px; }
.value-core-backdrop {
  inset: calc(var(--core-hero-h) * -1) 0 var(--core-orange-bottom);
  background: radial-gradient(circle 108vw at 100% 0, #ff4b5a, #ff4b5a00), #ff7d36;
  -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--core-wave-h) + 1px) no-repeat, url("../../_images/strengths/core-wave.svg") bottom / 100% var(--core-wave-h) no-repeat;
  mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--core-wave-h) + 1px) no-repeat, url("../../_images/strengths/core-wave.svg") bottom / 100% var(--core-wave-h) no-repeat;
}
.strengths-core .value-hero-stage { grid-template-columns: minmax(0, 585fr) minmax(0, 615fr); gap: 0; padding: 0; overflow: visible; }
.strengths-core .value-hero-visual { padding: 0; margin-right: min(calc(600px - 50vw), calc(var(--gutter) * -1)); }
.strengths-core .value-hero-photo { aspect-ratio: 735 / 463; border-radius: 999px 0 0 999px; }
.strengths-core > .inner-container > .value-worry-glass { margin-top: 123px; background: #ffffff99; }
.strengths-works { padding-top: 96px; }

.works-marquee { --marquee-scale: 1; margin: 24px calc(50% - 50vw) 0; overflow: hidden; }
.works-marquee-track { display: flex; width: max-content; mix-blend-mode: multiply; animation: works-marquee 80s linear infinite; }
.works-marquee-set { display: flex; flex: none; align-items: center; gap: 64px; height: calc(190px * var(--marquee-scale)); padding-right: 64px; }
.works-marquee-item { display: block; flex: none; }
.works-marquee-item svg { display: block; width: auto; height: calc(var(--h) * var(--marquee-scale)); }
@keyframes works-marquee { to { translate: -50% 0; } }
.strengths-works .number-card-list { margin-top: -72px; }

@media (max-width: 1280px) {
  .works-marquee { --marquee-scale: .8; }
  .works-marquee-set { gap: 52px; padding-right: 52px; }
}
@media (min-width: 701px) and (max-width: 1280px) {
  .strengths-works { padding-top: 64px; }
  .strengths-works .number-card-list { margin-top: -56px; }
}
@media (max-width: 900px) {
  .strengths-core { --core-hero-h: 360px; padding: 56px 0 32px; }
  .strengths-core .value-hero-stage { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .strengths-core .value-hero-visual { justify-self: stretch; width: auto; margin: 0 min(calc(600px - 50vw), calc(var(--gutter) * -1)) 0 10%; }
  .strengths-core .value-hero-photo { aspect-ratio: 1.6; }
  .strengths-core > .inner-container > .value-worry-glass { margin-top: 56px; }
}
@media (max-width: 700px) {
  .strengths-core { --core-hero-h: 300px; --core-wave-h: 90px; padding: 40px 0 24px; }
  .strengths-core .value-hero-stage { gap: 32px; }
  .strengths-core .value-hero-visual { margin-left: 6%; }
  .strengths-core > .inner-container > .value-worry-glass { margin-top: 40px; background: #ffffffcc; }
  .strengths-works { padding-top: 48px; }
  .works-marquee { --marquee-scale: .6; margin-top: 20px; }
  .works-marquee-track { animation-duration: 50s; }
  .works-marquee-set { gap: 36px; padding-right: 36px; }
  .strengths-works .number-card-list { margin-top: -40px; }
}
@media print, (prefers-reduced-motion: reduce) {
  .works-marquee-track { animation: none; }
}
@media print {
  .strengths-works .number-card-list { margin-top: 32px; }
}

.strengths-page .hero-simple-head::before { background: #fff; }
.strengths-core .value-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .1)); pointer-events: none; }

.compare-us.compare-text, .compare-other.compare-text { text-align: center; }
.strengths-compare { position: relative; z-index: 1; }
.value-worry-answer { margin: 48px 0 0; font-weight: 900; font-size: 34px; line-height: 1.5; letter-spacing: var(--letter-spacing-base); color: var(--color-text); text-align: center; }
.value-worry-answer > span { display: inline-block; vertical-align: middle; }
.value-worry-answer > span:first-child { margin-right: .5em; padding: 5px 25px; border-radius: 100px; background: var(--color-accent); font-size: calc(30em / 34); color: #fff; }
@media (max-width: 700px) {
  .value-worry-answer > span:first-child { display: table; margin: 0 auto 12px; }
}
.value-worry-answer > span:last-child { color: var(--color-accent); }
.strengths-core { --core-orange-bottom: 334px; padding-bottom: 80px; }
.strengths-works { padding-top: 100px; }
@media (max-width: 1280px) {
  .value-worry-answer { margin-top: 40px; font-size: 30px; }
  .strengths-core { --core-orange-bottom: 320px; }
  .strengths-works { padding-top: 128px; }
}
@media (max-width: 900px) {
  .strengths-core { --core-orange-bottom: 312px; padding-bottom: 64px; }
}
@media (max-width: 700px) {
  .value-worry-answer { margin-top: 32px; font-size: 22px; }
  .strengths-core { --core-orange-bottom: 332px; padding-bottom: 48px; }
  .strengths-works { padding-top: 96px; }
}
.compare-us.compare-mark { padding-left: 26px; }
.compare-other.compare-mark { padding-left: 32px; }
@media (max-width: 1280px) {
  .compare-us.compare-mark { padding-left: 16px; }
  .compare-other.compare-mark { padding-left: 22px; }
}
@media (max-width: 900px) {
  .compare-us.compare-mark { padding-left: 13px; }
  .compare-other.compare-mark { padding-left: 14px; }
}
@media (max-width: 700px) {
  .compare-us.compare-mark, .compare-other.compare-mark { padding-left: 8px; }
}

.strengths-points { isolation: isolate; padding-bottom: 164px; background: linear-gradient(180deg, #ffe2d4, #fff4ef 1440px); }
.strengths-ring {
  position: absolute;
  z-index: -1;
  top: -17.4vw;
  left: calc(100% - 91.3vw);
  display: block;
  width: 189.6vw;
  max-width: none;
  height: auto;
  aspect-ratio: 1;
  pointer-events: none;
}
.strengths-ring-line { stroke-width: 34.52vw; }
@media (max-width: 1280px) {
  .strengths-ring { height: calc(100% + 17.4vw); aspect-ratio: auto; }
}
.strengths-page .strengths-links, .strengths-points + .strengths-links { padding: 116px 0 130px; background: var(--color-accent); }
.strengths-links .bar-title { color: #fff; }
.strengths-links .bar-title::before { background: #fff; }
@media (max-width: 1280px) {
  .strengths-page .strengths-links, .strengths-points + .strengths-links { padding: 88px 0 96px; }
}
@media (max-width: 900px) {
  .strengths-points { padding-bottom: 110px; }
}
@media (max-width: 700px) {
  .compare-us.compare-text, .compare-other.compare-text { text-align: left; }
  .strengths-points { padding-bottom: 80px; }
  .strengths-page .strengths-links, .strengths-points + .strengths-links { padding: 64px 0 72px; }
}
@media print {
  .strengths-ring, .strengths-core .value-hero-photo::after { display: none; }
}
@media screen and (prefers-reduced-motion: no-preference) {
  .js .value-hero-stage .value-hero-visual { opacity: 1; translate: none; }
  .js .value-hero-stage.is-inview .value-hero-visual { animation: none; }
  .js .strengths-core .value-hero-photo { clip-path: inset(0 0 0 100% round 999px 0 0 999px); }
  .js .strengths-core .value-hero-photo img { scale: 1.18; }
  .js .strengths-core .value-hero-stage.is-inview .value-hero-photo { animation: value-photo-reveal 1.3s cubic-bezier(.77, 0, .18, 1) .2s both; }
  .js .strengths-core .value-hero-stage.is-inview .value-hero-photo img { animation: value-photo-zoom 2.6s cubic-bezier(.22, 1, .36, 1) .2s both; }
  @keyframes value-photo-reveal {
    from { clip-path: inset(0 0 0 100% round 999px 0 0 999px); }
    to { clip-path: inset(0 round 999px 0 0 999px); }
  }
  @keyframes value-photo-zoom {
    from { scale: 1.18; }
    to { scale: 1; }
  }
}
