:root {
  /* font */
  --font-zen-maru: 'Zen Maru Gothic', 'Hiragino Kaku Gothic ProN', meiryo, sans-serif;
  --font-zen-kaku: 'Zen Kaku Gothic Antique', sans-serif;
  --font-noto: 'Noto Sans', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', meiryo, sans-serif;
  --base-text-unit: 16;
  --rem-ratio: calc(1rem / var(--base-text-unit));
  --font-normal: 400;
  --font-medium: 500;
  --font-bold: 700;
  --leading-initial: 1;
  --leading-tight: 1.3;
  --leading-snug: 1.5;
  --leading-normal: 1.7;
  --leading-relaxed: 1.9;
  --leading-loose: 2;
  --tracking-tighter: -0.02em;
  --tracking-tight: 0.02em;
  --tracking-normal: 0.05em;
  --tracking-medium: 0.07em;
  --tracking-wide: 0.09em;
  --tracking-relaxed: 0.12em;

  /* size */
  --layout-width-min: 768;
  --layout-width-max: 1800;
  --layout-inner-width-min: 704;
  --layout-inner-width-max: 1240;
  --fluid-ratio-min: calc(1 / var(--layout-width-min) * 100dvi);
  --fluid-ratio-max: calc(1 / var(--layout-width-max) * 100dvi);
  --percent-ratio-min: calc(1 / var(--layout-width-min) * 100%);
  --percent-ratio-max: calc(1 / var(--layout-width-max) * 100%);
  --aspect-video: 16/9;
  --aspect-thumbnail: 1.91/1;
  --aspect-frame: 1800/105;
  --aspect-frame-sp: 770/46;
  --aspect-arrow: 20/12;
  --aspect-accordion-arrow: 23/15;
  --aspect-link-arrow: 11/7;
  --aspect-link-arrow-sp: 22/15;
  --rounded-xs: 2px;
  --rounded-s: 4px;
  --rounded-m: 8px;
  --rounded-sl: 16px;
  --rounded-l: 30px;
  --rounded-xl: 63px;
  --rounded-xxl: 100px;
  --rounded-full: 100%;

  /* color */
  --color-grayscale-0: #fff;
  --color-grayscale-100: #2f2f2f;
  --color-grayscale-1000: #000;
  --color-yellowscale-0: #fffff2;
  --color-yellowscale-100: #fffedb;
  --color-yellowscale-200: #fdffc8;
  --color-yellowscale-300: #fae21b;
  --color-yellowscale-400: #fffb32;
  --color-bluescale-0: #edf9fc;
  --color-bluescale-100: #178ceb;
  --color-bluescale-200: #0035a0;
  --color-bluescale-300: #004098;
  --color-greenscale-0: #258874;
  --color-redscale-0: #f61f1f;
  --background-base: var(--color-grayscale-0);
  --gradient-diagonal-blue-green: linear-gradient(135deg, rgb(0 64 152 / 100%), rgb(55 167 87 / 100%));
  --font-base: var(--color-grayscale-100);
  --underline-base: color-mix(in srgb, currentcolor, transparent 70%);

  /* z-index */
  --back-z-index: -1;
  --default-z-index: 1;
  --front-z-index: 2;
  --menu-z-index: 3;
  --modal-z-index: 4;

  /* motion time */
  --speed-quick: 0.3s;
  --speed-normal: 0.5s;
  --speed-slow: 1s;
  --speed-over-slow: 2s;
}

* {
  box-sizing: border-box;
  min-inline-size: 0;
  border-width: 0;
  border-style: solid;
}

:where(:root) {
  background-color: var(--background-base);
  color: var(--font-base);
  font-family: var(--font-zen-maru);
  font-style: unset;
  font-size: 100%;
  font-weight: var(--font-medium);
  font-feature-settings: 'pkna';
  text-align: start;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-normal);
  text-spacing-trim: trim-start;
  word-break: initial;
  line-break: strict;
  overflow-wrap: anywhere;
  hyphens: auto;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  min-block-size: 100svb;
  margin: unset;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin-block: unset;
  font-size: unset;
}

:where(:any-link) {
  color: unset;
  text-decoration-line: none;
  text-decoration-thickness: from-font;
  text-decoration-color: var(--underline-base);
  text-underline-offset: 0.25em;
}

::file-selector-button,
:where(button, label[for], select, [role='tab'], [role='button']) {
  cursor: pointer;
}

::file-selector-button,
:where(button) {
  inline-size: fit-content;
  touch-action: manipulation;
}

::file-selector-button,
:where(button, input, select, textarea) {
  padding: unset;
  border-width: 1px;
  border-color: transparent;
  border-radius: unset;
  background-color: unset;
  color: unset;
  font: unset;
  vertical-align: middle;
  letter-spacing: unset;
  text-align: unset;
  text-transform: unset;
  appearance: unset;
}

:where(ul, ol) {
  padding-inline-start: unset;
  list-style-type: '';
}

:where(p, blockquote, figure, pre, address, ul, ol, dl) {
  margin-block: unset;
}

:where(figure) {
  margin-inline: unset;
}

:where(img, video, canvas, audio, iframe, embed, object) {
  display: block flow;
  vertical-align: middle;
}

:where(img, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}

:where(dialog) {
  overflow: unset;
  inline-size: unset;
  block-size: unset;
  max-inline-size: unset;
  max-block-size: unset;
  padding: unset;
  background-color: unset;
  color: unset;
}

:where(em) {
  font-style: normal;
}

:where(fieldset) {
  margin: unset;
  padding: unset;
  border: unset;
}

