@charset "UTF-8";
/*--------------------------------------*
 * foundation
 *--------------------------------------*/
/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
  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 */
  -webkit-box-sizing: inherit;
  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 */
}

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 */
  color: inherit;
  text-decoration: none;
}

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

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

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

[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;
  color: inherit;
}

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

/* Style select like a standard input */
select {
  outline: none;
  background-color: #fff;
  border: #707070 solid 1px;
  border-radius: 3px;
  display: inline-block;
  padding: 0.2em 0.5em;
  width: 100%;
}

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

/* # =================================================================
	 # 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
	 # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* 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] {
  cursor: default;
}

/*original*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: inherit;
  border-collapse: collapse;
}

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

html {
  overflow-x: hidden !important;
}

html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: visible;
  scroll-behavior: smooth;
  scroll-padding-top: 30.7692307692vw;
}
@media (min-width: 768px) {
  html,
  body {
    scroll-padding-top: min(165px, 13.0952380952vw);
  }
}

body {
  font-size: min(18px, 1.4285714286vw);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #1A1A1A;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-wrap: break-word;
  background-color: #E3E8F2;
}
@media (max-width: 767.98px) {
  body {
    font-size: 4.1025641026vw;
  }
}

p {
  line-height: 1.2;
}

h2 {
  margin: 0;
}

li {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  pointer-events: none;
}

em {
  font-style: initial;
}

address {
  font-style: normal;
}

strong {
  font-weight: bold;
}

sup {
  font-size: 0.7em;
}

span svg {
  vertical-align: middle;
  line-height: 1;
  height: auto;
}

@media (min-width: 768px) {
  a {
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
}
input:focus-visible {
  outline-color: #7F7F7F;
}

/*--------------------------------------*
 * library
 *--------------------------------------*/
.splide__container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  -webkit-transform: translate(-50%);
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/*--------------------------------------*
 * component
 *--------------------------------------*/
.c-button {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-button__link {
  width: 76.9230769231vw;
  padding: 4.1025641026vw 12.8205128205vw;
  display: block;
  position: relative;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  background-color: #0A2D88;
  border-radius: 4em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .c-button__link {
    width: min(400px, 31.746031746vw);
    padding: min(16px, 1.2698412698vw) min(60px, 4.7619047619vw);
    font-size: min(20px, 1.5873015873vw);
  }
  .c-button__link:hover {
    background-color: #235FFB;
  }
}
.c-button__link::before {
  content: "";
  margin-top: auto;
  margin-bottom: auto;
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/common/arrow_white_right.svg);
  mask-image: url(../images/common/arrow_white_right.svg);
  background-color: #fff;
}
@media (min-width: 768px) {
  .c-button__link::before {
    width: min(10px, 0.7936507937vw);
    height: min(17px, 1.3492063492vw);
  }
}
.c-button__link:not(.is-back)::before {
  right: 6.1538461538vw;
}
@media (min-width: 768px) {
  .c-button__link:not(.is-back)::before {
    right: min(30px, 2.380952381vw);
  }
}
.c-button__link.is-back::before {
  left: 6.1538461538vw;
  -webkit-mask-image: url(../images/common/arrow_white_left.svg);
  mask-image: url(../images/common/arrow_white_left.svg);
}
@media (min-width: 768px) {
  .c-button__link.is-back::before {
    left: min(30px, 2.380952381vw);
  }
}
.c-button__link.is-mail, .c-button__link.is-schedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3.5897435897vw;
}
@media (min-width: 768px) {
  .c-button__link.is-mail, .c-button__link.is-schedule {
    gap: min(14px, 1.1111111111vw);
  }
}
.c-button__link.is-mail::before, .c-button__link.is-schedule::before {
  position: relative;
  left: 0;
  right: 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.c-button__link.is-mail::before {
  -webkit-mask-image: url(../images/common/icon_mail.svg);
  mask-image: url(../images/common/icon_mail.svg);
}
@media (min-width: 768px) {
  .c-button__link.is-mail::before {
    width: min(20px, 1.5873015873vw);
    height: min(16px, 1.2698412698vw);
  }
}
.c-button__link.is-schedule {
  color: #0A2D88;
  background-color: #fff;
  border: 2px solid #0A2D88;
}
.c-button__link.is-schedule::before {
  background-color: #0A2D88;
  -webkit-mask-image: url(../images/common/icon_schedule.svg);
  mask-image: url(../images/common/icon_schedule.svg);
}
@media (min-width: 768px) {
  .c-button__link.is-schedule::before {
    width: min(20px, 1.5873015873vw);
    height: min(16.25px, 1.2896825397vw);
  }
}
@media (min-width: 768px) {
  .c-button__link.is-schedule:hover {
    color: #235FFB;
    border-color: #235FFB;
  }
  .c-button__link.is-schedule:hover::before {
    background-color: #235FFB;
  }
}
.c-button__text {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5384615385vw;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-weight: 700;
  line-height: 1;
  font-size: 4.1025641026vw;
  letter-spacing: 0.05em;
  color: #0A2D88;
}
@media (min-width: 768px) {
  .c-button__text {
    margin-bottom: min(2px, 0.1587301587vw);
    font-size: min(16px, 1.2698412698vw);
    line-height: 1.8;
  }
}

.c-text {
  line-height: 1.8;
}
@media (min-width: 768px) {
  .c-text {
    font-size: min(16px, 1.2698412698vw);
  }
}
.c-text strong {
  color: #0A2D88;
}
.c-text a {
  color: #0A2D88;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .c-text a {
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .c-text a:hover {
    opacity: 0.6;
  }
}
.c-text a[target=_blank] {
  position: relative;
}
.c-text a[target=_blank]::after {
  content: "";
  margin: 0 0.2em;
  width: 1em;
  height: 1em;
  display: inline-block;
  translate: 0 0.1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../images/common/icon_blank.svg);
}
@media (min-width: 768px) {
  .c-text .c-text__small {
    font-size: min(14px, 1.1111111111vw);
  }
}

.c-title-line {
  width: 100%;
  padding-bottom: 3.0769230769vw;
  display: block;
  line-height: 1.6;
  font-size: 5.1282051282vw;
  font-weight: 700;
  border-bottom: 0.5128205128vw solid #0A2D88;
}
@media (min-width: 768px) {
  .c-title-line {
    padding-bottom: min(12px, 0.9523809524vw);
    font-size: min(26px, 2.0634920635vw);
    border-bottom: min(2px, 0.1587301587vw) solid #0A2D88;
  }
}

.c-title-circle {
  width: 100%;
  padding-left: 6.8871794872vw;
  display: block;
  line-height: 1.6;
  font-weight: 700;
  position: relative;
  font-size: 4.6153846154vw;
}
@media (min-width: 768px) {
  .c-title-circle {
    padding-left: min(30px, 2.380952381vw);
    font-size: min(22px, 1.746031746vw);
  }
}
.c-title-circle::before {
  content: "";
  width: 4.8358974359vw;
  height: 3.5923076923vw;
  display: block;
  position: absolute;
  top: 2.0512820513vw;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  background-image: url(../images/common/circle_blue.svg);
}
@media (min-width: 768px) {
  .c-title-circle::before {
    width: min(22px, 1.746031746vw);
    height: min(16.33px, 1.296031746vw);
    top: min(10px, 0.7936507937vw);
  }
}

.c-wrap-inner {
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
}
@media (min-width: 768px) {
  .c-wrap-inner {
    width: min(1200px, 95.2380952381vw);
  }
}

