@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;
    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%;
  }
}

.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;
  }
}

.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: white;
  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;
    }

 
}