:root {
  --color-gold: #ab8c1f;
  --color-gold-pale: #f0ead7;
  --color-gold-light: #d5c68f;
  --color-gold-mist: #f1eddb;
  --color-gold-faint: #f7f5eb;
  --color-case: #e2d7b1;
  --color-base: #f8f7f3;
  --color-text: #000;
  --color-ink: #231815;
  --color-table-line: #534741;
  --color-gray: #999;
  --color-gray-dark: #666;
  --color-gray-mid: #808080;
  --color-q: #f2f2f2;
  --color-line: #06c755;
  --color-white: #fff;
  --color-map: #ccc;
  --font-base: "Noto Sans JP", sans-serif;
}

body:has(> .showroom) {
  margin: 0;
}

.showroom {
  --u: min(1px, calc(100cqw / 1920));
  --gutter: calc((100cqw - 1920 * var(--u)) / 2 + 225 * var(--u));
  --gutter-end: var(--gutter);
  container-type: inline-size;
  overflow-x: clip;
  background: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-base);
  font-weight: 500;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@media (max-width: 1024px) {
  .showroom {
    --u: min(2px, calc(100cqw / 360));
    --gutter: calc((100cqw - 360 * var(--u)) / 2 + 30 * var(--u));
    --gutter-end: calc(var(--gutter) - 8 * var(--u));
  }
}

:where(.showroom) :where(*, *::before, *::after) {
  box-sizing: border-box;
}
:where(.showroom) :where(h1, h2, h3, p, ul, ol, dl, dd, figure, table) {
  margin: 0;
  padding: 0;
}
:where(.showroom) :where(ul, ol) {
  list-style: none;
}
:where(.showroom) :where(img) {
  display: block;
  max-width: none;
  height: auto;
}
:where(.showroom) :where(a) {
  color: inherit;
}
:where(.showroom) :where(a:focus-visible) {
  outline: 3px solid var(--color-gold);
  outline-offset: 3px;
}

.br--sp {
  display: none;
}
@media (max-width: 1024px) {
  .br--sp {
    display: inline;
  }
}

@media (max-width: 1024px) {
  .br--pc {
    display: none;
  }
}

.eyebrow {
  color: var(--color-gold);
  font-size: calc(32.2 * var(--u));
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .eyebrow {
    font-size: round(up, max(10px, 13.2 * var(--u)), 1px);
  }
}