.c-form {
  width: 100%;
}
.c-form__box {
  width: 100%;
}
.c-form__box + .c-form__box {
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .c-form__box + .c-form__box {
    margin-top: min(40px, 3.1746031746vw);
  }
}
.c-form__text {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.02em;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .c-form__text {
    font-size: min(16px, 1.2698412698vw);
  }
}
.c-form__text--required {
  margin-left: 0.5em;
  font-weight: 400;
  line-height: 1;
  color: #FF2C2C;
  font-size: 3.5897435897vw;
}
@media (min-width: 768px) {
  .c-form__text--required {
    font-size: min(14px, 1.1111111111vw);
  }
}
.c-form__input--text {
  margin-top: 2.0512820513vw;
  width: 100%;
}
@media (min-width: 768px) {
  .c-form__input--text {
    margin-top: min(7px, 0.5555555556vw);
  }
}
.c-form__input--text input {
  width: 100%;
  padding: 3.7179487179vw 4.1025641026vw;
  font-size: 4.1025641026vw;
  line-height: 1.7;
  letter-spacing: 0.02em;
  background-color: #fff;
  border: 1px solid #F5F5F5;
  border-radius: 2.0512820513vw;
}
@media (min-width: 768px) {
  .c-form__input--text input {
    padding: min(14px, 1.1111111111vw) min(16px, 1.2698412698vw);
    font-size: min(16px, 1.2698412698vw);
    border-radius: min(8px, 0.6349206349vw);
  }
}
.c-form__input--radio {
  margin-top: 2.0512820513vw;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .c-form__input--radio {
    margin-top: min(15px, 1.1904761905vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(20px, 1.5873015873vw);
  }
}
.c-form__radio {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.0512820513vw;
}
@media (min-width: 768px) {
  .c-form__radio {
    gap: min(6.5px, 0.5158730159vw);
  }
}
.c-form__radio input {
  display: none;
}
.c-form__label {
  padding-left: 6.5384615385vw;
  position: relative;
  cursor: pointer;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .c-form__label {
    padding-left: min(25.5px, 2.0238095238vw);
    font-size: min(16px, 1.2698412698vw);
  }
}
.c-form__label::before, .c-form__label::after {
  content: "";
  margin: auto;
  width: 4.8717948718vw;
  height: 4.8717948718vw;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .c-form__label::before, .c-form__label::after {
    width: min(19px, 1.5079365079vw);
    height: min(19px, 1.5079365079vw);
  }
}
.c-form__label::before {
  background-color: #fff;
  border: 1px solid #D1D7E2;
}
.c-form__label::after {
  scale: 0;
  background-color: #0A2D88;
}
input:checked + .c-form__label::before {
  border-color: #0A2D88;
}
input:checked + .c-form__label::after {
  scale: 0.5;
}
.c-form__input--textarea {
  margin-top: 2.0512820513vw;
  width: 100%;
}
@media (min-width: 768px) {
  .c-form__input--textarea {
    margin-top: min(8px, 0.6349206349vw);
  }
}
.c-form__input--textarea textarea {
  width: 100%;
  min-height: 46.1538461538vw;
  padding: 3.0769230769vw 4.1025641026vw;
  font-size: 4.1025641026vw;
  background-color: #fff;
  border: 1px solid #F5F5F5;
  border-radius: 2.0512820513vw;
}
@media (min-width: 768px) {
  .c-form__input--textarea textarea {
    min-height: min(140px, 11.1111111111vw);
    padding: min(14.5px, 1.1507936508vw) min(16px, 1.2698412698vw);
    font-size: min(16px, 1.2698412698vw);
    border-radius: min(8px, 0.6349206349vw);
  }
}
.c-form__policy {
  margin-top: 17.9487179487vw;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5641025641vw;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .c-form__policy {
    margin-top: min(82px, 6.5079365079vw);
    gap: min(10px, 0.7936507937vw);
  }
}

.c-bread {
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
}
@media (min-width: 768px) {
  .c-bread {
    width: min(1200px, 95.2380952381vw);
  }
}
.c-bread__list {
  width: 100%;
  padding: 2.0512820513vw 5.1282051282vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5641025641vw;
  background-color: #fff;
  border-radius: 1.0256410256vw;
}
@media (min-width: 768px) {
  .c-bread__list {
    padding: min(8px, 0.6349206349vw) min(24px, 1.9047619048vw);
    gap: min(10px, 0.7936507937vw);
    border-radius: min(12px, 0.9523809524vw);
  }
}
.c-bread__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5641025641vw;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .c-bread__item {
    gap: min(10px, 0.7936507937vw);
    font-size: min(14px, 1.1111111111vw);
  }
}
.c-bread__item:not(:last-child)::after {
  content: "";
  width: 1.5384615385vw;
  height: 1.5384615385vw;
  display: block;
  border-top: 1px solid #0A2D88;
  border-right: 1px solid #0A2D88;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (min-width: 768px) {
  .c-bread__item:not(:last-child)::after {
    width: min(6px, 0.4761904762vw);
    height: min(6px, 0.4761904762vw);
  }
}
.c-bread__item:not(:last-child) a {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-bread__item:last-child {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
}
.c-bread__link {
  color: #818181;
}
@media (min-width: 768px) {
  .c-bread__link {
    -webkit-transition: color 0.3s ease-out;
    transition: color 0.3s ease-out;
  }
  .c-bread__link:hover {
    color: #1A1A1A;
  }
}
.c-bread__text {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-hero {
  width: 100%;
  background-repeat: no-repeat;
  background-image: url(../images/common/circle_dark.svg);
  background-color: #E3E8F2;
  background-size: 107.8615384615vw;
  background-position: 21.7948717949vw -12.5641025641vw;
}
@media (min-width: 768px) {
  .c-hero {
    padding-top: min(100px, 7.9365079365vw);
    background-size: min(1113px, 88.3333333333vw);
    background-position: left calc(50% + min(480px, 38.0952380952vw)) top max(-397px, -31.5079365079vw);
  }
}
.c-hero__inner {
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
}
@media (min-width: 768px) {
  .c-hero__inner {
    width: min(1200px, 95.2380952381vw);
  }
}
.c-hero__inner {
  width: 89.7435897436vw;
  padding-top: 28.2051282051vw;
  padding-bottom: 24.6153846154vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.2564102564vw;
}
@media (min-width: 768px) {
  .c-hero__inner {
    max-width: 1200px;
    padding-top: min(48px, 3.8095238095vw);
    padding-bottom: min(86px, 6.8253968254vw);
    gap: min(1px, 0.0793650794vw);
  }
}
.c-hero__title {
  line-height: 1.4;
  font-weight: 700;
  font-size: 7.6923076923vw;
}
@media (min-width: 768px) {
  .c-hero__title {
    line-height: 1.6;
    font-size: min(44px, 3.4920634921vw);
  }
}
.c-hero__deco {
  margin-top: 2.0512820513vw;
  line-height: 0;
}
@media (min-width: 768px) {
  .c-hero__deco {
    margin-top: min(4px, 0.3174603175vw);
  }
}

.c-panel {
  width: 100%;
  padding-bottom: 37.1794871795vw;
  position: relative;
  z-index: 2;
  background-color: #F5F5F5;
}
@media (min-width: 768px) {
  .c-panel {
    margin-top: min(90px, 7.1428571429vw);
    padding-bottom: min(150px, 11.9047619048vw);
    background-size: min(1020px, 80.9523809524vw);
    background-position: left calc(50% - min(510px, 40.4761904762vw)) top min(232px, 18.4126984127vw), right calc(50% - min(510px, 40.4761904762vw)) top min(1100px, 87.3015873016vw);
    background-repeat: no-repeat;
    background-image: url(../images/common/circle_light-reverse.svg), url(../images/common/circle_light.svg);
  }
}
.c-panel::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 12.8205128205vw;
  position: absolute;
  top: -12.8205128205vw;
  left: 0;
  right: 0;
  background-color: #F5F5F5;
  z-index: -2;
  border-radius: 12.8205128205vw 12.8205128205vw 0 0;
}
@media (min-width: 768px) {
  .c-panel::before {
    height: min(90px, 7.1428571429vw);
    top: max(-90px, -7.1428571429vw);
    border-radius: min(80px, 6.3492063492vw) min(80px, 6.3492063492vw) 0 0;
  }
}

.c-pager {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4.1025641026vw;
}
@media (min-width: 768px) {
  .c-pager {
    gap: min(16px, 1.2698412698vw);
  }
}
.c-pager__list {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-pager__item {
  width: 11.0256410256vw;
  height: 7.9487179487vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1;
  letter-spacing: 0.04em;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .c-pager__item {
    width: min(43px, 3.4126984127vw);
    height: min(50px, 3.9682539683vw);
    font-size: min(16px, 1.2698412698vw);
  }
}
.c-pager__item a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(../images/common/circle_dark.svg);
  mask-image: url(../images/common/circle_dark.svg);
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color 0.3s ease-out;
  transition: background-color 0.3s ease-out;
}
@media (min-width: 768px) {
  .c-pager__item a:hover {
    background-color: white;
  }
}
.c-pager__arrow {
  width: 2.3564102564vw;
  height: 4.1692307692vw;
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(../images/common/arrow_black.svg);
  mask-image: url(../images/common/arrow_black.svg);
  background-color: #1A1A1A;
}
@media (min-width: 768px) {
  .c-pager__arrow {
    width: min(9.19px, 0.7293650794vw);
    height: min(16.26px, 1.2904761905vw);
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .c-pager__arrow:hover {
    opacity: 0.5;
  }
}
.c-pager__arrow.is-prev {
  scale: -1 1;
}

/*--------------------------------------*
 * layout
 *--------------------------------------*/
.l-header {
  margin-left: auto;
  margin-right: auto;
  width: 94.8717948718vw;
  height: 12.8205128205vw;
  padding: 2.5641025641vw 4.1025641026vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.1025641026vw;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: 2.8205128205vw;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #fff;
  border-radius: 2.0512820513vw;
  -webkit-box-shadow: 0 0 2.5641025641vw rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 2.5641025641vw rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  .l-header {
    width: min(1200px, 95.2380952381vw);
    padding: min(10px, 0.7936507937vw) min(40px, 3.1746031746vw);
    height: min(70px, 5.5555555556vw);
    gap: min(40px, 3.1746031746vw);
    top: min(30px, 2.380952381vw);
    border-radius: min(12px, 0.9523809524vw);
    -webkit-box-shadow: 0 0 min(10px, 0.7936507937vw) rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 min(10px, 0.7936507937vw) rgba(0, 0, 0, 0.2);
  }
}
.l-header__logo {
  margin-right: auto;
  width: 25.1282051282vw;
}
@media (min-width: 768px) {
  .l-header__logo {
    width: min(208px, 16.5079365079vw);
  }
}
@media (max-width: 767.98px) {
  .l-header__box {
    margin: auto;
    width: 100vw;
    height: 100vh;
    padding: 4.1025641026vw;
    overflow: hidden;
    position: fixed;
    inset: 0;
    z-index: -1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10.2564102564vw;
    background-color: #E3E8F2;
    backdrop-filter: blur(1.0256410256vw);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-header__box::before {
    content: "";
    margin: auto;
    width: 94.8717948718vw;
    height: calc(100vh - 5.1282051282vw);
    display: block;
    position: fixed;
    inset: 0;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: right 5.8vw top 44.8564102564vw;
    background-size: 137.6256410256vw;
    background-image: url(../images/common/circle_light.svg);
    background-color: #fff;
    border-radius: 2.0512820513vw;
  }
  .is-menu-open .l-header__box {
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .l-header__box {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}
@media (max-width: 767.98px) {
  .l-header__list {
    width: 76.9230769231vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.5897435897vw;
  }
}
@media (min-width: 768px) {
  .l-header__list {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    gap: min(20px, 1.5873015873vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.l-header__link {
  font-weight: 700;
  line-height: 2;
  font-size: 5.641025641vw;
}
@media (min-width: 768px) {
  .l-header__link {
    font-weight: 600;
    line-height: 1.6;
    font-size: min(14px, 1.1111111111vw);
    letter-spacing: 0.05em;
    -webkit-transition: color 0.3s ease-out;
    transition: color 0.3s ease-out;
  }
  .l-header__link:hover {
    color: #235FFB;
  }
}
.l-header__button-list {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .l-header__button-list {
    gap: min(6px, 0.4761904762vw);
  }
}
.l-header__button {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 1.5384615385vw 3.5897435897vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.0256410256vw;
  font-size: 2.5641025641vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  border-radius: 7.6923076923vw;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .l-header__button {
    height: min(44px, 3.4920634921vw);
    padding: min(12px, 0.9523809524vw) min(20px, 1.5873015873vw);
    gap: min(10px, 0.7936507937vw);
    font-size: min(14px, 1.1111111111vw);
    border-radius: min(30px, 2.380952381vw);
  }
}
.l-header__button.is-schedule {
  color: #0A2D88;
  border: 1px solid #0A2D88;
  background-color: #fff;
}
.l-header__button.is-schedule::before {
  width: 5.1282051282vw;
  height: 4.1666666667vw;
  -webkit-mask-image: url(../images/common/icon_schedule.svg);
  mask-image: url(../images/common/icon_schedule.svg);
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .l-header__button.is-schedule::before {
    width: min(16px, 1.2698412698vw);
    height: min(13px, 1.0317460317vw);
  }
}
@media (max-width: 767.98px) {
  .l-header__button-list .l-header__button.is-schedule::before {
    width: 3.3333333333vw;
    height: 2.5641025641vw;
  }
}
@media (min-width: 768px) {
  .l-header__button.is-schedule:hover {
    color: #235FFB;
    border-color: #235FFB;
  }
  .l-header__button.is-schedule:hover::before {
    background-color: #235FFB;
  }
}
.l-header__button.is-contact {
  color: #fff;
  background-color: #0A2D88;
}
.l-header__button.is-contact::before {
  width: 5.1282051282vw;
  height: 4.1025641026vw;
  -webkit-mask-image: url(../images/common/icon_mail.svg);
  mask-image: url(../images/common/icon_mail.svg);
  background-color: #fff;
}
@media (min-width: 768px) {
  .l-header__button.is-contact::before {
    width: min(16px, 1.2698412698vw);
    height: min(13px, 1.0317460317vw);
  }
}
@media (max-width: 767.98px) {
  .l-header__button-list .l-header__button.is-contact::before {
    width: 3.3333333333vw;
    height: 2.5641025641vw;
  }
}
@media (min-width: 768px) {
  .l-header__button.is-contact:hover {
    background-color: #235FFB;
  }
}
.l-header__button::before {
  content: "";
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.l-header__hamburger {
  width: 6.1538461538vw;
  height: 2.8205128205vw;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  border-top: 1px solid #1A1A1A;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}
@media (min-width: 768px) {
  .l-header__hamburger {
    display: none;
  }
}
.l-header__hamburger::before, .l-header__hamburger::after {
  content: "";
  margin: auto;
  height: 1px;
  display: block;
  position: absolute;
  right: 0;
  background-color: #1A1A1A;
  -webkit-transition: rotate 0.3s ease-out;
  transition: rotate 0.3s ease-out;
}
.l-header__hamburger::before {
  width: 100%;
  inset: 0;
}
.l-header__hamburger::after {
  width: 3.5897435897vw;
  bottom: 0;
}
.is-menu-open .l-header__hamburger {
  border-top: 0px solid transparent;
}
.is-menu-open .l-header__hamburger::before {
  rotate: -30deg;
}
.is-menu-open .l-header__hamburger::after {
  width: 100%;
  top: 0;
  rotate: 30deg;
}
.l-header__button-text {
  margin-top: 4.1025641026vw;
  margin-bottom: 1.0256410256vw;
  text-align: center;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 1.8;
  color: #0A2D88;
}
.l-header__policy {
  margin-top: 10.2564102564vw;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: block;
  font-size: 3.5897435897vw;
}

@media (min-width: 768px) {
  .l-header-sp {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .l-header-sp {
    width: 76.9230769231vw;
  }
  .l-header-sp .l-header__button {
    width: 76.9230769231vw;
    height: 15.3846153846vw;
    font-size: 4.6153846154vw;
    gap: 3.5897435897vw;
    border-radius: 7.6923076923vw;
  }
  .l-header-sp .l-header__button::before {
    width: 4.6153846154vw;
    height: 3.5897435897vw;
  }
}

.l-footer {
  margin-top: 21.0256410256vw;
  width: 100%;
  padding-bottom: 12.8205128205vw;
}
@media (min-width: 768px) {
  .l-footer {
    margin-top: min(94px, 7.4603174603vw);
    padding-bottom: min(60px, 4.7619047619vw);
  }
}
.l-footer:has(.c-bread) {
  margin-top: 7.1794871795vw;
}
@media (min-width: 768px) {
  .l-footer:has(.c-bread) {
    margin-top: min(40px, 3.1746031746vw);
  }
}
.l-footer__inner {
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
}
@media (min-width: 768px) {
  .l-footer__inner {
    width: min(1200px, 95.2380952381vw);
  }
}
.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media (min-width: 768px) {
  .l-footer__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(40px, 3.1746031746vw);
  }
}
.c-bread + .l-footer__inner {
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .c-bread + .l-footer__inner {
    margin-top: min(60px, 4.7619047619vw);
  }
}
@media (max-width: 767.98px) {
  .l-footer__logo {
    margin-left: auto;
    margin-right: auto;
    width: 67.4794871795vw;
  }
}
@media (min-width: 768px) {
  .l-footer__logo {
    margin-right: auto;
    width: min(329.46px, 26.1476190476vw);
  }
}
.l-footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.1538461538vw;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (max-width: 767.98px) {
  .l-footer__list {
    margin-top: 10.2564102564vw;
  }
}
@media (min-width: 768px) {
  .l-footer__list {
    gap: min(30px, 2.380952381vw);
  }
}
.l-footer__item {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.l-footer__link {
  line-height: 2;
  font-weight: 700;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .l-footer__link {
    font-size: min(16px, 1.2698412698vw);
    -webkit-transition: color 0.3s ease-out;
    transition: color 0.3s ease-out;
  }
  .l-footer__link:hover {
    color: #235FFB;
  }
}
.l-footer__button-list {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5641025641vw;
}
@media (max-width: 767.98px) {
  .l-footer__button-list {
    margin-top: 5.1282051282vw;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .l-footer__button-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(6px, 0.4761904762vw);
  }
}
.l-footer__button {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 2.8205128205vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5641025641vw;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 700;
  line-height: 1.6;
  font-size: 3.5897435897vw;
  letter-spacing: 0.05em;
  color: #fff;
  border-radius: 5.641025641vw;
  background-color: #0A2D88;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (max-width: 767.98px) {
  .l-footer__button {
    width: 51.2820512821vw;
  }
}
@media (min-width: 768px) {
  .l-footer__button {
    padding: min(11px, 0.873015873vw) min(20px, 1.5873015873vw);
    gap: min(10px, 0.7936507937vw);
    font-size: min(14px, 1.1111111111vw);
    border-radius: min(30px, 2.380952381vw);
  }
  .l-footer__button:hover {
    background-color: #235FFB;
  }
}
.l-footer__button.is-schedule {
  color: #0A2D88;
  background-color: #fff;
  border: 1px solid #0A2D88;
}
.l-footer__button.is-schedule::before {
  -webkit-mask-image: url(../images/common/icon_schedule.svg);
  mask-image: url(../images/common/icon_schedule.svg);
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .l-footer__button.is-schedule::before {
    width: min(16px, 1.2698412698vw);
    height: min(13px, 1.0317460317vw);
  }
}
@media (min-width: 768px) {
  .l-footer__button.is-schedule:hover {
    color: #235FFB;
    background-color: #fff;
    border-color: #235FFB;
  }
  .l-footer__button.is-schedule:hover::before {
    background-color: #235FFB;
  }
}
.l-footer__button::before {
  content: "";
  width: 4.1025641026vw;
  height: 3.3333333333vw;
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: url(../images/common/icon_mail.svg);
  mask-image: url(../images/common/icon_mail.svg);
  background-color: #fff;
}
@media (min-width: 768px) {
  .l-footer__button::before {
    width: min(16px, 1.2698412698vw);
    height: min(13px, 1.0317460317vw);
  }
}
.l-footer__column {
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
}
@media (min-width: 768px) {
  .l-footer__column {
    width: min(1200px, 95.2380952381vw);
  }
}
.l-footer__column {
  margin-top: 5.1282051282vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12.8205128205vw;
}
@media (min-width: 768px) {
  .l-footer__column {
    margin-top: min(40px, 3.1746031746vw);
    gap: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.l-footer__copyright {
  width: 54.2230769231vw;
}
@media (min-width: 768px) {
  .l-footer__copyright {
    width: min(211px, 16.746031746vw);
  }
}
.l-footer__column-link {
  font-size: 3.0769230769vw;
  line-height: 2;
}
@media (min-width: 768px) {
  .l-footer__column-link {
    font-size: min(12px, 0.9523809524vw);
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .l-footer__column-link:hover {
    opacity: 0.5;
  }
}

.l-contact {
  margin-top: -12.8205128205vw;
  width: 100%;
  padding-top: 24.7179487179vw;
  padding-bottom: 17.9487179487vw;
  position: relative;
  z-index: 3;
  color: #fff;
  background-repeat: no-repeat;
  background-color: #0A2D88;
  background-position: left -13.9384615385vw top -7.3282051282vw;
  background-size: 137.6256410256vw;
  background-image: url(../images/common/circle_contact.svg);
  border-radius: 12.8205128205vw;
}
@media (min-width: 768px) {
  .l-contact {
    margin-top: max(-80px, -6.3492063492vw);
    padding-top: min(130px, 10.3174603175vw);
    padding-bottom: min(100px, 7.9365079365vw);
    background-position: center;
    background-size: min(782.82px, 62.1285714286vw);
    border-radius: min(80px, 6.3492063492vw);
  }
}
.l-contact::before, .l-contact::after {
  content: "";
  width: 0.2564102564vw;
  height: 7.6923076923vw;
  margin: auto;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .l-contact::before, .l-contact::after {
    width: min(1px, 0.0793650794vw);
    height: min(50px, 3.9682539683vw);
  }
}
.l-contact::before {
  top: -7.6923076923vw;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .l-contact::before {
    top: max(-50px, -3.9682539683vw);
  }
}
.l-contact::after {
  top: 0;
  background-color: #fff;
}
.l-contact__title {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-align: center;
}
.l-contact__title-img {
  width: 63.4794871795vw;
}
@media (min-width: 768px) {
  .l-contact__title-img {
    width: min(297.08px, 23.5777777778vw);
  }
}
.l-contact__title-text {
  margin-top: 4.4615384615vw;
  font-size: 5.1282051282vw;
  line-height: 1.6;
  font-weight: bold;
}
@media (min-width: 768px) {
  .l-contact__title-text {
    margin-top: min(19.28px, 1.5301587302vw);
    font-size: min(20px, 1.5873015873vw);
  }
}
.l-contact__description {
  margin-top: 6.6666666667vw;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  font-size: 4.1025641026vw;
  text-align: center;
  line-height: 1.8;
  font-weight: 400;
}
@media (min-width: 768px) {
  .l-contact__description {
    margin-top: min(32px, 2.5396825397vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.l-contact__button-list {
  margin-top: 31.0256410256vw;
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.8461538462vw;
}
@media (min-width: 768px) {
  .l-contact__button-list {
    margin-top: min(28px, 2.2222222222vw);
    width: min(1020px, 80.9523809524vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(20px, 1.5873015873vw);
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
@media (max-width: 767.98px) {
  .l-contact__button-list::before {
    content: "";
    margin: auto;
    width: 29.4871794872vw;
    height: 27.9487179487vw;
    display: block;
    position: absolute;
    left: 0vw;
    right: 0vw;
    top: -27.9487179487vw;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    background-image: url(../images/common/contact_img.png);
  }
}
.l-contact__button {
  width: 100%;
}
.l-contact__link {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 25.641025641vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: #1A1A1A;
  font-size: 6.1538461538vw;
  position: relative;
  background-color: #fff;
  border-radius: 12.8205128205vw;
  border: 1px solid #1A1A1A;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .l-contact__link {
    height: min(100px, 7.9365079365vw);
    font-size: min(24px, 1.9047619048vw);
    border-radius: min(50px, 3.9682539683vw);
  }
  .l-contact__link.is-mail {
    width: min(600px, 47.619047619vw);
  }
  .l-contact__link.is-mail::before {
    content: "";
    margin: auto;
    width: min(176px, 13.9682539683vw);
    height: min(166px, 13.1746031746vw);
    display: block;
    position: absolute;
    right: max(-6px, -0.4761904762vw);
    bottom: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    background-image: url(../images/common/contact_img.png);
  }
  .l-contact__link.is-schedule {
    width: min(400px, 31.746031746vw);
  }
  .l-contact__link:hover {
    color: #235FFB;
  }
  .l-contact__link:hover span::before {
    background-color: #235FFB;
  }
}
.l-contact__link.is-mail span::before {
  width: 5.1282051282vw;
  height: 4.1025641026vw;
  translate: 0 0.5128205128vw;
  -webkit-mask-image: url(../images/common/icon_mail.svg);
  mask-image: url(../images/common/icon_mail.svg);
}
@media (min-width: 768px) {
  .l-contact__link.is-mail span::before {
    width: min(20px, 1.5873015873vw);
    height: min(16px, 1.2698412698vw);
    translate: 0 min(2px, 0.1587301587vw);
  }
}
.l-contact__link.is-schedule span::before {
  width: 5.1282051282vw;
  height: 4.1666666667vw;
  translate: 0 0.5128205128vw;
  -webkit-mask-image: url(../images/common/icon_schedule.svg);
  mask-image: url(../images/common/icon_schedule.svg);
}
@media (min-width: 768px) {
  .l-contact__link.is-schedule span::before {
    width: min(20px, 1.5873015873vw);
    height: min(16px, 1.2698412698vw);
    translate: 0 min(2px, 0.1587301587vw);
  }
}
.l-contact__link span {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5.1282051282vw;
  font-size: 6.1538461538vw;
}
@media (min-width: 768px) {
  .l-contact__link span {
    gap: min(20px, 1.5873015873vw);
    font-size: min(24px, 1.9047619048vw);
  }
}
.l-contact__link span::before {
  content: "";
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #1A1A1A;
}
.l-contact__button-text {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5384615385vw;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-weight: 700;
  line-height: 1.8;
  font-size: 4.1025641026vw;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (min-width: 768px) {
  .l-contact__button-text {
    margin-bottom: min(9px, 0.7142857143vw);
    font-size: min(16px, 1.2698412698vw);
  }
}

.l-section {
  margin-top: 20.5128205128vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .l-section {
    margin-top: min(80px, 6.3492063492vw);
  }
}
.l-section > .c-text {
  margin-top: 7.6923076923vw;
}
@media (min-width: 768px) {
  .l-section > .c-text {
    margin-top: min(35px, 2.7777777778vw);
  }
}
.l-section > *:not(.c-title-line) + .c-text {
  margin-top: 5.1282051282vw;
}
@media (min-width: 768px) {
  .l-section > *:not(.c-title-line) + .c-text {
    margin-top: min(20px, 1.5873015873vw);
  }
}
.l-section > .c-title-circle {
  margin-top: 7.6923076923vw;
}
@media (min-width: 768px) {
  .l-section > .c-title-circle {
    margin-top: min(35px, 2.7777777778vw);
  }
}
.l-section__img {
  margin-top: 10.2564102564vw;
  width: 100%;
}
@media (min-width: 768px) {
  .l-section__img {
    margin-top: min(50px, 3.9682539683vw);
  }
}
.l-section__column {
  margin-top: 10.2564102564vw;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .l-section__column {
    margin-top: min(50px, 3.9682539683vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(40px, 3.1746031746vw);
  }
}

/*--------------------------------------*
 * project
 *--------------------------------------*/
.p-top {
  background-color: #F5F5F5;
}
.p-top__title-box {
  text-align: center;
}
.p-top__title {
  line-height: 1.6;
  font-weight: 700;
  font-size: 7.1794871795vw;
}
@media (min-width: 768px) {
  .p-top__title {
    font-size: min(44px, 3.4920634921vw);
  }
}
.p-top__title strong {
  color: #0A2D88;
  font-weight: inherit;
}
.p-top__title-deco {
  margin-top: 0.2564102564vw;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (min-width: 768px) {
  .p-top__title-deco {
    margin-top: max(-6px, -0.4761904762vw);
  }
}
.p-top__description {
  margin-top: 7.1794871795vw;
  font-size: 4.1025641026vw;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .p-top__description {
    margin-top: min(38px, 3.0158730159vw);
    font-size: min(20px, 1.5873015873vw);
  }
}
.p-top__description strong {
  font-weight: inherit;
  color: #0A2D88;
  font-weight: 700;
  font-size: 5.641025641vw;
}
@media (min-width: 768px) {
  .p-top__description strong {
    font-size: min(30px, 2.380952381vw);
  }
}
.p-top__description span {
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top__description span {
    font-size: min(24px, 1.9047619048vw);
  }
}
.p-top__text {
  line-height: 1.8;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top__text {
    font-size: min(18px, 1.4285714286vw);
  }
}

.p-top-kv {
  width: 100%;
  padding-bottom: 30.7692307692vw;
  position: relative;
  background-repeat: no-repeat;
  background-image: url(../images/common/circle_dark.svg), url(../images/common/circle_white.svg);
  background-color: #E3E8F2;
  background-size: 147.0256410256vw, 109.5538461538vw;
  background-position: 3.8076923077vw -27.1794871795vw, -38.0512820513vw 106.6974358974vw;
}
@media (min-width: 768px) {
  .p-top-kv {
    padding-top: min(32px, 2.5396825397vw);
    padding-bottom: min(130px, 10.3174603175vw);
    background-size: min(1113px, 88.3333333333vw), min(757.31px, 60.103968254vw);
    background-position: left calc(50% + min(483px, 38.3333333333vw)) bottom min(160px, 12.6984126984vw), left calc(50% - min(813px, 64.5238095238vw)) bottom max(-101px, -8.0158730159vw);
  }
}
.p-top-kv::before {
  content: "";
  margin: auto;
  width: 13.3333333333vw;
  height: 2.5641025641vw;
  bottom: 23.5897435897vw;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/index/text_scroll.svg);
}
@media (min-width: 768px) {
  .p-top-kv::before {
    width: min(52px, 4.126984127vw);
    height: min(10px, 0.7936507937vw);
    bottom: min(120px, 9.5238095238vw);
  }
}
.p-top-kv::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  bottom: 5.1282051282vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-kv::after {
    height: min(84px, 6.6666666667vw);
    bottom: min(30px, 2.380952381vw);
  }
}
.p-top-kv__column {
  width: 76.9230769231vw;
  padding-top: 28.2051282051vw;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 11.0256410256vw;
}
@media (min-width: 768px) {
  .p-top-kv__column {
    width: min(1200px, 95.2380952381vw);
    padding-top: min(128px, 10.1587301587vw);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: min(44px, 3.4920634921vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.p-top-kv__img {
  width: 75.641025641vw;
}
@media (max-width: 767.98px) {
  .p-top-kv__img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .p-top-kv__img {
    margin-top: min(30px, 2.380952381vw);
    margin-right: auto;
    width: min(600px, 47.619047619vw);
  }
}
.p-top-kv__inner {
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-kv__inner {
    width: min(552px, 43.8095238095vw);
    padding-left: min(47px, 3.7301587302vw);
  }
}
.p-top-kv__title {
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-kv__title {
    width: min(488.33px, 38.7563492063vw);
  }
}
.p-top-kv__subtitle {
  margin-top: 6.4102564103vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-kv__subtitle {
    margin-top: min(39px, 3.0952380952vw);
    width: min(420.48px, 33.3714285714vw);
  }
}
.p-top-kv__text {
  margin-top: 3.0769230769vw;
  line-height: 1.8;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-kv__text {
    margin-top: min(14.8px, 1.1746031746vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-top-kv__text strong {
  color: #0A2D88;
  font-weight: inherit;
}
.p-top-kv__button-text {
  text-align: center;
  font-weight: 700;
  color: #0A2D88;
  line-height: 1.8;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-kv__button-text {
    font-size: min(16px, 1.2698412698vw);
  }
}
.p-top-kv__button-list {
  margin-top: 6.1538461538vw;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4.6153846154vw;
}
@media (min-width: 768px) {
  .p-top-kv__button-list {
    margin-top: min(30px, 2.380952381vw);
    width: min(430px, 34.126984127vw);
    gap: min(14px, 1.1111111111vw);
  }
}
@media (min-width: 768px) {
  .p-top-kv .c-button__link {
    width: min(430px, 34.126984127vw);
  }
}
.p-top-case {
  width: 100%;
  position: relative;
  z-index: 1;
  background-color: #F5F5F5;
}
.p-top-case::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-case::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-case::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 50%;
  position: absolute;
  top: -12.8205128205vw;
  left: 0;
  right: 0;
  background-color: #F5F5F5;
  z-index: -1;
  border-radius: 12.8205128205vw 12.8205128205vw 0 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-top-case::before {
    height: min(80px, 6.3492063492vw);
    top: max(-80px, -6.3492063492vw);
    border-radius: min(80px, 6.3492063492vw) min(80px, 6.3492063492vw) 0 0;
  }
}
.p-top-case {
  padding-bottom: 25.641025641vw;
}
@media (min-width: 768px) {
  .p-top-case {
    padding-bottom: min(196px, 15.5555555556vw);
  }
}
.p-top-case::after {
  display: none;
}
.p-top-case .c-wrap-inner {
  padding-top: 7.1794871795vw;
}
@media (min-width: 768px) {
  .p-top-case .c-wrap-inner {
    padding-top: min(27px, 2.1428571429vw);
  }
}
.p-top-case__title {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .p-top-case__title {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(38px, 3.0158730159vw);
  }
}
.p-top-case__title .p-top__text {
  margin-top: 6.1538461538vw;
}
@media (min-width: 768px) {
  .p-top-case__title .p-top__text {
    margin-top: max(-13px, -1.0317460317vw);
  }
}
.p-top-case .p-top__title {
  white-space: nowrap;
}
.p-top-case .p-top__title strong {
  position: relative;
}
.p-top-case .p-top__title strong::before {
  content: "・・・・・";
  margin: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  left: 0;
  right: 0;
  top: -0.9em;
  text-align: center;
  font-size: 70%;
  letter-spacing: 0.4em;
  translate: 0.2em;
}
.p-top-case__img {
  margin-left: auto;
  margin-right: auto;
  margin-top: 7.6923076923vw;
  width: 89.7435897436vw;
}
@media (max-width: 767.98px) {
  .p-top-case__img {
    translate: -2.5641025641vw;
  }
}
@media (min-width: 768px) {
  .p-top-case__img {
    margin-top: min(9px, 0.7142857143vw);
    width: min(1019px, 80.873015873vw);
  }
}

.p-top-with {
  margin-top: 13.5897435897vw;
  margin-left: auto;
  margin-right: auto;
  width: 94.8717948718vw;
  padding-top: 20.5128205128vw;
  padding-bottom: 12.8205128205vw;
  position: relative;
  text-align: center;
  background-color: #fff;
  border-radius: 12.8205128205vw;
}
.p-top-with::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-with::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
@media (min-width: 768px) {
  .p-top-with {
    margin-top: min(96px, 7.619047619vw);
    width: calc(100% - min(40px, 3.1746031746vw));
    padding-top: min(99px, 7.8571428571vw);
    padding-bottom: min(91px, 7.2222222222vw);
    border-radius: min(80px, 6.3492063492vw);
  }
}
.p-top-with::after {
  top: -5.1282051282vw;
}
@media (min-width: 768px) {
  .p-top-with::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-with .p-top__title-deco img {
  width: 25.2538461538vw;
}
@media (min-width: 768px) {
  .p-top-with .p-top__title-deco img {
    width: min(115px, 9.126984127vw);
    height: min(11px, 0.873015873vw);
  }
}
.p-top-with__img {
  margin-top: 2.0512820513vw;
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
}
@media (min-width: 768px) {
  .p-top-with__img {
    margin-top: min(29px, 2.3015873016vw);
    width: min(1039px, 82.4603174603vw);
    translate: max(-20px, -1.5873015873vw);
  }
}
.p-top-with__text {
  margin-top: 5.1282051282vw;
  line-height: 1.8;
  font-size: 3.5897435897vw;
  text-align: left;
}
@media (max-width: 767.98px) {
  .p-top-with__text {
    margin-left: auto;
    margin-right: auto;
    width: 84.6153846154vw;
  }
}
@media (min-width: 768px) {
  .p-top-with__text {
    margin-top: min(28px, 2.2222222222vw);
    font-size: min(18px, 1.4285714286vw);
    text-align: center;
  }
}

.p-top-support {
  padding-top: 6.6666666667vw;
  padding-bottom: 25.8974358974vw;
  width: 100%;
  position: relative;
  z-index: 1;
  background-color: #E3E8F2;
}
.p-top-support::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-support::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-support::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 50%;
  position: absolute;
  top: -12.8205128205vw;
  left: 0;
  right: 0;
  background-color: #E3E8F2;
  z-index: -1;
  border-radius: 12.8205128205vw 12.8205128205vw 0 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-top-support::before {
    height: min(80px, 6.3492063492vw);
    top: max(-80px, -6.3492063492vw);
    border-radius: min(80px, 6.3492063492vw) min(80px, 6.3492063492vw) 0 0;
  }
}
@media (min-width: 768px) {
  .p-top-support {
    padding-top: min(34px, 2.6984126984vw);
    padding-bottom: min(182px, 14.4444444444vw);
  }
}
@media (min-width: 768px) {
  .p-top-support::after {
    top: max(-130px, -10.3174603175vw);
  }
}
.p-top-support__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 6.1538461538vw;
}
@media (min-width: 768px) {
  .p-top-support__title {
    margin-left: auto;
    margin-right: auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(140px, 11.1111111111vw);
  }
}
@media (min-width: 768px) {
  .p-top-support__title .p-top__text {
    width: min(524px, 41.5873015873vw);
  }
}
.p-top-support__wrap {
  margin-top: 11.0256410256vw;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-top-support__wrap {
    margin-top: min(78px, 6.1904761905vw);
    width: min(1030px, 81.746031746vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: min(30px, 2.380952381vw);
  }
}
.p-top-support__box {
  width: 100%;
  position: relative;
  background-color: #fff;
  border-radius: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-support__box {
    width: calc(50% - min(15px, 1.1904761905vw));
    border-radius: min(20px, 1.5873015873vw);
  }
}
.p-top-support__box.is-box1::before {
  background-image: url(../images/index/support_img1-sp.svg);
}
@media (min-width: 768px) {
  .p-top-support__box.is-box1::before {
    background-image: url(../images/index/support_img1.svg);
  }
}
.p-top-support__box.is-box2::before {
  background-image: url(../images/index/support_img2-sp.svg);
}
@media (min-width: 768px) {
  .p-top-support__box.is-box2::before {
    background-image: url(../images/index/support_img2.svg);
  }
}
.p-top-support__box.is-box3::before {
  background-image: url(../images/index/support_img3-sp.svg);
}
@media (min-width: 768px) {
  .p-top-support__box.is-box3::before {
    background-image: url(../images/index/support_img3.svg);
  }
}
.p-top-support__box.is-box4::before {
  background-image: url(../images/index/support_img4-sp.svg);
}
@media (min-width: 768px) {
  .p-top-support__box.is-box4::before {
    background-image: url(../images/index/support_img4.svg);
  }
}
.p-top-support__box::before {
  content: "";
  width: 39.6615384615vw;
  height: 29.441025641vw;
  display: block;
  position: absolute;
  right: 4.8717948718vw;
  top: 3.7692307692vw;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 768px) {
  .p-top-support__box::before {
    width: min(171.65px, 13.623015873vw);
    height: min(127.36px, 10.1079365079vw);
    right: min(27.03px, 2.1452380952vw);
    top: min(13.61px, 1.0801587302vw);
  }
}
.p-top-support__subtitle {
  width: 100%;
  padding: 5.8974358974vw 7.6923076923vw 5.1282051282vw;
  font-size: 6.1538461538vw;
  line-height: 1.4;
  font-weight: 700;
  position: relative;
  z-index: 2;
  color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-support__subtitle {
    padding: min(29px, 2.3015873016vw) min(200px, 15.873015873vw) min(26px, 2.0634920635vw) min(50px, 3.9682539683vw);
    font-size: min(26px, 2.0634920635vw);
  }
}
.p-top-support__list {
  width: 100%;
  padding: 6.4102564103vw 7.6923076923vw 8.4615384615vw;
  border-top: 2px solid #E3E8F2;
}
@media (min-width: 768px) {
  .p-top-support__list {
    padding: min(25px, 1.9841269841vw) min(50px, 3.9682539683vw) min(30px, 2.380952381vw) min(50px, 3.9682539683vw);
  }
}
.p-top-support__item {
  width: 100%;
  padding-left: 9.4871794872vw;
  position: relative;
  font-size: 4.1025641026vw;
  line-height: 1.8;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-top-support__item {
    padding-left: min(37px, 2.9365079365vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-top-support__item::before {
  content: "";
  margin: auto;
  width: 5.8974358974vw;
  height: 5.8974358974vw;
  display: block;
  position: absolute;
  top: 0.25em;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/square_check.svg);
}
@media (min-width: 768px) {
  .p-top-support__item::before {
    width: min(23px, 1.8253968254vw);
    height: min(23px, 1.8253968254vw);
  }
}
.p-top-support__item + .p-top-support__item {
  margin-top: 2.0512820513vw;
}
@media (min-width: 768px) {
  .p-top-support__item + .p-top-support__item {
    margin-top: min(8px, 0.6349206349vw);
  }
}
.p-top-support__item strong {
  font-weight: inherit;
  color: #0A2D88;
}

.p-top-voice {
  width: 100%;
  position: relative;
  z-index: 1;
  background-color: #B7C8EB;
}
.p-top-voice::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-voice::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-voice::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 50%;
  position: absolute;
  top: -12.8205128205vw;
  left: 0;
  right: 0;
  background-color: #B7C8EB;
  z-index: -1;
  border-radius: 12.8205128205vw 12.8205128205vw 0 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-top-voice::before {
    height: min(80px, 6.3492063492vw);
    top: max(-80px, -6.3492063492vw);
    border-radius: min(80px, 6.3492063492vw) min(80px, 6.3492063492vw) 0 0;
  }
}
.p-top-voice {
  padding-top: 7.6923076923vw;
  padding-bottom: 25.8974358974vw;
}
@media (min-width: 768px) {
  .p-top-voice {
    padding-top: min(15px, 1.1904761905vw);
    padding-bottom: min(180px, 14.2857142857vw);
  }
}
@media (min-width: 768px) {
  .p-top-voice::after {
    top: max(-133px, -10.5555555556vw);
  }
}
.p-top-voice .p-top__title-deco img {
  width: 22.9307692308vw;
}
@media (min-width: 768px) {
  .p-top-voice .p-top__title-deco img {
    width: min(105px, 8.3333333333vw);
    height: min(11px, 0.873015873vw);
  }
}
.p-top-voice__splide {
  margin-top: 10vw;
}
@media (min-width: 768px) {
  .p-top-voice__splide {
    margin-top: min(55px, 4.3650793651vw);
    margin-left: auto;
    margin-right: auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    visibility: visible;
  }
}
@media (max-width: 767.98px) {
  .p-top-voice .splide__pagination {
    margin: auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    height: 1.5384615385vw;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5.1282051282vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5641025641vw;
  }
  .p-top-voice .splide__pagination li {
    margin: 0;
    padding: 0;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    height: 1.5384615385vw;
  }
  .p-top-voice .splide__pagination .splide__pagination__page {
    margin: 0;
    width: 1.5384615385vw;
    height: 1.5384615385vw;
    -webkit-transform: scale(1);
    transform: scale(1);
    background-color: #fff;
    border-radius: 0.7692307692vw;
  }
  .p-top-voice .splide__pagination .splide__pagination__page.is-active {
    width: 5.1282051282vw;
    background-color: #0A2D88;
  }
}
@media (min-width: 768px) {
  .p-top-voice__list {
    width: min(1200px, 95.2380952381vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(30px, 2.380952381vw);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
.p-top-voice__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767.98px) {
  .p-top-voice__item {
    width: 79.4871794872vw;
  }
}
@media (min-width: 768px) {
  .p-top-voice__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
.p-top-voice__link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  border-radius: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-voice__link {
    border-radius: min(20px, 1.5873015873vw);
  }
  .p-top-voice__link:hover {
    color: #235FFB;
  }
  .p-top-voice__link:hover img, .p-top-voice__link:hover::before {
    scale: 1.05;
  }
}
.p-top-voice__link::before {
  content: "";
  width: 10.6384615385vw;
  height: 7.8820512821vw;
  position: absolute;
  right: 5.2846153846vw;
  bottom: 10.1769230769vw;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/btn_blue.svg);
}
@media (min-width: 768px) {
  .p-top-voice__link::before {
    width: min(41.49px, 3.2928571429vw);
    height: min(30.74px, 2.4396825397vw);
    right: min(17.16px, 1.3619047619vw);
    bottom: min(20px, 1.5873015873vw);
    -webkit-transition: scale 0.3s ease-out;
    transition: scale 0.3s ease-out;
  }
}
.p-top-voice__img {
  display: block;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-top-voice__img {
    width: 100%;
    height: min(253px, 20.0793650794vw);
  }
}
.p-top-voice__img img {
  -webkit-transition: scale 0.3s ease-out;
  transition: scale 0.3s ease-out;
}
.p-top-voice__textbox {
  width: 100%;
  padding: 6.4102564103vw 7.6923076923vw 7.6923076923vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .p-top-voice__textbox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: min(25px, 1.9841269841vw) min(30px, 2.380952381vw) min(23px, 1.8253968254vw);
    gap: min(4px, 0.3174603175vw);
  }
}
.p-top-voice__name {
  line-height: 1.8;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-voice__name {
    font-size: min(16px, 1.2698412698vw);
  }
}
.p-top-voice__text {
  margin-bottom: 4.1025641026vw;
  font-size: 4.6153846154vw;
  line-height: 1.8;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-top-voice__text {
    margin-bottom: min(16px, 1.2698412698vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-top-voice__tag {
  margin-top: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.0512820513vw;
  font-size: 3.0769230769vw;
  color: #0A2D88;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .p-top-voice__tag {
    gap: min(8px, 0.6349206349vw);
    font-size: min(12px, 0.9523809524vw);
  }
}
.p-top-voice__tag::before {
  content: "";
  width: 1.7948717949vw;
  height: 1.7948717949vw;
  display: block;
  background-color: #0A2D88;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .p-top-voice__tag::before {
    width: min(7px, 0.5555555556vw);
    height: min(7px, 0.5555555556vw);
  }
}
.p-top-voice__date {
  line-height: 1.8;
  color: #818181;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .p-top-voice__date {
    font-size: min(12px, 0.9523809524vw);
  }
}
.p-top-voice .c-button {
  margin-top: 13.0769230769vw;
}
@media (min-width: 768px) {
  .p-top-voice .c-button {
    margin-top: min(50px, 3.9682539683vw);
  }
}

.p-top-flow {
  width: 100%;
  position: relative;
  z-index: 1;
  background-color: #F5F5F5;
}
.p-top-flow::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-flow::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-flow::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 50%;
  position: absolute;
  top: -12.8205128205vw;
  left: 0;
  right: 0;
  background-color: #F5F5F5;
  z-index: -1;
  border-radius: 12.8205128205vw 12.8205128205vw 0 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-top-flow::before {
    height: min(80px, 6.3492063492vw);
    top: max(-80px, -6.3492063492vw);
    border-radius: min(80px, 6.3492063492vw) min(80px, 6.3492063492vw) 0 0;
  }
}
.p-top-flow {
  padding-top: 9.2307692308vw;
}
@media (min-width: 768px) {
  .p-top-flow {
    padding-top: min(12px, 0.9523809524vw);
  }
}
@media (min-width: 768px) {
  .p-top-flow::after {
    top: max(-133px, -10.5555555556vw);
  }
}
.p-top-flow .p-top__title-deco img {
  width: 9.3435897436vw;
}
@media (min-width: 768px) {
  .p-top-flow .p-top__title-deco img {
    width: min(43px, 3.4126984127vw);
    height: min(11px, 0.873015873vw);
  }
}
.p-top-flow__list {
  margin-top: 9.4871794872vw;
  width: 84.6153846154vw;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .p-top-flow__list {
    margin-top: min(44px, 3.4920634921vw);
    width: min(960px, 76.1904761905vw);
  }
}
.p-top-flow__item {
  width: 100%;
  padding: 7.1794871795vw 7.6923076923vw 6.1538461538vw;
  position: relative;
  background-color: #fff;
  border-radius: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-flow__item {
    padding: min(40px, 3.1746031746vw) min(64px, 5.0793650794vw) min(40px, 3.1746031746vw) min(376px, 29.8412698413vw);
    border-radius: min(20px, 1.5873015873vw);
  }
}
.p-top-flow__item + .p-top-flow__item {
  margin-top: 16.9230769231vw;
}
@media (min-width: 768px) {
  .p-top-flow__item + .p-top-flow__item {
    margin-top: min(65px, 5.1587301587vw);
  }
}
.p-top-flow__item + .p-top-flow__item::before {
  content: "";
  margin-left: auto;
  margin-right: auto;
  width: 13.8871794872vw;
  height: 5.6538461538vw;
  display: block;
  position: absolute;
  top: -11.5384615385vw;
  left: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/index/flow_arrow.svg);
}
@media (min-width: 768px) {
  .p-top-flow__item + .p-top-flow__item::before {
    width: min(60.18px, 4.7761904762vw);
    height: min(24.5px, 1.9444444444vw);
    top: max(-44px, -3.4920634921vw);
  }
}
.p-top-flow__number {
  width: 26.3564102564vw;
  position: absolute;
  left: -2.5230769231vw;
  top: -4.8179487179vw;
}
@media (min-width: 768px) {
  .p-top-flow__number {
    width: min(114.18px, 9.0619047619vw);
    left: max(-17.11px, -1.3579365079vw);
    top: max(-14.41px, -1.1436507937vw);
  }
}
.p-top-flow__img {
  margin: auto;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
@media (min-width: 768px) {
  .p-top-flow__img {
    position: absolute;
    top: 0;
    bottom: 0;
  }
}
.is-item1 .p-top-flow__img {
  width: 47.1794871795vw;
}
@media (min-width: 768px) {
  .is-item1 .p-top-flow__img {
    width: min(184px, 14.6031746032vw);
    left: min(119px, 9.4444444444vw);
  }
}
.is-item2 .p-top-flow__img {
  width: 39.1512820513vw;
}
@media (max-width: 767.98px) {
  .is-item2 .p-top-flow__img {
    margin-top: 2.0512820513vw;
  }
}
@media (min-width: 768px) {
  .is-item2 .p-top-flow__img {
    width: min(169.66px, 13.4650793651vw);
    left: min(138px, 10.9523809524vw);
  }
}
.is-item3 .p-top-flow__img {
  width: 63.0769230769vw;
}
@media (max-width: 767.98px) {
  .is-item3 .p-top-flow__img {
    margin-top: 3.5897435897vw;
  }
}
@media (min-width: 768px) {
  .is-item3 .p-top-flow__img {
    width: min(260px, 20.6349206349vw);
    left: min(67px, 5.3174603175vw);
  }
}
.is-item4 .p-top-flow__img {
  width: 58.4615384615vw;
}
@media (max-width: 767.98px) {
  .is-item4 .p-top-flow__img {
    margin-top: 3.0769230769vw;
  }
}
@media (min-width: 768px) {
  .is-item4 .p-top-flow__img {
    width: min(240px, 19.0476190476vw);
    left: min(81px, 6.4285714286vw);
  }
}
.p-top-flow__title {
  color: #0A2D88;
  line-height: 1.8;
  font-weight: 700;
  font-size: 5.641025641vw;
  text-align: center;
}
@media (max-width: 767.98px) {
  .p-top-flow__title {
    margin-top: 3.8461538462vw;
  }
}
@media (min-width: 768px) {
  .p-top-flow__title {
    font-size: min(24px, 1.9047619048vw);
    text-align: left;
  }
}
.p-top-flow__text {
  margin-top: 1.0256410256vw;
  font-size: 4.1025641026vw;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-top-flow__text {
    margin-top: min(8px, 0.6349206349vw);
    font-size: min(16px, 1.2698412698vw);
  }
}

.p-top-pricing::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-pricing::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-pricing {
  margin-top: 12.8205128205vw;
  margin-left: auto;
  margin-right: auto;
  width: 94.8717948718vw;
  padding-top: 20.5128205128vw;
  padding-bottom: 14.6153846154vw;
  text-align: center;
  background-color: #fff;
  border-radius: 12.8205128205vw;
}
@media (min-width: 768px) {
  .p-top-pricing {
    margin-top: min(100px, 7.9365079365vw);
    width: calc(100% - min(40px, 3.1746031746vw));
    padding-top: min(94px, 7.4603174603vw);
    padding-bottom: min(100px, 7.9365079365vw);
    border-radius: min(80px, 6.3492063492vw);
  }
}
@media (max-width: 767.98px) {
  .p-top-pricing::after {
    top: -6.4102564103vw;
  }
}
.p-top-pricing .p-top__title-deco img {
  width: 12.8538461538vw;
}
@media (min-width: 768px) {
  .p-top-pricing .p-top__title-deco img {
    width: min(59px, 4.6825396825vw);
    height: min(11px, 0.873015873vw);
  }
}
.p-top-pricing__list {
  margin-top: 8.7179487179vw;
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.1282051282vw;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-top-pricing__list {
    margin-top: min(47px, 3.7301587302vw);
    width: min(960px, 76.1904761905vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: min(30px, 2.380952381vw);
  }
}
.p-top-pricing__item {
  color: #0A2D88;
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-pricing__item {
    width: min(465px, 36.9047619048vw);
  }
}
.p-top-pricing__box {
  width: 100%;
  height: 27.6923076923vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.0256410256vw;
  background-repeat: no-repeat;
  background-size: 49.3461538462vw;
  background-position: center 2.9333333333vw;
  background-image: url(../images/common/circle_light.svg);
  background-color: #B7C8EB;
  border-radius: 4.1025641026vw 4.1025641026vw 0 0;
}
@media (min-width: 768px) {
  .p-top-pricing__box {
    height: min(151px, 11.9841269841vw);
    gap: min(4px, 0.3174603175vw);
    background-size: min(214.13px, 16.9944444444vw);
    background-position: 50% min(12.94px, 1.026984127vw);
    border-radius: min(20px, 1.5873015873vw) min(20px, 1.5873015873vw) 0 0;
  }
}
.p-top-pricing__title {
  line-height: 1.4;
  font-weight: 700;
  font-size: 6.1538461538vw;
}
@media (min-width: 768px) {
  .p-top-pricing__title {
    font-size: min(24px, 1.9047619048vw);
  }
}
.p-top-pricing__text {
  font-size: 4.1025641026vw;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-top-pricing__text {
    font-size: min(16px, 1.2698412698vw);
  }
}
.p-top-pricing__price {
  margin-top: 0.5128205128vw;
  width: 100%;
  min-height: 17.9487179487vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.8;
  font-weight: 700;
  font-size: 5.641025641vw;
  background-color: #E3E8F2;
  border-radius: 0 0 4.1025641026vw 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-pricing__price {
    margin-top: min(2px, 0.1587301587vw);
    min-height: min(77px, 6.1111111111vw);
    font-size: min(22px, 1.746031746vw);
    border-radius: 0 0 min(20px, 1.5873015873vw) min(20px, 1.5873015873vw);
  }
}
.p-top-pricing__price strong {
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-display: swap;
  line-height: 1.5;
  font-weight: 600;
  font-size: 11.2820512821vw;
}
@media (min-width: 768px) {
  .p-top-pricing__price strong {
    font-size: min(44px, 3.4920634921vw);
  }
}
.p-top-pricing__button-list {
  margin-top: 12.8205128205vw;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.8461538462vw;
}
@media (min-width: 768px) {
  .p-top-pricing__button-list {
    margin-top: min(45px, 3.5714285714vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(20px, 1.5873015873vw);
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
@media (min-width: 768px) {
  .p-top-pricing .c-button__link {
    width: min(430px, 34.126984127vw);
  }
}
.p-top-pricing__caption {
  margin-top: 3.5102564103vw;
  margin-left: auto;
  margin-right: auto;
  width: 69.2307692308vw;
  color: #1A1A1A;
  text-align: left;
  font-weight: 400;
  line-height: 1.6;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .p-top-pricing__caption {
    margin-top: min(15px, 1.1904761905vw);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    font-size: min(12px, 0.9523809524vw);
  }
}

.p-top-about {
  width: 100%;
  padding-top: 20.7692307692vw;
  padding-bottom: 30.7692307692vw;
  position: relative;
}
.p-top-about::after {
  content: "";
  margin: auto;
  width: 1px;
  height: 15.3846153846vw;
  display: block;
  position: absolute;
  top: -20.5128205128vw;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #0A2D88;
}
@media (min-width: 768px) {
  .p-top-about::after {
    height: min(100px, 7.9365079365vw);
    top: max(-50px, -3.9682539683vw);
  }
}
.p-top-about {
  background-repeat: no-repeat;
  background-position: left -37.1794871795vw top 218.7179487179vw;
  background-size: 120.4461538462vw;
  background-image: url(../images/common/circle_light-reverse.svg);
}
@media (min-width: 768px) {
  .p-top-about {
    padding-top: min(115px, 9.126984127vw);
    padding-bottom: min(272px, 21.5873015873vw);
    background-size: min(1020px, 80.9523809524vw);
    background-position: left calc(50% - min(475px, 37.6984126984vw)) top min(41px, 3.253968254vw);
  }
}
@media (max-width: 767.98px) {
  .p-top-about::after {
    top: -6.4102564103vw;
  }
}
.p-top-about__column {
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
  gap: 10.2564102564vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-top-about__column {
    width: min(1083px, 85.9523809524vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(100px, 7.9365079365vw);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media (max-width: 767.98px) {
  .p-top-about .p-top__title {
    text-align: center;
  }
}
.p-top-about .p-top__title-deco {
  width: 11.3717948718vw;
}
@media (min-width: 768px) {
  .p-top-about .p-top__title-deco {
    margin-left: 0;
    width: min(52px, 4.126984127vw);
  }
}
@media (min-width: 768px) {
  .p-top-about__inner {
    width: min(410px, 32.5396825397vw);
  }
}
.p-top-about__textbox {
  margin-top: 6.1538461538vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-about__textbox {
    margin-top: min(41px, 3.253968254vw);
  }
}
@media (min-width: 768px) {
  .p-top-about__textbox .p-top__text {
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-top-about__textbox .p-top__text strong {
  color: #0A2D88;
}
.p-top-about__textbox .p-top__text + .p-top__text {
  margin-top: 3.0769230769vw;
}
@media (min-width: 768px) {
  .p-top-about__textbox .p-top__text + .p-top__text {
    margin-top: min(12px, 0.9523809524vw);
  }
}
.p-top-about__list {
  width: 84.6153846154vw;
  padding: 3.8461538462vw 7.6923076923vw 5.1282051282vw;
  background-color: #fff;
  border-radius: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-top-about__list {
    width: min(570px, 45.2380952381vw);
    padding: min(36px, 2.8571428571vw) min(60px, 4.7619047619vw) min(22px, 1.746031746vw);
    border-radius: min(40px, 3.1746031746vw);
  }
}
.p-top-about__item {
  width: 100%;
  height: 27.6923076923vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5641025641vw;
  font-size: 4.1025641026vw;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .p-top-about__item {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .p-top-about__item {
    height: min(72px, 5.7142857143vw);
    padding-left: min(9px, 0.7142857143vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(42px, 3.3333333333vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-top-about__item + .p-top-about__item {
  border-top: 1px solid #d1d7e2;
}
.p-top-about__bold {
  font-weight: 700;
}
@media (min-width: 768px) {
  .p-top-about__bold {
    width: min(90px, 7.1428571429vw);
  }
}
@media (min-width: 768px) {
  .p-top-about__text {
    width: min(298px, 23.6507936508vw);
  }
}

.js-section {
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.c-slider-arrow {
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #e5e5e5;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-slider-arrow:hover {
  background-color: #fff;
  border-color: #235FFB;
}
.c-slider-arrow--prev {
  left: 2.5641025641vw;
}
.c-slider-arrow--next {
  right: 2.5641025641vw;
}
.c-slider-arrow svg {
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  fill: #333;
}

.c-slider-pagination {
  margin-top: 5.1282051282vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2.0512820513vw;
}
.c-slider-pagination__page {
  width: 2.0512820513vw;
  height: 2.0512820513vw;
  border-radius: 50%;
  background-color: #d1d7e2;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.c-slider-pagination__page.is-active {
  background-color: #007bff;
}

.p-top-message {
  margin-top: 12.8205128205vw;
  margin-left: auto;
  margin-right: auto;
  width: 84.6153846154vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 9.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-message {
    margin-top: min(84px, 6.6666666667vw);
    width: min(1100px, 87.3015873016vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(130px, 10.3174603175vw);
  }
}
.p-top-message__img {
  overflow: hidden;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  border-radius: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-top-message__img {
    width: min(400px, 31.746031746vw);
    border-radius: min(20px, 1.5873015873vw);
  }
}
.p-top-message__img img {
  vertical-align: bottom;
}
.p-top-message__inner {
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-message__inner {
    width: min(570px, 45.2380952381vw);
  }
}
.p-top-message__title {
  color: #0A2D88;
  font-weight: 600;
  line-height: 1.4;
  font-size: 6.1538461538vw;
  margin-bottom: min(3px, 0.2380952381vw);
}
@media (min-width: 768px) {
  .p-top-message__title {
    font-size: min(26px, 2.0634920635vw);
    margin-bottom: min(27px, 2.1428571429vw);
    line-height: 1;
  }
}
.p-top-message__title--lv2 {
  font-size: 5.1282051282vw;
  margin-bottom: 2.0512820513vw;
  color: #1A1A1A;
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-top-message__title--lv2 {
    font-size: min(20px, 1.5873015873vw);
    margin-bottom: min(18px, 1.4285714286vw);
    line-height: 1;
  }
}
.p-top-message__career {
  margin-top: 11.5384615385vw;
}
@media (min-width: 768px) {
  .p-top-message__career {
    margin-top: min(60px, 4.7619047619vw);
  }
}
.p-top-message__item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5641025641vw;
  font-size: 3.5897435897vw;
  line-height: 1.8;
  padding: 5.1282051282vw 2.5641025641vw;
  border-bottom: 1px solid #d1d7e2;
}
@media (max-width: 767.98px) {
  .p-top-message__item {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .p-top-message__item {
    padding: min(20px, 1.5873015873vw) min(9px, 0.7142857143vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(42px, 3.3333333333vw);
    font-size: min(14px, 1.1111111111vw);
  }
}
.p-top-message__bold {
  font-weight: 700;
  font-size: 3.8461538462vw;
}
@media (min-width: 768px) {
  .p-top-message__bold {
    width: min(90px, 7.1428571429vw);
    font-size: min(16px, 1.2698412698vw);
  }
}
.p-top-message__text {
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-top-message__text {
    width: min(418px, 33.1746031746vw);
  }
}
.p-top-message .c-text {
  margin-top: 3.3333333333vw;
  font-size: 4.1025641026vw;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-top-message .c-text {
    margin-top: min(17px, 1.3492063492vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-top-message .c-text + .c-text {
  margin-top: 3.3333333333vw;
}
@media (min-width: 768px) {
  .p-top-message .c-text + .c-text {
    margin-top: min(14px, 1.1111111111vw);
  }
}

.p-policy .c-hero__deco {
  width: 31.0153846154vw;
}
@media (min-width: 768px) {
  .p-policy .c-hero__deco {
    width: min(120.96px, 9.6vw);
  }
}
@media (min-width: 768px) {
  .p-policy .c-wrap-inner {
    width: min(800px, 63.4920634921vw);
  }
}
.p-policy__list {
  padding-left: 1em;
}

.p-404 .c-text {
  text-align: center;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-404 .c-text {
    font-size: min(18px, 1.4285714286vw);
  }
}

.p-casestudy__title {
  margin: 0;
  color: #1A1A1A;
  font-weight: 700;
  line-height: 1.3;
  font-size: 6.1538461538vw;
  text-align: center;
  padding-left: min(150px, 11.9047619048vw);
  padding-right: min(150px, 11.9047619048vw);
}
@media (min-width: 768px) {
  .p-casestudy__title {
    font-size: min(32px, 2.5396825397vw);
  }
}

.p-case-richtext .c-title-line {
  margin-top: 20.5128205128vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .p-case-richtext .c-title-line {
    margin-top: min(80px, 6.3492063492vw);
  }
}
.p-case-richtext > .c-text {
  margin-top: 7.6923076923vw;
}
@media (min-width: 768px) {
  .p-case-richtext > .c-text {
    margin-top: min(35px, 2.7777777778vw);
  }
}
.p-case-richtext > *:not(.c-title-line) + .c-text {
  margin-top: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-case-richtext > *:not(.c-title-line) + .c-text {
    margin-top: min(20px, 1.5873015873vw);
  }
}
.p-case-richtext > .c-title-circle {
  margin-top: 7.6923076923vw;
}
@media (min-width: 768px) {
  .p-case-richtext > .c-title-circle {
    margin-top: min(35px, 2.7777777778vw);
  }
}
.p-case-richtext__img {
  margin-top: 10.2564102564vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-case-richtext__img {
    margin-top: min(50px, 3.9682539683vw);
  }
}
.p-case-richtext__column {
  margin-top: 10.2564102564vw;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-case-richtext__column {
    margin-top: min(50px, 3.9682539683vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(40px, 3.1746031746vw);
  }
}

.wp-pagenavi {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.wp-pagenavi .page,
.wp-pagenavi .current {
  width: 11.0256410256vw;
  height: 7.9487179487vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1;
  letter-spacing: 0.04em;
  font-size: 4.1025641026vw;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(../images/common/circle_dark.svg);
  mask-image: url(../images/common/circle_dark.svg);
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color 0.3s ease-out;
  transition: background-color 0.3s ease-out;
  border: none;
}
@media (min-width: 768px) {
  .wp-pagenavi .page,
  .wp-pagenavi .current {
    width: min(43px, 3.4126984127vw);
    height: min(50px, 3.9682539683vw);
    font-size: min(16px, 1.2698412698vw);
  }
  .wp-pagenavi .page:hover,
  .wp-pagenavi .current:hover {
    background-color: white;
  }
}
.wp-pagenavi .current {
  background-color: white;
  font-weight: normal !important;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  border: none;
  width: 2.3564102564vw;
  height: 4.1692307692vw;
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(../images/common/arrow_black.svg);
  mask-image: url(../images/common/arrow_black.svg);
  background-color: #1A1A1A;
}
@media (min-width: 768px) {
  .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    width: min(9.19px, 0.7293650794vw);
    height: min(16.26px, 1.2904761905vw);
  }
}
@media (min-width: 768px) {
  .wp-pagenavi .nextpostslink {
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .wp-pagenavi .nextpostslink:hover {
    opacity: 0.5;
  }
}
.wp-pagenavi .previouspostslink {
  scale: -1 1;
}
@media (min-width: 768px) {
  .wp-pagenavi .previouspostslink {
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .wp-pagenavi .previouspostslink:hover {
    opacity: 0.5;
  }
}

.p-case .c-hero__deco,
.p-case-detail .c-hero__deco {
  width: 22.9307692308vw;
}
@media (min-width: 768px) {
  .p-case .c-hero__deco,
  .p-case-detail .c-hero__deco {
    width: min(104.34px, 8.280952381vw);
  }
}
.p-case .c-panel .c-wrap-inner,
.p-case-detail .c-panel .c-wrap-inner {
  position: relative;
}
.p-case .c-panel .c-wrap-inner::before,
.p-case-detail .c-panel .c-wrap-inner::before {
  content: "";
  margin: auto;
  width: 50.9538461538vw;
  height: 41.2820512821vw;
  display: block;
  position: absolute;
  right: -2.5641025641vw;
  top: -54.1025641026vw;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/case_study/panel_bg-sp.png);
}
@media (min-width: 768px) {
  .p-case .c-panel .c-wrap-inner::before,
  .p-case-detail .c-panel .c-wrap-inner::before {
    width: min(351px, 27.8571428571vw);
    height: min(210px, 16.6666666667vw);
    top: max(-300px, -23.8095238095vw);
    background-image: url(../images/case_study/panel_bg.png);
  }
}
body:has(.p-case,
.p-case-detail) .l-header__list .l-header__item:nth-child(2) .l-header__link {
  color: #235FFB;
}
body:has(.p-case,
.p-case-detail) .l-footer__list .l-footer__item:nth-child(2) .l-footer__link {
  color: #235FFB;
}

@media (min-width: 768px) {
  .p-case .c-panel .c-wrap-inner::before {
    right: 0;
  }
}
.p-case__list {
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .p-case__list {
    margin-top: min(53px, 4.2063492063vw);
    width: min(1200px, 95.2380952381vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: min(30px, 2.380952381vw);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
.p-case__item {
  width: 84.6153846154vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .p-case__item {
    width: min(380px, 30.1587301587vw);
  }
}
.p-case__link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  border-radius: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-case__link {
    border-radius: min(20px, 1.5873015873vw);
  }
  .p-case__link:hover {
    color: #235FFB;
  }
  .p-case__link:hover img, .p-case__link:hover::before {
    scale: 1.05;
  }
}
.p-case__link::before {
  content: "";
  width: 10.6384615385vw;
  height: 7.8820512821vw;
  position: absolute;
  right: 5.2846153846vw;
  bottom: 10.1769230769vw;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/btn_blue.svg);
}
@media (min-width: 768px) {
  .p-case__link::before {
    width: min(41.49px, 3.2928571429vw);
    height: min(30.74px, 2.4396825397vw);
    right: min(17.16px, 1.3619047619vw);
    bottom: min(16.86px, 1.3380952381vw);
    -webkit-transition: scale 0.3s ease-out;
    transition: scale 0.3s ease-out;
  }
}
.p-case__img {
  display: block;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-case__img {
    width: 100%;
    height: min(253px, 20.0793650794vw);
  }
}
.p-case__img img {
  -webkit-transition: scale 0.3s ease-out;
  transition: scale 0.3s ease-out;
  aspect-ratio: 380/253;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-case__textbox {
  width: 100%;
  padding: 6.4102564103vw 7.6923076923vw 7.6923076923vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .p-case__textbox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: min(25px, 1.9841269841vw) min(30px, 2.380952381vw) min(30px, 2.380952381vw);
    gap: min(4px, 0.3174603175vw);
  }
}
.p-case__name {
  line-height: 1.8;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-case__name {
    font-size: min(16px, 1.2698412698vw);
  }
}
.p-case__text {
  margin-bottom: 4.1025641026vw;
  font-size: 4.6153846154vw;
  line-height: 1.8;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-case__text {
    margin-bottom: min(16px, 1.2698412698vw);
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-case__tag {
  margin-top: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.0512820513vw;
  font-size: 3.0769230769vw;
  color: #0A2D88;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .p-case__tag {
    gap: min(8px, 0.6349206349vw);
    font-size: min(12px, 0.9523809524vw);
  }
}
.p-case__tag::before {
  content: "";
  width: 1.7948717949vw;
  height: 1.7948717949vw;
  display: block;
  background-color: #0A2D88;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .p-case__tag::before {
    width: min(7px, 0.5555555556vw);
    height: min(7px, 0.5555555556vw);
  }
}
.p-case__date {
  line-height: 1.8;
  color: #818181;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .p-case__date {
    font-size: min(12px, 0.9523809524vw);
  }
}
.p-case .c-pager {
  margin-top: 15.3846153846vw;
}
@media (min-width: 768px) {
  .p-case .c-pager {
    margin-top: min(80px, 6.3492063492vw);
  }
}

@media (min-width: 768px) {
  .p-case-detail .c-wrap-inner {
    width: min(800px, 63.4920634921vw);
  }
}
@media (min-width: 768px) {
  .p-case-detail .c-panel .c-wrap-inner::before {
    right: max(-200px, -15.873015873vw);
  }
}
.p-case-detail .l-section {
  margin-top: 20.5128205128vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .p-case-detail .l-section {
    margin-top: min(80px, 6.3492063492vw);
  }
}

.p-case-title {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.3333333333vw;
}
@media (max-width: 767.98px) {
  .p-case-title {
    padding-top: 4.8717948718vw;
  }
}
@media (min-width: 768px) {
  .p-case-title {
    gap: min(16px, 1.2698412698vw);
  }
}
.p-case-title__name {
  line-height: 1.6;
  font-weight: 500;
  font-size: 4.6153846154vw;
}
@media (min-width: 768px) {
  .p-case-title__name {
    font-size: min(20px, 1.5873015873vw);
  }
}
.p-case-title__text {
  line-height: 1.6;
  font-weight: 700;
  font-size: 6.1538461538vw;
}
@media (min-width: 768px) {
  .p-case-title__text {
    font-size: min(32px, 2.5396825397vw);
  }
}
.p-case-title__caption {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .p-case-title__caption {
    gap: min(10px, 0.7936507937vw);
  }
}
.p-case-title__date {
  color: #818181;
  line-height: 1.8;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .p-case-title__date {
    font-size: min(14px, 1.1111111111vw);
  }
}
.p-case-title__tag {
  padding-left: 2.8205128205vw;
  position: relative;
  line-height: 1.8;
  color: #0A2D88;
  font-size: 3.5897435897vw;
}
@media (min-width: 768px) {
  .p-case-title__tag {
    padding-left: min(15px, 1.1904761905vw);
    font-size: min(16px, 1.2698412698vw);
    line-height: 2.2;
  }
}
.p-case-title__tag::before {
  content: "";
  margin: auto;
  width: 1.7948717949vw;
  height: 1.7948717949vw;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background-color: #0A2D88;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .p-case-title__tag::before {
    width: min(7px, 0.5555555556vw);
    height: min(7px, 0.5555555556vw);
  }
}

.p-case-content {
  margin-top: 5.1282051282vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .p-case-content {
    margin-top: min(40px, 3.1746031746vw);
  }
}
.p-case-content__img {
  width: 100%;
}

.p-case-task {
  margin-top: 20.5128205128vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-case-task {
    margin-top: min(80px, 6.3492063492vw);
  }
}
.p-case-task__box {
  width: 100%;
  padding: 5.1282051282vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-case-task__box {
    min-height: min(136px, 10.7936507937vw);
    padding: min(20px, 1.5873015873vw) min(19px, 1.5079365079vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(14px, 1.1111111111vw);
  }
}
.p-case-task__box.is-problem {
  background-color: #B7C8EB;
  border-radius: 4.1025641026vw 4.1025641026vw 0 0;
}
@media (min-width: 768px) {
  .p-case-task__box.is-problem {
    border-radius: min(20px, 1.5873015873vw) min(20px, 1.5873015873vw) 0 0;
  }
}
.p-case-task__box.is-solution {
  margin-top: 0.5128205128vw;
  background-color: #fff;
  border-radius: 0 0 4.1025641026vw 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-case-task__box.is-solution {
    margin-top: min(2px, 0.1587301587vw);
    border-radius: 0 0 min(20px, 1.5873015873vw) min(20px, 1.5873015873vw);
  }
}
.p-case-task__title {
  width: 100%;
  color: #0A2D88;
  font-weight: 700;
  font-size: 5.1282051282vw;
}
@media (min-width: 768px) {
  .p-case-task__title {
    width: min(105px, 8.3333333333vw);
    text-align: center;
    font-size: min(20px, 1.5873015873vw);
  }
}
@media (max-width: 767.98px) {
  .is-solution .p-case-task__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2.5641025641vw;
  }
}
.is-solution .p-case-task__title::after {
  content: "";
  width: 18.9743589744vw;
  height: 15.8974358974vw;
  display: block;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100%;
  background-image: url(../images/case_study/case-task__bg.png);
}
@media (min-width: 768px) {
  .is-solution .p-case-task__title::after {
    margin-left: auto;
    margin-right: auto;
    width: min(88.99px, 7.0626984127vw);
    height: min(74.4px, 5.9047619048vw);
  }
}
.p-case-task__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5641025641vw;
}
@media (max-width: 767.98px) {
  .p-case-task__list {
    margin-top: 2.5641025641vw;
  }
}
@media (min-width: 768px) {
  .p-case-task__list {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    gap: min(10px, 0.7936507937vw);
  }
}
.p-case-task__item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-case-task__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.is-problem .p-case-task__item {
  padding-left: 2.5641025641vw;
  gap: 2.0512820513vw;
}
@media (min-width: 768px) {
  .is-problem .p-case-task__item {
    padding-left: min(10px, 0.7936507937vw);
    gap: min(8px, 0.6349206349vw);
  }
}
.is-problem .p-case-task__item::before {
  width: 1.7948717949vw;
  height: 1.7948717949vw;
  background-color: #0A2D88;
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .is-problem .p-case-task__item::before {
    translate: 0 0.4em;
  }
}
@media (min-width: 768px) {
  .is-problem .p-case-task__item::before {
    width: min(7px, 0.5555555556vw);
    height: min(7px, 0.5555555556vw);
  }
}
.is-solution .p-case-task__item {
  gap: 3.5897435897vw;
}
@media (min-width: 768px) {
  .is-solution .p-case-task__item {
    gap: min(14px, 1.1111111111vw);
  }
}
.is-solution .p-case-task__item::before {
  width: 5.8974358974vw;
  height: 5.8974358974vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/square_check.svg);
}
@media (min-width: 768px) {
  .is-solution .p-case-task__item::before {
    width: min(23px, 1.8253968254vw);
    height: min(23px, 1.8253968254vw);
  }
}
@media (max-width: 767.98px) {
  .is-solution .p-case-task__item p {
    font-size: 4.1025641026vw;
  }
}
.p-case-task__item::before {
  content: "";
  margin-top: 1.7948717949vw;
  display: block;
}
@media (min-width: 768px) {
  .p-case-task__item::before {
    margin-top: auto;
    margin-bottom: auto;
  }
}
.p-case-task__item p {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  line-height: 1.8;
  font-size: 4.6153846154vw;
}
@media (min-width: 768px) {
  .p-case-task__item p {
    font-size: min(16px, 1.2698412698vw);
  }
}

@media (max-width: 767.98px) {
  .p-contact .c-hero__inner {
    padding-top: 28.2051282051vw;
    padding-bottom: 28.2051282051vw;
  }
}
@media (max-width: 767.98px) {
  .p-contact .c-panel {
    padding-bottom: 17.9487179487vw;
  }
}
.p-contact .c-panel .c-wrap-inner {
  position: relative;
}
.p-contact .c-panel .c-wrap-inner::before {
  content: "";
  margin: auto;
  width: 39.8564102564vw;
  height: 46.8179487179vw;
  display: block;
  position: absolute;
  right: -2.5641025641vw;
  top: -54.4564102564vw;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/contact/img-sp.png);
}
@media (min-width: 768px) {
  .p-contact .c-panel .c-wrap-inner::before {
    width: min(420px, 33.3333333333vw);
    height: min(240px, 19.0476190476vw);
    right: max(-204px, -16.1904761905vw);
    top: max(-296px, -23.4920634921vw);
    background-image: url(../images/contact/img.png);
  }
}
@media (min-width: 768px) {
  .p-contact .c-wrap-inner {
    width: min(800px, 63.4920634921vw);
  }
}
.p-contact__text {
  line-height: 1.8;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .p-contact__text {
    font-size: min(18px, 1.4285714286vw);
  }
}
.p-contact__text strong {
  color: #0A2D88;
}
.p-contact__text + .p-contact__text {
  margin-top: 0.5em;
}
.p-contact__text a {
  color: #0A2D88;
  text-decoration: underline;
}
.p-contact__text a[target=_blank] {
  position: relative;
}
.p-contact__text a[target=_blank]::after {
  content: "";
  margin: 0 0.2em;
  width: 1em;
  height: 1em;
  display: inline-block;
  translate: 0 0.1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../images/common/icon_blank.svg);
}
.p-contact__linkbox {
  margin-top: 12.8205128205vw;
  margin-bottom: 10.2564102564vw;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.5897435897vw;
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-contact__linkbox {
    margin-top: min(40px, 3.1746031746vw);
    margin-bottom: min(40px, 3.1746031746vw);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(14px, 1.1111111111vw);
  }
}
.p-contact__linkbox::before {
  content: "";
  width: 10.7692307692vw;
  height: 7.9487179487vw;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../images/common/btn_blue.svg);
}
@media (min-width: 768px) {
  .p-contact__linkbox::before {
    width: min(42px, 3.3333333333vw);
    height: min(31px, 2.4603174603vw);
  }
}
.p-contact__linkbox .c-text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.p-contact__linkbox .c-text__small {
  font-weight: 400;
}
.p-contact .c-form {
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .p-contact .c-form {
    margin-top: min(40px, 3.1746031746vw);
  }
}
.p-contact .c-form .c-button {
  margin-top: 2.5641025641vw;
}
@media (min-width: 768px) {
  .p-contact .c-form .c-button {
    margin-top: min(16px, 1.2698412698vw);
  }
}
.p-contact__caption {
  margin-top: 17.9487179487vw;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .p-contact__caption {
    margin-top: min(80px, 6.3492063492vw);
    font-size: min(14px, 1.1111111111vw);
  }
}

.snow-monkey-form .smf-form--letter .smf-item {
  padding: 0;
}
.snow-monkey-form .smf-form--letter .smf-item + .smf-item {
  margin-top: 10.2564102564vw;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-form--letter .smf-item + .smf-item {
    margin-top: min(40px, 3.1746031746vw);
  }
}
.snow-monkey-form .smf-form--letter .smf-item__col--label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 2.0512820513vw;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-form--letter .smf-item__col--label {
    padding-bottom: min(8px, 0.6349206349vw);
  }
}
.snow-monkey-form .smf-form .smf-text-control {
  width: 100%;
}
.snow-monkey-form .smf-form .smf-text-control input {
  width: 100%;
  padding: 3.7179487179vw 4.1025641026vw;
  font-size: 4.1025641026vw;
  line-height: 1.7;
  letter-spacing: 0.02em;
  background-color: #fff;
  border: 1px solid #F5F5F5;
  border-radius: 2.0512820513vw;
  font-weight: normal;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-form .smf-text-control input {
    padding: min(14px, 1.1111111111vw) min(16px, 1.2698412698vw);
    font-size: min(16px, 1.2698412698vw);
    border-radius: min(8px, 0.6349206349vw);
  }
}
.snow-monkey-form .smf-form .smf-textarea-control {
  margin-top: 2.0512820513vw;
  width: 100%;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-form .smf-textarea-control {
    margin-top: min(8px, 0.6349206349vw);
  }
}
.snow-monkey-form .smf-form .smf-textarea-control textarea {
  width: 100%;
  min-height: 46.1538461538vw;
  padding: 3.0769230769vw 4.1025641026vw;
  font-size: 4.1025641026vw;
  background-color: #fff;
  border: 1px solid #F5F5F5;
  border-radius: 2.0512820513vw;
  font-weight: normal;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-form .smf-textarea-control textarea {
    min-height: min(140px, 11.1111111111vw);
    padding: min(14.5px, 1.1507936508vw) min(16px, 1.2698412698vw);
    font-size: min(16px, 1.2698412698vw);
    border-radius: min(8px, 0.6349206349vw);
  }
}
.snow-monkey-form .smf-item__description {
  margin-left: 0.5em;
  font-weight: 400;
  line-height: 1;
  color: #ff2c2c;
  font-size: 3.5897435897vw;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-item__description {
    font-size: min(14px, 1.1111111111vw);
  }
}
.snow-monkey-form .smf-radio-buttons-control__control {
  margin-top: 2.0512820513vw;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.0256410256vw;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-radio-buttons-control__control {
    margin-top: min(3px, 0.2380952381vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(20px, 1.5873015873vw);
  }
}
.snow-monkey-form .smf-radio-button-control {
  padding-left: 6.5384615385vw;
  position: relative;
  cursor: pointer;
  font-size: 4.1025641026vw;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-radio-button-control {
    padding-left: min(25.5px, 2.0238095238vw);
    font-size: min(16px, 1.2698412698vw);
  }
}
.snow-monkey-form .smf-radio-button-control::before, .snow-monkey-form .smf-radio-button-control::after {
  content: "";
  margin: auto;
  width: 4.8717948718vw;
  height: 4.8717948718vw;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-radio-button-control::before, .snow-monkey-form .smf-radio-button-control::after {
    width: min(19px, 1.5079365079vw);
    height: min(19px, 1.5079365079vw);
  }
}
.snow-monkey-form .smf-radio-button-control::before {
  background-color: #fff;
  border: 1px solid #d1d7e2;
}
.snow-monkey-form .smf-radio-button-control::after {
  scale: 0;
  background-color: #0A2D88;
}
.snow-monkey-form .smf-radio-button-control:has(input:checked)::before {
  border-color: #0A2D88;
}
.snow-monkey-form .smf-radio-button-control:has(input:checked)::after {
  scale: 0.5;
}
.snow-monkey-form .smf-radio-button-control input {
  display: none;
}
.snow-monkey-form [data-name=privacy-policy] {
  margin-top: 17.9487179487vw;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: block;
  text-align: center;
  gap: 2.5641025641vw;
  font-size: 3.0769230769vw;
}
@media (min-width: 768px) {
  .snow-monkey-form [data-name=privacy-policy] {
    margin-top: min(82px, 6.5079365079vw);
    gap: min(10px, 0.7936507937vw);
    font-size: min(16px, 1.2698412698vw);
  }
}
.snow-monkey-form [data-name=privacy-policy] .smf-error-messages {
  font-weight: 700;
  margin-bottom: 3em;
}
.snow-monkey-form .smf-form .smf-checkbox-control {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.snow-monkey-form .smf-button-control {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}
.snow-monkey-form .smf-button-control__control {
  width: 76.9230769231vw;
  padding: 4.1025641026vw 12.8205128205vw;
  display: block;
  position: relative;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  background-color: #0A2D88;
  border-radius: 4em;
  background-image: none;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-button-control__control {
    width: min(400px, 31.746031746vw);
    padding: min(16px, 1.2698412698vw) min(60px, 4.7619047619vw);
    font-size: min(20px, 1.5873015873vw);
  }
  .snow-monkey-form .smf-button-control__control:hover {
    background-color: #235FFB;
  }
}
.snow-monkey-form .smf-button-control__control::before {
  content: "";
  margin-top: auto;
  margin-bottom: auto;
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/common/arrow_white_right.svg);
  mask-image: url(../images/common/arrow_white_right.svg);
  background-color: #fff;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-button-control__control::before {
    width: min(10px, 0.7936507937vw);
    height: min(17px, 1.3492063492vw);
  }
}
.snow-monkey-form .smf-button-control__control:not(.is-back)::before {
  right: 6.1538461538vw;
}
@media (min-width: 768px) {
  .snow-monkey-form .smf-button-control__control:not(.is-back)::before {
    right: min(30px, 2.380952381vw);
  }
}
.snow-monkey-form [data-name=privacy-policy] .smf-checkbox-control__label a {
  text-decoration: underline;
}
@media (max-width: 767.98px) {
  .snow-monkey-form .smf-form--letter + .smf-action {
    margin-top: 2.5641025641vw;
    margin-bottom: 0;
  }
}

.contact .l-contact {
  display: none;
}

/*--------------------------------------*
 * helper
 *--------------------------------------*/
.has-black-background-color {
  background-color: #000;
}

.has-black-color {
  color: #000;
}

.has-red-background-color {
  background-color: #FF0404;
}

.has-red-color {
  color: #FF0404;
}

.has-green-background-color {
  background-color: #287547;
}

.has-green-color {
  color: #287547;
}

.has-light-green-background-color {
  background-color: #35A662;
}

.has-light-green-color {
  color: #35A662;
}

.has-white-background-color {
  background-color: #FFF;
}

.has-white-color {
  color: #FFF;
}

.grid {
  display: grid;
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .grid {
    gap: 30px;
  }
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .pc-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .pc-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sp-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sp-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.gap-0 {
  gap: 0vw;
}
@media (min-width: 768px) {
  .gap-0 {
    gap: 0px;
  }
}

@media (min-width: 768px) {
  .pc-gap-0 {
    gap: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-0 {
    gap: 0vw !important;
  }
}

.gap-x-0x {
  -webkit-column-gap: 0vw;
  -moz-column-gap: 0vw;
  column-gap: 0vw;
}
@media (min-width: 768px) {
  .gap-x-0x {
    -webkit-column-gap: 0px;
    -moz-column-gap: 0px;
    column-gap: 0px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-0 {
    -webkit-column-gap: 0px !important;
    -moz-column-gap: 0px !important;
    column-gap: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-0 {
    -webkit-column-gap: 0vw !important;
    -moz-column-gap: 0vw !important;
    column-gap: 0vw !important;
  }
}

.gap-10 {
  gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .gap-10 {
    gap: 10px;
  }
}

@media (min-width: 768px) {
  .pc-gap-10 {
    gap: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-10 {
    gap: 2.5641025641vw !important;
  }
}

.gap-x-10x {
  -webkit-column-gap: 2.5641025641vw;
  -moz-column-gap: 2.5641025641vw;
  column-gap: 2.5641025641vw;
}
@media (min-width: 768px) {
  .gap-x-10x {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-10 {
    -webkit-column-gap: 10px !important;
    -moz-column-gap: 10px !important;
    column-gap: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-10 {
    -webkit-column-gap: 2.5641025641vw !important;
    -moz-column-gap: 2.5641025641vw !important;
    column-gap: 2.5641025641vw !important;
  }
}

.gap-20 {
  gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .gap-20 {
    gap: 20px;
  }
}

@media (min-width: 768px) {
  .pc-gap-20 {
    gap: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-20 {
    gap: 5.1282051282vw !important;
  }
}

.gap-x-20x {
  -webkit-column-gap: 5.1282051282vw;
  -moz-column-gap: 5.1282051282vw;
  column-gap: 5.1282051282vw;
}
@media (min-width: 768px) {
  .gap-x-20x {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-20 {
    -webkit-column-gap: 20px !important;
    -moz-column-gap: 20px !important;
    column-gap: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-20 {
    -webkit-column-gap: 5.1282051282vw !important;
    -moz-column-gap: 5.1282051282vw !important;
    column-gap: 5.1282051282vw !important;
  }
}

.gap-30 {
  gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .gap-30 {
    gap: 30px;
  }
}

@media (min-width: 768px) {
  .pc-gap-30 {
    gap: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-30 {
    gap: 7.6923076923vw !important;
  }
}

.gap-x-30x {
  -webkit-column-gap: 7.6923076923vw;
  -moz-column-gap: 7.6923076923vw;
  column-gap: 7.6923076923vw;
}
@media (min-width: 768px) {
  .gap-x-30x {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-30 {
    -webkit-column-gap: 30px !important;
    -moz-column-gap: 30px !important;
    column-gap: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-30 {
    -webkit-column-gap: 7.6923076923vw !important;
    -moz-column-gap: 7.6923076923vw !important;
    column-gap: 7.6923076923vw !important;
  }
}

.gap-40 {
  gap: 10.2564102564vw;
}
@media (min-width: 768px) {
  .gap-40 {
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .pc-gap-40 {
    gap: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-40 {
    gap: 10.2564102564vw !important;
  }
}

.gap-x-40x {
  -webkit-column-gap: 10.2564102564vw;
  -moz-column-gap: 10.2564102564vw;
  column-gap: 10.2564102564vw;
}
@media (min-width: 768px) {
  .gap-x-40x {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-40 {
    -webkit-column-gap: 40px !important;
    -moz-column-gap: 40px !important;
    column-gap: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-40 {
    -webkit-column-gap: 10.2564102564vw !important;
    -moz-column-gap: 10.2564102564vw !important;
    column-gap: 10.2564102564vw !important;
  }
}

.gap-50 {
  gap: 12.8205128205vw;
}
@media (min-width: 768px) {
  .gap-50 {
    gap: 50px;
  }
}

@media (min-width: 768px) {
  .pc-gap-50 {
    gap: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-50 {
    gap: 12.8205128205vw !important;
  }
}

.gap-x-50x {
  -webkit-column-gap: 12.8205128205vw;
  -moz-column-gap: 12.8205128205vw;
  column-gap: 12.8205128205vw;
}
@media (min-width: 768px) {
  .gap-x-50x {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-50 {
    -webkit-column-gap: 50px !important;
    -moz-column-gap: 50px !important;
    column-gap: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-50 {
    -webkit-column-gap: 12.8205128205vw !important;
    -moz-column-gap: 12.8205128205vw !important;
    column-gap: 12.8205128205vw !important;
  }
}

.gap-60 {
  gap: 15.3846153846vw;
}
@media (min-width: 768px) {
  .gap-60 {
    gap: 60px;
  }
}

@media (min-width: 768px) {
  .pc-gap-60 {
    gap: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-60 {
    gap: 15.3846153846vw !important;
  }
}

.gap-x-60x {
  -webkit-column-gap: 15.3846153846vw;
  -moz-column-gap: 15.3846153846vw;
  column-gap: 15.3846153846vw;
}
@media (min-width: 768px) {
  .gap-x-60x {
    -webkit-column-gap: 60px;
    -moz-column-gap: 60px;
    column-gap: 60px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-60 {
    -webkit-column-gap: 60px !important;
    -moz-column-gap: 60px !important;
    column-gap: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-60 {
    -webkit-column-gap: 15.3846153846vw !important;
    -moz-column-gap: 15.3846153846vw !important;
    column-gap: 15.3846153846vw !important;
  }
}

/* display
========================================================================== */
.none {
  display: none !important;
}

.block {
  display: block !important;
}

@media (min-width: 768px) {
  .pc-block {
    display: block !important;
  }
}

@media (max-width: 767.98px) {
  .sp-block {
    display: block !important;
  }
}

.inline {
  display: inline !important;
}

.inline-block {
  display: inline-block !important;
}

@media (min-width: 768px) {
  .pc-table-cell {
    display: table-cell !important;
  }
}

.flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

/* width
========================================================================== */
.w-0p {
  width: 0% !important;
}

.w-5p {
  width: 5% !important;
}

.w-10p {
  width: 10% !important;
}

.w-15p {
  width: 15% !important;
}

.w-20p {
  width: 20% !important;
}

.w-25p {
  width: 25% !important;
}

.w-30p {
  width: 30% !important;
}

.w-35p {
  width: 35% !important;
}

.w-40p {
  width: 40% !important;
}

.w-45p {
  width: 45% !important;
}

.w-50p {
  width: 50% !important;
}

.w-55p {
  width: 55% !important;
}

.w-60p {
  width: 60% !important;
}

.w-65p {
  width: 65% !important;
}

.w-70p {
  width: 70% !important;
}

.w-75p {
  width: 75% !important;
}

.w-80p {
  width: 80% !important;
}

.w-85p {
  width: 85% !important;
}

.w-90p {
  width: 90% !important;
}

.w-95p {
  width: 95% !important;
}

.w-100p {
  width: 100% !important;
}

.w-max {
  width: 100%;
}

.w-full {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}

.max-w-886 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

/* centering
========================================================================== */
.centering {
  margin-right: auto;
  margin-left: auto;
}

/* text
========================================================================== */
.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

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

.text-justify {
  text-align: justify !important;
}

.uppearcase {
  text-transform: uppercase;
}

.nowrap {
  white-space: nowrap;
}

.text-indent {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

/* bg
========================================================================== */
.border-none {
  border: none !important;
}

.border-bottom-none {
  border-bottom: none !important;
}

/* PC
========================================================================== */
@media (max-width: 767.98px) {
  .pc-only {
    display: none !important;
  }
}

/* SP
========================================================================== */
@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

/* padding margin
========================================================================== */
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.m-0 {
  margin: 0vw !important;
}
@media (min-width: 768px) {
  .m-0 {
    margin: 0px !important;
  }
}

.mt-0 {
  margin-top: 0vw !important;
}
@media (min-width: 768px) {
  .mt-0 {
    margin-top: 0px !important;
  }
}

.mb-0 {
  margin-bottom: 0vw !important;
}
@media (min-width: 768px) {
  .mb-0 {
    margin-bottom: 0px !important;
  }
}

.ml-0 {
  margin-left: 0vw !important;
}
@media (min-width: 768px) {
  .ml-0 {
    margin-left: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-0 {
    margin-top: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-0 {
    margin-bottom: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-0 {
    margin-top: 0vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-0 {
    margin-bottom: 0vw !important;
  }
}

.p-0 {
  padding: 0vw !important;
}
@media (min-width: 768px) {
  .p-0 {
    padding: 0px !important;
  }
}

.pt-0 {
  padding-top: 0vw !important;
}
@media (min-width: 768px) {
  .pt-0 {
    padding-top: 0px !important;
  }
}

.pb-0 {
  padding-bottom: 0vw !important;
}
@media (min-width: 768px) {
  .pb-0 {
    padding-bottom: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-0 {
    padding-top: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-0 {
    padding-bottom: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-0 {
    padding-top: 0vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-0 {
    padding-bottom: 0vw !important;
  }
}

.m-10 {
  margin: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .m-10 {
    margin: 10px !important;
  }
}

.mt-10 {
  margin-top: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .mt-10 {
    margin-top: 10px !important;
  }
}

.mb-10 {
  margin-bottom: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .mb-10 {
    margin-bottom: 10px !important;
  }
}

.ml-10 {
  margin-left: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .ml-10 {
    margin-left: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-10 {
    margin-top: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-10 {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-10 {
    margin-top: 2.5641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-10 {
    margin-bottom: 2.5641025641vw !important;
  }
}

.p-10 {
  padding: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .p-10 {
    padding: 10px !important;
  }
}

.pt-10 {
  padding-top: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .pt-10 {
    padding-top: 10px !important;
  }
}

.pb-10 {
  padding-bottom: 2.5641025641vw !important;
}
@media (min-width: 768px) {
  .pb-10 {
    padding-bottom: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-10 {
    padding-top: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-10 {
    padding-bottom: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-10 {
    padding-top: 2.5641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-10 {
    padding-bottom: 2.5641025641vw !important;
  }
}

.m-20 {
  margin: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .m-20 {
    margin: 20px !important;
  }
}

.mt-20 {
  margin-top: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .mt-20 {
    margin-top: 20px !important;
  }
}

.mb-20 {
  margin-bottom: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .mb-20 {
    margin-bottom: 20px !important;
  }
}

.ml-20 {
  margin-left: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .ml-20 {
    margin-left: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-20 {
    margin-top: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-20 {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-20 {
    margin-top: 5.1282051282vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-20 {
    margin-bottom: 5.1282051282vw !important;
  }
}

.p-20 {
  padding: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .p-20 {
    padding: 20px !important;
  }
}

.pt-20 {
  padding-top: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .pt-20 {
    padding-top: 20px !important;
  }
}

.pb-20 {
  padding-bottom: 5.1282051282vw !important;
}
@media (min-width: 768px) {
  .pb-20 {
    padding-bottom: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-20 {
    padding-top: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-20 {
    padding-bottom: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-20 {
    padding-top: 5.1282051282vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-20 {
    padding-bottom: 5.1282051282vw !important;
  }
}

.m-30 {
  margin: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .m-30 {
    margin: 30px !important;
  }
}

.mt-30 {
  margin-top: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .mt-30 {
    margin-top: 30px !important;
  }
}

.mb-30 {
  margin-bottom: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .mb-30 {
    margin-bottom: 30px !important;
  }
}

.ml-30 {
  margin-left: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .ml-30 {
    margin-left: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-30 {
    margin-top: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-30 {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-30 {
    margin-top: 7.6923076923vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-30 {
    margin-bottom: 7.6923076923vw !important;
  }
}

.p-30 {
  padding: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .p-30 {
    padding: 30px !important;
  }
}

.pt-30 {
  padding-top: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .pt-30 {
    padding-top: 30px !important;
  }
}

.pb-30 {
  padding-bottom: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .pb-30 {
    padding-bottom: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-30 {
    padding-top: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-30 {
    padding-bottom: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-30 {
    padding-top: 7.6923076923vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-30 {
    padding-bottom: 7.6923076923vw !important;
  }
}

.m-40 {
  margin: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .m-40 {
    margin: 40px !important;
  }
}

.mt-40 {
  margin-top: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .mt-40 {
    margin-top: 40px !important;
  }
}

.mb-40 {
  margin-bottom: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .mb-40 {
    margin-bottom: 40px !important;
  }
}

.ml-40 {
  margin-left: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .ml-40 {
    margin-left: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-40 {
    margin-top: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-40 {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-40 {
    margin-top: 10.2564102564vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-40 {
    margin-bottom: 10.2564102564vw !important;
  }
}

.p-40 {
  padding: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .p-40 {
    padding: 40px !important;
  }
}

.pt-40 {
  padding-top: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .pt-40 {
    padding-top: 40px !important;
  }
}

.pb-40 {
  padding-bottom: 10.2564102564vw !important;
}
@media (min-width: 768px) {
  .pb-40 {
    padding-bottom: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-40 {
    padding-top: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-40 {
    padding-bottom: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-40 {
    padding-top: 10.2564102564vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-40 {
    padding-bottom: 10.2564102564vw !important;
  }
}

.m-50 {
  margin: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .m-50 {
    margin: 50px !important;
  }
}

.mt-50 {
  margin-top: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .mt-50 {
    margin-top: 50px !important;
  }
}

.mb-50 {
  margin-bottom: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .mb-50 {
    margin-bottom: 50px !important;
  }
}

.ml-50 {
  margin-left: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .ml-50 {
    margin-left: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-50 {
    margin-top: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-50 {
    margin-bottom: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-50 {
    margin-top: 12.8205128205vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-50 {
    margin-bottom: 12.8205128205vw !important;
  }
}

.p-50 {
  padding: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .p-50 {
    padding: 50px !important;
  }
}

.pt-50 {
  padding-top: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .pt-50 {
    padding-top: 50px !important;
  }
}

.pb-50 {
  padding-bottom: 12.8205128205vw !important;
}
@media (min-width: 768px) {
  .pb-50 {
    padding-bottom: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-50 {
    padding-top: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-50 {
    padding-bottom: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-50 {
    padding-top: 12.8205128205vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-50 {
    padding-bottom: 12.8205128205vw !important;
  }
}

.m-60 {
  margin: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .m-60 {
    margin: 60px !important;
  }
}

.mt-60 {
  margin-top: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .mt-60 {
    margin-top: 60px !important;
  }
}

.mb-60 {
  margin-bottom: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .mb-60 {
    margin-bottom: 60px !important;
  }
}

.ml-60 {
  margin-left: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .ml-60 {
    margin-left: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-60 {
    margin-top: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-60 {
    margin-bottom: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-60 {
    margin-top: 15.3846153846vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-60 {
    margin-bottom: 15.3846153846vw !important;
  }
}

.p-60 {
  padding: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .p-60 {
    padding: 60px !important;
  }
}

.pt-60 {
  padding-top: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .pt-60 {
    padding-top: 60px !important;
  }
}

.pb-60 {
  padding-bottom: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .pb-60 {
    padding-bottom: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-60 {
    padding-top: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-60 {
    padding-bottom: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-60 {
    padding-top: 15.3846153846vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-60 {
    padding-bottom: 15.3846153846vw !important;
  }
}

.m-70 {
  margin: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .m-70 {
    margin: 70px !important;
  }
}

.mt-70 {
  margin-top: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .mt-70 {
    margin-top: 70px !important;
  }
}

.mb-70 {
  margin-bottom: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .mb-70 {
    margin-bottom: 70px !important;
  }
}

.ml-70 {
  margin-left: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .ml-70 {
    margin-left: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-70 {
    margin-top: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-70 {
    margin-bottom: 70px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-70 {
    margin-top: 17.9487179487vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-70 {
    margin-bottom: 17.9487179487vw !important;
  }
}

.p-70 {
  padding: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .p-70 {
    padding: 70px !important;
  }
}

.pt-70 {
  padding-top: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .pt-70 {
    padding-top: 70px !important;
  }
}

.pb-70 {
  padding-bottom: 17.9487179487vw !important;
}
@media (min-width: 768px) {
  .pb-70 {
    padding-bottom: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-70 {
    padding-top: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-70 {
    padding-bottom: 70px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-70 {
    padding-top: 17.9487179487vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-70 {
    padding-bottom: 17.9487179487vw !important;
  }
}

.m-80 {
  margin: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .m-80 {
    margin: 80px !important;
  }
}

.mt-80 {
  margin-top: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .mt-80 {
    margin-top: 80px !important;
  }
}

.mb-80 {
  margin-bottom: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .mb-80 {
    margin-bottom: 80px !important;
  }
}

.ml-80 {
  margin-left: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .ml-80 {
    margin-left: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-80 {
    margin-top: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-80 {
    margin-bottom: 80px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-80 {
    margin-top: 20.5128205128vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-80 {
    margin-bottom: 20.5128205128vw !important;
  }
}

.p-80 {
  padding: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .p-80 {
    padding: 80px !important;
  }
}

.pt-80 {
  padding-top: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .pt-80 {
    padding-top: 80px !important;
  }
}

.pb-80 {
  padding-bottom: 20.5128205128vw !important;
}
@media (min-width: 768px) {
  .pb-80 {
    padding-bottom: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-80 {
    padding-top: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-80 {
    padding-bottom: 80px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-80 {
    padding-top: 20.5128205128vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-80 {
    padding-bottom: 20.5128205128vw !important;
  }
}

.m-90 {
  margin: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .m-90 {
    margin: 90px !important;
  }
}

.mt-90 {
  margin-top: 46.1538461538vw !important;
}
@media (min-width: 768px) {
  .mt-90 {
    margin-top: 90px !important;
  }
}

.mb-90 {
  margin-bottom: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .mb-90 {
    margin-bottom: 90px !important;
  }
}

.ml-90 {
  margin-left: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .ml-90 {
    margin-left: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-90 {
    margin-top: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-90 {
    margin-bottom: 90px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-90 {
    margin-top: 23.0769230769vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-90 {
    margin-bottom: 23.0769230769vw !important;
  }
}

.p-90 {
  padding: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .p-90 {
    padding: 90px !important;
  }
}

.pt-90 {
  padding-top: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .pt-90 {
    padding-top: 90px !important;
  }
}

.pb-90 {
  padding-bottom: 23.0769230769vw !important;
}
@media (min-width: 768px) {
  .pb-90 {
    padding-bottom: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-90 {
    padding-top: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-90 {
    padding-bottom: 90px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-90 {
    padding-top: 23.0769230769vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-90 {
    padding-bottom: 23.0769230769vw !important;
  }
}

.m-100 {
  margin: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .m-100 {
    margin: 100px !important;
  }
}

.mt-100 {
  margin-top: 51.2820512821vw !important;
}
@media (min-width: 768px) {
  .mt-100 {
    margin-top: 100px !important;
  }
}

.mb-100 {
  margin-bottom: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .mb-100 {
    margin-bottom: 100px !important;
  }
}

.ml-100 {
  margin-left: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .ml-100 {
    margin-left: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-100 {
    margin-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-100 {
    margin-bottom: 100px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-100 {
    margin-top: 25.641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-100 {
    margin-bottom: 25.641025641vw !important;
  }
}

.p-100 {
  padding: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .p-100 {
    padding: 100px !important;
  }
}

.pt-100 {
  padding-top: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .pt-100 {
    padding-top: 100px !important;
  }
}

.pb-100 {
  padding-bottom: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-100 {
    padding-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-100 {
    padding-top: 25.641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-100 {
    padding-bottom: 25.641025641vw !important;
  }
}

.m-110 {
  margin: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .m-110 {
    margin: 110px !important;
  }
}

.mt-110 {
  margin-top: 56.4102564103vw !important;
}
@media (min-width: 768px) {
  .mt-110 {
    margin-top: 110px !important;
  }
}

.mb-110 {
  margin-bottom: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .mb-110 {
    margin-bottom: 110px !important;
  }
}

.ml-110 {
  margin-left: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .ml-110 {
    margin-left: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-110 {
    margin-top: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-110 {
    margin-bottom: 110px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-110 {
    margin-top: 28.2051282051vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-110 {
    margin-bottom: 28.2051282051vw !important;
  }
}

.p-110 {
  padding: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .p-110 {
    padding: 110px !important;
  }
}

.pt-110 {
  padding-top: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .pt-110 {
    padding-top: 110px !important;
  }
}

.pb-110 {
  padding-bottom: 28.2051282051vw !important;
}
@media (min-width: 768px) {
  .pb-110 {
    padding-bottom: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-110 {
    padding-top: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-110 {
    padding-bottom: 110px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-110 {
    padding-top: 28.2051282051vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-110 {
    padding-bottom: 28.2051282051vw !important;
  }
}

.m-120 {
  margin: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .m-120 {
    margin: 120px !important;
  }
}

.mt-120 {
  margin-top: 61.5384615385vw !important;
}
@media (min-width: 768px) {
  .mt-120 {
    margin-top: 120px !important;
  }
}

.mb-120 {
  margin-bottom: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .mb-120 {
    margin-bottom: 120px !important;
  }
}

.ml-120 {
  margin-left: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .ml-120 {
    margin-left: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-120 {
    margin-top: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-120 {
    margin-bottom: 120px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-120 {
    margin-top: 30.7692307692vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-120 {
    margin-bottom: 30.7692307692vw !important;
  }
}

.p-120 {
  padding: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .p-120 {
    padding: 120px !important;
  }
}

.pt-120 {
  padding-top: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .pt-120 {
    padding-top: 120px !important;
  }
}

.pb-120 {
  padding-bottom: 30.7692307692vw !important;
}
@media (min-width: 768px) {
  .pb-120 {
    padding-bottom: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-120 {
    padding-top: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-120 {
    padding-bottom: 120px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-120 {
    padding-top: 30.7692307692vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-120 {
    padding-bottom: 30.7692307692vw !important;
  }
}

.m-130 {
  margin: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-130 {
    margin: 130px !important;
  }
}

.mt-130 {
  margin-top: 66.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-130 {
    margin-top: 130px !important;
  }
}

.mb-130 {
  margin-bottom: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-130 {
    margin-bottom: 130px !important;
  }
}

.ml-130 {
  margin-left: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-130 {
    margin-left: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-130 {
    margin-top: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-130 {
    margin-bottom: 130px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-130 {
    margin-top: 33.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-130 {
    margin-bottom: 33.3333333333vw !important;
  }
}

.p-130 {
  padding: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-130 {
    padding: 130px !important;
  }
}

.pt-130 {
  padding-top: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-130 {
    padding-top: 130px !important;
  }
}

.pb-130 {
  padding-bottom: 33.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-130 {
    padding-bottom: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-130 {
    padding-top: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-130 {
    padding-bottom: 130px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-130 {
    padding-top: 33.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-130 {
    padding-bottom: 33.3333333333vw !important;
  }
}

.m-140 {
  margin: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .m-140 {
    margin: 140px !important;
  }
}

.mt-140 {
  margin-top: 71.7948717949vw !important;
}
@media (min-width: 768px) {
  .mt-140 {
    margin-top: 140px !important;
  }
}

.mb-140 {
  margin-bottom: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .mb-140 {
    margin-bottom: 140px !important;
  }
}

.ml-140 {
  margin-left: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .ml-140 {
    margin-left: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-140 {
    margin-top: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-140 {
    margin-bottom: 140px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-140 {
    margin-top: 35.8974358974vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-140 {
    margin-bottom: 35.8974358974vw !important;
  }
}

.p-140 {
  padding: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .p-140 {
    padding: 140px !important;
  }
}

.pt-140 {
  padding-top: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .pt-140 {
    padding-top: 140px !important;
  }
}

.pb-140 {
  padding-bottom: 35.8974358974vw !important;
}
@media (min-width: 768px) {
  .pb-140 {
    padding-bottom: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-140 {
    padding-top: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-140 {
    padding-bottom: 140px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-140 {
    padding-top: 35.8974358974vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-140 {
    padding-bottom: 35.8974358974vw !important;
  }
}

.m-150 {
  margin: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .m-150 {
    margin: 150px !important;
  }
}

.mt-150 {
  margin-top: 76.9230769231vw !important;
}
@media (min-width: 768px) {
  .mt-150 {
    margin-top: 150px !important;
  }
}

.mb-150 {
  margin-bottom: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .mb-150 {
    margin-bottom: 150px !important;
  }
}

.ml-150 {
  margin-left: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .ml-150 {
    margin-left: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-150 {
    margin-top: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-150 {
    margin-bottom: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-150 {
    margin-top: 38.4615384615vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-150 {
    margin-bottom: 38.4615384615vw !important;
  }
}

.p-150 {
  padding: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .p-150 {
    padding: 150px !important;
  }
}

.pt-150 {
  padding-top: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .pt-150 {
    padding-top: 150px !important;
  }
}

.pb-150 {
  padding-bottom: 38.4615384615vw !important;
}
@media (min-width: 768px) {
  .pb-150 {
    padding-bottom: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-150 {
    padding-top: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-150 {
    padding-bottom: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-150 {
    padding-top: 38.4615384615vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-150 {
    padding-bottom: 38.4615384615vw !important;
  }
}

.m-160 {
  margin: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .m-160 {
    margin: 160px !important;
  }
}

.mt-160 {
  margin-top: 82.0512820513vw !important;
}
@media (min-width: 768px) {
  .mt-160 {
    margin-top: 160px !important;
  }
}

.mb-160 {
  margin-bottom: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .mb-160 {
    margin-bottom: 160px !important;
  }
}

.ml-160 {
  margin-left: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .ml-160 {
    margin-left: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-160 {
    margin-top: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-160 {
    margin-bottom: 160px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-160 {
    margin-top: 41.0256410256vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-160 {
    margin-bottom: 41.0256410256vw !important;
  }
}

.p-160 {
  padding: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .p-160 {
    padding: 160px !important;
  }
}

.pt-160 {
  padding-top: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .pt-160 {
    padding-top: 160px !important;
  }
}

.pb-160 {
  padding-bottom: 41.0256410256vw !important;
}
@media (min-width: 768px) {
  .pb-160 {
    padding-bottom: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-160 {
    padding-top: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-160 {
    padding-bottom: 160px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-160 {
    padding-top: 41.0256410256vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-160 {
    padding-bottom: 41.0256410256vw !important;
  }
}

.mt-1em {
  margin-top: 1em !important;
}

.mb-1em {
  margin-bottom: 1em !important;
}

@media (min-width: 768px) {
  .pc-mt-1em {
    margin-top: 1em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-1em {
    margin-bottom: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-1em {
    margin-top: 0.2564102564vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-1em {
    margin-bottom: 0.2564102564vw !important;
  }
}

.pt-1em {
  padding-top: 1em !important;
}

.pb-1em {
  padding-bottom: 1em !important;
}

@media (min-width: 768px) {
  .pc-pt-1em {
    padding-top: 1em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-1em {
    padding-bottom: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-1em {
    padding-top: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-1em {
    padding-bottom: 1em !important;
  }
}

.mt-2em {
  margin-top: 2em !important;
}

.mb-2em {
  margin-bottom: 2em !important;
}

@media (min-width: 768px) {
  .pc-mt-2em {
    margin-top: 2em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-2em {
    margin-bottom: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-2em {
    margin-top: 0.5128205128vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-2em {
    margin-bottom: 0.5128205128vw !important;
  }
}

.pt-2em {
  padding-top: 2em !important;
}

.pb-2em {
  padding-bottom: 2em !important;
}

@media (min-width: 768px) {
  .pc-pt-2em {
    padding-top: 2em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-2em {
    padding-bottom: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-2em {
    padding-top: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-2em {
    padding-bottom: 2em !important;
  }
}

.mt-3em {
  margin-top: 3em !important;
}

.mb-3em {
  margin-bottom: 3em !important;
}

@media (min-width: 768px) {
  .pc-mt-3em {
    margin-top: 3em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-3em {
    margin-bottom: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-3em {
    margin-top: 0.7692307692vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-3em {
    margin-bottom: 0.7692307692vw !important;
  }
}

.pt-3em {
  padding-top: 3em !important;
}

.pb-3em {
  padding-bottom: 3em !important;
}

@media (min-width: 768px) {
  .pc-pt-3em {
    padding-top: 3em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-3em {
    padding-bottom: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-3em {
    padding-top: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-3em {
    padding-bottom: 3em !important;
  }
}

.mt-4em {
  margin-top: 4em !important;
}

.mb-4em {
  margin-bottom: 4em !important;
}

@media (min-width: 768px) {
  .pc-mt-4em {
    margin-top: 4em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-4em {
    margin-bottom: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-4em {
    margin-top: 1.0256410256vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-4em {
    margin-bottom: 1.0256410256vw !important;
  }
}

.pt-4em {
  padding-top: 4em !important;
}

.pb-4em {
  padding-bottom: 4em !important;
}

@media (min-width: 768px) {
  .pc-pt-4em {
    padding-top: 4em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-4em {
    padding-bottom: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-4em {
    padding-top: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-4em {
    padding-bottom: 4em !important;
  }
}

.mt-5em {
  margin-top: 5em !important;
}

.mb-5em {
  margin-bottom: 5em !important;
}

@media (min-width: 768px) {
  .pc-mt-5em {
    margin-top: 5em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-5em {
    margin-bottom: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-5em {
    margin-top: 1.2820512821vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-5em {
    margin-bottom: 1.2820512821vw !important;
  }
}

.pt-5em {
  padding-top: 5em !important;
}

.pb-5em {
  padding-bottom: 5em !important;
}

@media (min-width: 768px) {
  .pc-pt-5em {
    padding-top: 5em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-5em {
    padding-bottom: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-5em {
    padding-top: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-5em {
    padding-bottom: 5em !important;
  }
}

.mt-6em {
  margin-top: 6em !important;
}

.mb-6em {
  margin-bottom: 6em !important;
}

@media (min-width: 768px) {
  .pc-mt-6em {
    margin-top: 6em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-6em {
    margin-bottom: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-6em {
    margin-top: 1.5384615385vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-6em {
    margin-bottom: 1.5384615385vw !important;
  }
}

.pt-6em {
  padding-top: 6em !important;
}

.pb-6em {
  padding-bottom: 6em !important;
}

@media (min-width: 768px) {
  .pc-pt-6em {
    padding-top: 6em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-6em {
    padding-bottom: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-6em {
    padding-top: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-6em {
    padding-bottom: 6em !important;
  }
}

.mt-7em {
  margin-top: 7em !important;
}

.mb-7em {
  margin-bottom: 7em !important;
}

@media (min-width: 768px) {
  .pc-mt-7em {
    margin-top: 7em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-7em {
    margin-bottom: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-7em {
    margin-top: 1.7948717949vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-7em {
    margin-bottom: 1.7948717949vw !important;
  }
}

.pt-7em {
  padding-top: 7em !important;
}

.pb-7em {
  padding-bottom: 7em !important;
}

@media (min-width: 768px) {
  .pc-pt-7em {
    padding-top: 7em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-7em {
    padding-bottom: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-7em {
    padding-top: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-7em {
    padding-bottom: 7em !important;
  }
}

.mt-8em {
  margin-top: 8em !important;
}

.mb-8em {
  margin-bottom: 8em !important;
}

@media (min-width: 768px) {
  .pc-mt-8em {
    margin-top: 8em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-8em {
    margin-bottom: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-8em {
    margin-top: 2.0512820513vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-8em {
    margin-bottom: 2.0512820513vw !important;
  }
}

.pt-8em {
  padding-top: 8em !important;
}

.pb-8em {
  padding-bottom: 8em !important;
}

@media (min-width: 768px) {
  .pc-pt-8em {
    padding-top: 8em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-8em {
    padding-bottom: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-8em {
    padding-top: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-8em {
    padding-bottom: 8em !important;
  }
}

.mt-9em {
  margin-top: 9em !important;
}

.mb-9em {
  margin-bottom: 9em !important;
}

@media (min-width: 768px) {
  .pc-mt-9em {
    margin-top: 9em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-9em {
    margin-bottom: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-9em {
    margin-top: 2.3076923077vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-9em {
    margin-bottom: 2.3076923077vw !important;
  }
}

.pt-9em {
  padding-top: 9em !important;
}

.pb-9em {
  padding-bottom: 9em !important;
}

@media (min-width: 768px) {
  .pc-pt-9em {
    padding-top: 9em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-9em {
    padding-bottom: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-9em {
    padding-top: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-9em {
    padding-bottom: 9em !important;
  }
}

.mt-10em {
  margin-top: 10em !important;
}

.mb-10em {
  margin-bottom: 10em !important;
}

@media (min-width: 768px) {
  .pc-mt-10em {
    margin-top: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-10em {
    margin-bottom: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-10em {
    margin-top: 2.5641025641vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-10em {
    margin-bottom: 2.5641025641vw !important;
  }
}

.pt-10em {
  padding-top: 10em !important;
}

.pb-10em {
  padding-bottom: 10em !important;
}

@media (min-width: 768px) {
  .pc-pt-10em {
    padding-top: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-10em {
    padding-bottom: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-10em {
    padding-top: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-10em {
    padding-bottom: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-pl-2em {
    padding-left: 2em !important;
  }
}

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

.spacer-s {
  margin-top: 7.6923076923vw !important;
}
@media (min-width: 768px) {
  .spacer-s {
    margin-top: 30px !important;
  }
}

.spacer {
  margin-top: 15.3846153846vw !important;
}
@media (min-width: 768px) {
  .spacer {
    margin-top: 60px !important;
  }
}

.spacer-l {
  padding-top: 25.641025641vw !important;
}
@media (min-width: 768px) {
  .spacer-l {
    padding-top: 100px !important;
  }
}

/* Aspect
========================================================================== */
.aspect-auto {
  aspect-ratio: auto;
}

.aspect-video {
  aspect-ratio: 16/9;
}

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

/* ClearFix
========================================================================== */
.clearfix::after {
  clear: both;
  content: "";
  display: block;
}

/* layout
========================================================================== */
.extend-x {
  margin: 0 -6%;
}

.u-fontweight_bold {
  font-weight: bold;
}

.u-ta_l {
  text-align: left;
}

@media (min-width: 768px) {
  .u-ta_l-pc {
    text-align: left;
  }
}

.u-fz_110p {
  font-size: 110%;
}

.u-fz_125p {
  font-size: 125%;
}

@media (max-width: 767.98px) {
  .is-pc {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}

@-webkit-keyframes purun {
  0% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    -webkit-transform: scale(0.9, 0.9) translate(0%, 5%);
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    -webkit-transform: scale(1.3, 0.8) translate(0%, 10%);
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    -webkit-transform: scale(0.8, 1.1) translate(0%, -10%);
    transform: scale(0.8, 1.1) translate(0%, -10%);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
    transform: scale(1, 1) translate(0%, 0%);
  }
}

@keyframes purun {
  0% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    -webkit-transform: scale(0.9, 0.9) translate(0%, 5%);
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    -webkit-transform: scale(1.3, 0.8) translate(0%, 10%);
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    -webkit-transform: scale(0.8, 1.1) translate(0%, -10%);
    transform: scale(0.8, 1.1) translate(0%, -10%);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
    transform: scale(1, 1) translate(0%, 0%);
  }
}
/*# sourceMappingURL=style.css.map */
