@charset "UTF-8";
/**
 * ベース設定
 */
/* resset.dev • v5.0.2 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

:root {
  --breakpoint-sm: 768px;
  --breakpoint-md: 1100px;
  --breakpoint-lg: 1400px;
  --padding-x-base: 2.4rem;
  --width-content-site: 96rem;
  --width-content-site-wide: 115.2rem;
  --font-base: "Noto Sans JP", "Helvetica Neue", Arial,
  "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,
  sans-serif;
  --font-serif: "Noto Serif", serif;
  --font-shippori-mincho: "Shippori Mincho", var(--font-serif);
  --font-zen-old-mincho: "Zen Old Mincho", var(--font-serif);
  --font-latin: "Roboto", var(--font-base);
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extraBold: 800;
  --font-weight-black: 900;
  --line-height-body: calc(66 / 45);
  --color-text-base: 51 51 51;
  --color-bg-body: 255 255 255;
  --color-bg: 244 247 250;
  --color-disabled: 198 204 213;
  --color-border: 221 221 221;
  --color-placeholder: 177 177 177;
  --gradient-bg:rgb(var(--color-bg)), #D3DAE2;
  --opacity-hover: 0.8;
  --easing-effect: cubic-bezier(0, 0.55, 0.45, 1);
}
@media screen and (max-width: 768px) {
  :root {
    --padding-x-base: 1.5rem;
  }
}

html body {
  font-family: var(--font-base);
}

html {
  font-size: 62.5%;
  line-height: var(--line-height-body);
  scroll-behavior: smooth;
}

body {
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  background: rgb(var(--color-bg-body));
  color: rgb(var(--color-text-base));
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  overflow-wrap: anywhere;
  letter-spacing: 0;
  line-break: strict;
  word-break: normal;
}
body.is-overflowHidden {
  overflow: hidden;
}
body ul,
body ol {
  list-style: none;
}
body img,
body svg,
body video,
body object {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
body :is(*):first-child {
  margin-top: 0;
}
body :is(*):last-child {
  margin-bottom: 0;
}
body a:focus, body button:focus, body input:focus, body select:focus, body textarea:focus {
  outline-width: 0.1rem;
}
body a {
  color: inherit;
  text-decoration: none;
  transition: opacity 150ms ease-out 0ms;
}
@media (hover: hover) and (pointer: fine) {
  body a:hover {
    opacity: var(--opacity-hover);
    text-decoration: underline;
  }
}
body button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}
body em {
  font-style: normal;
}

.theme-1 {
  --color-theme-primary: 0 69 153;
  --color-theme-secondary: 13 128 199;
  --color-theme-primary-dark: 0 23 51;
  --color-theme-accent: 199 13 13;
  --color-bg-dark: 0 45 99;
  --gradient-theme-primary: rgb(var(--color-theme-primary)), rgb(var(--color-theme-primary-dark));
  --font-serif: "Noto Serif JP", serif;
  --font-shippori-mincho: "Shippori Mincho", var(--font-serif);
  --footer-bg-color: rgb(var(--color-bg-dark));
  --button-radius: 0.4rem;
  --heading-font: var(--font-shippori-mincho);
  --mainvisual-title-font: var(--font-serif);
  --mainvisual-title-font-size: 5.6rem;
  --mainvisual-title-font-size-large: 7.5rem;
  --mainvisual-title-font-weight: var(--font-weight-semibold);
  --mainvisual-title-line-height: calc(70 / 56);
  --mainvisual-label-font: var(--font-shippori-mincho);
  --mainvisual-label-font-size: 2.8rem;
  --mainvisual-label-font-weight: var(--font-weight-extrabold);
  --card-title-color: rgb(var(--color-theme-secondary));
  --card-label-font: var(var(--font-shippori-mincho));
  --card-illust-aspect: 222 / 200;
  --card-illust-max-width: 22.2rem;
  --section-bg-gradient-theme: #336BAF, rgb(var(--color-bg-dark));
}
@media screen and (max-width: 768px) {
  .theme-1 {
    --mainvisual-title-font-size: 3.4rem;
    --mainvisual-title-font-size-large: 4.8rem;
    --mainvisual-label-font-size: 2rem;
  }
}

.theme-2 {
  --color-theme-primary: 13 128 199;
  --color-theme-secondary: 0 69 153;
  --color-theme-accent: 226 79 0;
  --gradient-theme-primary: rgb(var(--color-theme-primary)) rgb(var(--color-theme-primary-dark));
  --font-latin: "Roboto", var(--font-base);
  --font-zen-kaku-gothic-new: "Zen Kaku Gothic New", var(--font-base);
  --font-rounded: "M PLUS Rounded 1c", var(--font-base);
  --footer-bg-color: rgb(var(--color-theme-primary));
  --button-radius: 999.9rem;
  --heading-font: var(--font-base);
  --mainvisual-title-font: var(--font-zen-kaku-gothic-new);
  --mainvisual-title-font-size: 3.4rem;
  --mainvisual-title-font-size-large: 5.6rem;
  --mainvisual-title-font-weight: var(--font-weight-bold);
  --mainvisual-title-line-height: calc(81 / 56);
  --mainvisual-label-color: rgb(var(--color-theme-secondary));
  --mainvisual-label-font: var(--font-rounded);
  --mainvisual-label-font-size: 2.2rem;
  --mainvisual-label-font-weight: var(--font-weight-bold);
  --card-title-color: rgb(var(--color-theme-primary));
  --card-illust-aspect: 96 / 96;
  --card-illust-max-width: 9.6rem;
}
@media screen and (max-width: 768px) {
  .theme-2 {
    --mainvisual-title-font-size: 2.8rem;
    --mainvisual-title-font-size-large: 3.8rem;
    --mainvisual-label-font-size: 1.5rem;
  }
}

/**
 * JavaScriptライブラリの上書き
 */
.wpcf7-radio,
.wpcf7-checkbox,
.wpcf7-acceptance {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}
.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
  width: min(100%, var(--button-size));
  margin: 0;
}
.wpcf7-radio label,
.wpcf7-checkbox label,
.wpcf7-acceptance label {
  position: relative;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: flex-start;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
  cursor: pointer;
  font-size: 1.4rem;
}
.wpcf7-radio label::before, .wpcf7-radio label::after,
.wpcf7-checkbox label::before,
.wpcf7-checkbox label::after,
.wpcf7-acceptance label::before,
.wpcf7-acceptance label::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
}
.wpcf7-radio label::before,
.wpcf7-checkbox label::before,
.wpcf7-acceptance label::before {
  width: 2rem;
  border: 0.1rem solid rgb(var(--color-border));
  background-color: white;
}
.wpcf7-radio label::after,
.wpcf7-checkbox label::after,
.wpcf7-acceptance label::after {
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  width: 1.2rem;
  background-color: rgb(var(--color-theme-primary));
  opacity: 0;
}
.wpcf7-radio label:has(input[type=radio])::before, .wpcf7-radio label:has(input[type=radio])::after,
.wpcf7-checkbox label:has(input[type=radio])::before,
.wpcf7-checkbox label:has(input[type=radio])::after,
.wpcf7-acceptance label:has(input[type=radio])::before,
.wpcf7-acceptance label:has(input[type=radio])::after {
  border-radius: 50%;
}
.wpcf7-radio label:has(input[type=checkbox])::before,
.wpcf7-checkbox label:has(input[type=checkbox])::before,
.wpcf7-acceptance label:has(input[type=checkbox])::before {
  border-radius: 0.2rem;
}
.wpcf7-radio label:has(input[type=checkbox])::after,
.wpcf7-checkbox label:has(input[type=checkbox])::after,
.wpcf7-acceptance label:has(input[type=checkbox])::after {
  -webkit-mask: url(../images/common/icon-checkbox.svg) no-repeat;
          mask: url(../images/common/icon-checkbox.svg) no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.wpcf7-radio label:has(input[type=radio]:checked)::before, .wpcf7-radio label:has(input[type=checkbox]:checked)::before,
.wpcf7-checkbox label:has(input[type=radio]:checked)::before,
.wpcf7-checkbox label:has(input[type=checkbox]:checked)::before,
.wpcf7-acceptance label:has(input[type=radio]:checked)::before,
.wpcf7-acceptance label:has(input[type=checkbox]:checked)::before {
  border-color: rgb(var(--color-theme-primary));
}
.wpcf7-radio label:has(input[type=radio]:checked)::after, .wpcf7-radio label:has(input[type=checkbox]:checked)::after,
.wpcf7-checkbox label:has(input[type=radio]:checked)::after,
.wpcf7-checkbox label:has(input[type=checkbox]:checked)::after,
.wpcf7-acceptance label:has(input[type=radio]:checked)::after,
.wpcf7-acceptance label:has(input[type=checkbox]:checked)::after {
  opacity: 1;
}
.wpcf7-radio label:has(input[type=radio]:focus-visible)::before, .wpcf7-radio label:has(input[type=checkbox]:focus-visible)::before,
.wpcf7-checkbox label:has(input[type=radio]:focus-visible)::before,
.wpcf7-checkbox label:has(input[type=checkbox]:focus-visible)::before,
.wpcf7-acceptance label:has(input[type=radio]:focus-visible)::before,
.wpcf7-acceptance label:has(input[type=checkbox]:focus-visible)::before {
  border-width: 0.2rem;
  border-color: rgb(var(--color-theme-primary));
}
.wpcf7-radio label input[type=radio],
.wpcf7-radio label input[type=checkbox],
.wpcf7-checkbox label input[type=radio],
.wpcf7-checkbox label input[type=checkbox],
.wpcf7-acceptance label input[type=radio],
.wpcf7-acceptance label input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  height: 0.1rem;
  width: 0.1rem;
  border: 0;
  overflow: hidden;
}
.wpcf7-radio label a,
.wpcf7-checkbox label a,
.wpcf7-acceptance label a {
  color: rgb(var(--color-theme-primary));
  text-decoration: underline;
}

.wpcf7-acceptance {
  justify-content: center;
}

.wpcf7 .wpcf7-submit {
  display: block;
  text-align: center;
}
.wpcf7 .wpcf7-submit::before, .wpcf7 .wpcf7-submit::after {
  content: none;
}

/**
 * レイアウト
 */
.footer {
  padding-block: 3rem;
  background-color: var(--footer-bg-color);
  color: white;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-block: 2.4rem;
  }
}

.footer__container {
  display: flex;
  gap: 2rem;
  margin-inline: auto;
  padding-inline: var(--padding-x-base);
}
@media screen and (min-width: 769px) {
  .footer__container {
    max-width: calc(var(--container-width, var(--width-content-site)) + var(--padding-x-base) * 2);
  }
}
@media screen and (min-width: 1101px) {
  .footer__container {
    align-items: flex-end;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media screen and (max-width: 1100px) {
  .footer__container {
    align-items: center;
    flex-direction: column;
  }
}

.footer__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2.4rem;
}
@media screen and (min-width: 1101px) {
  .footer__menu {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 1100px) {
  .footer__menu {
    justify-content: center;
  }
}

.footer__menu-link {
  display: block;
  background: linear-gradient(currentColor, currentColor) no-repeat 100% 100%/0 0.1rem;
  font-weight: var(--font-weight-bold);
  transition-property: background-size;
}
@media (hover: hover) and (pointer: fine) {
  .footer__menu-link:hover {
    opacity: 1;
    text-decoration: none;
    background-position-x: 0;
    background-size: 100% 0.1rem;
  }
}

.footer__copyright {
  flex-shrink: 0;
}
.footer__copyright small {
  font-size: inherit;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    font-size: 1.1rem;
  }
}

.header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem 2.4rem 1.6rem 3.2rem;
  background-color: white;
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.25);
  z-index: 15;
}
@media screen and (min-width: 769px) {
  .header {
    align-items: center;
    justify-content: space-between;
    -moz-column-gap: 1.8rem;
         column-gap: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .header {
    padding: 1rem var(--padding-x-base);
  }
}

.header__logo {
  width: 17rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 10rem;
  }
}

.main {
  overflow: clip;
}

