@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  box-sizing: border-box;
}

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  min-block-size: 100%;
  block-size: auto;
  -webkit-text-size-adjust: none;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

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

:where(svg) {
  stroke: none;
  fill: currentColor;
}

:where(svg):where(:not([fill])) {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}

:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

h1 {
  font-size: 2em;
}

:where(ul, ol) {
  list-style-position: inside;
}

:where(ul, ol)[role=list] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

/* Vars
----------------------------------------- */
:root {
  --pcWidth: 1000px;
  --tabWidth: 1000px;
  --spWidth: 600px;
  --spBase: 390px;
  --space-xxxs: 3.125vw;
  --space-xxs: 4.1666666667vw;
  --space-xs: 5.2083333333vw;
  --space-ss: 5.7291666667vw;
  --space-s: 6.25vw;
  --space-m: 6.875vw;
  --space-l: 7.2916666667vw;
  --space-ll: 4.8rem;
  --space-xl: 9.375vw;
  --space-xxl: 6.8rem;
  --space-xxxl: 7.6rem;
  --gap-ss: var(--space-xxxs);
  --gap-s: var(--space-xxs);
  --gap: var(--space-m);
  --gap-l: var(--space-ll);
  --gap-ll: var(--space-xl);
  --gap-row-xs: var(--space-xxs);
  --gap-row-ss: var(--space-xs);
  --gap-row-s: 3.125vw;
  --gap-row: var(--space-m);
  --gap-row-l: var(--space-l);
  --gap-row-ll: var(--space-xl);
  --gap-row-xl: var(--space-xxl);
  --gap-column-xs: var(--space-xxs);
  --gap-column-ss: var(--space-xs);
  --gap-column-s: var(--space-ss);
  --gap-column: var(--space-s);
  --gap-column-l: var(--space-m);
  --gap-column-ll: var(--space-l);
  --gap-column-xl: var(--space-ll);
  --gap-row: var(--space-l);
  --gap-row-s: var(--space-s);
  --gap-row-ss: var(--space-xxs);
  --gap-column: var(--space-xxs);
  --gap-column-s: var(--space-m);
  --gap-column-ss: var(--space-xxs);
  --base-padding-in: min(3.125vw, 30px);
  --wrap-inline: 106rem;
  --lower-wrap-inline: 96rem;
  --block-padding-block: var(--space-m);
  --block-padding-block-start: var(--space-l);
  --block-padding-block-end: var(--space-xl);
  --padding-wrap: var(--space-xs);
  --text-content-space: 1.56em;
  --text-content-space-l: var(--block-padding-block);
}
@media not screen and (max-width: 600px) {
  :root {
    --space-xxxs: 1rem;
    --space-xxs: 2rem;
    --space-xs: 3rem;
    --space-ss: 3.6rem;
    --space-s: 4rem;
    --space-m: 4.8rem;
    --space-l: 5rem;
    --space-ll: 6.4rem;
    --space-xl: 7rem;
    --space-xxl: 8rem;
    --space-xxxl: 8.8rem;
  }
}

/* Mixin
----------------------------------------- */
@media screen and (max-width: 600px) {
  .is-pc {
    display: none !important;
  }
}

@media not screen and (max-width: 600px) {
  .is-sp {
    display: none !important;
  }
}

