/*!*********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./assets/src/scss/style.scss ***!
  \*********************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Jost:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap);
/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./assets/src/scss/style.scss (1) ***!
  \*************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Alegreya+Sans:wght@100;300;400;500;700;800;900&display=swap);
/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./assets/src/scss/style.scss (2) ***!
  \*************************************************************************************************************************/
@charset "UTF-8";
html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

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

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

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

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

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

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

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

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

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

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

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

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

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

ul {
  margin-left: 1.5rem;
}

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

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

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

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

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

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

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

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

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

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

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

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

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

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

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

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

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

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

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

* {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 14px;
    scroll-padding-top: 60px;
  }
}
html:has(.page) {
  font-size: min(1.3793103448vw, 16px);
}
@media screen and (max-width: 768px) {
  html:has(.page) {
    font-size: clamp(14px, 3.7333333333vw, 21px);
  }
}
html .home {
  color: #494f69;
}

body .is-layout-flex {
  display: flex;
}

.main {
  margin-bottom: min(13.8888888889vw, 200px);
}
@media screen and (max-width: 768px) {
  .main {
    margin-bottom: max(32vw, 120px);
  }
}
.main--index {
  margin-bottom: min(10.4166666667vw, 150px);
}

.inner {
  max-width: min(81.9444444444vw, 1180px);
  padding-inline: min(1.3888888889vw, 20px);
  padding-bottom: min(6.9444444444vw, 100px);
  margin: min(4.1666666667vw, 60px) auto 0;
}
@media screen and (max-width: 768px) {
  .inner {
    max-width: 100%;
    padding-inline: max(3.2vw, 12px);
    padding-bottom: 150px;
  }
}
.inner--index {
  max-width: min(79.1666666667vw, 1140px);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .inner--index {
    max-width: max(80vw, 300px);
  }
  .inner--index:has(.about__wrap) {
    max-width: 100%;
  }
}
.inner--item {
  max-width: min(83.3333333333vw, 1200px);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .inner--item {
    max-width: 100%;
    padding-inline: max(3.7333333333vw, 14px) max(3.4666666667vw, 13px);
  }
}
.inner--archive {
  max-width: min(86.1111111111vw, 1240px);
  padding-inline: min(1.3888888889vw, 20px);
  margin: min(2.7777777778vw, 40px) auto 0;
}
@media screen and (max-width: 768px) {
  .inner--archive {
    max-width: 100%;
    padding-inline: max(2.6666666667vw, 10px);
  }
}
.inner--breadcrumbs {
  max-width: min(79.1666666667vw, 1140px);
  margin-inline: auto;
}
.single-item .inner--breadcrumbs, .single-blog .inner--breadcrumbs {
  display: flex;
  align-items: center;
  height: min(4.0972222222vw, 59px);
}

img {
  max-width: 100%;
  height: auto;
}

.is--pc {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .is--pc {
    display: none !important;
  }
}
.is--pc-in {
  display: inline-block !important;
}
@media screen and (max-width: 768px) {
  .is--pc-in {
    display: none !important;
  }
}
.is--pc-flex {
  display: flex !important;
}
@media screen and (max-width: 768px) {
  .is--pc-flex {
    display: none !important;
  }
}
.is--sp {
  display: none !important;
}
.is--sp-flex {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .is--sp {
    display: block !important;
  }
  .is--sp-flex {
    display: flex !important;
  }
  .is--sp-grid {
    display: grid !important;
  }
}

.font--bold-sp {
  font-weight: 700;
}

.btn--catalog-main {
  width: min(21.5517241379vw, 250px);
  height: min(4.3103448276vw, 50px);
}
@media screen and (max-width: 768px) {
  .btn--catalog-main {
    width: max(67.2vw, 252px);
    height: max(10.4vw, 39px);
  }
}
.btn--catalog-main a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: min(1.724137931vw, 20px);
  font-weight: 500;
  color: #fff;
  background: #a688c8;
  border: 1px solid #a688c8;
  border-radius: min(8.6206896552vw, 100px);
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .btn--catalog-main a {
    font-size: max(4.2666666667vw, 16px);
    font-weight: 400;
  }
}
.btn--catalog-main a:hover {
  color: #a688c8;
  background: #fff;
}
.btn--catalog-sub {
  width: min(21.5517241379vw, 250px);
  height: min(4.3103448276vw, 50px);
  margin-top: min(1.724137931vw, 20px) !important;
}
@media screen and (max-width: 768px) {
  .btn--catalog-sub {
    width: max(67.2vw, 252px);
    height: max(10.4vw, 39px);
    margin-top: max(5.3333333333vw, 20px) !important;
  }
}
.btn--catalog-sub a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.5517241379vw, 18px);
  border-radius: min(8.6206896552vw, 100px);
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .btn--catalog-sub a {
    font-size: max(4.2666666667vw, 16px);
    font-weight: 400;
  }
}
.btn--catalog-sub a:hover {
  background: #fff;
}
.btn--catalog-banner {
  position: absolute;
  right: min(9.4827586207vw, 110px);
  bottom: min(3.3620689655vw, 39px);
  width: min(31.0344827586vw, 360px);
}
@media screen and (max-width: 768px) {
  .btn--catalog-banner {
    right: initial;
    bottom: 0;
    width: max(84vw, 315px);
  }
}
.btn--catalog-banner a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(4.3103448276vw, 50px);
  color: #fff;
  background: #a688c8;
  border: 1px solid #a688c8;
  border-radius: min(8.6206896552vw, 100px);
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .btn--catalog-banner a {
    height: max(13.3333333333vw, 50px);
    border-radius: 0 0 max(2.6666666667vw, 10px) max(2.6666666667vw, 10px);
  }
}
.btn--catalog-banner a:hover {
  color: #a688c8;
  background: #fff;
}

.has-bg--blue {
  background: #c0dfe4;
}

.more__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(24.3055555556vw, 350px);
  height: min(4.8611111111vw, 70px);
  margin-inline: auto;
  font-family: "Alegreya Sans", sans-serif;
  font-size: min(2.2222222222vw, 32px);
  font-weight: 800;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.04em;
  border-radius: min(6.9444444444vw, 100px);
  transition: 0.5s;
}
.more__link:hover {
  background: rgb(87, 170, 182);
}
@media screen and (max-width: 768px) {
  .more__link {
    width: max(66.6666666667vw, 250px);
    height: max(13.3333333333vw, 50px);
    font-size: max(6.1333333333vw, 23px);
  }
}