.page {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
.page .main {
  flex-grow: 1;
}

/**
 * 共通モジュール
 */
@keyframes animation-loop {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(-150%);
  }
}
@keyframes animation-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes animation-slide-down {
  0% {
    opacity: 0;
    translate: 0 -2rem;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes animation-scale-in {
  0% {
    opacity: 0;
    scale: 1.08;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
@keyframes animation-rotate-in {
  0% {
    opacity: 0;
    transform: rotate(0) translateY(-3rem) scale(0.8);
  }
  100% {
    opacity: 1;
    transform: rotateY(1080deg) translateY(0) scale(1);
  }
}
.container {
  margin-inline: auto;
  padding-inline: var(--padding-x-base);
}
@media screen and (min-width: 769px) {
  .container {
    max-width: calc(var(--container-width, var(--width-content-site)) + var(--padding-x-base) * 2);
  }
}

@media screen and (min-width: 769px) {
  .container--wide {
    --container-width: var(--width-content-site-wide);
  }
}

.containerScrollY {
  flex-grow: 1;
  height: var(--container-scroll-height);
  overflow-y: scroll;
}

[data-effect=fade-in-image-scale], [data-effect=scale-in], [data-effect=slide-down], [data-effect=slide-up], [data-effect=fade-in] {
  opacity: 0;
  transition: var(--easing-time, 600ms) var(--easing-effect) 200ms;
  transition-property: opacity, transform;
}
.is-visible[data-effect=fade-in-image-scale], .is-visible[data-effect=scale-in], .is-visible[data-effect=slide-down], .is-visible[data-effect=slide-up], .is-visible[data-effect=fade-in] {
  transform: none;
  opacity: 1;
}

[data-effect=slide-up] {
  transform: translateY(2rem);
}

[data-effect=slide-down] {
  transform: translateY(-2rem);
}

[data-effect=scale-in] {
  transform: scale(0.4);
}
[data-effect=scale-in].is-visible {
  transform: scale(1);
}

[data-effect=fade-in-image-scale] img {
  scale: 1.08;
  transition: scale 600ms ease-out 200ms;
}
[data-effect=fade-in-image-scale].is-visible img {
  scale: 1;
}

.form__buttonWrapper label, .button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  height: 100%;
  width: min(100%, var(--button-size));
  padding: var(--button-padding, 1.3rem 2rem);
  background-color: white;
  border-radius: var(--button-radius);
  border: 0.2rem solid rgb(var(--color-theme-primary));
  color: #313131;
  font-family: var(--font-base);
  font-size: var(--button-font-size, 1.8rem);
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: 1.2222222222;
  transition: 150ms ease-out 0ms;
  transition-property: background-color, border-color, color;
}


.form__buttonWrapper label[disabled], [disabled].button {
  pointer-events: none;
/*  background-color: rgb(var(--color-disabled));
  border-color: rgb(var(--color-disabled)); */
}
@media (hover: hover) and (pointer: fine) {
  .form__buttonWrapper label:hover, .button:hover {
    --button-arrow-color: white;
    background-color: rgb(var(--color-theme-primary));
    color: white;
    text-decoration: none;
    opacity: 1;
  }
}

.button--forward,
.button--back {
  justify-content: space-between;
}
.button--forward::before, .button--forward::after,
.button--back::before,
.button--back::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 1rem;
  aspect-ratio: 1/1.6;
  -webkit-mask: url(../images/common/icon-button-arrow.svg) no-repeat 50% 50%/contain;
          mask: url(../images/common/icon-button-arrow.svg) no-repeat 50% 50%/contain;
  background-color: var(--button-arrow-color, rgb(var(--color-theme-primary)));
}
.button--forward::before,
.button--back::before {
  scale: -1 1;
}

.button--forward::before {
  opacity: 0;
}

.button--back::after {
  opacity: 0;
}

.button--small {
  --button-padding: 1rem 0.8rem;
  --button-font-size: 1.5rem;
}

.button--accent {
  --button-arrow-color: currentColor;
  background-color: rgb(var(--color-theme-accent));
  border-color: rgb(var(--color-theme-accent));
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  .button--accent:hover {
    --button-arrow-color: rgb(var(--color-theme-accent));
    background-color: white;
    color: rgb(var(--color-theme-accent));
  }
}

.form {
  --heading-margin-block: 0;
  display: flex;
  flex-direction: column;
  row-gap: 3.2rem;
  height: 100%;
  padding: var(--form-padding, 4.8rem 4rem);
  font-family: var(--font-base);
  font-weight: var(--font-weight-medium);
}
@media screen and (max-width: 768px) {
  .form {
    padding: var(--form-padding, 4rem var(--padding-x-base));
  }
}

.form__header {
  text-align: center;
  line-height: 1.2222222222;
}

.form__title {
  margin-bottom: 2.4rem;
  color: rgb(var(--color-theme-primary));
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
}
.form__title > em {
  font-size: 2.4rem;
}
.form__title > .form__title-value {
  font-size: 3.2rem;
}

.form__title-value {
  --emphasis-radial-size: 0.5rem;
  --emphasis-padding-top: 0.4rem;
  display: inline-block;
  padding-top: var(--emphasis-padding-top);
  background: radial-gradient(circle at center, currentColor calc(var(--emphasis-radial-size) / 2 - 0.1rem), transparent calc(var(--emphasis-radial-size) / 2)) repeat-x 0 0/0.56em var(--emphasis-radial-size);
  line-height: 1;
}

.form__step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  width: min(100%, var(--form-step-max-width, 30rem));
  margin-inline: auto;
}
.form__step::before, .form__step::after {
  content: "";
  position: absolute;
  top: 50%;
  inset-inline: 0;
  height: 0.2rem;
  background-color: rgb(var(--color-disabled));
  translate: 0 -50%;
}
.form__step::after {
  background-color: rgb(var(--color-theme-primary));
  clip-path: inset(0 calc(100% - 100% / (var(--step-count) - 1) * (var(--step-location) - 1)) 0 0);
  transition: clip-path 400ms var(--easing-effect);
}

.form__step-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--form-step-size, 4rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgb(var(--color-disabled));
  color: white;
  font-size: var(--form-step-font-size, 2rem);
  font-weight: var(--font-weight-bold);
  transition: background-color 400ms var(--easing-effect) 400ms;
  z-index: 1;
}
.form__step-item[aria-current=true] {
  background-color: rgb(var(--color-theme-primary));
}

.form__label {
  padding: 1.6rem;
  border: 0.2rem solid currentColor;
  color: rgb(var(--color-theme-primary));
  font-size: var(--form-label-font-size, 1.8rem);
  font-weight: var(--font-weight-bold);
}
@media screen and (max-width: 768px) {
  .form__label {
    font-size: 1.6rem;
  }
}

.form__fieldset {
  display: flex;
  flex-direction: column;
  row-gap: var(--form-fieldset-gap, 2rem);
  border: 0;
}
.form__fieldset[aria-hidden=true] {
  display: none;
}

.form__legend {
  display: block;
  margin-bottom: 2rem;
  font-family: var(--heading-font);
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}

.form__labelGroup {
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  align-self: center;
  width: min(100%, 70rem);
  margin-inline: 0;
  font-size: 1.4rem;
}

.form__labelGroup-label {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
  font-weight: var(--font-weight-bold);
}

.form__control,
.form__select {
  display: block;
  width: 100%;
  min-height: 3.6rem;
  padding: 0.5rem 1.2rem;
  background-color: white;
  border: 0.1rem solid rgb(var(--color-border));
  border-radius: 0.4rem;
  color: #000;
}

.form__select {
  background: url("data:image/svg+xml,%3Csvg width='10px' height='5px' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='2' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline stroke='%23BFBFBF' stroke-width='3' points='5 9 12 16 19 9'%3E%3C/polyline%3E%3C/g%3E%3C/svg%3E") no-repeat right 0.5rem top 50%/3rem, 100%;
  background-color: white;
}

.form__tag {
  padding: 0.1rem 0.4rem;
  background-color: white;
  border: 0.1rem solid currentColor;
  border-radius: 0.2rem;
  font-size: 1.1rem;
  line-height: 1.1818181818;
}

.form__tag--required {
  color: rgb(var(--color-theme-accent));
}

.form__buttonWrapper {
  --button-size: 32rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  text-align: center;
}
.form__buttonWrapper label {
  --button-padding: 1.6rem 1.8rem;
}
.form__buttonWrapper label:before, .form__buttonWrapper label::after {
  content: none;
}
.form__buttonWrapper label:has(input[type=radio]:checked), .form__buttonWrapper label:has(input[type=checkbox]:checked) {
  background-color: rgb(var(--color-theme-primary));
  color: white;
}
.form__buttonWrapper label:has(input[type=radio]:focus-visible), .form__buttonWrapper label:has(input[type=checkbox]:focus-visible) {
  outline: -webkit-focus-ring-color auto 0.1rem;
}
.theme-1 .form__buttonWrapper label {
  --button-radius: 0.8rem;
  border-color: white;
}

@media screen and (min-width: 769px) {
  .form__buttonWrapper--horizontal {
    --button-size: 22.8rem;
    flex-direction: row;
    justify-content: center;
  }
}

.form__buttonWrapper--grid {
  display: grid;
  grid-template-columns: repeat(var(--form-grid-column, 2), 1fr);
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .form__buttonWrapper--grid {
    --button-padding: 1rem;
    --button-font-size: 1.5rem;
    gap: 1rem;
  }
}

.outline {
  margin-block: var(--outline-margin-block, 4.8rem);
  padding: 3rem;
  border: 0.2rem solid currentColor;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .outline {
    margin-block: var(--outline-margin-block, 3rem);
    padding: 2rem var(--padding-x-base);
  }
}

.outline__copy {
  font-family: var(--heading-font);
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  line-height: 1.4375;
}
@media screen and (max-width: 768px) {
  .outline__copy {
    font-size: 2rem;
    letter-spacing: 0.02em;
  }
}

.outline--fill {
  background-color: white;
  color: rgb(var(--color-theme-primary));
}

.section {
  position: relative;
  padding-block: var(--section-padding-block, 9.6rem);
}
@media screen and (max-width: 768px) {
  .section {
    --section-padding-block: 5.6rem;
  }
}

.section--bg {
  background-color: rgb(var(--color-bg));
}

.section--bgGradient {
  background: linear-gradient(180deg, var(--gradient-bg));
}

.section--bgGradientTheme {
  --heading-sub-color: white;
  background: linear-gradient(90deg, var(--section-bg-gradient-theme));
  color: white;
}

.section__bg {
  position: absolute;
  inset: 0;
  height: var(--section-bg-height);
  z-index: -1;
}
.section__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.section__bg--top {
  bottom: auto;
}

.section__bg--bottom {
  top: auto;
}

.section__lead {
  margin-block: 4rem;
  line-height: 1.8;
}
.section__lead p {
  margin-block: 1.8rem;
}
@media screen and (min-width: 769px) {
  .section__lead {
    text-align: center;
  }
}

.buttonWrapper {
  --button-size: 32rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.6rem;
}

.hamburger {
  position: relative;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: rgb(var(--color-theme-primary));
  color: white;
  overflow: hidden;
  z-index: 15;
}
.hamburger[aria-expanded=true] {
  background-color: white;
  color: rgb(var(--color-theme-secondary));
}
@media screen and (min-width: 769px) {
  .hamburger {
    display: none;
  }
}

.hamburger__line {
  position: relative;
  pointer-events: none;
  margin-inline: auto;
}
.hamburger__line, .hamburger__line::before, .hamburger__line::after {
  display: block;
  width: 2.4rem;
  height: 0.1rem;
  background-color: currentColor;
  transition: 150ms ease-in-out;
}
.hamburger__line::before, .hamburger__line::after {
  content: "";
  position: absolute;
  left: 0;
  transition-property: transform, top;
}
.hamburger__line::before {
  top: -0.5rem;
}
.hamburger__line::after {
  bottom: -0.5rem;
}
[aria-expanded=true] .hamburger__line {
  translate: 150% 0;
}
[aria-expanded=true] .hamburger__line::before {
  top: 0;
  transform: translateX(-150%) rotate(45deg);
}
[aria-expanded=true] .hamburger__line::after {
  top: 0;
  transform: translateX(-150%) rotate(-45deg);
}

.cardGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
  list-style: none;
  gap: 2.4rem;
}

.card {
  display: block;
  height: 100%;
  background-color: white;
  font-weight: var(--font-weight-regular);
  font-size: 1.4rem;
}

.card__inner {
  position: relative;
  padding: 0 20px 20px;
}
.card__inner:has(.card__label) {
  padding-top: 3.5rem;
}


.card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.card__illust {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, var(--card-illust-max-width));
  margin-inline: auto;
  margin-bottom: 1.6rem;
  aspect-ratio: var(--card-illust-aspect);
}
.card__illust img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.card__title {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
  margin-bottom: 0.4rem;
  font-family: var(--heading-font);
  font-weight: var(--font-weight-bold);
}

.card__title-ja {
    font-family: var(--heading-font);
    font-size: 24px;
    border-bottom: 1px solid;
	display: block;
	width: 100%;
}

.card__title-en {
  color: rgb(var(--color-theme-primary));
  font-size: 1.5rem;
}

.card__subtitle {
  margin-bottom: 1.2rem;
  font-family: var(--heading-font);
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
}

.card__label {
  position: absolute;
  top: 0;
  inset-inline: 0;
  translate: 0 -50%;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4rem 2.4rem;
  background-color: rgb(var(--color-theme-primary));
  color: white;
  font-family: var(--card-label-font);
  font-size: 1.6rem;
  text-align: center;
}

.card--outline {
  border: 0.1rem solid rgb(var(--color-theme-primary));
  font-size: 1.5rem;
  line-height: 1.5333333333;
}
.card--outline .card__title {
  justify-content: center;
  margin-bottom: 1.6rem;
  padding-bottom: 1.2rem;
  border-bottom: 0.1rem solid rgb(var(--color-theme-primary));
  color: var(--card-title-color, rgb(var(--color-theme-primary)));
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.4583333333;
}
.card--outline .card__label {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .card--outline .card__title {
    padding-bottom: 0.8rem;
    font-size: 1.8rem;
  }
}

