@charset "UTF-8";
@-webkit-keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}
@keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  -webkit-animation: scroll-hint-appear 1.2s linear;
          animation: scroll-hint-appear 1.2s linear;
  -webkit-animation-iteration-count: 2;
          animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.8;
  color: var(--black-color);
  font-size: 16px;
  font-family: var(--f-noto);
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

p, a, li, button, dt, dd, strong, span {
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
}

strong, h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

html {
  scroll-behavior: smooth;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  background-color: var(--white);
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(a) {
  text-decoration: none;
}

:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: 1.5;
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#wpadminbar .ab-icon, #wpadminbar .ab-item:before, #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default .ab-icon, .wp-admin-bar-arrow {
  font-family: dashicons !important;
}

html {
  background-color: #F4FBFF;
}

:root {
  --main-rgb: 0, 134, 205;
  --accent-rgb: 252, 213, 85;
  --main-color: rgb(var(--main-rgb));
  --accent-color: rgb(var(--accent-rgb));
  --white-color: #fff;
  --black-color: #00466B;
  --line-color: #06C755;
  --cv-color: #E51C41;
  --ease-out: cubic-bezier(0.23,1,0.32,1);
  --f-noto: "Roboto", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  --seconds: .2s;
  --root-size: 16;
  --value: 1.25;
  --f-13: calc(1rem / var(--value));
  --f-11: calc(var(--f-13) / var(--value));
  --f-16: 1rem;
  --f-20: calc(1rem * var(--value));
  --f-25: calc(var(--f-20) * var(--value));
  --f-30: calc(var(--f-25) * var(--value));
  --f-40: calc(var(--f-30) * var(--value));
  --f-50: calc(var(--f-40) * var(--value));
  --m-4: .25rem;
  --m-8: .5rem;
  --m-16: 1rem;
  --m-24: 1.5rem;
  --m-32: 2rem;
  --m-40: 2.5rem;
  --m-48: 3rem;
  --m-56: 3.5rem;
  --m-64: 4rem;
  --m-72: 4.5rem;
  --m-80: 5rem;
  --m-100: calc(100 / var(--root-size) * 1rem);
  --m-120: calc(120 / var(--root-size) * 1rem);
  --shadow: 14px 14px 34px 0px rgba(0, 134, 205, 0.10);
  --cv-grad: linear-gradient(83deg, #EF533E 9.5%, #E51C41 88.9%);
}

.fadeUpTrigger, .scaleTrigger {
  opacity: 0;
}

.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* 下から */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* 上から */
.fadeDown {
  -webkit-animation-name: fadeDownAnime;
          animation-name: fadeDownAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* 左から */
.fadeLeft {
  -webkit-animation-name: fadeLeftAnime;
          animation-name: fadeLeftAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* 右から */
.fadeRight {
  -webkit-animation-name: fadeRightAnime;
          animation-name: fadeRightAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.scaleOn {
  -webkit-animation-name: scaleOnAnime;
          animation-name: scaleOnAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes scaleOnAnime {
  0% {
    opacity: 0;
    -webkit-transform: scale(0, 0);
            transform: scale(0, 0);
  }
  30% {
    opacity: 0;
    -webkit-transform: scale(0.5, 0.5);
            transform: scale(0.5, 0.5);
  }
  70% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  80% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@keyframes scaleOnAnime {
  0% {
    opacity: 0;
    -webkit-transform: scale(0, 0);
            transform: scale(0, 0);
  }
  30% {
    opacity: 0;
    -webkit-transform: scale(0.5, 0.5);
            transform: scale(0.5, 0.5);
  }
  70% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  80% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
/**
 * 引数のsizeをremに変換する関数
 * @param size
 *
 * 例）18pxをremに変換
 * font-size: rem(18);
 */
.button a, .button button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.7em 1em 0.65em 1.5em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--main-color);
  font-weight: 700;
  border-radius: 100vh;
  background-color: var(--white-color);
  border: 1px solid var(--main-color);
}
.button a::after, .button button::after {
  content: "";
  display: block;
  width: 1.3em;
  aspect-ratio: 1/1;
  background-image: url(../images/component/button/arrow-normal.svg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  font-size: inherit;
  top: 0;
  right: 0;
  -webkit-transition: top 0.2s, right 0.2s;
  transition: top 0.2s, right 0.2s;
}
.button a:hover::after, .button button:hover::after {
  top: -0.2em;
  right: -0.2em;
}
.button.cv a, .button.cv button {
  color: var(--white-color);
  border-color: var(--cv-color);
  background-color: var(--cv-color);
  background: var(--cv-grad);
}
.button.cv a::after, .button.cv button::after {
  background-image: url(../images/component/button/arrow-cv.svg);
}
.button.line a, .button.line button {
  color: var(--white-color);
  border-color: var(--line-color);
  background-color: var(--line-color);
}
.button.line a::after, .button.line button::after {
  background-image: url(../images/component/button/arrow-line.svg);
}
.button.line a .small, .button.line button .small {
  font-size: 75%;
}
.button.center a, .button.center button {
  margin-inline: auto;
}

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 1000;
  position: fixed;
  -webkit-transition: opacity 0.6s, visibility 0.6s;
  transition: opacity 0.6s, visibility 0.6s;
}
.header.none {
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 1080px) {
  .header {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 100vh;
    inset: 1em 1em auto 1em;
    padding: 1rem 1rem 1rem 2rem;
  }
}
@media screen and (max-width: 1079px) {
  .header {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    inset: auto 0 0 0;
    padding: 0.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 576px) {
  .header {
    background: rgba(255, 255, 255, 0.45);
    -webkit-box-shadow: 0 0 36px 0 rgba(0, 134, 205, 0.2);
            box-shadow: 0 0 36px 0 rgba(0, 134, 205, 0.2);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
  }
}
@media screen and (max-width: 575px) {
  .header {
    padding: 0;
  }
}
.header .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}
@media screen and (max-width: 1079px) {
  .header .logo {
    display: none;
  }
}
.header .logo img {
  width: 9.5rem;
}
.header .logo span {
  font-weight: 700;
}
.header .header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
@media screen and (max-width: 1079px) {
  .header .header__nav {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 575px) {
  .header .header__nav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 0 1fr 0 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    width: 100%;
  }
}
.header .header__nav .button.line {
  position: relative;
}
.header .header__nav .button.line .postscript {
  position: absolute;
  left: 50%;
  bottom: -0.5rem;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  font-size: var(--f-11);
  display: inline-block;
  font-weight: 700;
  color: var(--cv-color);
  background-color: var(--white-color);
  border: 1px solid var(--cv-color);
  padding: 0.6em 0.5em 0.3em 1em;
  border-radius: 100vh;
  line-height: 1;
}
.header .header__nav .button.line .postscript::after {
  content: "";
  background-image: url(../images/component/button/postscript-deco.svg);
  background-size: cover;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, calc((100% - 1px) * -1));
          transform: translate(-50%, calc((100% - 1px) * -1));
  aspect-ratio: 7.82/8.45;
  width: 0.48875rem;
}
@media screen and (max-width: 1079px) {
  .header .header__nav .button.line .postscript {
    white-space: nowrap;
    bottom: auto;
    top: -0.5em;
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
  }
  .header .header__nav .button.line .postscript::after {
    -webkit-transform: translate(-50%, calc(100% - 2px)) rotate(180deg);
            transform: translate(-50%, calc(100% - 2px)) rotate(180deg);
    top: auto;
    bottom: 0;
  }
}
@media screen and (max-width: 575px) {
  .header .header__nav .button {
    height: 100%;
  }
}
@media screen and (max-width: 1079px) {
  .header .header__nav .button a {
    font-size: var(--f-13);
  }
}
@media screen and (min-width: 576px) {
  .header .header__nav .button a br {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .header .header__nav .button a {
    width: 100%;
    height: 100%;
    border-radius: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    border-width: 1px 0 0 0;
    padding: 0.7em 0.5em 0.65em;
  }
  .header .header__nav .button a span {
    line-height: 1;
  }
}

.footer {
  padding: 1em;
  width: 100%;
  margin: auto;
  background-color: #DDEEF7;
}
.footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer ul li a {
  font-size: var(--f-13);
}
@media screen and (min-width: 976px) {
  .footer ul li a:hover {
    text-decoration: underline;
  }
}
.footer ul .list-border {
  margin: 0 0.5em;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .footer ul li a {
    font-size: var(--f-13);
    line-height: 1.2;
  }
}

body, html {
  overflow-x: hidden;
}

.section-margin-top {
  margin-top: clamp(var(--m-80), -1.174rem + 12.86vw, var(--m-120));
}

.section-margin-bottom {
  margin-bottom: clamp(var(--m-80), -1.174rem + 12.86vw, var(--m-120));
}

.section-padding-top {
  padding-top: clamp(var(--m-80), -1.174rem + 12.86vw, var(--m-120));
}

.section-padding-bottom {
  padding-bottom: clamp(var(--m-80), -1.174rem + 12.86vw, var(--m-120));
}

.wrap {
  max-width: 77rem;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 1600px) {
  .wrap {
    max-width: none;
    width: 85%;
  }
}

.wrap-sm {
  max-width: 58.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 1600px) {
  .wrap-sm {
    max-width: none;
    width: 60%;
  }
}

.section-heading {
  font-size: clamp(var(--f-25), 0.754rem + 2.25vw, var(--f-40));
  font-weight: 600;
  text-align: center;
  word-break: keep-all;
  line-height: 1.5;
}
.section-heading + * {
  margin-top: 3.125rem;
  margin-top: clamp(1.875rem, 0.719rem + 3.21vw, 3.125rem);
}

.marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(var(--accent-rgb), 0.6)));
  background: linear-gradient(transparent 50%, rgba(var(--accent-rgb), 0.6) 50%);
}

.attention-text {
  padding-left: 1em;
  position: relative;
  font-size: var(--f-13);
}
.attention-text::before {
  content: "※";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  font-size: inherit;
  color: inherit;
}

.section-wrap {
  background-color: var(--white-color);
}

table:not(.faq-table) {
  border-spacing: 0.625rem;
}
table:not(.faq-table) th, table:not(.faq-table) td {
  padding: 1.25rem 0.75rem;
  vertical-align: middle;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0 0 0.5rem 0 rgba(0, 70, 107, 0.1);
          box-shadow: 0 0 0.5rem 0 rgba(0, 70, 107, 0.1);
}
table:not(.faq-table) thead th {
  background-color: #DAE2E7;
  font-weight: 700;
}
table:not(.faq-table) tbody th, table:not(.faq-table) tbody td {
  width: 1%;
  text-align: center;
}
table:not(.faq-table) tbody th {
  background-color: #DDEEF7;
  white-space: nowrap;
  font-weight: 700;
}
table:not(.faq-table) tbody td {
  background-color: var(--white-color);
  word-break: keep-all;
}

@media screen and (max-width: 1199px) {
  .min-xxl {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .max-xxl {
    display: none;
  }
}

@media screen and (max-width: 1079px) {
  .min-xl {
    display: none;
  }
}

@media screen and (min-width: 1080px) {
  .max-xl {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .min-lg {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .max-lg {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .min-md {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .max-md {
    display: none;
  }
}

@media screen and (max-width: 575px) {
  .min-sm {
    display: none;
  }
}

@media screen and (min-width: 576px) {
  .max-sm {
    display: none;
  }
}

@media screen and (max-width: 399px) {
  .min-ss {
    display: none;
  }
}

@media screen and (min-width: 400px) {
  .max-ss {
    display: none;
  }
}

.mvl {
  position: relative;
  height: 95svh;
}
@media screen and (min-width: 1600px) {
  .mvl {
    min-height: 50rem;
  }
}
@media screen and (max-width: 1199px) {
  .mvl {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .mvl {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.mvl::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  background-image: url(../images/mvl/bg.png);
  height: 170%;
  z-index: -1;
}
.mvl::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-image: url(../images/mvl/logo.svg);
  background-size: cover;
  aspect-ratio: 42.6/42.92;
  width: 60%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .mvl::before {
    width: auto;
    height: 60%;
  }
}
.mvl .wrap {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .mvl .wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.mvl .mvl__text {
  text-align: center;
  position: relative;
  z-index: 3;
  margin-top: 5vh;
}
@media screen and (max-width: 1199px) {
  .mvl .mvl__text {
    padding-block: 10em 2em;
  }
}
@media screen and (max-width: 1079px) {
  .mvl .mvl__text {
    padding-block: 10vw 2em;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text {
    padding: 0;
  }
}
.mvl .mvl__text .mvl__sub-catchcopy {
  font-weight: 500;
  letter-spacing: 0.25em;
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .mvl__sub-catchcopy {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text .mvl__sub-catchcopy {
    font-size: clamp(1rem, 0.567rem + 1.85vw, 1.813rem);
  }
}
.mvl .mvl__text .mvl__sub-catchcopy .marker {
  font-size: 125%;
  position: relative;
}
.mvl .mvl__text .mvl__sub-catchcopy .marker::before {
  content: "";
  display: block;
  aspect-ratio: 20.81/15.55;
  width: 1.300625rem;
  background-image: url(../images/mvl/sub-catchcopy-deco.svg);
  background-size: cover;
  position: absolute;
  right: 0.1em;
  top: 0.1em;
  -webkit-transform: translate(100%, -100%) rotate(19.36deg);
          transform: translate(100%, -100%) rotate(19.36deg);
}
.mvl .mvl__text .mvl__main-catchcopy {
  margin-top: 1rem;
  font-size: var(--f-40);
  font-weight: 700;
  line-height: 1.3;
  font-size: clamp(var(--f-30), -2.6rem + 6.72vw, var(--f-40));
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .mvl__main-catchcopy {
    font-size: 2.3vw;
    margin-top: 1.3vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text .mvl__main-catchcopy {
    font-size: 6.5vw;
  }
}
.mvl .mvl__text .mvl__main-catchcopy span {
  font-size: 125%;
  line-height: inherit;
}
.mvl .mvl__text .mvl__appeal {
  margin-top: 1rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .mvl__appeal {
    margin-top: 1.3vw;
  }
}
.mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap {
  height: 100%;
  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;
  background-color: #E3F2FA;
  padding: 1rem 1.25rem 0.875rem;
  border-radius: 0.5em;
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap {
    padding: 1rem 0.625rem 0.875rem;
  }
}
.mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .small,
.mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text {
  color: var(--main-color);
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .small {
    font-size: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .small {
    font-size: 2.5vw;
  }
}
.mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text {
  font-size: var(--f-25);
  font-size: clamp(1.25rem, -1.586rem + 4.2vw, 1.563rem);
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text {
    font-size: 4vw;
  }
}
.mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text span {
  font-size: 1rem;
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text span {
    font-size: 0.7vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text span {
    font-size: 2.5vw;
  }
}
.mvl .mvl__text .mvl__appeal .mvl__appeal__item .mvl__appeal__item__wrap .mvl__appeal__text .price-text {
  font-size: 125%;
  letter-spacing: 0;
  line-height: 1;
}
.mvl .mvl__text .button {
  margin-top: 2rem;
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .button {
    margin-top: 2vw;
  }
}
.mvl .mvl__text .button a {
  font-size: 125%;
}
@media screen and (min-width: 1600px) {
  .mvl .mvl__text .button a {
    font-size: 1.3vw;
  }
}
.mvl .mvl__image {
  height: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .mvl .mvl__image {
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media screen and (max-width: 1079px) {
  .mvl .mvl__image {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__image {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    position: relative;
  }
}
.mvl .mvl__image .image-deco-1 {
  position: absolute;
  right: -11%;
  top: -16%;
  width: 50vw;
}
@media screen and (max-width: 767px) {
  .mvl .mvl__image .image-deco-1 {
    width: 90vw;
    top: -22%;
    right: -9%;
  }
}
.mvl .mvl__image .image-deco-2 {
  position: absolute;
  right: 70%;
  bottom: 10%;
  width: 10vw;
}
@media screen and (max-width: 767px) {
  .mvl .mvl__image .image-deco-2 {
    right: auto;
    left: 1em;
    width: 20vw;
    bottom: 0;
  }
}
.mvl .mvl__image .image-deco-3 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 15vw;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .mvl .mvl__image .image-deco-3 {
    width: 24vw;
    z-index: 3;
  }
}
.mvl .mvl__image .image-main {
  position: relative;
  right: -8vw;
  z-index: 2;
  border-radius: 100vh;
  -webkit-transform: rotate(-3.505deg);
          transform: rotate(-3.505deg);
  -webkit-box-shadow: 10px 14px 54px 0px rgba(0, 134, 205, 0.5);
          box-shadow: 10px 14px 54px 0px rgba(0, 134, 205, 0.5);
  width: 60vw;
}
@media screen and (max-width: 1599px) {
  .mvl .mvl__image .image-main {
    width: 55vw;
  }
}
@media screen and (max-width: 1079px) {
  .mvl .mvl__image .image-main {
    width: 70vw;
  }
}
@media screen and (max-width: 767px) {
  .mvl .mvl__image .image-main {
    margin-top: 0;
    -webkit-transform: rotate(-3.505deg);
            transform: rotate(-3.505deg);
    right: -9vw;
    width: 100vw;
  }
}
.mvl .deco-4 {
  position: absolute;
  aspect-ratio: 173/181;
  width: 10%;
  left: 0;
  top: 10%;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
}
@media screen and (max-width: 767px) {
  .mvl .deco-4 {
    width: 20vw;
    top: 0;
    -webkit-transform: translate(-10%, -10%);
            transform: translate(-10%, -10%);
  }
}
.mvl .deco-5 {
  position: absolute;
  aspect-ratio: 157/130;
  width: 12%;
  left: 0;
  bottom: -10%;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
}
@media screen and (max-width: 767px) {
  .mvl .deco-5 {
    width: 20vw;
  }
}

.worries {
  margin-top: 6.25rem;
}
@media screen and (max-width: 991px) {
  .worries {
    padding-bottom: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .worries {
    padding-bottom: 10vw;
  }
}
.worries .worries__content {
  padding: 3.125rem 3.125rem 5.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .worries .worries__content {
    padding: 3.125rem 1rem 5.625rem;
  }
}
@media screen and (max-width: 575px) {
  .worries .worries__content {
    padding: 3.125rem 1rem 5.625rem;
  }
}
.worries .worries__content::before {
  position: absolute;
  inset: 0;
  content: "";
  display: block;
  background-image: url(../images/worries/bg.svg);
  background-size: 100% 100%;
  z-index: -1;
  -webkit-filter: drop-shadow(14px 14px 34px rgba(0, 134, 205, 0.1));
          filter: drop-shadow(14px 14px 34px rgba(0, 134, 205, 0.1));
}
@media screen and (max-width: 767px) {
  .worries .worries__content::before {
    background-image: url(../images/worries/bg-sp.svg);
  }
}
.worries .worries__content::after {
  content: "";
  display: block;
  background-image: url(../images/worries/arrow.svg);
  aspect-ratio: 50/66;
  width: 3.125rem;
  position: absolute;
  left: 50%;
  bottom: 0.8125rem;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.worries .worries__content .section-heading {
  color: var(--main-color);
}
@media screen and (max-width: 575px) {
  .worries .worries__content .section-heading {
    font-size: 5vw;
  }
}
.worries .worries__content .warries__image {
  max-width: 62.75rem;
  margin-inline: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .worries .worries__content .warries__image {
    max-width: 26.26rem;
  }
}
.worries .worries__content .warries__image img {
  width: 100%;
}
.worries .worries__solution {
  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: 2rem;
  margin-top: 4.375rem;
  position: relative;
}
@media screen and (max-width: 991px) {
  .worries .worries__solution {
    margin-top: 6.25rem;
  }
}
.worries .worries__solution .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}
.worries .worries__solution .logo img {
  width: 15rem;
}
@media screen and (max-width: 1079px) {
  .worries .worries__solution .logo img {
    width: clamp(9.375rem, -4.516rem + 28.94vw, 15rem);
  }
}
.worries .worries__solution .logo span {
  font-weight: 700;
  font-size: var(--f-25);
  white-space: nowrap;
}
@media screen and (max-width: 1079px) {
  .worries .worries__solution .logo span {
    font-size: clamp(1rem, -0.389rem + 2.89vw, var(--f-25));
  }
}
@media screen and (max-width: 991px) {
  .worries .worries__solution .worries__solution__image {
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .worries .worries__solution .worries__solution__image {
    opacity: 0.8;
  }
}
@media screen and (max-width: 991px) {
  .worries .worries__solution .worries__solution__image._men {
    left: 0;
    top: 0;
    width: 20vw;
    -webkit-transform: translateY(-30%);
            transform: translateY(-30%);
  }
}
@media screen and (max-width: 767px) {
  .worries .worries__solution .worries__solution__image._men {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (max-width: 575px) {
  .worries .worries__solution .worries__solution__image._men {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@media screen and (max-width: 399px) {
  .worries .worries__solution .worries__solution__image._men {
    -webkit-transform: translateY(-120%);
            transform: translateY(-120%);
  }
}
@media screen and (max-width: 991px) {
  .worries .worries__solution .worries__solution__image._woman {
    right: 0;
    top: 0;
    width: 20vw;
    -webkit-transform: translateY(30%);
            transform: translateY(30%);
  }
}
@media screen and (max-width: 767px) {
  .worries .worries__solution .worries__solution__image._woman {
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}
@media screen and (max-width: 575px) {
  .worries .worries__solution .worries__solution__image._woman {
    -webkit-transform: translateY(60%);
            transform: translateY(60%);
  }
}
.worries .worries__solution .worries__solution__image img {
  width: 100%;
}
.worries .worries__solution .worries__solution__text {
  position: relative;
  z-index: 2;
}
.worries .worries__solution .worries__solution__sub-text {
  margin-top: 1rem;
  text-align: center;
  font-size: var(--f-20);
  font-weight: 700;
}
.worries .worries__solution .worries__solution__sub-text .red {
  font-weight: 500;
  font-size: var(--f-30);
  color: var(--white-color);
  display: inline-block;
  background-color: var(--cv-color);
  line-height: 1;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 0.25em 0.1em 0.2em 0.25em;
  margin-left: 0.5rem;
}
@media screen and (max-width: 1079px) {
  .worries .worries__solution .worries__solution__sub-text .red {
    font-size: clamp(var(--f-20), -0.448rem + 3.54vw, var(--f-30));
  }
}
.worries .worries__solution .deco-1 {
  position: absolute;
  aspect-ratio: 286.29/193.33;
  width: 25%;
  left: 0;
  bottom: 0;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
  z-index: -1;
  max-width: 21.875rem;
}
@media screen and (max-width: 575px) {
  .worries .worries__solution .deco-1 {
    bottom: auto;
    top: 0;
    -webkit-transform: translate(-10%, -50%);
            transform: translate(-10%, -50%);
  }
}
.worries .worries__solution .deco-2 {
  position: absolute;
  aspect-ratio: 221.77/151.95;
  width: 25%;
  right: 0;
  top: -10%;
  -webkit-transform: translateX(10%);
          transform: translateX(10%);
  z-index: -1;
  max-width: 21.875rem;
}
@media screen and (max-width: 575px) {
  .worries .worries__solution .deco-2 {
    top: auto;
    bottom: 0;
    -webkit-transform: translate(10%, 30%);
            transform: translate(10%, 30%);
  }
}

.future {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .future {
    margin-top: 15vw;
  }
}
.future .section-heading {
  color: var(--white-color);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  padding: 0.2em 0.8em;
  background-color: var(--main-color);
  border-radius: 0.625rem;
  z-index: 2;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media screen and (max-width: 767px) {
  .future .section-heading {
    font-size: var(--f-30);
  }
}
.future .section-heading::before {
  content: "";
  display: block;
  width: 40%;
  height: 100%;
  border-radius: 100%;
  background-color: var(--main-color);
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -30%);
          transform: translate(-50%, -30%);
  z-index: -1;
}
.future .section-heading .small {
  font-size: 75%;
}
.future .section-heading .deco {
  position: relative;
  font-size: 125%;
  line-height: 1;
}
.future .section-heading .deco::before {
  content: "";
  display: block;
  aspect-ratio: 20.81/15.55;
  width: 1.300625rem;
  background-image: url(../images/future/heading-deco.svg);
  background-size: cover;
  position: absolute;
  right: 0.1em;
  top: 0.1em;
  -webkit-transform: translate(65%, -70%) rotate(19.36deg);
          transform: translate(65%, -70%) rotate(19.36deg);
}
.future .future__list {
  background: url(../images/common/bg.svg);
  padding: 5vw 6vw;
  margin-top: 0;
  border-radius: 1.875rem;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
}
@media screen and (max-width: 1079px) {
  .future .future__list {
    padding: 8vw 5vw 5vw;
  }
}
@media screen and (max-width: 767px) {
  .future .future__list {
    padding: 4rem 1.5rem;
  }
}
@media screen and (min-width: 1600px) {
  .future .future__list {
    max-width: 77rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .future .future__list {
    border-radius: 0.5rem;
  }
}
.future .future__list .future__item {
  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: 2vw;
  margin-inline: auto;
}
@media screen and (max-width: 1079px) {
  .future .future__list .future__item {
    gap: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .future .future__list .future__item {
    gap: 1.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.future .future__list .future__item .future__item__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.future .future__list .future__item .future__item__text .future__item__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: clamp(var(--f-20), 0.892rem + 0.99vw, var(--f-25));
  word-break: keep-all;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .future .future__list .future__item .future__item__text .future__item__heading {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.future .future__list .future__item .future__item__text .future__item__heading .number {
  font-size: inherit;
  display: block;
}
.future .future__list .future__item .future__item__text .future__item__heading .number img {
  height: 100%;
  min-height: 100%;
}
.future .future__list .future__item .future__item__text .future__item__heading + p {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .future .future__list .future__item .future__item__text .future__item__heading + p {
    margin-top: 1rem;
  }
}
.future .future__list .future__item .future__item__image {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .future .future__list .future__item .future__item__image {
    width: 80%;
    max-width: 21.875rem;
  }
}
.future .future__list .future__item .future__item__image img {
  width: 100%;
}
.future .future__list .future__item + .future__item {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .future .future__list .future__item:nth-of-type(2n) .future__item__image {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.future .future__list .future__item:nth-of-type(1) .number {
  min-width: 2.44672em;
  width: 2.44672em;
}
.future .future__list .future__item:nth-of-type(2) .number {
  min-width: 2.7444em;
  width: 2.7444em;
}
.future .future__list .future__item:nth-of-type(3) .number {
  min-width: 2.7446em;
  width: 2.7446em;
}
.future .future__list .future__item:nth-of-type(4) .number {
  min-width: 2.76604em;
  width: 2.76604em;
}

.skill {
  position: relative;
  background-color: #FFED98;
}
.skill::before, .skill::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.skill::before {
  top: 3px;
  background-image: url(../images/skill/bg-header.svg);
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  aspect-ratio: 1366/622.7;
  z-index: -1;
}
.skill::after {
  bottom: 1px;
  background-image: url(../images/skill/bg-footer.svg);
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  aspect-ratio: 1366/694;
  aspect-ratio: 1366/324;
  z-index: 1;
}
.skill .sub-heading {
  position: absolute;
  left: -1%;
  top: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  z-index: -1;
  font-size: 10vw;
  font-weight: 100;
  color: var(--white-color);
  opacity: 0.8;
  line-height: 1;
}
.skill .skill__point-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 1079px) {
  .skill .skill__point-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
    margin-inline: auto;
    width: 80%;
  }
}
@media screen and (max-width: 575px) {
  .skill .skill__point-list {
    width: 100%;
  }
}
.skill .skill__point-list .skill__point-item {
  padding: 1rem 2rem;
  border-radius: 100vh;
  background-color: var(--white-color);
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 1rem;
  -webkit-box-shadow: 0px 0px 34px 0px rgba(199, 165, 5, 0.2);
          box-shadow: 0px 0px 34px 0px rgba(199, 165, 5, 0.2);
}
@media screen and (max-width: 575px) {
  .skill .skill__point-list .skill__point-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: 1em;
  }
}
.skill .skill__point-list .skill__point-item .skill__point-image {
  width: 5rem;
}
.skill .skill__point-list .skill__point-item .skill__point-image img {
  width: 100%;
}
.skill .skill__point-list .skill__point-item p {
  width: 17em;
}
@media screen and (max-width: 575px) {
  .skill .skill__point-list .skill__point-item p {
    width: auto;
    text-align: center;
    font-size: clamp(var(--f-13), 0.461rem + 1.5vw, 1rem);
  }
}
.skill .skill__content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 2rem;
  margin-top: 5rem;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .skill .skill__content {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    margin-top: 3.5rem;
  }
}
.skill .skill__content .skill__content__item {
  margin-top: 2.5rem;
  position: relative;
}
.skill .skill__content .skill__content__item .skill__heading {
  position: absolute;
  top: 1.5em;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
@media screen and (max-width: 767px) {
  .skill .skill__content .skill__content__item .skill__heading {
    top: 1em;
  }
  .skill .skill__content .skill__content__item .skill__heading img {
    width: 85%;
  }
}
.skill .skill__content .skill__content__item .skill__content-wrap {
  position: relative;
  z-index: 2;
  background-color: var(--white-color);
  padding: 1rem 2rem;
  border-radius: 1rem;
  height: 100%;
  -webkit-box-shadow: 0px 0px 34px 0px rgba(199, 165, 5, 0.2);
          box-shadow: 0px 0px 34px 0px rgba(199, 165, 5, 0.2);
}
.skill .skill__content .skill__content__item .skill__content-wrap h4 {
  font-size: var(--f-13);
  font-weight: 500;
  padding-left: 1rem;
  position: relative;
}
.skill .skill__content .skill__content__item .skill__content-wrap h4::before {
  content: "";
  display: block;
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--accent-color);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.skill .skill__content .skill__content__item .skill__content-wrap .tools-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 1em;
}
.skill .skill__content .skill__content__item .skill__content-wrap .tools-list + h4 {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .skill .skill__content .skill__content__item:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
  .skill .skill__content .skill__content__item:nth-of-type(2) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  .skill .skill__content .skill__content__item:nth-of-type(3) {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
  .skill .skill__content .skill__content__item:nth-of-type(3) .skill__content-wrap {
    padding: 2rem;
  }
  .skill .skill__content .skill__content__item:last-of-type {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  .skill .skill__content .skill__content__item:last-of-type .skill__content-wrap {
    padding: 2rem;
  }
}

.comparison {
  position: relative;
  z-index: 2;
}
.comparison .comparison__text {
  text-align: center;
}
.comparison .comparison__text .attention {
  font-weight: 700;
  color: var(--cv-color);
}
.comparison .comparison__text + .comparison__text {
  margin-top: 1em;
}
.comparison .attention-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 1rem;
  color: var(--cv-color);
}
.comparison .comparison__table {
  margin-top: 2rem;
}
.comparison .comparison__table thead th.current {
  background-color: var(--main-color);
  color: var(--white-color);
  font-size: 1.5rem;
  border-radius: 0.625rem 0.625rem 0 0;
  position: relative;
}
.comparison .comparison__table thead th.current::before, .comparison .comparison__table thead th.current::after {
  content: "";
  display: block;
  width: 0.25rem;
  height: 700%;
  background-color: var(--main-color);
  position: absolute;
  top: 2em;
}
.comparison .comparison__table thead th.current::before {
  left: 0;
}
.comparison .comparison__table thead th.current::after {
  right: 0;
}
.comparison .comparison__table thead th:first-of-type {
  visibility: hidden;
}
.comparison .comparison__table tbody tr:last-of-type td.current {
  border-radius: 0 0 0.625rem 0.625rem;
  border-left: 0.25rem solid var(--main-color);
  border-right: 0.25rem solid var(--main-color);
  border-bottom: 0.25rem solid var(--main-color);
}
.comparison .comparison__table tbody tr td.current {
  font-weight: 700;
  color: var(--main-color);
  border-radius: 0;
}
.comparison .deco-1 {
  position: absolute;
  aspect-ratio: 481.25/320.85;
  width: 25%;
  left: 0;
  top: 0;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
}
@media screen and (max-width: 575px) {
  .comparison .deco-1 {
    width: 35%;
    -webkit-transform: translate(-10%, -50%);
            transform: translate(-10%, -50%);
  }
}
.comparison .deco-2 {
  position: absolute;
  aspect-ratio: 287.45/196.1;
  width: 15%;
  right: 0;
  bottom: 0;
  -webkit-transform: translateX(10%);
          transform: translateX(10%);
  z-index: -1;
}
@media screen and (max-width: 575px) {
  .comparison .deco-2 {
    width: 25%;
    -webkit-transform: translate(10%, 10%);
            transform: translate(10%, 10%);
  }
}

.price {
  position: relative;
}
.price .price__text {
  font-size: var(--f-25);
  font-weight: 700;
  text-align: center;
  margin-top: 2rem;
}
@media screen and (max-width: 1079px) {
  .price .price__text {
    font-size: clamp(1rem, 0.356rem + 1.79vw, 1.563rem);
  }
}
.price .price__text strong {
  font-size: 160%;
  line-height: 1;
}
.price .price__table {
  margin: 2rem -0.625rem 0.5rem;
}
@media screen and (max-width: 767px) {
  .price .price__table {
    margin-top: 1rem;
  }
}
.price .price__table thead th {
  background-color: #DDEEF7;
}
.price .price__table tbody td strong {
  font-size: 150%;
}
.price .deco {
  position: absolute;
  aspect-ratio: 287.45/196.1;
  width: 15%;
  left: 0;
  top: 0;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
}
@media screen and (max-width: 575px) {
  .price .deco {
    width: 25%;
    -webkit-transform: translate(-10%, 10%);
            transform: translate(-10%, 10%);
  }
}

.support .support__text {
  text-align: center;
}
@media screen and (max-width: 575px) {
  .support .support__text br {
    display: none;
  }
}
.support .support__worries {
  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;
  margin: 1.5rem 0;
  gap: 1em 0;
}
@media screen and (max-width: 767px) {
  .support .support__worries {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.support .support__worries .balloon {
  position: relative;
  margin-right: 2.235625rem;
  background-color: #DDEEF7;
  padding: 1rem;
  border-radius: 0.625rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .support .support__worries .balloon {
    margin-right: 0;
  }
}
.support .support__worries .balloon::before {
  content: "";
  display: block;
  aspect-ratio: 35.77/26.81;
  width: 2.235625rem;
  position: absolute;
  right: 1px;
  top: 1rem;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  background-image: url(../images/support/speach-baloon.svg);
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .support .support__worries .balloon::before {
    aspect-ratio: 52/53;
    background-image: url(../images/support/speach-baloon-sp.svg);
    width: 3.125rem;
    -webkit-transform: translate(-50%, 70%);
            transform: translate(-50%, 70%);
    top: auto;
    bottom: 0;
    left: 75%;
  }
}
.support .option-list {
  margin-top: 2rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 2.3125rem 1rem 1fr;
  grid-template-columns: 1fr 2.3125rem 1fr;
  gap: 1rem;
  max-width: 48.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 649px) {
  .support .option-list {
    max-width: none;
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.support .option-list .option-plus {
  display: inline-block;
}
.support .option-list .option-plus img {
  width: 100%;
}
@media screen and (min-width: 650px) {
  .support .option-list .option-plus img {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (max-width: 649px) {
  .support .option-list .option-group {
    max-width: 21.875rem;
    width: 100%;
  }
}
.support .option-list .option-group .option-group-content {
  background-color: #fff;
  border-radius: 0.625rem;
  overflow: hidden;
  height: 100%;
  border: 3px solid var(--main-color);
  padding: 2rem 2rem 1.5rem;
}
.support .option-list .option-group .option-group-content h3 {
  font-size: 1.375rem;
  color: #fff;
  font-weight: 700;
  aspect-ratio: 329/106;
  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;
  margin: -2.125rem -2.1875rem 1.25rem;
  letter-spacing: 0.1em;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  line-height: 1;
  padding-bottom: 0.3em;
}
.support .option-list .option-group .option-group-content .option-item-list .option-item {
  padding-left: 2rem;
  position: relative;
}
.support .option-list .option-group .option-group-content .option-item-list .option-item::before {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.support .option-list .option-group .option-group-content .option-item-list .option-item + .option-item {
  margin-top: 0.5rem;
}
.support .option-list .option-group.basic .option-group-content {
  border-color: var(--black-color);
}
.support .option-list .option-group.basic .option-group-content h3 {
  background-image: url(../images/support/option-heading-1.svg);
}
.support .option-list .option-group.basic .option-group-content .option-item-list .option-item::before {
  content: url(../images/support/check-basic.svg);
}
.support .option-list .option-group.support-option .option-group-content {
  border-color: var(--main-color);
}
.support .option-list .option-group.support-option .option-group-content h3 {
  background-image: url(../images/support/option-heading-2.svg);
}
.support .option-list .option-group.support-option .option-group-content .option-item-list .option-item::before {
  content: url(../images/support/check-option.svg);
}
.support .option-list .option-group.support-option .option-group-content .option-price {
  margin-top: 1rem;
  font-weight: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  text-align: center;
}
.support .option-list .option-group.support-option .option-group-content .option-price strong {
  color: var(--main-color);
  font-size: 1.9375rem;
  font-family: "Roboto", sans-serif;
}

.study-flow .study-flow__item {
  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: 2rem;
  background-image: url(../images/common/bg.svg);
  padding: 2.5rem 1rem;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  border-radius: 1vw;
}
@media screen and (max-width: 991px) {
  .study-flow .study-flow__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.study-flow .study-flow__item h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  white-space: nowrap;
  width: 22.5rem;
}
@media screen and (max-width: 991px) {
  .study-flow .study-flow__item h3 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
  }
}
@media screen and (max-width: 575px) {
  .study-flow .study-flow__item h3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.study-flow .study-flow__item h3 span {
  font-size: var(--f-25);
}
@media screen and (max-width: 991px) {
  .study-flow .study-flow__item h3 span {
    font-size: var(--f-20);
  }
}
.study-flow .study-flow__item h3 img {
  font-size: inherit;
  height: 2em;
}
.study-flow .study-flow__item .study-flow__text {
  max-width: 36.25rem;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .study-flow .study-flow__item .study-flow__text {
    text-align: center;
  }
}
.study-flow .study-flow__item + .study-flow__item {
  margin-top: 1.25rem;
  position: relative;
}
.study-flow .study-flow__item + .study-flow__item::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -1.875rem);
          transform: translate(-50%, -1.875rem);
  aspect-ratio: 54.99/34.79;
  width: 3.436875rem;
  background-image: url(../images/study-flow/arrow.svg);
}
.study-flow .attention-text {
  margin-top: 2rem;
  z-index: 3;
}

.student-works {
  background-color: var(--accent-color);
  position: relative;
}
.student-works::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../images/student-works/dot.svg);
  background-size: 1.25rem;
  opacity: 0.5;
}
.student-works > * {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1600px) {
  .student-works .wrap {
    width: 60%;
  }
}
.student-works .student-works__list {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .student-works .student-works__list {
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
  }
}
.student-works .student-works__list .student-works__item {
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.student-works .student-works__list .student-works__item a .student-works__item-image {
  aspect-ratio: 4/3;
  border-radius: 0.5vw;
  overflow: hidden;
}
.student-works .student-works__list .student-works__item a .student-works__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.student-works .student-works__list .student-works__item a h3 {
  display: block;
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
}
.student-works .student-works__list .student-works__item a:hover .student-works__item-image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.student-works .deco-1 {
  position: absolute;
  aspect-ratio: 288/197;
  width: 25%;
  left: 0;
  top: 0;
  -webkit-transform: translate(-10%, -50%);
          transform: translate(-10%, -50%);
}
@media screen and (max-width: 575px) {
  .student-works .deco-1 {
    width: 35%;
    -webkit-transform: translate(-10%, -50%);
            transform: translate(-10%, -50%);
  }
}
.student-works .deco-2 {
  position: absolute;
  aspect-ratio: 192/203;
  width: 15%;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(10%, 50%);
          transform: translate(10%, 50%);
}
@media screen and (max-width: 575px) {
  .student-works .deco-2 {
    width: 25%;
    -webkit-transform: translate(10%, 50%);
            transform: translate(10%, 50%);
  }
}

.flow {
  background-color: var(--white-color);
}
.flow .flow__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr calc(2vw + 2.25rem + 2vw) 1fr calc(2vw + 2.25rem + 2vw) 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(2vw + 2.25rem + 2vw);
}
@media screen and (min-width: 1600px) {
  .flow .flow__list {
    width: 60%;
  }
}
@media screen and (max-width: 991px) {
  .flow .flow__list {
    gap: calc(10vw + 2.25rem + 10vw);
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
}
.flow .flow__list .flow__item {
  text-align: center;
}
.flow .flow__list .flow__item img {
  margin-inline: auto;
  width: 12.5rem;
}
@media screen and (max-width: 991px) {
  .flow .flow__list .flow__item img {
    width: 10.625rem;
  }
}
@media screen and (max-width: 575px) {
  .flow .flow__list .flow__item img {
    width: 11.25rem;
  }
}
.flow .flow__list .flow__item h3 {
  margin-top: 1.5rem;
  font-size: var(--f-20);
  word-break: keep-all;
}
.flow .flow__list .flow__item p {
  margin-top: 1rem;
  word-break: keep-all;
}
.flow .flow__list .flow__item:nth-of-type(-n+2) {
  position: relative;
}
.flow .flow__list .flow__item:nth-of-type(-n+2)::before {
  content: "";
  display: block;
  aspect-ratio: 36/56;
  background-image: url(../images/flow/arrow.svg);
  background-size: cover;
  width: 2.25rem;
  position: absolute;
  top: 50%;
  right: -2vw;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}
@media screen and (max-width: 991px) {
  .flow .flow__list .flow__item:nth-of-type(-n+2)::before {
    width: 3.5rem;
    aspect-ratio: 56/35;
    background-image: url(../images/flow/arrow-sp.svg);
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
    right: auto;
    top: auto;
    left: 50%;
    bottom: -10vw;
  }
}

@media screen and (min-width: 1600px) {
  .faq {
    width: 60%;
  }
}
.faq .faq__group {
  border-radius: 0.625rem;
  border: 4px solid var(--main-color);
}
.faq .faq__group > dt {
  font-weight: 700;
  padding: 1rem 1rem 1.25rem;
  font-size: var(--f-20);
  font-size: clamp(1rem, 0.714rem + 0.8vw, var(--f-20));
  background-color: var(--main-color);
  color: var(--white-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem;
}
.faq .faq__group > dt::before {
  content: "";
  display: block;
  background-image: url(../images/faq/question.svg);
  background-size: cover;
  aspect-ratio: 1/1;
  font-size: inherit;
  width: 2em;
  min-width: 2em;
}
.faq .faq__group .faq-description {
  margin-top: 1rem;
}
.faq .faq__group .faq-description dl + dl {
  margin-top: 0.5em;
}
.faq .faq__group .faq-description dt {
  font-size: var(--f-13);
  font-weight: 700;
  padding-left: 1rem;
  position: relative;
}
.faq .faq__group .faq-description dt::before {
  content: "";
  display: block;
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--accent-color);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.faq .faq__group .faq-description + * {
  margin-top: 1rem;
}
.faq .faq__group > dd {
  padding: 1rem;
  background-color: var(--white-color);
  border-radius: 0 0 0.625rem 0.625rem;
}
.faq .faq__group + .faq__group {
  margin-top: 1rem;
}
.faq .button {
  margin-top: 2.5rem;
}

.contact {
  background: linear-gradient(135deg, #BFE9FF 4.29%, #58C5FF 38.21%, #068BD2 97.1%);
  padding-inline: 1rem;
  position: relative;
}
.contact .wrap {
  padding: 3.125rem;
  border-radius: 1rem;
  background-color: var(--white-color);
}
@media screen and (min-width: 1600px) {
  .contact .wrap {
    width: 60%;
  }
}
@media screen and (max-width: 575px) {
  .contact .wrap {
    padding: 3rem 1rem;
  }
}
.contact .wrap .line-guide .line-image {
  margin-inline: auto;
}
.contact .wrap .line-guide .line-text {
  margin-inline: auto;
  word-break: keep-all;
  padding-inline: 1.3em;
  color: color-mix(in srgb, var(--line-color), #000 10%);
  font-size: var(--f-13);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin-top: 1rem;
  text-align: center;
}
.contact .wrap .line-guide .line-text::before, .contact .wrap .line-guide .line-text::after {
  color: inherit;
  font-size: inherit;
  display: block;
  position: absolute;
  bottom: 0;
}
.contact .wrap .line-guide .line-text::before {
  content: "＼";
  left: 0;
}
.contact .wrap .line-guide .line-text::after {
  content: "／";
  right: 0;
}
.contact .wrap form {
  margin-top: 3.125rem;
}
.contact .wrap form .form-group, .contact .wrap form .form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .contact .wrap form .form-group, .contact .wrap form .form-check {
    display: block;
  }
}
.contact .wrap form .form-group dt, .contact .wrap form .form-check dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.7em;
  margin-right: 3em;
}
@media screen and (min-width: 768px) {
  .contact .wrap form .form-group dt, .contact .wrap form .form-check dt {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    font-size: 1.125rem;
    min-width: 14em;
    width: 14em;
    text-align: right;
  }
}
.contact .wrap form .form-group dt label, .contact .wrap form .form-check dt label {
  font-weight: 700;
  line-height: 1;
}
.contact .wrap form .form-group dt .required, .contact .wrap form .form-check dt .required {
  margin-left: 1em;
  text-align: center;
  padding-top: 0.23em;
  color: var(--white-color);
  background: var(--cv-color);
  line-height: 1;
  border-radius: 2px;
  font-size: 0.8125rem;
  padding: 0.4em 0.4em 0.35em;
  border-radius: 0.25rem;
}
.contact .wrap form .form-group dt.message, .contact .wrap form .form-check dt.message {
  display: block;
}
@media screen and (max-width: 767px) {
  .contact .wrap form .form-group dt.message label br, .contact .wrap form .form-check dt.message label br {
    display: none;
  }
}
.contact .wrap form .form-group dt.message .attention-text, .contact .wrap form .form-check dt.message .attention-text {
  display: block;
  color: var(--cv-color);
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
}
.contact .wrap form .form-group dt.message .attention-text strong, .contact .wrap form .form-check dt.message .attention-text strong {
  color: inherit;
  text-decoration: underline;
}
.contact .wrap form .form-group dt.message .attention-text::before, .contact .wrap form .form-check dt.message .attention-text::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.contact .wrap form .form-group dd, .contact .wrap form .form-check dd {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .contact .wrap form .form-group dd, .contact .wrap form .form-check dd {
    margin-top: 0em;
    width: 39em;
  }
}
.contact .wrap form .form-group dd .form-control.form-control-original, .contact .wrap form .form-check dd .form-control.form-control-original {
  font-size: 1rem;
  width: 100%;
}
.contact .wrap form .form-group dd .form-control.textarea-original, .contact .wrap form .form-check dd .form-control.textarea-original {
  padding: 0.4em 0.5em;
}
.contact .wrap form .form-group dd .attention-text, .contact .wrap form .form-check dd .attention-text {
  width: 100%;
}
.contact .wrap form .form-group .radio-box, .contact .wrap form .form-check .radio-box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.5em 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
}
.contact .wrap form .form-group .radio-box .form-check-input.radio-original, .contact .wrap form .form-check .radio-box .form-check-input.radio-original {
  display: none;
}
.contact .wrap form .form-group .radio-box .form-check-label.label-original, .contact .wrap form .form-check .radio-box .form-check-label.label-original {
  text-align: center;
  font-weight: 700;
  background: var(--white-color);
  border: 1px solid var(--black-color);
  color: var(--black-color);
  padding: 0.8em 1em 0.7em;
  cursor: pointer;
  border-radius: 100vh;
  font-size: 0.8125rem;
  -webkit-transition: background-color var(--seconds);
  transition: background-color var(--seconds);
}
.contact .wrap form .form-group .radio-box .form-check-label.label-original:hover, .contact .wrap form .form-check .radio-box .form-check-label.label-original:hover {
  background-color: rgba(0, 70, 107, 0.1);
}
.contact .wrap form .form-group .radio-box .form-check-label.label-original .check-original, .contact .wrap form .form-check .radio-box .form-check-label.label-original .check-original {
  display: none;
}
.contact .wrap form .form-group .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original, .contact .wrap form .form-check .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original {
  background: var(--black-color);
  color: var(--white-color);
  position: relative;
  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: 0.5em;
}
.contact .wrap form .form-group .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original::before, .contact .wrap form .form-check .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original::before {
  content: "";
  display: block;
  background-image: url(../images/contact/check.svg);
  background-size: 100% 100%;
  aspect-ratio: 18/14;
  width: 1.125rem;
}
.contact .wrap form .form-group .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original .check-original, .contact .wrap form .form-check .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original .check-original {
  display: inline-block;
  color: var(--white-color);
  margin-right: 0.5em;
}
.contact .wrap form .form-group .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original .check-original path, .contact .wrap form .form-check .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original .check-original path {
  fill: var(--white-color);
}
.contact .wrap form .form-group .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original:hover, .contact .wrap form .form-check .radio-box .form-check-input.radio-original:checked + .form-check-label.label-original:hover {
  background-color: var(--black-color);
}
.contact .wrap form .form-group input[type=text],
.contact .wrap form .form-group input[type=email],
.contact .wrap form .form-group textarea, .contact .wrap form .form-check input[type=text],
.contact .wrap form .form-check input[type=email],
.contact .wrap form .form-check textarea {
  height: auto;
  border: 0 solid transparent;
  padding: 0.8em 1em 0.7em;
  background: #DDEEF7;
}
.contact .wrap form .form-group input[type=text]::-webkit-input-placeholder, .contact .wrap form .form-group input[type=email]::-webkit-input-placeholder, .contact .wrap form .form-group textarea::-webkit-input-placeholder, .contact .wrap form .form-check input[type=text]::-webkit-input-placeholder, .contact .wrap form .form-check input[type=email]::-webkit-input-placeholder, .contact .wrap form .form-check textarea::-webkit-input-placeholder {
  color: var(--black-color);
  opacity: 0.3;
}
.contact .wrap form .form-group input[type=text]::-moz-placeholder, .contact .wrap form .form-group input[type=email]::-moz-placeholder, .contact .wrap form .form-group textarea::-moz-placeholder, .contact .wrap form .form-check input[type=text]::-moz-placeholder, .contact .wrap form .form-check input[type=email]::-moz-placeholder, .contact .wrap form .form-check textarea::-moz-placeholder {
  color: var(--black-color);
  opacity: 0.3;
}
.contact .wrap form .form-group input[type=text]:-ms-input-placeholder, .contact .wrap form .form-group input[type=email]:-ms-input-placeholder, .contact .wrap form .form-group textarea:-ms-input-placeholder, .contact .wrap form .form-check input[type=text]:-ms-input-placeholder, .contact .wrap form .form-check input[type=email]:-ms-input-placeholder, .contact .wrap form .form-check textarea:-ms-input-placeholder {
  color: var(--black-color);
  opacity: 0.3;
}
.contact .wrap form .form-group input[type=text]::-ms-input-placeholder, .contact .wrap form .form-group input[type=email]::-ms-input-placeholder, .contact .wrap form .form-group textarea::-ms-input-placeholder, .contact .wrap form .form-check input[type=text]::-ms-input-placeholder, .contact .wrap form .form-check input[type=email]::-ms-input-placeholder, .contact .wrap form .form-check textarea::-ms-input-placeholder {
  color: var(--black-color);
  opacity: 0.3;
}
.contact .wrap form .form-group input[type=text]::placeholder,
.contact .wrap form .form-group input[type=email]::placeholder,
.contact .wrap form .form-group textarea::placeholder, .contact .wrap form .form-check input[type=text]::placeholder,
.contact .wrap form .form-check input[type=email]::placeholder,
.contact .wrap form .form-check textarea::placeholder {
  color: var(--black-color);
  opacity: 0.3;
}
.contact .wrap form .form-group + .form-group,
.contact .wrap form .form-group + .form-check, .contact .wrap form .form-check + .form-group,
.contact .wrap form .form-check + .form-check {
  margin-top: 2em;
}
.contact .wrap form .form-group + .attention-text, .contact .wrap form .form-check + .attention-text {
  margin-top: 1em;
}
.contact .wrap form .attention-text a {
  text-decoration: underline;
  -webkit-transition: background-color var(--seconds);
  transition: background-color var(--seconds);
}
.contact .wrap form .attention-text a:hover {
  background-color: var(--black-color);
}
.contact .wrap form .attention-text + .attention-text {
  margin-top: 1em;
}
.contact .wrap form .button {
  margin-top: 2.5rem;
}
.contact .wrap form .button button {
  font-size: var(--f-20);
}
.contact .deco-1 {
  position: absolute;
  aspect-ratio: 288/197;
  width: 25%;
  left: 0;
  top: 0;
  -webkit-transform: translate(-10%, -50%);
          transform: translate(-10%, -50%);
}
@media screen and (max-width: 575px) {
  .contact .deco-1 {
    width: 35%;
    -webkit-transform: translate(-10%, -50%);
            transform: translate(-10%, -50%);
  }
}
.contact .deco-2 {
  position: absolute;
  aspect-ratio: 192/203;
  width: 15%;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(10%, 50%);
          transform: translate(10%, 50%);
}
@media screen and (max-width: 575px) {
  .contact .deco-2 {
    width: 25%;
    -webkit-transform: translate(10%, 50%);
            transform: translate(10%, 50%);
  }
}

.company {
  text-align: center;
}
.company dl {
  padding: 1.25rem 1rem;
  border-top: 1px solid rgba(0, 70, 107, 0.3);
}
.company dl:last-of-type {
  border-bottom: 1px solid rgba(0, 70, 107, 0.3);
}
.company dl dt {
  font-weight: 700;
}

.campaign__link {
  display: block;
  -webkit-transition: -webkit-filter 0.2s, -webkit-transform 0.2s;
  transition: -webkit-filter 0.2s, -webkit-transform 0.2s;
  transition: filter 0.2s, transform 0.2s;
  transition: filter 0.2s, transform 0.2s, -webkit-filter 0.2s, -webkit-transform 0.2s;
  position: relative;
  z-index: 6;
  margin-top: -2em;
}
@media screen and (max-width: 1199px) {
  .campaign__link {
    margin-top: 3em;
  }
}
.campaign__link .campaign {
  width: 100%;
  -webkit-box-shadow: 10px 14px 30px 0px rgba(0, 134, 205, 0.3);
          box-shadow: 10px 14px 30px 0px rgba(0, 134, 205, 0.3);
}
.campaign__link .campaign picture, .campaign__link .campaign img {
  width: 100%;
}
.campaign__link:hover {
  -webkit-filter: contrast(110%);
          filter: contrast(110%);
  -webkit-transform: translateY(-1em);
          transform: translateY(-1em);
}