@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;
  word-break: auto-phrase;
  text-autospace: no-autospace;
  text-spacing-trim: space-first;
  overflow-wrap: anywhere;
}

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: .9rem;
  --space-xxs: 1.5625rem;
  --space-xs: 1.6rem;
  --space-ss: 2.2rem;
  --space-s: 2.8rem;
  --space-m: 3.6rem;
  --space-l: 4.2rem;
  --space-ll: 4.8rem;
  --space-xl: 5.4rem;
  --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: var(--space-s);
  --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);
  --base-padding-in: min(3.125vw, 30px);
  --wrap-inline: 106rem;
  --lower-wrap-inline: 90rem;
  --block-padding-block: var(--space-m);
  --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: 1.2rem;
    --space-xxs: 2rem;
    --space-xs: 2.8rem;
    --space-ss: 3.6rem;
    --space-s: 4.2rem;
    --space-m: 4.8rem;
    --space-l: 5.6rem;
    --space-ll: 6.4rem;
    --space-xl: 7rem;
    --space-xxl: 8rem;
    --space-xxxl: 8.8rem;
    --gap-row: var(--space-l);
    --gap-row-s: var(--space-m);
    --gap-row-ss: var(--space-xxs);
    --gap-column: var(--space-l);
    --gap-column-s: var(--space-m);
    --gap-column-ss: var(--space-xxs);
  }
}

/* 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: #8a763c;
  --color-sub: #0e4664;
  --color-main-sub: #eae6db;
  --color-sub-sub: #5F5A4E;
  --white: #fbfeff;
  --white: #fff;
  --black: #242424;
  --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: #565144;
  --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;
  --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-top: #A7ABB2;
  --header-bg-color-bottom: #7B818C;
  --form-bd-color: #e3e6ec;
  --form-arrow-color: #7b818c;
  --form-red: #7e0000;
  --form-error: #ef1111;
  --form-radio-bd-color: #BABABA;
  --form-radio-bg-color: #E9E9E9;
  --gradient-cover: linear-gradient(to top, #000, #2e2e2e);
  --top-fv-shadow: rgba(89, 95, 106, 0.7);
  --lower-title-color: #475266;
  --lower-text-color: #565144;
  --about-features-color-top: #9F8E5F;
  --about-features-color-bottom: #8A763B;
  --about-features-color: #8a763c;
  --service-num-top: #faf5e6;
  --service-num-bottom: #e5decb;
  --service-fee-color: #654c04;
  --company-bd-color: #e3e6ec;
  --column-bd-color: #595f6a;
  --column-bg-color: #0a134a;
  --column-new-color: #801d1d;
}

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

/* Base
----------------------------------------- */
:root {
  --fz-body: 1.6rem;
  --fz-xs: 1rem;
  --fz-ss: 1.2rem;
  --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: 2.6rem;
  --fz-h2: 2.8rem;
  --fz-h3: 2.3rem;
  --fz-h4: 2.1rem;
  --fz-h5: 1.8rem;
  --fz-lower-h1: 5rem;
  --fz-top-h2: 4rem;
  --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.5;
  --lh-s: 1.7;
  --lh: 2;
  --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: .095em;
  --ls-ll: .2em;
  --ls-xl: .5em;
}
@media not screen and (max-width: 600px) {
  :root {
    --fz-body: 1.8rem;
    --fz-xs: 1.2rem;
    --fz-ss: 1.4rem;
    --fz-s: 1.6rem;
    --fz-m: var(--fz-body);
    --fz-l: 2rem;
    --fz-ll: 2.2rem;
    --fz-xl: 2.4rem;
    --fz-xxl: 2.6rem;
    --fz-h1: 4.4rem;
    --fz-h2: 4rem;
    --fz-h3: 2.8rem;
    --fz-h4: 2.4rem;
    --fz-h5: 2rem;
    --fz-lower-h1: 7.2rem;
    --fz-top-h2: 4.8rem;
  }
}