.heading {
  margin-bottom: var(--heading-margin-block, 4.8rem);
  font-family: var(--heading-font);
  font-weight: var(--font-weight-bold);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .heading {
    margin-bottom: var(--heading-margin-block, 3.2rem);
  }
}

.heading__title {
  font-size: 2.8rem;
}
.heading__title > em {
  margin-bottom: 1.2rem;
  display: block;
  font-size: 4rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .heading__title {
    font-size: 1.8rem;
  }
  .heading__title > em {
    margin-bottom: 0.6rem;
    font-size: 2.2rem;
    letter-spacing: 0.02em;
  }
}

.heading__title-emphasis {
  color: rgb(var(--color-theme-primary));
  text-decoration: underline;
  text-decoration-thickness: 0.1rem;
  text-underline-offset: 0.8rem;
}

.heading__subtitle {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  row-gap: 0.8rem;
  color: var(--heading-sub-color, rgb(var(--color-theme-primary)));
  font-size: 2.4rem;
}
.heading__subtitle::before {
  content: "";
  display: block;
  width: 4.6rem;
  aspect-ratio: 46/18;
  background: url(../images/common/heading-icon.svg) no-repeat 50% 50%/contain;
}
@media screen and (max-width: 768px) {
  .heading__subtitle {
    font-size: 1.6rem;
  }
}

.heading__subtitle--noIcon::before {
  content: none;
}