.heading {
  margin-top: calc(11.4 * var(--u));
  font-feature-settings: "palt";
  font-size: calc(50 * var(--u));
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (max-width: 1024px) {
  .heading {
    margin-top: calc(4 * var(--u));
    letter-spacing: 0;
    font-size: round(up, max(10px, 18 * var(--u)), 1px);
    line-height: 1.4;
  }
}

.heading-lead {
  margin-top: calc(14.2 * var(--u));
  font-size: calc(26 * var(--u));
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .heading-lead {
    margin-top: calc(6 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.dash-list li {
  position: relative;
  padding-left: 1.2em;
}
.dash-list li::before {
  position: absolute;
  top: round(0.5lh - 0.05em, 1px);
  left: 0.06em;
  width: 0.8em;
  height: max(2px, round(0.12em, 1px));
  background: var(--color-gold);
  content: "";
}

.hero {
  position: relative;
  height: calc(719 * var(--u));
  padding: calc(60.5 * var(--u)) 0 0 var(--gutter);
}
@media (max-width: 1024px) {
  .hero {
    display: grid;
    grid-template-areas: "logo tagline" "image image" "body body" "actions actions";
    grid-template-columns: 1fr calc(111.6 * var(--u));
    align-items: center;
    height: auto;
    padding: 0 var(--gutter) calc(32 * var(--u));
  }
}

.hero__logo {
  margin-left: calc(-100 * var(--u));
}
.hero__logo img {
  width: calc(622 * var(--u));
}
@media (max-width: 1024px) {
  .hero__logo {
    grid-area: logo;
    margin: calc(12 * var(--u)) 0 calc(11 * var(--u)) calc(-8.3 * var(--u));
  }
  .hero__logo img {
    width: calc(136 * var(--u));
  }
}

.hero__tagline {
  font-feature-settings: "palt";
  margin-top: calc(47 * var(--u));
  font-size: calc(29 * var(--u));
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .hero__tagline {
    grid-area: tagline;
    justify-self: end;
    width: max-content;
    margin: 0 calc(-10 * var(--u)) 0 0;
    font-size: round(down, max(10px, 9.6 * var(--u)), 1px);
  }
}

@media (max-width: 1024px) {
  .hero__media {
    grid-area: image;
    margin-inline: calc(var(--gutter) * -1);
  }
}

.hero__image {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(1045 * var(--u));
}
@media (max-width: 1024px) {
  .hero__image {
    position: static;
    width: 100%;
  }
}

.hero__body {
  position: relative;
}
@media (max-width: 1024px) {
  .hero__body {
    grid-area: body;
    align-self: start;
    margin-top: calc(20 * var(--u));
  }
}

.hero__title {
  margin-top: calc(29.2 * var(--u));
  font-feature-settings: "palt";
  font-size: calc(86 * var(--u));
  font-weight: 700;
  line-height: 1.263;
}
@media (max-width: 1024px) {
  .hero__title {
    margin-top: 0;
    font-size: round(up, max(10px, 27.6 * var(--u)), 1px);
    font-weight: 900;
    line-height: 1.26;
  }
}

.hero__lead {
  margin-top: calc(27.7 * var(--u));
  font-size: calc(31.1 * var(--u));
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .hero__lead {
    margin-top: calc(4.7 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    letter-spacing: 0;
  }
}

.hero__actions {
  position: relative;
  display: flex;
  gap: calc(24.4 * var(--u));
  margin-top: calc(17.4 * var(--u));
}
@media (max-width: 1024px) {
  .hero__actions {
    display: grid;
    grid-area: actions;
    grid-template-columns: auto 1fr;
    gap: calc(8 * var(--u));
    margin-top: calc(18 * var(--u));
  }
}

.hero__button {
  display: grid;
  place-items: center;
  width: calc(288.6 * var(--u));
  height: calc(77.1 * var(--u));
  border-radius: 999px;
  background: var(--color-gold);
  color: var(--color-white);
  font-feature-settings: "palt";
  font-size: calc(21.1 * var(--u));
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
@media (max-width: 1024px) {
  .hero__button {
    width: 100%;
    height: calc(38.6 * var(--u));
    padding-inline: calc(14 * var(--u));
    font-size: round(up, max(10px, 13.2 * var(--u)), 1px);
    white-space: nowrap;
  }
}

.hero__button--outline {
  width: calc(207 * var(--u));
  border: calc(3.3 * var(--u)) solid var(--color-gold);
  background: var(--color-white);
  color: var(--color-gold);
}
@media (max-width: 1024px) {
  .hero__button--outline {
    width: 100%;
    height: calc(38.6 * var(--u));
    border-width: calc(1.6 * var(--u));
  }
}

.merit {
  padding: calc(38.1 * var(--u)) 0 calc(49.6 * var(--u));
  background: var(--color-base);
  color: var(--color-ink);
  text-align: center;
}
@media (max-width: 1024px) {
  .merit {
    padding: calc(28 * var(--u)) 0 calc(30 * var(--u));
  }
}

.merit__title {
  font-size: calc(55.2 * var(--u));
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .merit__title {
    font-size: round(up, max(10px, 19.2 * var(--u)), 1px);
  }
}

.merit__list {
  display: grid;
  grid-template-columns: repeat(4, calc(377.5 * var(--u)));
  justify-content: center;
  margin-top: calc(13.9 * var(--u));
}
@media (max-width: 1024px) {
  .merit__list {
    grid-template-columns: calc(270 * var(--u));
    margin-top: calc(14 * var(--u));
  }
}

.merit__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: calc(318.8 * var(--u));
}
.merit__item + .merit__item::before {
  position: absolute;
  top: calc(24.3 * var(--u));
  left: calc(-1.85 * var(--u));
  width: calc(3.7 * var(--u));
  height: calc(294.5 * var(--u));
  background: var(--color-gold);
  content: "";
}
@media (max-width: 1024px) {
  .merit__item {
    flex-direction: row;
    column-gap: calc(14 * var(--u));
    min-height: 0;
    padding-block: calc(12 * var(--u));
    text-align: left;
  }
  .merit__item + .merit__item::before {
    top: calc(-0.45 * var(--u));
    left: 0;
    width: 100%;
    height: calc(0.9 * var(--u));
  }
}

.merit__icon {
  width: auto;
  height: calc(148 * var(--u));
}
@media (max-width: 1024px) {
  .merit__icon {
    flex: none;
    width: calc(44 * var(--u));
    height: calc(32 * var(--u));
    object-fit: contain;
  }
}

.merit__text {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 1024px) {
  .merit__text {
    flex-flow: row wrap;
    align-items: baseline;
    row-gap: calc(5 * var(--u));
    font-feature-settings: "palt";
    white-space: nowrap;
  }
}

.merit__lead {
  margin-top: calc(27.3 * var(--u));
  font-size: calc(36 * var(--u));
}
@media (max-width: 1024px) {
  .merit__lead {
    width: 100%;
    margin-top: 0;
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.merit__em {
  margin-top: calc(14 * var(--u));
  color: var(--color-gold);
  font-size: calc(45 * var(--u));
  font-weight: 900;
}
@media (max-width: 1024px) {
  .merit__em {
    margin-top: 0;
    font-size: round(up, max(10px, 15.6 * var(--u)), 1px);
  }
}

.merit__em--large {
  margin-top: calc(15.1 * var(--u));
  font-size: calc(60 * var(--u));
}
@media (max-width: 1024px) {
  .merit__em--large {
    margin-top: 0;
    font-size: round(up, max(10px, 15.6 * var(--u)), 1px);
  }
}

.merit__sub {
  margin-top: calc(7 * var(--u));
  font-size: calc(36 * var(--u));
}
@media (max-width: 1024px) {
  .merit__sub {
    margin: 0 0 0 calc(2 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.merit__item--small .merit__lead {
  margin-top: calc(26.2 * var(--u));
  font-size: calc(28 * var(--u));
}
@media (max-width: 1024px) {
  .merit__item--small .merit__lead {
    margin-top: 0;
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}
.merit__item--small .merit__em {
  margin-top: calc(15 * var(--u));
  font-size: calc(42 * var(--u));
}
@media (max-width: 1024px) {
  .merit__item--small .merit__em {
    margin-top: 0;
    font-size: round(up, max(10px, 15.6 * var(--u)), 1px);
  }
}
.merit__item--small .merit__sub {
  margin-top: calc(10 * var(--u));
}
@media (max-width: 1024px) {
  .merit__item--small .merit__sub {
    margin-top: 0;
  }
}

.operator {
  padding: calc(31 * var(--u)) 0 calc(26.7 * var(--u));
  background: var(--color-gold);
  color: var(--color-white);
  font-weight: 700;
  text-align: center;
}
@media (max-width: 1024px) {
  .operator {
    padding: calc(26 * var(--u)) 0 calc(28 * var(--u));
  }
}

.operator__title,
.operator__name {
  font-size: calc(42 * var(--u));
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .operator__title,
  .operator__name {
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
  }
}

.operator__list {
  display: grid;
  grid-template-columns: repeat(3, calc(359.2 * var(--u)));
  gap: calc(74.9 * var(--u));
  justify-content: center;
  margin-top: calc(20.2 * var(--u));
}
@media (max-width: 1024px) {
  .operator__list {
    grid-template-columns: calc(88 * var(--u)) calc(132 * var(--u)) calc(84 * var(--u));
    gap: calc(6 * var(--u));
    white-space: nowrap;
    margin-top: calc(16 * var(--u));
  }
}

.operator__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: calc(132.8 * var(--u));
  padding-top: calc(19.2 * var(--u));
  border-radius: calc(43.2 * var(--u));
  background: var(--color-white);
  color: var(--color-text);
}
@media (max-width: 1024px) {
  .operator__item {
    height: auto;
    padding-block: calc(4.6 * var(--u));
    border-radius: calc(12.7 * var(--u));
  }
}

.operator__value {
  display: flex;
  align-items: baseline;
  line-height: 1;
}

.operator__number {
  font-size: calc(67.2 * var(--u));
}
@media (max-width: 1024px) {
  .operator__number {
    font-size: round(up, max(10px, 23.64 * var(--u)), 1px);
  }
}

.operator__unit {
  margin-left: calc(8 * var(--u));
  font-size: calc(34.9 * var(--u));
}
@media (max-width: 1024px) {
  .operator__unit {
    margin-left: calc(2 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.operator__tilde {
  font-size: calc(45 * var(--u));
}
@media (max-width: 1024px) {
  .operator__tilde {
    font-size: round(up, max(10px, 15.84 * var(--u)), 1px);
  }
}

.operator__label {
  margin-top: calc(3.7 * var(--u));
  color: var(--color-gray-dark);
  font-feature-settings: "palt";
  font-size: max(12px, 23 * var(--u));
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 1024px) {
  .operator__label {
    margin-top: calc(1.9 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.operator__name {
  margin-top: calc(23.5 * var(--u));
}
@media (max-width: 1024px) {
  .operator__name {
    margin-top: calc(16 * var(--u));
  }
}

.intro {
  position: relative;
  padding: calc(81.6 * var(--u)) 0 calc(83.8 * var(--u));
  background: var(--color-base);
}
@media (max-width: 1024px) {
  .intro {
    padding: 0 0 calc(44 * var(--u));
  }
}

.intro__image {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(692.5 * var(--u));
}
@media (max-width: 1024px) {
  .intro__image {
    position: static;
    width: 100%;
  }
}

.intro__inner {
  position: relative;
  padding-inline: var(--gutter) var(--gutter-end);
}
@media (max-width: 1024px) {
  .intro__inner {
    margin-top: calc(-20 * var(--u));
  }
}
@media (max-width: 1024px) {
  .intro__inner .eyebrow {
    text-shadow: 0 0 calc(3 * var(--u)) var(--color-base), 0 0 calc(3 * var(--u)) var(--color-base);
  }
}

.intro__title {
  margin-top: calc(11.4 * var(--u));
  font-feature-settings: "palt";
  font-size: calc(50 * var(--u));
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.5;
}
@media (max-width: 1024px) {
  .intro__title {
    letter-spacing: 0;
    margin-top: calc(4 * var(--u));
    font-size: round(up, max(10px, 18 * var(--u)), 1px);
    line-height: 1.4;
  }
}

.intro__triggers {
  margin-top: calc(14.7 * var(--u));
  font-size: calc(26 * var(--u));
  line-height: 1.846;
}
@media (max-width: 1024px) {
  .intro__triggers {
    margin-top: calc(20 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.7;
  }
}

.intro__concern {
  margin-top: calc(60 * var(--u));
}
@media (max-width: 1024px) {
  .intro__concern {
    margin-top: calc(32 * var(--u));
    padding-left: calc(9 * var(--u));
    border-left: calc(1.8 * var(--u)) solid var(--color-gold);
  }
}

.intro__lead {
  font-feature-settings: "palt";
  margin-right: calc(-30 * var(--u));
  font-size: calc(32.4 * var(--u));
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .intro__lead {
    margin-right: 0;
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
    line-height: 1.6;
    text-indent: -0.5em;
  }
}

.intro__worries {
  position: relative;
  margin-top: calc(25.2 * var(--u));
  padding-left: calc(46.3 * var(--u));
  font-size: calc(26 * var(--u));
  line-height: 1.846;
}
.intro__worries::before {
  position: absolute;
  top: calc(7.5 * var(--u));
  bottom: calc(11 * var(--u));
  left: calc(3.8 * var(--u));
  width: calc(6 * var(--u));
  background: var(--color-gold);
  content: "";
}
@media (max-width: 1024px) {
  .intro__worries {
    margin-top: calc(12 * var(--u));
    padding-left: calc(1.5 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.7;
  }
  .intro__worries::before {
    content: none;
  }
}

.intro__closing {
  font-feature-settings: "palt";
  width: fit-content;
  margin: calc(66.5 * var(--u)) auto 0;
  padding: 0 calc(30.8 * var(--u)) calc(12.3 * var(--u));
  border-bottom: calc(6 * var(--u)) solid var(--color-gold);
  font-size: calc(32.4 * var(--u));
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 1024px) {
  .intro__closing {
    width: calc(298.4 * var(--u));
    margin: calc(28 * var(--u)) 0 0 calc(0.3 * var(--u));
    padding: 0 0 calc(8 * var(--u));
    border-bottom-width: calc(2 * var(--u));
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
    line-height: 1.6;
  }
}

.promise {
  padding: calc(77.7 * var(--u)) 0 calc(93.9 * var(--u));
}
@media (max-width: 1024px) {
  .promise {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.promise__inner {
  padding-inline: var(--gutter) var(--gutter-end);
}

.promise__list {
  display: grid;
  grid-template-columns: repeat(3, calc(427.1 * var(--u)));
  justify-content: space-between;
  margin-top: calc(45.8 * var(--u));
}
@media (max-width: 1024px) {
  .promise__list {
    grid-template-columns: 1fr;
    width: calc(299.1 * var(--u));
    margin: calc(20 * var(--u)) 0 0 calc(1.5 * var(--u));
    border-top: calc(2 * var(--u)) solid var(--color-gold);
  }
}

.promise__item {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .promise__item {
    display: grid;
    grid-template-columns: calc(63.8 * var(--u)) 1fr;
    align-items: center;
    min-height: calc(65.5 * var(--u));
    border-bottom: calc(2 * var(--u)) solid var(--color-gold);
  }
}

.promise__number {
  position: relative;
  margin-bottom: -0.064em;
  color: var(--color-gold);
  font-size: calc(120.2 * var(--u));
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (max-width: 1024px) {
  .promise__number {
    margin: 0 0 0 calc(13.3 * var(--u));
    font-size: round(up, max(10px, 33.6 * var(--u)), 1px);
    text-align: left;
  }
}

.promise__body {
  flex: 1;
  padding: calc(40.1 * var(--u)) 0 calc(39.1 * var(--u));
  border-top: calc(5.3 * var(--u)) solid var(--color-gold);
  border-bottom: calc(5.3 * var(--u)) solid var(--color-gold);
}
@media (max-width: 1024px) {
  .promise__body {
    padding: calc(14 * var(--u)) 0 calc(16 * var(--u));
    border: 0;
  }
}

.promise__title {
  font-feature-settings: "palt";
  font-size: calc(37 * var(--u));
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.297;
}
@media (max-width: 1024px) {
  .promise__title {
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
    line-height: 1.4;
    white-space: normal;
  }
}

.promise__text {
  margin-top: calc(27.8 * var(--u));
  font-size: calc(26 * var(--u));
  line-height: 1.538;
}
@media (max-width: 1024px) {
  .promise__text {
    margin-top: calc(4 * var(--u));
    margin-right: calc(-8 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.6;
  }
}

.promise__em {
  color: var(--color-gold);
  font-weight: 700;
}
@media (max-width: 1024px) {
  .promise__em {
    font-weight: 500;
  }
}

.compare {
  padding: calc(71.4 * var(--u)) 0 calc(75 * var(--u));
  background: var(--color-base);
}
@media (max-width: 1024px) {
  .compare {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.compare__inner {
  padding-inline: var(--gutter) var(--gutter-end);
}

.compare__hint {
  display: none;
}
@media (max-width: 1024px) {
  .compare__hint {
    display: block;
    margin: calc(10 * var(--u)) calc(8 * var(--u)) 0 0;
    color: var(--color-gold);
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }
}

.compare__scroll {
  margin-top: calc(48.5 * var(--u));
}
@media (max-width: 1024px) {
  .compare__scroll {
    margin: calc(20 * var(--u)) calc(var(--gutter-end) * -1) 0 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
}

.compare__table {
  width: calc(1471.3 * var(--u));
  border-collapse: separate;
  border-spacing: 0;
  font-size: calc(26 * var(--u));
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .compare__table {
    width: auto;
    margin-right: var(--gutter);
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}
.compare__table th,
.compare__table td {
  height: calc(66.75 * var(--u));
  padding: 0;
  border-bottom: calc(1.4 * var(--u)) solid var(--color-table-line);
  font-weight: 500;
  vertical-align: middle;
}
@media (max-width: 1024px) {
  .compare__table th,
  .compare__table td {
    height: calc(32 * var(--u));
    padding: calc(6 * var(--u)) calc(12 * var(--u));
    border-bottom-width: calc(0.5 * var(--u));
    white-space: nowrap;
  }
}
.compare__table thead th {
  height: calc(70.2 * var(--u));
  border-bottom-width: calc(1.4 * var(--u));
  font-weight: 700;
}
@media (max-width: 1024px) {
  .compare__table thead th {
    height: calc(34 * var(--u));
  }
}
.compare__table thead th:first-child {
  font-weight: 500;
}
.compare__table th {
  text-align: center;
}
.compare__table th:first-child {
  width: calc(428.8 * var(--u));
}
@media (max-width: 1024px) {
  .compare__table th:first-child {
    width: auto;
  }
}
.compare__table td {
  border-left: calc(1.7 * var(--u)) solid var(--color-table-line);
}
@media (max-width: 1024px) {
  .compare__table td {
    border-left-width: calc(0.6 * var(--u));
  }
}
.compare__table td:nth-child(2) {
  width: calc(447.6 * var(--u));
  padding-left: calc(67.5 * var(--u));
}
@media (max-width: 1024px) {
  .compare__table td:nth-child(2) {
    width: auto;
    padding-left: calc(12 * var(--u));
  }
}
.compare__table td:nth-child(3) {
  padding-left: calc(79.7 * var(--u));
  background: var(--color-gold-pale);
}
@media (max-width: 1024px) {
  .compare__table td:nth-child(3) {
    padding-left: calc(12 * var(--u));
  }
}

.compare__general,
.compare__ours {
  border-radius: calc(18.3 * var(--u)) calc(18.3 * var(--u)) 0 0;
  color: var(--color-white);
}
@media (max-width: 1024px) {
  .compare__general,
  .compare__ours {
    border-radius: calc(6.2 * var(--u)) calc(6.2 * var(--u)) 0 0;
  }
}

.compare__table thead .compare__general {
  background: var(--color-gray);
  font-size: calc(27 * var(--u));
}
@media (max-width: 1024px) {
  .compare__table thead .compare__general {
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.compare__table thead .compare__ours {
  background: var(--color-gold);
  font-size: calc(27 * var(--u));
}
@media (max-width: 1024px) {
  .compare__table thead .compare__ours {
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.compare__note {
  margin-top: calc(35.9 * var(--u));
  font-size: calc(26 * var(--u));
  line-height: 1.846;
}
@media (max-width: 1024px) {
  .compare__note {
    margin-top: calc(20 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.7;
  }
}

.compare__keep,
.feature__keep {
  white-space: nowrap;
}

.feature {
  padding: calc(92.2 * var(--u)) 0 calc(64.2 * var(--u));
}
@media (max-width: 1024px) {
  .feature {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.feature__inner {
  padding-inline: var(--gutter) var(--gutter-end);
}

.feature__image {
  width: calc(1472 * var(--u));
  margin: calc(61.8 * var(--u)) 0 0 calc(-2.5 * var(--u));
}
@media (max-width: 1024px) {
  .feature__image {
    width: calc(299 * var(--u));
    margin: calc(20 * var(--u)) 0 0 calc(0.2 * var(--u));
  }
}

.feature__list {
  display: grid;
  grid-template-columns: repeat(3, calc(498 * var(--u)));
  row-gap: calc(20.3 * var(--u));
  margin: calc(78.3 * var(--u)) 0 0 calc(4.7 * var(--u));
}
@media (max-width: 1024px) {
  .feature__list {
    grid-template-columns: 1fr;
    row-gap: calc(28 * var(--u));
    margin: calc(24 * var(--u)) 0 0 calc(0.2 * var(--u));
  }
}

.feature__item {
  display: grid;
  grid-template-areas: "number title" "number text";
  grid-template-columns: calc(131.4 * var(--u)) 1fr;
  grid-template-rows: auto 1fr;
  column-gap: calc(28 * var(--u));
}
@media (max-width: 1024px) {
  .feature__item {
    grid-template-rows: auto auto;
    grid-template-columns: calc(40.3 * var(--u)) 1fr;
    column-gap: calc(5.2 * var(--u));
  }
}

.feature__number {
  display: grid;
  grid-area: number;
  place-items: center;
  align-self: start;
  height: calc(72.5 * var(--u));
  margin-top: calc(2.5 * var(--u));
  padding-left: calc(3.8 * var(--u));
  background: var(--color-gold);
  clip-path: polygon(0 0, 76.94% 0, 100% 50%, 76.94% 100%, 0 100%, 23.13% 50%);
  color: var(--color-white);
  font-size: calc(41.8 * var(--u));
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 1024px) {
  .feature__number {
    height: calc(34.2 * var(--u));
    margin-top: calc(1.7 * var(--u));
    padding-left: calc(1.2 * var(--u));
    font-size: round(up, max(10px, 15.36 * var(--u)), 1px);
  }
}

.feature__title {
  grid-area: title;
  font-size: calc(25 * var(--u));
  font-weight: 700;
  line-height: 1.32;
}
@media (max-width: 1024px) {
  .feature__title {
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
    line-height: 1.4;
  }
}

.feature__text {
  grid-area: text;
  margin-top: calc(10 * var(--u));
  font-size: max(12px, 15.2 * var(--u));
  font-weight: 400;
  line-height: 1.49;
}
@media (max-width: 1024px) {
  .feature__text {
    margin-top: calc(0.7 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.6;
  }
}

.feature__note {
  display: grid;
  place-items: center;
  min-height: calc(77 * var(--u));
  margin-top: calc(50.3 * var(--u));
  background: var(--color-gold-faint);
  font-size: max(12px, 19.3 * var(--u));
  font-weight: 400;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .feature__note {
    display: block;
    width: calc(300.7 * var(--u));
    min-height: 0;
    margin: calc(28 * var(--u)) 0 0 calc(0.2 * var(--u));
    padding: calc(12 * var(--u)) calc(8 * var(--u)) calc(14 * var(--u)) calc(13.9 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.faq {
  padding: calc(71.4 * var(--u)) 0 calc(105.2 * var(--u));
  background: var(--color-base);
}
@media (max-width: 1024px) {
  .faq {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.faq__inner {
  position: relative;
  padding-inline: var(--gutter) var(--gutter-end);
}

.faq__mark {
  position: absolute;
  top: calc(28 * var(--u));
  right: calc(var(--gutter) - 2 * var(--u));
  width: calc(165 * var(--u));
}
@media (max-width: 1024px) {
  .faq__mark {
    display: none;
  }
}

.faq__list {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(2, calc(697.7 * var(--u)));
  grid-template-rows: repeat(4, auto);
  justify-content: space-between;
  align-items: start;
  row-gap: calc(43.1 * var(--u));
  margin-top: calc(49.3 * var(--u));
}
@media (max-width: 1024px) {
  .faq__list {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    row-gap: calc(16 * var(--u));
    width: calc(297.4 * var(--u));
    margin: calc(20 * var(--u)) 0 0 calc(1.3 * var(--u));
  }
}

.faq__item {
  border-radius: calc(11.6 * var(--u));
  background: var(--color-white);
  box-shadow: calc(5 * var(--u)) calc(6 * var(--u)) calc(10 * var(--u)) rgba(0, 0, 0, 0.22);
}
@media (max-width: 1024px) {
  .faq__item {
    border-radius: calc(4 * var(--u));
    box-shadow: calc(1.6 * var(--u)) calc(2 * var(--u)) calc(3.4 * var(--u)) rgba(0, 0, 0, 0.22);
  }
}

.faq__q,
.faq__a {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: calc(68 * var(--u));
}
.faq__q::before,
.faq__a::before {
  position: absolute;
  top: 50%;
  left: calc(18.1 * var(--u));
  display: grid;
  place-items: center;
  width: calc(34.6 * var(--u));
  height: calc(34.6 * var(--u));
  border-radius: 50%;
  font-family: var(--font-base);
  font-size: calc(23 * var(--u));
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .faq__q,
  .faq__a {
    padding-left: calc(29 * var(--u));
  }
  .faq__q::before,
  .faq__a::before {
    left: calc(7.7 * var(--u));
    width: calc(14.7 * var(--u));
    height: calc(14.7 * var(--u));
    font-size: round(up, max(10px, 11.76 * var(--u)), 1px);
  }
}

.faq__q {
  min-height: calc(59.9 * var(--u));
  border-radius: calc(11.6 * var(--u)) calc(11.6 * var(--u)) 0 0;
  background: var(--color-gold);
  color: var(--color-q);
  font-size: calc(21 * var(--u));
  font-weight: 700;
  line-height: 1.4;
}
.faq__q::before {
  background: var(--color-q);
  color: var(--color-gold);
  content: "Q";
}
@media (max-width: 1024px) {
  .faq__q {
    min-height: calc(25.5 * var(--u));
    border-radius: calc(4 * var(--u)) calc(4 * var(--u)) 0 0;
    font-feature-settings: "palt";
    font-size: round(up, max(10px, 13.2 * var(--u)), 1px);
  }
}

.faq__a {
  min-height: calc(72.3 * var(--u));
  padding-block: calc(9 * var(--u));
  padding-right: calc(20 * var(--u));
  font-size: calc(18 * var(--u));
  line-height: 1.5;
}
.faq__a::before {
  background: var(--color-gold);
  color: var(--color-q);
  content: "A";
}
@media (max-width: 1024px) {
  .faq__a {
    min-height: calc(28.2 * var(--u));
    padding-block: calc(8 * var(--u));
    padding-right: 0;
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.6;
  }
}

.flow {
  position: relative;
  padding: calc(78.4 * var(--u)) 0 calc(120.8 * var(--u));
}
@media (max-width: 1024px) {
  .flow {
    padding: 0 0 calc(44 * var(--u));
  }
}

.flow__image {
  position: absolute;
  top: calc(-1.4 * var(--u));
  right: 0;
  width: calc(662.5 * var(--u));
}
@media (max-width: 1024px) {
  .flow__image {
    position: static;
    width: 100%;
  }
}

.flow__inner {
  position: relative;
  padding-inline: var(--gutter) var(--gutter-end);
}
@media (max-width: 1024px) {
  .flow__inner {
    margin-top: calc(-20 * var(--u));
  }
}
.flow__inner .heading {
  font-size: calc(51.5 * var(--u));
}
@media (max-width: 1024px) {
  .flow__inner .heading {
    font-size: round(up, max(10px, 18 * var(--u)), 1px);
  }
}

.flow__list {
  display: grid;
  grid-template-columns: calc(329.9 * var(--u)) calc(303.7 * var(--u)) calc(308.3 * var(--u)) calc(286.1 * var(--u)) 1fr;
  width: calc(1499.1 * var(--u));
  min-height: calc(523.2 * var(--u));
  margin: calc(54.5 * var(--u)) 0 0 calc(-13.9 * var(--u));
  padding-left: calc(15.4 * var(--u));
  background: url("../img/flow-line.svg") no-repeat 0 0/calc(1499.1 * var(--u)) calc(523.2 * var(--u));
}
@media (max-width: 1024px) {
  .flow__list {
    position: relative;
    grid-template-columns: 1fr;
    row-gap: calc(26 * var(--u));
    width: auto;
    min-height: 0;
    margin: calc(20 * var(--u)) 0 0;
    padding-left: 0;
    background: none;
  }
}

@media (max-width: 1024px) {
  .flow__item {
    position: relative;
    display: grid;
    grid-template-areas: "step title" "step text";
    grid-template-columns: calc(46 * var(--u)) 1fr;
    column-gap: calc(8.3 * var(--u));
    align-items: start;
  }
  .flow__item:not(:last-child)::after {
    position: absolute;
    top: calc(23 * var(--u));
    left: calc(21.15 * var(--u));
    width: calc(3.7 * var(--u));
    height: calc(100% + calc(26 * var(--u)));
    background: var(--color-gold);
    content: "";
  }
}
.flow__item:first-child {
  padding-left: calc(22 * var(--u));
}
@media (max-width: 1024px) {
  .flow__item:first-child {
    padding-left: 0;
  }
}

.flow__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(121.6 * var(--u));
  height: calc(121.6 * var(--u));
  padding-top: calc(21.3 * var(--u));
  border-radius: 50%;
  background: var(--color-gold);
  color: var(--color-white);
  font-size: calc(21.2 * var(--u));
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 1024px) {
  .flow__step {
    position: relative;
    z-index: 1;
    grid-area: step;
    width: calc(46 * var(--u));
    height: calc(46 * var(--u));
    margin-top: calc(0.5 * var(--u));
    padding-top: calc(7 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.flow__number {
  margin-top: calc(3.7 * var(--u));
  font-size: calc(56.2 * var(--u));
}
@media (max-width: 1024px) {
  .flow__number {
    margin-top: calc(1 * var(--u));
    font-size: round(up, max(10px, 19.2 * var(--u)), 1px);
  }
}

.flow__title {
  margin-top: calc(33.3 * var(--u));
  white-space: nowrap;
  font-size: calc(31.9 * var(--u));
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .flow__title {
    grid-area: title;
    margin-top: 0;
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
    line-height: 1.4;
    white-space: normal;
  }
}

.flow__text {
  width: calc(212 * var(--u));
  margin-top: calc(74 * var(--u));
  padding-left: calc(3 * var(--u));
  font-feature-settings: "palt";
  font-size: max(12px, 19 * var(--u));
  letter-spacing: 0.05em;
  line-height: 1.674;
}
@media (min-width: 1025px) and (max-width: 1279px) {
  @supports (word-break: auto-phrase) {
    .flow__text {
      text-wrap: pretty;
    }
  }
}
@media (max-width: 1024px) {
  .flow__text {
    grid-area: text;
    width: auto;
    margin-top: calc(0.7 * var(--u));
    padding-left: 0;
    letter-spacing: 0;
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.6;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  .flow__tail {
    white-space: nowrap;
  }
}

.prepare {
  padding: calc(71.4 * var(--u)) 0 calc(141.8 * var(--u));
  background: var(--color-base);
}
@media (max-width: 1024px) {
  .prepare {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.prepare__inner {
  padding-inline: var(--gutter) var(--gutter-end);
}

.prepare__body {
  display: grid;
  grid-template-areas: "image items" "image merits";
  grid-template-columns: calc(800.5 * var(--u)) 1fr;
  grid-template-rows: auto 1fr;
  column-gap: calc(82.9 * var(--u));
  margin: calc(55.6 * var(--u)) 0 0 calc(2 * var(--u));
}
@media (max-width: 1024px) {
  .prepare__body {
    grid-template-areas: "image items" "merits merits";
    grid-template-columns: calc(138.3 * var(--u)) 1fr;
    grid-template-rows: auto;
    column-gap: calc(17.6 * var(--u));
    margin: calc(20 * var(--u)) 0 0 calc(1.2 * var(--u));
  }
}

.prepare__media {
  grid-area: image;
}

.prepare__image {
  width: calc(800.5 * var(--u));
}
@media (max-width: 1024px) {
  .prepare__image {
    width: calc(138.3 * var(--u));
  }
}

.prepare__items {
  grid-area: items;
  font-size: calc(30 * var(--u));
  line-height: 1.31;
}
.prepare__items li + li {
  margin-top: calc(25.5 * var(--u));
}
@media (max-width: 1024px) {
  .prepare__items {
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.5;
  }
  .prepare__items li + li {
    margin-top: calc(10 * var(--u));
  }
}

.prepare__paren {
  display: block;
  margin-left: -0.5em;
}

.prepare__keep {
  white-space: nowrap;
}

.prepare__merits {
  grid-area: merits;
  margin: calc(79.6 * var(--u)) 0 0 calc(5.3 * var(--u));
  color: var(--color-gold);
  font-size: calc(33 * var(--u));
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.prepare__merits li {
  display: flex;
  gap: calc(16.8 * var(--u));
  align-items: center;
}
.prepare__merits li::before {
  flex: none;
  width: calc(47 * var(--u));
  height: calc(47 * var(--u));
  background: url("../img/check.svg") no-repeat center/contain;
  content: "";
}
.prepare__merits li + li {
  margin-top: calc(27.8 * var(--u));
}
@media (max-width: 1024px) {
  .prepare__merits {
    justify-self: center;
    margin: calc(24 * var(--u)) 0 0 calc(-8 * var(--u));
    font-size: round(up, max(10px, 15.6 * var(--u)), 1px);
  }
  .prepare__merits li {
    gap: calc(5.9 * var(--u));
  }
  .prepare__merits li::before {
    width: calc(16.8 * var(--u));
    height: calc(16.8 * var(--u));
  }
  .prepare__merits li + li {
    margin-top: calc(10 * var(--u));
  }
}

.place {
  padding: calc(123.4 * var(--u)) 0 calc(113 * var(--u));
}
@media (max-width: 1024px) {
  .place {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.place__inner {
  padding-inline: var(--gutter) var(--gutter-end);
}

.place__map {
  height: calc(849.3 * var(--u));
  margin-left: calc(-1.2 * var(--u));
  overflow: hidden;
  border-radius: calc(61.3 * var(--u));
  background: var(--color-map);
}
.place__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 1024px) {
  .place__map {
    height: calc(173.2 * var(--u));
    margin-left: calc(0.2 * var(--u));
    border-radius: calc(12.5 * var(--u));
  }
}

.place__info {
  display: grid;
  grid-template-columns: repeat(2, calc(699.8 * var(--u)));
  justify-content: space-between;
  margin: calc(44.9 * var(--u)) 0 0 calc(1.5 * var(--u));
}
@media (max-width: 1024px) {
  .place__info {
    grid-template-columns: 1fr;
    width: calc(297.1 * var(--u));
    margin: calc(16 * var(--u)) 0 0 calc(0.9 * var(--u));
  }
}

.place__list--sub {
  margin-top: calc(58.3 * var(--u));
}
.place__list--sub .place__row:first-child {
  min-height: calc(63.3 * var(--u));
  border-top: calc(2.5 * var(--u)) solid var(--color-gold);
}
@media (max-width: 1024px) {
  .place__list--sub {
    margin-top: 0;
  }
  .place__list--sub .place__row:first-child {
    min-height: calc(32 * var(--u));
    border-top: 0;
  }
}

.place__row {
  display: flex;
  align-items: center;
  min-height: calc(60.8 * var(--u));
  border-bottom: calc(2.5 * var(--u)) solid var(--color-gold);
  font-size: calc(28.5 * var(--u));
  line-height: 1.4;
}
.place__row dt {
  flex: none;
  width: calc(218.2 * var(--u));
  padding-left: calc(2.9 * var(--u));
  color: var(--color-gold);
}
.place__row dd {
  font-weight: 400;
}
@media (max-width: 1024px) {
  .place__row {
    min-height: calc(32 * var(--u));
    border-bottom-width: calc(1 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
  .place__row dt {
    width: calc(70.5 * var(--u));
    padding-left: calc(1.2 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.place__hang {
  margin-left: -0.5em;
}

.company {
  position: relative;
  padding: calc(71.4 * var(--u)) 0 calc(130.6 * var(--u));
  background: var(--color-base);
}
@media (max-width: 1024px) {
  .company {
    padding: 0 0 calc(44 * var(--u));
  }
}

.company__image {
  position: absolute;
  top: calc(150.9 * var(--u));
  right: calc(1 * var(--u));
  width: calc(825 * var(--u));
}
@media (max-width: 1024px) {
  .company__image {
    position: static;
    width: 100%;
  }
}

.company__inner {
  position: relative;
  padding-inline: var(--gutter) var(--gutter-end);
}
@media (max-width: 1024px) {
  .company__inner {
    margin-top: calc(-20 * var(--u));
  }
}
.company__inner .heading-lead {
  margin-top: calc(13.5 * var(--u));
}
@media (max-width: 1024px) {
  .company__inner .heading-lead {
    margin-top: calc(6 * var(--u));
  }
}

.company__text {
  margin-top: calc(27.7 * var(--u));
  font-size: max(12px, 20 * var(--u));
  font-weight: 400;
  line-height: 1.85;
}
@media (max-width: 1024px) {
  .company__text {
    margin-top: calc(20 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.7;
  }
}

.company__list {
  width: calc(732.8 * var(--u));
  margin: calc(52.5 * var(--u)) 0 0 calc(1.5 * var(--u));
}
@media (max-width: 1024px) {
  .company__list {
    width: calc(296.5 * var(--u));
    margin: calc(24 * var(--u)) 0 0 calc(1.7 * var(--u));
  }
}

.company__row {
  display: flex;
  padding: calc(10.5 * var(--u)) 0 calc(9 * var(--u));
  border-bottom: calc(3 * var(--u)) solid var(--color-gray-mid);
  font-size: max(12px, 23 * var(--u));
  line-height: 1.1;
}
.company__row dt {
  flex: none;
  width: calc(170.7 * var(--u));
  padding-left: calc(2.3 * var(--u));
  color: var(--color-gray-mid);
}
.company__row dd {
  font-weight: 400;
}
@media (max-width: 1024px) {
  .company__row {
    align-items: center;
    padding: calc(9 * var(--u)) 0 calc(8 * var(--u));
    border-bottom-width: calc(1.3 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.4;
  }
  .company__row dt {
    width: calc(58.6 * var(--u));
    padding-left: calc(0.1 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
  .company__row dd {
    font-feature-settings: "palt";
    white-space: nowrap;
  }
}

.works {
  padding: calc(66.7 * var(--u)) 0 calc(99.4 * var(--u));
}
@media (max-width: 1024px) {
  .works {
    padding: calc(40 * var(--u)) 0 calc(44 * var(--u));
  }
}

.works__inner {
  padding-inline: var(--gutter) var(--gutter-end);
}

.works__list {
  display: grid;
  grid-template-columns: repeat(3, calc(442.5 * var(--u)));
  justify-content: space-between;
  margin: calc(36.9 * var(--u)) 0 0 calc(2.5 * var(--u));
}
@media (max-width: 1024px) {
  .works__list {
    grid-template-columns: 1fr;
    row-gap: calc(28 * var(--u));
    width: calc(298.6 * var(--u));
    margin: calc(20 * var(--u)) 0 0 0;
  }
}

.works__case {
  position: relative;
  z-index: 1;
  margin-bottom: calc(-1.3 * var(--u));
  color: var(--color-case);
  font-size: calc(58.2 * var(--u));
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .works__case {
    margin-bottom: calc(-2.4 * var(--u));
    font-size: round(up, max(10px, 22.8 * var(--u)), 1px);
  }
}

.works__photos {
  display: grid;
  row-gap: calc(28 * var(--u));
}
@media (max-width: 1024px) {
  .works__photos {
    grid-template-columns: repeat(2, 1fr);
    column-gap: calc(5.4 * var(--u));
  }
}

.works__photo {
  position: relative;
}
.works__photo img {
  width: 100%;
  aspect-ratio: 442.5/264;
  object-fit: cover;
}

.works__label {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: calc(154.6 * var(--u));
  height: calc(38.4 * var(--u));
  background: var(--color-gray-dark);
  color: var(--color-white);
  font-size: calc(25.4 * var(--u));
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 1024px) {
  .works__label {
    width: calc(51.1 * var(--u));
    height: calc(12.7 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.works__photo--after .works__label {
  background: var(--color-gold);
}

.works__area {
  display: flex;
  align-items: center;
  min-height: calc(61 * var(--u));
  margin-top: calc(21.9 * var(--u));
  padding-left: calc(26.4 * var(--u));
  background: var(--color-gold-light);
  font-size: calc(23 * var(--u));
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .works__area {
    min-height: calc(16.4 * var(--u));
    margin-top: calc(5.5 * var(--u));
    padding-left: calc(6.8 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.works__spec {
  margin-top: calc(14.5 * var(--u));
  white-space: nowrap;
  font-size: max(12px, 20 * var(--u));
  font-weight: 400;
  line-height: 1.85;
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .works__spec {
    white-space: normal;
  }
  @supports (word-break: auto-phrase) {
    .works__spec {
      text-wrap: pretty;
    }
  }
}
@media (max-width: 1024px) {
  .works__spec {
    margin-top: calc(4.8 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.6;
    white-space: normal;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  .works__note {
    display: inline-block;
  }
}

.works__spec--tight {
  font-feature-settings: "palt";
}
@media (max-width: 1024px) {
  .works__spec--tight {
    font-feature-settings: normal;
  }
}

.works__text {
  display: flex;
  align-items: center;
  min-height: calc(102.8 * var(--u));
  margin-top: calc(16.5 * var(--u));
  padding: calc(10 * var(--u)) calc(26.4 * var(--u));
  background: var(--color-gold-mist);
  font-feature-settings: "palt";
  font-size: max(12px, 16 * var(--u));
  font-weight: 400;
  line-height: 1.625;
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .works__text {
    display: block;
  }
  @supports (word-break: auto-phrase) {
    .works__text {
      text-wrap: pretty;
    }
  }
  .works__text br {
    display: none;
  }
}
@media (max-width: 1024px) {
  .works__text {
    min-height: calc(38.6 * var(--u));
    margin-top: calc(4.4 * var(--u));
    padding: calc(8 * var(--u)) calc(9 * var(--u));
    font-feature-settings: normal;
    letter-spacing: 0.05em;
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
    line-height: 1.6;
  }
}

.works__tail {
  display: contents;
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .works__tail {
    display: inline;
    white-space: nowrap;
  }
}

.cta {
  padding: calc(71.4 * var(--u)) 0 calc(97.3 * var(--u));
  background: var(--color-base);
  text-align: center;
}
@media (max-width: 1024px) {
  .cta {
    padding: calc(40 * var(--u)) 0 calc(48 * var(--u));
  }
}

.cta__inner {
  padding-inline: var(--gutter);
}

@media (max-width: 1024px) {
  .cta__title {
    margin-inline: calc(-8 * var(--u));
    letter-spacing: 0.07em;
    white-space: nowrap;
  }
}

.cta__eyebrow {
  font-feature-settings: "palt";
}

.cta__text {
  margin-top: calc(17.4 * var(--u));
  font-size: calc(26 * var(--u));
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .cta__text {
    margin: calc(20 * var(--u)) calc(-8 * var(--u)) 0;
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.cta__info {
  width: calc(997 * var(--u));
  margin: calc(14.6 * var(--u)) auto 0;
  padding-top: calc(13.2 * var(--u));
  border-top: calc(3 * var(--u)) solid var(--color-gray-mid);
  font-size: calc(26 * var(--u));
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .cta__info {
    width: calc(298.7 * var(--u));
    margin-top: calc(8 * var(--u));
    padding-top: calc(6 * var(--u));
    border-top-width: calc(1 * var(--u));
    font-size: round(up, max(12px, 11.5 * var(--u)), 1px);
  }
}

.cta__sep {
  padding-inline: 1em;
}

@media (max-width: 1024px) {
  .cta__sep--pc,
  .footer__space--pc {
    display: none;
  }
}

.cta__actions {
  display: flex;
  gap: calc(35.6 * var(--u));
  justify-content: center;
  align-items: center;
  margin-top: calc(74.8 * var(--u));
}
@media (max-width: 1024px) {
  .cta__actions {
    flex-direction: column;
    gap: calc(13.1 * var(--u));
    margin-top: calc(22 * var(--u));
  }
}

.cta__button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6em;
  width: calc(329 * var(--u));
  height: calc(181.8 * var(--u));
  border-radius: calc(20.1 * var(--u));
  background: var(--color-gold);
  color: var(--color-white);
  font-size: calc(28 * var(--u));
  font-weight: 700;
  text-decoration: none;
}
@media (max-width: 1024px) {
  .cta__button {
    width: calc(241.2 * var(--u));
    height: calc(32.4 * var(--u));
    border-radius: calc(4 * var(--u));
    font-size: round(up, max(10px, 14.4 * var(--u)), 1px);
  }
}

.line-button {
  display: grid;
  grid-template-areas: "icon name play" "caption caption caption";
  grid-template-columns: calc(87.1 * var(--u)) 1fr calc(81.7 * var(--u));
  column-gap: calc(25.9 * var(--u));
  align-items: start;
  width: calc(617.8 * var(--u));
  height: calc(181.8 * var(--u));
  padding: calc(21.1 * var(--u)) calc(34.7 * var(--u)) 0 calc(22.6 * var(--u));
  border: calc(5.1 * var(--u)) solid var(--color-line);
  border-radius: calc(20.1 * var(--u));
  background: var(--color-white);
  text-align: left;
  text-decoration: none;
}
@media (max-width: 1024px) {
  .line-button {
    --u: calc(min(2px, 100cqw / 360) * 300 / 617.8);
  }
}

.line-button__icon {
  grid-area: icon;
  width: calc(87.1 * var(--u));
}

.line-button__name {
  grid-area: name;
  font-size: calc(34.2 * var(--u));
  font-weight: 700;
  line-height: 1.336;
}
@media (max-width: 1024px) {
  .line-button__name {
    font-size: round(up, 34.2 * var(--u), 1px);
    white-space: nowrap;
  }
}

.line-button__play {
  grid-area: play;
  width: calc(81.7 * var(--u));
  margin-top: calc(1.2 * var(--u));
}

.line-button__caption {
  grid-area: caption;
  margin-top: calc(15.1 * var(--u));
  color: var(--color-line);
  font-feature-settings: "palt";
  font-size: calc(27.4 * var(--u));
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .line-button__caption {
    font-size: round(27.4 * var(--u), 1px);
  }
}

.footer {
  padding: calc(58.9 * var(--u)) var(--gutter) calc(67.4 * var(--u));
  padding-left: calc(var(--gutter) + 29 * var(--u));
  background: var(--color-ink);
  color: var(--color-white);
  line-height: 1.4;
}
.footer a {
  text-decoration: none;
}
.footer a:hover {
  text-decoration: underline;
}
@media (max-width: 1024px) {
  .footer {
    padding: calc(20 * var(--u)) var(--gutter) calc(22 * var(--u));
  }
}

.footer__info {
  font-size: calc(33 * var(--u));
  font-weight: 400;
}
@media (max-width: 1024px) {
  .footer__info {
    font-size: round(down, max(10px, 9.6 * var(--u)), 1px);
  }
}

.footer__space {
  display: inline-block;
  width: 1em;
}

.footer__link {
  margin-top: calc(19.4 * var(--u));
  font-size: calc(38 * var(--u));
}
@media (max-width: 1024px) {
  .footer__link {
    margin-top: calc(10 * var(--u));
    font-size: round(down, max(10px, 9.6 * var(--u)), 1px);
  }
}