/* Font
----------------------------------------- */
.p-top-title__main, .p-top-company-box, .c-button, .c-about-media__item, .c-column-box.is-new a::before, .l-lower-fv, .l-footer__nav, .l-header__nav {
  font-family: var(--ff-sans-en);
  font-weight: var(--fw-600);
  font-optical-sizing: auto;
  font-style: normal;
}
.p-top-service-points__item::before, .p-service-points__title::before {
  font-family: var(--ff-sans-num);
  font-weight: 700;
  font-style: italic;
}
:where(p) {
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: break-word;
}
.l-text-content p {
  word-break: auto-phrase;
}
.p-top-cta__box p, .p-service p, .u-text-wrap--none, .u-text-wrap--none *, .l-lower-fv__title {
  word-break: break-all;
}

.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 {
  font-weight: var(--fw-bold);
  word-break: auto-phrase;
}

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

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

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(opacity)
----------------------------------------- */
.l-fix-bnr__close {
  cursor: pointer;
}
.l-fix-bnr__close:not([class]) {
  transition: opacity 0.1s;
}
@media (any-hover: hover) {
  .l-fix-bnr__close:not([class]):hover {
    opacity: 0.8;
  }
}
@media (any-hover: none) {
  .l-fix-bnr__close:not([class]):active {
    opacity: 0.8;
  }
}
[class].l-fix-bnr__close {
  transition: filter 0.2s;
}
@media (any-hover: hover) {
  [class].l-fix-bnr__close:hover {
    filter: brightness(1.2);
  }
}
@media (any-hover: none) {
  [class].l-fix-bnr__close:active {
    filter: brightness(1.2);
  }
}

/* Clickable(linear)
----------------------------------------- */
:where(a) {
  cursor: pointer;
}
: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, .p-download-document__detail dd, .l-form-item-radio, .flex-center-x, .flex-center-y, .p-service-points__title, .p-service-fee__box, .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-fv__bg .swiper-pagination, .p-service-fee__title::before, .c-form-agree, .c-about-media__item, .c-form__agree, .c-column-box.is-new a::before, .l-footer__nav, .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-fv__bg .swiper-pagination, .p-service-fee__title::before, .c-form-agree, .c-about-media__item, .c-form__agree, .c-column-box.is-new a::before, .l-footer__nav, .l-header-link {
  justify-content: center;
  align-items: center;
}
.flex-center-y, .p-service-points__title, .p-service-fee__box, .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-fv-title, .p-top-title, .p-service-points, .p-service-points__item, .p-service-fee, .p-service-fee__text, .p-download-document, .p-download-document__detail, .c-about-features, .l-form, .l-form__upper, .l-form-item, .l-form-item__row, .l-form-item__input, .l-cta .l-block__inner, .l-cta__cont, .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, .p-top-fv, .p-top-fv__main, .p-top-service-points__item, .c-form, .c-form-items, .c-breadcrumb__list, .l-header__wrap, .grid-center-x, .l-form-resultList, .grid-center, .p-service-fee__title, .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;
  grid-auto-columns: minmax(0, auto);
  gap: var(--gap, 0);
}
.grid-center, .p-service-fee__title, .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 {
  justify-content: center;
  justify-items: center;
}
.grid-center-y, .p-top-fv, .p-top-fv__main, .p-top-service-points__item, .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
----------------------------------------- */
.p-service-points__item::before, .p-service-points__item:last-of-type::after, .p-download-document::before, .p-download-document::after, .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;
}

/* 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%;
}
/* Block
----------------------------------------- */
.l-block {
  inline-size: 100%;
  block-size: 100%;
  padding-block: var(--block-padding-block);
}
.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(17.7083333333vw, 10rem);
}
@media not screen and (max-width: 600px) {
  :root {
    --header-block-size: 10rem;
  }
}

