@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");

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

img {
  vertical-align: top;
  max-width: 100%;
}

/* デバイス定義
-------------------------------*/
.only--pc {
  display: block;
}
br.only--pc,
span.only--pc {
  display: inline;
}
.only--sp {
  display: none;
}

@media (max-width: 520px) {
  .only--pc {
    display: none !important;
  }
  .only--sp {
    display: block;
  }
  br.only--pc,
  span.only--pc {
    display: none;
  }
  br.only--sp {
    display: inline;
  }
}

/* 基本的な骨組み
-------------------------------*/
html {
  height: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #404040;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  word-break: break-all;
  font-family: "Zen Kaku Gothic New", YuGothic, "游ゴシック", "Yu Gothic",
    "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

@media (max-width: 1024px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* basic settings
-------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
pre,
td,
th,
dt,
dd {
  line-height: 1.5;
}

/* code set
-------------------------------*/
pre,
code,
kbd,
samp,
var {
  font-size: 1.3rem;
  line-height: 1.5;
}

pre {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  background-color: #f4f4f4;
  overflow-x: auto;
}

/* font text
-------------------------------*/
.poppins {
  font-family: "Poppins", system-ui;
  font-style: normal;
}
.text__bold {
  font-weight: 700;
}
.text__underline {
  display: inline-block;
  background: linear-gradient(transparent 60%, #ffe740 40%);
}
.text__corporatecolor {
  color: #009cdd;
}

/* aタグ(リンクボタン)の設定
-------------------------------*/
a,
a:hover,
a::after,
a::before {
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  color: #333333;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:link {
  text-decoration: none;
}

/* 共通パーツ設定
-------------------------------*/
.l-inner {
  width: 374px;
  margin: 0 auto;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
  display: block;
  width: 100%;
  padding: 11px 14px;
  font-family: "Zen Kaku Gothic New", YuGothic, "游ゴシック", "Yu Gothic",
    "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  border-radius: 4px;
  border: 1px solid #818181;
  background: #fff;
  color: #404040;
}
input[type="text"].isError,
input[type="tel"].isError,
input[type="email"].isError {
  border: 1px solid #ff3333;
  color: #ff3333;
}
button {
  font-family: "Zen Kaku Gothic New", YuGothic, "游ゴシック", "Yu Gothic",
    "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
.selectbox {
  width: 100%;
  display: inline-flex;
  align-items: center;
  position: relative;
}
.selectbox::after {
  position: absolute;
  content: "";
  pointer-events: none;
  top: 45%;
  right: 23px;
  transform: translate(50%, -50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #404040;
  border-right: 2px solid #404040;
}
.selectbox select {
  appearance: none;
  width: 100%;
  margin: 0 auto;
  padding: 11px 15px;
  font-family: "Zen Kaku Gothic New", YuGothic, "游ゴシック", "Yu Gothic",
    "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #404040;
  border-radius: 4px;
  border: 1px solid #818181;
  background: #f5f5f5;
  cursor: pointer;
}
.selectbox select.isError {
  border: 1px solid #ff3333;
  color: #ff3333;
}

.form__box {
  width: 100%;
}
.step__box {
  display: none;
  width: 100%;
}
.step__box .l-inner {
  position: relative;
  padding: 18px 0;
}
.step__box-c .l-inner {
  position: relative;
  padding: 145px 0 26px;
}
.step__box-1,
.step__box-3,
.step__box-5 {
  background: url(../img/form__bg-1.jpg) no-repeat;
  background-size: 100% 100%;
}
.step__box-2,
.step__box-4 {
  background: url(../img/form__bg-2.jpg) no-repeat;
  background-size: 100% 100%;
}
.step__box-c.step__box-1,
.step__box-c.step__box-2,
.step__box-c.step__box-3,
.step__box-c.step__box-4,
.step__box-c.step__box-5 {
  background: url(../img/endform__bg.jpg) no-repeat;
  background-size: 100% 100%;
}
.step__box.current {
  display: block;
}
.step__box h2 {
  position: relative;
  z-index: 1;
}
.step__box h2 span {
  width: 279px;
  height: 43px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  background: #ffe740;
  border-radius: 8px 8px 0 0;
}
.step__box h2::before {
  position: absolute;
  content: "";
  top: -36px;
  left: 10px;
  width: 99px;
  height: 55px;
  background: url(../img/form__bubble.png) no-repeat;
  background-size: contain;
  z-index: 2;
}
.step__box-c h2::before {
  top: -159px;
  left: -5px;
  width: 386px;
  height: 202px;
  background: url(../img/endform__title.png) no-repeat;
  background-size: contain;
  z-index: -1;
}
.step__box .step__box__inner {
  width: 100%;
  padding: 16px 32px 18px;
  background: #fff;
  border-radius: 8px;
}
.step__box .step__list {
  display: flex;
  justify-content: center;
  margin: 0 auto 20px;
}
.step__box .step__list li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 14px;
  font-weight: 700;
  background: #d1d1d1;
  border-radius: 12px;
}
.step__box .step__list li:not(:last-child) {
  margin-right: 14px;
}
.step__box .step__list li.entered {
  background: #99d8f2;
}
.form__box .step__list li.current {
  background: #009cdd;
}
.step__box .step__list li img {
  width: 24px;
  height: 24px;
}
.step__box .step__list li:not(:last-child)::after {
  position: absolute;
  content: "";
  top: calc(50% - 1px);
  right: -14px;
  width: 14px;
  height: 2px;
  background: #d1d1d1;
}
.step__box .step__list li.entered::after {
  background: #99d8f2;
}
.step__box .step__list li.current::after {
  background: #009cdd;
}
.step__box .step__query {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.step__box .info__text {
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.step__box .info__text.info__text-error {
  color: #f33;
}
.step__box .input__title {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.step__box .input__box-select {
  width: 271px;
  margin: 0 auto;
}
.step__box .js-errorJobArea,
.step__box .js-errorAddress {
  width: 271px;
  margin: 0 auto;
}
.step__box .input__box-birth,
.step__box .input__box-tel {
  margin-top: 10px;
}
input[type="tel"].input-birth {
  width: 120px;
}
input[type="tel"].input-tel {
  width: 176px;
  margin-right: 10px;
}
.step__box .input__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.step__box .input__info {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.step__box .error__text {
  margin-top: 5px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ff3333;
  text-align: left;
}
.step__box .btn__wrap {
  width: 100%;
  margin: 24px auto 0;
}
.step__box .btn__wrap.btn__wrap-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.step__box .btn__wrap .next__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(to right, #5d98e0, #51ddef);
  border: none;
  border-radius: 999px;
  opacity: 1;
}
.step__box .btn__wrap .next__btn span {
  z-index: 2;
}
.step__box .btn__wrap .next__btn::before {
  position: absolute;
  content: "";
  top: 1px;
  left: 1px;
  width: 198px;
  height: 48px;
  background: #fff;
  border-radius: 999px;
  z-index: 0;
  opacity: 0;
}
.step__box .btn__wrap .next__btn::after {
  position: absolute;
  content: "";
  top: calc(50% - 16px);
  right: 12px;
  width: 32px;
  height: 32px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="%23ffffff"/><path fill="%23009CDD" d="M20.921 16.5999H9.60865C9.44722 16.5999 9.29241 16.5367 9.17827 16.4242C9.06413 16.3117 9 16.1591 9 16C9 15.8409 9.06413 15.6883 9.17827 15.5758C9.29241 15.4633 9.44722 15.4001 9.60865 15.4001H20.921L16.4815 11.0254C16.3672 10.9128 16.303 10.76 16.303 10.6007C16.303 10.4414 16.3672 10.2886 16.4815 10.1759C16.5958 10.0633 16.7508 10 16.9124 10C17.0741 10 17.2291 10.0633 17.3434 10.1759L22.8212 15.5753C22.8779 15.631 22.9228 15.6972 22.9535 15.7701C22.9842 15.843 23 15.9211 23 16C23 16.0789 22.9842 16.157 22.9535 16.2299C22.9228 16.3028 22.8779 16.369 22.8212 16.4247L17.3434 21.8241C17.2291 21.9367 17.0741 22 16.9124 22C16.7508 22 16.5958 21.9367 16.4815 21.8241C16.3672 21.7114 16.303 21.5586 16.303 21.3993C16.303 21.24 16.3672 21.0872 16.4815 20.9746L20.921 16.5999Z" /></svg>')
    no-repeat center center;
  z-index: 2;
}
.step__box .btn__wrap.btn__wrap-flex .next__btn {
  justify-content: flex-start;
  width: 170px;
  margin: 0;
  padding: 0 0 0 26px;
}
.step__box .btn__wrap.btn__wrap-flex .next__btn::before {
  width: 168px;
}
.step__box .btn__wrap .prev__btn {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 116px;
  height: 50px;
  margin: 0;
  padding: 0 22px 0 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: #646464;
  border: none;
  border-radius: 999px;
}
.step__box .btn__wrap .prev__btn span {
  z-index: 2;
}
.step__box .btn__wrap .prev__btn::before {
  position: absolute;
  content: "";
  top: 1px;
  left: 1px;
  width: 114px;
  height: 48px;
  background: #fff;
  border-radius: 999px;
  z-index: 0;
  opacity: 0;
}
.step__box .btn__wrap .prev__btn::after {
  position: absolute;
  content: "";
  top: calc(50% - 16px);
  left: 12px;
  width: 32px;
  height: 32px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="%23ffffff"/><path fill="%23646464" d="M11.079 16.5999H22.3914C22.5528 16.5999 22.7076 16.5367 22.8217 16.4242C22.9359 16.3117 23 16.1591 23 16C23 15.8409 22.9359 15.6883 22.8217 15.5758C22.7076 15.4633 22.5528 15.4001 22.3914 15.4001H11.079L15.5185 11.0254C15.6328 10.9128 15.697 10.76 15.697 10.6007C15.697 10.4414 15.6328 10.2886 15.5185 10.1759C15.4042 10.0633 15.2492 10 15.0876 10C14.9259 10 14.7709 10.0633 14.6566 10.1759L9.17881 15.5753C9.12213 15.631 9.07716 15.6972 9.04648 15.7701C9.01579 15.843 9 15.9211 9 16C9 16.0789 9.01579 16.157 9.04648 16.2299C9.07716 16.3028 9.12213 16.369 9.17881 16.4247L14.6566 21.8241C14.7709 21.9367 14.9259 22 15.0876 22C15.2492 22 15.4042 21.9367 15.5185 21.8241C15.6328 21.7114 15.697 21.5586 15.697 21.3993C15.697 21.24 15.6328 21.0872 15.5185 20.9746L11.079 16.5999Z" /></svg>')
    no-repeat center center;
  z-index: 2;
}
.step__box {
  display: none;
}
.step__box.current {
  display: block;
}

@media screen and (min-width: 621px) {
  .step__box .btn__wrap .next__btn:hover {
    color: #009cdd;
  }
  .step__box .btn__wrap .next__btn:hover::before {
    opacity: 1;
  }
  .step__box .btn__wrap .next__btn:hover::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="%23009CDD"/><path fill="%23ffffff" d="M20.921 16.5999H9.60865C9.44722 16.5999 9.29241 16.5367 9.17827 16.4242C9.06413 16.3117 9 16.1591 9 16C9 15.8409 9.06413 15.6883 9.17827 15.5758C9.29241 15.4633 9.44722 15.4001 9.60865 15.4001H20.921L16.4815 11.0254C16.3672 10.9128 16.303 10.76 16.303 10.6007C16.303 10.4414 16.3672 10.2886 16.4815 10.1759C16.5958 10.0633 16.7508 10 16.9124 10C17.0741 10 17.2291 10.0633 17.3434 10.1759L22.8212 15.5753C22.8779 15.631 22.9228 15.6972 22.9535 15.7701C22.9842 15.843 23 15.9211 23 16C23 16.0789 22.9842 16.157 22.9535 16.2299C22.9228 16.3028 22.8779 16.369 22.8212 16.4247L17.3434 21.8241C17.2291 21.9367 17.0741 22 16.9124 22C16.7508 22 16.5958 21.9367 16.4815 21.8241C16.3672 21.7114 16.303 21.5586 16.303 21.3993C16.303 21.24 16.3672 21.0872 16.4815 20.9746L20.921 16.5999Z" /></svg>')
      no-repeat center center;
  }
  .step__box .btn__wrap .prev__btn:hover {
    color: #646464;
  }
  .step__box .btn__wrap .prev__btn:hover::before {
    opacity: 1;
  }
  .step__box .btn__wrap .prev__btn:hover::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="%23646464"/><path fill="%23ffffff" d="M11.079 16.5999H22.3914C22.5528 16.5999 22.7076 16.5367 22.8217 16.4242C22.9359 16.3117 23 16.1591 23 16C23 15.8409 22.9359 15.6883 22.8217 15.5758C22.7076 15.4633 22.5528 15.4001 22.3914 15.4001H11.079L15.5185 11.0254C15.6328 10.9128 15.697 10.76 15.697 10.6007C15.697 10.4414 15.6328 10.2886 15.5185 10.1759C15.4042 10.0633 15.2492 10 15.0876 10C14.9259 10 14.7709 10.0633 14.6566 10.1759L9.17881 15.5753C9.12213 15.631 9.07716 15.6972 9.04648 15.7701C9.01579 15.843 9 15.9211 9 16C9 16.0789 9.01579 16.157 9.04648 16.2299C9.07716 16.3028 9.12213 16.369 9.17881 16.4247L14.6566 21.8241C14.7709 21.9367 14.9259 22 15.0876 22C15.2492 22 15.4042 21.9367 15.5185 21.8241C15.6328 21.7114 15.697 21.5586 15.697 21.3993C15.697 21.24 15.6328 21.0872 15.5185 20.9746L11.079 16.5999Z" /></svg>')
      no-repeat center center;
  }
}

@media screen and (max-width: 520px) {
  .l-inner {
    width: 89.3333vw;
    margin: 0 auto;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"] {
    padding: 2.9333vw 3.7333vw;
    font-size: 3.7333vw;
    border-radius: 1.0667vw;
  }
  .selectbox::after {
    right: 6.1333vw;
    width: 2.6667vw;
    height: 2.6667vw;
  }
  .selectbox select {
    padding: 2.9333vw 4vw;
    font-size: 3.7333vw;
    border-radius: 1.0667vw;
  }

  .step__box .l-inner {
    padding: 4.8vw 0;
  }
  .step__box-c .l-inner {
    padding: 38.6667vw 0 6.9333vw;
  }
  .step__box h2 span {
    width: 74.4vw;
    height: 11.4667vw;
    font-size: 5.3333vw;
    border-radius: 2.1333vw 2.1333vw 0 0;
  }
  .step__box h2::before {
    top: -9.6vw;
    left: -2.6667vw;
    width: 26.4vw;
    height: 14.6667vw;
  }
  .step__box-c h2::before {
    top: -42.4vw;
    left: -5.3333vw;
    width: 100vw;
    height: 53.8667vw;
    background: url(../img/endform__title-sp.png) no-repeat;
    background-size: contain;
  }
  .step__box .step__box__inner {
    padding: 4.2667vw 6.4vw 5.3333vw;
    border-radius: 2.1333vw;
  }
  .step__box .step__list {
    margin: 0 auto 5.3333vw;
  }
  .step__box .step__list li {
    width: 6.4vw;
    height: 6.4vw;
    font-size: 3.7333vw;
    border-radius: 4vw;
  }
  .step__box .step__list li:not(:last-child) {
    margin-right: 3.7333vw;
  }
  .step__box .step__list li img {
    width: 6.4vw;
    height: 6.4vw;
  }
  .step__box .step__list li:not(:last-child)::after {
    right: -3.7333vw;
    width: 3.7333vw;
  }
  .step__box .step__query {
    margin-bottom: 4vw;
    font-size: 3.7333vw;
  }
  .step__box .info__text {
    font-size: 3.7333vw;
  }
  .step__box .input__title {
    margin-bottom: 2.1333vw;
    font-size: 3.2vw;
  }
  .step__box .input__box {
    width: 72.2667vw;
    margin: 0 auto;
  }
  .step__box .input__box-select {
    width: 72.2667vw;
  }
  .step__box .js-errorJobArea,
  .step__box .js-errorAddress {
    width: 100%;
  }
  .step__box .input__box-birth,
  .step__box .input__box-tel {
    margin-top: 2.6667vw;
  }
  input[type="tel"].input-birth {
    width: 32vw;
  }
  input[type="tel"].input-tel {
    width: 42.6667vw;
    margin-right: 2.6667vw;
  }
  .step__box .input__info {
    font-size: 3.2vw;
  }

  .step__box .error__text {
    width: 72.2667vw;
    margin: 1.3333vw auto 0;
    font-size: 2.6667vw;
  }
  .step__box .btn__wrap {
    margin: 6.4vw auto 0;
  }
  .step__box .btn__wrap .next__btn {
    width: 53.3333vw;
    height: 13.3333vw;
    font-size: 4.2667vw;
  }
  .step__box .btn__wrap .next__btn::before {
    width: calc(53.3333vw - 2px);
    height: calc(13.3333vw - 2px);
  }
  .step__box .btn__wrap .next__btn::after {
    top: calc(50% - 4.2667vw);
    right: 3.2vw;
    width: 8.5333v;
    height: 8.5333v;
  }
  .step__box .btn__wrap.btn__wrap-flex .next__btn {
    width: 40.5333vw;
    padding: 0 0 0 6.9333vw;
  }
  .step__box .btn__wrap.btn__wrap-flex .next__btn::before {
    width: calc(40.5333vw - 2px);
  }
  .step__box .btn__wrap .prev__btn {
    width: 28vw;
    height: 13.3333vw;
    padding: 0 5.8667vw 0 0;
    font-size: 4.2667vw;
  }
  .step__box .btn__wrap .prev__btn::before {
    width: calc(28vw - 2px);
    height: calc(13.3333vw - 2px);
  }
  .step__box .btn__wrap .prev__btn::after {
    top: calc(50% - 4.2667vw);
    left: 3.2vw;
    width: 8.5333v;
    height: 8.5333v;
  }
}

/*-------------------------------
 header
-------------------------------*/
.headerSec {
  display: none;
}

@media screen and (max-width: 620px) {
  .headerSec {
    display: block;
    position: fixed;
    top: 0;
    left: calc(50% - 207px);
    width: 414px;
    height: 56px;
    margin: 0 auto;
    background: #fff;
    z-index: 999;
  }
  .headerSec .l-inner {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .headerSec .header__logo {
    width: 260px;
  }
}

@media screen and (max-width: 520px) {
  .headerSec {
    left: 0;
    width: 100%;
    height: 14.9333vw;
  }
  .headerSec .header__logo {
    width: 69.3333vw;
  }
}

/*-------------------------------
	footer
-------------------------------*/
.footerSec {
  width: 100%;
  padding: 18px 0;
  text-align: center;
}
.footerSec .footer__logo {
  width: 260px;
  margin: 0 auto 7px;
}
.footerSec .copyright {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 520px) {
  .footerSec {
    padding: 4.8vw;
  }
  .footerSec .footer__logo {
    width: 69.3333vw;
    margin: 0 auto 1.8667vw;
  }
  .footerSec .copyright {
    font-size: 3.2vw;
    letter-spacing: 0.02em;
  }
}

/*-------------------------------
 SideNavi
-------------------------------*/
.side__nav {
  position: fixed;
  top: 0;
  width: 320px;
  height: 100vh;
  margin: 0 auto 0 0;
  padding: 0;
  z-index: 10;
}
.nav__inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-content: center;
  flex-flow: column;
  padding: 57px 50px 0;
  overflow-x: hidden;
  overflow-y: scroll;
}
.nav__inner::-webkit-scrollbar {
  width: 6px;
}
.nav__inner::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 3px;
}
.nav__inner::-webkit-scrollbar-thumb {
  background: #76deff;
  border-radius: 3px;
}
.nav__title {
  margin-bottom: 20px;
}
.nav__list {
  position: relative;
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 15px 0;
  border-top: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}
.nav__item {
  width: 100%;
  padding: 9px 0;
}
.nav__item__link {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
}
.nav__item__link span {
  font-size: 18px;
  font-weight: 700;
  color: #404040;
  transition: background-image 0.24s ease-out;
}
.nav__item__link.current span {
  color: #009cdd;
}

/*-------------------------------
 Main common
-------------------------------*/
.main__wrap {
  position: relative;
  margin: 0 auto;
}
.content__container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #fff;
  transform: translateZ(0);
}
.content__container .content {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  z-index: 1;
}
.main__content {
  width: calc(100% - 320px);
  margin: 0 0 0 auto;
}
.content__bg {
  background-position: 100% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 0;
}
.iPad .content__bg {
  background-attachment: inherit;
}
.content__container {
  position: relative;
  width: 414px;
  min-height: auto;
  margin-top: -100vh;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
}
.content__container::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 5px 0 5px 0 rgb(0 0 0 / 0.1);
  z-index: -1;
}
.content__container::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: -5px 5px 5px rgb(0 0 0 / 0.1);
  z-index: -1;
}
.content__container.topSec::before {
  box-shadow: 5px -5px 5px 0 rgb(0 0 0 / 0.1);
}
.top.content__bg {
  background-image: url(../img/top__bg__pc.jpg);
}
.content__container.topSec {
  margin-top: calc(-100vh + 40px);
  z-index: 11;
}
.merit.content__bg {
  background-image: url(../img/merit__bg__pc.jpg);
}
.content__container.meritSec {
  z-index: 12;
}
.feature.content__bg {
  background-image: url(../img/feature__bg__pc.jpg);
}
.content__container.featureSec {
  z-index: 13;
}
.case.content__bg {
  background-image: url(../img/case__bg__pc.jpg);
}
.content__container.caseSec {
  z-index: 14;
}
.support.content__bg {
  background-image: url(../img/support__bg__pc.jpg);
}
.content__container.supportSec {
  z-index: 15;
}
.content__container.flowSec {
  margin-top: 0;
  z-index: 16;
}
.ending.content__bg {
  height: auto;
  padding-bottom: 64px;
  background-image: url(../img/ending__bg__pc.jpg);
  z-index: 17;
}
.content__container.endingSec {
  position: relative;
  width: 414px;
  height: auto;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  z-index: 17;
}
.before__content__title {
  width: 77px;
  margin: 0 auto 15px;
}
.content__title {
  position: relative;
  width: 370px;
  margin: 0 auto 20px 0;
  z-index: 1;
}
.content__title span {
  position: relative;
  display: block;
  width: 100%;
  padding: 17px;
  font-size: 24px;
  font-weight: 700;
  color: #009cdd;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-align: center;
  z-index: 1;
}
.content__title span::before {
  position: absolute;
  content: "";
  top: 4px;
  left: 4px;
  width: 370px;
  height: 100%;
  background: #a8f2ff;
  border-radius: 8px;
  z-index: -1;
}
.content__title span::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 370px;
  height: 100%;
  border: 1px solid #009cdd;
  border-radius: 8px;
  z-index: 1;
}
.content__text {
  width: 100%;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
}
.content__text sup {
  font-size: 9px;
}
.footnote {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

/*-------------------------------
 TOP
-------------------------------*/
.topSec .mv__box {
  width: 100%;
}

/*-------------------------------
 Merit
-------------------------------*/
.meritSec {
  padding: 42px 0 40px;
  background: url(../img/merit__bg.jpg) no-repeat;
  background-size: cover;
}
.merit__list {
  margin-top: 50px;
}
.merit__item {
  position: relative;
  width: 100%;
  padding: 28px 0 22px;
  background: #fff;
  border: 1px solid #009cdd;
  border-radius: 8px;
}
.merit__item:not(:first-of-type) {
  margin-top: 54px;
}
.merit__item .merit__item__no {
  position: absolute;
  top: -31px;
  left: calc(50% - 29px);
  width: 58px;
  height: 58px;
}

.merit__item .merit__item__title {
  width: 100%;
  height: 98px;
  padding: 14px 0 0 0;
  margin-bottom: 18px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #009cdd;
  text-align: center;
  white-space: nowrap;
}
.merit__item.merit__item-01 .merit__item__title {
  background: url(../img/merit__item__bg-01.png) no-repeat center bottom;
  background-size: auto 100%;
}
.merit__item.merit__item-02 .merit__item__title {
  background: url(../img/merit__item__bg-02.png) no-repeat center bottom;
  background-size: auto 100%;
}
.merit__item.merit__item-03 .merit__item__title {
  background: url(../img/merit__item__bg-03.png) no-repeat center bottom;
  background-size: auto 100%;
}
.merit__item .merit__item__title .text__large {
  font-size: 32px;
  letter-spacing: 0;
}
.merit__item .merit__item__text {
  padding: 0 40px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: justify;
}

/*-------------------------------
 Feature
-------------------------------*/
.featureSec {
  padding: 40px 0 0;
  background: linear-gradient(to bottom, #f7f6ff, #fff);
}
.featureSec .content__title {
  margin-bottom: 35px;
}
.featureSec .content__title::after {
  position: absolute;
  content: "";
  right: -4px;
  top: -117px;
  width: 139px;
  height: 168px;
  background: url(../img/feature__titleImg.png) no-repeat;
  background-size: contain;
  z-index: -1;
}
.featureSec .content__title span {
  z-index: 1;
}
.feature__item {
  margin-bottom: 40px;
}
.feature__item:last-of-type {
  margin-bottom: 50px;
}
.feature__item__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 16px 0 21px;
  padding: 8px;
  background: #009cdd;
  border-radius: 8px;
}
.feature__item__title .title__icon {
  width: 60px;
}
.feature__item__title .title__text {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
}
.feature__item__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: justify;
}
.feature__item-02 .title__wrap {
  padding-bottom: 20px;
  margin-bottom: 19px;
  background: #fff;
  box-shadow: 0 0 8px 0 rgb(0 0 0 /0.1);
  border-radius: 8px 8px 0 0;
}
.feature__item-02 .feature__item__title {
  margin-bottom: 15px;
}
.feature__item-02 .item__figure {
  margin-bottom: 20px;
  width: 315px;
  margin: 0 auto;
}

/*-------------------------------
 Case
-------------------------------*/
.caseSec {
  padding: 40px 0 62px;
  background: linear-gradient(to bottom, #e5fffd, #fff);
}
.caseSec .content__title {
  margin-bottom: 32px;
}
.case__item {
  padding: 17px 25px 21px;
  background: #fff;
  border: 1px solid #009cdd;
  border-radius: 8px;
}
.case__item__img {
  position: relative;
  margin-bottom: 17px;
}
.case__item__img img {
  border-radius: 8px;
  z-index: -1;
  aspect-ratio: 322 / 196;
  object-fit: cover;
}
.case__item__img .salary__wrap {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: column;
  width: 80px;
  height: 80px;
  padding: 10px 5px;
  border-radius: 8px;
  background: #f3fdff;
  z-index: 1;
}
.case__item__img .salary__wrap .salary__title {
  font-size: 16px;
  font-weight: 700;
}
.case__item__img .salary__wrap .salary__detail {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 5px 5px 7px;
  background: linear-gradient(transparent 60%, #ffe740 40%);
}

.case__item__img .salary__wrap .salary__detail .salary__num {
  display: inline-block;
  width: 49px;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.6;
  text-align: center;
  color: #009cdd;
}
.case__item__img .salary__wrap .salary__detail .salary__num.salary__num-one {
  width: auto;
}
.case__item__img .salary__wrap .salary__detail .salary__unit {
  display: inline-block;
  width: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  writing-mode: vertical-rl;
}
.case__item__text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.caseSec .swiper__nav__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 32px;
}
.caseSec .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  font-size: 16px;
  letter-spacing: 0.04em;
}
.caseSec .swiper__prevBtn,
.caseSec .swiper__nextBtn {
  width: 52px;
  height: 52px;
}
.caseSec .swiper__prevBtn {
  background: url(../img/swiper__prev-on.png) no-repeat;
  background-size: contain;
}
.caseSec .swiper__nextBtn {
  background: url(../img/swiper__next-on.png) no-repeat;
  background-size: contain;
}
.caseSec .swiper__prevBtn.swiper-button-disabled {
  background: url(../img/swiper__prev-off.png) no-repeat;
  background-size: contain;
}
.caseSec .swiper__nextBtn.swiper-button-disabled {
  background: url(../img/swiper__next-off.png) no-repeat;
  background-size: contain;
}

/*-------------------------------
 Support
-------------------------------*/
.supportSec {
  padding: 35px 0 40px;
  background: linear-gradient(to bottom, #f1fbec, #eeffe5);
}
.supportSec .content__title {
  margin-bottom: 30px;
}
.supportSec .content__title::after {
  position: absolute;
  content: "";
  left: -2px;
  top: -102px;
  width: 111px;
  height: 144px;
  background: url(../img/support__titleImg.png) no-repeat;
  background-size: contain;
  z-index: -1;
}
.supportSec .content__title span {
  z-index: 1;
}
.supportSec .support__subtitle {
  position: relative;
  display: inline-block;
  margin-left: 28px;
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  color: #009cdd;
}
.supportSec .support__subtitle::before {
  position: absolute;
  content: "";
  top: calc(50% - 10px);
  left: -28px;
  width: 20px;
  height: 20px;
  background: url(../img/support__icon__check.png) no-repeat;
  background-size: contain;
}
.supportSec .support__text {
  padding: 15px 18px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: justify;
  background: #fff;
}
.supportSec .support__text.support__text-1 {
  margin-bottom: 29px;
}

/*-------------------------------
 FeaFlow
-------------------------------*/
.flowSec {
  padding: 40px 0;
  background: #fff;
}

.flowSec .flow__step {
  padding: 18px 30px;
  background: #f8f8f8;
}

.flowSec .flow__step dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.flowSec .flow__step dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 115px;
  height: 52px;
}
.flowSec .flow__step dl dt img {
  width: 101px;
}
.flowSec .flow__step dl dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex: 1;
  height: 52px;
  padding-left: 14px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #404040;
}
.flowSec .flow__step dl dd a {
  color: #305bbb;
  border-bottom: 1px solid #305bbb;
}
.flowSec .step__arrow {
  width: 115px;
  height: 9px;
  text-align: center;
}