/* Base
----------------------------------------- */
:root {
  --color-main: #7a644a;
  --color-sub: #0e4664;
  --color-main-sub: #eae6db;
  --color-sub-sub: #5F5A4E;
  --white: #fbfeff;
  --white: #fff;
  --black: #111;
  --black-rgb: 36, 36, 36;
  --transparent: rgba(0,0,0,0);
  --sea-1200: #00004f;
  --sea-1100: #000060;
  --sea-1000: #000071;
  --sea-900: #000082;
  --sea-800: #0017c1;
  --sea-700: #0031db;
  --sea-600: #1a3ee8;
  --sea-500: #264af4;
  --sea-400: #4979f5;
  --sea-300: #7096f8;
  --sea-200: #9db7f9;
  --sea-100: #c5d7fb;
  --sea-50: #e8f1fe;
  --sea-800-d13p: #000082;
  --sea-300-d10p: #4979f5;
  --sumi-1200: #000000;
  --sumi-1100: #080808;
  --sumi-1000: #111111;
  --sumi-900: #1a1a1c;
  --sumi-800: #414143;
  --sumi-700: #626264;
  --sumi-600: #7f7f78;
  --sumi-500: #949497;
  --sumi-400: #b4b4b7;
  --sumi-300: #d8d8db;
  --sumi-200: #e8e8eb;
  --sumi-100: #f1f1f4;
  --sumi-50: #f8f8fb;
  --forest-1200: #032213;
  --forest-1100: #08351f;
  --forest-1000: #0c472a;
  --forest-900: #115a36;
  --forest-800: #197a4b;
  --forest-700: #1d8b56;
  --forest-600: #259d63;
  --forest-500: #2cac6e;
  --forest-400: #51b883;
  --forest-300: #71c598;
  --forest-200: #9bd4b5;
  --forest-100: #c2e5d1;
  --forest-50: #e6f5ec;
  --wood-1200: #662e00;
  --wood-1100: #8e3b00;
  --wood-1000: #9c4600;
  --wood-900: #b65200;
  --wood-800: #c16800;
  --wood-700: #c87504;
  --wood-600: #cd820a;
  --wood-500: #d18d0f;
  --wood-400: #d69c2b;
  --wood-300: #dcac4d;
  --wood-200: #e1c383;
  --wood-100: #e7d8b9;
  --wood-50: #f3eee5;
  --sun-1200: #640101;
  --sun-1100: #890101;
  --sun-1000: #af0000;
  --sun-900: #d50000;
  --sun-800: #ec0000;
  --sun-700: #fa1606;
  --sun-600: #ff220d;
  --sun-500: #ff4b36;
  --sun-400: #ff5838;
  --sun-300: #ff7b5c;
  --sun-200: #ffa28b;
  --sun-100: #ffc8b8;
  --sun-50: #ffe7e6;
  --text-light-body: var(--sumi-900);
  --text-light-description: var(--sumi-700);
  --text-light-place-holder: var(--sumi-600);
  --text-light-on-fill: var(--white);
  --text-light-link: var(--sea-800);
  --text-light-hover: var(--sea-900);
  --text-light-active: var(--sea-900);
  --text-light-visited: var(--sea-900);
  --text-light-alert: var(--sun-800);
  --text-light-disabled: var(--sumi-500);
  --text-dark-body: var(--white);
  --text-dark-description: var(--sumi-400);
  --text-dark-place-holder: var(--sumi-500);
  --text-dark-on-fill: var(--white);
  --text-dark-link: var(--sea-300);
  --text-dark-hover: var(--sea-200);
  --text-dark-active: var(--sea-200);
  --text-dark-visited: var(--sea-200);
  --text-dark-alert: var(--sun-500);
  --text-dark-disabled: var(--sumi-600);
  --background-light-primary: var(--white);
  --background-light-secondary: var(--sumi-100);
  --background-light-tertiary: var(--sumi-50);
  --background-dark-primary: var(--sumi-900);
  --background-dark-secondary: var(--sumi-700);
  --background-dark-tertiary: var(--sumi-800);
  --border-light-field: var(--sumi-900);
  --border-light-divider: var(--sumi-300);
  --border-light-focused: var(--wood-600);
  --border-light-selected: var(--sea-800);
  --border-light-alert: var(--sun-800);
  --border-light-disabled: var(--sumi-300);
  --border-dark-field: var(--white);
  --border-dark-divider: var(--sumi-700);
  --border-dark-focused: var(--wood-600);
  --border-dark-selected: var(--sea-300);
  --border-dark-alert: var(--sun-500);
  --border-dark-disabled: var(--sumi-300);
  --icon-light-label: var(--sumi-900);
  --icon-light-active: var(--sea-800);
  --icon-light-alert: var(--sun-800);
  --icon-light-disabled: var(--sumi-500);
  --icon-dark-label: var(--white);
  --icon-dark-active: var(--sea-300);
  --icon-dark-alert: var(--sun-500);
  --icon-dark-disabled: var(--sumi-600);
  --status-light-success: var(--forest-600);
  --status-light-alert: var(--sun-800);
  --status-light-warning: var(--wood-800);
  --status-dark-sucess: var(--forest-600);
  --status-dark-alert: var(--sun-500);
  --status-dark-warning: var(--wood-500);
  --button-light-normal: var(--sea-800);
  --button-light-hover: var(--sea-800-d13p);
  --button-light-active: var(--sea-800-d13p);
  --button-light-disabled-bg: var(--sumi-500);
  --button-dark-normal: var(--sea-300);
  --button-dark-hover: var(--sea-300-d10p);
  --button-dark-active: var(--sea-300-d10p);
  --button-dark-disabled: var(--sumi-500);
  --chart-light-primary: var(--sea-800);
  --chart-light-secondary: var(--sea-400);
  --chart-dark-primary: var(--sea-100);
  --chart-dark-secondary: var(--sea-300);
  --text-body: var(--black);
  --color-main-light: color-mix(in srgb, var(--color-main) 40%, #fff);
  --color-sub-light: color-mix(in srgb, var(--color-sub) 30%, #fff);
  --black-light: color-mix(in srgb, var(--black) 30%, var(--white));
  --error-color: #b00000;
  --color-red: #b00000;
  --color-silver: #808791;
  --placeholder-color: #999999;
  --bg-white: var(--white);
  --bg-sand: #d9d7c3;
  --bg-blue: var(--color-main);
  --bg-blue-light: #dfe3f0;
  --bg-section: #eae6db;
  --bg-section-second: #e3e6ec;
  --logo-color-top: rgb(232, 207, 160);
  --logo-color-center: rgb(255, 255, 255);
  --logo-color-bottom: rgb(199, 159, 98);
  --button-color-top: #363E6B;
  --button-color-bottom: #0B144B;
  --button-color-cta-top: #974547;
  --button-color-cta-bottom: #811C1D;
  --header-bg-color: var(--color-main);
  --result-bg-color: rgba(251, 251, 253, .7);
  --error-color: #ff2a2a;
  --cta-bd-color: #233057;
  --form-arrow-color: #7b818c;
  --form-red: #7e0000;
  --form-radio-bd-color: #BABABA;
  --form-radio-bg-color: #E9E9E9;
  --top-fv-num: #121212;
  --box-bg-color: #ebe2d7;
  --title-box-color: #323232;
}

body {
  color: var(--text-body);
  background-color: var(--white);
}

input::placeholder {
  color: var(--placeholder-color);
}

/* Base
----------------------------------------- */
:root {
  --fz-body: 1.6rem;
  --fz-xs: 1.2rem;
  --fz-ss: 1.3rem;
  --fz-s: 1.4rem;
  --fz-m: var(--fz-body);
  --fz-l: 1.75rem;
  --fz-ll: 1.85rem;
  --fz-xl: 2.1rem;
  --fz-xxl: 2.3rem;
  --fz-h1: 4.5833333333vw;
  --fz-h2: 2.2rem;
  --fz-h2-l: 2.3rem;
  --fz-h2-s: 1.8rem;
  --fz-h3: 2.1rem;
  --fz-h4: 1.9rem;
  --fz-h5: 1.8rem;
  --fz-lower-h1: 5rem;
  --fz-top-h2: 5.2083333333vw;
  --fw-normal: normal;
  --fw-bold: bold;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;
  --fw-semi-bold: var(--fw-600);
  --fw-extra-bold: var(--fw-900);
  --lh-xs: 1.3;
  --lh-ss: 1.56;
  --lh-s: 1.7;
  --lh: 1.8;
  --lh-l: 2.11;
  --ff-sans: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "hiragino-kaku-gothic-pron", "Noto Sans", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  --ff-sans-en: "futura-pt", "Jost", "Futura PT", "Futura", var(--ff-sans);
  --ff-sans-num: futura-pt-bold, var(--ff-sans-en);
  --ff-icon: "Material Symbols Outlined";
  --ls-s: .025em;
  --ls: .05em;
  --ls-l: .1em;
  --ls-ll: .2em;
  --ls-xl: .5em;
}
@media not screen and (max-width: 600px) {
  :root {
    --fz-body: 2rem;
    --fz-xs: 1.4rem;
    --fz-ss: 1.6rem;
    --fz-s: 1.8rem;
    --fz-m: var(--fz-body);
    --fz-l: 1.8rem;
    --fz-ll: 2.2rem;
    --fz-xl: 2.4rem;
    --fz-xxl: 2.6rem;
    --fz-h1: 2.6rem;
    --fz-h2: 3.6rem;
    --fz-h2-l: 3.8rem;
    --fz-h3: 3rem;
    --fz-h4: 2.4rem;
    --fz-h4-s: 2.2rem;
    --fz-h5: 2rem;
    --fz-lower-h1: 7.2rem;
    --fz-top-h2: 4.8rem;
  }
}

/* Font
----------------------------------------- */
.c-button, .c-about-media__item, .c-column-box.is-new a::before, .l-lower-fv, .l-header__nav {
  font-family: var(--ff-sans-en);
  font-weight: var(--fw-600);
  font-optical-sizing: auto;
  font-style: normal;
}
.style-text, body {
  font: var(--fw-normal) var(--fz-body)/var(--lh) var(--ff-sans);
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 1060px) {
  html {
    font-size: 0.9433962264vw;
  }
}
@media screen and (max-width: 600px) {
  html {
    font-size: 2.5641025641vw;
  }
}

body {
  letter-spacing: var(--ls);
}

h1, h2, h3, h4, h5 {
  font-weight: var(--fw-bold);
  line-height: var(--lh-ss);
  word-break: auto-phrase;
}
@media not screen and (max-width: 600px) {
  h1, h2, h3, h4, h5 {
    letter-spacing: var(--ls-l);
  }
}

h2, h3 {
  letter-spacing: var(--ls);
  text-align: center;
}

h1 {
  font-size: var(--fz-h1);
  letter-spacing: var(--ls-ss);
}

h2 {
  font-size: var(--fz-h2);
}
@media screen and (max-width: 600px) {
  h2 .fz-s--sp {
    display: block;
    line-height: var(--lh-ss);
    font-size: var(--fz-h2-s);
  }
}

h3 {
  font-size: var(--fz-h3);
}

h4 {
  font-size: var(--fz-h4);
}

h5 {
  font-size: var(--fz-h5);
}

body.is-fixed {
  overflow: hidden;
  height: 100%;
}

/* Clickable
----------------------------------------- */
:where(a), .l-cta__button, .l-fix-bnr__close {
  cursor: pointer;
}
.l-cta__button:not([class]), .l-fix-bnr__close:not([class]) {
  transition: opacity 0.1s;
}
@media (any-hover: hover) {
  .l-cta__button:not([class]):hover, .l-fix-bnr__close:not([class]):hover {
    opacity: 0.8;
  }
}
@media (any-hover: none) {
  .l-cta__button:not([class]):active, .l-fix-bnr__close:not([class]):active {
    opacity: 0.8;
  }
}
[class].l-cta__button, [class].l-fix-bnr__close {
  transition: filter 0.2s;
}
@media (any-hover: hover) {
  [class].l-cta__button:hover, [class].l-fix-bnr__close:hover {
    filter: brightness(1.2);
  }
}
@media (any-hover: none) {
  [class].l-cta__button:active, [class].l-fix-bnr__close:active {
    filter: brightness(1.2);
  }
}
:not([class]):where(a) {
  transition: background 0.2s;
  background: linear-gradient(90deg, currentColor 50%, var(--transparent) 0) 100% 100%/300% 1px no-repeat;
}
@media (any-hover: hover) {
  :not([class]):hover:where(a) {
    background-position-x: 0;
  }
}
@media (any-hover: none) {
  :not([class]):active:where(a) {
    background-position-x: 0;
  }
}
[class]:where(a) {
  transition: filter 0.2s;
}
@media (any-hover: hover) {
  [class]:hover:where(a) {
    filter: brightness(1.2);
  }
}
@media (any-hover: none) {
  [class]:active:where(a) {
    filter: brightness(1.2);
  }
}

/* Base
----------------------------------------- */
body {
  position: relative;
}

:where(a) {
  color: var(--color-main);
  text-decoration: none;
}
:where(a)[class] {
  text-decoration: none;
}

[id] {
  scroll-margin-top: var(--header-height);
}
@media not screen and (max-width: 600px) {
  [id] {
    scroll-margin-top: var(--header-block-size);
  }
}

/* Flex
----------------------------------------- */
.flex, .l-form-item-radio, .l-cta__input, .flex-center-x, .flex-center-y, .p-top-sec02__title, .c-form-items__input :is(input, textarea, select), .c-form-check .wpcf7-list-item label, .c-column-box a, .l-form-item-radio__row, .l-text-content h3, .flex-center, .p-top-sec02__num, .c-form-agree, .c-about-media__item, .c-column-box.is-new a::before, .c-fix-btn-top, .l-cta__title, .l-footer__link, .l-header-link, .flex-start-x, .flex-start-y, .flex-start {
  display: flex;
  row-gap: var(--gap-row, 0);
  column-gap: var(--gap-column, 0);
}
.flex-start {
  justify-content: start;
  align-items: start;
}
.flex-start-y {
  align-items: start;
}
.flex-start-x {
  justify-content: start;
}
.flex-center, .p-top-sec02__num, .c-form-agree, .c-about-media__item, .c-column-box.is-new a::before, .c-fix-btn-top, .l-cta__title, .l-footer__link, .l-header-link {
  justify-content: center;
  align-items: center;
}
.flex-center-y, .p-top-sec02__title, .c-form-items__input :is(input, textarea, select), .c-form-check .wpcf7-list-item label, .c-column-box a, .l-form-item-radio__row, .l-text-content h3 {
  align-items: center;
}
.flex-center-x {
  justify-content: center;
}
@media not screen and (max-width: 600px) {
  .flex-pc {
    display: flex;
    row-gap: var(--gap-row, 0);
    column-gap: var(--gap-column, 0);
  }
}
@media screen and (max-width: 600px) {
  .flex-sp {
    display: flex;
    row-gap: var(--gap-row, 0);
    column-gap: var(--gap-column, 0);
  }
}

/* Grid
----------------------------------------- */
.grid, .p-top-sec04__box, .p-top-sec05__items, .c-about-features, .l-form, .l-form__upper, .l-form-item, .l-form-item__row, .l-form-item__input, .l-footer__nav, .l-header__nav, .l-wrap, .l-wrap-inner, .l-section, .row-gap-ss, .row-gap-s, .row--center, .row, .column-gap-ss, .column-gap-s, .column-5, .column-4, .column-3, .column-2Sp, .column-2, .column, .grid-gap-ll, .grid-gap-l, .grid-gap-ss, .l-lower .l-wrap-inner, .grid-gap-s, .l-lower-section, .grid-gap-0, .grid-between, .grid-end-y, .grid-end-x, .grid-end, .grid-start-y, .grid-start-x, .c-form-items__input--checkbox .wpcf7-form-control, .grid-start, .grid-center-y, .c-form, .c-form-items, .c-breadcrumb__list, .l-header__wrap, .grid-center-x, .l-form-resultList, .l-resultList, .grid-center, .c-button, .c-about-features__box, .c-about-media, .l-lower-fv__title, .l-lower-fv__main, .l-lower-title, .l-form-item-check {
  display: grid;
  align-content: start;
  row-gap: var(--gap-row, 0);
  column-gap: var(--gap-column, 0);
  grid-auto-columns: minmax(0, auto);
}
.grid-center, .c-button, .c-about-features__box, .c-about-media, .l-lower-fv__title, .l-lower-fv__main, .l-lower-title, .l-form-item-check {
  place-content: center;
  place-items: center;
}
.grid-center-x, .l-form-resultList, .l-resultList {
  justify-content: center;
  justify-items: center;
}
.grid-center-y, .c-form, .c-form-items, .c-breadcrumb__list, .l-header__wrap {
  align-content: center;
  align-items: center;
}
.grid-start {
  place-content: start;
  place-items: start;
}
.grid-start-x, .c-form-items__input--checkbox .wpcf7-form-control {
  justify-content: start;
  justify-items: start;
}
.grid-start-y {
  align-content: start;
  align-items: start;
}
.grid-end {
  place-content: end;
  place-items: end;
}
.grid-end-x {
  justify-content: end;
  justify-items: end;
}
.grid-end-y {
  align-content: end;
  align-items: end;
}
.grid-between {
  place-content: start end;
  place-items: start end;
}
.grid-gap-0 {
  gap: 0;
}
.grid-gap-s, .l-lower-section {
  gap: var(--gap-s, 0);
}
.grid-gap-ss, .l-lower .l-wrap-inner {
  gap: var(--gap-ss, 0);
}
.grid-gap-l {
  gap: var(--gap-l, 0);
}
.grid-gap-ll {
  gap: var(--gap-ll, 0);
}

/* Column
----------------------------------------- */
@media not screen and (max-width: 600px) {
  .column-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .column-2Sp {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media not screen and (max-width: 600px) {
  .column-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  @media screen and (max-width: 960px) {
    .column-3 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}
@media not screen and (max-width: 600px) {
  .column-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  @media screen and (max-width: 960px) {
    .column-4 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}
@media not screen and (max-width: 600px) {
  .column-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  @media screen and (max-width: 960px) {
    .column-5 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}
.column-gap-s {
  column-gap: var(--gap-column-s, 0);
}
.column-gap-ss {
  column-gap: var(--gap-column-ss, 0);
}

/* Row
----------------------------------------- */
.row--center {
  justify-content: center;
}
.row-gap-s {
  row-gap: var(--gap-row-s, 0);
}
.row-gap-ss {
  row-gap: var(--gap-row-ss, 0);
}

/* Position
----------------------------------------- */
.position, .position-center-y, .position-center-x, .position-center {
  position: absolute;
}
.position-center {
  translate: -50% -50%;
  top: 50%;
  left: 50%;
}
.position-center-x {
  translate: -50% 0;
  left: 50%;
}
.position-center-y {
  position: absolute;
  translate: 0 -50%;
  top: 50%;
}

/* Border Line
----------------------------------------- */
.l-lower-fv__main::after, .l-lower-title::after, .l-text-content .wp-block-separator {
  --linear-color: var(--color-main-sub);
  --linear-pos-out: 4%;
  --linear-pos-in: 12%;
  background: linear-gradient(90deg, var(--transparent) var(--linear-pos-out), var(--linear-color) var(--linear-pos-in) calc(100% - var(--linear-pos-in)), var(--transparent) calc(100% - var(--linear-pos-out)));
}
/* Background Linear
----------------------------------------- */
.l-text-content h3::before {
  --base-color: var(--color-main);
  background: var(--gradient-cover), var(--base-color);
  background-blend-mode: screen, normal;
}

/* Lp image
----------------------------------------- */
.l-lp-img picture {
  display: block;
}
.l-lp-img img {
  margin-inline: auto;
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .l-lp-img img {
    object-fit: cover;
    block-size: var(--block-size, auto);
  }
}
@media not screen and (max-width: 1500px) {
  .l-lp-img img {
    block-size: auto;
  }
}

/* Image
----------------------------------------- */
.l-img {
  display: block;
}
.l-img picture {
  display: block;
}
.l-img img {
  margin-inline: auto;
}
.l-img-cap__text {
  margin-block-start: var(--space-xxxs);
  text-align: center;
  font-size: var(--fz-s);
  line-height: 1;
}

/* Background image
----------------------------------------- */
.l-bg-img {
  position: absolute;
  z-index: -1;
  inset: 0;
}
:has(> .l-bg-img) {
  position: relative;
  z-index: 0;
}
.l-bg-img :where(picture, img) {
  inline-size: 100%;
  block-size: 100%;
}
.l-bg-img :where(img) {
  object-fit: cover;
}

/* Wrap
----------------------------------------- */
.l-wrap, .l-wrap-inner {
  margin-inline: auto;
  padding-inline: var(--base-padding-in);
  max-inline-size: var(--wrap-inline);
  inline-size: 100%;
}
.l-wrap-inner {
  max-inline-size: var(--lower-wrap-inline);
}

/* Block
----------------------------------------- */
.l-block {
  inline-size: 100%;
  block-size: 100%;
  padding-block: var(--block-padding-block-start) var(--block-padding-block-end);
}
.l-block__inner {
  margin-inline: auto;
}

/* Fix banner
----------------------------------------- */
.l-fix-bnr {
  position: fixed;
  bottom: 0;
  z-index: 100;
  margin-block-start: calc(var(--fix-close-position-top) * -1);
  inline-size: 100%;
  overflow: hidden;
  --fix-close-position-top: 4.4375vw;
}
.l-fix-bnr:has(input:checked), .is-hidden .l-fix-bnr {
  z-index: -100;
}
@media not screen and (max-width: 600px) {
  .l-fix-bnr {
    right: 0;
    inline-size: 53.4rem;
    block-size: 16.3rem;
    --fix-close-position-top: 2.3rem;
  }
}
.l-fix-bnr__inner {
  position: relative;
  padding-block-start: var(--fix-close-position-top);
  inline-size: 100%;
  block-size: 100%;
  animation: disp 0.5s ease-out 1.5s forwards;
  opacity: 0;
}
.l-fix-bnr__inner:has(input:checked), .is-hidden .l-fix-bnr__inner {
  animation: disp2 0.5s ease-out forwards;
  pointer-events: none;
}
@media not screen and (max-width: 600px) {
  .l-fix-bnr__inner {
    display: grid;
    align-content: start;
    justify-items: end;
  }
  .l-fix-bnr__inner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: url(../images/fix-button-bg.png) 100% 100%/contain no-repeat;
  }
}
.l-fix-bnr__close {
  position: absolute;
  top: 0;
  right: 1.9375vw;
  z-index: 1;
  inline-size: 8.0875vw;
  block-size: auto;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}
@media not screen and (max-width: 600px) {
  .l-fix-bnr__close {
    inline-size: 4.2rem;
  }
}
.l-fix-bnr__close img {
  display: block;
  inline-size: 100%;
}
.l-fix-bnr__button {
  position: relative;
  z-index: 0;
  display: block;
}
@media not screen and (max-width: 600px) {
  .l-fix-bnr__button {
    inline-size: 52.5rem;
  }
  .l-fix-bnr__button picture {
    display: block;
  }
  .l-fix-bnr__button img {
    inline-size: 100%;
  }
}

@keyframes disp {
  from {
    opacity: 0;
    translate: 100% 0;
  }
  80% {
    opacity: 1;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes disp2 {
  from {
    opacity: 1;
    translate: 0 0;
  }
  70% {
    opacity: 0;
    translate: 0 0;
  }
  to {
    opacity: 0;
    translate: 100% 0;
  }
}
.l-text-block :is(h1, h2, h3, h4, h5) {
  margin-block: 2.5em 1em;
}
.l-text-block p:not(:last-of-type) {
  margin-block-end: 2em;
}

/* Section
----------------------------------------- */
.l-section:nth-of-type(2n) {
  border-image: linear-gradient(var(--bg-section) 0 100%) 0 fill/auto/0 100vw;
}

.l-text-content .wp-block-separator, .l-text-content .is-style-text-box {
  margin-inline: auto;
  max-inline-size: var(--lower-wrap-inline);
  inline-size: calc(100% - var(--base-padding-in) * 2);
}
.l-text-content .is-style-text-box, .l-text-content p:not(:last-of-type) {
  margin-block-end: var(--text-content-space);
}
.l-text-content h3 {
  column-gap: 0.57em;
  margin-block-end: 0.6429em;
  color: var(--text-body);
  font-size: var(--fz-h3);
  font-weight: var(--fw-600);
  line-height: var(--lh-s);
}
.l-text-content h3:not(:first-child) {
  margin-block-start: var(--text-content-space-l);
}
.l-text-content h3::before {
  flex-shrink: 0;
  align-self: stretch;
  content: "";
  inline-size: 0.3571428571em;
  min-block-size: 1.7857142857em;
}
.l-text-content .is-style-text-box {
  padding: 1em 1.4em;
  background-color: var(--color-main-sub);
}
@media not screen and (max-width: 600px) {
  .l-text-content .is-style-text-box {
    padding: 1.67em;
  }
}
.l-text-content .wp-block-separator {
  margin-block: var(--text-content-space-l);
  block-size: 0.2rem;
  border: 0;
}
@media not screen and (max-width: 600px) {
  .l-text-content .wp-block-separator {
    block-size: 0.3rem;
  }
}

/* ヘッダーの高さ
----------------------------------------- */
/* Header
----------------------------------------- */
:root {
  --header-block-size: min(13.5416666667vw, 7rem);
}
@media not screen and (max-width: 600px) {
  :root {
    --header-block-size: 7rem;
  }
}

.l-header {
  display: block;
  top: 0;
  z-index: 10;
  margin-inline: auto;
  inline-size: 100%;
  color: var(--white);
  block-size: var(--header-block-size);
  background: var(--header-bg-color);
}
.l-header.is-fixed {
  position: fixed;
}
.l-header img {
  inline-size: 100%;
}
.l-header__wrap {
  justify-content: space-between;
  grid-auto-flow: column;
  column-gap: 1rem;
  inline-size: 100%;
  block-size: 100%;
}
@media not screen and (max-width: 1000px) {
  .l-header__wrap {
    grid-template-columns: auto auto;
  }
}
.l-header__logo {
  inline-size: min(26.0416666667vw, 13.6rem);
}
.l-header__sp {
  position: relative;
  z-index: 1;
  aspect-ratio: 70/47;
  cursor: pointer;
}
@media not screen and (max-width: 960px) {
  .l-header__sp {
    display: none !important;
  }
}
@media screen and (max-width: 1000px) {
  .l-header__sp {
    inline-size: min(7rem, 50px);
  }
}
@media screen and (max-width: 600px) {
  .l-header__sp {
    inline-size: min(10.4166666667vw, 10rem);
  }
}
.l-header__sp span, .l-header__sp::before, .l-header__sp::after {
  position: absolute;
  left: 50%;
  z-index: 1;
  inline-size: 100%;
  block-size: 3px;
  background-color: var(--white);
  transition: all 0.3s;
}
@media screen and (max-width: 600px) {
  .l-header__sp span, .l-header__sp::before, .l-header__sp::after {
    block-size: 0.7291666667vw;
  }
}
.l-header__sp::before, .l-header__sp::after {
  content: "";
  translate: -50% 0;
}
.l-header__sp span {
  translate: -50% -50%;
  top: 50%;
}
.l-header__sp::before {
  top: 0;
}
.l-header__sp::after {
  bottom: 0;
}
.is-open .l-header__sp span {
  margin-left: 20%;
  opacity: 0;
}
.is-open .l-header__sp::before, .is-open .l-header__sp::after {
  translate: -50% -50%;
  top: 50%;
}
.is-open .l-header__sp::before {
  rotate: 45deg;
}
.is-open .l-header__sp::after {
  rotate: -45deg;
}
.l-header__nav {
  gap: var(--gap-row-xl) var(--space-ss);
  block-size: 100%;
  font-size: var(--fz-m);
  font-weight: var(--fw-semi-bold);
  letter-spacing: var(--ls-s);
}
@media screen and (max-width: 1000px) {
  .l-header__nav {
    position: fixed;
    align-content: start;
    z-index: -10000;
    inset: 0 0 auto auto;
    inline-size: 0;
    min-block-size: 100vh;
    font-size: var(--fz-xxl);
    background-color: var(--color-main);
    transition: inline-size 0.2s, opacity 0s 0.2s;
    overflow: scroll;
    opacity: 0;
  }
  .l-header__wrap:not(.is-open) .l-header__nav > * {
    display: none;
  }
  .is-open .l-header__nav {
    z-index: 0;
    padding: var(--header-block-size) var(--base-padding-in) var(--space-xl);
    inline-size: 100vw;
    transition: inline-size 0.2s;
    opacity: 1;
  }
}
@media not screen and (max-width: 1000px) {
  .l-header__nav {
    display: flex;
    align-items: center;
    inline-size: 100%;
  }
}
.l-header-link {
  gap: 0.3em 0.6em;
  color: var(--white);
  line-height: 1;
}
@media not screen and (max-width: 1000px) {
  .l-header-link {
    display: grid;
    place-content: center;
    place-items: center;
  }
}
.l-header-link:hover {
  background: linear-gradient(180deg, var(--logo-color-top) 15%, var(--logo-color-center), var(--logo-color-bottom) 96%);
  -webkit-text-fill-color: var(--transparent);
  background-clip: text;
  filter: none;
}
.l-header-link__sub {
  font-size: var(--fz-ss);
}
@media not screen and (max-width: 1000px) {
  .l-header-link__sub {
    font-size: var(--fz-xs);
  }
}
.l-header__text {
  font-size: var(--fz-s);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-s);
  line-height: var(--lh-xs);
}
@media not screen and (max-width: 600px) {
  .l-header__text {
    font-size: 2.4rem;
  }
}

/* ヘッダーの高さ
----------------------------------------- */
/* Footer
----------------------------------------- */
.l-footer {
  padding-block: var(--space-s) var(--space-ss);
  color: var(--white);
  font-size: var(--fz-s);
  line-height: 1;
  background-color: var(--sumi-700);
}
@media not screen and (max-width: 600px) {
  .l-footer {
    font-size: var(--fz-ss);
  }
}
.l-footer__wrap {
  justify-items: center;
}
@media screen and (max-width: 600px) {
  .l-footer__wrap {
    row-gap: 3em;
  }
}
.l-footer__logo {
  inline-size: 25vw;
}
@media not screen and (max-width: 600px) {
  .l-footer__logo {
    inline-size: 24.1rem;
  }
}
.l-footer__logo img {
  inline-size: 100%;
}
.l-footer__nav {
  letter-spacing: var(--ls-l);
}
@media screen and (max-width: 600px) {
  .l-footer__nav {
    row-gap: 1.5em;
  }
}
@media not screen and (max-width: 600px) {
  .l-footer__nav {
    display: flex;
  }
}
.l-footer__nav a {
  color: var(--white);
  text-decoration: none;
}
@media not screen and (max-width: 600px) {
  .l-footer__link:not(:last-child)::after {
    content: "|";
  }
}
.l-footer__copy {
  font-size: var(--fz-xs);
}

.u-bg-blur, .l-resultList {
  -webkit-backdrop-filter: blur(1.3rem) saturate(180%);
  backdrop-filter: blur(1.3rem) saturate(180%);
}

.u-bg-blur, .l-resultList {
  -webkit-backdrop-filter: blur(1.3rem) saturate(180%);
  backdrop-filter: blur(1.3rem) saturate(180%);
}
.u-bg-white {
  background-color: var(--bg-white);
}
.u-bg-sand {
  background-color: var(--bg-sand);
}
.u-bg-blue {
  background-color: var(--bg-blue);
}
.u-bg-blue-light {
  background-color: var(--bg-blue-light);
}

.u-pd-t0 {
  padding-block-start: 0 !important;
}
.u-pd-b0 {
  padding-block-end: 0 !important;
}

/* Text Align
----------------------------------------- */
.u-ta-center, .l-cta {
  text-align: center;
}
@media screen and (max-width: 600px) {
  .u-ta-center--sp {
    text-align: center;
  }
}
@media not screen and (max-width: 600px) {
  .u-ta-center--pc {
    text-align: center;
  }
} /* Font Size
----------------------------------------- */
.u-fz-s {
  font-size: 0.85em;
}
.u-fz-ss {
  font-size: 0.74em;
}

/* Cta
----------------------------------------- */
.l-cta {
  padding-block: var(--block-padding-block-start);
  color: var(--white);
  background-color: var(--cta-bd-color);
}
.l-cta__title {
  align-items: center;
  column-gap: 0.7em;
  font-size: var(--fz-h2-l);
  line-height: var(--lh-xs);
  --arr-rotate: 15deg;
}
@media not screen and (max-width: 600px) {
  .l-cta__title {
    --arr-rotate: 30deg;
  }
}
.l-cta__title h2 {
  font-size: inherit;
  line-height: inherit;
}
@media screen and (max-width: 600px) {
  .l-cta__title h2 {
    letter-spacing: 0.08em;
  }
}
.l-cta__title::before, .l-cta__title::after {
  content: "";
  flex-shrink: 0;
  inline-size: 1.6666666667vw;
  block-size: 100%;
  background-color: currentColor;
}
@media not screen and (max-width: 600px) {
  .l-cta__title::before, .l-cta__title::after {
    inline-size: 1rem;
    block-size: 1.237em;
  }
}
.l-cta__title::before {
  rotate: calc(var(--arr-rotate) * -1);
}
.l-cta__title::after {
  rotate: var(--arr-rotate);
}
.l-cta__input {
  padding-block: 0.8em;
  padding-inline-start: min(2.5641025641vw, 1.8rem);
  min-block-size: min(15.3846153846vw, 7.6rem);
  background-color: var(--white);
}
@media screen and (max-width: 600px) {
  .l-cta__input {
    column-gap: 2.0833333333vw;
  }
}
@media not screen and (max-width: 600px) {
  .l-cta__input {
    margin-inline: auto;
    max-inline-size: min(75.3125vw, 72.3rem);
    inline-size: 100%;
  }
}
.l-cta__input::before {
  content: "";
  inline-size: min(10.2564102564vw, 6rem);
  block-size: auto;
  aspect-ratio: 60/44;
  background: url(../images/icon-mail.png) 50% 50%/contain no-repeat;
}
.l-cta__input input {
  color: var(--text-body);
  inline-size: 100%;
  border: none;
  outline: none;
}
.l-cta__input input::placeholder {
  font-size: 0.9em;
}
.l-cta__button {
  justify-self: center;
  inline-size: 100%;
  block-size: auto;
  border-radius: 100000px;
  overflow: hidden;
}
@media not screen and (max-width: 600px) {
  .l-cta__button {
    inline-size: min(75.7291666667vw, 72.7rem);
  }
}
.l-cta__button input {
  display: block;
  inline-size: 100%;
}
.l-cta .is-error {
  position: relative;
}
.l-cta .is-error .l-error {
  position: absolute;
  left: 0;
  bottom: 100%;
  inline-size: 100%;
  color: var(--error-color);
  font-size: 0.8em;
}
@media screen and (max-width: 600px) {
  .l-cta .is-error .l-error {
    text-align: center;
  }
}
.l-cta .has-autoComplete {
  position: relative;
}
.l-cta__cap {
  margin-block-start: calc(var(--gap-row-s) / 2 * -1);
  font-size: var(--fz-s);
  line-height: var(--lh-xs);
}
@media screen and (max-width: 600px) {
  .l-cta__cap {
    display: grid;
    row-gap: 0.5em;
  }
}

.l-resultList {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  row-gap: 0.5em;
  padding: var(--space-xxs);
  inline-size: 100%;
  background-color: var(--result-bg-color);
  list-style: none;
}
.l-resultList[hidden] {
  opacity: 0;
  padding: 0;
  pointer-events: none;
}
.l-resultList-item {
  position: relative;
  inline-size: fit-content;
  color: var(--text-body);
}
.l-resultList-item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  inline-size: 0;
  block-size: 1px;
  background-color: #424242;
  transition: width 0.2s;
}
.l-resultList-item.is-active::before {
  inline-size: 100%;
}

/* Form
----------------------------------------- */
.l-form {
  row-gap: var(--form-row-gap);
  margin-inline: auto;
  inline-size: 100%;
  font-size: 4.1666666667vw;
  --form-row-gap: 3.125vw;
}
@media not screen and (max-width: 600px) {
  .l-form {
    font-size: var(--fz-ll);
    --form-row-gap: var(--space-xs);
  }
}
.l-form__upper {
  row-gap: var(--space-xxs);
}
.l-form .c-title {
  text-align: center;
}
.l-form__cap {
  text-align: center;
  font-size: var(--fz-l);
}
.l-form-item {
  position: relative;
  row-gap: var(--form-item-row-gap);
  padding-block-start: var(--form-row-gap);
  --form-item-row-gap: 2.0833333333vw;
}
@media not screen and (max-width: 600px) {
  .l-form-item {
    --form-item-row-gap: .8em;
  }
}
.l-form-item::before {
  content: "";
  position: absolute;
  translate: 0 -50%;
  top: 0;
  left: 0;
  inline-size: 100%;
  block-size: 1px;
  background: repeating-linear-gradient(to right, var(--form-bd-color) 0 4px, rgba(0, 0, 0, 0) 4px 6px) 0 0/100% 100%;
}
.l-form-item :is(input, textarea, select) {
  margin: 0;
  inline-size: 100%;
  block-size: auto;
  font-size: var(--fz-m);
  outline: 0 !important;
  outline-offset: 0;
  box-sizing: border-box;
  background: none;
  box-shadow: none;
}
@media screen and (max-width: 600px) {
  .l-form-item :is(input, textarea, select)::placeholder {
    font-size: var(--fz-s);
  }
}
.l-form-item__row {
  row-gap: var(--form-item-row-gap);
  column-gap: 1em;
}
@media not screen and (max-width: 600px) {
  .l-form-item__row {
    grid-template-columns: 1fr 63rem;
    align-items: center;
  }
  .l-form-item__row.fit-auto {
    grid-template-columns: auto 1fr;
    grid-column-gap: 1em;
  }
}
@media not screen and (max-width: 600px) {
  .l-form-item__title {
    margin-inline-start: var(--space-ss);
  }
}
.l-form-item__title sub {
  color: var(--form-red);
  padding-inline-start: 0.2em;
  font-size: 75%;
  vertical-align: top;
}
.l-form-item__input {
  align-content: stretch;
  min-block-size: 5.5rem;
  line-height: 1.4;
  border: 1px solid var(--form-input-bd-color);
  border-radius: 0.5rem;
  cursor: pointer;
}
@media not screen and (max-width: 600px) {
  .l-form-item__input {
    margin-inline-end: var(--space-ss);
  }
}
.l-form-item__input :is(p, span) {
  display: block;
  margin: 0;
}
.l-form-item__input :is(input, textarea, select) {
  padding: 0.5em 0.8em;
}
.l-form-item__input :is(input, textarea, select) .is-select {
  color: #848484;
}
.l-form-item__input.is-zip {
  justify-self: start;
  inline-size: 8.5em;
}
.l-form-item__input.is-error {
  border-color: var(--form-error);
}
.l-form-item__input input[size="8"] {
  inline-size: auto;
}
.l-form-item__input textarea {
  height: 16rem;
}
@media screen and (max-width: 600px) {
  .l-form-item-radio {
    justify-content: center;
  }
}
.l-form-item-radio__row {
  column-gap: min(2.6041666667vw, 2rem);
  font-size: var(--fz-m);
}
.l-form-item-radio__row::before {
  flex-shrink: 0;
  content: "";
  inline-size: 1.6rem;
  block-size: auto;
  aspect-ratio: 1;
  border: 1px solid var(--form-radio-bd-color);
  border-radius: 50%;
  background-color: var(--form-radio-bg-color);
}
.l-form-item-radio__row:has(input[type=radio]:checked)::before {
  background-color: var(--color-main);
  border: 0;
}
.l-form-item__note {
  color: var(--form-error);
}
.l-form-item-check {
  justify-self: center;
  grid-template-columns: 1em 1fr;
  column-gap: 0.5em;
  margin-block-end: 1em;
}
@media not screen and (max-width: 600px) {
  .l-form-item-check {
    grid-column: 1/3;
  }
}
.l-form-item-check input:checked + span::after {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") 50% 60%/contain no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") 50% 60%/contain no-repeat;
  background-color: var(--color-main);
}
.l-form-item-check__box {
  position: relative;
  width: 1em;
  aspect-ratio: 1/1;
  border: 1px solid var(--form-input-bd-color);
  box-shadow: inset 0.71px 0.71px 2px rgba(var(--black-rgb), 0.35);
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .l-form-item-check__text {
    text-align: center;
    font-size: var(--fz-s);
    line-height: var(--lh-ss);
  }
}
.l-form-item-check__text a {
  color: var(--c-text);
}
.l-form-item-check.is-error + .l-form-item__error {
  margin-block: -2em 2em;
  text-align: center;
}
@media not screen and (max-width: 600px) {
  .l-form-item-check.is-error + .l-form-item__error {
    grid-column: 1/3;
  }
}
.l-form-item__error {
  color: var(--form-error);
  font-size: var(--fz-s);
}
@media not screen and (max-width: 600px) {
  .l-form-item__error {
    grid-column: 2;
  }
}
.l-form-row__title {
  grid-template-columns: 1fr;
  font-size: var(--fz-xl);
}
.l-form-row__title02 {
  --block-size: 2.4077rem;
}
@media screen and (max-width: 600px) {
  .l-form-row__title02 img {
    inline-size: 100%;
  }
}
@media not screen and (max-width: 600px) {
  .l-form-row__title02 img {
    margin-inline: 0;
    inline-size: auto;
    block-size: var(--block-size);
  }
}
.l-form__submit {
  margin-inline: auto;
  inline-size: 100%;
}
.l-form__submit button {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  outline: none;
  background: none;
}
@media not screen and (max-width: 600px) {
  .l-form__submit {
    inline-size: 56.6037735849vw;
  }
}
.l-form__submit :is(p, input) {
  inline-size: 100%;
  block-size: 100%;
  background-color: unset;
}
.l-form-resultList {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  row-gap: 0.5em;
  padding: var(--space-xxs);
  inline-size: 100%;
  background-color: rgba(251, 251, 253, 0.7);
  -webkit-backdrop-filter: saturate(180%) blur(5px);
  backdrop-filter: saturate(180%) blur(5px);
  list-style: none;
}
.l-form-resultList[hidden] {
  opacity: 0;
  padding: 0;
  pointer-events: none;
}
.l-form-resultList-item {
  position: relative;
  inline-size: fit-content;
}
.l-form-resultList-item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  inline-size: 0;
  block-size: 1px;
  background-color: #424242;
  transition: width 0.2s;
}
.l-form-resultList-item.is-active::before {
  inline-size: 100%;
}

/* Lower
----------------------------------------- */
.l-lower, .l-lower :where(h2, p) {
  color: var(--lower-text-color);
}
.l-lower :where(h3) {
  color: var(--color-main);
}
.l-lower-fv {
  margin-block-end: var(--space-xxs);
  block-size: 68.75vw;
  background: 50% 100%/cover no-repeat;
}
@media screen and (max-width: 600px) {
  .l-lower-fv {
    background-image: url(../images/lower-fv-bg_sp@2x.png);
  }
}
@media not screen and (max-width: 600px) {
  .l-lower-fv {
    block-size: 30rem;
    background-image: url(../images/lower-fv-bg.png);
  }
}
.l-lower-fv__title {
  row-gap: 0.4028em;
  block-size: 100%;
  text-align: center;
  color: var(--lower-title-color);
  font-size: var(--fz-lower-h1);
  font-weight: var(--fw-500);
  line-height: var(--lh-xs);
}
.l-lower-fv__title > span {
  word-break: inherit;
}
.l-lower-fv__main {
  row-gap: 0.1528em;
  letter-spacing: var(--ls-l);
}
.l-lower-fv__main::after {
  --linear-pos-out: 1%;
  --linear-pos-in: 41%;
  --linear-color: var(--lower-title-color);
  content: "";
  inline-size: 43.75vw;
  block-size: 1.0416666667vw;
}
@media not screen and (max-width: 600px) {
  .l-lower-fv__main::after {
    inline-size: 19.2rem;
    block-size: 0.9rem;
  }
}
.l-lower-fv__sub {
  font-size: 0.35em;
  font-weight: var(--fw-normal);
  letter-spacing: var(--ls-l);
}
@media not screen and (max-width: 600px) {
  .l-lower-fv__sub {
    font-size: 0.2778em;
  }
}
.l-lower-title {
  row-gap: 0.2380952381em;
  text-align: center;
  font-size: var(--fz-h2);
  font-weight: var(--fw-600);
  line-height: var(--lh-s);
  letter-spacing: var(--ls-l);
}
.l-lower-title::after {
  --linear-pos-out: 1%;
  --linear-pos-in: 39%;
  --linear-color: var(--color-sub-sub);
  content: "";
  inline-size: 19.2rem;
  block-size: 0.3rem;
}
.l-lower-wrap {
  padding-block: var(--space-xl);
  --wrap-inline: var(--lower-wrap-inline);
}
.l-lower-block-text h2 {
  border-bottom: 2px solid var(--color-main);
}
.l-lower-block-text :is(h2, h3, p, ul, picture, img):not(:last-child) {
  margin-block-end: var(--space-xs);
}
.l-lower .l-wrap-inner :is(h2, h3):not(:last-child) {
  margin-block-start: var(--space-ss);
  line-height: var(--lh-ss);
}
.l-lower .l-wrap-inner p {
  line-height: var(--lh);
}

/* Button
----------------------------------------- */
.c-column-box a::after, .c-button::after {
  content: "";
  translate: var(--button-arrow-translate-x) var(--button-arrow-translate-y);
  aspect-ratio: 7/0.8;
  inline-size: 5rem;
  block-size: auto;
  -webkit-mask: url(../images/button-arrow.svg) 50% 50%/200% 100%;
  mask: url(../images/button-arrow.svg) 50% 50%/200% 100%;
  background-color: var(--white);
  transition: translate 0.2s;
  --button-arrow-translate-x: 0;
  --button-arrow-translate-y: 0;
}
@media (any-hover: hover) {
  .c-column-box a:hover::after, .c-button:hover::after {
    --button-arrow-translate-x: .5em;
  }
}
@media (any-hover: none) {
  .c-column-box a:active::after, .c-button:active::after {
    --button-arrow-translate-x: .5em;
  }
}
@media not screen and (max-width: 600px) {
  .c-column-box a::after, .c-button::after {
    inline-size: 7rem;
  }
}

.c-button {
  inline-size: 100%;
  block-size: auto;
  max-inline-size: 83.3333333333vw;
  min-block-size: 15.625vw;
  margin: 0 auto;
  padding: 0.3em 0.7em;
  border: 0;
  color: var(--white);
  font-size: var(--fz-ll);
  line-height: var(--lh-ss);
  letter-spacing: var(--ls-ll);
  text-align: center;
  background: linear-gradient(var(--button-color-top), var(--button-color-bottom));
}
@media not screen and (max-width: 600px) {
  .c-button {
    max-inline-size: 48rem;
    min-block-size: min(20.5128205128vw, 8rem);
  }
}
.c-button:not(.is-text-long) {
  position: relative;
}
.c-button:not(.is-text-long)::after {
  position: absolute;
  top: 50%;
  right: 0.7em;
  --button-arrow-translate-y: -50%;
}
.c-button.is-text-long {
  grid-template-columns: 1fr auto;
  column-gap: 1em;
  letter-spacing: var(--ls-l);
}
@media screen and (max-width: 600px) {
  .c-button.is-text-long {
    font-size: var(--fz-l);
  }
}
.c-button.is-cta {
  background: linear-gradient(var(--button-color-cta-top), var(--button-color-cta-bottom));
}

/* Breadcrumb
----------------------------------------- */
@media screen and (max-width: 600px) {
  .c-breadcrumb {
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .c-breadcrumb::-webkit-scrollbar {
    display: none;
  }
}
.c-breadcrumb__list {
  grid-auto-flow: column;
  justify-content: start;
  column-gap: 1em;
  font-size: var(--fz-ss);
  line-height: var(--lh-ss);
}
@media screen and (max-width: 600px) {
  .c-breadcrumb__item {
    white-space: nowrap;
  }
}
.c-breadcrumb__item a {
  display: block;
}
.c-breadcrumb__item--arrow {
  inline-size: 1em;
  block-size: auto;
  aspect-ratio: 1;
  background: url(../images/breadcrumb-arrow.svg) 50% 50%/contain no-repeat;
}

/* About Features
----------------------------------------- */
.c-about-features {
  row-gap: min(2.0512820513vw, 1rem);
  color: var(--white);
  font-size: var(--fz-ll);
  font-weight: var(--fw-600);
  line-height: var(--lh-ss);
  --about-features-icon: 23%;
  --about-features-icon-pos-start: calc( (100% - var(--about-features-icon)) / 2 );
  --about-features-icon-pos-end: calc( var(--about-features-icon-pos-start) + var(--about-features-icon) );
}
@media not screen and (max-width: 600px) {
  .c-about-features {
    font-size: var(--fz-xxl);
  }
}
.c-about-features::after {
  justify-self: center;
  content: "";
  inline-size: min(8.9743589744vw, 7.4rem);
  block-size: auto;
  aspect-ratio: 1;
  clip-path: polygon(var(--about-features-icon-pos-start) 0, var(--about-features-icon-pos-end) 0, var(--about-features-icon-pos-end) var(--about-features-icon-pos-start), 100% var(--about-features-icon-pos-start), 100% var(--about-features-icon-pos-end), var(--about-features-icon-pos-end) var(--about-features-icon-pos-end), var(--about-features-icon-pos-end) 100%, var(--about-features-icon-pos-start) 100%, var(--about-features-icon-pos-start) var(--about-features-icon-pos-end), 0 var(--about-features-icon-pos-end), 0 var(--about-features-icon-pos-start), var(--about-features-icon-pos-start) var(--about-features-icon-pos-start));
  background: var(--about-features-color);
  grid-row: 2;
}
.c-about-features__box {
  padding: 0.4em 0.5em;
  inline-size: 100%;
  min-block-size: 10rem;
  background: linear-gradient(to bottom, var(--about-features-color-top), var(--about-features-color-bottom));
}

/* About Media
----------------------------------------- */
.c-about-media {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
}
@media not screen and (max-width: 600px) {
  .c-about-media {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-auto-rows: 10rem;
    grid-auto-columns: 24rem;
    gap: 1.3rem;
  }
}
.c-about-media__item {
  gap: 0;
  grid-column: span 2;
  padding: 0.3em;
  inline-size: 100%;
  block-size: 100%;
  font-size: var(--fz-l);
  font-weight: var(--fw-bold);
  line-height: var(--lh-xs);
  border: 0.3rem solid currentColor;
  background-color: var(--white);
}
.c-about-media__item:first-of-type {
  grid-column: 2/span 2;
}
@media not screen and (max-width: 600px) {
  .c-about-media__item {
    padding-inline-end: 1rem;
    font-size: 2.3rem;
    border-width: 0.5rem;
  }
}
.c-about-media__text {
  inline-size: 100%;
}
.c-about-media__icon {
  flex-shrink: 0;
  inline-size: 30%;
}
@media not screen and (max-width: 600px) {
  .c-about-media__icon {
    inline-size: 6.6rem;
  }
}
.c-about-media__icon img {
  inline-size: 100%;
}

/* Column
----------------------------------------- */
.c-column-box a {
  gap: 0 var(--gap-ss);
  min-block-size: 7.2rem;
  padding: 0.4em var(--space-xxs) 0.4em;
  color: var(--lower-text-color);
  border: 1px solid var(--column-bd-color);
  box-shadow: 0.14rem 0.14rem 0 0.2rem var(--column-bd-color);
  background: var(--white);
}
@media not screen and (max-width: 600px) {
  .c-column-box a {
    column-gap: 2rem;
    padding-inline-start: var(--space-s);
  }
}
.c-column-box a::after {
  flex-shrink: 0;
  background-color: var(--column-bd-color);
}
@media (any-hover: hover) {
  .c-column-box a::after:hover {
    --button-arrow-translate-x: 1.2rem;
  }
}
@media (any-hover: none) {
  .c-column-box a::after:active {
    --button-arrow-translate-x: 1.2rem;
  }
}
@media (any-hover: hover) {
  .c-column-box a:hover {
    color: var(--white);
    background: var(--column-bg-color);
  }
  .c-column-box a:hover::after {
    background-color: var(--white);
  }
}
@media (any-hover: none) {
  .c-column-box a:active {
    color: var(--white);
    background: var(--column-bg-color);
  }
  .c-column-box a:active::after {
    background-color: var(--white);
  }
}
.c-column-box.is-new a::before {
  flex-shrink: 0;
  content: "New";
  padding: 0.3em 0.5em;
  inline-size: auto;
  block-size: auto;
  color: var(--white);
  font-size: var(--fz-s);
  font-weight: var(--fw-600);
  line-height: 1;
  background-color: var(--column-new-color);
}
@media not screen and (max-width: 600px) {
  .c-column-box.is-new a::before {
    min-inline-size: 6.5rem;
    aspect-ratio: 65/25;
    margin-inline-start: -1.2rem;
  }
}
@media (any-hover: hover) {
  .c-column-box.is-new a:hover::before {
    color: var(--column-new-color);
    background-color: var(--white);
  }
}
@media (any-hover: none) {
  .c-column-box.is-new a:active::before {
    color: var(--column-new-color);
    background-color: var(--white);
  }
}
.c-column-box__title {
  flex-grow: 1;
  color: inherit;
  font-size: var(--fz-body);
  font-weight: var(--fw-500);
  line-height: var(--lh-ss);
}

/* Footer cta
----------------------------------------- */
.c-footer-cta {
  gap: 0;
  margin-block-start: var(--space-m);
}
.c-footer-cta__box {
  padding-inline: var(--block-padding-block);
}
@media not screen and (max-width: 600px) {
  .c-footer-cta__box p {
    text-align: left;
  }
}
.c-footer-cta__box--download {
  background-color: var(--bg-section);
}
.c-footer-cta__box--contact {
  background-color: var(--bg-section-second);
}

.c-fix-btn-top {
  position: fixed;
  bottom: var(--fix-btn-pos);
  right: var(--fix-btn-pos);
  z-index: 100;
  inline-size: var(--fix-btn-size);
  block-size: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--fix-btn-color);
  opacity: 0;
  transition: opacity 0.5s;
  --fix-btn-pos: min(3.8461538462vw, 2rem);
  --fix-btn-size: min(15.3846153846vw, 7rem);
}
.c-fix-btn-top::before {
  content: "";
  inline-size: 2.1rem;
  block-size: 3.5rem;
  aspect-ratio: 21/35;
  -webkit-mask: url(../images/button-top.svg) 50% 50%/contain no-repeat;
  mask: url(../images/button-top.svg) 50% 50%/contain no-repeat;
  background-color: var(--white);
}
.c-fix-btn-top.is-active {
  opacity: 1;
}

.c-box-title {
  padding: 0.6em 0.5em;
  color: var(--white);
  font-size: var(--fz-h4-s);
  font-weight: var(--fw-normal);
  line-height: var(--lh-ss);
  letter-spacing: var(--ls-l);
  background-color: var(--title-box-color);
}

/* Form
----------------------------------------- */
.c-form {
  line-height: var(--lh-ss);
}
.c-form p {
  text-align: center;
}
.c-form sub {
  color: var(--form-red);
  font-size: var(--fz-xs);
  vertical-align: super;
}
.c-form label {
  cursor: pointer;
}
.c-form .wpcf7-spinner,
.c-form .wpcf7-not-valid-tip {
  display: none !important;
}
.c-form .c-form-check .wpcf7-list-item label:has(input:checked)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") 50% 60%/contain no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") 50% 60%/contain no-repeat;
  background-color: var(--color-main);
}
.c-form-items {
  gap: var(--space-xxxs) 1em;
}
@media not screen and (max-width: 600px) {
  .c-form-items {
    row-gap: var(--space-xxs);
    grid-template-columns: max-content 1fr;
  }
}
.c-form-items__cap {
  justify-self: end;
  justify-self: end;
  font-size: var(--fz-s);
}
@media not screen and (max-width: 600px) {
  .c-form-items__cap {
    grid-column: span 2;
  }
}
.c-form-items__cap sub {
  vertical-align: middle;
}
.c-form-items__title {
  gap: 0;
  font-weight: var(--fw-600);
}
@media screen and (max-width: 600px) {
  .c-form-items__title:not(:nth-of-type(2)) {
    margin-block-start: 1em;
  }
}
.c-form-items__title--top {
  align-self: start;
}
.c-form-items__input {
  position: relative;
  gap: 0;
  border: 1px solid var(--form-bd-color);
}
.c-form-items__input span {
  display: block;
}
.c-form-items__input :is(input, textarea, select) {
  inline-size: 100%;
  block-size: 100%;
  min-block-size: 3.5em;
  padding: 0.8em 1em;
  outline: none;
  border: none;
  background: none;
  -webkit-appearance: none;
  appearance: none;
}
@media not screen and (max-width: 600px) {
  .c-form-items__input :is(input, textarea, select) {
    min-block-size: 7rem;
  }
}
.c-form-items__input :is(input, select) {
  padding-inline-end: 0;
}
.c-form-items__input textarea {
  block-size: 5lh;
  field-sizing: content;
}
.c-form-items__input--select {
  position: relative;
  --padding-right: 2em;
}
.c-form-items__input--select::after {
  content: "";
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  right: var(--padding-right);
  inline-size: 1em;
  block-size: auto;
  aspect-ratio: 1/0.9;
  background-color: var(--form-arrow-color);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.c-form-items__input--select select {
  padding-inline-end: var(--padding-right);
}
.c-form-items__input--checkbox {
  border: 0;
}
.c-form-items__input--checkbox .wpcf7-form-control {
  gap: 1em 0;
}
.c-form-check .wpcf7-list-item {
  margin: 0;
  --box-size: 1.1em;
}
.c-form-check .wpcf7-list-item label {
  position: relative;
  gap: 0 0.8em;
  margin: 0;
}
.c-form-check .wpcf7-list-item label::before {
  content: "";
  flex-shrink: 0;
  padding: 0;
  inline-size: var(--box-size);
  block-size: auto;
  min-block-size: 0;
  aspect-ratio: 1;
  border: 1px solid var(--form-bd-color);
}
.c-form .c-form-check .wpcf7-list-item label:has(input:checked)::after {
  translate: 0 -50%;
  inset: 50% auto auto 0;
  inline-size: var(--box-size);
  block-size: auto;
  aspect-ratio: 1;
}
.c-form-check .wpcf7-list-item input {
  display: none;
}
.c-form-agree .c-form-error {
  text-align: center;
}
.c-form-submit.is-disabled {
  pointer-events: none;
  filter: grayscale(1) opacity(0.6);
}
.c-form-error {
  inline-size: 100%;
  color: var(--form-error);
  font-size: var(--fz-s);
}
.c-form .is-error {
  position: relative;
  margin-block-end: 1em;
}
.c-form .is-error .c-form-error {
  position: absolute;
  top: 100%;
  left: 0;
}
.c-form .is-error.c-form-items__input--checkbox {
  margin-block-end: 1.5em;
}
.c-form .is-error.c-form-items__input--checkbox .c-form-error {
  top: calc(100% + 0.5em);
}

/* TOP
----------------------------------------- */
.p-top {
  line-height: var(--lh-l);
  overflow: hidden;
  --inner-inline-size: 90rem;
  --min-block-size: 10rem;
}
@media not screen and (max-width: 600px) {
  .p-top {
    --min-block-size: 14rem;
  }
}
.p-top .l-img-inner--sp :is(img, picture, video) {
  margin-inline: auto;
  max-inline-size: 72.9166666667vw;
}
@media not screen and (max-width: 600px) {
  .p-top .l-img-inner--sp :is(img, picture, video) {
    max-inline-size: min(45.8333333333vw, 44rem);
  }
}
.p-top-fv {
  row-gap: 2.3958333333vw;
  padding-block: 0 var(--space-s);
}
@media not screen and (max-width: 600px) {
  .p-top-fv {
    row-gap: 1.5rem;
    padding-block-start: var(--space-xs);
  }
}
.p-top-fv__img {
  justify-self: center;
}
@media screen and (max-width: 600px) {
  .p-top-fv__img {
    margin-inline: calc(var(--base-padding-in) * -1);
  }
}
@media not screen and (max-width: 600px) {
  .p-top-fv__img {
    inline-size: min(83.3333333333vw, 80rem);
  }
}
.p-top-fv__detail {
  column-gap: var(--space-xxxs);
}
.p-top-fv__rate {
  inline-size: 26.0416666667vw;
}
@media not screen and (max-width: 600px) {
  .p-top-fv__rate {
    inline-size: min(16.6666666667vw, 16rem);
  }
}
.p-top-fv__num {
  color: var(--top-fv-num);
  font-size: var(--fz-ss);
  line-height: 1;
}
.p-top-sec02__box {
  border: var(--border-width) solid var(--color-main);
  --border-width: 2px;
}
@media screen and (max-width: 600px) {
  .p-top-sec02__box {
    --border-width: 1px;
    border-top-width: 0;
  }
}
@media not screen and (max-width: 600px) {
  .p-top-sec02__head {
    display: flex;
    column-gap: var(--space-xs);
  }
}
.p-top-sec02__head:has(+ .p-top-sec02__movie) {
  border-bottom: var(--border-width) solid var(--color-main);
}
.p-top-sec02__num {
  padding-block: 0.3em;
  min-inline-size: min(14.5833333333vw, 14rem);
  min-block-size: min(6.25vw, 6rem);
  color: var(--white);
  line-height: 1;
  background-color: var(--color-main);
}
.p-top-sec02__num picture {
  width: 7.8rem;
}
@media screen and (max-width: 600px) {
  .p-top-sec02__num picture {
    width: 15%;
  }
}
.p-top-sec02__title {
  flex-grow: 1;
  padding: 0.4em 0.5em;
  line-height: var(--lh-ss);
}
@media screen and (max-width: 600px) {
  .p-top-sec02__title {
    justify-content: center;
    text-align: center;
  }
}
@media not screen and (max-width: 600px) {
  .p-top-sec02__title {
    padding-inline-start: 0;
  }
}
.p-top-sec02__movie {
  padding: var(--space-xxs);
}
.p-top-sec03 {
  --bg-size: 1.6rem;
  background: url(../images/sec03_bg.svg) 50% 50%/var(--bg-size) var(--bg-size);
}
@media not screen and (max-width: 600px) {
  .p-top-sec03 {
    --bg-size: min(2.6041666667vw, 2.5rem);
  }
}
.p-top-sec04 {
  --bos-space: min(1.6666666667vw, 1.6rem);
}
.p-top-sec04__box {
  grid-template-rows: auto 1fr;
  row-gap: var(--bos-space);
  padding: var(--space-xxxs);
  padding-block-end: var(--bos-space);
  font-size: var(--fz-s);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ss);
  text-align: center;
  background-color: var(--box-bg-color);
}
.p-top-sec04__text {
  align-self: center;
}
.p-top-sec05__items {
  row-gap: var(--space-xxxs);
  justify-items: start;
}
.p-top-sec05__rate {
  inline-size: 26.0416666667vw;
}
@media not screen and (max-width: 600px) {
  .p-top-sec05__rate {
    inline-size: min(20.8333333333vw, 20rem);
  }
}
@media not screen and (max-width: 600px) {
  .p-top-sec05__text {
    margin-block-start: var(--space-xxxs);
  }
}

/* 動画表示用 */
.custom-video-wrap {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 1rem; /* スマホ時の左右余白 */
}
.custom-video-wrap video {
  width: 100%;
  height: auto;
  display: block;
}

/* 動画下の画像（テキスト画像） */
.video-caption {
  max-width: 700px;
  margin: 1rem auto 2rem;
  padding: 0 1rem;
}
.video-caption img {
  width: 100%;
  display: block;
}

/* 背景色付き画像エリア */
.bg-box {
  background-color: #a6d2da;
position: relative;
  left: 50%;
  right: 50%;
    margin-top: 5rem;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  background-color: #a6d2da;
  padding: 6rem 1rem;
  text-align: center;
  box-sizing: border-box;
  z-index: 0;
}
.bg-box img {
  max-width: 100%;
  height: auto;
    display: inline-block;
}

.p-top-sec01 {
  padding-bottom: 0 !important;
}