.header {
  position: sticky;
  top: 0;
  z-index: 10;
  height: min(6.9444444444vw, 100px);
  background: #fff;
}
@media screen and (max-width: 768px) {
  .header {
    height: max(16vw, 60px);
  }
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1340px;
  height: 100%;
  padding-inline: min(0.6944444444vw, 10px);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .header__inner {
    position: relative;
    padding-inline: max(5.3333333333vw, 20px);
  }
}
.header__logo {
  width: min(10.4166666667vw, 150px);
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: max(26.6666666667vw, 100px);
  }
  .header__logo img {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .header__nav-wrap {
    position: absolute;
    top: max(16vw, 60px);
    left: 0;
    width: 100%;
    height: calc(100vh - max(16vw, 60px));
    padding-top: max(5.3333333333vw, 20px);
    margin-right: initial;
    visibility: hidden;
    background: #fff;
    opacity: 0;
    transition: 0.5s;
  }
}
.header__list {
  display: flex;
  column-gap: min(2.7777777778vw, 40px);
  align-items: center;
  margin-top: min(0.6944444444vw, 10px);
  margin-left: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .header__list {
    flex-direction: column;
    margin-top: 0;
  }
}
.header__list > li {
  position: relative;
  padding-bottom: min(0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  .header__list > li {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .header__list > li {
    width: 100%;
    border-bottom: 0.5px solid #007bd0;
  }
  .header__list > li:has(.sub-menu) > a {
    padding-right: max(7.2vw, 27px);
  }
  .header__list > li:has(.sub-menu) > a::before, .header__list > li:has(.sub-menu) > a::after {
    display: block;
    width: max(5.8666666667vw, 22px);
    height: max(0.5333333333vw, 2px);
    content: "";
    background: url(../6b2f6b3c924d3bfed970.svg) no-repeat;
    background-size: contain;
  }
  .header__list > li:has(.sub-menu) > a::before {
    position: absolute;
    right: max(7.2vw, 27px);
    transition: 0.3s;
    transform: rotate(90deg);
  }
  .header__list > li:has(.sub-menu).is-open a::before {
    transform: rotate(0);
  }
  .header__list > li:not(:has(.sub-menu)) > a {
    padding-right: max(8.2666666667vw, 31px);
  }
  .header__list > li:not(:has(.sub-menu)) > a::after {
    display: block;
    width: max(2.9333333333vw, 11px);
    height: max(4.8vw, 18px);
    content: "";
    background: url(../88639de414fd03382917.svg) no-repeat;
    background-size: contain;
  }
  .header__list > li.is-open .sub-menu {
    display: block;
  }
}
.header__list > li > a {
  font-size: min(1.1111111111vw, 16px);
  color: #574f76;
  text-decoration: none;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .header__list > li > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: max(16.8vw, 63px);
    padding-inline: max(10.6666666667vw, 40px) max(5.8666666667vw, 22px);
    font-size: max(4.2666666667vw, 16px);
    color: #473977;
  }
}
@media screen and (min-width: 769px) {
  .header__list > li:hover .sub-menu {
    display: block;
  }
}
.header__list > li:first-of-type ul {
  width: min(13.8888888889vw, 200px);
}
@media screen and (max-width: 768px) {
  .header__list > li:first-of-type ul {
    width: 100%;
  }
}
.header__list > li:nth-of-type(3) ul {
  width: min(12.8472222222vw, 185px);
}
@media screen and (max-width: 768px) {
  .header__list > li:nth-of-type(3) ul {
    width: 100%;
  }
}
.header__list > li:nth-of-type(6) ul {
  width: min(10.8333333333vw, 156px);
}
@media screen and (max-width: 768px) {
  .header__list > li:nth-of-type(6) ul {
    width: 100%;
  }
}
.header .sub-menu {
  position: absolute;
  left: min(-1.5277777778vw, -22px);
  z-index: 1;
  display: none;
  padding: min(1.3888888889vw, 20px) 0 min(1.3888888889vw, 20px) min(1.3888888889vw, 20px);
  margin-left: 0;
  list-style-type: none;
  background: #a688c8;
  transform: translateY(min(0.6944444444vw, 10px));
}
@media screen and (max-width: 768px) {
  .header .sub-menu {
    position: static;
    width: 100%;
    padding: max(5.3333333333vw, 20px) 0 max(5.3333333333vw, 20px) max(10.6666666667vw, 40px);
    background: #fff;
    border-top: 0.5px solid #007bd0;
    border-bottom: 0.5px solid #007bd0;
    transition: 0.3s;
  }
}
@media screen and (max-width: 768px) {
  .header .sub-menu li {
    overflow: hidden;
  }
}
.header .sub-menu li:not(:last-of-type) {
  margin-bottom: min(1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  .header .sub-menu li:not(:last-of-type) {
    margin-bottom: max(5.3333333333vw, 20px);
  }
}
.header .sub-menu li a {
  display: block;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .header .sub-menu li a {
    display: block;
    width: 100%;
    font-size: max(3.7333333333vw, 14px);
    line-height: 1.4;
    color: #5b5079;
  }
}
.header__hum-wrap {
  display: none;
}
@media screen and (max-width: 768px) {
  .header__hum-wrap {
    display: flex;
    flex-direction: column;
    row-gap: max(1.6vw, 6px);
    justify-content: center;
    width: max(8.5333333333vw, 32px);
    height: max(8.5333333333vw, 32px);
  }
  .header__hum-wrap::before, .header__hum-wrap::after {
    display: block;
    width: max(8vw, 30px);
    height: max(0.8vw, 3px);
    content: "";
    background: #007bd0;
    border-radius: max(0.8vw, 3px);
    transition: 0.3s;
  }
  .header__hum-wrap.is-active::before {
    transform: translateY(max(5.3333333333vw, 20px)) translateX(max(0.5333333333vw, 2px)) rotate(45deg);
    transform-origin: 100% 0;
  }
  .header__hum-wrap.is-active::after {
    transform: translateY(min(-5.0666666667vw, -19px)) rotate(-45deg);
    transform-origin: 100% 0;
  }
  .header__hum-wrap.is-active ~ .header__nav-wrap {
    overflow-y: auto;
    visibility: visible;
    opacity: 1;
  }
}
.header__hum-line {
  width: max(8vw, 30px);
  height: max(0.8vw, 3px);
  background: #007bd0;
  border-radius: max(0.8vw, 3px);
  transition: 0.3s;
}
.is-active .header__hum-line {
  opacity: 0;
}
.header__hum-banner {
  display: none;
  grid-template-columns: repeat(2, 1fr);
  gap: max(1.3333333333vw, 5px);
  margin-top: max(3.2vw, 12px);
  margin-left: 0;
  list-style-type: none;
}

.section__title {
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .section__title {
    font-size: max(5.3333333333vw, 20px);
    line-height: 1.4;
  }
}

.fv__wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/700;
  background: url(../cda94e653db833ff0b57.png) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .fv__wrap {
    aspect-ratio: 375/365;
    background: url(../2c242f8a017d9f500f72.png) no-repeat;
    background-size: cover;
  }
}
.fv__title {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .fv__title {
    top: 28.8vw;
    align-items: flex-start;
    font-size: 0;
  }
}
.fv__title img {
  width: 76.5vw;
}
@media screen and (max-width: 768px) {
  .fv__title img {
    width: 77.86vw;
  }
}
.fv__batch {
  position: absolute;
  right: 4.86vw;
  bottom: -6.04vw;
  width: 13.88vw;
}
@media screen and (max-width: 768px) {
  .fv__batch {
    right: 3.2vw;
    bottom: 1.6vw;
    width: 26.66vw;
  }
}
.fv__batch img {
  width: 100%;
  animation: bounce 2s infinite running;
}

@keyframes bounce {
  0% {
    transform: scale(1, 1) translateY(0);
  }
  49% {
    transform: scale(1, 1) translateY(0);
  }
  50% {
    transform: scale(0.9, 1.05) translateY(0);
  }
  58% {
    transform: scale(1.1, 0.9) translateY(10%);
  }
  65% {
    transform: scale(1, 1) translateY(0);
  }
  73% {
    transform: scale(1.05, 0.95) translateY(5%);
  }
  80% {
    transform: scale(1, 1) translateY(0);
  }
  87% {
    transform: scale(1.02, 0.98) translateY(2%);
  }
  95% {
    transform: scale(1, 1) translateY(0);
  }
  100% {
    transform: scale(1, 1) translateY(0);
  }
}
.overview__wrap {
  padding-top: min(2.7777777778vw, 40px);
}
@media screen and (max-width: 768px) {
  .overview__wrap {
    padding-block: max(6.6666666667vw, 25px);
  }
}
.overview__wrap h2 {
  position: relative;
  margin-bottom: min(2.5vw, 36px);
}
@media screen and (max-width: 768px) {
  .overview__wrap h2 {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: max(8vw, 30px);
  }
}
.overview__wrap h2::after {
  position: absolute;
  bottom: min(0.9027777778vw, 13px);
  width: min(3.6111111111vw, 52px);
  height: min(3.3333333333vw, 48px);
  margin-left: min(0.6944444444vw, 10px);
  content: "";
  background: url(../a01ac327145a910f566d.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .overview__wrap h2::after {
    position: initial;
    display: block;
    width: max(10.1333333333vw, 38px);
    height: max(9.3333333333vw, 35px);
    margin-left: max(1.0666666667vw, 4px);
    transform: translateX(min(-1.3333333333vw, -5px));
  }
}
@media screen and (max-width: 768px) {
  .overview__wrap .inner--index {
    max-width: 100%;
  }
}
.overview__text {
  margin-bottom: min(8.125vw, 117px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .overview__text {
    margin-bottom: max(8vw, 30px);
  }
}
.overview__text img {
  width: min(64.8611111111vw, 934px);
}
@media screen and (max-width: 768px) {
  .overview__text img {
    width: max(89.3333333333vw, 335px);
  }
}
.overview__list {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.0138888889vw, 29px) min(2.7777777778vw, 40px);
  justify-content: center;
  width: min(57.0833333333vw, 822px);
  margin-inline: auto;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .overview__list {
    flex-direction: column;
    row-gap: max(3.7333333333vw, 14px);
    width: 100%;
    padding-inline: max(10.9333333333vw, 41px) max(8vw, 30px);
  }
}
.overview__item {
  display: flex;
  align-items: center;
  height: min(3.1944444444vw, 46px);
  padding-inline: min(1.3888888889vw, 20px);
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.04em;
  background: #007bd0;
  border-radius: min(0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  .overview__item {
    width: fit-content;
    height: auto;
    padding: max(1.6vw, 6px) max(2.6666666667vw, 10px);
    font-size: max(4vw, 15px);
    line-height: 1.3;
    text-align: center;
    border-radius: max(2.6666666667vw, 10px);
  }
  .overview__item:nth-of-type(even) {
    align-self: flex-end;
  }
  .overview__item:first-of-type {
    margin-left: max(2.4vw, 9px);
  }
  .overview__item:nth-of-type(2) {
    margin-right: max(5.3333333333vw, 20px);
  }
  .overview__item:nth-of-type(4) {
    line-height: 1.4;
  }
  .overview__item:last-of-type {
    margin-left: max(3.4666666667vw, 13px);
  }
}

.point__wrap {
  padding-bottom: min(3.4722222222vw, 50px);
  background: #e1f1ff;
}
@media screen and (max-width: 768px) {
  .point__wrap {
    padding-bottom: max(12.5333333333vw, 47px);
  }
}
.point__wrap::before {
  display: block;
  width: 100%;
  height: min(10.4166666667vw, 150px);
  margin-bottom: min(3.9583333333vw, 57px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  background: #fff;
}
@media screen and (max-width: 768px) {
  .point__wrap::before {
    height: max(10.6666666667vw, 40px);
    margin-bottom: max(6.6666666667vw, 25px);
  }
}
.point__wrap h2 {
  margin-bottom: min(5.5555555556vw, 80px);
}
@media screen and (max-width: 768px) {
  .point__wrap h2 {
    margin-bottom: max(16.8vw, 63px);
    line-height: 1.5;
  }
}
.point__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3.0555555556vw, 44px) min(2.0833333333vw, 30px);
  width: min(54.8611111111vw, 790px);
  margin: 0 auto min(3.125vw, 45px);
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .point__list {
    grid-template-columns: 1fr;
    row-gap: max(10.6666666667vw, 40px);
    width: 100%;
    margin-bottom: max(5.3333333333vw, 20px);
  }
}
.point__list::before {
  position: absolute;
  top: max(-6.6666666667vw, -96px);
  left: max(-11.1111111111vw, -160px);
  z-index: 1;
  width: min(14.4444444444vw, 208px);
  height: min(16.5972222222vw, 239px);
  content: "";
  background: url(../551a89644eddb75bb1be.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .point__list::before {
    top: min(-8.3333333333vw, -120px);
    left: min(-2.4vw, -9px);
    width: max(27.7333333333vw, 104px);
    height: max(32vw, 120px);
  }
}
.point__list::after {
  position: absolute;
  right: max(-7.4305555556vw, -107px);
  bottom: max(-3.1944444444vw, -46px);
  z-index: 1;
  width: min(8.75vw, 126px);
  height: min(17.5vw, 252px);
  content: "";
  background: url(../2aaf3a9d99ef4ba905ea.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .point__list::after {
    top: min(-7.7083333333vw, -111px);
    right: max(1.3333333333vw, 5px);
    width: max(14.9333333333vw, 56px);
    height: max(29.6vw, 111px);
  }
}
.point__item {
  position: relative;
  height: min(7.6388888889vw, 110px);
  padding-top: min(2.4305555556vw, 35px);
  text-align: center;
  letter-spacing: 0.04em;
  background: #fff;
  border-radius: min(1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  .point__item {
    height: max(21.3333333333vw, 80px);
    padding-top: max(5.8666666667vw, 22px);
    border-radius: max(2.6666666667vw, 10px);
  }
  .point__item-head {
    font-size: max(3.4666666667vw, 13px);
  }
}
.point__item-title {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(9.3055555556vw, 134px);
  height: min(3.4722222222vw, 50px);
  margin-inline: auto;
  background: #007bd0;
  border-radius: min(6.9444444444vw, 100px);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .point__item-title {
    top: min(-5.3333333333vw, -20px);
    width: max(26.4vw, 99px);
    height: max(9.8666666667vw, 37px);
  }
  .point__item-title picture {
    font-size: 0;
  }
}
.point__item-text {
  font-size: min(1.3888888889vw, 20px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .point__item-text {
    font-size: max(4.2666666667vw, 16px);
  }
}
.point__item:first-of-type img {
  width: min(5.6944444444vw, 82px);
}
@media screen and (max-width: 768px) {
  .point__item:first-of-type img {
    width: max(16vw, 60px);
  }
}
.point__item:last-of-type img {
  width: min(6.25vw, 90px);
}
@media screen and (max-width: 768px) {
  .point__item:last-of-type img {
    width: max(17.6vw, 66px);
  }
}
.point__item:nth-of-type(2) img, .point__item:nth-of-type(3) img {
  width: min(6.1111111111vw, 88px);
}
@media screen and (max-width: 768px) {
  .point__item:nth-of-type(2) img, .point__item:nth-of-type(3) img {
    width: max(17.3333333333vw, 65px);
  }
}
.point__text {
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .point__text {
    font-size: max(3.7333333333vw, 14px);
  }
}

.achievement__wrap {
  padding-block: min(3.4722222222vw, 50px) min(3.6111111111vw, 52px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .achievement__wrap {
    padding-block: max(10.6666666667vw, 40px) max(15.7333333333vw, 59px);
  }
}
.achievement__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(2.2916666667vw, 33px);
  margin-bottom: min(0.3472222222vw, 5px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .achievement__title {
    height: max(8.5333333333vw, 32px);
  }
  .achievement__title img {
    width: max(62.9333333333vw, 236px);
  }
}
.achievement__title-note {
  margin-bottom: min(1.5277777778vw, 22px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .achievement__title-note {
    margin-bottom: max(5.3333333333vw, 20px);
    font-size: max(6.4vw, 24px);
  }
}
.achievement__title-note span {
  position: absolute;
  margin-top: min(1.0416666667vw, 15px);
  margin-left: min(1.3888888889vw, 20px);
  font-size: min(0.8333333333vw, 12px);
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .achievement__title-note span {
    margin-top: max(3.4666666667vw, 13px);
    margin-left: max(2.6666666667vw, 10px);
    font-size: max(2.6666666667vw, 10px);
  }
}
.achievement__list {
  display: flex;
  width: max-content;
  height: min(12.0833333333vw, 174px);
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .achievement__list {
    height: max(26.6666666667vw, 100px);
  }
}
.achievement__item {
  display: flex;
  column-gap: min(2.0833333333vw, 30px);
  align-items: center;
  animation: infinity-scroll 30s linear infinite both;
}
@media screen and (max-width: 768px) {
  .achievement__item {
    column-gap: max(2.9333333333vw, 11px);
  }
}
.achievement__item img:nth-of-type(1) {
  width: 13.33vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(1) {
    width: max(29.3333333333vw, 110px);
  }
}
.achievement__item img:nth-of-type(2) {
  width: 9.16vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(2) {
    width: max(20.2666666667vw, 76px);
  }
}
.achievement__item img:nth-of-type(3) {
  width: 12.77vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(3) {
    width: max(28.2666666667vw, 106px);
  }
}
.achievement__item img:nth-of-type(4) {
  width: 16.18vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(4) {
    width: max(35.7333333333vw, 134px);
  }
}
.achievement__item img:nth-of-type(5) {
  width: 18.61vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(5) {
    width: max(41.0666666667vw, 154px);
  }
}
.achievement__item img:nth-of-type(6) {
  width: 18.05vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(6) {
    width: max(39.7333333333vw, 149px);
  }
}
.achievement__item img:nth-of-type(7) {
  width: 15.34vw;
}
@media screen and (max-width: 768px) {
  .achievement__item img:nth-of-type(7) {
    width: max(33.8666666667vw, 127px);
  }
}

@keyframes infinity-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.scene__wrap {
  padding-bottom: min(17.9166666667vw, 258px);
}
@media screen and (max-width: 768px) {
  .scene__wrap {
    padding-bottom: max(19.2vw, 72px);
  }
}
.scene__title {
  margin-bottom: min(1.1111111111vw, 16px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .scene__title {
    margin-bottom: max(4.8vw, 18px);
    font-size: max(5.3333333333vw, 20px);
  }
}
.scene__list {
  display: grid;
  grid-template-columns: repeat(4, min(17.3611111111vw, 250px));
  column-gap: min(1.3888888889vw, 20px);
  justify-content: center;
  margin-bottom: min(3.8888888889vw, 56px);
  margin-left: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .scene__list {
    grid-template-columns: repeat(2, max(42.9333333333vw, 161px));
    gap: max(4vw, 15px);
    margin-bottom: max(5.3333333333vw, 20px);
  }
}
.scene__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(4.1666666667vw, 60px);
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .scene__head {
    height: max(10.4vw, 39px);
    font-size: max(3.0666666667vw, 11.5px);
  }
}
.scene__head::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: #005e9e;
}
.scene__head::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background: #007bd0;
}
.scene__more-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(25vw, 360px);
  height: min(4.1666666667vw, 60px);
  overflow: hidden;
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  border-radius: min(6.9444444444vw, 100px);
}
@media screen and (max-width: 768px) {
  .scene__more-btn {
    width: max(72vw, 270px);
    height: max(12vw, 45px);
    font-size: max(4.2666666667vw, 16px);
  }
}
.scene__more-btn::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: #0085e1;
}
.scene__more-btn::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background: #007bd0;
}
.scene__more-btn {
  margin-inline: auto;
}

.case__wrap {
  margin-bottom: min(10vw, 144px);
}
@media screen and (max-width: 768px) {
  .case__wrap {
    margin-bottom: max(12.8vw, 48px);
  }
  .case__wrap .inner--index {
    max-width: max(89.3333333333vw, 335px);
  }
}
.case__content {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
  position: relative;
  padding-top: min(4.1666666667vw, 60px);
  background: #f4f4f4;
  border-radius: min(3.2638888889vw, 47px);
}
@media screen and (max-width: 768px) {
  .case__content {
    padding-top: max(9.0666666667vw, 34px);
    border-radius: max(5.3333333333vw, 20px);
  }
}
.case__content:first-of-type {
  padding-bottom: min(2.6388888889vw, 38px);
  margin-bottom: min(5.7638888889vw, 83px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type {
    padding-bottom: max(8vw, 30px);
    margin-bottom: max(13.6vw, 51px);
  }
}
.case__content:first-of-type .case__head {
  margin-bottom: min(0.3472222222vw, 5px);
  margin-left: min(20.8333333333vw, 300px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__head {
    margin-bottom: max(4.2666666667vw, 16px);
    margin-left: initial;
  }
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__title {
    padding-left: max(29.6vw, 111px);
    margin-bottom: max(4.5333333333vw, 17px);
  }
}
.case__content:first-of-type .case__detail {
  column-gap: min(4.375vw, 63px);
  margin-left: min(6.25vw, 90px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail {
    margin-left: max(4.8vw, 18px);
  }
}
.case__content:first-of-type .case__detail-content {
  width: min(44.7222222222vw, 644px);
  margin-top: min(0.5555555556vw, 8px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-content {
    width: 100%;
    margin-block: 0 max(9.6vw, 36px);
  }
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-title {
    margin-bottom: max(3.2vw, 12px);
  }
}
.case__content:first-of-type .case__detail-title > span {
  margin-top: min(0.4166666667vw, 6px);
  margin-left: min(0.1388888889vw, 2px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-title > span {
    margin-top: max(1.3333333333vw, 5px);
    margin-left: 0;
    line-height: 1.45;
  }
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-image {
    grid-template-columns: max(35.4666666667vw, 133px) 1fr max(40.8vw, 153px);
    align-items: center;
  }
}
.case__content:first-of-type .case__detail-image img:first-of-type {
  width: min(14.5138888889vw, 209px);
  margin-bottom: min(1.3888888889vw, 20px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-image img:first-of-type {
    width: 100%;
    margin-block: max(1.8666666667vw, 7px) 0;
  }
}
.case__content:first-of-type .case__detail-image img:nth-of-type(2) {
  justify-self: center;
  width: min(4.1666666667vw, 60px);
  margin-bottom: min(1.1111111111vw, 16px);
  margin-left: max(-0.9722222222vw, -14px);
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-image img:nth-of-type(2) {
    width: max(7.4666666667vw, 28px);
    margin-block: max(1.6vw, 6px) 0;
    margin-left: 0;
    transform: rotate(-90deg);
  }
}
.case__content:first-of-type .case__detail-image img:last-of-type {
  width: min(15.4861111111vw, 223px);
  transform: translateX(max(-0.9722222222vw, -14px));
}
@media screen and (max-width: 768px) {
  .case__content:first-of-type .case__detail-image img:last-of-type {
    width: 100%;
    transform: translateX(max(-4vw, -15px));
  }
}
.case__content:nth-of-type(2) {
  padding-bottom: min(2.4305555556vw, 35px);
  margin-bottom: min(6.3194444444vw, 91px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) {
    padding-bottom: max(5.3333333333vw, 20px);
    margin-bottom: max(16.5333333333vw, 62px);
  }
}
.case__content:nth-of-type(2) .case__head {
  margin-bottom: min(0.8333333333vw, 12px);
  margin-left: min(3.4722222222vw, 50px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__head {
    margin-bottom: max(7.2vw, 27px);
    margin-left: initial;
  }
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__title {
    margin-bottom: max(6.4vw, 24px);
    margin-left: max(5.0666666667vw, 19px);
  }
}
.case__content:nth-of-type(2) .case__detail {
  flex-direction: row-reverse;
  column-gap: min(0.2083333333vw, 3px);
  justify-content: flex-end;
  margin-left: min(2.5vw, 36px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail {
    flex-direction: column;
    padding-inline: max(4.8vw, 18px) max(2.1333333333vw, 8px);
    margin-left: initial;
  }
}
.case__content:nth-of-type(2) .case__detail-content {
  margin-top: min(3.8194444444vw, 55px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-content {
    margin-block: 0 max(4.5333333333vw, 17px);
  }
}
.case__content:nth-of-type(2) .case__detail-image img {
  width: min(26.1111111111vw, 376px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-image img {
    width: 100%;
    transform: translateX(min(-0.4166666667vw, -6px));
  }
}
.case__content:nth-of-type(2) .case__detail-title {
  margin-bottom: min(2.3611111111vw, 34px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-title {
    margin-right: max(2.9333333333vw, 11px);
    margin-bottom: max(5.8666666667vw, 22px);
    font-size: max(4.8vw, 18px);
  }
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-title > span {
    display: contents;
  }
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-title > span > span:first-of-type {
    display: inline-block;
    padding-inline: max(2.1333333333vw, 8px) max(1.6vw, 6px);
    margin-left: max(1.0666666667vw, 4px);
    font-size: max(4.5333333333vw, 17px);
    line-height: 1.3;
  }
}
.case__content:nth-of-type(2) .case__detail-title > span > span:last-of-type {
  font-size: min(2.0833333333vw, 30px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-title > span > span:last-of-type {
    display: block;
    padding-inline: max(1.6vw, 6px) max(1.0666666667vw, 4px);
    margin-top: max(1.3333333333vw, 5px);
    margin-left: max(0.5333333333vw, 2px);
    font-size: max(5.3333333333vw, 20px);
    line-height: 1.56;
    letter-spacing: 0.02em;
  }
  .case__content:nth-of-type(2) .case__detail-title > span > span:last-of-type > span {
    font-size: max(4.5333333333vw, 17px);
  }
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-title > span > span {
    background: #007bd0;
  }
}
.case__content:nth-of-type(2) .case__detail-text {
  width: min(41.1805555556vw, 593px);
  margin-left: min(3.0555555556vw, 44px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2) .case__detail-text {
    width: 100%;
    margin-left: max(0.8vw, 3px);
  }
}
.case__content:last-of-type {
  padding-bottom: min(1.25vw, 18px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type {
    padding-block: max(8.2666666667vw, 31px) max(4.8vw, 18px);
  }
}
.case__content:last-of-type .case__head {
  margin-bottom: min(0.625vw, 9px);
  margin-left: min(21.0416666667vw, 303px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__head {
    margin-bottom: max(5.3333333333vw, 20px);
    margin-left: initial;
  }
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__title {
    padding-left: max(28vw, 105px);
    margin-bottom: max(6.1333333333vw, 23px);
  }
}
.case__content:last-of-type .case__detail {
  column-gap: min(5.3472222222vw, 77px);
  margin-left: min(4.8611111111vw, 70px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail {
    margin-left: max(4.8vw, 18px);
  }
  .case__content:last-of-type .case__detail-content {
    margin-bottom: max(2.9333333333vw, 11px);
  }
}
.case__content:last-of-type .case__detail-title > span {
  margin-top: min(0.4166666667vw, 6px);
  margin-left: min(0.1388888889vw, 2px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-title > span {
    display: flex;
    flex-direction: column;
    row-gap: max(2.1333333333vw, 8px);
    padding: initial;
    margin-top: max(1.3333333333vw, 5px);
    margin-left: 0;
    background: initial;
  }
}
.case__content:last-of-type .case__detail-title > span > span {
  font-size: min(2.0833333333vw, 30px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-title > span > span {
    padding: max(0.9333333333vw, 3.5px) max(2vw, 7.5px);
    font-size: max(5.8666666667vw, 22px);
    background: #007bd0;
  }
  .case__content:last-of-type .case__detail-title > span > span:first-of-type {
    line-height: 1.35;
  }
  .case__content:last-of-type .case__detail-title > span > span:last-of-type {
    line-height: 1.5;
  }
  .case__content:last-of-type .case__detail-title > span > span span {
    font-size: max(5.0666666667vw, 19px);
  }
}
.case__content:last-of-type .case__detail-text {
  width: min(46.0416666667vw, 663px);
  margin-bottom: min(3.4722222222vw, 50px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-text {
    display: flex;
    flex-direction: column-reverse;
    row-gap: max(1.3333333333vw, 5px);
    width: 100%;
    padding-inline: max(0.8vw, 3px) max(2.1333333333vw, 8px);
    margin-bottom: initial;
  }
}
.case__content:last-of-type .case__detail-image {
  grid-template-rows: min(3.125vw, 45px) min(4.5833333333vw, 66px) min(13.3333333333vw, 192px);
  grid-template-columns: min(2.4305555556vw, 35px) 1fr min(2.4305555556vw, 35px);
  align-self: flex-start;
  justify-items: center;
  margin-top: min(2.5vw, 36px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-image {
    grid-template-rows: max(8.5333333333vw, 32px) max(11.7333333333vw, 44px) max(36vw, 135px);
    grid-template-columns: max(5.6vw, 21px) 1fr max(5.6vw, 21px);
    align-self: center;
    margin-top: 0;
    transform: translateX(min(-0.4861111111vw, -7px));
  }
}
.case__content:last-of-type .case__detail-image img:first-of-type, .case__content:last-of-type .case__detail-image img:last-of-type {
  grid-column: 1/4;
}
.case__content:last-of-type .case__detail-image img:first-of-type {
  width: min(8.6805555556vw, 125px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-image img:first-of-type {
    width: max(23.4666666667vw, 88px);
  }
}
.case__content:last-of-type .case__detail-image img:nth-of-type(2) {
  width: min(2.4305555556vw, 35px);
  margin-top: min(0.5555555556vw, 8px);
  margin-left: min(0.9027777778vw, 13px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-image img:nth-of-type(2) {
    width: max(5.6vw, 21px);
  }
}
.case__content:last-of-type .case__detail-image img:nth-of-type(3) {
  width: min(8.1944444444vw, 118px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-image img:nth-of-type(3) {
    width: max(22.4vw, 84px);
  }
}
.case__content:last-of-type .case__detail-image img:nth-of-type(4) {
  width: min(2.4305555556vw, 35px);
  margin-top: min(0.5555555556vw, 8px);
  margin-left: max(-1.1805555556vw, -17px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-image img:nth-of-type(4) {
    width: max(5.6vw, 21px);
  }
}
.case__content:last-of-type .case__detail-image img:last-of-type {
  width: min(14.9305555556vw, 215px);
}
@media screen and (max-width: 768px) {
  .case__content:last-of-type .case__detail-image img:last-of-type {
    width: max(40.2666666667vw, 151px);
  }
}
.case__content:nth-of-type(odd) .case__detail-text {
  margin-left: min(0.9722222222vw, 14px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(odd) .case__detail-text {
    padding-left: max(0.8vw, 3px);
    margin-left: initial;
  }
}
.case__content:nth-of-type(1)::before {
  position: absolute;
  content: "";
  background: url(../e90857a695df1cfd371f.png) no-repeat;
  background-size: contain;
  top: min(1.5972222222vw, 23px);
  right: min(4.5138888889vw, 65px);
  width: min(17.5694444444vw, 253px);
  height: min(4.375vw, 63px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(1)::before {
    top: max(4.5333333333vw, 17px);
    right: max(4.5333333333vw, 17px);
    width: max(25.6vw, 96px);
    height: max(6.6666666667vw, 25px);
  }
}
.case__content:nth-of-type(1)::after {
  position: absolute;
  content: "";
  background: url(../169f80b6d82ba63f9aeb.png) no-repeat;
  background-size: contain;
  top: max(-1.1111111111vw, -16px);
  left: min(3.2638888889vw, 47px);
  width: min(14.7222222222vw, 212px);
  height: min(18.2638888889vw, 263px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(1)::after {
    top: min(-1.5277777778vw, -22px);
    left: max(1.3333333333vw, 5px);
    width: max(24.2666666667vw, 91px);
    height: max(30.4vw, 114px);
  }
}
.case__content:nth-of-type(2)::before {
  position: absolute;
  content: "";
  background: url(../e08f09f9e3d83fa81ca0.png) no-repeat;
  background-size: contain;
  top: min(1.5277777778vw, 22px);
  right: min(16.7361111111vw, 241px);
  width: min(19.0277777778vw, 274px);
  height: min(4.4444444444vw, 64px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2)::before {
    top: max(4.8vw, 18px);
    right: max(28.5333333333vw, 107px);
    width: max(26.9333333333vw, 101px);
    height: max(6.6666666667vw, 25px);
  }
}
.case__content:nth-of-type(2)::after {
  position: absolute;
  content: "";
  background: url(../b381589fdbaea5783806.png) no-repeat;
  background-size: contain;
  top: max(-2.9861111111vw, -43px);
  right: min(2.5vw, 36px);
  width: min(13.6111111111vw, 196px);
  height: min(18.75vw, 270px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(2)::after {
    top: min(-1.0416666667vw, -15px);
    right: max(0.8vw, 3px);
    width: max(23.7333333333vw, 89px);
    height: max(32.8vw, 123px);
  }
}
.case__content:nth-of-type(3)::before {
  position: absolute;
  content: "";
  background: url(../627de42ac5a1ae9d68c4.png) no-repeat;
  background-size: contain;
  top: min(1.5972222222vw, 23px);
  right: min(3.2638888889vw, 47px);
  width: min(18.5416666667vw, 267px);
  height: min(4.375vw, 63px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(3)::before {
    top: max(5.3333333333vw, 20px);
    right: max(6.4vw, 24px);
    width: max(26.6666666667vw, 100px);
    height: max(6.6666666667vw, 25px);
  }
}
.case__content:nth-of-type(3)::after {
  position: absolute;
  content: "";
  background: url(../a3a4739898687589ef34.png) no-repeat;
  background-size: contain;
  top: max(-3.5416666667vw, -51px);
  left: min(3.4722222222vw, 50px);
  width: min(16.1805555556vw, 233px);
  height: min(19.1666666667vw, 276px);
}
@media screen and (max-width: 768px) {
  .case__content:nth-of-type(3)::after {
    top: min(-1.1805555556vw, -17px);
    left: 0;
    width: max(28.5333333333vw, 107px);
    height: max(33.6vw, 126px);
  }
}
.case__head {
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .case__head {
    width: 100%;
  }
}
.case__title {
  margin-bottom: min(1.0416666667vw, 15px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .case__title {
    font-size: max(4.2666666667vw, 16px);
  }
  .case__title span {
    font-size: max(4.8vw, 18px);
  }
}
.case__list {
  margin-left: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .case__list {
    padding-left: max(3.7333333333vw, 14px);
  }
}
.case__item {
  display: flex;
  column-gap: min(0.5555555556vw, 8px);
  align-items: center;
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .case__item {
    column-gap: max(1.8666666667vw, 7px);
    align-items: flex-start;
    font-size: max(3.4666666667vw, 13px);
    line-height: 1.6;
  }
}
.case__item:not(:last-of-type) {
  margin-bottom: min(0.5555555556vw, 8px);
}
@media screen and (max-width: 768px) {
  .case__item:not(:last-of-type) {
    margin-bottom: max(3.4666666667vw, 13px);
  }
}
.case__item::before {
  display: block;
  width: min(1.4583333333vw, 21px);
  height: min(1.4583333333vw, 21px);
  content: "";
  background: url(../be9412d16ea61fc62548.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .case__item::before {
    flex-shrink: 0;
    width: max(4vw, 15px);
    height: max(3.7333333333vw, 14px);
    margin-top: max(1.3333333333vw, 5px);
  }
}
.case__detail {
  display: flex;
}
@media screen and (max-width: 768px) {
  .case__detail {
    flex-direction: column;
  }
}
.case__detail-title {
  margin-bottom: min(1.0416666667vw, 15px);
  font-size: min(2.0833333333vw, 30px);
}
@media screen and (max-width: 768px) {
  .case__detail-title {
    margin-bottom: max(0.8vw, 3px);
    font-size: max(6vw, 22.5px);
  }
}
.case__detail-title > span {
  display: block;
  width: fit-content;
  padding: min(0.1388888889vw, 2px) min(0.6944444444vw, 10px);
  color: #fff;
  background: #007bd0;
}
@media screen and (max-width: 768px) {
  .case__detail-title > span {
    padding: max(0.8vw, 3px) max(1.6vw, 6px);
    font-size: max(4.8vw, 18px);
  }
}
.case__detail-title > span span {
  font-size: min(1.7361111111vw, 25px);
}
@media screen and (max-width: 768px) {
  .case__detail-title > span span {
    font-size: max(4vw, 15px);
  }
}
.case__detail-title > span span.font--min {
  position: relative;
}
.case__detail-title > span span.font--min::before {
  position: absolute;
  top: max(-0.1388888889vw, -2px);
  left: max(-0.2777777778vw, -4px);
  font-size: min(0.8333333333vw, 12px);
  content: "※";
}
@media screen and (max-width: 768px) {
  .case__detail-title > span span.font--min::before {
    font-size: max(2.4vw, 9px);
  }
}
.case__detail-text {
  font-size: min(0.9722222222vw, 14px);
  font-weight: 500;
  line-height: 2;
}
.case__detail-text .has__bg--blue {
  background: #d8efff;
}
@media screen and (max-width: 768px) {
  .case__detail-text {
    font-size: max(3.4666666667vw, 13px);
  }
}
.case__detail-text-note {
  margin-left: min(1.5972222222vw, 23px);
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .case__detail-text-note {
    margin-left: 0;
    font-size: max(2.9333333333vw, 11px);
  }
}
.case__detail-image {
  display: grid;
}

.voice__wrap {
  margin-bottom: min(8.5416666667vw, 123px);
}
@media screen and (max-width: 768px) {
  .voice__wrap {
    margin-bottom: max(18.1333333333vw, 68px);
  }
  .voice__wrap .inner--index {
    max-width: max(89.3333333333vw, 335px);
  }
}
.voice__title {
  margin-bottom: min(0.2083333333vw, 3px);
  text-align: center;
}
.voice__title-note {
  margin-bottom: min(3.6111111111vw, 52px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .voice__title-note {
    margin-bottom: max(5.3333333333vw, 20px);
    font-size: max(6.4vw, 24px);
  }
}
.voice__title-wrap {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
}
@media screen and (max-width: 768px) {
  .voice__title-wrap {
    margin-bottom: max(2.4vw, 9px);
  }
}
.voice__list {
  list-style-type: none;
}
.voice__item {
  font-size: min(1.5277777778vw, 22px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .voice__item {
    font-size: max(3.7333333333vw, 14px);
    line-height: 1.4;
  }
}
.voice__item:nth-of-type(1) {
  width: min(58.1944444444vw, 838px);
  height: min(14.6527777778vw, 211px);
  background: url(../d7d291ecc5dae40d141e.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .voice__item:nth-of-type(1) {
    width: 100%;
    height: max(44.2666666667vw, 166px);
    background: url(../56db0c0920e533d47705.png) no-repeat;
    background-size: contain;
  }
}
.voice__item:nth-of-type(1) {
  padding: min(2.3611111111vw, 34px) min(5.1388888889vw, 74px) min(3.4722222222vw, 50px);
  margin-left: min(14.2361111111vw, 205px);
}
@media screen and (max-width: 768px) {
  .voice__item:nth-of-type(1) {
    padding: max(8vw, 30px) max(6.9333333333vw, 26px) max(14.9333333333vw, 56px);
    margin-left: 0;
  }
}
.voice__item:nth-of-type(2) {
  width: min(58.1944444444vw, 838px);
  height: min(14.6527777778vw, 211px);
  background: url(../62e74f42f9331e8a7f4d.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .voice__item:nth-of-type(2) {
    width: 100%;
    height: max(44.2666666667vw, 166px);
    background: url(../38bb4f34853b9838b08d.png) no-repeat;
    background-size: contain;
  }
}
.voice__item:nth-of-type(2) {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
  padding: min(2.3611111111vw, 34px) min(5.5555555556vw, 80px) min(0.6944444444vw, 10px) min(4.7222222222vw, 68px);
  margin-left: min(4.1666666667vw, 60px);
}
@media screen and (max-width: 768px) {
  .voice__item:nth-of-type(2) {
    padding: max(9.0666666667vw, 34px) max(6.9333333333vw, 26px) max(13.8666666667vw, 52px);
    margin-bottom: max(2.4vw, 9px);
    margin-left: 0;
  }
  .voice__item:nth-of-type(2) span {
    margin-top: min(-1.3333333333vw, -5px);
    margin-right: max(2.4vw, 9px);
  }
}
.voice__item:nth-of-type(3) {
  width: min(58.1944444444vw, 838px);
  height: min(14.6527777778vw, 211px);
  background: url(../d7d291ecc5dae40d141e.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .voice__item:nth-of-type(3) {
    width: 100%;
    height: max(44.2666666667vw, 166px);
    background: url(../56db0c0920e533d47705.png) no-repeat;
    background-size: contain;
  }
}
.voice__item:nth-of-type(3) {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
  padding: min(2.2916666667vw, 33px) min(4.3055555556vw, 62px) min(0.6944444444vw, 10px) min(5.9722222222vw, 86px);
  margin-left: min(16.8055555556vw, 242px);
}
@media screen and (max-width: 768px) {
  .voice__item:nth-of-type(3) {
    padding: max(8.5333333333vw, 32px) max(6.9333333333vw, 26px) max(14.4vw, 54px);
    margin-left: 0;
  }
  .voice__item:nth-of-type(3) span {
    margin-top: min(-1.3333333333vw, -5px);
  }
}
.voice__item span {
  display: block;
  margin-top: min(0.2777777778vw, 4px);
  font-size: min(1.25vw, 18px);
  font-weight: 400;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .voice__item span {
    margin-top: max(1.3333333333vw, 5px);
    font-size: max(3.7333333333vw, 14px);
  }
}

.item__wrap {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
  position: relative;
  z-index: 1;
  padding-block: min(2.9861111111vw, 43px) min(3.4722222222vw, 50px);
  background: #e1f1ff;
}
@media screen and (max-width: 768px) {
  .item__wrap {
    padding-block: max(9.3333333333vw, 35px) max(9.0666666667vw, 34px);
  }
}
.item__title {
  margin-bottom: min(0.3472222222vw, 5px);
  text-align: center;
}
.item__title-note {
  margin-bottom: min(1.1111111111vw, 16px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .item__title-note {
    margin-bottom: max(5.3333333333vw, 20px);
    font-size: max(6.4vw, 24px);
  }
}
.item__category {
  display: grid;
  grid-template-rows: repeat(3, min(13.4722222222vw, 194px)) min(7.9166666667vw, 114px);
  grid-template-columns: repeat(3, 1fr);
  gap: min(0.9027777778vw, 13px);
  margin-bottom: min(2.7777777778vw, 40px);
}
.item__category a:first-of-type {
  grid-row: 1/3;
}
@media screen and (max-width: 768px) {
  .item__category {
    grid-template-rows: repeat(2, max(21.6vw, 81px)) max(34.6666666667vw, 130px) repeat(3, max(21.6vw, 81px));
    grid-template-columns: repeat(2, max(45.3333333333vw, 170px));
    gap: max(2.1333333333vw, 8px);
    margin-bottom: max(7.2vw, 27px);
  }
  .item__category img {
    width: 100%;
  }
}
.item__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(25vw, 360px);
  height: min(4.1666666667vw, 60px);
  overflow: hidden;
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  border-radius: min(6.9444444444vw, 100px);
}
@media screen and (max-width: 768px) {
  .item__link {
    width: max(72vw, 270px);
    height: max(12vw, 45px);
    font-size: max(4.2666666667vw, 16px);
  }
}
.item__link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: #0085e1;
}
.item__link::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background: #007bd0;
}
.item__link {
  margin-inline: auto;
}

.flow__wrap {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
  padding-top: min(6.5972222222vw, 95px);
  margin-bottom: min(13.125vw, 189px);
}
@media screen and (max-width: 768px) {
  .flow__wrap {
    padding-top: max(14.9333333333vw, 56px);
    margin-bottom: max(41.0666666667vw, 154px);
  }
  .flow__wrap .inner--index {
    max-width: 100%;
    padding-inline: max(2.6666666667vw, 10px);
  }
}
.flow__title {
  margin-bottom: min(0.3472222222vw, 5px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .flow__title {
    margin-bottom: 0;
  }
}
.flow__title-note {
  margin-bottom: min(3.75vw, 54px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .flow__title-note {
    margin-bottom: max(13.3333333333vw, 50px);
    font-size: max(6.1333333333vw, 23px);
    letter-spacing: 0.04em;
  }
}
.flow__list {
  display: grid;
  grid-template-rows: min(13.1944444444vw, 190px);
  grid-template-columns: repeat(6, min(11.8055555556vw, 170px));
  column-gap: min(1.6666666667vw, 24px);
  margin-bottom: min(3.4722222222vw, 50px);
  margin-left: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .flow__list {
    grid-template-rows: repeat(2, max(32.8vw, 123px));
    grid-template-columns: repeat(3, max(29.3333333333vw, 110px));
    gap: max(6.4vw, 24px) max(1.3333333333vw, 5px);
    margin-bottom: max(5.0666666667vw, 19px);
  }
}
.flow__item {
  position: relative;
  text-align: center;
  background: #e7f1fa;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(n+4) {
    transform: translateX(max(4vw, 15px));
  }
}
.flow__item:nth-of-type(1) {
  padding-top: min(2.5vw, 36px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(1) {
    padding-top: max(5.8666666667vw, 22px);
  }
}
.flow__item:nth-of-type(1) img {
  width: min(6.9444444444vw, 100px);
  margin-bottom: min(0.625vw, 9px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(1) img {
    width: max(17.3333333333vw, 65px);
    margin-bottom: max(1.8666666667vw, 7px);
  }
}
.flow__item:nth-of-type(1)::before {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  display: block;
  width: 100%;
  height: min(2.7083333333vw, 39px);
  content: "";
  background: url(../9b82b27067079bab07be.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(1)::before {
    top: min(-1.0416666667vw, -15px);
    height: max(6.6666666667vw, 25px);
  }
}
.flow__item:nth-of-type(2) {
  padding-top: min(2.8472222222vw, 41px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(2) {
    padding-top: max(6.9333333333vw, 26px);
  }
}
.flow__item:nth-of-type(2) img {
  width: min(6.6666666667vw, 96px);
  margin-bottom: min(0.9722222222vw, 14px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(2) img {
    width: max(16.5333333333vw, 62px);
    margin-bottom: max(2.6666666667vw, 10px);
  }
}
.flow__item:nth-of-type(2)::before {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  display: block;
  width: 100%;
  height: min(2.7083333333vw, 39px);
  content: "";
  background: url(../cdcc10ccd86b1584c284.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(2)::before {
    top: min(-1.0416666667vw, -15px);
    height: max(6.6666666667vw, 25px);
  }
}
.flow__item:nth-of-type(3) {
  padding-top: min(2.2222222222vw, 32px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(3) {
    padding-top: max(5.6vw, 21px);
  }
}
.flow__item:nth-of-type(3) img {
  width: min(6.9444444444vw, 100px);
  margin-bottom: min(0.9027777778vw, 13px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(3) img {
    width: max(17.3333333333vw, 65px);
    margin-bottom: max(2.1333333333vw, 8px);
  }
}
.flow__item:nth-of-type(3)::before {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  display: block;
  width: 100%;
  height: min(2.7083333333vw, 39px);
  content: "";
  background: url(../4ed04d1a840156cce65b.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(3)::before {
    top: min(-1.0416666667vw, -15px);
    height: max(6.6666666667vw, 25px);
  }
}
.flow__item:nth-of-type(4) {
  padding-top: min(2.4305555556vw, 35px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(4) {
    padding-top: max(5.8666666667vw, 22px);
  }
}
.flow__item:nth-of-type(4) img {
  width: min(6.9444444444vw, 100px);
  margin-bottom: min(0.4861111111vw, 7px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(4) img {
    width: max(17.3333333333vw, 65px);
    margin-bottom: max(1.3333333333vw, 5px);
  }
}
.flow__item:nth-of-type(4) p {
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(4) p {
    font-size: max(2.6666666667vw, 10px);
  }
}
.flow__item:nth-of-type(4)::before {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  display: block;
  width: 100%;
  height: min(2.7083333333vw, 39px);
  content: "";
  background: url(../3a6832d1349d2fdbc7af.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(4)::before {
    top: min(-1.0416666667vw, -15px);
    height: max(6.6666666667vw, 25px);
  }
}
.flow__item:nth-of-type(5) {
  padding-top: min(2.5vw, 36px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(5) {
    padding-top: max(6.1333333333vw, 23px);
  }
}
.flow__item:nth-of-type(5) img {
  width: min(6.875vw, 99px);
  margin-bottom: min(0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(5) img {
    width: max(17.0666666667vw, 64px);
    margin-bottom: max(1.8666666667vw, 7px);
  }
}
.flow__item:nth-of-type(5)::before {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  display: block;
  width: 100%;
  height: min(2.7083333333vw, 39px);
  content: "";
  background: url(../57eb488645d328fc2b53.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(5)::before {
    top: min(-1.0416666667vw, -15px);
    height: max(6.6666666667vw, 25px);
  }
}
.flow__item:nth-of-type(6) {
  padding-top: min(2.8472222222vw, 41px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(6) {
    padding-top: max(6.9333333333vw, 26px);
  }
}
.flow__item:nth-of-type(6) img {
  width: min(6.1805555556vw, 89px);
  margin-bottom: min(1.0416666667vw, 15px);
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(6) img {
    width: max(15.2vw, 57px);
    margin-bottom: max(2.9333333333vw, 11px);
  }
}
.flow__item:nth-of-type(6)::before {
  position: absolute;
  top: max(-1.7361111111vw, -25px);
  display: block;
  width: 100%;
  height: min(2.7083333333vw, 39px);
  content: "";
  background: url(../ba3ec8eb7875865f39db.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__item:nth-of-type(6)::before {
    top: min(-1.0416666667vw, -15px);
    height: max(6.6666666667vw, 25px);
  }
}
.flow__item img {
  display: inline-block;
}
.flow__text {
  font-size: min(1.25vw, 18px);
  font-weight: 700;
  color: #007bd0;
}
@media screen and (max-width: 768px) {
  .flow__text {
    font-size: max(2.9333333333vw, 11px);
  }
}
.flow__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(25vw, 360px);
  height: min(4.1666666667vw, 60px);
  overflow: hidden;
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  border-radius: min(6.9444444444vw, 100px);
}
@media screen and (max-width: 768px) {
  .flow__link {
    width: max(72vw, 270px);
    height: max(12vw, 45px);
    font-size: max(4.2666666667vw, 16px);
  }
}
.flow__link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: #0085e1;
}
.flow__link::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background: #007bd0;
}
.flow__link {
  margin-inline: auto;
}

.about__wrap {
  opacity: 0;
  transition: 0.8s ease;
  transform: translateY(min(4.8611111111vw, 70px));
  position: relative;
  z-index: 1;
  padding-block: min(5.5555555556vw, 80px) min(2.7777777778vw, 40px);
  color: #4d4c4c;
  background: #fcffdf;
}
@media screen and (max-width: 768px) {
  .about__wrap {
    padding-block: max(14.1333333333vw, 53px) max(15.7333333333vw, 59px);
  }
}
.about__note {
  position: absolute;
  top: max(-3.125vw, -45px);
  right: 0;
  left: 0;
  width: min(65.1388888889vw, 938px);
  height: min(7.8472222222vw, 113px);
  padding-top: min(1.8055555556vw, 26px);
  padding-left: min(2.7777777778vw, 40px);
  margin-inline: auto;
  font-size: min(1.6666666667vw, 24px);
  color: #fff;
  letter-spacing: 0.04em;
  background: url(../975ad31c911400611d7b.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .about__note {
    top: min(-14.4vw, -54px);
    width: max(92vw, 345px);
    height: max(28vw, 105px);
    padding-top: max(5.3333333333vw, 20px);
    padding-left: max(3.7333333333vw, 14px);
    font-size: max(4.2666666667vw, 16px);
    text-align: center;
    background: url(../bd16186942349b059abf.png) no-repeat;
    background-size: contain;
  }
}
.about__note span {
  position: relative;
  display: inline-block;
}
.about__note span::before {
  position: absolute;
  top: max(-1.5277777778vw, -22px);
  content: "・";
}
@media screen and (max-width: 768px) {
  .about__note span::before {
    top: min(-4vw, -15px);
  }
}
.about__content {
  display: flex;
  column-gap: min(4.5138888889vw, 65px);
  align-items: flex-end;
  justify-content: center;
  margin-bottom: min(3.8194444444vw, 55px);
}
.about__content img {
  width: min(23.2638888889vw, 335px);
}
@media screen and (max-width: 768px) {
  .about__content {
    flex-direction: column;
    align-items: center;
    margin-bottom: max(6.1333333333vw, 23px);
  }
  .about__content img {
    width: max(65.3333333333vw, 245px);
    margin-bottom: max(5.6vw, 21px);
  }
}
.about__text {
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  transform: translate(min(1.1805555556vw, 17px), min(0.2777777778vw, 4px));
}
@media screen and (max-width: 768px) {
  .about__text {
    font-size: max(3.7333333333vw, 14px);
    text-align: center;
    transform: translate(0, 0);
  }
}
.about__list {
  display: flex;
  column-gap: min(2.0833333333vw, 30px);
  justify-content: center;
  margin-bottom: min(3.4722222222vw, 50px);
  margin-left: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .about__list {
    flex-direction: column;
    row-gap: max(3.4666666667vw, 13px);
    width: fit-content;
    margin: 0 auto max(7.2vw, 27px);
    transform: translateX(max(1.3333333333vw, 5px));
  }
}
.about__item {
  display: flex;
  column-gap: min(0.3472222222vw, 5px);
  align-items: center;
  font-size: min(1.25vw, 18px);
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .about__item {
    column-gap: max(1.3333333333vw, 5px);
    font-size: max(4.2666666667vw, 16px);
  }
}
.about__item::before {
  display: block;
  width: min(1.5277777778vw, 22px);
  height: min(1.5277777778vw, 22px);
  content: "";
  background: url(../be3ade56cea107cde9bd.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .about__item::before {
    width: max(4.5333333333vw, 17px);
    height: max(4.5333333333vw, 17px);
  }
}
.about__item span {
  display: inline-block;
  margin-left: min(0.6944444444vw, 10px);
  font-size: min(1.1111111111vw, 16px);
  font-weight: 500;
  color: #4d4c4c;
}
@media screen and (max-width: 768px) {
  .about__item span {
    margin-left: max(11.4666666667vw, 43px);
    font-size: max(4.2666666667vw, 16px);
    transform: translateY(max(0.5333333333vw, 2px));
  }
}
.about__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(25vw, 360px);
  height: min(4.1666666667vw, 60px);
  overflow: hidden;
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  border-radius: min(6.9444444444vw, 100px);
}
@media screen and (max-width: 768px) {
  .about__link {
    width: max(72vw, 270px);
    height: max(12vw, 45px);
    font-size: max(4.2666666667vw, 16px);
  }
}
.about__link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: #0085e1;
}
.about__link::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background: #007bd0;
}
.about__link {
  width: min(33.3333333333vw, 480px);
  height: min(4.6527777778vw, 67px);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .about__link {
    width: max(77.3333333333vw, 290px);
    height: max(16vw, 60px);
    border-radius: max(20vw, 75px);
  }
}
.about__link::before {
  background: #408d4a;
}
.about__link::after {
  background: #418049;
}

.footer {
  padding-top: min(3.4722222222vw, 50px);
  text-align: center;
  border-top: 2px solid #e5e5e5;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: max(16vw, 60px);
    border-width: 1px;
  }
}
.footer__img img {
  width: min(20.8333333333vw, 300px);
}
@media screen and (max-width: 768px) {
  .footer__img img {
    width: max(53.3333333333vw, 200px);
  }
}
.footer__nav {
  margin-block: min(2.7777777778vw, 40px);
}
@media screen and (max-width: 768px) {
  .footer__nav {
    margin-block: max(10.6666666667vw, 40px) max(16vw, 60px);
  }
}
.footer__list {
  display: flex;
  justify-content: center;
  margin-left: 0;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .footer__list {
    flex-direction: column;
    row-gap: max(6.6666666667vw, 25px);
    align-items: center;
  }
}
.footer__list li {
  display: flex;
  align-items: center;
  height: 20px;
  padding-inline: min(1.3888888889vw, 20px) min(0.8333333333vw, 12px);
}
.footer__list li:not(:last-of-type) {
  border-right: 1px solid #e5e5e5;
}
@media screen and (max-width: 768px) {
  .footer__list li:not(:last-of-type) {
    border-right: 0;
  }
}
.footer__list li a {
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 300;
  line-height: 1;
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .footer__list li a {
    font-size: max(3.7333333333vw, 14px);
  }
}
.footer__copy {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  font-size: 12px;
  font-weight: 300;
  color: #fff;
  background: #007bd0;
}
@media screen and (max-width: 768px) {
  .footer__copy {
    height: max(8vw, 30px);
    font-size: max(3.2vw, 12px);
  }
}

.is--show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
