@charset "UTF-8";
/* リキッドレイアウト対応 */
@font-face {
  font-display: swap;
  font-weight: 500;
  font-style: normal;
  font-family: DIN;
  src: url("../font/DIN-Medium.ttf");
}
@font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: DIN;
  src: url("../font/DIN-Regular.ttf");
}
@font-face {
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  font-family: DIN;
  src: url("../font/DIN-Bold.ttf");
}
body {
  font-family: m-plus-1p, sans-serif;
  color: #000;
  font-weight: 400;
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 768px) {
  html {
    font-size: 1.6494845361vw;
  }
}
@media (min-width: 970px) {
  html {
    font-size: 16px;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
  display: none;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

html {
  word-wrap: break-word;
}

.benefit .inner {
  max-width: 970px;
  max-width: 60.625rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.benefit .link {
  color: #00b4c8;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  text-underline-offset: 0.125rem;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.benefit .link:hover {
  -webkit-text-decoration-color: #00b4c8;
  text-decoration-color: #00b4c8;
}
.benefit .more-button {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  background: #fff;
  text-align: center;
  border-radius: 0.3125rem;
  border: 1px solid #00b4c8;
  padding: 23px 60px;
  padding: 1.4375rem 3.75rem;
  display: block;
  position: relative;
  -webkit-transition: 0.3s ease-in-out background, 0.3s ease-in-out color;
  transition: 0.3s ease-in-out background, 0.3s ease-in-out color;
}
.benefit .more-button svg {
  position: absolute;
  top: 50%;
  right: 30px;
  right: 1.875rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  aspect-ratio: 1;
  width: 20px;
  width: 1.25rem;
}
.benefit .more-button .cls-1 {
  fill: #00b4c8;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.benefit .more-button .cls-2 {
  fill: #fff;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.benefit .more-button:hover {
  background: #00b4c8;
  color: #fff;
}
.benefit .more-button:hover .cls-1 {
  fill: #fff;
}
.benefit .more-button:hover .cls-2 {
  fill: #00b4c8;
}
.benefit .section-title {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  padding-left: 45px;
  padding-left: 2.8125rem;
  -webkit-transform: translateX(-1.25rem);
  transform: translateX(-1.25rem);
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 500;
  font-family: senobi-gothic, sans-serif;
  color: #000;
  line-height: 1.3888888889;
}
.benefit .section-title span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .benefit .section-title {
    font-size: 1.625rem;
    padding-left: 1.875rem;
    -webkit-transform: translateX(-0.625rem);
    transform: translateX(-0.625rem);
  }
}
.benefit .section-title::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  aspect-ratio: 1;
  width: 27px;
  width: 1.6875rem;
  background-image: url("../images/common/head-dec.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .benefit .section-title::before {
    width: 1.5rem;
  }
}
.benefit .fv {
  overflow: hidden;
  background-image: url("../images/common/fv-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.benefit .fv__inner {
  max-width: 970px;
  max-width: 60.625rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .fv__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.benefit .fv__container {
  padding: 70px 0 45px;
  padding: 4.375rem 0 2.8125rem;
}
@media screen and (max-width: 767px) {
  .benefit .fv__container {
    padding: 1.875rem 0 4.375rem;
  }
}
.benefit .fv__logo {
  display: block;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  aspect-ratio: 438/47;
  width: 438px;
  width: 27.375rem;
}
@media screen and (max-width: 767px) {
  .benefit .fv__logo {
    width: 15.625rem;
    margin-bottom: 2.5rem;
  }
}
.benefit .fv__logo img {
  -o-object-fit: contain;
  object-fit: contain;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.benefit .fv__subtitle {
  max-width: 100%;
  width: 790px;
  width: 49.375rem;
  -webkit-transform: translateX(-0.9375rem);
  transform: translateX(-0.9375rem);
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
  aspect-ratio: 791/300;
  min-height: 0;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .fv__subtitle {
    -webkit-transform: translateX(-0.625rem);
    transform: translateX(-0.625rem);
    width: 100%;
  }
}
.benefit .fv__subtitle svg * {
  transform-box: fill-box;
  -webkit-transform-origin: center;
  transform-origin: center;
}
.benefit .fv__subtitle svg .flag {
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
}
.benefit .fv__subtitle svg .text-bottom {
  -webkit-transform-origin: center;
  transform-origin: center;
  transform-box: fill-box;
}
.benefit .fv__subtitle svg .text-right {
  transform-box: fill-box;
}
.benefit .fv__content {
  width: 100%;
  position: relative;
  background: #fff;
  padding: 30px 20px 40px;
  padding: 1.875rem 1.25rem 2.5rem;
  max-width: 740px;
  max-width: 46.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .fv__content {
    padding: 1.25rem 0.625rem 1.875rem;
  }
}
.benefit .fv__read {
  text-align: center;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  font-family: senobi-gothic, sans-serif;
  color: #000;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
}
@media screen and (max-width: 767px) {
  .benefit .fv__read {
    font-size: 1.375rem;
    margin-bottom: 0.625rem;
  }
}
.benefit .fv__read span {
  color: #00b4c8;
  font-size: 40px;
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .benefit .fv__read span {
    font-size: 1.625rem;
  }
}
.benefit .fv__text {
  max-width: 450px;
  max-width: 28.125rem;
  margin-inline: auto;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .benefit .fv__text {
    text-align: center;
    max-width: unset;
    font-size: 1rem;
  }
}
.benefit .fv__dec1 {
  aspect-ratio: 229/332;
  width: 229px;
  width: 14.3125rem;
  position: absolute;
  top: -55px;
  top: -3.4375rem;
  left: -100px;
  left: -6.25rem;
}
@media screen and (max-width: 767px) {
  .benefit .fv__dec1 {
    width: 5.3125rem;
    left: -1.875rem;
    top: unset;
    bottom: -4.375rem;
  }
}
.benefit .fv__dec2 {
  aspect-ratio: 260/350;
  position: absolute;
  width: 260px;
  width: 16.25rem;
  top: -75px;
  top: -4.6875rem;
  right: -110px;
  right: -6.875rem;
}
@media screen and (max-width: 767px) {
  .benefit .fv__dec2 {
    width: 6.25rem;
    top: unset;
    bottom: -4.375rem;
    right: -1.875rem;
  }
}
.benefit .cam {
  background: #fff000;
}
.benefit .cam__inner {
  max-width: 940px;
  max-width: 58.75rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .cam__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.benefit .cam__container {
  padding: 20px 0 10px;
  padding: 1.25rem 0 0.625rem;
}
.benefit .cam__texts {
  padding: 0 45px;
  padding: 0 2.8125rem;
}
@media screen and (max-width: 767px) {
  .benefit .cam__texts {
    padding: 0 1.5625rem;
  }
}
.benefit .cam__read {
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0 20px 0 30px;
  padding: 0 1.25rem 0 1.875rem;
  margin-bottom: unset;
  line-height: 1;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 700;
  color: #00b4c8;
  position: relative;
}
@media screen and (max-width: 767px) {
  .benefit .cam__read {
    font-size: 1.5rem;
    line-height: 1.1;
    padding: unset;
  }
}
.benefit .cam__read span {
  font-size: 62px;
  font-size: 3.875rem;
  display: inline-block;
  margin: 0 1px;
  margin: 0 0.0625rem;
}
@media screen and (max-width: 767px) {
  .benefit .cam__read span {
    margin: unset;
    font-size: 2.5rem;
  }
}
.benefit .cam__read::before,
.benefit .cam__read::after {
  content: "";
  display: block;
  position: absolute;
  height: 78%;
  top: 50%;
  width: 1px;
  background: #00b4c8;
}
.benefit .cam__read::before {
  left: 101%;
  -webkit-transform: translate(0%, -50%) rotate(25deg);
  transform: translate(0%, -50%) rotate(25deg);
}
@media screen and (max-width: 767px) {
  .benefit .cam__read::before {
    right: -1.875rem;
    left: unset;
  }
}
.benefit .cam__read::after {
  right: 101%;
  -webkit-transform: translate(0%, -50%) rotate(-25deg);
  transform: translate(0%, -50%) rotate(-25deg);
}
@media screen and (max-width: 767px) {
  .benefit .cam__read::after {
    right: unset;
    left: -1.875rem;
  }
}
.benefit .cam__bottom {
  padding: 0 37px;
  padding: 0 2.3125rem;
  text-align: right;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  color: #00b4c8;
}
@media screen and (max-width: 767px) {
  .benefit .cam__bottom {
    padding: 0 1.875rem;
    font-size: 0.875rem;
  }
}
.benefit .target {
  position: relative;
  z-index: 2;
  -webkit-clip-path: polygon(
    100% 0,
    100% calc(100% - 5.625rem),
    50% 100%,
    0 calc(100% - 5.625rem),
    0 0
  );
  clip-path: polygon(
    100% 0,
    100% calc(100% - 5.625rem),
    50% 100%,
    0 calc(100% - 5.625rem),
    0 0
  );
  background-image: url("../images/common/read-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .benefit .target {
    background-size: 200%;
    background-repeat: repeat;
    -webkit-clip-path: polygon(
      100% 0,
      100% calc(100% - 3.125rem),
      50% 100%,
      0 calc(100% - 3.125rem),
      0 0
    );
    clip-path: polygon(
      100% 0,
      100% calc(100% - 3.125rem),
      50% 100%,
      0 calc(100% - 3.125rem),
      0 0
    );
  }
}
@media screen and (max-width: 767px) {
  .benefit .target__inner {
    max-width: 28.125rem;
  }
}
.benefit .target__container {
  padding: 50px 0 120px;
  padding: 3.125rem 0 7.5rem;
}
@media screen and (max-width: 767px) {
  .benefit .target__container {
    padding: 2.5rem 0 5rem;
  }
}
.benefit .target__title {
  margin-bottom: 65px;
  margin-bottom: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .benefit .target__title {
    margin-bottom: 3.125rem;
  }
}
.benefit .target__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 55px;
  gap: 3.4375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .benefit .target__items {
    grid-template-columns: 1fr;
    gap: 2.8125rem;
  }
}
.benefit .target-i {
  background: #edfbfc;
  border: 1px solid #00b4c8;
  padding: 0 22px 22px;
  padding: 0 1.375rem 1.375rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-radius: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .benefit .target-i {
    padding: 0 1.25rem 1.25rem;
  }
}
.benefit .target-i__number {
  margin-inline: auto;
  aspect-ratio: 1;
  width: 52px;
  width: 3.25rem;
  margin-top: -26px;
  margin-top: -1.625rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__number {
    width: 2.8125rem;
    margin-top: -1.375rem;
  }
}
.benefit .target-i__number span {
  display: inline-block;
  line-height: 1;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 400;
  font-family: DIN, sans-serif;
  color: #fff;
  -webkit-transform: translateY(0.75rem);
  transform: translateY(0.75rem);
}
@media screen and (max-width: 767px) {
  .benefit .target-i__number span {
    font-size: 1.5rem;
    -webkit-transform: translateY(0.5rem);
    transform: translateY(0.5rem);
  }
}
.benefit .target-i__title {
  background-image: url("../images/common/cloud.png");
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  display: grid;
  place-content: center;
  aspect-ratio: 230/128;
  padding-bottom: 13px;
  padding-bottom: 0.8125rem;
  text-align: center;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__title {
    width: 90%;
    margin-inline: auto;
    margin-bottom: 1.25rem;
  }
}
.benefit .target-i__title span {
  display: inline-block;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__title span {
    font-size: 1.375rem;
  }
}
.benefit .target-i__texts {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: grid;
  place-content: center;
}
.benefit .target-i__text {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  color: #231815;
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__text {
    font-size: 1rem;
    line-height: 1.3;
  }
}
.benefit .target-i__text .large {
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__text .large {
    font-size: 1.1875rem;
  }
}
.benefit .target-i__read {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 700;
  color: #f08929;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__read {
    font-size: 1.5rem;
  }
}
.benefit .target-i__read--circle {
  position: relative;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__read--circle {
    margin-bottom: 1.25rem;
  }
}
.benefit .target-i__read--circle::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.625rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #f08929;
  width: 8px;
  width: 0.5rem;
}
@media screen and (max-width: 767px) {
  .benefit .target-i__read--circle::after {
    width: 0.375rem;
    top: calc(100% + 0.4375rem);
  }
}
.benefit .target__bottom {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
}
.benefit .target__bottom span {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .benefit .target__bottom {
    font-size: 0.875rem;
  }
}
.benefit .flow {
  position: relative;
  z-index: 1;
  background: #e2f4f8;
  background-image: repeating-linear-gradient(
      90deg,
      #e2f4f8,
      #e2f4f8 1px,
      transparent 1px,
      transparent 6px
    ),
    repeating-linear-gradient(
      0deg,
      #e2f4f8,
      #e2f4f8 1px,
      #edfbfc 1px,
      #edfbfc 6px
    );
  margin-top: -90px;
  margin-top: -5.625rem;
  padding-bottom: 100px;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .benefit .flow {
    margin-top: -3.125rem;
  }
}
.benefit .flow__inner {
  max-width: 785px;
  max-width: 49.0625rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .flow__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.benefit .flow__container {
  padding: 157px 0 120px;
  padding: 9.8125rem 0 7.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .benefit .flow__container {
    padding: 6.25rem 0 3.125rem;
  }
}
.benefit .flow__dec {
  position: absolute;
  z-index: 5;
  bottom: 0;
  right: -20px;
  right: -1.25rem;
  aspect-ratio: 245/280;
  width: 245px;
  width: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .benefit .flow__dec {
    width: 9.375rem;
    right: -0.9375rem;
  }
}
.benefit .flow__title {
  margin-bottom: 53px;
  margin-bottom: 3.3125rem;
}
@media screen and (max-width: 767px) {
  .benefit .flow__title {
    margin-bottom: 1.875rem;
  }
}
.benefit .flow__item {
  margin-bottom: 42px;
  margin-bottom: 2.625rem;
}
@media screen and (max-width: 767px) {
  .benefit .flow__item {
    margin-bottom: 1.5625rem;
  }
}
.benefit .flow__item:last-of-type {
  margin-bottom: unset;
}
.benefit .flow-i {
  margin-left: 50px;
  margin-left: 3.125rem;
  background: #fff;
  border-radius: 0.3125rem;
  min-height: 125px;
  min-height: 7.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i {
    margin-left: 1.5625rem;
    min-height: 5rem;
  }
}
.benefit .flow-i__dec1 {
  position: absolute;
  aspect-ratio: 121/162;
  width: 121px;
  width: 7.5625rem;
  bottom: 3px;
  bottom: 0.1875rem;
  right: -5px;
  right: -0.3125rem;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__dec1 {
    display: none;
  }
}
.benefit .flow-i__dec2 {
  aspect-ratio: 175/98;
  width: 175px;
  width: 10.9375rem;
  bottom: 0;
  right: 88px;
  right: 5.5rem;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__dec2 {
    width: 6.25rem;
    right: 1.25rem;
  }
}
.benefit .flow-i__dec3 {
  position: absolute;
  aspect-ratio: 94/96;
  width: 94px;
  width: 5.875rem;
  right: 7px;
  right: 0.4375rem;
  bottom: 7px;
  bottom: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__dec3 {
    width: 4.0625rem;
    bottom: 1.25rem;
  }
}
.benefit .flow-i {
  --clip: inset(0% 0% 0% 0%);
  --opacity: 1;
}
.benefit .flow-i:last-of-type {
  z-index: 1;
}
.benefit .flow-i:last-of-type:after {
  content: "";
  display: block;
  position: absolute;
  left: -3px;
  left: -0.1875rem;
  bottom: 100%;
  height: 555px;
  height: 34.6875rem;
  width: 5px;
  width: 0.3125rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url("../images/common/line.svg");
  background-repeat: repeat-y;
  background-size: contain;
  background-position: center 0;
  z-index: 1;
  -webkit-clip-path: var(--clip);
  clip-path: var(--clip);
}
@media screen and (max-width: 767px) {
  .benefit .flow-i:last-of-type:after {
    height: 28.75rem;
    width: 0.1875rem;
    background-position: bottom;
  }
}
.benefit .flow-i:last-of-type::before {
  opacity: var(--opacity);
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 23/9;
  width: 23px;
  width: 1.4375rem;
  top: 5px;
  top: 0.3125rem;
  left: -1px;
  left: -0.0625rem;
  background-image: url("../images/common/arrow-bottom.svg");
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.benefit .flow-i__number {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: -53px;
  left: -3.3125rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: 102px;
  width: 6.375rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__number {
    left: -2.25rem;
    width: 4.0625rem;
  }
}
.benefit .flow-i__body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 21px 70px;
  padding: 1.3125rem 4.375rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__body {
    padding: 1.25rem 2.5rem 1.25rem 2.4375rem;
  }
}
.benefit .flow-i__head {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 500;
  color: #006ed2;
  line-height: 1.2307692308;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__head {
    line-height: 1.4;
    font-size: 1.25rem;
  }
}
.benefit .flow-i__text {
  margin-top: 5px;
  margin-top: 0.3125rem;
  font-size: 16px;
  font-size: 1rem;
  color: #231815;
  line-height: 1.8125;
}
@media screen and (max-width: 767px) {
  .benefit .flow-i__text {
    line-height: 1.4;
    font-size: 0.875rem;
  }
}
.benefit .lesson {
  position: relative;
  z-index: 3;
  background: #fff;
  border-radius: 6.25rem 6.25rem 0 0;
  margin-top: -100px;
  margin-top: -6.25rem;
}
@media screen and (max-width: 767px) {
  .benefit .lesson {
    border-radius: 1.25rem 1.25rem 0 0;
  }
}
.benefit .lesson__container {
  padding: 66px 0 85px;
  padding: 4.125rem 0 5.3125rem;
}
@media screen and (max-width: 767px) {
  .benefit .lesson__container {
    padding: 3.125rem 0;
  }
}
.benefit .lesson__title {
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .benefit .lesson__title {
    margin-bottom: 1.875rem;
  }
}
.benefit .lesson__read {
  margin-bottom: 45px;
  margin-bottom: 2.8125rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2.125;
}
@media screen and (max-width: 767px) {
  .benefit .lesson__read {
    margin-bottom: 1.5625rem;
    font-size: 0.875rem;
  }
}
.benefit .lesson__table table {
  border-collapse: collapse;
  width: 100%;
}
.benefit .lesson__table .head {
  font-weight: 700;
  background: #00b4c8;
  color: #fff;
  text-align: center;
}
.benefit .lesson__table th,
.benefit .lesson__table td {
  border: 1px solid #d2d2d2;
  padding: 10px 23px;
  padding: 0.625rem 1.4375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .benefit .lesson__table th,
  .benefit .lesson__table td {
    font-size: 0.875rem;
    padding: 0.625rem 0.5rem;
  }
}
.benefit .lesson__table th {
  width: 160px;
  width: 10rem;
  text-align: center;
  background: #f5f5f3;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .benefit .lesson__table th {
    width: auto;
  }
}
.benefit .about {
  background: #edfbfc;
}
.benefit .about__container {
  padding: 55px 0 65px;
  padding: 3.4375rem 0 4.0625rem;
}
@media screen and (max-width: 767px) {
  .benefit .about__container {
    padding: 2.5rem 0;
  }
}
.benefit .about__title {
  font-size: 32px;
  font-size: 2rem;
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .benefit .about__title {
    font-size: 1.625rem;
    margin-bottom: 1.875rem;
    margin-inline: auto;
    -webkit-transform: unset;
    transform: unset;
  }
}
.benefit .about__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .benefit .about__buttons {
    grid-template-columns: 1fr;
    gap: 1.5625rem;
  }
}
.benefit .location {
  background: #fff;
}
.benefit .location__container {
  padding: 55px 0 65px;
  padding: 3.4375rem 0 4.0625rem;
}
@media screen and (max-width: 767px) {
  .benefit .location__container {
    padding: 2.5rem 0;
  }
}
.benefit .location__title {
  margin-bottom: 45px;
  margin-bottom: 2.8125rem;
  font-size: 32px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .benefit .location__title {
    font-size: 1.625rem;
    margin-bottom: 1.875rem;
  }
}
.benefit .location__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .benefit .location__buttons {
    grid-template-columns: 1fr;
    gap: 1.5625rem;
  }
}
.benefit .support {
  background-image: url("../images/common/footer-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .benefit .support {
    background-size: 200%;
    background-repeat: repeat;
  }
}
.benefit .support__inner {
  max-width: 590px;
  max-width: 36.875rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .support__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.benefit .support__container {
  padding: 80px 0 65px;
  padding: 5rem 0 4.0625rem;
}
@media screen and (max-width: 767px) {
  .benefit .support__container {
    padding: 2.5rem 0;
  }
}
.benefit .support__title {
  text-align: center;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 500;
  font-family: senobi-gothic, sans-serif;
  color: #0055be;
  line-height: 1.3125;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  padding: 0 35px;
  padding: 0 2.1875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .benefit .support__title {
    font-size: 1.375rem;
    padding: 0 1.25rem;
  }
}
.benefit .support__title::before,
.benefit .support__title::after {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  top: 50%;
  width: 1px;
  background: #0055be;
}
.benefit .support__title::before {
  right: 0;
  -webkit-transform: translate(0%, -50%) rotate(30deg);
  transform: translate(0%, -50%) rotate(30deg);
}
.benefit .support__title::after {
  left: 0;
  -webkit-transform: translate(0%, -50%) rotate(-30deg);
  transform: translate(0%, -50%) rotate(-30deg);
}
.benefit .support__banner {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  aspect-ratio: 540/227;
  display: block;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.benefit .support__banner:hover {
  opacity: 0.7;
}
.benefit .support__bottom {
  text-align: right;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2.125;
}
@media screen and (max-width: 767px) {
  .benefit .support__bottom {
    font-size: 0.875rem;
  }
}
.benefit .footer {
  background: #fff;
}
.benefit .footer__inner {
  max-width: 485px;
  max-width: 30.3125rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .footer__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.benefit .footer__container {
  padding: 40px 0;
  padding: 2.5rem 0;
}
.benefit .footer__title {
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
  /* aspect-ratio: 435/45; */
  width: 435px;
  width: 27.1875rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .benefit .footer__title {
    width: 100%;
  }
}
.benefit .footer__info {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.7;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}
.benefit .footer__copy {
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.28em;
}
@media screen and (max-width: 767px) {
  .benefit .footer__copy {
    font-size: 0.875rem;
  }
}

.nqsap {
  background: #fff;
}
@-webkit-keyframes maskImg {
  0% {
    -webkit-mask-position: 200% 0%;
    mask-position: 200% 0%;
  }
  100% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}
@keyframes maskImg {
  0% {
    -webkit-mask-position: 200% 0%;
    mask-position: 200% 0%;
  }
  100% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}
.nqsap .js-maskImg {
  -webkit-mask-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(black),
    to(transparent)
  );
  -webkit-mask-image: linear-gradient(90deg, black 0% 50%, transparent 100%);
  mask-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(black),
    to(transparent)
  );
  mask-image: linear-gradient(90deg, black 0% 50%, transparent 100%);
  -webkit-mask-size: 200% 100%;
  mask-size: 200% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 200% 0%;
  mask-position: 200% 0%;
}
.nqsap .js-maskImg.is-open {
  -webkit-animation: maskImg 1s linear forwards;
  animation: maskImg 1s linear forwards;
}
.nqsap .underline {
  position: relative;
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .nqsap .underline {
    padding-bottom: 0.625rem;
  }
}
.nqsap .secFadeIn {
  --clip: inset(0% 0% 0% 0%);
}
.nqsap .underline::after {
  -webkit-clip-path: var(--clip);
  clip-path: var(--clip);
  content: "";
  display: block;
  position: absolute;
  bottom: 2px;
  bottom: 0.125rem;
  left: 0;
  width: 90px;
  width: 5.625rem;
  background: #0055be;
  height: 2px;
}
@media screen and (max-width: 767px) {
  .nqsap .underline::after {
    width: 4.375rem;
  }
}
.nqsap .section-title {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  color: #0055be;
  line-height: 1.4;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .nqsap .section-title {
    font-size: 1.375rem;
  }
}
.nqsap .section-title span {
  display: inline-block;
}
.nqsap .inner {
  max-width: 970px;
  max-width: 60.625rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.nqsap .loader {
  background: #0055be;
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overscroll-behavior: none;
  scrollbar-width: none;
  overflow: auto;
}
.nqsap .loader__cover {
  background: #fff;
  position: fixed;
  z-index: 100;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  aspect-ratio: 1;
  width: 250vw;
  min-width: 150vh;
  z-index: 1000;
  border-radius: 50%;
}
.nqsap .loader__inner {
  min-height: calc(100% + 1px);
  width: 100%;
  display: grid;
  place-content: center;
}
.nqsap .loader__logo {
  width: 750px;
  width: 46.875rem;
  aspect-ratio: 750/80;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .nqsap .loader__logo {
    width: 20rem;
  }
}
.nqsap .loader__logo .loader__logo svg {
  display: inline-block;
}
.nqsap .fv {
  background-image: url("../images/nqsap/fv-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}
.nqsap .fv__container {
  padding: 65px 0 90px;
  padding: 4.0625rem 0 5.625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .fv__container {
    padding: 1.875rem 0 4.375rem;
  }
}
.nqsap .fv__logo {
  display: block;
  aspect-ratio: 438/47;
  width: 438px;
  width: 27.375rem;
  margin-bottom: 65px;
  margin-bottom: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .fv__logo {
    width: 15.625rem;
    margin-bottom: 1.875rem;
  }
}
.nqsap .fv__top {
  border-radius: 62.5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #fff;
  padding: 25px 60px;
  padding: 1.5625rem 3.75rem;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  color: #0055be;
  line-height: 1;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .nqsap .fv__top {
    font-size: 1.1875rem;
    padding: 0.75rem 0.9375rem;
    margin-bottom: 1.25rem;
  }
}
.nqsap .fv__middle {
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.6666666667;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .nqsap .fv__middle {
    font-size: 1.125rem;
    margin-bottom: 1.875rem;
  }
}
.nqsap .fv__title {
  aspect-ratio: 750/80;
  width: 750px;
  width: 46.875rem;
  margin-inline: auto;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .nqsap .fv__title {
    width: 100%;
    margin-bottom: 1.875rem;
  }
}
.nqsap .fv__bottoms {
  text-align: center;
}
.nqsap .fv__bottom {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #fff;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .nqsap .fv__bottom {
    font-size: 0.875rem;
  }
}
.nqsap .fv__bottom span {
  font-weight: 900;
}
.nqsap .about {
  margin-top: -100px;
  margin-top: -6.25rem;
  background-image: url("../images/nqsap/about-bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .nqsap .about {
    margin-top: -3.125rem;
    background-position: 0% 0%;
  }
}
.nqsap .about::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 340px;
  height: 21.25rem;
  background-image: url("../images/nqsap/recruit-dec.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  z-index: 1;
}
.nqsap .about__container {
  position: relative;
  z-index: 2;
  padding: 175px 0 130px;
  padding: 10.9375rem 0 8.125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .about__container {
    padding: 6.5625rem 0 5rem;
  }
}
.nqsap .about__title {
  text-align: center;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
  font-size: 36px;
  font-size: 2.25rem;
}
@media screen and (max-width: 767px) {
  .nqsap .about__title {
    font-size: 1.5rem;
    margin-bottom: 1.875rem;
  }
}
.nqsap .about__title::after {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.nqsap .about__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 770px;
  max-width: 48.125rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .about__content {
    display: block;
  }
}
.nqsap .about__text {
  margin-top: 30px;
  margin-top: 1.875rem;
  word-break: break-all;
  text-align: justify;
  max-width: 475px;
  max-width: 29.6875rem;
  width: 60%;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 2.4117647059;
}
@media screen and (max-width: 767px) {
  .nqsap .about__text {
    max-width: unset;
    width: 100%;
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 0.625rem;
  }
}
.nqsap .about__text .spring {
  display: inline-block;
  width: 81px;
  width: 5.0625rem;
  aspect-ratio: 81/17;
  margin-bottom: -2px;
  margin-bottom: -0.125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .about__text .spring {
    width: 4.6875rem;
  }
}
.nqsap .about__text .spring img {
  -o-object-fit: contain;
  object-fit: contain;
}
.nqsap .about__text .nqsap {
  display: inline-block;
  width: 75px;
  width: 4.6875rem;
  aspect-ratio: 75/18;
  margin-bottom: -2px;
  margin-bottom: -0.125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .about__text .nqsap {
    width: 4.375rem;
  }
}
.nqsap .about__text .nqsap img {
  -o-object-fit: contain;
  object-fit: contain;
}
.nqsap .about__img {
  width: 35%;
  aspect-ratio: 407/394;
}
@media screen and (max-width: 767px) {
  .nqsap .about__img {
    width: 40%;
    margin-left: auto;
    margin-right: -1.25rem;
  }
}
.nqsap .about__img img {
  width: 150%;
  max-width: unset;
  aspect-ratio: 407/394;
  height: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .about__img img {
    width: 100%;
  }
}
.nqsap .about-r {
  background: #ffeb00;
  border-radius: 0.625rem;
  padding: 0 30px 37px;
  padding: 0 1.875rem 2.3125rem;
}
.nqsap .about-r__title {
  text-align: center;
  -webkit-transform: translateY(-1.25rem);
  transform: translateY(-1.25rem);
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .about-r__title {
    -webkit-transform: translateY(-1.125rem);
    transform: translateY(-1.125rem);
  }
}
.nqsap .about-r__title::after {
  content: "";
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.nqsap .about-r__items {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px;
  gap: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .about-r__items {
    grid-template-columns: 1fr;
  }
}
.nqsap .about-r__plus {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  aspect-ratio: 1;
  width: 62px;
  width: 3.875rem;
}
.nqsap .program-to-recruit {
  background-image: url("../images/nqsap/program-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.nqsap .program {
  margin-bottom: 60px;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .nqsap .program {
    margin-bottom: 3.125rem;
  }
}
.nqsap .program__inner {
  max-width: 740px;
  max-width: 46.25rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .program__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.nqsap .program__container {
  padding: 150px 0 0;
  padding: 9.375rem 0 0;
}
@media screen and (max-width: 767px) {
  .nqsap .program__container {
    padding-top: 6.25rem;
  }
}
.nqsap .program__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 10px 40px;
  padding: 0.625rem 2.5rem;
  position: relative;
  margin-bottom: 80px;
  margin-bottom: 5rem;
  overflow: unset;
}
@media screen and (max-width: 767px) {
  .nqsap .program__title {
    margin-bottom: 3.125rem;
    padding: 0.625rem 0.9375rem;
  }
}
.nqsap .program__title::after,
.nqsap .program__title::before {
  content: "";
  display: block;
  position: absolute;
  height: 70%;
  top: 50%;
  width: 2px;
  background: #0055be;
}
.nqsap .program__title::after {
  left: 100%;
  -webkit-transform: translateY(-50%) rotate(30deg);
  transform: translateY(-50%) rotate(30deg);
}
.nqsap .program__title::before {
  right: 100%;
  -webkit-transform: translateY(-50%) rotate(-30deg);
  transform: translateY(-50%) rotate(-30deg);
}
.nqsap .program__title .dec {
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  aspect-ratio: 126/46;
  width: 126px;
  width: 7.875rem;
}
@media screen and (max-width: 767px) {
  .nqsap .program__title .dec {
    width: 6.875rem;
    bottom: 95%;
  }
}
.nqsap .program__item {
  margin-bottom: 90px;
  margin-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .program__item {
    margin-bottom: 3.125rem;
  }
}
.nqsap .program__item:last-of-type {
  margin-bottom: unset;
}
.nqsap .program-i {
  border-radius: 1.875rem 1.875rem 0 1.875rem;
  background: #fff;
  -webkit-box-shadow: 0 0 0.625rem rgba(211, 234, 237, 0.75);
  box-shadow: 0 0 0.625rem rgba(211, 234, 237, 0.75);
  padding: 50px 10px 40px;
  padding: 3.125rem 0.625rem 2.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .nqsap .program-i {
    border-radius: 1.25rem 1.25rem 0 1.25rem;
    padding: 2.5rem 0.625rem 1.5625rem;
  }
}
.nqsap .program-i__number {
  position: absolute;
  z-index: 2;
  top: -4px;
  top: -0.25rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -57px;
  left: -3.5625rem;
  aspect-ratio: 486/84;
  width: 486px;
  width: 30.375rem;
}
@media screen and (max-width: 767px) {
  .nqsap .program-i__number {
    max-width: 21.875rem;
    width: 100%;
    left: -0.9375rem;
  }
}
.nqsap .program-i__number img {
  -o-object-fit: contain;
  object-fit: contain;
}
.nqsap .program-i__content {
  text-align: center;
}
.nqsap .program-i__read {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  color: #0055be;
  line-height: 1.34375;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .program-i__read {
    font-size: 1.375rem;
  }
}
.nqsap .program-i__text {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #231815;
  line-height: 1.1111111111;
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
}
@media screen and (max-width: 767px) {
  .nqsap .program-i__text {
    font-size: 1rem;
    margin-bottom: 1.25rem;
    line-height: 1.5;
  }
}
.nqsap .program-i__text:last-of-type {
  margin-bottom: unset;
}
.nqsap .flow {
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .flow {
    margin-bottom: 2.5rem;
  }
}
.nqsap .flow__inner {
  max-width: 810px;
  max-width: 50.625rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .flow__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.nqsap .flow__container {
  background: rgba(255, 219, 233, 0.8);
  padding: 45px 15px 55px;
  padding: 2.8125rem 0.9375rem 3.4375rem;
  border-radius: 0.625rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .nqsap .flow__container {
    padding: 2.1875rem 1.0625rem 2.5rem;
  }
}
.nqsap .flow__title {
  text-align: center;
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
}
.nqsap .flow__title::after {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.nqsap .flow__items {
  max-width: 500px;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .flow__items {
    max-width: unset;
  }
}
.nqsap .flow__item {
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
}
.nqsap .flow__item :last-of-type {
  margin-bottom: unset;
}
.nqsap .flow-i {
  border: 1px solid #0055be;
  border-radius: 62.5rem;
  text-align: center;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  color: #0055be;
  line-height: 2.15;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .nqsap .flow-i {
    padding: 0.625rem;
  }
}
.nqsap .flow-i--blue {
  border: unset;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#54a2ff),
    to(#0039be)
  );
  background: linear-gradient(90deg, #54a2ff, #0039be);
  color: #fff;
}
.nqsap .flow__arrow {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  aspect-ratio: 29/16;
  width: 29px;
  width: 1.8125rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .flow__arrow {
    margin-bottom: 0.375rem;
  }
}
.nqsap .flow__arrow img {
  -o-object-fit: contain;
  object-fit: contain;
}
.nqsap .flow__bottom {
  max-width: 320px;
  max-width: 20rem;
  margin-inline: auto;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .nqsap .flow__bottom {
    max-width: unset;
    font-size: 0.875rem;
  }
}
.nqsap .recruit {
  padding-top: 40px;
  padding-top: 2.5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit {
    padding-top: 1.875rem;
  }
}
.nqsap .recruit__container {
  padding: 0 0 55px;
  padding: 0 0 3.4375rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__container {
    padding-bottom: 2.5rem;
  }
}
.nqsap .recruit__title {
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
  font-size: 32px;
  font-size: 2rem;
  color: #0055be;
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__title {
    font-size: 1.375rem;
    line-height: 1.4;
    margin-bottom: 1.875rem;
  }
}
.nqsap .recruit__title::after {
  background: #0055be;
}
.nqsap .recruit__title .large {
  margin: 0 3px;
  margin: 0 0.1875rem;
  -webkit-transform: translateY(0.3125rem);
  transform: translateY(0.3125rem);
  display: inline-block;
  position: relative;
  font-size: 59px;
  font-size: 3.6875rem;
  --clip: inset(0% 0% 0% 0%);
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__title .large {
    margin: 0 0.125rem;
    -webkit-transform: translateY(0.1875rem);
    transform: translateY(0.1875rem);
    font-size: 2.375rem;
  }
}
.nqsap .recruit__title .large::after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  top: 0.625rem;
  left: -11px;
  /* left: -0.6875rem; */
  left: 0.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  aspect-ratio: 58/42;
  width: 58px;
  width: 3.625rem;
  background-image: url("../images/nqsap/rec-dec.svg");
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-clip-path: var(--clip);
  clip-path: var(--clip);
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__title .large::after {
    width: 2.5rem;
    /* left: -0.5625rem; */
    left: 0.5rem;
    top: 0.5rem;
  }
}
.nqsap .recruit__title .number {
  display: inline-block;
}
.nqsap .recruit__title::after {
  left: 0;
}
.nqsap .recruit__text {
  margin-bottom: 52px;
  margin-bottom: 3.25rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__text {
    line-height: 1.5;
    font-size: 0.875rem;
  }
}
.nqsap .recruit__text span {
  font-size: 17px;
  font-size: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__text span {
    font-size: 0.9375rem;
  }
}
.nqsap .recruit__wrap.swiper {
  overflow: unset !important;
  position: relative;
}
.nqsap .recruit__items {
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__items {
    margin-bottom: 1.875rem;
  }
}
.nqsap .recruit__item.swiper-slide {
  width: 440px;
  width: 27.5rem;
  height: unset;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__item.swiper-slide {
    width: 20rem;
  }
}
.nqsap .recruit-i {
  border-radius: 1.875rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i {
    border-radius: 1.25rem;
  }
}
.nqsap .recruit-i__img {
  aspect-ratio: 440/230;
  border-radius: 1.875rem 1.875rem 0 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i__img {
    border-radius: 1.25rem 1.25rem 0 0;
  }
}
.nqsap .recruit-i__body {
  padding: 25px 40px 55px;
  padding: 1.5625rem 2.5rem 3.4375rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i__body {
    padding: 1.5625rem 0.8125rem;
  }
}
.nqsap .recruit-i__name {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 500;
  color: #00327d;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i__name {
    font-size: 1.0625rem;
    margin-bottom: 0.9375rem;
  }
}
.nqsap .recruit-i__name span {
  margin-left: 40px;
  margin-left: 2.5rem;
  position: relative;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i__name span {
    margin-left: 1.5625rem;
  }
}
.nqsap .recruit-i__name span::after {
  content: "";
  display: block;
  position: absolute;
  height: 95%;
  width: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #00327d;
  left: -18px;
  left: -1.125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i__name span::after {
    left: -0.75rem;
  }
}
.nqsap .recruit-i__info {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  color: #00327d;
  line-height: 1.4375;
}
.nqsap .recruit-i__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit-i__text {
    font-size: 0.875rem;
  }
}
.nqsap .recruit__buttons {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__buttons {
    height: 21.25rem;
  }
}
.nqsap .recruit__button {
  position: absolute;
  opacity: 0.8;
  aspect-ratio: 1;
  cursor: pointer;
  width: 60px;
  width: 3.75rem;
  pointer-events: all;
  top: 50%;
  -webkit-transition: 0.3s ease-in-out opacity;
  transition: 0.3s ease-in-out opacity;
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__button {
    width: 2.8125rem;
  }
}
.nqsap .recruit__button svg {
  width: 100%;
  height: 100%;
}
.nqsap .recruit__button svg .circle {
  fill: #fff;
}
.nqsap .recruit__button svg .border {
  fill: #d3eaed;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.nqsap .recruit__button:hover {
  opacity: 1;
}
.nqsap .recruit__button:hover .circle {
  fill: #fff;
}
.nqsap .recruit__button:hover .border {
  fill: #0055be;
}
.nqsap .recruit__button-next {
  right: 0;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__button-next {
    -webkit-transform: translate(25%, -50%);
    transform: translate(25%, -50%);
  }
}
.nqsap .recruit__button-prev {
  left: 0;
  -webkit-transform: translate(-50%, -50%) scaleX(-1);
  transform: translate(-50%, -50%) scaleX(-1);
}
@media screen and (max-width: 767px) {
  .nqsap .recruit__button-prev {
    -webkit-transform: translate(-25%, -50%) scaleX(-1);
    transform: translate(-25%, -50%) scaleX(-1);
  }
}
.nqsap .apply__inner {
  max-width: 840px;
  max-width: 52.5rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .apply__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.nqsap .apply__container {
  padding: 75px 0 90px;
  padding: 4.6875rem 0 5.625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .apply__container {
    padding: 3.125rem 0 3.75rem;
  }
}
.nqsap .apply__title {
  text-align: center;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .nqsap .apply__title {
    margin-bottom: 1.875rem;
  }
}
.nqsap .apply__title::after {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.nqsap .apply__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .nqsap .apply__text {
    line-height: 1.7;
  }
}
.nqsap .attention {
  border-radius: 6.25rem 0 0 0;
  background: linear-gradient(125deg, #54a2ff, #0039be);
}
@media screen and (max-width: 767px) {
  .nqsap .attention {
    border-radius: 3.125rem 0 0 0;
  }
}
.nqsap .attention__container {
  padding: 83px 0 90px;
  padding: 5.1875rem 0 5.625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .attention__container {
    padding: 2.5rem 0 3.125rem;
  }
}
.nqsap .attention__title {
  text-align: center;
  color: #fff;
  margin-bottom: 45px;
  margin-bottom: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .nqsap .attention__title {
    margin-bottom: 1.875rem;
  }
}
.nqsap .attention__title::after {
  background: #fff;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.nqsap .attention__text {
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
  line-height: 2.125;
  position: relative;
  padding-left: 17px;
  padding-left: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .nqsap .attention__text {
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: justify;
  }
}
.nqsap .attention__text::after {
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  width: 15px;
  width: 0.9375rem;
  content: "";
  display: block;
  position: absolute;
  top: 17px;
  top: 1.0625rem;
  top: 0.5lh;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 767px) {
  .nqsap .attention__text::after {
    width: 0.875rem;
  }
}
.nqsap .support {
  background-image: url("../images/nqsap/support-bg.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .nqsap .support {
    background-size: 150% 100%;
    background-position: center 0;
  }
}
.nqsap .support__inner {
  max-width: 590px;
  max-width: 36.875rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .support__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.nqsap .support__container {
  padding: 105px 0 75px;
  padding: 6.5625rem 0 4.6875rem;
}
@media screen and (max-width: 767px) {
  .nqsap .support__container {
    padding: 2.5rem 0;
  }
}
.nqsap .support__title {
  text-align: center;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 500;
  font-family: senobi-gothic, sans-serif;
  color: #00327d;
  line-height: 1.3125;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  padding: 0 35px;
  padding: 0 2.1875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .nqsap .support__title {
    font-size: 1.375rem;
    padding: 0 1.25rem;
  }
}
.nqsap .support__title::before,
.nqsap .support__title::after {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  top: 50%;
  width: 1px;
  background: #0055be;
}
.nqsap .support__title::before {
  right: 0;
  -webkit-transform: translate(0%, -50%) rotate(30deg);
  transform: translate(0%, -50%) rotate(30deg);
}
.nqsap .support__title::after {
  left: 0;
  -webkit-transform: translate(0%, -50%) rotate(-30deg);
  transform: translate(0%, -50%) rotate(-30deg);
}
.nqsap .support__banner {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  aspect-ratio: 540/227;
  display: block;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.nqsap .support__banner svg {
  height: 100%;
}
.nqsap .support__banner:hover {
  opacity: 0.7;
}
.nqsap .support__bottom {
  text-align: right;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2.125;
}
@media screen and (max-width: 767px) {
  .nqsap .support__bottom {
    font-size: 0.875rem;
  }
}
.nqsap .footer {
  background: #fff;
}
.nqsap .footer__inner {
  max-width: 485px;
  max-width: 30.3125rem;
  padding: 0 25px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .footer__inner {
    max-width: 37.5rem;
    padding: 0 15px;
  }
}
.nqsap .footer__container {
  padding: 60px 0;
  padding: 3.75rem 0;
}
@media screen and (max-width: 767px) {
  .nqsap .footer__container {
    padding: 2.5rem 0;
  }
}
.nqsap .footer__title {
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
  /* aspect-ratio: 435/45; */
  width: 435px;
  width: 27.1875rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .nqsap .footer__title {
    width: 100%;
  }
}
.nqsap .footer__info {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.7;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}
.nqsap .footer__copy {
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.28em;
}
@media screen and (max-width: 767px) {
  .nqsap .footer__copy {
    font-size: 0.875rem;
  }
}
/*# sourceMappingURL=styles.css.map */

/* 2025.08.25 */
.detail {
  color: #fff;
  text-align: right;
  margin-top: 1rem;
}