.logoList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .logoList {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.logoList__item {
  height: 100%;
  padding: 1rem 1.5rem;
  background-color: white;
  aspect-ratio: 228/88;
  text-align: center;
  overflow: hidden;
}
.logoList__item img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.logoLoopList {
  display: flex;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  padding-block: 4.8rem;
  overflow: hidden;
  background-color: white;
}
@media screen and (max-width: 768px) {
  .logoLoopList {
    -moz-column-gap: 1.2rem;
         column-gap: 1.2rem;
    padding-block: 1rem;
  }
}

.logoLoopList__line {
  transition-timing-function: linear;
  display: flex;
  align-items: center;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  flex-shrink: 0;
  transform: translateX(-50%);
  animation: animation-loop calc(var(--loop-speed) * 6000ms) infinite linear both;
  animation-delay: calc(var(--loop-speed) * -6000ms);
}
@media screen and (max-width: 768px) {
  .logoLoopList__line {
    -moz-column-gap: 1.2rem;
         column-gap: 1.2rem;
  }
}

.logoLoopList__line-item img {
  max-height: 6.4rem;
}
@media screen and (max-width: 768px) {
  .logoLoopList__line-item img {
    max-height: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .gNav {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* padding: 6.8rem var(--padding-x-base) 8rem; */
    padding: 6.8rem 3rem 8rem;
    background-color: rgb(var(--color-theme-secondary)/0.9);
    -webkit-backdrop-filter: blur(0.8rem);
            backdrop-filter: blur(0.8rem);
    color: white;
    opacity: 0;
    visibility: hidden;
    transition: 300ms ease-in-out;
    transition-property: opacity, visibility;
    z-index: 10;
  }
  .gNav[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
  }
}

.gNav__menu {
  display: flex;
}
@media screen and (min-width: 769px) {
  .gNav__menu {
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (min-width: 1101px) {
  .gNav__menu {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .gNav__menu {
    row-gap: 3.5rem;
    flex-direction: column;
  }
}

.gNav__menu-link {
  text-align: center;
  letter-spacing: 0.08em;
  display: block;
  background: linear-gradient(currentColor, currentColor) no-repeat 100% 100%/0 0.1rem;
  font-weight: var(--font-weight-bold);
  transition-property: background-size;
}
@media (hover: hover) and (pointer: fine) {
  .gNav__menu-link:hover {
    opacity: 1;
    text-decoration: none;
    background-position-x: 0;
    background-size: 100% 0.1rem;
  }
}

.gNav__menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background-color: rgb(var(--color-theme-primary));
  border: 0.1rem solid rgb(var(--color-theme-primary));
  border-radius: var(--button-radius, 0.4rem);
  color: white;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-align: center;
  line-height: 1.1875;
  transition-property: background-color, color;
}
@media screen and (min-width: 1101px) {
  .gNav__menu-button {
    width: 19.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .gNav__menu-button:hover {
    text-decoration: none;
    opacity: 1;
    background-color: white;
    color: rgb(var(--color-theme-primary));
  }
}
@media screen and (max-width: 768px) {
  .gNav__menu-button {
    width: 100%;
  }
}

/* FVリニューアルに伴うヘッダー修正 */
.gNav__menu-button.u-pc-hidden {
  display: none;/* PCでは非表示 */
}
@media screen and (max-width: 768px) {
  .gNav__menu-button.u-pc-hidden {
    display: block; /* SPでは表示 */
    font-size: 16px;
    font-weight: 700;
    line-height: 1.375;
    letter-spacing: 0.16px;
    width: 100%;
    display: flex;
    height: 52px;
    padding-inline: 30px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: #D82020;
  }
}

/* FV */
@media screen and (min-width: 769px) {
  .gNav__menu-link.gNav__menu-link__color-accent {
    display: flex;
    color: #FFF;
    width: 180px;
    height: 50px;
    padding-inline: 30px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: linear-gradient(90deg, #004599 0%, #00A0E8 50%, #004599 100%);
    background-size: 200% 100%;
    background-position: left center;
    transition: background-position 0.8s ease-in-out; /* ← ここがポイント */
  }

  .gNav__menu-link.gNav__menu-link__color-accent:hover {
    background-position: right center;
  }
}


/* FVリニューアルにドロワーの求人検索カラー修正 */
@media screen and (max-width: 768px) {
  .gNav__menu-link__color-accent {
    color: #004599;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.375;
    letter-spacing: 0.16px;
    width: 100%;
    display: flex;
    height: 52px;
    padding-inline: 30px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: #FFF;
  }
}

.theme-2 .case {
  --section-padding-block: 9.6rem 16.5rem;
  --section-bg-height: 40rem;
  --outline-margin-block: 17.5rem 0;
}
@media screen and (max-width: 768px) {
  .theme-2 .case {
    --section-padding-block: 5.6rem 10rem;
    --section-bg-height: 25rem;
    --outline-margin-block: 7rem 0;
  }
}

.contact {
  position: relative;
  font-family: var(--heading-font);
  font-weight: var(--font-weight-bold);
}

.contact__container {
  display: grid;
  gap: 4rem 6rem;
}
@media screen and (min-width: 1101px) {
  .contact__container {
    grid-template-columns: 1fr 46.8rem;
  }
}
@media screen and (max-width: 1100px) {
  .contact__container {
    --container-width: 70rem;
  }
}
@media screen and (max-width: 768px) {
  .contact__container {
    row-gap: 2.4rem;
  }
}

@media screen and (min-width: 1101px) {
  .contact__header {
    padding-block: 4rem;
  }
}

.contact__body {
  background-color: white;
  border-radius: 0.4rem;
}

.contact__heading {
  margin-bottom: 2.4rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .contact__heading {
    margin-bottom: 1.6rem;
  }
}

.contact__heading-main {
  display: block;
  color: rgb(var(--color-theme-primary));
  font-size: 3.6rem;
  line-height: 1.6111111111;
}
.contact__heading-main > em {
  font-size: 4rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .contact__heading-main {
    font-size: 2.2rem;
  }
  .contact__heading-main > em {
    font-size: 2.8rem;
  }
}

.contact__heading-main--gradient {
  background: linear-gradient(90deg, var(--gradient-theme-primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.contact__heading-sub {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 2rem;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .contact__heading-sub {
    font-size: 1.6rem;
  }
}

.contact__lead {
  margin-bottom: 3.4rem;
}
@media screen and (max-width: 768px) {
  .contact__lead {
    margin-bottom: 2.4rem;
  }
}

.contact__panel {
  background-color: white;
  border-radius: 0.4rem;
}
@media screen and (min-width: 1101px) {
  .contact__panel {
    max-width: 41.2rem;
  }
}

.contact__panel-header {
  padding: 1.8rem var(--padding-x-base) 1rem;
  border-bottom: 0.2rem solid rgb(var(--color-bg));
  text-align: center;
  line-height: 1.4375;
}

.contact__panel-body {
  padding: 2.4rem;
}
@media screen and (max-width: 768px) {
  .contact__panel-body {
    padding: 2rem var(--padding-x-base);
  }
}

.contact__panel-heading {
  color: rgb(var(--color-theme-primary));
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .contact__panel-heading {
    font-size: 1.5rem;
  }
}

.contact__supporter {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

.contact__supporter-item {
  aspect-ratio: 1/1;
}
.contact__supporter-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mainvisual {
  position: relative;
  height: 47vw;
  display: grid;
  overflow: hidden;
}
@media screen and (min-width: 1101px) {
  .mainvisual {
    --mainvisual-form-width: 34.8rem;
    grid-template-columns: 1fr var(--mainvisual-form-width);
    align-items: center;
    padding-left: 10vw;
  }
}
@media screen and (max-width: 1100px) {
  .mainvisual {
    height: 60rem;
    padding-block: 4.8rem;
  }
}

/* FVリニューアル */
.p-fv__mv{
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.p-fv__mv-bg{
  position: absolute;
  inset: 0; /* 親に対して全体をカバー */
  z-index: 1; /* 背景レイヤーとして配置 */
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-fv__mv-bg {

  }
}

.p-fv__mv-bg img {
  width: 100%;           /* 親幅に合わせる */
  height: 100%;          /* 親高さに合わせる */
  object-fit: cover;     /* 縦横比を保ったまま親にフィット */
}


.p-fv__mv-inner {
  position: relative;
  z-index: 4;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 77px 80px;
  padding-block: 57px;
}
@media screen and (max-width: 768px) {
  .p-fv__mv-inner {
    max-width: 600px;
    padding-inline: 16px;
    padding-block: 25px 20px;
  }
}


.p-fv__mv-person {
  position: absolute;
  top: 148px;
  right: 501px;
  z-index: 1;
}
@media screen and (max-width: 1100px) {
  .p-fv__mv-person {
    /* top: 250px; */
    top: auto;
    bottom: 20px;
    right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__mv-person {
    bottom: -22px;
    right: -9px;
  }
}

.p-fv__mv-person img {
  width: clamp(238px, 46.8vw, 480px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-fv__mv-person img {
    width: calc(238 / 375 * 100vw);
    max-width: 300px;
    height: auto;
  }
}

/* グラデーション */
.p-fv__mv-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 330px;
  background: linear-gradient(180deg, rgba(0,69,153,0) -4.29%, rgba(0,43,94,0.9) 69.34%);
  z-index: 2; /* 人物の上、メッセージの下 */
  pointer-events: none;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-fv__mv-gradient {
    height: 154px;
  }
}


.p-fv__contents{
  display: flex;
  gap: 204px;
}
@media screen and (max-width: 1440px) {
  .p-fv__contents {
    gap: calc(204 / 1440 * 100vw);

  }
}

.p-fv__info{
    position: relative;
    z-index: 3;
    margin-block-start: 79px;
    /* width: clamp(300px, 43vw, 619px); */
}
@media screen and (max-width: 768px) {
  .p-fv__info {
    margin-block-start: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__info {
    margin-block-start: 0;
  }
}

.p-fv__mv-message {
  z-index: 2;
  text-wrap: nowrap;
}

.p-fv__mv-message-text-1{
  color: #FFF;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.80);
  font-family: "Noto Serif JP", serif;
  font-size: 54px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.6px;
}
@media screen and (max-width: 1440px) {
  .p-fv__mv-message-text-1 {
    font-size: calc(54 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__mv-message-text-1 {
    font-size: 54px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__mv-message-text-1 {
    font-size: 30px;
  }
}



.p-fv__mv-message-text-2{
  color: #FFF;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.80);
  font-family: "Noto Serif JP", serif;
  font-size: 54px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 2.88px;
  margin-block-start: 6px;
  margin-inline-start: -5px;
}
@media screen and (max-width: 1440px) {
  .p-fv__mv-message-text-2 {
    font-size: calc(54 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__mv-message-text-2 {
    font-size: 54px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__mv-message-text-2 {
    font-size: 30px;
    margin-block-start: 8px;
    margin-inline-start: 0;
  }
}

.p-fv__mv-message-text__accent{
font-size: 72px;
line-height: 1.4;
letter-spacing: 2.88px;
}
@media screen and (max-width: 1440px) {
  .p-fv__mv-message-text__accent {
    font-size: calc(72 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__mv-message-text__accent {
    font-size: 72px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__mv-message-text__accent {
    font-size: 40px;
    letter-spacing: 0;
  }
}

.p-fv__mv-message-text__accent .u-hidden-pc{
  display: none;
}
@media screen and (max-width: 768px) {
  .p-fv__mv-message-text__accent .u-hidden-pc {
    display: block;
  }
}

.p-fv__mv-message-text__normal{
  letter-spacing: 2.16px;
}
@media screen and (max-width: 768px) {
  .u-hidden-sp {
    display: none;
  }
}


.p-fv__achievements {
  display: flex;
  margin-block-start: 80px;
  gap: 40px;
  text-wrap: nowrap;
}
@media screen and (max-width: 1440px) {
  .p-fv__achievements {
    margin-block-start: calc(80 / 1440 * 100vw);
    gap: calc(40 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__achievements {
    gap: 40px;
    margin-block-start: 80px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__achievements {
    margin-block-start: 59px;
    flex-direction: column;
    gap: 8.54px;
  }
}

.p-fv__achievements__wrap {
  display: flex;
  flex-shrink: 0; /* gapを維持して要素を縮めない */
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-fv__achievements__wrap {
  }
}

.p-fv__achievements-1{
  
}

.p-fv__achievements-2{

}

.p-fv__achievements-feather-left {
  margin-inline-end: 14.14px;
}
@media screen and (max-width: 1440px) {
  .p-fv__achievements-feather-left {
    margin-inline-start: calc(14.14 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__achievements-feather-left {
    margin-inline-start: 14.14px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__achievements-feather-left {
    width: 23.162px;
    height: 54.155px;
  }
}

.p-fv__achievements-feather-right{
  margin-inline-start: 15.14px;
}
@media screen and (max-width: 1440px) {
  .p-fv__achievements-feather-right {
    margin-inline-start: calc(15.14 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__achievements-feather-right {
    margin-inline-start: 15.14px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__achievements-feather-right {
    width: 23.153px;
    height: 54.155px;
  }
}

.p-fv__achievements-text-wrap {
  color: #FFCE3C;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-fv__achievements-text-wrap {
    margin-block-start: 10px;
  }
}

.p-fv__achievements-lead {
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1440px) {
  .p-fv__achievements-lead {
    font-size: calc(14 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__achievements-lead {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__achievements-lead {
    font-size: 14px;
  }
}

.p-fv__achievements-wrap {
  display: flex;
  gap: 4px;
  align-items: center;
}
@media screen and (max-width: 1440px) {
  .p-fv__achievements-wrap {
    gap: calc(4 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__achievements-wrap {
    gap: 4px;
  }
}

.p-fv__achievements-number {
  font-family: "Noto Serif JP", serif;
  font-size: 54px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.54px;
  background: linear-gradient(180deg, #FFCE3C 48.08%, #8E732E 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 7px;
}
@media screen and (max-width: 1440px) {
  .p-fv__achievements-number {
    font-size: calc(54 / 1440 * 100vw);
  }
}
@media screen and (max-width: 1100px) {
  .p-fv__achievements-number {
    font-size: 54px;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__achievements-number {
    font-size: 36px;
  }
}

.p-fv__achievements-unit {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-fv__achievements-unit {
    font-size: 13px;
  }
}

.consultation-form {

}

.p-consultation__form{
  z-index: 2;
}
@media screen and (max-width: 1100px) {
  .p-consultation__form {
    display: none;
  }
}

.c-form__wrap{
  display: inline-flex;
  height: 690px;
  width: 460px;
  padding-block: 32px;
  padding-inline: 60px;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: #FFF;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap {
    width: 328px;
    padding-block: 40px;
    padding-inline: 12px;
    height: auto;
  }
}

.c-form__wrap #contact-form-02-step1 .form__labelGroup,
.c-form__wrap #contact-form-02-step2 .form__labelGroup {
  left: 0 !important;
}
.c-form__wrap #contact-form-03-step1 .form__labelGroup,
.c-form__wrap #contact-form-03-step2 .form__labelGroup {
  left: 0 !important;
}

.c-form__wrap #contact-form-02-step2 .wpcf7-form-control-wrap, #contact-form-02-step2 .form__legend, #contact-form-02-step2 p {
    padding: 0 ;
}
.c-form__wrap #contact-form-03-step2 .wpcf7-form-control-wrap, #contact-form-03-step2 .form__legend, #contact-form-03-step2 p {
    padding: 0 ;
}

.c-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.c-form-title-wrap {

}

.c-form__title {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.28px;
}
@media screen and (max-width: 1100px) {
  .c-form__title {
    font-size: 24px;
    line-height: 1.75;
    letter-spacing: 0.24px;
  }
}

/* .c-form__title.is-hidden {
  display: none;
} */

.c-form__title-accent {
  font-size: 40px;
  font-style: normal;
  line-height: 1.05;
  letter-spacing: 0.4px;
  position: relative;
}
@media screen and (max-width: 1100px) {
  .c-form__title-accent {
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0.36px;
  }
}

.c-form__title-accent::before,
.c-form__title-accent::after {
  content: "";
  position: absolute;
  top: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #D82020;
}
@media screen and (max-width: 1100px) {
  .c-form__title-accent::before,
  .c-form__title-accent::after  {

  }
}

.c-form__title-accent::before {
  right: 50%; /* 中央基準で左に移動 */
  margin-right: 11px; /* 半分の間隔 */
}

.c-form__title-accent::after {
  left: 50%; /* 中央基準で右に移動 */
  margin-left: 11px; /* 半分の間隔 */
}

.c-form__title-small{
  font-size: 24px;
  line-height: 42px;
  letter-spacing: 0.24px;
  margin-inline-end: 4px;
}
@media screen and (max-width: 1100px) {
  .c-form__title-small {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.2px;
  }
}
.c-form__title-red{
  color: #D82020;
}

.c-form__step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  width: min(100%, var(--form-step-max-width, 30rem));
  margin-inline: auto;
}

.c-form__step::before, .c-form__step::after {
  content: "";
  position: absolute;
  top: 50%;
  inset-inline: 0;
  height: 0.2rem;
  background-color: rgb(var(--color-disabled));
  translate: 0 -50%;
}
.c-form__step::after {
  background-color: rgb(var(--color-theme-primary));
  clip-path: inset(0 calc(100% - 100% / (var(--step-count) - 1) * (var(--step-location) - 1)) 0 0);
  transition: clip-path 400ms var(--easing-effect);
}

.form__step-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--form-step-size, 4rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgb(var(--color-disabled));
  color: white;
  font-size: var(--form-step-font-size, 2rem);
  font-weight: var(--font-weight-bold);
  transition: background-color 400ms var(--easing-effect) 400ms;
  z-index: 1;
}
.form__step-item[aria-current=true] {
  background-color: rgb(var(--color-theme-primary));
}

/* 今のステップ以降はクリック禁止 */
.c-form-fv-renewal {
  cursor: default;
  pointer-events: none;
}

.c-form-fv-renewal.is-clickable {
  cursor: pointer;
  pointer-events: auto;
}

.c-form__wrap .containerScrollY {

}

.c-form__wrap fieldset {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.c-form__wrap .form__labelGroup {
  row-gap: 0;
}

.c-form__wrap .form__labelGroup-label {
  font-size: 18px;
  text-align: center;
  display: block;
  position: relative; /* 擬似要素の基準にする */
}

.c-form__wrap .step-1 .form__labelGroup-label::after,
.c-form__wrap .step-2 .form__labelGroup-label::after {
  content: "";
  position: absolute;
  bottom: -8px; /* 下に8pxずらす */
  left: 50%;  /* 中央基準 */
  transform: translateX(-50%); /* 中央揃え */
  width: 100%;
  border-bottom: 1px solid #333;
}




/* ラジオボタン全体をグリッドに */
.c-form__wrap .wpcf7-form-control.wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  grid-gap: 20px;                        /* ボタン間の隙間 */
  justify-items: center;                  /* 水平方向中央揃え */
  margin-top: 20px;
}


/* ホバー時の演出 */
.c-form__wrap .step-1 .wpcf7-list-item:hover,
.c-form__wrap .step-2 .wpcf7-list-item:hover {
  background-color: #00A0E8;
  opacity: 0.7;
}

/* デフォルト */
.c-form__wrap .step-1 .wpcf7-list-item,
.c-form__wrap .step-2 .wpcf7-list-item {
  width: 160px;
  height: 130px;
  padding-block: 24px;
  background-color: #004599;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
  color: #fff;
  position: relative;
  text-align: center;
  margin: 0 !important;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .step-1 .wpcf7-list-item,
  .c-form__wrap .step-2 .wpcf7-list-item  {
    width: 144px;
    height: 117px;
  }
}

.c-form__wrap .wpcf7-list-item {
  display: flex !important;
  margin-left: 0 !important;
}

.c-form__wrap .step-1 .wpcf7-list-item::after,
.c-form__wrap .step-2 .wpcf7-list-item::after {
  content: '';
  position: absolute;
  top: 110px;
  right: 10px;
  width: 10px;
  height: 10px;
  background-image: url('../images/lp01/icon_triangle.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .step-1 .wpcf7-list-item::after,
  .c-form__wrap .step-2 .wpcf7-list-item::after  {
    top: 99px;
    right: 9px;
    width: 9px;
    height: 9px;
  }
}

/* ボタン全体 */
.c-form__wrap .step-1 .wpcf7-list-item label,
.c-form__wrap .step-2 .wpcf7-list-item label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* チェック時に色を変更 */
.c-form__wrap .step-1 .wpcf7-list-item:has(input:checked),
.c-form__wrap .step-2 .wpcf7-list-item:has(input:checked) {
  background-color: #00A0E8;
}


/* テキスト部分 */
.c-form__wrap .step-1  .wpcf7-list-item-label {
  display: block;
  font-weight: 600;
}

.c-form__wrap .step-1 .wpcf7-list-item-label,
.c-form__wrap .step-2 .wpcf7-list-item-label {
  position: relative; /* ::before の基準にする */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
  font-size: 16px;
  color: #fff;
  font-weight: 600;
  height: 100%;
  padding-top: 60px;
}

.form__fieldset.step-2{
  margin-block-start: 40px!important;
}

.c-form__wrap .step-3 .wpcf7-list-item-label{
  min-width: 128px;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .step-3 .wpcf7-list-item-label {
    min-width: 100px;
  }
}

.c-form__wrap .step-4  .wpcf7-list-item-label {
  font-size: 14px;
}


.c-form__wrap .step-3 .wpcf7-form-control{

}

.form__fieldset.step-3{
  margin-block-start: 40px!important;
}

.c-form__wrap .step-3 legend.form__legend + p{
  font-size: 15px;
  font-weight: 500;
  line-height: 1.46;
  white-space: normal;
}

.c-form__wrap .step-3 .form__legend .wpcf7-list-item-label{
  font-size: 16px;
}

.c-form__wrap .step-3 .wpcf7-checkbox{
  gap: 16px;
  justify-content: space-between;
}

.form__fieldset.step-4 {
  row-gap: 8px;
}

.form__fieldset.step-4{
  margin-block-start: 20px!important;
}

.c-form__wrap .step-4 .form__labelGroup-label{
  text-align: left;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
  margin-block-end: 4px;
}

.c-form__wrap .step-4 .wpcf7-form-control-wrap textarea {
  height: 50px;
}

.c-form__wrap .step-4 .form__tag{
  color: #FFF;
  font-weight: 700;
  line-height: 1.8;
  background: #004599;
  margin-inline-end: 8px;
}

/* 各ボタンにSVGを追加 */
.c-form__wrap .step-1  .wpcf7-list-item-label::before,
.c-form__wrap .step-2  .wpcf7-list-item-label::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0px;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .step-1  .wpcf7-list-item-label::before,
  .c-form__wrap .step-2  .wpcf7-list-item-label::before {
      width: 36px;
      height: 36px;
  }
}

/* ステップ1 */
/* 1〜4番目の .wpcf7-list-item に対してそれぞれ異なるSVGを指定 */
.c-form__wrap .step-1 .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::before {
  background-image: url('../images/lp01/icon_timer.svg'); /* 今すぐ */
}

.c-form__wrap .step-1 .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::before {
  background-image: url('../images/lp01/icon_watch.svg'); /* 3ヶ月以内 */
}

.c-form__wrap .step-1 .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::before {
  background-image: url('../images/lp01/icon_calender.svg'); /* 半年以内 */
}

.c-form__wrap .step-1 .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::before {
  background-image: url('../images/lp01/icon_question.svg'); /* 未定 */
}

/* ステップ2 */
/* 1〜2番目の .wpcf7-list-item に対してそれぞれ異なるSVGを指定 */
.c-form__wrap .step-2 .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::before {
  background-image: url('../images/lp01/icon_maru.svg');
}

.c-form__wrap .step-2 .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::before {
  background-image: url('../images/lp01/icon_batsu.svg');
}

/* ラジオボタンの擬似要素打ち消し */
.step-1 .wpcf7-radio label::after,
.step-2 .wpcf7-radio label::after {
  content: none !important;
}

/* step-1配下のラジオボタンとチェックボックスの疑似要素を削除 */
.step-1 .wpcf7-radio label::before,
.step-1 .wpcf7-checkbox label::before,
.step-2 .wpcf7-radio label::before,
.step-2 .wpcf7-checkbox label::before {
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: none !important;
  background: none !important;
}

/* input は非表示（見た目だけカスタム） */
.c-form__wrap input[type="radio"] {
  display: none;
}


.c-form__wrap input[type="radio"]:checked:before {
  /* 選択状態の背景を変えたい場合はここに */
}


/* ラジオボタン自体は非表示 */
.c-form__wrap .wpcf7-list-item input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: all; /* ラベルクリックで選択できる */
}

/* ラジオボタンは非表示にする（ラベルクリックで選択可能） */
.c-form__wrap .wpcf7-list-item-label.radio-icon input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* チェック状態でアイコンを少し明るくする例 */
.c-form__wrap .wpcf7-list-item-label.radio-icon input[type="radio"]:checked + span,
.c-form__wrap .wpcf7-list-item-label.radio-icon input[type="radio"]:checked::before {
  filter: brightness(1.2);
}

.c-form__wrap .button{

}

.c-form__wrap .wpcf7-form.cf7skins button, .wpcf7-form.cf7skins input, .wpcf7-form.cf7skins optgroup, .wpcf7-form.cf7skins select, .wpcf7-form.cf7skins textarea{
    color: inherit;
    font: inherit;
    margin: 0;
}

.c-form__wrap .wpcf7-form .button--accent {
  color: #004599 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: normal !important;
  letter-spacing: 0.2px !important;
  border: none;
  border-radius: 4px !important;
  background: #FFF !important;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .wpcf7-form .button--accent {
    font-size: 16px !important;
  }
}

.c-form__wrap .step-4 .wpcf7-text,
.c-form__wrap .step-4 .form__select{
  color: #4D4D4D;
  background: #F6F6F6;
}

.c-form__wrap .step-3 .form__buttonWrapper,
.c-form__wrap .step-4 .form__buttonWrapper {
  width: 340px;
  border: 2px solid #004599 ;
  border-radius: 4px;
  background: #FFF;
  margin-block-start: 12px;
  cursor: pointer;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .step-3 .form__buttonWrapper,
  .c-form__wrap .step-4 .form__buttonWrapper {
    width: 304px;
  }
}

.c-form__wrap .step-4 .button--accent {
  color: #004599 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: normal !important;
  letter-spacing: 0.2px !important;
  padding: 10px 20px;
}
@media screen and (max-width: 1100px) {
  .c-form__wrap .step-4 .button--accent {
    font-size: 16px !important;
  }
}

.c-form__wrap .form__fieldset.step-4 .button--accent {
  border: none !important;
}

.wpcf7-form.cf7skins input[type="submit"] {
  margin: 0 !important;
}

/* 矢印アイコン */
.c-form__wrap .button--forward::after{
  width: 10px;
  height: 16px;
  background-image: url('../images/lp01/icon_allow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ================================
   Submitボタンに矢印アイコンを追加
   ================================ */
.c-form__wrap .step-4 .form__buttonWrapper {
  position: relative;
  display: inline-block;
}

.c-form__wrap .step-4  .form__buttonWrapper .button--forward {
  position: relative;
  display: inline-block;
  padding-right: 2rem; /* アイコン分の余白 */
  cursor: pointer;
}

.c-form__wrap .step-4  .form__buttonWrapper .button--forward::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  width: 10px;
  height: 16px;
  background-image: url('../images/lp01/icon_allow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.c-form__wrap .wpcf7 .wpcf7-response-output {
  margin: 0;
  padding: 0;
  border: none;
  text-align: center;
}

.p-consultation__form-sp {
  display: none;
}
@media screen and (max-width: 1100px) {
  .p-consultation__form-sp {
    display: block;
    background: #F4F7FA;
  }
}

.p-consultation__form-sp-inner{
    display: flex;
    margin-inline: auto;
    padding: 50px 16px 60px 16px;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.p-consultation__sp-message {
}

.p-sp-message-title {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22px;
  background: linear-gradient(90deg, #004599 0%, #002858 58.65%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-sp-message-title-accent {
  font-size: 28px;
  letter-spacing: 0.28px;
}

.p-sp-message-text {
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin-block-start: 12px;
}


/* FVリニューアルここまで */

.mainvisual__bg {
  position: absolute;
  inset: 0 var(--mainvisual-form-width, 0) 0 0;
}
.mainvisual__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  animation: animation-scale-in 2500ms var(--easing-effect) 0ms forwards;
}
@media screen and (min-width: 1101px) {
  .mainvisual__bg img {
    -o-object-position: right;
       object-position: right;
  }
}

.mainvisual__container {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 2.8rem;
}
@media screen and (min-width: 1101px) {
  .mainvisual__container {
    padding-block: 8.8rem 5.6rem;
  }
}
@media screen and (max-width: 1100px) {
  .mainvisual__container {
    justify-content: center;
    row-gap: 1.8rem;
    padding-inline: var(--padding-x-base);
  }
}
@media screen and (max-width: 768px) {
  .mainvisual__container {
    justify-content: flex-start;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.mainvisual__form {
  --form-padding: 4.8rem 2.4rem;
  --form-fieldset-gap: 1.8rem;
  --form-step-max-width: 25.2rem;
  --form-step-size: 3.6rem;
  --form-step-font-size: 1.8rem;
  --form-label-font-size: 1.6rem;
  position: relative;
  height: 100%;
  align-self: stretch;
  background-color: #fff;
  overflow: hidden
}
@media screen and (max-width: 1100px) {
  .mainvisual__form {
    display: none;
  }
}

.mainvisual__fixedButton {
  position: fixed;
  bottom: 0;
  inset-inline: 0;
  padding: 1rem var(--padding-x-base);
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out;
}
.mainvisual__fixedButton.is-sticky {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 1101px) {
  .mainvisual__fixedButton {
    display: none;
  }
}

.mainvisual__title {
  font-family: var(--mainvisual-title-font);
  font-size: var(--mainvisual-title-font-size);
  font-weight: var(--mainvisual-title-font-weight, var(--font-weight-bold));
  line-height: var(--mainvisual-title-line-height);
  opacity: 0;
  animation: animation-slide-down 600ms ease-out 500ms forwards;
}

@media screen and (max-width: 700px) {
.mainvisual__title {
    font-size: 24px;
    line-height: 1;
	text-align: center;
}

.mainvisual__title br {
	display: none;
}
	
.u-color-primary {
    display: block;
    line-height: 2;
    font-size: 30px;
}
	
    .mainvisual__label {
        font-size: 16px !important;
        margin: -15px auto 0;
    }
	
    .mainvisual {
        height: 53rem;
    }

 
}

.mainvisual__label {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  padding: 0.8rem 2.2rem;
  background-color: white;
  border-radius: 0.5rem;
  color: var(--mainvisual-label-color, rgb(var(--color-theme-primary)));
  font-family: var(--mainvisual-label-font);
  font-size: var(--mainvisual-label-font-size);
  font-weight: var(--mainvisual-label-font-weight, var(--font-weight-bold));
  text-align: center;
  letter-spacing: 0.05em;
  opacity: 0;
  animation: animation-slide-down 600ms ease-out 600ms forwards;
}
@media screen and (min-width: 1101px) {
  .mainvisual__label {
    min-height: 6rem;
	text-align: left;
  }
}
@media screen and (max-width: 1100px) {
  .mainvisual__label {
    padding-inline: 1rem;
  }
}

.mainvisual__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  opacity: 0;
  animation: animation-slide-down 600ms ease-out 700ms forwards;
}
@media screen and (max-width: 768px) {
  .mainvisual__badges {
    justify-content: center;
    margin-top: auto;
  }
}

@media screen and (max-width: 1100px) {
  .mainvisual__badges-item {
    width: 15rem;
  }
}

@media screen and (max-width: 768px) {
  .service {
    --section-bg-height: 20rem;
  }
}

.support {
  position: relative;
  --form-padding: 0;
  --form-fieldset-gap: 3rem;
  --form-grid-column: 4;
}
@media screen and (max-width: 768px) {
  .support {
    --form-fieldset-gap: 2.4rem;
    --form-grid-column: 2;
  }
}

/**
 * ユーティリティクラス
 */
.u-color-white {
  color: white !important;
}

.u-color-black {
  color: black !important;
}

.u-color-text {
  color: rgb(var(--color-text-base)) !important;
}

.u-color-primary {
  color: rgb(var(--color-theme-primary)) !important;
}

.u-color-accent {
  color: rgb(var(--color-theme-accent)) !important;
}

.u-color-inherit {
  color: inherit !important;
}

@media screen and (min-width: 769px) {
  .u-hidden-pc {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .u-hidden-sp {
    display: none !important;
  }
}
/* margin */
.u-m-auto {
  margin: 0 auto !important;
}

.u-mt-0 {
  margin-top: 0rem !important;
}

.u-mb-0 {
  margin-bottom: 0rem !important;
}

.u-ml-0 {
  margin-left: 0rem !important;
}

.u-mr-0 {
  margin-right: 0rem !important;
}

.u-mt-5 {
  margin-top: 0.5rem !important;
}

.u-mb-5 {
  margin-bottom: 0.5rem !important;
}

.u-ml-5 {
  margin-left: 0.5rem !important;
}

.u-mr-5 {
  margin-right: 0.5rem !important;
}

.u-mt-10 {
  margin-top: 1rem !important;
}

.u-mb-10 {
  margin-bottom: 1rem !important;
}

.u-ml-10 {
  margin-left: 1rem !important;
}

.u-mr-10 {
  margin-right: 1rem !important;
}

.u-mt-15 {
  margin-top: 1.5rem !important;
}

.u-mb-15 {
  margin-bottom: 1.5rem !important;
}

.u-ml-15 {
  margin-left: 1.5rem !important;
}

.u-mr-15 {
  margin-right: 1.5rem !important;
}

.u-mt-20 {
  margin-top: 2rem !important;
}

.u-mb-20 {
  margin-bottom: 2rem !important;
}

.u-ml-20 {
  margin-left: 2rem !important;
}

.u-mr-20 {
  margin-right: 2rem !important;
}

.u-mt-25 {
  margin-top: 2.5rem !important;
}

.u-mb-25 {
  margin-bottom: 2.5rem !important;
}

.u-ml-25 {
  margin-left: 2.5rem !important;
}

.u-mr-25 {
  margin-right: 2.5rem !important;
}

.u-mt-30 {
  margin-top: 3rem !important;
}

.u-mb-30 {
  margin-bottom: 3rem !important;
}

.u-ml-30 {
  margin-left: 3rem !important;
}

.u-mr-30 {
  margin-right: 3rem !important;
}

.u-mt-35 {
  margin-top: 3.5rem !important;
}

.u-mb-35 {
  margin-bottom: 3.5rem !important;
}

.u-ml-35 {
  margin-left: 3.5rem !important;
}

.u-mr-35 {
  margin-right: 3.5rem !important;
}

.u-mt-40 {
  margin-top: 4rem !important;
}

.u-mb-40 {
  margin-bottom: 4rem !important;
}

.u-ml-40 {
  margin-left: 4rem !important;
}

.u-mr-40 {
  margin-right: 4rem !important;
}

.u-mt-45 {
  margin-top: 4.5rem !important;
}

.u-mb-45 {
  margin-bottom: 4.5rem !important;
}

.u-ml-45 {
  margin-left: 4.5rem !important;
}

.u-mr-45 {
  margin-right: 4.5rem !important;
}

.u-mt-50 {
  margin-top: 5rem !important;
}

.u-mb-50 {
  margin-bottom: 5rem !important;
}

.u-ml-50 {
  margin-left: 5rem !important;
}

.u-mr-50 {
  margin-right: 5rem !important;
}

.u-mt-55 {
  margin-top: 5.5rem !important;
}

.u-mb-55 {
  margin-bottom: 5.5rem !important;
}

.u-ml-55 {
  margin-left: 5.5rem !important;
}

.u-mr-55 {
  margin-right: 5.5rem !important;
}

.u-mt-60 {
  margin-top: 6rem !important;
}

.u-mb-60 {
  margin-bottom: 6rem !important;
}

.u-ml-60 {
  margin-left: 6rem !important;
}

.u-mr-60 {
  margin-right: 6rem !important;
}

.u-mt-65 {
  margin-top: 6.5rem !important;
}

.u-mb-65 {
  margin-bottom: 6.5rem !important;
}

.u-ml-65 {
  margin-left: 6.5rem !important;
}

.u-mr-65 {
  margin-right: 6.5rem !important;
}

.u-mt-70 {
  margin-top: 7rem !important;
}

.u-mb-70 {
  margin-bottom: 7rem !important;
}

.u-ml-70 {
  margin-left: 7rem !important;
}

.u-mr-70 {
  margin-right: 7rem !important;
}

.u-mt-75 {
  margin-top: 7.5rem !important;
}

.u-mb-75 {
  margin-bottom: 7.5rem !important;
}

.u-ml-75 {
  margin-left: 7.5rem !important;
}

.u-mr-75 {
  margin-right: 7.5rem !important;
}

.u-mt-80 {
  margin-top: 8rem !important;
}

.u-mb-80 {
  margin-bottom: 8rem !important;
}

.u-ml-80 {
  margin-left: 8rem !important;
}

.u-mr-80 {
  margin-right: 8rem !important;
}

.u-mt-85 {
  margin-top: 8.5rem !important;
}

.u-mb-85 {
  margin-bottom: 8.5rem !important;
}

.u-ml-85 {
  margin-left: 8.5rem !important;
}

.u-mr-85 {
  margin-right: 8.5rem !important;
}

.u-mt-90 {
  margin-top: 9rem !important;
}

.u-mb-90 {
  margin-bottom: 9rem !important;
}

.u-ml-90 {
  margin-left: 9rem !important;
}

.u-mr-90 {
  margin-right: 9rem !important;
}

.u-mt-95 {
  margin-top: 9.5rem !important;
}

.u-mb-95 {
  margin-bottom: 9.5rem !important;
}

.u-ml-95 {
  margin-left: 9.5rem !important;
}

.u-mr-95 {
  margin-right: 9.5rem !important;
}

.u-mt-100 {
  margin-top: 10rem !important;
}

.u-mb-100 {
  margin-bottom: 10rem !important;
}

.u-ml-100 {
  margin-left: 10rem !important;
}

.u-mr-100 {
  margin-right: 10rem !important;
}

.u-mt-105 {
  margin-top: 10.5rem !important;
}

.u-mb-105 {
  margin-bottom: 10.5rem !important;
}

.u-ml-105 {
  margin-left: 10.5rem !important;
}

.u-mr-105 {
  margin-right: 10.5rem !important;
}

.u-mt-110 {
  margin-top: 11rem !important;
}

.u-mb-110 {
  margin-bottom: 11rem !important;
}

.u-ml-110 {
  margin-left: 11rem !important;
}

.u-mr-110 {
  margin-right: 11rem !important;
}

.u-mt-115 {
  margin-top: 11.5rem !important;
}

.u-mb-115 {
  margin-bottom: 11.5rem !important;
}

.u-ml-115 {
  margin-left: 11.5rem !important;
}

.u-mr-115 {
  margin-right: 11.5rem !important;
}

.u-mt-120 {
  margin-top: 12rem !important;
}

.u-mb-120 {
  margin-bottom: 12rem !important;
}

.u-ml-120 {
  margin-left: 12rem !important;
}

.u-mr-120 {
  margin-right: 12rem !important;
}

.u-mt-125 {
  margin-top: 12.5rem !important;
}

.u-mb-125 {
  margin-bottom: 12.5rem !important;
}

.u-ml-125 {
  margin-left: 12.5rem !important;
}

.u-mr-125 {
  margin-right: 12.5rem !important;
}

.u-mt-130 {
  margin-top: 13rem !important;
}

.u-mb-130 {
  margin-bottom: 13rem !important;
}

.u-ml-130 {
  margin-left: 13rem !important;
}

.u-mr-130 {
  margin-right: 13rem !important;
}

.u-mt-135 {
  margin-top: 13.5rem !important;
}

.u-mb-135 {
  margin-bottom: 13.5rem !important;
}

.u-ml-135 {
  margin-left: 13.5rem !important;
}

.u-mr-135 {
  margin-right: 13.5rem !important;
}

.u-mt-140 {
  margin-top: 14rem !important;
}

.u-mb-140 {
  margin-bottom: 14rem !important;
}

.u-ml-140 {
  margin-left: 14rem !important;
}

.u-mr-140 {
  margin-right: 14rem !important;
}

.u-mt-145 {
  margin-top: 14.5rem !important;
}

.u-mb-145 {
  margin-bottom: 14.5rem !important;
}

.u-ml-145 {
  margin-left: 14.5rem !important;
}

.u-mr-145 {
  margin-right: 14.5rem !important;
}

.u-mt-150 {
  margin-top: 15rem !important;
}

.u-mb-150 {
  margin-bottom: 15rem !important;
}

.u-ml-150 {
  margin-left: 15rem !important;
}

.u-mr-150 {
  margin-right: 15rem !important;
}

.u-mt-155 {
  margin-top: 15.5rem !important;
}

.u-mb-155 {
  margin-bottom: 15.5rem !important;
}

.u-ml-155 {
  margin-left: 15.5rem !important;
}

.u-mr-155 {
  margin-right: 15.5rem !important;
}

.u-mt-160 {
  margin-top: 16rem !important;
}

.u-mb-160 {
  margin-bottom: 16rem !important;
}

.u-ml-160 {
  margin-left: 16rem !important;
}

.u-mr-160 {
  margin-right: 16rem !important;
}

.u-mt-165 {
  margin-top: 16.5rem !important;
}

.u-mb-165 {
  margin-bottom: 16.5rem !important;
}

.u-ml-165 {
  margin-left: 16.5rem !important;
}

.u-mr-165 {
  margin-right: 16.5rem !important;
}

.u-mt-170 {
  margin-top: 17rem !important;
}

.u-mb-170 {
  margin-bottom: 17rem !important;
}

.u-ml-170 {
  margin-left: 17rem !important;
}

.u-mr-170 {
  margin-right: 17rem !important;
}

.u-mt-175 {
  margin-top: 17.5rem !important;
}

.u-mb-175 {
  margin-bottom: 17.5rem !important;
}

.u-ml-175 {
  margin-left: 17.5rem !important;
}

.u-mr-175 {
  margin-right: 17.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-auto-sp {
    margin: 0 auto !important;
  }
  .u-mt-0-sp {
    margin-top: 0rem !important;
  }
  .u-mb-0-sp {
    margin-bottom: 0rem !important;
  }
  .u-ml-0-sp {
    margin-left: 0rem !important;
  }
  .u-mr-0-sp {
    margin-right: 0rem !important;
  }
  .u-mt-5-sp {
    margin-top: 0.5rem !important;
  }
  .u-mb-5-sp {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-5-sp {
    margin-left: 0.5rem !important;
  }
  .u-mr-5-sp {
    margin-right: 0.5rem !important;
  }
  .u-mt-10-sp {
    margin-top: 1rem !important;
  }
  .u-mb-10-sp {
    margin-bottom: 1rem !important;
  }
  .u-ml-10-sp {
    margin-left: 1rem !important;
  }
  .u-mr-10-sp {
    margin-right: 1rem !important;
  }
  .u-mt-15-sp {
    margin-top: 1.5rem !important;
  }
  .u-mb-15-sp {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-15-sp {
    margin-left: 1.5rem !important;
  }
  .u-mr-15-sp {
    margin-right: 1.5rem !important;
  }
  .u-mt-20-sp {
    margin-top: 2rem !important;
  }
  .u-mb-20-sp {
    margin-bottom: 2rem !important;
  }
  .u-ml-20-sp {
    margin-left: 2rem !important;
  }
  .u-mr-20-sp {
    margin-right: 2rem !important;
  }
  .u-mt-25-sp {
    margin-top: 2.5rem !important;
  }
  .u-mb-25-sp {
    margin-bottom: 2.5rem !important;
  }
  .u-ml-25-sp {
    margin-left: 2.5rem !important;
  }
  .u-mr-25-sp {
    margin-right: 2.5rem !important;
  }
  .u-mt-30-sp {
    margin-top: 3rem !important;
  }
  .u-mb-30-sp {
    margin-bottom: 3rem !important;
  }
  .u-ml-30-sp {
    margin-left: 3rem !important;
  }
  .u-mr-30-sp {
    margin-right: 3rem !important;
  }
  .u-mt-35-sp {
    margin-top: 3.5rem !important;
  }
  .u-mb-35-sp {
    margin-bottom: 3.5rem !important;
  }
  .u-ml-35-sp {
    margin-left: 3.5rem !important;
  }
  .u-mr-35-sp {
    margin-right: 3.5rem !important;
  }
  .u-mt-40-sp {
    margin-top: 4rem !important;
  }
  .u-mb-40-sp {
    margin-bottom: 4rem !important;
  }
  .u-ml-40-sp {
    margin-left: 4rem !important;
  }
  .u-mr-40-sp {
    margin-right: 4rem !important;
  }
  .u-mt-45-sp {
    margin-top: 4.5rem !important;
  }
  .u-mb-45-sp {
    margin-bottom: 4.5rem !important;
  }
  .u-ml-45-sp {
    margin-left: 4.5rem !important;
  }
  .u-mr-45-sp {
    margin-right: 4.5rem !important;
  }
  .u-mt-50-sp {
    margin-top: 5rem !important;
  }
  .u-mb-50-sp {
    margin-bottom: 5rem !important;
  }
  .u-ml-50-sp {
    margin-left: 5rem !important;
  }
  .u-mr-50-sp {
    margin-right: 5rem !important;
  }
  .u-mt-55-sp {
    margin-top: 5.5rem !important;
  }
  .u-mb-55-sp {
    margin-bottom: 5.5rem !important;
  }
  .u-ml-55-sp {
    margin-left: 5.5rem !important;
  }
  .u-mr-55-sp {
    margin-right: 5.5rem !important;
  }
  .u-mt-60-sp {
    margin-top: 6rem !important;
  }
  .u-mb-60-sp {
    margin-bottom: 6rem !important;
  }
  .u-ml-60-sp {
    margin-left: 6rem !important;
  }
  .u-mr-60-sp {
    margin-right: 6rem !important;
  }
  .u-mt-65-sp {
    margin-top: 6.5rem !important;
  }
  .u-mb-65-sp {
    margin-bottom: 6.5rem !important;
  }
  .u-ml-65-sp {
    margin-left: 6.5rem !important;
  }
  .u-mr-65-sp {
    margin-right: 6.5rem !important;
  }
  .u-mt-70-sp {
    margin-top: 7rem !important;
  }
  .u-mb-70-sp {
    margin-bottom: 7rem !important;
  }
  .u-ml-70-sp {
    margin-left: 7rem !important;
  }
  .u-mr-70-sp {
    margin-right: 7rem !important;
  }
  .u-mt-75-sp {
    margin-top: 7.5rem !important;
  }
  .u-mb-75-sp {
    margin-bottom: 7.5rem !important;
  }
  .u-ml-75-sp {
    margin-left: 7.5rem !important;
  }
  .u-mr-75-sp {
    margin-right: 7.5rem !important;
  }
  .u-mt-80-sp {
    margin-top: 8rem !important;
  }
  .u-mb-80-sp {
    margin-bottom: 8rem !important;
  }
  .u-ml-80-sp {
    margin-left: 8rem !important;
  }
  .u-mr-80-sp {
    margin-right: 8rem !important;
  }
  .u-mt-85-sp {
    margin-top: 8.5rem !important;
  }
  .u-mb-85-sp {
    margin-bottom: 8.5rem !important;
  }
  .u-ml-85-sp {
    margin-left: 8.5rem !important;
  }
  .u-mr-85-sp {
    margin-right: 8.5rem !important;
  }
  .u-mt-90-sp {
    margin-top: 9rem !important;
  }
  .u-mb-90-sp {
    margin-bottom: 9rem !important;
  }
  .u-ml-90-sp {
    margin-left: 9rem !important;
  }
  .u-mr-90-sp {
    margin-right: 9rem !important;
  }
  .u-mt-95-sp {
    margin-top: 9.5rem !important;
  }
  .u-mb-95-sp {
    margin-bottom: 9.5rem !important;
  }
  .u-ml-95-sp {
    margin-left: 9.5rem !important;
  }
  .u-mr-95-sp {
    margin-right: 9.5rem !important;
  }
  .u-mt-100-sp {
    margin-top: 10rem !important;
  }
  .u-mb-100-sp {
    margin-bottom: 10rem !important;
  }
  .u-ml-100-sp {
    margin-left: 10rem !important;
  }
  .u-mr-100-sp {
    margin-right: 10rem !important;
  }
}
/* padding */
.u-p-0 {
  padding: 0rem !important;
}

.u-pt-0 {
  padding-top: 0rem !important;
}

.u-pb-0 {
  padding-bottom: 0rem !important;
}

.u-pl-0 {
  padding-left: 0rem !important;
}

.u-pr-0 {
  padding-right: 0rem !important;
}

.u-p-5 {
  padding: 0.5rem !important;
}

.u-pt-5 {
  padding-top: 0.5rem !important;
}

.u-pb-5 {
  padding-bottom: 0.5rem !important;
}

.u-pl-5 {
  padding-left: 0.5rem !important;
}

.u-pr-5 {
  padding-right: 0.5rem !important;
}

.u-p-10 {
  padding: 1rem !important;
}

.u-pt-10 {
  padding-top: 1rem !important;
}

.u-pb-10 {
  padding-bottom: 1rem !important;
}

.u-pl-10 {
  padding-left: 1rem !important;
}

.u-pr-10 {
  padding-right: 1rem !important;
}

.u-p-15 {
  padding: 1.5rem !important;
}

.u-pt-15 {
  padding-top: 1.5rem !important;
}

.u-pb-15 {
  padding-bottom: 1.5rem !important;
}

.u-pl-15 {
  padding-left: 1.5rem !important;
}

.u-pr-15 {
  padding-right: 1.5rem !important;
}

.u-p-20 {
  padding: 2rem !important;
}

.u-pt-20 {
  padding-top: 2rem !important;
}

.u-pb-20 {
  padding-bottom: 2rem !important;
}

.u-pl-20 {
  padding-left: 2rem !important;
}

.u-pr-20 {
  padding-right: 2rem !important;
}

.u-p-25 {
  padding: 2.5rem !important;
}

.u-pt-25 {
  padding-top: 2.5rem !important;
}

.u-pb-25 {
  padding-bottom: 2.5rem !important;
}

.u-pl-25 {
  padding-left: 2.5rem !important;
}

.u-pr-25 {
  padding-right: 2.5rem !important;
}

.u-p-30 {
  padding: 3rem !important;
}

.u-pt-30 {
  padding-top: 3rem !important;
}

.u-pb-30 {
  padding-bottom: 3rem !important;
}

.u-pl-30 {
  padding-left: 3rem !important;
}

.u-pr-30 {
  padding-right: 3rem !important;
}

.u-p-35 {
  padding: 3.5rem !important;
}

.u-pt-35 {
  padding-top: 3.5rem !important;
}

.u-pb-35 {
  padding-bottom: 3.5rem !important;
}

.u-pl-35 {
  padding-left: 3.5rem !important;
}

.u-pr-35 {
  padding-right: 3.5rem !important;
}

.u-p-40 {
  padding: 4rem !important;
}

.u-pt-40 {
  padding-top: 4rem !important;
}

.u-pb-40 {
  padding-bottom: 4rem !important;
}

.u-pl-40 {
  padding-left: 4rem !important;
}

.u-pr-40 {
  padding-right: 4rem !important;
}

.u-p-45 {
  padding: 4.5rem !important;
}

.u-pt-45 {
  padding-top: 4.5rem !important;
}

.u-pb-45 {
  padding-bottom: 4.5rem !important;
}

.u-pl-45 {
  padding-left: 4.5rem !important;
}

.u-pr-45 {
  padding-right: 4.5rem !important;
}

.u-p-50 {
  padding: 5rem !important;
}

.u-pt-50 {
  padding-top: 5rem !important;
}

.u-pb-50 {
  padding-bottom: 5rem !important;
}

.u-pl-50 {
  padding-left: 5rem !important;
}

.u-pr-50 {
  padding-right: 5rem !important;
}

.u-p-55 {
  padding: 5.5rem !important;
}

.u-pt-55 {
  padding-top: 5.5rem !important;
}

.u-pb-55 {
  padding-bottom: 5.5rem !important;
}

.u-pl-55 {
  padding-left: 5.5rem !important;
}

.u-pr-55 {
  padding-right: 5.5rem !important;
}

.u-p-60 {
  padding: 6rem !important;
}

.u-pt-60 {
  padding-top: 6rem !important;
}

.u-pb-60 {
  padding-bottom: 6rem !important;
}

.u-pl-60 {
  padding-left: 6rem !important;
}

.u-pr-60 {
  padding-right: 6rem !important;
}

.u-p-65 {
  padding: 6.5rem !important;
}

.u-pt-65 {
  padding-top: 6.5rem !important;
}

.u-pb-65 {
  padding-bottom: 6.5rem !important;
}

.u-pl-65 {
  padding-left: 6.5rem !important;
}

.u-pr-65 {
  padding-right: 6.5rem !important;
}

.u-p-70 {
  padding: 7rem !important;
}

.u-pt-70 {
  padding-top: 7rem !important;
}

.u-pb-70 {
  padding-bottom: 7rem !important;
}

.u-pl-70 {
  padding-left: 7rem !important;
}

.u-pr-70 {
  padding-right: 7rem !important;
}

.u-p-75 {
  padding: 7.5rem !important;
}

.u-pt-75 {
  padding-top: 7.5rem !important;
}

.u-pb-75 {
  padding-bottom: 7.5rem !important;
}

.u-pl-75 {
  padding-left: 7.5rem !important;
}

.u-pr-75 {
  padding-right: 7.5rem !important;
}

.u-p-80 {
  padding: 8rem !important;
}

.u-pt-80 {
  padding-top: 8rem !important;
}

.u-pb-80 {
  padding-bottom: 8rem !important;
}

.u-pl-80 {
  padding-left: 8rem !important;
}

.u-pr-80 {
  padding-right: 8rem !important;
}

.u-p-85 {
  padding: 8.5rem !important;
}

.u-pt-85 {
  padding-top: 8.5rem !important;
}

.u-pb-85 {
  padding-bottom: 8.5rem !important;
}

.u-pl-85 {
  padding-left: 8.5rem !important;
}

.u-pr-85 {
  padding-right: 8.5rem !important;
}

.u-p-90 {
  padding: 9rem !important;
}

.u-pt-90 {
  padding-top: 9rem !important;
}

.u-pb-90 {
  padding-bottom: 9rem !important;
}

.u-pl-90 {
  padding-left: 9rem !important;
}

.u-pr-90 {
  padding-right: 9rem !important;
}

.u-p-95 {
  padding: 9.5rem !important;
}

.u-pt-95 {
  padding-top: 9.5rem !important;
}

.u-pb-95 {
  padding-bottom: 9.5rem !important;
}

.u-pl-95 {
  padding-left: 9.5rem !important;
}

.u-pr-95 {
  padding-right: 9.5rem !important;
}

.u-p-100 {
  padding: 10rem !important;
}

.u-pt-100 {
  padding-top: 10rem !important;
}

.u-pb-100 {
  padding-bottom: 10rem !important;
}

.u-pl-100 {
  padding-left: 10rem !important;
}

.u-pr-100 {
  padding-right: 10rem !important;
}

.u-p-105 {
  padding: 10.5rem !important;
}

.u-pt-105 {
  padding-top: 10.5rem !important;
}

.u-pb-105 {
  padding-bottom: 10.5rem !important;
}

.u-pl-105 {
  padding-left: 10.5rem !important;
}

.u-pr-105 {
  padding-right: 10.5rem !important;
}

.u-p-110 {
  padding: 11rem !important;
}

.u-pt-110 {
  padding-top: 11rem !important;
}

.u-pb-110 {
  padding-bottom: 11rem !important;
}

.u-pl-110 {
  padding-left: 11rem !important;
}

.u-pr-110 {
  padding-right: 11rem !important;
}

.u-p-115 {
  padding: 11.5rem !important;
}

.u-pt-115 {
  padding-top: 11.5rem !important;
}

.u-pb-115 {
  padding-bottom: 11.5rem !important;
}

.u-pl-115 {
  padding-left: 11.5rem !important;
}

.u-pr-115 {
  padding-right: 11.5rem !important;
}

.u-p-120 {
  padding: 12rem !important;
}

.u-pt-120 {
  padding-top: 12rem !important;
}

.u-pb-120 {
  padding-bottom: 12rem !important;
}

.u-pl-120 {
  padding-left: 12rem !important;
}

.u-pr-120 {
  padding-right: 12rem !important;
}

.u-p-125 {
  padding: 12.5rem !important;
}

.u-pt-125 {
  padding-top: 12.5rem !important;
}

.u-pb-125 {
  padding-bottom: 12.5rem !important;
}

.u-pl-125 {
  padding-left: 12.5rem !important;
}

.u-pr-125 {
  padding-right: 12.5rem !important;
}

.u-p-130 {
  padding: 13rem !important;
}

.u-pt-130 {
  padding-top: 13rem !important;
}

.u-pb-130 {
  padding-bottom: 13rem !important;
}

.u-pl-130 {
  padding-left: 13rem !important;
}

.u-pr-130 {
  padding-right: 13rem !important;
}

.u-p-135 {
  padding: 13.5rem !important;
}

.u-pt-135 {
  padding-top: 13.5rem !important;
}

.u-pb-135 {
  padding-bottom: 13.5rem !important;
}

.u-pl-135 {
  padding-left: 13.5rem !important;
}

.u-pr-135 {
  padding-right: 13.5rem !important;
}

.u-p-140 {
  padding: 14rem !important;
}

.u-pt-140 {
  padding-top: 14rem !important;
}

.u-pb-140 {
  padding-bottom: 14rem !important;
}

.u-pl-140 {
  padding-left: 14rem !important;
}

.u-pr-140 {
  padding-right: 14rem !important;
}

.u-p-145 {
  padding: 14.5rem !important;
}

.u-pt-145 {
  padding-top: 14.5rem !important;
}

.u-pb-145 {
  padding-bottom: 14.5rem !important;
}

.u-pl-145 {
  padding-left: 14.5rem !important;
}

.u-pr-145 {
  padding-right: 14.5rem !important;
}

.u-p-150 {
  padding: 15rem !important;
}

.u-pt-150 {
  padding-top: 15rem !important;
}

.u-pb-150 {
  padding-bottom: 15rem !important;
}

.u-pl-150 {
  padding-left: 15rem !important;
}

.u-pr-150 {
  padding-right: 15rem !important;
}

.u-p-155 {
  padding: 15.5rem !important;
}

.u-pt-155 {
  padding-top: 15.5rem !important;
}

.u-pb-155 {
  padding-bottom: 15.5rem !important;
}

.u-pl-155 {
  padding-left: 15.5rem !important;
}

.u-pr-155 {
  padding-right: 15.5rem !important;
}

.u-p-160 {
  padding: 16rem !important;
}

.u-pt-160 {
  padding-top: 16rem !important;
}

.u-pb-160 {
  padding-bottom: 16rem !important;
}

.u-pl-160 {
  padding-left: 16rem !important;
}

.u-pr-160 {
  padding-right: 16rem !important;
}

.u-p-165 {
  padding: 16.5rem !important;
}

.u-pt-165 {
  padding-top: 16.5rem !important;
}

.u-pb-165 {
  padding-bottom: 16.5rem !important;
}

.u-pl-165 {
  padding-left: 16.5rem !important;
}

.u-pr-165 {
  padding-right: 16.5rem !important;
}

.u-p-170 {
  padding: 17rem !important;
}

.u-pt-170 {
  padding-top: 17rem !important;
}

.u-pb-170 {
  padding-bottom: 17rem !important;
}

.u-pl-170 {
  padding-left: 17rem !important;
}

.u-pr-170 {
  padding-right: 17rem !important;
}

.u-p-175 {
  padding: 17.5rem !important;
}

.u-pt-175 {
  padding-top: 17.5rem !important;
}

.u-pb-175 {
  padding-bottom: 17.5rem !important;
}

.u-pl-175 {
  padding-left: 17.5rem !important;
}

.u-pr-175 {
  padding-right: 17.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-0-sp {
    padding: 0rem !important;
  }
  .u-pt-0-sp {
    padding-top: 0rem !important;
  }
  .u-pb-0-sp {
    padding-bottom: 0rem !important;
  }
  .u-pl-0-sp {
    padding-left: 0rem !important;
  }
  .u-pr-0-sp {
    padding-right: 0rem !important;
  }
  .u-p-5-sp {
    padding: 0.5rem !important;
  }
  .u-pt-5-sp {
    padding-top: 0.5rem !important;
  }
  .u-pb-5-sp {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-5-sp {
    padding-left: 0.5rem !important;
  }
  .u-pr-5-sp {
    padding-right: 0.5rem !important;
  }
  .u-p-10-sp {
    padding: 1rem !important;
  }
  .u-pt-10-sp {
    padding-top: 1rem !important;
  }
  .u-pb-10-sp {
    padding-bottom: 1rem !important;
  }
  .u-pl-10-sp {
    padding-left: 1rem !important;
  }
  .u-pr-10-sp {
    padding-right: 1rem !important;
  }
  .u-p-15-sp {
    padding: 1.5rem !important;
  }
  .u-pt-15-sp {
    padding-top: 1.5rem !important;
  }
  .u-pb-15-sp {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-15-sp {
    padding-left: 1.5rem !important;
  }
  .u-pr-15-sp {
    padding-right: 1.5rem !important;
  }
  .u-p-20-sp {
    padding: 2rem !important;
  }
  .u-pt-20-sp {
    padding-top: 2rem !important;
  }
  .u-pb-20-sp {
    padding-bottom: 2rem !important;
  }
  .u-pl-20-sp {
    padding-left: 2rem !important;
  }
  .u-pr-20-sp {
    padding-right: 2rem !important;
  }
  .u-p-25-sp {
    padding: 2.5rem !important;
  }
  .u-pt-25-sp {
    padding-top: 2.5rem !important;
  }
  .u-pb-25-sp {
    padding-bottom: 2.5rem !important;
  }
  .u-pl-25-sp {
    padding-left: 2.5rem !important;
  }
  .u-pr-25-sp {
    padding-right: 2.5rem !important;
  }
  .u-p-30-sp {
    padding: 3rem !important;
  }
  .u-pt-30-sp {
    padding-top: 3rem !important;
  }
  .u-pb-30-sp {
    padding-bottom: 3rem !important;
  }
  .u-pl-30-sp {
    padding-left: 3rem !important;
  }
  .u-pr-30-sp {
    padding-right: 3rem !important;
  }
  .u-p-35-sp {
    padding: 3.5rem !important;
  }
  .u-pt-35-sp {
    padding-top: 3.5rem !important;
  }
  .u-pb-35-sp {
    padding-bottom: 3.5rem !important;
  }
  .u-pl-35-sp {
    padding-left: 3.5rem !important;
  }
  .u-pr-35-sp {
    padding-right: 3.5rem !important;
  }
  .u-p-40-sp {
    padding: 4rem !important;
  }
  .u-pt-40-sp {
    padding-top: 4rem !important;
  }
  .u-pb-40-sp {
    padding-bottom: 4rem !important;
  }
  .u-pl-40-sp {
    padding-left: 4rem !important;
  }
  .u-pr-40-sp {
    padding-right: 4rem !important;
  }
  .u-p-45-sp {
    padding: 4.5rem !important;
  }
  .u-pt-45-sp {
    padding-top: 4.5rem !important;
  }
  .u-pb-45-sp {
    padding-bottom: 4.5rem !important;
  }
  .u-pl-45-sp {
    padding-left: 4.5rem !important;
  }
  .u-pr-45-sp {
    padding-right: 4.5rem !important;
  }
  .u-p-50-sp {
    padding: 5rem !important;
  }
  .u-pt-50-sp {
    padding-top: 5rem !important;
  }
  .u-pb-50-sp {
    padding-bottom: 5rem !important;
  }
  .u-pl-50-sp {
    padding-left: 5rem !important;
  }
  .u-pr-50-sp {
    padding-right: 5rem !important;
  }
  .u-p-55-sp {
    padding: 5.5rem !important;
  }
  .u-pt-55-sp {
    padding-top: 5.5rem !important;
  }
  .u-pb-55-sp {
    padding-bottom: 5.5rem !important;
  }
  .u-pl-55-sp {
    padding-left: 5.5rem !important;
  }
  .u-pr-55-sp {
    padding-right: 5.5rem !important;
  }
  .u-p-60-sp {
    padding: 6rem !important;
  }
  .u-pt-60-sp {
    padding-top: 6rem !important;
  }
  .u-pb-60-sp {
    padding-bottom: 6rem !important;
  }
  .u-pl-60-sp {
    padding-left: 6rem !important;
  }
  .u-pr-60-sp {
    padding-right: 6rem !important;
  }
  .u-p-65-sp {
    padding: 6.5rem !important;
  }
  .u-pt-65-sp {
    padding-top: 6.5rem !important;
  }
  .u-pb-65-sp {
    padding-bottom: 6.5rem !important;
  }
  .u-pl-65-sp {
    padding-left: 6.5rem !important;
  }
  .u-pr-65-sp {
    padding-right: 6.5rem !important;
  }
  .u-p-70-sp {
    padding: 7rem !important;
  }
  .u-pt-70-sp {
    padding-top: 7rem !important;
  }
  .u-pb-70-sp {
    padding-bottom: 7rem !important;
  }
  .u-pl-70-sp {
    padding-left: 7rem !important;
  }
  .u-pr-70-sp {
    padding-right: 7rem !important;
  }
  .u-p-75-sp {
    padding: 7.5rem !important;
  }
  .u-pt-75-sp {
    padding-top: 7.5rem !important;
  }
  .u-pb-75-sp {
    padding-bottom: 7.5rem !important;
  }
  .u-pl-75-sp {
    padding-left: 7.5rem !important;
  }
  .u-pr-75-sp {
    padding-right: 7.5rem !important;
  }
  .u-p-80-sp {
    padding: 8rem !important;
  }
  .u-pt-80-sp {
    padding-top: 8rem !important;
  }
  .u-pb-80-sp {
    padding-bottom: 8rem !important;
  }
  .u-pl-80-sp {
    padding-left: 8rem !important;
  }
  .u-pr-80-sp {
    padding-right: 8rem !important;
  }
  .u-p-85-sp {
    padding: 8.5rem !important;
  }
  .u-pt-85-sp {
    padding-top: 8.5rem !important;
  }
  .u-pb-85-sp {
    padding-bottom: 8.5rem !important;
  }
  .u-pl-85-sp {
    padding-left: 8.5rem !important;
  }
  .u-pr-85-sp {
    padding-right: 8.5rem !important;
  }
  .u-p-90-sp {
    padding: 9rem !important;
  }
  .u-pt-90-sp {
    padding-top: 9rem !important;
  }
  .u-pb-90-sp {
    padding-bottom: 9rem !important;
  }
  .u-pl-90-sp {
    padding-left: 9rem !important;
  }
  .u-pr-90-sp {
    padding-right: 9rem !important;
  }
  .u-p-95-sp {
    padding: 9.5rem !important;
  }
  .u-pt-95-sp {
    padding-top: 9.5rem !important;
  }
  .u-pb-95-sp {
    padding-bottom: 9.5rem !important;
  }
  .u-pl-95-sp {
    padding-left: 9.5rem !important;
  }
  .u-pr-95-sp {
    padding-right: 9.5rem !important;
  }
  .u-p-100-sp {
    padding: 10rem !important;
  }
  .u-pt-100-sp {
    padding-top: 10rem !important;
  }
  .u-pb-100-sp {
    padding-bottom: 10rem !important;
  }
  .u-pl-100-sp {
    padding-left: 10rem !important;
  }
  .u-pr-100-sp {
    padding-right: 10rem !important;
  }
  .u-p-105-sp {
    padding: 10.5rem !important;
  }
  .u-pt-105-sp {
    padding-top: 10.5rem !important;
  }
  .u-pb-105-sp {
    padding-bottom: 10.5rem !important;
  }
  .u-pl-105-sp {
    padding-left: 10.5rem !important;
  }
  .u-pr-105-sp {
    padding-right: 10.5rem !important;
  }
  .u-p-110-sp {
    padding: 11rem !important;
  }
  .u-pt-110-sp {
    padding-top: 11rem !important;
  }
  .u-pb-110-sp {
    padding-bottom: 11rem !important;
  }
  .u-pl-110-sp {
    padding-left: 11rem !important;
  }
  .u-pr-110-sp {
    padding-right: 11rem !important;
  }
  .u-p-115-sp {
    padding: 11.5rem !important;
  }
  .u-pt-115-sp {
    padding-top: 11.5rem !important;
  }
  .u-pb-115-sp {
    padding-bottom: 11.5rem !important;
  }
  .u-pl-115-sp {
    padding-left: 11.5rem !important;
  }
  .u-pr-115-sp {
    padding-right: 11.5rem !important;
  }
  .u-p-120-sp {
    padding: 12rem !important;
  }
  .u-pt-120-sp {
    padding-top: 12rem !important;
  }
  .u-pb-120-sp {
    padding-bottom: 12rem !important;
  }
  .u-pl-120-sp {
    padding-left: 12rem !important;
  }
  .u-pr-120-sp {
    padding-right: 12rem !important;
  }
  .u-p-125-sp {
    padding: 12.5rem !important;
  }
  .u-pt-125-sp {
    padding-top: 12.5rem !important;
  }
  .u-pb-125-sp {
    padding-bottom: 12.5rem !important;
  }
  .u-pl-125-sp {
    padding-left: 12.5rem !important;
  }
  .u-pr-125-sp {
    padding-right: 12.5rem !important;
  }
  .u-p-130-sp {
    padding: 13rem !important;
  }
  .u-pt-130-sp {
    padding-top: 13rem !important;
  }
  .u-pb-130-sp {
    padding-bottom: 13rem !important;
  }
  .u-pl-130-sp {
    padding-left: 13rem !important;
  }
  .u-pr-130-sp {
    padding-right: 13rem !important;
  }
  .u-p-135-sp {
    padding: 13.5rem !important;
  }
  .u-pt-135-sp {
    padding-top: 13.5rem !important;
  }
  .u-pb-135-sp {
    padding-bottom: 13.5rem !important;
  }
  .u-pl-135-sp {
    padding-left: 13.5rem !important;
  }
  .u-pr-135-sp {
    padding-right: 13.5rem !important;
  }
  .u-p-140-sp {
    padding: 14rem !important;
  }
  .u-pt-140-sp {
    padding-top: 14rem !important;
  }
  .u-pb-140-sp {
    padding-bottom: 14rem !important;
  }
  .u-pl-140-sp {
    padding-left: 14rem !important;
  }
  .u-pr-140-sp {
    padding-right: 14rem !important;
  }
  .u-p-145-sp {
    padding: 14.5rem !important;
  }
  .u-pt-145-sp {
    padding-top: 14.5rem !important;
  }
  .u-pb-145-sp {
    padding-bottom: 14.5rem !important;
  }
  .u-pl-145-sp {
    padding-left: 14.5rem !important;
  }
  .u-pr-145-sp {
    padding-right: 14.5rem !important;
  }
  .u-p-150-sp {
    padding: 15rem !important;
  }
  .u-pt-150-sp {
    padding-top: 15rem !important;
  }
  .u-pb-150-sp {
    padding-bottom: 15rem !important;
  }
  .u-pl-150-sp {
    padding-left: 15rem !important;
  }
  .u-pr-150-sp {
    padding-right: 15rem !important;
  }
  .u-p-155-sp {
    padding: 15.5rem !important;
  }
  .u-pt-155-sp {
    padding-top: 15.5rem !important;
  }
  .u-pb-155-sp {
    padding-bottom: 15.5rem !important;
  }
  .u-pl-155-sp {
    padding-left: 15.5rem !important;
  }
  .u-pr-155-sp {
    padding-right: 15.5rem !important;
  }
  .u-p-160-sp {
    padding: 16rem !important;
  }
  .u-pt-160-sp {
    padding-top: 16rem !important;
  }
  .u-pb-160-sp {
    padding-bottom: 16rem !important;
  }
  .u-pl-160-sp {
    padding-left: 16rem !important;
  }
  .u-pr-160-sp {
    padding-right: 16rem !important;
  }
  .u-p-165-sp {
    padding: 16.5rem !important;
  }
  .u-pt-165-sp {
    padding-top: 16.5rem !important;
  }
  .u-pb-165-sp {
    padding-bottom: 16.5rem !important;
  }
  .u-pl-165-sp {
    padding-left: 16.5rem !important;
  }
  .u-pr-165-sp {
    padding-right: 16.5rem !important;
  }
  .u-p-170-sp {
    padding: 17rem !important;
  }
  .u-pt-170-sp {
    padding-top: 17rem !important;
  }
  .u-pb-170-sp {
    padding-bottom: 17rem !important;
  }
  .u-pl-170-sp {
    padding-left: 17rem !important;
  }
  .u-pr-170-sp {
    padding-right: 17rem !important;
  }
  .u-p-175-sp {
    padding: 17.5rem !important;
  }
  .u-pt-175-sp {
    padding-top: 17.5rem !important;
  }
  .u-pb-175-sp {
    padding-bottom: 17.5rem !important;
  }
  .u-pl-175-sp {
    padding-left: 17.5rem !important;
  }
  .u-pr-175-sp {
    padding-right: 17.5rem !important;
  }
}
.u-textCenter {
  text-align: center !important;
}

.u-textRight {
  text-align: right !important;
}

.u-textLeft {
  text-align: left !important;
}

@media screen and (max-width: 768px) {
  .u-textCenter-sp {
    text-align: center !important;
  }
  .u-textRight-sp {
    text-align: right !important;
  }
  .u-textLeft-sp {
    text-align: left !important;
  }
}
.u-textIndent {
  padding-left: 1em;
  text-indent: -1em;
}

.u-textIndentRest {
  text-indent: 0;
}

.u-visuallyHidden {
  position: absolute !important;
  overflow: hidden;
  width: 0.1rem;
  height: 0.1rem;
  margin: -0.1rem;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}
/*# sourceMappingURL=style.css.map */

/* LP */
.mainvisual__title_400 {
  font-family: var(--mainvisual-title-font);
  font-size: var(--mainvisual-title-font-size);
  font-weight: var(--mainvisual-title-font-weight, var(--font-weight-bold));
  line-height: var(--mainvisual-title-line-height);
  opacity: 0;
  animation: animation-slide-down 600ms ease-out 500ms forwards;
}

@media screen and (max-width: 700px) {
.mainvisual__title_400 {
    font-size: 30px !important;
    line-height: 1;
	text-align: center;
}

.mainvisual__title_400 br {
  display: block;
}
	
.u-color-primary {
    display: block;
    line-height: 2;
    font-size: 30px;
}
    .mainvisual__label {
        font-size: 16px !important;
        margin: -15px auto 0;
    }
	
    .mainvisual {
        height: 53rem;
    }

 
}
/* PC・スマホ共通：エージェント画面の横幅を縮める */
#da-launcher iframe {
  max-width: 360px !important; /* ←お好みで調整（通常は360～380px） */
  width: 90vw !important;      /* 画面幅の90%を最大に */
  right: 16px !important;
  bottom: 96px !important;     /* CTAと重ならないように */
  z-index: 99999 !important;
}