:where(summary) {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.js-fadeup {
  opacity: 0;
  translate: 0 15px;
}

.js-fadeup.is-inview {
  opacity: 1;
  translate: 0;
  scale: 1;
  transition:
    opacity 0.3s ease 0.3s,
    translate 0.45s cubic-bezier(0.03, 0.41, 0.33, 2.23) 0.3s;
}

/* stylelint-disable selector-max-id, declaration-no-important */
.no-sp {
  display: none !important;
}

.no-pc {
  display: grid !important;
}

@media only screen and (min-width: 768px) {
  .no-sp {
    display: grid !important;
  }

  .no-pc {
    display: none !important;
  }
}
/* stylelint-enable selector-max-id, declaration-no-important */

/* layout */
.l-body--modal {
  overflow: hidden;
}

.l-mv {
  z-index: var(--front-z-index);
  position: relative;
}

.l-mv__inner {
  z-index: var(--default-z-index);
  position: relative;
}

.l-mv__inner::after {
  content: '';
  z-index: var(--front-z-index);
  position: absolute;
  inset-block-end: -0.15%;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  aspect-ratio: var(--aspect-frame-sp);
  background-color: var(--background-base);
  mask-image: url(images/frame.svg);
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-position: center;
}

.l-mv__content {
  z-index: var(--default-z-index);
  position: relative;
  padding-block: calc(64 * var(--percent-ratio-min)) calc(282 * var(--percent-ratio-min));
  background-color: var(--color-yellowscale-300);
}

.l-mv__content::before {
  content: '';
  z-index: var(--default-z-index);
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: auto;
  background: url(images/mv_bg_sp.webp) no-repeat left bottom / 100% auto;
}

.l-mv__feature {
  z-index: var(--front-z-index);
  position: relative;
  overflow: hidden;
}

.l-mv__gift {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(16 * var(--percent-ratio-min));
  inline-size: calc(705 * var(--percent-ratio-min));
  margin-inline: auto;
  margin-block-start: calc(28 * var(--percent-ratio-min));
}

.l-mv__gift-item {
  border-radius: var(--rounded-full);
  border: 5px solid var(--color-yellowscale-400);
  background-color: var(--color-yellowscale-400);
}

.l-mv__gift-item-image {
  inline-size: 100%;
}

.l-mv__button {
  z-index: var(--front-z-index);
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  display: grid;
  gap: calc(32 * var(--fluid-ratio-min));
  inline-size: calc(560 * var(--percent-ratio-min));
  margin-block-end: calc(-38 * var(--percent-ratio-min));
  translate: -50%;
}

.l-mv__button-item {
  display: block;
}

.l-mv__button-link {
  --aspect-mv-button: 560/128;

  position: relative;
  display: flex;
  align-items: center;
  aspect-ratio: var(--aspect-mv-button);
  background-color: var(--color-bluescale-200);
  border-radius: var(--rounded-m);
  box-shadow: 4px 4px 0 rgb(255 251 50 / 100%);
}

.l-mv__button-link--insurance {
  align-items: flex-start;
  padding-block-start: calc((7 / 560) * 100%);
}

.l-mv__button-link::before {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: calc((24 / 560) * 100%);
  display: block;
  inline-size: calc((40 / 560) * 100%);
  background-color: var(--background-base);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  translate: 0 -50%;
}

.l-mv__button-link--campaign::before {
  aspect-ratio: 1;
  mask-image: url(images/mv_icon_campaign.svg);
}

.l-mv__button-link--insurance::before {
  --aspect-icon-insurance: 40/35;

  aspect-ratio: var(--aspect-icon-insurance);
  mask-image: url(images/mv_icon_insurance.svg);
}

.l-mv__button-link::after {
  content: '';
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  inline-size: calc((20 / 560) * 100%);
  aspect-ratio: var(--aspect-arrow);
  margin-block-end: calc((12 / 560) * 100%);
  background-color: var(--color-yellowscale-400);
  mask-image: url(images/arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  translate: -50%;
}

.l-mv__button-text {
  font-weight: var(--font-bold);
  font-size: calc(30 * var(--fluid-ratio-min));
  color: var(--background-base);
  line-height: var(--leading-tight);
}

.l-mv__button-link--campaign .l-mv__button-text {
  margin-inline-start: calc((96 / 560) * 100%);
}

.l-mv__button-link--insurance .l-mv__button-text {
  margin-inline-start: calc((146 / 560) * 100%);
  text-align: center;
}

.l-mv__button-highlight {
  font-size: calc(40 * var(--fluid-ratio-min));
  color: var(--color-yellowscale-300);
  line-height: var(--leading-tight);
}

.l-section__inner {
  inline-size: calc(704 * var(--percent-ratio-min));
  margin-inline: auto;
}

.l-section__icon {
  inline-size: calc(134 * var(--percent-ratio-min));
  margin-inline: auto;
}

.l-campaign {
  position: relative;
  padding-block: calc(97 * var(--percent-ratio-min)) calc(104 * var(--percent-ratio-min));
  background: url(images/campaign_bg_sp.webp) no-repeat center top / cover;
}

.l-campaign::after {
  content: '';
  z-index: var(--front-z-index);
  position: absolute;
  inset-block-end: -0.1%;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  aspect-ratio: var(--aspect-frame-sp);
  background-color: var(--color-yellowscale-300);
  mask-image: url(images/frame.svg);
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-position: center;
}

.l-campaign__title {
  z-index: var(--front-z-index);
  position: relative;
  inline-size: fit-content;
  margin-inline: auto;
  padding-inline: calc((64 / var(--layout-inner-width-min)) * 100%);
  background-color: var(--background-base);
  font-weight: var(--font-medium);
  font-size: calc(40 * var(--fluid-ratio-min));
  color: var(--color-bluescale-200);
  line-height: var(--leading-snug);
}

.l-campaign__content {
  z-index: var(--default-z-index);
  position: relative;
  margin-block-start: calc((-32 / var(--layout-inner-width-min)) * 100%);
  padding-block: calc((89 / var(--layout-inner-width-min)) * 100%) calc((64 / var(--layout-inner-width-min)) * 100%);
  background-color: var(--background-base);
  border: 4px solid var(--color-yellowscale-300);
  border-radius: var(--rounded-sl);
}

.l-campaign__block:not(:first-of-type) {
  margin-block-start: calc((72 / var(--layout-inner-width-min)) * 100%);
}

.l-campaign__headiing {
  inline-size: fit-content;
  margin-block-end: calc((24 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
  padding-block: calc((9 / var(--layout-inner-width-min)) * 100%) calc((13 / var(--layout-inner-width-min)) * 100%);
  padding-inline: calc((32 / var(--layout-inner-width-min)) * 100%);
  background-color: var(--color-bluescale-300);
  border-radius: var(--rounded-xxl);
  font-weight: var(--font-bold);
  font-size: calc(32 * var(--fluid-ratio-min));
  color: var(--background-base);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-medium);
}

.l-campaign__term {
  inline-size: calc((600 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
}

.l-campaign__term-image {
  inline-size: 100%;
}

.l-campaign__description {
  inline-size: calc((600 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
  font-size: calc(32 * var(--fluid-ratio-min));
}

.l-campaign__description-highlight {
  font-weight: var(--font-bold);
  color: var(--color-bluescale-300);
}

.l-campaign__entry {
  position: relative;
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, calc((256 / var(--layout-inner-width-min)) * 100%));
  gap: calc((64 / var(--layout-inner-width-min)) * 100%);
  margin-block-start: calc((20 / var(--layout-inner-width-min)) * 100%);
}

.l-campaign__entry::before {
  --campaign-entry-arrow: 32/22;

  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: calc((32 / var(--layout-inner-width-min)) * 100%);
  aspect-ratio: var(--campaign-entry-arrow);
  background: url(images/campaign_arrow_right.svg) no-repeat center / 100% auto;
  translate: -50% -50%;
}

.l-campaign__entry-item {
  padding-block: calc((16 / 256) * 100%);
  background-color: var(--color-yellowscale-0);
  list-style: none;
}

.l-campaign__entry-heading {
  margin-block-end: calc((24 / 256) * 100%);
  font-weight: var(--font-bold);
  font-size: calc(28 * var(--fluid-ratio-min));
  color: var(--color-bluescale-200);
  text-align: center;
  letter-spacing: var(--tracking-tighter);
  line-height: var(--leading-tight);
}

.l-campaign__entry-text {
  margin-block-start: calc((16 / 256) * 100%);
  font-weight: var(--font-bold);
  font-size: calc(24 * var(--fluid-ratio-min));
  line-height: var(--leading-snug);
  color: var(--color-bluescale-300);
  text-align: center;
}

.l-campaign__gift {
  display: grid;
  gap: 32px;
  inline-size: calc((600 / var(--layout-inner-width-min)) * 100%);
  margin-block-start: calc((24 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
}

.l-campaign__gift-item {
  display: block;
}

.l-campaign__gift-image {
  inline-size: calc((440 / 600) * 100%);
  margin-inline: auto;
}

.l-campaign__gift-image-element {
  inline-size: 100%;
}

.l-campaign__accordion {
  margin-block-start: calc((16 / 600) * 100%);
}

.l-campaign__accordion-label {
  --aspect-accordion-label: 600/111;

  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: var(--aspect-accordion-label);
  background-color: var(--color-bluescale-200);
  border-radius: var(--rounded-m);
  font-weight: var(--font-bold);
  font-size: calc(32 * var(--fluid-ratio-min));
  line-height: var(--leading-tight);
  text-align: center;
  color: var(--background-base);
  cursor: pointer;
}

.l-campaign__accordion[open] .l-campaign__accordion-label {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

.l-campaign__accordion-label::before {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc((22 / 600) * 100%);
  inline-size: calc((23 / 600) * 100%);
  aspect-ratio: var(--aspect-accordion-arrow);
  background-color: var(--color-yellowscale-400);
  mask-image: url(images/arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  translate: 0 -50%;
}

.l-campaign__accordion[open] .l-campaign__accordion-label::before {
  rotate: 180deg;
}

.l-campaign__accordion-content {
  padding-block: calc((16 / 600) * 100%) calc((24 / 600) * 100%);
  padding-inline: calc((13 / 600) * 100%);
  background-color: var(--color-yellowscale-0);
}

.l-campaign__accordion-box:not(:first-of-type) {
  margin-block-start: calc((30 / 600) * 100%);
}

.l-campaign__accordion-heading {
  font-weight: var(--font-bold);
  font-size: calc(26 * var(--fluid-ratio-min));
  color: var(--color-bluescale-200);
}

.l-campaign__accordion-text {
  font-size: calc(26 * var(--fluid-ratio-min));
  font-feature-settings: 'palt';
}

.l-campaign__accordion-text:not(:first-of-type) {
  margin-block-start: calc((8 / 600) * 100%);
}

.l-campaign__note {
  inline-size: calc((600 / var(--layout-inner-width-min)) * 100%);
  margin-block-start: calc((24 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
  font-size: calc(24 * var(--fluid-ratio-min));
  text-align: right;
}

.l-campaign__other-detail {
  display: flex;
  align-items: center;
  inline-size: fit-content;
  margin-inline: auto;
  cursor: pointer;
}

.l-campaign__other-heading {
  font-weight: var(--font-bold);
  font-size: calc(32 * var(--fluid-ratio-min));
  color: var(--color-bluescale-300);
  border-block-end: 1px solid var(--color-bluescale-200);
  letter-spacing: var(--tracking-relaxed);
}

.l-campaign__other-detail::after {
  content: '';
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: calc(23 * var(--fluid-ratio-min));
  margin-block-start: calc(8 * var(--fluid-ratio-min));
  margin-inline-start: calc(8 * var(--fluid-ratio-min));
  aspect-ratio: var(--aspect-accordion-arrow);
  background-color: var(--color-bluescale-300);
  mask-image: url(images/arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  translate: 0 -50%;
}

.l-campaign__other[open] .l-campaign__other-detail::after {
  rotate: 180deg;
}

.l-campaign__other-list {
  inline-size: calc((600 / var(--layout-inner-width-min)) * 100%);
  margin-block-start: calc((16 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
}

.l-campaign__other-item {
  padding-inline: calc((17 / 600) * 100%);
  font-size: calc(26 * var(--fluid-ratio-min));
  text-indent: -1em;
}

.l-campaign__other-item:not(:first-of-type) {
  margin-block-start: calc((10 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance {
  padding-block: calc(80 * var(--percent-ratio-min)) calc(128 * var(--percent-ratio-min));
  background-color: var(--color-yellowscale-300);
}

.l-insurance__title {
  font-weight: var(--font-medium);
  font-size: calc(40 * var(--fluid-ratio-min));
  color: var(--color-bluescale-200);
  line-height: var(--leading-snug);
  text-align: center;
}

.l-insurance__card {
  display: grid;
  gap: 25px;
  margin-block-start: calc((92 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__card-item {
  --shadow-card: -4px -4px 0 rgb(254 251 50 / 100%), 4px 4px 0 rgb(235 213 26 / 100%);

  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-block-end: calc((32 / var(--layout-inner-width-min)) * 100%);
  background: var(--background-base);
  border-radius: var(--rounded-m);
  box-shadow: var(--shadow-card);
}

.l-insurance__card-item::before {
  --background-card: linear-gradient(130deg, rgb(255 255 255 / 15%) 0%, rgb(255 255 255 / 15%) 100%);

  content: '';
  z-index: var(--default-z-index);
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  background: var(--background-card);
  border-radius: var(--rounded-sl);
}

.l-insurance__pop {
  z-index: var(--menu-z-index);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: calc((36 / var(--layout-inner-width-min)) * 100%);
  inline-size: calc((195 / var(--layout-inner-width-min)) * 100%);
  margin-block-start: calc((-50 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__card-content {
  z-index: var(--front-z-index);
  position: relative;
}

.l-insurance__introduction {
  padding-block: calc((32 / var(--layout-inner-width-min)) * 100%) calc((20 / var(--layout-inner-width-min)) * 100%);
  background-color: var(--color-yellowscale-100);
  border-radius: var(--rounded-sl);
}

.l-insurance__introduction-logo {
  margin-block-end: calc((16 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
}

.l-insurance__introduction-logo--sony {
  inline-size: calc((178 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__introduction-logo--sompo {
  inline-size: calc((216 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__introduction-logo--msad,
.l-insurance__introduction-logo--zurich {
  inline-size: calc((160 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__introduction-catch {
  font-weight: var(--font-bold);
  font-size: calc(30 * var(--fluid-ratio-min));
  color: var(--color-bluescale-100);
  text-align: center;
}

.l-insurance__introduction-catch::before {
  content: '＼';
}

.l-insurance__introduction-catch::after {
  content: '／';
}

.l-insurance__introduction-heading {
  font-weight: var(--font-bold);
  font-size: calc(36 * var(--fluid-ratio-min));
  color: var(--color-bluescale-300);
  text-align: center;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-wide);
}

.l-insurance__detail {
  padding-block: calc((36 / var(--layout-inner-width-min)) * 100%);
  padding-inline: calc((32 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__list-item {
  padding-inline: calc((24 / var(--layout-inner-width-min)) * 100%);
  font-family: var(--font-zen-kaku);
  font-size: calc(30 * var(--fluid-ratio-min));
  line-height: var(--leading-snug);
  text-indent: -1em;
}

.l-insurance__list-item:not(:first-of-type) {
  margin-block-start: calc((10 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__list-highlight {
  color: var(--color-bluescale-200);
}

.l-insurance__list-sup {
  font-size: calc(18 * var(--fluid-ratio-min));
}

.l-insurance__note {
  margin-block-start: calc((36 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__note-text {
  font-family: var(--font-zen-kaku);
  font-size: calc(26 * var(--fluid-ratio-min));
  line-height: var(--leading-snug);
}

.l-insurance__note-text:not(:first-of-type, .l-insurance__note-text--number) {
  margin-block-start: calc((16 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__note-text--number {
  margin-block-start: calc((36 / var(--layout-inner-width-min)) * 100%);
}

.l-insurance__note-link {
  border-block-end: 1px solid var(--color-bluescale-300);
  color: var(--color-bluescale-300);
}

.l-insurance__note-point {
  margin-block-start: calc((36 / var(--layout-inner-width-min)) * 100%);
  padding-block: calc((12 / var(--layout-inner-width-min)) * 100%);
  padding-inline: calc((21 / var(--layout-inner-width-min)) * 100%);
  background-color: var(--color-yellowscale-100);
  border-radius: var(--rounded-s);
  font-family: var(--font-zen-kaku);
  font-weight: var(--font-bold);
  font-size: calc(26 * var(--fluid-ratio-min));
  color: var(--color-greenscale-0);
}

.l-insurance__note-highlight {
  color: var(--color-bluescale-300);
}

.l-insurance__note-attention {
  margin-block-start: calc((36 / var(--layout-inner-width-min)) * 100%);
  font-family: var(--font-zen-kaku);
  font-size: calc(26 * var(--fluid-ratio-min));
  color: var(--color-redscale-0);
}

.l-insurance__link {
  --aspect-link: 624/87;

  z-index: var(--front-z-index);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: calc((624 / var(--layout-inner-width-min)) * 100%);
  aspect-ratio: var(--aspect-link);
  margin-inline: auto;
  background-color: var(--color-bluescale-300);
  border-radius: var(--rounded-s);
  font-weight: var(--font-bold);
  font-family: var(--font-noto);
  font-size: calc(32 * var(--fluid-ratio-min));
  color: var(--background-base);
}

.l-insurance__link::after {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc((20 / 624) * 100%);
  inline-size: calc((22 / 624) * 100%);
  aspect-ratio: var(--aspect-link-arrow-sp);
  background-color: var(--background-base);
  mask-image: url(images/arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  rotate: -90deg;
  translate: 0 -50%;
}

.l-insurance__information {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: calc((24 / var(--layout-inner-width-min)) * 100%);
  inline-size: fit-content;
  margin-block-start: calc((48 / var(--layout-inner-width-min)) * 100%);
  margin-inline: auto;
}

.l-insurance__information-text {
  font-size: calc(26 * var(--fluid-ratio-min));
  line-height: var(--leading-relaxed);
  letter-spacing: var(--tracking-tighter);
}

.l-insurance__information-text--heading {
  text-align: right;
}

.l-entry {
  padding-block: calc(32 * var(--percent-ratio-min)) calc(40 * var(--percent-ratio-min));
}

.l-entry__button {
  --aspect-entry-button: 624/102;
  --shadow-entry-button: 4px 4px 0 rgb(252 230 80 / 100%);

  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: calc(624 * var(--percent-ratio-min));
  aspect-ratio: var(--aspect-entry-button);
  margin-inline: auto;
  background-color: var(--color-bluescale-300);
  border-radius: var(--rounded-s);
  box-shadow: var(--shadow-entry-button);
  font-weight: var(--font-bold);
  font-size: calc(48 * var(--fluid-ratio-min));
  color: var(--color-yellowscale-400);
  letter-spacing: var(--tracking-tighter);
}

.l-entry__button::after {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc((19 / 624) * 100%);
  inline-size: calc((22 / 624) * 100%);
  aspect-ratio: var(--aspect-link-arrow-sp);
  background-color: var(--background-base);
  mask-image: url(images/arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  rotate: -90deg;
  translate: 0 -50%;
}

.l-banner {
  padding-block: calc(80 * var(--percent-ratio-min)) calc(30 * var(--percent-ratio-min));
}

.l-banner__title {
  background: var(--gradient-diagonal-blue-green);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--font-hiragino);
  font-size: calc(38 * var(--fluid-ratio-min));
  text-align: center;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

.l-banner__image {
  margin-block-start: calc(40 * var(--percent-ratio-min));
}

.l-top-button {
  display: grid;
  place-items: center;
  place-content: center center;
  inline-size: calc((103 / 704) * 100%);
  aspect-ratio: 1;
  margin-block-start: calc((50 / 704) * 100%);
  margin-inline-start: auto;
  background: var(--gradient-diagonal-blue-green);
  border-radius: var(--rounded-full);
  font-family: var(--font-noto-jp);
  font-size: calc(12 * var(--rem-ratio));
  color: var(--color-grayscale-0);
  line-height: var(--leading-tight);
}

.l-top-button::before {
  content: '';
  inline-size: 1em;
  aspect-ratio: 1;
  background: var(--white-chevron) no-repeat center / contain;
  rotate: -90deg;
}

.l-sticky-entry {
  z-index: var(--menu-z-index);
  position: fixed;
  inset-block-end: 0;
  inset-inline-start: 50%;
  inline-size: 100%;
  margin-block-end: calc(30 * var(--percent-ratio-min));
  translate: -50%;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.l-sticky-entry--fixed {
  opacity: 1;
  visibility: visible;
}

.l-footer {
  font-family: var(--font-noto);
}

.l-footer__container {
  display: grid;
  row-gap: 20px;
}

.l-footer__link-item {
  text-align: center;
  line-height: var(--leading-snug);
}

.l-footer__link {
  font-size: calc(13 * var(--rem-ratio));
  font-weight: var(--font-normal);
  text-decoration: underline;
}

.l-footer__links {
  display: grid;
  align-content: start;
  row-gap: 20px;
}

.l-footer__company-logo {
  inline-size: calc(450 / var(--layout-width-min) * 100%);
  margin-inline: auto;
}

.l-footer__registration {
  font-size: calc(14 * var(--rem-ratio));
  font-weight: var(--font-normal);
  text-align: center;
}

.l-footer__company {
  display: grid;
  row-gap: 20px;
}

.l-footer__inner {
  display: grid;
  row-gap: 20px;
  padding-block: 40px;
  background-color: var(--color-bluescale-0);
}

.l-footer__badge {
  inline-size: calc(135 / var(--layout-width-min) * 100%);
}

.l-footer__badges {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 40px;
}

.l-footer__copyright {
  padding-block: 5px;
  background-color: var(--color-bluescale-0);
  border-block-start: 0.5px solid var(--color-grayscale-1000);
  font-size: calc(24 * var(--fluid-ratio-min));
  font-weight: var(--font-normal);
  text-align: center;
}

.l-modal {
  z-index: var(--modal-z-index);
  position: fixed;
  inset: 0;
  display: none;
  inline-size: 100%;
  block-size: 100dvh;
  background-color: var(--underline-base);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.l-modal--show {
  display: block;
  opacity: 1;
  visibility: visible;
}

.l-modal__inner {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: calc(670 * var(--fluid-ratio-min));
  translate: -50% -50%;
}

.l-modal__close {
  --shadow-close: 2px 2px 0 rgb(0 0 0 / 10%);

  z-index: var(--front-z-index);
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: calc((-22 / 670) * 100%);
  inline-size: calc((60 / 670) * 100%);
  aspect-ratio: 1;
  margin-block-start: calc((-22 / 670) * 100%);
  background-color: var(--background-base);
  border: 2px solid var(--color-yellowscale-400);
  border-radius: var(--rounded-full);
  box-shadow: var(--shadow-close);
}

.l-modal__close::before {
  content: '';
  position: absolute;
  inset-block-start: calc((19 / 60) * 100%);
  inset-inline-start: calc((18 / 60) * 100%);
  display: block;
  inline-size: calc((26 / 60) * 100%);
  aspect-ratio: 1;
  background-color: var(--color-bluescale-300);
  mask-image: url(images/icon_close.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}

.l-modal__content {
  --shadow-modal: 4px 4px 0 rgb(0 0 0 / 10%);

  z-index: var(--default-z-index);
  position: relative;
  padding-block: calc(50 * var(--fluid-ratio-min));
  background-color: var(--background-base);
  border-radius: var(--rounded-m);
  box-shadow: var(--shadow-modal);
  border: 4px solid var(--color-yellowscale-400);
}

.l-modal__heading {
  font-weight: var(--font-bold);
  font-size: calc(32 * var(--fluid-ratio-min));
  text-align: center;
  line-height: var(--leading-tight);
}

.l-modal__list {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, calc((280 / 670) * 100%));
  gap: calc((32 / 670) * 100%);
  margin-block-start: calc((30 / 670) * 100%);
}

.l-modal__image {
  --shadow-modal-out: 4px 3px 6px rgb(200 200 200 / 50%);
  --shadow-modal-top-inner: inset -1px -1px 2px rgb(191 191 191 / 40%);
  --shadow-modal-bottom-inner: inset 3px 3px 0 rgb(243 243 243 / 30%);

  inline-size: calc((168 / 280) * 100%);
  margin-inline: auto;
  border-radius: var(--rounded-full);
  box-shadow: var(--shadow-modal-out), var(--shadow-modal-top-inner), var(--shadow-modal-bottom-inner);
}

.l-modal__text {
  margin-block-start: calc((20 / 280) * 100%);
  font-weight: var(--font-bold);
  font-size: calc(22 * var(--fluid-ratio-min));
  color: var(--color-bluescale-300);
  text-align: center;
  line-height: var(--leading-snug);
}

@media screen and (max-width: 767px) {
  .l-campaign__description-note {
    display: block;
    margin-block-start: calc((12 / var(--layout-inner-width-min)) * 100%);
    font-size: calc(26 * var(--fluid-ratio-min));
  }
}

@media screen and (min-width: 768px) {
  .l-mv__inner::after {
    aspect-ratio: var(--aspect-frame);
  }

  .l-mv__content {
    padding-block: calc(33 * var(--percent-ratio-max)) calc(112 * var(--percent-ratio-max));
  }

  .l-mv__content::before {
    background-image: url(images/mv_bg.webp);
  }

  .l-mv__feature {
    inline-size: min(calc(916 * var(--percent-ratio-max)), 1100px);
    margin-inline-start: calc(260 * var(--percent-ratio-max));
  }

  .l-mv__title-image {
    inline-size: 100%;
  }

  .l-mv__gift {
    gap: calc((16 / 916) * 100%);
    inline-size: calc((751 / 916) * 100%);
    margin-block-start: calc((50 / 916) * 100%);
  }

  .l-mv__gift-item {
    border: calc(13 * var(--fluid-ratio-max)) solid var(--color-yellowscale-400);
  }

  .l-mv__button {
    grid-template-columns: repeat(2, 1fr);
    gap: min(calc(64 * var(--fluid-ratio-max)), 64px);
    inline-size: min(calc(864 * var(--percent-ratio-max)), 864px);
    margin-block-end: calc(-41 * var(--percent-ratio-max));
  }

  .l-mv__button-link {
    box-shadow: 8px 8px 0 rgb(255 251 50 / 100%);
    transition:
      box-shadow 0.2s ease,
      translate 0.2s ease;
  }

  .l-mv__button-text {
    font-size: min(calc(20 * var(--fluid-ratio-max)), calc(20 * var(--rem-ratio)));
  }

  .l-mv__button-highlight {
    font-size: min(calc(30 * var(--fluid-ratio-max)), calc(30 * var(--rem-ratio)));
  }

  .l-section__inner {
    inline-size: min(calc(1240 * var(--percent-ratio-max)), 1240px);
  }

  .l-section__icon {
    inline-size: calc((134 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign {
    padding-block: calc(125 * var(--percent-ratio-max));
    background-image: url(images/campaign_bg.webp);
  }

  .l-campaign::after {
    aspect-ratio: var(--aspect-frame);
  }

  .l-campaign__title {
    padding-inline: calc((64 / var(--layout-inner-width-max)) * 100%);
    font-size: min(calc(40 * var(--fluid-ratio-max)), calc(40 * var(--rem-ratio)));
  }

  .l-campaign__content {
    margin-block-start: calc((-32 / var(--layout-inner-width-max)) * 100%);
    padding-block: calc((89 / var(--layout-inner-width-max)) * 100%) calc((64 / var(--layout-inner-width-max)) * 100%);
    border-width: calc(8 * var(--fluid-ratio-max));
    border-radius: var(--rounded-xl);
  }

  .l-campaign__block:not(:first-of-type) {
    margin-block-start: calc((60 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign__headiing {
    margin-block-end: calc((20 / var(--layout-inner-width-max)) * 100%);
    padding-block: calc((2 / var(--layout-inner-width-max)) * 100%) calc((3 / var(--layout-inner-width-max)) * 100%);
    padding-inline: calc((20 / var(--layout-inner-width-max)) * 100%);
    font-size: min(calc(24 * var(--fluid-ratio-max)), calc(24 * var(--rem-ratio)));
  }

  .l-campaign__term {
    inline-size: calc((480 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign__description {
    font-size: min(calc(20 * var(--fluid-ratio-max)), calc(20 * var(--rem-ratio)));
    text-align: center;
  }

  .l-campaign__entry {
    grid-template-columns: repeat(2, calc((320 / var(--layout-inner-width-max)) * 100%));
    gap: calc((64 / var(--layout-inner-width-max)) * 100%);
    margin-block-start: calc((20 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign__entry::before {
    inline-size: calc((32 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign__entry-item {
    padding-block: calc((16 / 320) * 100%);
  }

  .l-campaign__entry-heading {
    font-size: min(calc(24 * var(--fluid-ratio-max)), calc(24 * var(--rem-ratio)));
  }

  .l-campaign__entry-text {
    margin-block-start: calc((16 / 320) * 100%);
    font-size: min(calc(16 * var(--fluid-ratio-max)), calc(16 * var(--rem-ratio)));
  }

  .l-campaign__gift {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(3, 1fr);
    inline-size: calc((1112 / var(--layout-inner-width-max)) * 100%);
    gap: calc((32 / var(--layout-inner-width-max)) * 100%);
    margin-block-start: calc((24 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign__gift-image {
    inline-size: calc((240 / 350) * 100%);
    margin-inline: auto;
  }

  .l-campaign__accordion {
    margin-block-start: calc((16 / 350) * 100%);
  }

  .l-campaign__accordion-label {
    padding-block: calc((16 / 350) * 100%);
    border-radius: var(--rounded-m);
    font-size: min(calc(18 * var(--fluid-ratio-max)), calc(18 * var(--rem-ratio)));
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }

  .l-campaign__accordion-label::before {
    inset-inline-end: calc((16 / 350) * 100%);
    inline-size: calc((13 / 350) * 100%);
    transition: background-color 0.2s ease;
  }

  .l-campaign__accordion-content {
    padding-block: calc((16 / 350) * 100%) calc((24 / 350) * 100%);
    padding-inline: calc((16 / 350) * 100%);
  }

  .l-campaign__accordion-box:not(:first-of-type) {
    margin-block-start: calc((30 / 350) * 100%);
  }

  .l-campaign__accordion-heading {
    font-size: min(calc(15 * var(--fluid-ratio-max)), calc(15 * var(--rem-ratio)));
  }

  .l-campaign__accordion-text {
    font-size: min(calc(15 * var(--fluid-ratio-max)), calc(15 * var(--rem-ratio)));
  }

  .l-campaign__accordion-text:not(:first-of-type) {
    margin-block-start: calc((8 / 350) * 100%);
  }

  .l-campaign__note {
    inline-size: calc((1112 / var(--layout-inner-width-max)) * 100%);
    margin-block-start: calc((24 / var(--layout-inner-width-max)) * 100%);
    font-size: min(calc(14 * var(--fluid-ratio-max)), calc(14 * var(--rem-ratio)));
  }

  .l-campaign__other-heading {
    font-size: min(calc(20 * var(--fluid-ratio-max)), calc(20 * var(--rem-ratio)));
    transition: border-color 0.2s ease;
  }

  .l-campaign__other-detail::after {
    inline-size: calc(11 * var(--fluid-ratio-max));
    margin-block-start: calc(8 * var(--fluid-ratio-max));
    margin-inline-start: calc(8 * var(--fluid-ratio-max));
  }

  .l-campaign__other-list {
    inline-size: calc((1112 / var(--layout-inner-width-max)) * 100%);
    margin-block-start: calc((16 / var(--layout-inner-width-max)) * 100%);
  }

  .l-campaign__other-item {
    font-size: min(calc(16 * var(--fluid-ratio-max)), calc(16 * var(--rem-ratio)));
  }

  .l-campaign__other-item:not(:first-of-type) {
    margin-block-start: calc((3 / 1112) * 100%);
  }

  .l-insurance {
    padding-block: calc(80 * var(--percent-ratio-max)) calc(128 * var(--percent-ratio-max));
  }

  .l-insurance__title {
    font-size: min(calc(40 * var(--fluid-ratio-max)), calc(40 * var(--rem-ratio)));
  }

  .l-insurance__card {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-block-start: calc((42 / var(--layout-inner-width-max)) * 100%);
  }

  .l-insurance__card-item {
    --shadow-card: -8px -8px 0 rgb(254 251 50 / 100%), 8px 8px 0 rgb(235 213 26 / 100%);

    padding-block-end: calc((32 / 600) * 100%);
    border-radius: var(--rounded-sl);
  }

  .l-insurance__pop {
    inset-inline-start: calc((36 / 600) * 100%);
    inline-size: calc((160 / 600) * 100%);
    margin-block-start: calc((-55 / 600) * 100%);
  }

  .l-insurance__introduction {
    padding-block: calc((32 / 600) * 100%) calc((20 / 600) * 100%);
  }

  .l-insurance__introduction-logo--sony {
    inline-size: calc((178 / 600) * 100%);
  }

  .l-insurance__introduction-logo--sompo {
    inline-size: calc((216 / 600) * 100%);
  }

  .l-insurance__introduction-logo--msad,
  .l-insurance__introduction-logo--zurich {
    inline-size: calc((160 / 600) * 100%);
  }

  .l-insurance__introduction-catch {
    font-size: min(calc(16 * var(--fluid-ratio-max)), calc(16 * var(--rem-ratio)));
  }

  .l-insurance__introduction-heading {
    font-size: min(calc(24 * var(--fluid-ratio-max)), calc(24 * var(--rem-ratio)));
  }

  .l-insurance__detail {
    padding-block: calc((24 / 600) * 100%);
    padding-inline: calc((56 / 600) * 100%);
  }

  .l-insurance__list-item {
    font-size: min(calc(16 * var(--fluid-ratio-max)), calc(16 * var(--rem-ratio)));
  }

  .l-insurance__list-item:not(:first-of-type) {
    margin-block-start: calc((10 / 600) * 100%);
  }

  .l-insurance__list-sup {
    font-size: min(calc(10 * var(--fluid-ratio-max)), calc(10 * var(--rem-ratio)));
  }

  .l-insurance__note {
    margin-block-start: calc((18 / 600) * 100%);
  }

  .l-insurance__note-text {
    font-size: min(calc(13 * var(--fluid-ratio-max)), calc(13 * var(--rem-ratio)));
  }

  .l-insurance__note-text:not(:first-of-type) {
    margin-block-start: calc((16 / 600) * 100%);
  }

  .l-insurance__note-link {
    transition: border-color 0.2s ease;
  }

  .l-insurance__note-point {
    margin-block: calc((16 / 600) * 100%) calc((67 / 600) * 100%);
    padding-block: calc((12 / 600) * 100%);
    padding-inline: calc((21 / 600) * 100%);
    border-radius: var(--rounded-m);
    font-size: min(calc(13 * var(--fluid-ratio-max)), calc(13 * var(--rem-ratio)));
  }

  .l-insurance__note-attention {
    margin-block-start: calc((16 / 600) * 100%);
    font-size: min(calc(13 * var(--fluid-ratio-max)), calc(13 * var(--rem-ratio)));
  }

  .l-insurance__link {
    --aspect-link: 524/52;

    inline-size: calc((524 / 600) * 100%);
    border-radius: var(--rounded-m);
    font-size: min(calc(18 * var(--fluid-ratio-max)), calc(18 * var(--rem-ratio)));
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }

  .l-insurance__link::after {
    inset-inline-end: calc((19 / 524) * 100%);
    inline-size: calc((11 / 524) * 100%);
    aspect-ratio: var(--aspect-link-arrow);
    transition: background-color 0.2s ease;
  }

  .l-insurance__information {
    grid-template-columns: max-content max-content;
    column-gap: calc((24 / var(--layout-inner-width-max)) * 100%);
    margin-block-start: calc((48 / var(--layout-inner-width-max)) * 100%);
  }

  .l-insurance__information-text {
    font-size: min(calc(14 * var(--fluid-ratio-max)), calc(14 * var(--rem-ratio)));
  }

  .l-entry {
    padding-block: calc(32 * var(--percent-ratio-max)) calc(40 * var(--percent-ratio-max));
  }

  .l-entry__button {
    --aspect-entry-button: 480/80;
    --shadow-entry-button: 8px 8px 0 rgb(252 230 80 / 100%);

    inline-size: min(calc(480 * var(--percent-ratio-max)), 480px);
    border-radius: var(--rounded-m);
    font-size: min(calc(30 * var(--fluid-ratio-max)), calc(30 * var(--rem-ratio)));
    transition:
      box-shadow 0.2s ease,
      translate 0.2s ease;
  }

  .l-entry__button::after {
    inline-size: calc((11 / 480) * 100%);
    aspect-ratio: var(--aspect-link-arrow);
  }

  .l-banner {
    padding-block: 50px 75px;
  }

  .l-banner__title {
    font-size: calc(33 * var(--rem-ratio));
  }

  .l-banner__image {
    max-inline-size: 760px;
    margin-block-start: 25px;
    margin-inline: auto;
  }

  .l-sticky-entry {
    margin-block-end: calc(35 * var(--percent-ratio-max));
  }

  .l-footer__container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
    max-inline-size: 980px;
    margin-inline: auto;
  }

  .l-footer__links {
    justify-items: start;
  }

  .l-footer__link-item {
    text-align: start;
  }

  .l-footer__company-logo {
    max-inline-size: 360px;
    margin-inline: unset;
  }

  .l-footer__registration {
    text-align: start;
  }

  .l-footer__badges {
    justify-content: start;
  }

  .l-footer__copyright {
    font-size: calc(14 * var(--rem-ratio));
  }

  .l-modal__inner {
    inline-size: 100%;
    max-inline-size: 560px;
  }

  .l-modal__close {
    --shadow-close: 4px 4px 0 rgb(0 0 0 / 10%);

    inset-inline-end: calc((-24 / 560) * 100%);
    inline-size: calc((48 / 560) * 100%);
    margin-block-start: calc((-24 / 560) * 100%);
    border: 4px solid var(--color-yellowscale-400);
  }

  .l-modal__close::before {
    inset-block-start: calc((16 / 48) * 100%);
    inset-inline-start: calc((15 / 48) * 100%);
    inline-size: calc((19 / 48) * 100%);
  }

  .l-modal__content {
    --shadow-modal: 8px 8px 0 rgb(0 0 0 / 10%);

    padding-block: min(calc(42 * var(--fluid-ratio-max)), 42px);
    border-radius: var(--rounded-sl);
    border: 4px solid var(--color-yellowscale-400);
  }

  .l-modal__heading {
    font-size: calc(24 * var(--rem-ratio));
  }

  .l-modal__list {
    grid-template-columns: repeat(2, calc((200 / 560) * 100%));
    gap: calc((32 / 560) * 100%);
    margin-block-start: calc((16 / 560) * 100%);
  }

  .l-modal__image {
    --shadow-modal-out: 4px 3px 6px rgb(200 200 200 / 50%);
    --shadow-modal-top-inner: inset -1px -1px 2px rgb(191 191 191 / 40%);
    --shadow-modal-bottom-inner: inset 3px 3px 0 rgb(243 243 243 / 30%);

    inline-size: calc((136 / 200) * 100%);
  }

  .l-modal__text {
    margin-block-start: calc((16 / 560) * 100%);
    font-size: calc(18 * var(--rem-ratio));
  }
}

@media (any-hover: hover) {
  .l-mv__button-link:hover {
    box-shadow: none;
    translate: 8px 8px;
  }

  .l-campaign__accordion-label:hover {
    background-color: var(--color-yellowscale-400);
    color: var(--color-bluescale-200);
  }

  .l-campaign__accordion-label:hover::before {
    background-color: var(--color-bluescale-200);
  }

  .l-campaign__other-heading:hover {
    border-color: transparent;
  }

  .l-insurance__link:hover {
    background-color: var(--color-yellowscale-400);
    color: var(--color-bluescale-300);
  }

  .l-insurance__link:hover::after {
    background-color: var(--color-bluescale-300);
  }

  .l-entry__button:hover {
    box-shadow: none;
    translate: 8px 8px;
  }

  .l-insurance__note-link:hover {
    border-color: transparent;
  }

  .l-modal__close:hover::before {
    scale: 1.15;
  }

  .l-modal__link:hover .l-modal__image {
    scale: 1.03;
  }
}

:root {
  --white-chevron: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAxOCAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuOTM3NSAxLjE0NDUzTDE1Ljg1MzIgMTYuMDYwM0wwLjkzNzUgMzAuOTc2IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIuNTY3NTUiLz4KPC9zdmc+Cg==);
}