.l-header {
  position: sticky;
  display: block;
  top: 0;
  z-index: 10;
  margin-inline: auto;
  inline-size: 100%;
  block-size: var(--header-block-size);
  background: linear-gradient(to bottom, var(--header-bg-color-top), var(--header-bg-color-bottom));
}
.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, 15.5rem);
}
.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);
  }
}

/* ヘッダーの高さ
----------------------------------------- */
/* Footer
----------------------------------------- */
.l-footer {
  padding-block: var(--space-s) var(--space-ss);
  color: #fff;
  font-size: var(--fz-body);
  line-height: 1;
  background-color: var(--color-silver);
  --footer-row-gap: 11.875vw;
}
@media not screen and (max-width: 600px) {
  .l-footer {
    font-size: var(--fz-s);
    --footer-row-gap: calc(var(--space-ss) * 2);
  }
}
.l-footer .l-wrap {
  justify-items: center;
  row-gap: var(--space-xl);
}
.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 {
  flex-wrap: wrap;
  gap: var(--gap-row) 3em;
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-l);
}
@media not screen and (max-width: 600px) {
  .l-footer__nav {
    gap: var(--gap-row-ss) 3em;
  }
}
.l-footer__nav a {
  color: var(--white);
  text-decoration: none;
}
.l-footer__copy {
  font-size: 1.3rem;
  font-weight: var(--fw-semi-bold);
}

/* Cta
----------------------------------------- */
.l-cta .l-block__inner {
  row-gap: var(--space-xs);
}
.l-cta__cont {
  row-gap: var(--space-xxs);
}
.l-cta__button {
  inline-size: 93.75vw;
  block-size: auto;
}
@media not screen and (max-width: 600px) {
  .l-cta__button {
    inline-size: 60rem;
  }
}