/*-------------------------------
 End
-------------------------------*/
.endingSec .ending__img {
  margin-bottom: 33px;
}

@media only screen and (max-width: 920px) {
  .side__nav {
    width: 220px;
  }
  .nav__inner {
    padding: 57px 20px 0;
  }
  .main__content {
    width: calc(100% - 220px);
  }
}

@media only screen and (max-width: 756px) {
  .side__nav {
    width: 29.1005vw;
  }
  .nav__inner {
    padding: 6.6138vw 2.6455vw 0;
  }
  .nav__title {
    margin-bottom: 2.6455vw;
  }
  .nav__list {
    padding: 1.9841vw 0;
  }
  .nav__item {
    padding: 1.1905vw 0;
  }
  .nav__item__link span {
    font-size: 2.381vw;
  }
  .main__content {
    width: calc(100% - 29.1005vw);
  }
}

@media only screen and (max-width: 620px) {
  .side__nav {
    display: none;
  }
  .main__content {
    width: 100%;
  }
  .content__container.topSec {
    margin-top: calc(-100vh + 56px);
  }
  .ending.content__bg {
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 520px) {
  /*-------------------------------
	 Main common
	-------------------------------*/
  .main__content {
    width: 100%;
    margin-top: 14.9333vw;
  }
  .content__bg {
    display: none;
  }
  .content__container,
  .content__container.topSec,
  .content__container.flowSec,
  .content__container.endingSec {
    width: 100%;
    margin: 0;
  }
  .content__container.endingSec {
    overflow: hidden;
  }
  .content__container::before,
  .content__container::after,
  .content__container.topSec::before {
    content: none;
  }
  .ending.content__bg {
    display: block;
    background-image: none;
  }

  .before__content__title {
    width: 20.5333vw;
    margin: 0 auto 4vw;
  }
  .content__title {
    width: 89.3333vw;
    margin: 0 auto 5.3333vw 0;
  }
  .content__title span {
    width: 89.3333vw;
    padding: 4.5333vw;
    font-size: 6.4vw;
  }
  .content__title span::before {
    top: 1.0667vw;
    left: 1.0667vw;
    width: 89.3333vw;
    border-radius: 2.1333vw;
  }
  .content__title span::after {
    width: 89.3333vw;
    border-radius: 2.1333vw;
  }
  .content__text {
    margin-bottom: 2.6667vw;
    font-size: 4.2667vw;
  }
  .content__text sup {
    font-size: 2.6667vw;
  }
  .footnote {
    font-size: 3.2vw;
  }

  /*-------------------------------
	 Merit
	-------------------------------*/
  .meritSec {
    padding: 11.2vw 0 10.6667vw;
  }
  .merit__list {
    margin-top: 13.3333vw;
  }
  .merit__item {
    padding: 7.4667vw 0 5.8667vw;
    border-radius: 2.1333vw;
  }
  .merit__item:not(:first-of-type) {
    margin-top: 14.4vw;
  }
  .merit__item .merit__item__no {
    top: -8.2667vw;
    left: calc(50% - 7.7333vw);
    width: 15.4667vw;
    height: 15.4667vw;
  }
  .merit__item .merit__item__title {
    height: 26.1333vw;
    padding: 3.7333vw 0 0 0;
    margin-bottom: 4.8vw;
    font-size: 5.3333vw;
  }
  .merit__item .merit__item__title .text__large {
    font-size: 8.5333vw;
  }
  .merit__item .merit__item__text {
    padding: 0 5.3333vw;
    font-size: 4.2667vw;
  }

  /*-------------------------------
	 Feature
	-------------------------------*/
  .featureSec {
    padding: 10.6667vw 0 0;
  }
  .featureSec .content__title {
    margin-bottom: 9.3333vw;
  }
  .featureSec .content__title::after {
    right: -1.0667vw;
    top: -31.2vw;
    width: 37.0667vw;
    height: 44.8vw;
  }
  .feature__item {
    margin-bottom: 10.6667vw;
  }
  .feature__item:last-of-type {
    margin-bottom: 13.3333vw;
  }
  .feature__item__title {
    margin: 4.2667vw 0 5.6vw;
    padding: 2.1333vw;
    border-radius: 2.1333vw;
  }
  .feature__item__title .title__icon {
    width: 16vw;
  }
  .feature__item__title .title__text {
    font-size: 5.3333vw;
  }
  .feature__item__text {
    font-size: 4.2667vw;
  }
  .feature__item-02 .title__wrap {
    padding-bottom: 5.3333vw;
    margin-bottom: 5.0667vw;
    box-shadow: 0 0 2.1333vw 0 rgb(0 0 0 /0.1);
    border-radius: 2.1333vw 2.1333vw 0 0;
  }
  .feature__item-02 .feature__item__title {
    margin-bottom: 4vw;
  }
  .feature__item-02 .item__figure {
    margin-right: 0;
    margin-bottom: 0;
    width: 84vw;
  }

  /*-------------------------------
	 Case
	-------------------------------*/
  .caseSec {
    padding: 10.6667vw 0 16.5333vw;
  }
  .caseSec .content__title {
    margin-bottom: 8.5333vw;
  }
  .case__item {
    padding: 4.5333vw 5.3333vw 5.6vw;
    border-radius: 2.1333vw;
  }
  .case__item__img {
    margin-bottom: 4.5333vw;
  }
  .case__item__text {
    font-size: 3.7333vw;
  }
  .caseSec .swiper__nav__wrap {
    margin-top: 8.5333vw;
  }
  .caseSec .swiper-pagination {
    width: 13.8667vw;
    height: 13.8667vw;
    font-size: 4.2667vw;
  }
  .caseSec .swiper__prevBtn,
  .caseSec .swiper__nextBtn {
    width: 13.8667vw;
    height: 13.8667vw;
  }

  /*-------------------------------
	 Support
	-------------------------------*/
  .supportSec {
    padding: 9.3333vw 0 10.6667vw;
    background: linear-gradient(to bottom, #f1fbec, #eeffe5);
  }
  .supportSec .content__title {
    margin-bottom: 8vw;
  }
  .supportSec .content__title::after {
    top: -27.2vw;
    width: 29.6vw;
    height: 38.4vw;
  }
  .supportSec .support__subtitle {
    margin-left: 7.4667vw;
    margin-bottom: 3.2vw;
    font-size: 5.3333vw;
  }
  .supportSec .support__subtitle::before {
    top: calc(50% - 2.6667vw);
    left: -7.4667vw;
    width: 5.3333vw;
    height: 5.3333vw;
  }
  .supportSec .support__text {
    padding: 4vw 4.8vw;
    font-size: 3.7333vw;
  }
  .supportSec .support__text.support__text-1 {
    margin-bottom: 7.7333vw;
  }

  /*-------------------------------
	 FeaFlow
	-------------------------------*/
  .flowSec {
    padding: 10.6667vw 0;
  }
  .flowSec .flow__step {
    padding: 4.8vw 2.6667vw;
  }
  .flowSec .flow__step dl dt {
    width: 30.6667vw;
    height: 13.8667vw;
  }
  .flowSec .flow__step dl dt img {
    width: 26.9333vw;
  }
  .flowSec .flow__step dl dd {
    height: 13.8667vw;
    padding-left: 3.7333vw;
    font-size: 4.2667vw;
  }
  .flowSec .step__arrow {
    width: 30.6667vw;
    height: 2.4vw;
  }
}

.grecaptcha-badge {
  z-index: 99;
}