/* 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: min(56.6037735849vw, 60rem);
  }
}
.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;
  --button-arrow-translate-y: -50%;
}
.c-button:not(.is-text-long)::after {
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  right: 0.7em;
}
.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%;
}

/* 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 .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-items__input .wpcf7-not-valid-tip {
  display: none !important;
}
.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, .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__submit .wpcf7-spinner {
  display: none;
}
.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;
}

/* 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: linear-gradient(var(--column-bg-color) 50%, var(--white) 0) 0 100%/100% 300%;
  transition: 0s !important;
}
@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-position-y: top;
  }
  .c-column-box a:hover::after {
    background-color: var(--white);
  }
}
@media (any-hover: none) {
  .c-column-box a:active {
    color: var(--white);
    background-position-y: top;
  }
  .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: linear-gradient(var(--white) 50%, var(--column-new-color) 0) 0 100%/100% 300%;
  transition: 0.2s;
}
@media (any-hover: hover) {
  .c-column-box.is-new a::before:hover {
    color: var(--column-new-color);
    background-position-y: top;
  }
}
@media (any-hover: none) {
  .c-column-box.is-new a::before:active {
    color: var(--column-new-color);
    background-position-y: top;
  }
}
@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;
  }
}
.c-column-box__title {
  flex-grow: 1;
  color: inherit;
  font-size: var(--fz-body);
  font-weight: var(--fw-500);
  line-height: var(--lh-ss);
}

/* 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);
}

.u-bg-blur {
  -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, .p-top, .p-about {
  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;
}

/* TOP
----------------------------------------- */
.p-top {
  line-height: var(--lh-l);
  --inner-inline-size: 90rem;
  --min-block-size: 10rem;
}
@media not screen and (max-width: 600px) {
  .p-top {
    --min-block-size: 14rem;
  }
}
.p-top .p-top-company-box, .p-top .p-top-about .c-about-features, .p-top-about .p-top .c-about-features {
  justify-self: center;
  max-inline-size: var(--inner-inline-size);
  inline-size: 100%;
}
.p-top-fv {
  position: relative;
  z-index: 0;
  inline-size: 100%;
  block-size: auto;
  overflow: hidden;
}
@media not screen and (max-width: 600px) {
  .p-top-fv {
    block-size: min(143.5897435897vw, 56rem);
  }
}
.p-top-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
@media screen and (max-width: 600px) {
  .p-top-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    mix-blend-mode: multiply;
  }
}
.p-top-fv__bg .swiper {
  inline-size: 100%;
  block-size: 100%;
}
.p-top-fv__bg .swiper-wrapper {
  align-items: center;
}
.p-top-fv__bg .swiper-slide {
  inline-size: 100%;
  block-size: 100%;
}
.p-top-fv__bg .swiper-slide img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.p-top-fv__bg .swiper-pagination {
  column-gap: var(--gap-s);
  bottom: 0;
  --swiper-theme-color: var(--color-main);
  --swiper-pagination-bullet-inactive-color: var(--white);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bottom: 4.1666666667vw;
}
@media not screen and (max-width: 600px) {
  .p-top-fv__bg .swiper-pagination {
    --swiper-pagination-bottom: 2.4rem;
  }
}
.p-top-fv__bg .swiper-pagination-bullet {
  margin: 0 !important;
  inline-size: 2.0833333333vw;
  block-size: auto;
  aspect-ratio: 1;
}
@media not screen and (max-width: 600px) {
  .p-top-fv__bg .swiper-pagination-bullet {
    inline-size: 1.4rem;
  }
}
.p-top-fv__main {
  position: relative;
  z-index: 0;
  padding-block: 7.2916666667vw 10.4166666667vw;
}
@media not screen and (max-width: 600px) {
  .p-top-fv__main {
    padding-block: 0 3rem;
  }
}
.p-top-fv-title {
  row-gap: 0.8em;
  color: var(--white);
  font-size: var(--fz-h1);
  text-align: left;
  text-shadow: 1.5px 1.5px 1px var(--top-fv-shadow), 0.4px 1.5px 1px var(--top-fv-shadow), 1.5px 0.4px 1px var(--top-fv-shadow);
}
.p-top-fv-title__main {
  font-weight: var(--fw-500);
  line-height: 1.9;
  letter-spacing: var(--ls-ss);
}
@media not screen and (max-width: 600px) {
  .p-top-fv-title__main {
    line-height: 1.45;
    letter-spacing: var(--ls-ll);
  }
}
.p-top-fv-title__sub {
  font-size: 1.5rem;
  font-weight: var(--fw-normal);
  letter-spacing: 0.12em;
  word-break: keep-all;
}
@media not screen and (max-width: 600px) {
  .p-top-fv-title__sub {
    font-size: var(--fz-l);
    line-height: 1.8;
  }
}
.p-top-fv-btn {
  row-gap: var(--gap-s);
}
.p-top-title {
  row-gap: 0.34em;
  font-size: var(--fz-top-h2);
  line-height: 1;
}
.p-top-title__main {
  letter-spacing: var(--ls-l);
}
.p-top-title__sub {
  font-size: 1.4rem;
  font-weight: var(--fw-500);
}
.p-top .l-section:nth-of-type(4n) {
  border-image: linear-gradient(var(--bg-section-second) 0 100%) 0 fill/auto/0 100vw;
}
.p-top-about .c-about-features {
  color: inherit;
}
.p-top-about .c-about-features::after {
  background-color: var(--text-body);
}
@media not screen and (max-width: 600px) {
  .p-top-about .c-about-features::after {
    inline-size: 4.1rem;
  }
}
.p-top-about .c-about-features__box {
  background: var(--bg-section);
}
@media not screen and (max-width: 600px) {
  .p-top-about .c-about-features__box {
    min-block-size: 13rem;
  }
}
.p-top-about .c-about-features__box:last-of-type {
  background: var(--bg-section-second);
}
.p-top-service-points {
  font-size: var(--fz-ll);
  font-weight: var(--fw-600);
  line-height: var(--lh-s);
}
.p-top-service-points__item {
  position: relative;
  z-index: 0;
  margin-block-start: var(--space-xs);
  padding: 0.5em;
  min-block-size: var(--min-block-size);
  background-color: var(--white);
  counter-increment: serviceNum;
}
.p-top-service-points__item::before {
  content: counter(serviceNum, decimal-leading-zero);
  position: absolute;
  top: -0.29em;
  left: 0.04em;
  z-index: -1;
  font-size: 8rem;
  line-height: 1;
  background: linear-gradient(180deg, var(--service-num-top) 10%, var(--service-num-bottom) 90%);
  -webkit-text-fill-color: var(--transparent);
  background-clip: text;
}
@media not screen and (max-width: 600px) {
  .p-top-service-points__item::before {
    font-size: 6.82em;
  }
}
.p-top-company-box {
  position: relative;
  z-index: 0;
  padding: 0.5em 0.8em;
  min-block-size: var(--min-block-size);
  font-size: var(--fz-l);
  line-height: var(--lh-s);
  background-color: var(--white);
}
@media not screen and (max-width: 600px) {
  .p-top-company-box {
    font-size: var(--fz-ll);
  }
}
.p-top-company-box::after {
  content: "";
  position: absolute;
  translate: 0.7% 18.36%;
  right: 0;
  bottom: 0;
  z-index: -1;
  inline-size: 80%;
  block-size: auto;
  aspect-ratio: 567/49;
  background: url(../images/top/company-bg.svg) 50% 50%/contain no-repeat;
}
@media not screen and (max-width: 600px) {
  .p-top-company-box::after {
    inline-size: 63%;
  }
}
.p-top-company-box__en {
  font-size: 1.36em;
  font-weight: var(--fw-normal);
}
.p-top-company-box__jp {
  font-weight: var(--fw-500);
}
.p-top-column .p-column-lists {
  text-align: left;
}
.p-top-cta {
  gap: 0;
  margin-block-start: var(--space-m);
}
.p-top-cta__box {
  padding-inline: var(--block-padding-block);
}
@media not screen and (max-width: 600px) {
  .p-top-cta__box p {
    text-align: left;
  }
}
.p-top-cta__box--download {
  background-color: var(--bg-section);
}
.p-top-cta__box--contact {
  background-color: var(--bg-section-second);
}

/* About
----------------------------------------- */
/* Service
----------------------------------------- */
.p-service-points, .p-service-points__item {
  row-gap: var(--space-m);
}
.p-service-points__item {
  counter-increment: num;
}
.p-service-points__item::before, .p-service-points__item:last-of-type::after {
  content: "";
  inline-size: 100%;
  block-size: 0.2rem;
}
@media not screen and (max-width: 600px) {
  .p-service-points__item::before, .p-service-points__item:last-of-type::after {
    block-size: 0.3rem;
  }
}
.p-service-points__title {
  position: relative;
  z-index: 0;
  padding-inline-start: 9.5rem;
  min-block-size: 10rem;
  font-weight: var(--fw-600);
  line-height: var(--lh-ss);
}
@media not screen and (max-width: 600px) {
  .p-service-points__title {
    padding-inline-start: 16rem;
    min-block-size: 11.7rem;
  }
}
.p-service-points__title::before {
  content: counter(num, decimal-leading-zero);
  align-self: center;
  position: absolute;
  inset: 50% auto auto 0;
  z-index: -1;
  translate: 0 -50%;
  font-size: 9.5rem;
  line-height: 1;
  background: linear-gradient(180deg, var(--service-num-top) 10%, var(--service-num-bottom) 90%);
  -webkit-text-fill-color: var(--transparent);
  background-clip: text;
}
@media not screen and (max-width: 600px) {
  .p-service-points__title::before {
    font-size: 17rem;
  }
}
.p-service-fee {
  row-gap: var(--space-xxs);
}
.p-service-fee__box {
  gap: var(--gap-s) var(--gap-column-s);
  padding: var(--space-xxs);
  min-block-size: 10rem;
  color: var(--service-fee-color);
  background-color: var(--color-main-sub);
  counter-increment: boxNum;
}
@media screen and (max-width: 600px) {
  .p-service-fee__box {
    flex-wrap: wrap;
  }
}
@media not screen and (max-width: 600px) {
  .p-service-fee__box {
    min-block-size: 14rem;
  }
}
.p-service-fee__title {
  flex-basis: 100%;
  flex-shrink: 0;
  gap: 0.2em;
  min-block-size: 3em;
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
  line-height: 1.1;
  text-align: center;
  background-color: var(--white);
}
@media screen and (max-width: 600px) {
  .p-service-fee__title {
    grid-auto-flow: column;
    padding: 0.4em 1em;
  }
}
@media not screen and (max-width: 600px) {
  .p-service-fee__title {
    flex-basis: 26.5rem;
    block-size: 100%;
    font-size: 3.4rem;
  }
}
.p-service-fee__title.fz-s {
  letter-spacing: normal;
}
@media not screen and (max-width: 600px) {
  .p-service-fee__title.fz-s {
    font-size: 3rem;
  }
}
.p-service-fee__title::before {
  content: counter(boxNum);
  inline-size: 1.2em;
  block-size: auto;
  aspect-ratio: 1;
  font-size: 0.853em;
  line-height: 1;
  border: 0.2rem solid currentColor;
  border-radius: 50%;
}
@media not screen and (max-width: 600px) {
  .p-service-fee__title::before {
    font-size: 3.4rem;
  }
}
.p-service-fee__text {
  row-gap: 0.42em;
  font-size: var(--fz-xl);
  font-weight: var(--fw-600);
}
@media not screen and (max-width: 600px) {
  .p-service-fee__text {
    font-size: var(--fz-xxl);
  }
}
.p-service-fee__text p {
  color: inherit;
  line-height: var(--lh-ss);
}
.p-service-fee__text p span {
  display: block;
  font-size: var(--fz-body);
  font-weight: var(--fw-normal);
}

/* Company
----------------------------------------- */
.p-company-table {
  border-collapse: collapse;
}
@media screen and (max-width: 600px) {
  .p-company-table {
    font-size: 1.5rem;
  }
}
.p-company-table__row {
  border-block: 1px solid var(--company-bd-color);
}
.p-company-table th, .p-company-table td {
  padding-block: var(--space-xxs);
}
.p-company-table__title {
  padding-inline: var(--space-ss) var(--space-s);
  text-align: left;
  white-space: nowrap;
}
@media not screen and (max-width: 600px) {
  .p-company-table__title {
    padding-inline: var(--space-m);
  }
}
.p-company-table__text {
  padding-inline-end: var(--space-ss);
}
@media not screen and (max-width: 600px) {
  .p-company-table__text {
    padding-inline-end: var(--space-m);
  }
}
.p-company-map {
  justify-self: center;
  aspect-ratio: 7/3;
  max-inline-size: 70rem;
  inline-size: 100%;
  block-size: auto;
}
.p-company-map iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

/* Download
----------------------------------------- */
.p-download-document {
  font-size: var(--fz-ll);
  font-weight: var(--fw-600);
  line-height: var(--lh-ss);
}
@media not screen and (max-width: 600px) {
  .p-download-document {
    font-size: var(--fz-xxl);
  }
}
.p-download-document::before, .p-download-document::after {
  content: "";
  inline-size: 100%;
  height: 0.3rem;
}
.p-download-document__wrap {
  align-items: center;
}
@media not screen and (max-width: 600px) {
  .p-download-document__wrap {
    grid-template-columns: 32rem 1fr;
  }
}
.p-download-document__detail {
  row-gap: 0.5em;
}
.p-download-document__detail dt {
  margin-block-end: 0.3em;
}
.p-download-document__detail dd {
  gap: 0 0.4em;
  line-height: var(--lh-xs);
}
@media screen and (max-width: 600px) {
  .p-download-document__detail dd {
    padding-inline-start: 1em;
  }
}
.p-download-document__detail dd::before {
  flex-shrink: 0;
  content: "・";
}