/* PC (1440px以上)、タブレット(561px以上1440px未満)、SP(560px未満)の順で記載 */

.pc {
  display: block;
}

.pc-inline {
  display: inline;
}

.sp {
  display: none;
}

.sp-inline {
  display: none;
}

html {
  scroll-behavior: smooth;
  width: 100vw;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

.highlight {
  color: #3a7b9e;
  font-weight: bold;
  background: linear-gradient(transparent 60%, rgba(185, 217, 235, 0.5) 60%);
  display: inline;
}

.l-main {
  width: 100vw;
}

a {
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.8;
}

/*SP*/
@media (max-width: 560px) {
  .pc {
    display: none;
  }

  .pc-inline {
    display: none;
  }

  .sp {
    display: block;
  }

  .sp-inline {
    display: inline;
  }
}

/* ヘッダー */
.l-header {
  width: 100vw;
  height: 82px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background-color: white;
  border-bottom: 1px solid #e1e1e1;
  position: sticky;
  top: 0;
  z-index: 100;
}

.l-header__inner {
  width: 1440px;
  height: 82px;
  padding: 0 48px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-header__logo-wrap {
  display: flex;
  align-items: center;
  width: fit-content;
}

.l-header__logo-wrap-inner {
  padding-right: 24px;
}

.l-header__logo {
  width: 149px;
  height: 50px;
}

.l-header__logo-text {
  width: fit-content;
  height: 46px;
  padding-top: 12.5px;
  color: #333333;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  padding-left: 24px;
  border-left: 1px solid #b8b8b8;
}

.l-header__btn {
  width: 136px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  background-image: url("../images/webp/header-btn.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}

/* ヘッダータブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-header {
    width: 100vw;
    height: 5.694vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    background-color: white;
  }

  .l-header__inner {
    width: 100vw;
    height: 5.694vw;
    padding: 0 3.333vw;
    margin: 0 auto;
    height: 3.333vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-header__logo-wrap {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .l-header__logo-wrap-inner {
    padding-right: 1.667vw;
  }

  .l-header__logo {
    width: 10.347vw;
    height: 3.472vw;
  }

  .l-header__logo-text {
    width: fit-content;
    height: 3.194vw;
    padding-top: 0.868vw;
    color: #333333;
    font-size: 0.972vw;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0;
    padding-left: 1.667vw;
    border-left: 1px solid #b8b8b8;
  }

  .l-header__btn {
    width: 9.444vw;
    height: 3.333vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    background-color: #011943;
    border-radius: 0.417vw;
    font-size: 1.111vw;
    font-weight: bold;
    text-decoration: none;
  }
}

/*ヘッダーSP*/
@media (max-width: 560px) {
  .l-header {
    width: 100vw;
    height: 17.067vw;
    align-items: center;
    position: relative;
    padding: 0;
    top: 0;
    z-index: 100;
    background-color: white;
  }

  .l-header__inner {
    width: 92.533vw;
    height: 10.291vw;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
  }

  .l-header__logo-wrap {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .l-header__logo-wrap-inner {
    padding-right: 0;
  }

  .l-header__logo {
    width: 30.667vw;
    height: 10.291vw;
  }

  .l-header__logo-text {
    font-size: small;
    border-left: unset;
    padding-top: 0;
    padding-left: 50px;
  }

  .l-header__btn {
    display: none;
  }
}

/* MV */

.mv {
  width: 100vw;
  height: 520px;
  background-color: white;
  overflow-x: hidden;
  position: relative;
}

.mv__bg {
  position: absolute;
  top: 0;
  left: calc(((100vw - 1440px) / 2) + 365px);
  width: 1165.5px;
  height: 520px;
  background-image: url("../images/webp/mv-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mv__bg_pa {
  position: absolute;
  top: 0;
  left: calc(((61vw - 1440px) / 2) + 365px);
  width: 1440px;
  height: 571px;
  background-image: url("../images/top-bg_pa_pc.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mv__inner {
  width: 1440px;
  height: 520px;
  margin: 0 auto;
  position: relative;
  background-image: none;
  background-size: cover;
}

.mv__inner_pa {
  width: 1440px;
  height: 571px;
  margin: 0 auto;
  position: relative;
  background-image: none;
  background-size: cover;
}

.mv__content {
  width: 700px;
  position: absolute;
  top: 20%;
  left: 53px;
}

.mv__catch {
  color: #232323;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.mv__title1 {
  color: white;
  background-color: #4b91b6;
  font-size: 60px;
  font-weight: 500;
  line-height: 1.44;
  letter-spacing: 0.01em;
  margin-top: 30px;
  margin-left: 0;
  padding: 0 11px;
  width: fit-content;
}

.mv__title2 {
  color: white;
  background-color: #4b91b6;
  font-size: 66px;
  font-weight: 500;
  line-height: 1.44;
  letter-spacing: 0.01em;
  margin-top: 16px;
  margin-left: 0;
  padding: 0 11px;
  width: fit-content;
}

.mv__form-wrap {
  width: 378px;
  background-color: #f3f4f5;
  position: absolute;
  top: 44px;
  left: 1012px;
  padding: 32px 20px;
  border-radius: 4px;
}

.mv__form-title {
  color: #000000;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.mv__form {
  width: 100%;
  margin: 0 auto;
  margin-top: 16px;
  background-color: white;
  border: 1px solid #dddddd;
  border-radius: 8px;
  padding: 24px 19.5px;
}

.mv__form-input {
  width: 100%;
  height: 56px;
  background-color: #e1edf4;
  border-radius: 4px;
  padding: 14.5px 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  border: none;
}

.mv__form.error .mv__form-input {
  border: 1px solid red;
}

.mv__form-error {
  display: none;
  font-size: 12px;
  line-height: 1.7;
  color: #ec0000;
  margin-top: 8px;
}

.mv__form.error .mv__form-error {
  display: block;
}

.mv__form-text {
  color: black;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 18px;
  text-align: center;
}

.mv__form-text-link {
  color: #307fe2;
  text-decoration: underline;
}

.mv__form-submit {
  width: 100%;
  height: 76px;
  background-color: #3a7b9e;
  border-radius: 6px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  border: none;
  margin-top: 12px;
  color: white;
  display: flex;
  align-items: center;
  padding-left: 18px;
  cursor: pointer;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
  background-image: url("../images/webp/mv-btn.webp");
  background-size: cover;
  transition: opacity 0.3s;
}

.mv__form-submit:hover {
  opacity: 0.8;
}

.mv__form-attention {
  width: 100%;
  color: #787878;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0;
  margin-top: 16px;
}

.mv__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding: 0 12px;
}

.mv__row-text {
  color: #307fe2;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  font-size: 0.7vw;
}

.mv__row-text-link {
  color: #307fe2;
  text-decoration: underline;
  padding: 5px;
}

.mv__btn {
  display: none;
}

.mv__logo {
  position: absolute;
  top: 350px;
  left: 48px;
  width: 393px;
  height: 141.65px;
  background-image: url("../images/webp/mv-logo.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (min-width: 1441px) and (max-width: 1650px) {
  .mv__form-wrap {
    left: 1050px;
  }
}

/*MVタブレット*/
@media (min-width: 561px) and (max-width: 1440px) {
  .mv {
    width: 100vw;
    height: 39.652vw;
    background-color: white;
  }

  .mv__bg {
    display: none;
  }

  .mv__bg_pa {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/top-bg_pa_pc.jpg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    left: inherit;
  }

  .mv__inner {
    width: 100vw;
    height: 39.653vw;
    margin: 0 auto;
    position: relative;
    background-image: url("../images/webp/mv-inner-bg.webp");
    background-size: cover;
  }

  .mv__inner_pa {
    width: 100vw;
    height: 39.653vw;
    margin: 0 auto;
    position: relative;
    background-image: unset;
    background-size: cover;
  }

  .mv__content {
    width: 48.611vw;
    position: absolute;
    top: 25%;
    left: 3.681vw;
  }

  .mv__catch {
    color: #232323;
    font-size: 2.22vw;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }

  .mv__title1 {
    color: white;
    background-color: #4b91b6;
    font-size: 3.75vw;
    font-weight: bold;
    line-height: 1.44;
    letter-spacing: 0.01em;
    margin-top: 2.083vw;
    margin-left: 0;
    padding: 0 0.764vw;
    width: fit-content;
  }

  .mv__title2 {
    color: white;
    background-color: #4b91b6;
    font-size: 3.75vw;
    font-weight: bold;
    line-height: 1.44;
    letter-spacing: 0.01em;
    margin-top: 1.111vw;
    margin-left: 0;
    padding: 0 0.764vw;
    width: fit-content;
  }

  .mv__form-wrap {
    width: 26.25vw;
    background-color: #f3f4f5;
    position: absolute;
    top: 15%;
    left: 70.278vw;
    padding: 2.222vw 1.389vw;
    border-radius: 0.278vw;
  }

  .mv__form-title {
    color: #000000;
    font-size: 1.389vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .mv__form {
    width: 23.542vw;
    margin: 0 auto;
    margin-top: 1.111vw;
    background-color: white;
    border: 1px solid #dddddd;
    border-radius: 0.556vw;
    padding: 1.667vw 1.354vw;
  }

  .mv__form-input {
    width: 100%;
    height: 3.889vw;
    background-color: #e1edf4;
    border-radius: 0.278vw;
    padding: 1.007vw 1.111vw;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.04em;
    border: none;
  }

  .mv__form-error {
    display: none;
    font-size: 0.833vw;
    line-height: 1.7;
    color: #ec0000;
    margin-top: 0.556vw;
  }

  .mv__form-text {
    color: black;
    font-size: 0.903vw;
    font-weight: 400;
    line-height: 1.7;
    margin-top: 1.25vw;
    text-align: center;
  }

  .mv__form-text-link {
    color: #307fe2;
    text-decoration: underline;
  }

  .mv__form-submit {
    width: 20.694vw;
    height: 5.278vw;
    background-color: #3a7b9e;
    border-radius: 0.417vw;
    font-size: 1.25vw;
    font-weight: bold;
    line-height: 1.5;
    border: none;
    margin-top: 0.833vw;
    color: white;
    display: flex;
    align-items: center;
    padding-left: 0;
    cursor: pointer;
    padding-left: 1.25vw;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
    background-image: url("../images/webp/mv-btn.webp");
    background-size: cover;
    transition: opacity 0.3s;
  }

  .mv__form-submit:hover {
    opacity: 0.8;
  }

  .mv__form-attention {
    width: 100%;
    color: #787878;
    font-size: 0.764vw;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 1.111vw;
  }

  .mv__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.111vw;
    padding: 0 0.833vw;
  }

  .mv__row-text {
    color: #307fe2;
    font-size: 1vw;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .mv__row-text-link {
    color: #307fe2;
    text-decoration: underline;
  }

  .mv__btn {
    display: none;
  }

  .mv__logo {
    position: absolute;
    top: 24.31vw;
    left: 3.333vw;
    width: 27.292vw;
    height: 9.837vw;
    background-image: url("../images/webp/mv-logo.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/*MVSP*/
@media (max-width: 560px) {
  .mv {
    width: 100vw;
    height: 188.4vw;
    background-color: white;
    top: -1px;
  }

  .mv__bg {
    display: none;
  }

  .mv__inner {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    background-image: url("../images/webp/top-bg_01_sp02.webp");
    background-size: contain;
    background-repeat: no-repeat;
  }

  .mv__inner_pa {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    background-image: unset;
    background-size: contain;
    background-repeat: no-repeat;
  }

  .mv__content {
    width: 92vw;
    position: absolute;
    top: 8.733vw;
    left: 4.267vw;
  }

  .mv__catch {
    display: none;
    color: #232323;
    font-size: 4.267vw;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
    margin: 0 auto;
    width: fit-content;
  }

  .mv__title1 {
    color: white;
    background-color: unset;
    font-size: 8vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto;
    padding: 0;
    width: 92vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
  }

  .mv__title2 {
    color: white;
    background-color: unset;
    font-size: 7.5vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 auto;
    padding: 0;
    width: 64vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
  }

  .mv__form-wrap {
    width: 100%;
    background-color: #f3f4f5;
    position: absolute;
    top: 35%;
    left: 0%;
    padding: 20px 20px;
    border-radius: 4px;
  }

  .mv__form-submit {
    background-image: url("../images/webp/mv-btn02.webp");
    height: 50px;
  }

  .mv__btn {
    display: block;
    width: 91.467vw;
    height: 25.6vw;
    color: white;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    border-radius: 1.6vw;
    display: flex;
    align-items: center;
    padding-left: 29.6vw;
    position: relative;
    background-image: url("../images/webp/sp-mv-btn.webp");
    background-size: cover;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
    position: absolute;
    top: 132.8vw;
    left: 4.267vw;
    text-align: center;
  }

  .mv__btn-text {
    color: white;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    position: absolute;
    top: 5.733vw;
    left: 5.867vw;
  }

  .mv__logo {
    position: absolute;
    top: 35.53vw;
    left: 13.6vw;
    width: 69.333vw;
    height: 26.451vw;
    background-image: url("../images/webp/sp-mv-logo.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .mv__form > input {
    background-color: #eee8aa !important;
    border: 1px inset #c37729 !important;
  }
}

/* 紹介セクション */
.l-main__highclass {
  width: 100vw;
  padding: 69px 0 100px;
  background-image: url("../images/webp/highclass-bg.webp");
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  overflow-x: hidden;
  border-top: 1px solid #4b91b6;
}

.l-main__highclass-inner {
  width: 1094px;
  margin: 0 auto;
}

.l-main__highclass-title {
  color: white;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.l-main__highclass-box-title {
  width: 1054px;
  height: 119px;
  margin: 0 auto;
  margin-top: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/webp/highclass-box-title-bg.webp");
  background-size: cover;
}

.l-main__highclass-box-title-text {
  color: white;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.l-main__highclass-box-text {
  width: 1054px;
  margin: 0 auto;
  color: #232323;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
  background-color: #f4f4f4;
  padding: 54px 32px;
}

.l-main__highclass-arrow {
  width: 112.42px;
  height: 44.2px;
  background-image: url("../images/webp/highclass-arrow.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: 0 auto;
  margin-top: 16px;
}

.l-main__highclass-content {
  width: 1054px;
  height: 316px;
  margin: 0 auto;
  margin-top: 16px;
  position: relative;
}

.l-main__highclass-image {
  position: absolute;
  top: -32.2px;
  left: -58px;
  width: 467px;
  height: 385.54px;
  background-image: url("../images/webp/highclass-image.webp");
  background-size: cover;
}

.l-main__highclass-text1 {
  width: 620px;
  position: absolute;
  top: 25.5px;
  left: 459px;
  color: #272727;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}

.l-main__highclass-text1--blue {
  color: #3a7b9e;
}

.l-main__highclass-text2 {
  position: absolute;
  top: 145.5px;
  left: 463px;
  width: 611px;
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

/*紹介セクションタブレット*/
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__highclass {
    width: 100vw;
    padding: 4.792vw 0 6.944vw;
    background-image: url("../images/webp/highclass-bg.webp");
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
  }

  .l-main__highclass-inner {
    width: 75.972vw;
    margin: 0 auto;
  }

  .l-main__highclass-title {
    color: white;
    font-size: 2.431vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__highclass-box-title {
    width: 73.194vw;
    height: 8.264vw;
    margin: 0 auto;
    margin-top: 6.25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/webp/highclass-box-title-bg.webp");
    background-size: cover;
  }

  .l-main__highclass-box-title-text {
    color: white;
    font-size: 1.806vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__highclass-box-text {
    width: 73.194vw;
    margin: 0 auto;
    color: #232323;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
    background-color: #f4f4f4;
    padding: 3.75vw 2.222vw;
  }

  .l-main__highclass-arrow {
    width: 7.807vw;
    height: 3.069vw;
    background-image: url("../images/webp/highclass-arrow.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto;
    margin-top: 1.111vw;
  }

  .l-main__highclass-content {
    width: 73.194vw;
    height: 21.944vw;
    margin: 0 auto;
    margin-top: 1.11vw;
    position: relative;
  }

  .l-main__highclass-image {
    position: absolute;
    top: -2.236vw;
    left: -4.028vw;
    width: 32.431vw;
    height: 26.774vw;
    background-image: url("../images/webp/highclass-image.webp");
    background-size: cover;
  }

  .l-main__highclass-text1 {
    width: 43.056vw;
    position: absolute;
    top: 1.771vw;
    left: 31.875vw;
    color: #272727;
    font-size: 2.222vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
  }

  .l-main__highclass-text--blue {
    color: #3a7b9e;
  }

  .l-main__highclass-text2 {
    position: absolute;
    top: 10.104vw;
    left: 32.153vw;
    width: 42.431vw;
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
  }
}

/*紹介セクションSP*/
@media (max-width: 560px) {
  .l-main__highclass {
    width: 100vw;
    padding: 8.533vw 0 17.067vw;
    background-image: url("../images/webp/sp-highclass-bg.webp");
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
  }

  .l-main__highclass-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__highclass-title {
    color: white;
    font-size: 6.4vw;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
  }

  .l-main__highclass-box-title {
    width: 91.467vw;
    height: 25.067vw;
    margin: 0 auto;
    margin-top: 19.2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/webp/sp-highclass-box-title-bg.webp");
    background-size: cover;
  }

  .l-main__highclass-box-title-text {
    color: white;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__highclass-box-text {
    color: #232323;
    font-size: 4.267vw;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    width: 91.467vw;
    background-color: #f4f4f4;
    padding: 8.533vw 4.267vw;
    margin: 0 auto;
  }

  .l-main__highclass-arrow {
    width: 18.667vw;
    height: 7.339vw;
    background-image: url("../images/webp/highclass-arrow.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto;
    margin-top: 5.867vw;
  }

  .l-main__highclass-content {
    width: 91.467vw;
    height: 144.96vw;
    margin: 0 auto;
    position: relative;
  }

  .l-main__highclass-image {
    position: absolute;
    top: 37.067vw;
    left: -12vw;
    width: 109.067vw;
    height: 52.8vw;
    background-image: url("../images/webp/sp-highclass-image.webp");
    background-size: cover;
  }

  .l-main__highclass-text1 {
    width: 82.933vw;
    position: absolute;
    top: 3.2vw;
    left: 4.267vw;
    color: #272727;
    font-size: 5.867vw;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
  }

  .l-main__highclass-text2 {
    position: absolute;
    top: 96.155vw;
    left: 4.267vw;
    width: 82.933vw;
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
  }

  .mv__row-text {
    font-size: 3vw;
  }
}

/* 強みエリア */

.l-main__strong-point {
  width: 100vw;
  background-color: #5392b3;
  padding: 100px 0;
  overflow-x: hidden;
}

.l-main__strong-point-inner {
  width: 1054px;
  margin: 0 auto;
  position: relative;
}

.l-main__strong-point-title {
  color: white;
  font-size: 38px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}

.l-main__strong-point-box {
  width: 1058px;
  margin: 0 auto;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-main__strong-point-box-reason {
  background-color: white;
  width: 342px;
  height: 397px;
  padding-top: 58px;
}

.l-main__strong-point-box-content-reason-number {
  background-size: cover;
  width: 74px;
  height: 91px;
  margin: 0 auto;
}

.l-main__strong-point-box-content-reason-number.number01 {
  background-image: url("../images/webp/reason01.webp");
}

.l-main__strong-point-box-content-reason-number.number02 {
  background-image: url("../images/webp/reason02.webp");
}

.l-main__strong-point-box-content-reason-number.number03 {
  background-image: url("../images/webp/reason03.webp");
}

.l-main__strong-point-box-content-reason-text-wrap {
  width: 278px;
  margin: 0 auto;
  margin-top: 30px;
}

.l-main__strong-point-box-content-reason-title {
  color: #2e6c8d;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

.l-main__strong-point-box-content-reason-text {
  color: #232323;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  margin-top: 32px;
}

/*強みエリアタブレット*/
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__strong-point {
    width: 100vw;
    background-color: #5392b3;
    padding: 6.944vw 0;
  }

  .l-main__strong-point-inner {
    width: 73.194vw;
    margin: 0 auto;
    position: relative;
  }

  .l-main__strong-point-title {
    color: white;
    font-size: 2.639vw;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-align: center;
  }

  .l-main__strong-point-box {
    width: 73.472vw;
    margin: 0 auto;
    margin-top: 2.778vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-main__strong-point-box-reason {
    background-color: white;
    width: 23.75vw;
    height: 27.569vw;
    padding-top: 4.028vw;
  }

  .l-main__strong-point-box-content-reason-number {
    width: 5.139vw;
    height: 6.319vw;
    background-size: cover;
    margin: 0 auto;
  }

  .l-main__strong-point-box-content-reason-number.number01 {
    background-image: url("../images/webp/reason01.webp");
  }

  .l-main__strong-point-box-content-reason-number.number02 {
    background-image: url("../images/webp/reason02.webp");
  }

  .l-main__strong-point-box-content-reason-number.number03 {
    background-image: url("../images/webp/reason03.webp");
  }

  .l-main__strong-point-box-content-reason-text-wrap {
    width: 19.306vw;
    margin: 0 auto;
    margin-top: 2.083vw;
  }

  .l-main__strong-point-box-content-reason-title {
    color: #2e6c8d;
    font-size: 1.736vw;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__strong-point-box-content-reason-text {
    color: #232323;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    margin-top: 2.22vw;
  }
}

/*強みエリアSP*/
@media (max-width: 560px) {
  .l-main__strong-point {
    width: 100vw;
    background-color: #5392b3;
    padding: 17.067vw 0;
  }

  .l-main__strong-point-inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
  }

  .l-main__strong-point-title {
    color: white;
    font-size: 7.467vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }

  .l-main__strong-point-box {
    width: 91.467vw;
    margin: 0 auto;
    margin-top: 8.533vw;
    flex-direction: column;
    row-gap: 3.2vw;
  }

  .l-main__strong-point-box-reason {
    background-color: white;
    width: 100%;
    height: unset;
    padding: 16px 16px 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .l-main__strong-point-box-content-reason-number {
    width: 11.73vw;
    height: 13.33vw;
    background-size: cover;
    margin: 0;
  }

  .l-main__strong-point-box-content-reason-number.number01 {
    background-image: url("../images/webp/sp-reason01.webp");
  }

  .l-main__strong-point-box-content-reason-number.number02 {
    background-image: url("../images/webp/sp-reason02.webp");
  }

  .l-main__strong-point-box-content-reason-number.number03 {
    background-image: url("../images/webp/sp-reason03.webp");
  }

  .l-main__strong-point-box-content-reason-text-wrap {
    width: 64.8vw;
    padding: 0;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .l-main__strong-point-box-content-reason-title {
    color: #2e6c8d;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
  }

  .l-main__strong-point-box-content-reason-text {
    color: #232323;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    margin-top: 2.667vw;
  }
}

/* メッセージエリア */

.l-main__message {
  width: 100vw;
  height: 399px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/webp/message-bg.webp");
  background-size: cover;
  overflow-x: hidden;
}

.l-main__message-inner {
  width: 1054px;
  margin: 0 auto;
}

.l-main__message-title {
  color: white;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.36;
  text-align: center;
}

.l-main__btn {
  width: 648px;
  height: 113.5px;
  color: white;
  margin: 0 auto;
  margin-top: 48px;
  display: flex;
  align-items: center;
  text-align: center;
  text-decoration: none;
  font-size: 27px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: relative;
  background-image: url("../images/webp/btn.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  padding-left: 175px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
}

.l-main__btn.btn2 {
  margin-top: 32px;
  padding-left: 213px;
}

.l-main__btn.btn3 {
  margin-top: 24px;
  padding-left: 175px;
}

.l-main__btn.bg-white {
  background-size: cover;
}

.l-main__btn:hover {
  opacity: 1;
}

.l-main__btn::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: white;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease-in-out;
  border-radius: 4px;
}

.l-main__btn:hover::after {
  opacity: 0.2;
}

.l-main__btn-text {
  color: white;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  text-align: left;
  top: 19px;
  left: 23px;
}

.l-main__btn-text--big {
  font-size: 27px;
}

/*メッセージエリアタブレット*/
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__message {
    width: 100vw;
    height: 27.708vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/webp/message-bg.webp");
    background-size: contain;
  }

  .l-main__message-inner {
    width: 73.194vw;
    margin: 0 auto;
  }

  .l-main__message-title {
    color: white;
    font-size: 2.222vw;
    font-weight: bold;
    line-height: 1.36;
    text-align: center;
  }

  .l-main__btn {
    width: 45vw;
    height: 7.882vw;
    color: white;
    margin: 0 auto;
    margin-top: 3.333vw;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 1.875vw;
    font-weight: bold;
    line-height: 1.5;
    background-image: url("../images/webp/btn.webp");
    background-size: contain;
    padding-left: 12.153vw;
    position: relative;
    border-radius: 0.417vw;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
  }

  .l-main__btn.btn2 {
    margin-top: 2.22vw;
    padding-left: 14.792vw;
  }

  .l-main__btn.btn3 {
    margin-top: 1.667vw;
    padding-left: 12.153vw;
  }

  .l-main__btn.bg-white {
    background-size: cover;
  }

  .l-main__btn-text {
    color: white;
    font-size: 1.389vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 1.319vw;
    left: 1.597vw;
  }

  .l-main__btn-text--big {
    font-size: 1.875vw;
  }
}

/*メッセージエリアSP*/
@media (max-width: 560px) {
  .l-main__message {
    width: 100vw;
    height: 83.733vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/webp/sp-message-bg.webp");
    background-size: contain;
  }

  .l-main__message-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__message-title {
    color: white;
    font-size: 6.933vw;
    font-weight: bold;
    line-height: 1.36;
    text-align: center;
  }

  .l-main__btn {
    width: 91.467vw;
    height: 25.6vw;
    display: block;
    color: white;
    margin: 0 auto;
    margin-top: 5.333vw;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.01em;
    background-image: url("../images/webp/sp-btn.webp");
    background-size: cover;
    padding-left: 29.733vw;
    position: relative;
    border-radius: 1.6vw;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
    text-align: center;
  }

  .l-main__btn.btn2 {
    margin-top: 5.333vw;
    padding-left: 26.667vw;
  }

  .l-main__btn.btn3 {
    padding-left: 32.133vw;
  }

  .l-main__btn-text {
    color: white;
    font-size: 3.733vw;
    font-weight: bold;
    line-height: 1.45;
    position: absolute;
    top: 6.8vw;
    left: 4.267vw;
    text-align: left;
  }

  .l-main__btn-text--big {
    font-size: 4.8vw;
  }
}

/* 理由セクション */

.l-main__reason {
  width: 100vw;
  padding: 100px 0 0;
  background-image: url("../images/webp/reason-bg.webp");
  background-size: cover;
  overflow-x: hidden;
}

.l-main__reason-inner {
  width: 1058px;
  margin: 0 auto;
}

.l-main__reason-box {
  width: 1058px;
  margin: 0 auto;
  margin-top: 60px;
  padding: 0 64px 70px;
  background-color: white;
}

.l-main__reason-box:first-child {
  margin-top: 0;
}

.l-main__reason-box-reason-wrap {
  width: 152px;
  height: 97px;
  margin: 0 auto;
  padding-top: 11px;
  background-image: url("../images/webp/reason-box-bg.webp");
  background-size: cover;
}

.l-main__reason-box-reason {
  color: white;
  font-size: 14.14px;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

.l-main__reason-box-number {
  color: white;
  font-family: "Noto Sans", sans-serif;
  font-size: 47.13px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  margin-top: -6px;
}

.l-main__reason-box-title {
  color: #2e6c8d;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
  margin-top: 33px;
  padding-bottom: 19px;
  border-bottom: 1px solid #272727;
}

.l-main__reason-box-title--small {
  font-size: 26px;
}

.l-main__reason-box-text {
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 34px;
  text-align: center;
}

.l-main__reason-box1-row {
  width: 100%;
  margin-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.l-main__reason-box1-row-text {
  width: 433px;
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

.l-main__reason-box1-row-image {
  width: 433px;
  height: 244px;
  background-image: url("../images/webp/reason-box1-image.webp");
  background-size: cover;
}

.l-main__reason-box2-row {
  width: 928px;
  height: 837px;
  background-color: white;
  margin-top: 34px;
  display: flex;
}

.l-main__reason-box2-row-item1 {
  width: 461px;
  height: 100%;
  background-color: #f3f3f3;
  padding-top: 27px;
  position: relative;
  background-image: url("../images/webp/reason-box2-item1-bg.webp");
  background-size: cover;
}

.l-main__reason-box2-row-item1-box {
  width: 400px;
  height: 98px;
  background-color: #002255;
  color: white;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.l-main__reason-box2-row-item1-text {
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  width: 400px;
  margin: 0 auto;
  margin-top: 596px;
}

.l-main__reason-box2-row-item1-text1 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 147px;
  left: 196px;
}

.l-main__reason-box2-row-item1-text2 {
  color: #4b91b6;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 231px;
  left: 44px;
  text-align: center;
}

.l-main__reason-box2-row-item1-text3 {
  color: #4b91b6;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 231px;
  left: 315px;
  text-align: center;
}

.l-main__reason-box2-row-item1-text4 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.063em;
  position: absolute;
  top: 356px;
  left: 63px;
}

.l-main__reason-box2-row-item1-text5 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 542px;
  left: 157px;
}

.l-main__reason-line {
  width: 467px;
  height: 100%;
  background-image: url("../images/webp/line.webp");
  background-size: cover;
  position: relative;
}

.l-main__reason-box2-row-item2-message {
  color: #242424;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.375;
}

.l-main__reason-box2-row-item2-message.message1 {
  color: #425569;
  position: absolute;
  top: 62px;
  left: 131.89px;
  width: 273px;
}

.l-main__reason-box2-row-item2-message.message2 {
  position: absolute;
  top: 198.33px;
  left: 56.8px;
  width: 279px;
}

.l-main__reason-box2-row-item2-message.message3 {
  position: absolute;
  top: 501px;
  left: 54.3px;
  width: 282px;
}

.l-main__reason-box2-row-item2-message.message4 {
  color: #425569;
  position: absolute;
  top: 613px;
  left: 131px;
  width: 128px;
}

.l-main__reason-box2-row-item2-message.message5 {
  position: absolute;
  top: 722px;
  left: 220.91px;
  width: 112px;
}

.l-main__reason-box2-row-item2-text {
  color: white;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.45;
  position: absolute;
  top: 365.3px;
  left: 58px;
}

.l-main__reason-box2-row-item2-name1 {
  color: white;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 122px;
  left: 17.89px;
}

.l-main__reason-box2-row-item2-name2 {
  color: white;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 259px;
  left: 361.32px;
}

.l-main__reason-box2-row-item2-name3 {
  color: white;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 566px;
  left: 361.32px;
}

.l-main__reason-box2-row-item2-name4 {
  color: white;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 667px;
  left: 38.38px;
}

.l-main__reason-box2-row-item2-name5 {
  color: white;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  top: 777.76px;
  left: 361.32px;
}

.l-main__reason-box3-row {
  width: 100%;
  margin-top: 42px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.l-main__reason-box3-row-content {
  width: 425px;
}

.l-main__reason-box3-row-content-title {
  color: #272727;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.8;
}

.l-main__reason-box3-row-content-text {
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

.l-main__reason-box3-row-graph-wrap {
  width: 465px;
}

.l-main__reason-box3-row-graph {
  width: 100%;
  height: 332px;
  background-image: url("../images/webp/graph.webp");
  background-size: cover;
  position: relative;
}

.l-main__reason-box3-row-graph-text {
  color: #272727;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 10px;
}

/*理由エリアタブレット*/
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__reason {
    width: 100vw;
    padding: 6.944vw 0 0;
    background-image: url("../images/webp/reason-bg.webp");
    background-size: cover;
  }

  .l-main__reason-inner {
    width: 73.472vw;
    margin: 0 auto;
  }

  .l-main__reason-box {
    width: 73.472vw;
    margin: 0 auto;
    margin-top: 4.167vw;
    padding: 0 4.444vw 4.861vw;
    background-color: white;
  }

  .l-main__reason-box:first-child {
    margin-top: 0;
  }

  .l-main__reason-box-reason-wrap {
    width: 10.556vw;
    height: 6.736vw;
    margin: 0 auto;
    padding-top: 0.764vw;
    background-image: url("../images/webp/reason-box-bg.webp");
    background-size: cover;
  }

  .l-main__reason-box-reason {
    color: white;
    font-size: 0.982vw;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
  }

  .l-main__reason-box-number {
    color: white;
    font-family: "Noto Sans", sans-serif;
    font-size: 3.273vw;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    margin-top: -0.417vw;
  }

  .l-main__reason-box-title {
    color: #2e6c8d;
    font-size: 2.361vw;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    margin-top: 2.292vw;
    padding-bottom: 1.319vw;
    border-bottom: 1px solid #272727;
  }

  .l-main__reason-box-title--small {
    font-size: 1.806vw;
  }

  .l-main__reason-box-text {
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.6;
    margin-top: 2.361vw;
    text-align: center;
  }

  .l-main__reason-box1-row {
    width: 100%;
    margin-top: 2.222vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .l-main__reason-box1-row-text {
    width: 30.069vw;
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
  }

  .l-main__reason-box1-row-image {
    width: 30.069vw;
    height: 16.944vw;
    background-image: url("../images/webp/reason-box1-image.webp");
    background-size: cover;
  }

  .l-main__reason-box2-row {
    width: 64.444vw;
    height: 58.125vw;
    background-color: white;
    margin-top: 2.361vw;
    display: flex;
  }

  .l-main__reason-box2-row-item1-text1 {
    font-size: 1.25vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 10.208vw;
    left: 13.611vw;
  }

  .l-main__reason-box2-row-item1-text2 {
    color: #4b91b6;
    font-size: 1.111vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 16.042vw;
    left: 3.056vw;
    text-align: center;
  }

  .l-main__reason-box2-row-item1-text3 {
    color: #4b91b6;
    font-size: 1.111vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 16.042vw;
    left: 21.875vw;
    text-align: center;
  }

  .l-main__reason-box2-row-item1-text4 {
    font-size: 1.111vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.063em;
    position: absolute;
    top: 24.722vw;
    left: 4.375vw;
  }

  .l-main__reason-box2-row-item1-text5 {
    font-size: 1.111vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 37.639vw;
    left: 10.903vw;
  }

  .l-main__reason-box2-row {
    width: 64.444vw;
    height: 58.125vw;
    background-color: white;
    margin-top: 2.461vw;
    display: flex;
  }

  .l-main__reason-box2-row-item1 {
    width: 32.014vw;
    height: 100%;
    background-color: #f3f3f3;
    padding-top: 1.875vw;
    position: relative;
  }

  .l-main__reason-box2-row-item1-box {
    width: 27.778vw;
    height: 6.806vw;
    background-color: #002255;
    color: white;
    font-size: 1.389vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .l-main__reason-box2-row-item1-text {
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
    width: 27.778vw;
    margin: 0 auto;
    margin-top: 41.389vw;
  }

  .l-main__reason-line {
    width: 32.431vw;
    height: 100%;
    background-image: url("../images/webp/line.webp");
    background-size: cover;
    position: relative;
  }

  .l-main__reason-box2-row-item2-message {
    color: #242424;
    font-size: 1.111vw;
    font-weight: bold;
    line-height: 1.375;
  }

  .l-main__reason-box2-row-item2-message.message1 {
    color: #425569;
    position: absolute;
    top: 4.306vw;
    left: 9.159vw;
    width: 18.958vw;
  }

  .l-main__reason-box2-row-item2-message.message2 {
    position: absolute;
    top: 13.771vw;
    left: 3.944vw;
    width: 19.375vw;
  }

  .l-main__reason-box2-row-item2-message.message3 {
    position: absolute;
    top: 34.792vw;
    left: 3.771vw;
    width: 19.583vw;
  }

  .l-main__reason-box2-row-item2-message.message4 {
    color: #425569;
    position: absolute;
    top: 42.569vw;
    left: 9.097vw;
    width: 8.889vw;
  }

  .l-main__reason-box2-row-item2-message.message5 {
    position: absolute;
    top: 50.139vw;
    left: 15.341vw;
    width: 7.778vw;
  }

  .l-main__reason-box2-row-item2-text {
    color: white;
    font-size: 1.736vw;
    font-weight: bold;
    line-height: 1.45;
    position: absolute;
    top: 25.368vw;
    left: 4.028vw;
  }

  .l-main__reason-box2-row-item2-name1 {
    color: white;
    font-size: 0.972vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 8.472vw;
    left: 1.242vw;
  }

  .l-main__reason-box2-row-item2-name2 {
    color: white;
    font-size: 0.972vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 17.986vw;
    left: 25.092vw;
  }

  .l-main__reason-box2-row-item2-name3 {
    color: white;
    font-size: 0.972vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 39.306vw;
    left: 25.092vw;
  }

  .l-main__reason-box2-row-item2-name4 {
    color: white;
    font-size: 0.972vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 46.319vw;
    left: 2.665vw;
  }

  .l-main__reason-box2-row-item2-name5 {
    color: white;
    font-size: 0.972vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 54.011vw;
    left: 25.092vw;
  }

  .l-main__reason-box3-row {
    width: 100%;
    margin-top: 2.917vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .l-main__reason-box3-row-content {
    width: 29.514vw;
  }

  .l-main__reason-box3-row-content-title {
    color: #272727;
    font-size: 1.597vw;
    font-weight: bold;
    line-height: 1.8;
  }

  .l-main__reason-box3-row-content-text {
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
  }

  .l-main__reason-box3-row-graph-wrap {
    width: 32.292vw;
  }

  .l-main__reason-box3-row-graph {
    width: 100%;
    height: 23.056vw;
    background-image: url("../images/webp/graph.webp");
    background-size: cover;
    position: relative;
  }

  .l-main__reason-box3-row-graph-text {
    color: #272727;
    font-size: 0.694vw;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 0.694vw;
  }
}

/*理由エリアSP*/
@media (max-width: 560px) {
  .l-main__reason {
    width: 100vw;
    padding: 7.2vw 0 0;
    background-image: url("../images/webp/reason-bg.webp");
    background-size: cover;
  }

  .l-main__reason-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__reason-box {
    width: 91.467vw;
    margin: 0 auto;
    margin-top: 8.533vw;
    padding: 0 6.4vw 8.533vw;
    background-color: white;
  }

  .l-main__reason-box:first-child {
    margin-top: 0;
  }

  .l-main__reason-box-reason-wrap {
    width: 34.133vw;
    height: 21.781vw;
    margin: 0 auto;
    padding-top: 2.36vw;
    background-image: url("../images/webp/reason-box-bg.webp");
    background-size: cover;
  }

  .l-main__reason-box-reason {
    color: white;
    font-size: 3.176vw;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
  }

  .l-main__reason-box-number {
    color: white;
    font-family: "Noto Sans", sans-serif;
    font-size: 10.581vw;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    margin-top: 0;
  }

  .l-main__reason-box-title {
    color: #2e6c8d;
    font-size: 5.867vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-top: 8.421vw;
    padding-bottom: 4.267vw;
    border-bottom: 1px solid #272727;
  }

  .l-main__reason-box-title--small {
    font-size: 3.733vw;
  }

  .l-main__reason-box-text {
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 6.4vw;
    text-align: left;
  }

  .l-main__reason-box1-row {
    width: 100%;
    margin-top: 6.4vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 8.533vw;
  }

  .l-main__reason-box1-row-text {
    width: 100%;
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
  }

  .l-main__reason-box1-row-image {
    width: 78.667vw;
    height: 44.267vw;
    background-image: url("../images/webp/reason-box1-image.webp");
    background-size: cover;
  }

  .l-main__reason-box2-row {
    width: 78.667vw;
    height: 293.379vw;
    background-color: white;
    margin-top: 10.595vw;
    display: flex;
    flex-direction: column;
  }

  .l-main__reason-box2-row-item1 {
    width: 100%;
    height: 152.533vw;
    background-color: #f3f3f3;
    padding-top: 4.8vw;
    position: relative;
    background-image: url("../images/webp/sp-reason-box2-item1-bg.webp");
    background-size: cover;
  }

  .l-main__reason-box2-row-item1-box {
    width: 68.267vw;
    height: 16.8vw;
    background-color: #002255;
    color: white;
    font-size: 3.733vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .l-main__reason-box2-row-item1-text {
    color: #272727;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 1.8;
    width: 68.267vw;
    margin: 0 auto;
    margin-top: 102.478vw;
  }

  .l-main__reason-box2-row-item1-text1 {
    font-size: 3.733vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 25.187vw;
    left: 33vw;
  }

  .l-main__reason-box2-row-item1-text2 {
    color: #4b91b6;
    font-size: 3.2vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 38.811vw;
    left: 6.464vw;
    text-align: center;
  }

  .l-main__reason-box2-row-item1-text3 {
    color: #4b91b6;
    font-size: 3.2vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 38.811vw;
    left: 52.709vw;
    text-align: center;
  }

  .l-main__reason-box2-row-item1-text4 {
    font-size: 2.933vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.058em;
    position: absolute;
    top: 60.675vw;
    left: 9.173vw;
  }

  .l-main__reason-box2-row-item1-text5 {
    font-size: 2.933vw;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    top: 92.413vw;
    left: 26.28vw;
  }

  .l-main__reason-line {
    width: 79.2vw;
    height: 140.845vw;
    background-image: url("../images/webp/sp-line.webp");
    background-size: cover;
    position: relative;
  }

  .l-main__reason-box2-row-item2-message {
    color: #242424;
    font-size: 3.2vw;
    font-weight: bold;
    line-height: 1.4;
  }

  .l-main__reason-box2-row-item2-message.message1 {
    color: #425569;
    position: absolute;
    top: 9.491vw;
    left: 22.195vw;
    width: 45.939vw;
  }

  .l-main__reason-box2-row-item2-message.message2 {
    position: absolute;
    top: 33.683vw;
    left: 8.101vw;
    width: 46.949vw;
  }

  .l-main__reason-box2-row-item2-message.message3 {
    position: absolute;
    top: 83.104vw;
    left: 8.101vw;
    width: 47.453vw;
  }

  .l-main__reason-box2-row-item2-message.message4 {
    color: #425569;
    position: absolute;
    top: 105.101vw;
    left: 21.459vw;
    width: 25.6vw;
  }

  .l-main__reason-box2-row-item2-message.message5 {
    position: absolute;
    top: 122.491vw;
    left: 33.803vw;
    width: 22.4vw;
  }

  .l-main__reason-box2-row-item2-text {
    color: white;
    font-size: 4.267vw;
    font-weight: bold;
    line-height: 1.2;
    position: absolute;
    top: 60.957vw;
    left: 9.8vw;
  }

  .l-main__reason-box2-row-item2-name1 {
    display: none;
  }

  .l-main__reason-box2-row-item2-name2 {
    display: none;
  }

  .l-main__reason-box2-row-item2-name3 {
    display: none;
  }

  .l-main__reason-box2-row-item2-name4 {
    display: none;
  }

  .l-main__reason-box2-row-item2-name5 {
    display: none;
  }

  .l-main__reason-box3-row {
    width: 100%;
    margin-top: 8.53vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 10.709vw;
  }

  .l-main__reason-box3-row-content {
    width: 78.667vw;
  }

  .l-main__reason-box3-row-content-title {
    color: #272727;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.8;
  }

  .l-main__reason-box3-row-content-text {
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
  }

  .l-main__reason-box3-row-graph-wrap {
    width: 78.667vw;
  }

  .l-main__reason-box3-row-graph {
    width: 100%;
    height: 74.667vw;
    background-image: url("../images/webp/sp-graph.webp");
    background-size: cover;
    position: relative;
  }

  .l-main__reason-box3-row-graph-text {
    color: #272727;
    font-size: 2.667vw;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 2.933vw;
  }
}

/* 満足度セクション */

.l-main__satisfy {
  width: 100vw;
  padding: 11.11vw 0 100px;
  background-image: url("../images/webp/satisfy-bg.webp");
  background-size: cover;
  overflow-x: hidden;
  margin-top: 64px;
}

.l-main__satisfy-inner {
  width: 1058px;
  margin: 0 auto;
}

.l-main__satisfy-title {
  color: white;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.l-main__satisfy-title--big {
  font-size: 42px;
}

.l-main__satisfy-box1 {
  width: 1058px;
  background-color: white;
  margin-top: 64px;
  padding: 56px 64px;
}

.l-main__satisfy-box1-title {
  color: #272727;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}

.l-main__satisfy-box1-title--big {
  font-size: 49px;
  color: #2e6c8d;
}

.l-main__satisfy-box1-title::before {
  content: "";
  width: 88px;
  height: 1px;
  position: absolute;
  top: 32px;
  left: -115px;
  background-color: black;
}

.l-main__satisfy-box1-title::after {
  content: "";
  width: 88px;
  height: 1px;
  position: absolute;
  top: 32px;
  right: -115px;
  background-color: black;
}

.l-main__satisfy-box1-text {
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 24px;
  text-align: center;
}

.l-main__satisfy-box1-image {
  width: 840px;
  height: 261.5px;
  background-image: url("../images/webp/satisfy-box1-image.webp");
  background-size: cover;
  margin: 0 auto;
  margin-top: 54px;
}

.l-main__satisfy-box2 {
  width: 1058px;
  height: 289px;
  /* 変更 */
  background-color: black;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/webp/satisfy-box2-bg.webp");
  background-size: cover;
}

.l-main__satisfy-text {
  color: white;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  margin-top: 58px;
}

/*満足度セクションタブレット*/

@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__satisfy {
    width: 100vw;
    padding: 11.11vw 0 6.944vw;
    background-image: url("../images/webp/satisfy-bg.webp");
    background-size: cover;
    margin-top: 4.444vw;
  }

  .l-main__satisfy-inner {
    width: 73.472vw;
    margin: 0 auto;
  }

  .l-main__satisfy-title {
    color: white;
    font-size: 2.083vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }

  .l-main__satisfy-title--big {
    font-size: 2.917vw;
  }

  .l-main__satisfy-box1 {
    width: 73.472vw;
    background-color: white;
    margin-top: 4.444vw;
    padding: 3.889vw 4.444vw;
  }

  .l-main__satisfy-box1-title {
    color: #272727;
    font-size: 2.222vw;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    position: relative;
    width: fit-content;
    margin: 0 auto;
  }

  .l-main__satisfy-box1-title--big {
    font-size: 3.403vw;
    color: #2e6c8d;
  }

  .l-main__satisfy-box1-title::before {
    content: "";
    width: 6.111vw;
    height: 0.069vw;
    position: absolute;
    top: 2.222vw;
    left: -7.986vw;
    background-color: black;
  }

  .l-main__satisfy-box1-title::after {
    content: "";
    width: 6.111vw;
    height: 0.069vw;
    position: absolute;
    top: 2.222vw;
    right: -7.986vw;
    background-color: black;
  }

  .l-main__satisfy-box1-text {
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 1.667vw;
    text-align: center;
  }

  .l-main__satisfy-box1-image {
    width: 58.333vw;
    height: 18.16vw;
    background-image: url("../images/webp/satisfy-box1-image.webp");
    background-size: cover;
    margin: 0 auto;
    margin-top: 3.75vw;
  }

  .l-main__satisfy-box2 {
    width: 73.472vw;
    height: 20.069vw;
    background-color: black;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/webp/satisfy-box2-bg.webp");
    background-size: cover;
  }

  .l-main__satisfy-text {
    color: white;
    font-size: 2.222vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-top: 4.028vw;
  }
}

@media (max-width: 560px) {
  .l-main__satisfy {
    width: 100vw;
    padding: 9.867vw 0 17.6vw;
    background-image: url("../images/webp/sp-satisfy-bg.webp");
    background-size: cover;
    margin-top: 21.333vw;
  }

  .l-main__satisfy-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__satisfy-title {
    color: white;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }

  .l-main__satisfy-title--big {
    font-size: 6.933vw;
  }

  .l-main__satisfy-box1 {
    width: 91.467vw;
    background-color: white;
    margin: 0 auto;
    margin-top: 5.333vw;
    padding: 10.667vw 3.2vw 9.067vw;
  }

  .l-main__satisfy-box1-title {
    color: #272727;
    font-size: 5.333vw;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    position: relative;
    width: fit-content;
    margin: 0 auto;
  }

  .l-main__satisfy-box1-title--big {
    font-size: 13.067vw;
    color: #2e6c8d;
  }

  .l-main__satisfy-box1-title--big2 {
    font-size: 8.533vw;
  }

  .l-main__satisfy-box1-title::before {
    display: none;
  }

  .l-main__satisfy-box1-title::after {
    display: none;
  }

  .l-main__satisfy-box1-text {
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 4.8vw;
    text-align: center;
  }

  .l-main__satisfy-box1-text--small {
    font-size: 3.2vw;
  }

  .l-main__satisfy-box1-image {
    width: 78.667vw;
    height: 53.33vw;
    background-image: url("../images/webp/sp-satisfy-box1-image.webp");
    background-size: cover;
    margin: 0 auto;
    margin-top: 3.73vw;
  }

  .l-main__satisfy-box2 {
    width: 91.467vw;
    height: 57.6vw;
    background-color: black;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/webp/sp-satisfy-box2-bg.webp");
    background-size: cover;
    margin: 0 auto;
  }

  .l-main__satisfy-text {
    color: white;
    font-size: 5.867vw;
    font-weight: bold;
    line-height: 1.36;
    text-align: center;
    margin-top: 8.533vw;
  }
}

/* ご利用者の声セクション */

.l-main__voice {
  width: 100vw;
  padding: 100px 0;
  overflow-x: hidden;
}

.l-main__voice-inner {
  width: 1176px;
  margin: 0 auto;
}

.l-main__voice-title {
  color: #242424;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.l-main__voice-box {
  margin-top: 64px;
  padding: 64px;
  background-image: url("../images/webp/voice-bg.webp");
  background-size: cover;
}

.l-main__voice-box-first {
  width: 1047px;
  height: 327px;
  background-image: url("../images/webp/voice-box-bg.webp");
  background-size: cover;
  position: relative;
}

.l-main__voice-box-first-image {
  width: 310.25px;
  height: 223px;
  background-image: url("../images/webp/voice-box-image.webp");
  background-size: cover;
  position: absolute;
  top: 52px;
  left: 150.75px;
}

.l-main__voice-box-first-number1 {
  color: white;
  font-family: "Noto Sans", sans-serif;
  font-size: 89px;
  font-weight: 600;
  line-height: 1.1;
  position: absolute;
  top: 106px;
  left: 206px;
}

.l-main__voice-box-first-number2 {
  color: white;
  font-size: 26.12px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 160px;
  left: 313px;
}

.l-main__voice-box-first-text1 {
  color: #4788ab;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  background-color: white;
  position: absolute;
  padding: 4px 8px;
  top: 94.67px;
  left: 482px;
}

.l-main__voice-box-first-text2 {
  color: white;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
  position: absolute;
  top: 152.67px;
  left: 482px;
  width: 453px;
}

.l-main__voice-box-first-text3 {
  color: white;
  font-size: 14px;
  font-weight: 400;
  position: absolute;
  top: 265px;
  left: 887px;
}

.l-main__voice-row {
  width: 1047px;
  display: flex;
  flex-direction: column;
  row-gap: 25px;
}

.l-main__voice-row-item {
  width: 1047px;
  padding: 32px;
  background-color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-main__voice-row-item-name-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 400px;
}

.l-main__voice-row-item-icon {
  width: 80px;
  height: 80px;
}

.l-main__voice-row-item-content {
  width: 288px;
}

.l-main__voice-row-item-title {
  color: #272727;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}

.l-main__voice-row-item-age {
  color: #2e6c8d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 8px;
}

.l-main__voice-row-item-text {
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  width: 560px;
}

.l-main__voice-text {
  color: #272727;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 64px;
  text-align: center;
}

/*ご利用者の声セクションタブレット*/
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__voice {
    width: 100vw;
    padding: 6.944vw 0;
  }

  .l-main__voice-inner {
    width: 81.667vw;
    margin: 0 auto;
  }

  .l-main__voice-title {
    color: #242424;
    font-size: 2.778vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__voice-box {
    margin-top: 4.444vw;
    padding: 4.444vw;
    background-image: url("../images/webp/voice-bg.webp");
    background-size: cover;
  }

  .l-main__voice-box-first {
    width: 72.708vw;
    height: 22.708vw;
    background-image: url("../images/webp/voice-box-bg.webp");
    background-size: cover;
    position: relative;
  }

  .l-main__voice-box-first-image {
    width: 21.545vw;
    height: 15.486vw;
    background-image: url("../images/webp/voice-box-image.webp");
    background-size: cover;
    position: absolute;
    top: 3.611vw;
    left: 10.469vw;
  }

  .l-main__voice-box-first-number1 {
    color: white;
    font-family: "Noto Sans", sans-serif;
    font-size: 6.181vw;
    font-weight: 600;
    line-height: 1.1;
    position: absolute;
    top: 7.361vw;
    left: 14.306vw;
  }

  .l-main__voice-box-first-number2 {
    color: white;
    font-size: 1.814vw;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 11.111vw;
    left: 21.736vw;
  }

  .l-main__voice-box-first-text1 {
    color: #4788ab;
    font-size: 1.389vw;
    font-weight: bold;
    line-height: 1.5;
    background-color: white;
    position: absolute;
    padding: 0.278vw 0.556vw;
    top: 6.574vw;
    left: 33.472vw;
  }

  .l-main__voice-box-first-text2 {
    color: white;
    font-size: 1.111vw;
    font-weight: bold;
    line-height: 1.8;
    position: absolute;
    top: 10.602vw;
    left: 33.472vw;
    width: 31.458vw;
  }

  .l-main__voice-box-first-text3 {
    color: white;
    font-size: 0.972vw;
    font-weight: 400;
    position: absolute;
    top: 18.403vw;
    left: 61.597vw;
  }

  .l-main__voice-row {
    width: 72.708vw;
    display: flex;
    flex-direction: column;
    row-gap: 1.736vw;
  }

  .l-main__voice-row-item {
    width: 72.708vw;
    padding: 2.222vw;
    background-color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-main__voice-row-item-name-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 27.778vw;
  }

  .l-main__voice-row-item-icon {
    width: 5.556vw;
    height: 5.556vw;
  }

  .l-main__voice-row-item-content {
    width: 20vw;
  }

  .l-main__voice-row-item-title {
    color: #272727;
    font-size: 1.389vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__voice-row-item-age {
    color: #2e6c8d;
    font-size: 0.972vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 0.556vw;
  }

  .l-main__voice-row-item-text {
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
    width: 38.889vw;
  }

  .l-main__voice-text {
    color: #272727;
    font-size: 1.528vw;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 4.444vw;
    text-align: center;
  }
}

/*ご利用者の声セクションSP*/

@media (max-width: 560px) {
  .l-main__voice {
    width: 100vw;
    padding: 25.6vw 0 21.333vw;
  }

  .l-main__voice-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__voice-title {
    color: #242424;
    font-size: 8vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }

  .l-main__voice-box {
    width: 91.467vw;
    margin: 0 auto;
    margin-top: 6.4vw;
    padding: 0;
    background-image: none;
    background-size: cover;
  }

  .l-main__voice-box-first {
    width: 91.467vw;
    height: 121.067vw;
    background-image: url("../images/webp/sp-voice-box-bg.webp");
    background-size: cover;
    position: relative;
  }

  .l-main__voice-box-first-image {
    width: 45.597vw;
    height: 45.699vw;
    background-image: url("../images/webp/sp-voice-box-image.webp");
    background-size: cover;
    position: absolute;
    top: 10.133vw;
    left: 22.936vw;
  }

  .l-main__voice-box-first-number1 {
    color: white;
    font-family: "Noto Sans", sans-serif;
    font-size: 18.237vw;
    font-weight: 600;
    line-height: 1.1;
    position: absolute;
    top: 21.333vw;
    left: 34.133vw;
  }

  .l-main__voice-box-first-number2 {
    color: white;
    font-size: 5.352vw;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 32.027vw;
    left: 56.184vw;
  }

  .l-main__voice-box-first-text1 {
    color: #4788ab;
    font-size: 5.333vw;
    font-weight: bold;
    line-height: 1.5;
    background-color: white;
    position: absolute;
    padding: 1.067vw 2.133vw;
    top: 60.645vw;
    left: 27.467vw;
  }

  .l-main__voice-box-first-text2 {
    color: white;
    font-size: 3.733vw;
    font-weight: bold;
    line-height: 1.8;
    position: absolute;
    top: 75.579vw;
    left: 6.133vw;
    width: 80vw;
  }

  .l-main__voice-box-first-text3 {
    color: white;
    font-size: 3.733vw;
    font-weight: 400;
    position: absolute;
    top: 106.512vw;
    left: 59.467vw;
  }

  .l-main__voice-row {
    width: 91.467vw;
    display: flex;
    flex-direction: column;
    row-gap: 4.267vw;
  }

  .l-main__voice-row-item {
    width: 91.467vw;
    padding: 6.4vw;
    background-color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #d9d9d9;
    row-gap: 5.333vw;
  }

  .l-main__voice-row-item-name-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 78.667vw;
  }

  .l-main__voice-row-item-icon {
    width: 16vw;
    height: 16vw;
  }

  .l-main__voice-row-item-content {
    width: 58.4vw;
  }

  .l-main__voice-row-item-title {
    color: #272727;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__voice-row-item-age {
    color: #2e6c8d;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 2.133vw;
  }

  .l-main__voice-row-item-text {
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
    width: 78.667vw;
  }

  .l-main__voice-text {
    color: #272727;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.36;
    margin-top: 17.067vw;
    text-align: center;
  }
}

/* ケース前セクション */

.l-main__case-before {
  width: 100vw;
  height: 352px;
  background-image: url("../images/webp/case-before-bg.webp");
  background-size: cover;
  padding-top: 100px;
  overflow-x: hidden;
}

.l-main__case-before-title {
  color: white;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

/* ケース前セクションタブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__case-before {
    width: 100vw;
    height: 24.444vw;
    background-image: url("../images/webp/case-before-bg.webp");
    background-size: cover;
    padding-top: 6.944vw;
  }

  .l-main__case-before-title {
    color: white;
    font-size: 2.778vw;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
  }
}

/* ケース前セクションSP */
@media (max-width: 560px) {
  .l-main__case-before {
    width: 100vw;
    height: 61.867vw;
    background-image: url("../images/webp/sp-case-before-bg.webp");
    background-size: cover;
    padding-top: 14.51vw;
  }

  .l-main__case-before-title {
    color: white;
    font-size: 8vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
}

/* ケースセクション */

.l-main__case {
  width: 100vw;
  padding: 100px 0 121px;
  background-image: url("../images/webp/case-bg.webp");
  background-size: cover;
}

.l-main__case-inner {
  width: 1058px;
  margin: 0 auto;
  margin-top: -206px;
  position: relative;
}

.l-main__case-row {
  width: 1056px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 32px;
}

.l-main__case-row-item {
  width: 512px;
  background-color: white;
  padding: 0 40px 40px;
}

.l-main__case-row-item-case {
  width: 94px;
  height: 51px;
  color: white;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  margin: 0 auto 0;
  padding-top: 8px;
  background-image: url("../images/webp/case-item-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.l-main__case-row-item-case-number {
  font-size: 23px;
  font-weight: 500;
  line-height: 1;
}

.l-main__case-row-item-name-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 32px;
}

.l-main__case-row-item-name-icon {
  width: 130px;
  height: 130px;
}

.l-main__case-row-item-name-content {
  width: 286px;
}

.l-main__case-row-item-name-title {
  color: #272727;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
}

.l-main__case-row-item-name-age {
  color: #272727;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 8px;
}

.l-main__case-row-item-box1 {
  width: 100%;
  height: 106px;
  background-color: #272727;
  margin-top: 24px;
  padding: 32px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-main__case-row-item-box1-text {
  color: white;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  width: 182px;
}

.l-main__case-row-item-box1-price {
  color: white;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  width: 182px;
  text-align: right;
}

.l-main__case-row-item-box1-price-number {
  font-family: "Noto Sans", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.l-main__case-row-item-box2 {
  width: 100%;
  height: 106px;
  padding: 32px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background-image: url("../images/webp/case-box2-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.l-main__case-row-item-box2-arrow {
  width: 61px;
  height: 27px;
  position: absolute;
  top: -16.54px;
  left: 183px;
  background-image: url("../images/webp/case-arrow.webp");
  background-size: cover;
}

.l-main__case-row-item-box2-text {
  color: white;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  width: 182px;
}

.l-main__case-row-item-box2-price {
  color: white;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  width: 182px;
  text-align: right;
}

.l-main__case-row-item-box2-price-number {
  font-family: "Noto Sans", sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 1;
}

.l-main__case-row-item-text {
  color: #272727;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 24px;

  position: relative;
  max-height: 137px;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}

.l-main__case-row-item-text.expanded {
  max-height: 2000px;
}

.l-main__case-row-item-text:not(.expanded)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.7)
  );
  pointer-events: none;
}

.l-main__case-row-item-button {
  width: 221px;
  height: 37px;
  border: 1px solid #333333;
  background-color: white;
  color: #272727;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  border-radius: 4px;
  display: flex;
  align-items: center;
  margin: 0 auto 0;
  cursor: pointer;
  padding-left: 62px;
  position: relative;
}

.l-main__case-row-item-button::after {
  content: "";
  width: 14px;
  height: 14px;
  position: absolute;
  top: 11px;
  right: 62px;
  background-image: url("../images/webp/case-row-item-button-arrow.webp");
  background-size: cover;
  transition: transform 0.3s ease;
}

.expanded.l-main__case-row-item-button::after {
  transform: rotate(180deg);
}

.l-main__case-row-text {
  color: #272727;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  margin-top: 52px;
}

/* ケースセクションタブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__case {
    width: 100vw;
    padding: 6.944vw 0 8.403vw;
    background-image: url("../images/webp/case-bg.webp");
    background-size: cover;
  }

  .l-main__case-inner {
    width: 73.472vw;
    margin: 0 auto;
    margin-top: -14.306vw;
    position: relative;
  }

  .l-main__case-row {
    width: 73.333vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 2.222vw;
  }

  .l-main__case-row-item {
    width: 35.556vw;
    background-color: white;
    padding: 0 2.778vw 2.778vw;
  }

  .l-main__case-row-item-case {
    width: 6.528vw;
    height: 3.542vw;
    color: white;
    font-size: 0.972vw;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    margin: 0 auto 0;
    padding-top: 0.556vw;
    background-image: url("../images/webp/case-item-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .l-main__case-row-item-case-number {
    font-size: 1.597vw;
    font-weight: 500;
    line-height: 1;
  }

  .l-main__case-row-item-name-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2.222vw;
  }

  .l-main__case-row-item-name-icon {
    width: 9.028vw;
    height: 9.028vw;
  }

  .l-main__case-row-item-name-content {
    width: 19.861vw;
  }

  .l-main__case-row-item-name-title {
    color: #272727;
    font-size: 1.528vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__case-row-item-name-age {
    color: #272727;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 0.556vw;
  }

  .l-main__case-row-item-box1 {
    width: 100%;
    height: 7.361vw;
    background-color: #272727;
    margin-top: 1.667vw;
    padding: 2.222vw 1.667vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-main__case-row-item-box1-text {
    color: white;
    font-size: 0.972vw;
    font-weight: 400;
    line-height: 1.5;
    width: 12.639vw;
  }

  .l-main__case-row-item-box1-price {
    color: white;
    font-size: 1.111vw;
    font-weight: 500;
    line-height: 1.5;
    width: 12.639vw;
    text-align: right;
  }

  .l-main__case-row-item-box1-price-number {
    font-family: "Noto Sans", sans-serif;
    font-size: 2.222vw;
    font-weight: 600;
    line-height: 1;
  }

  .l-main__case-row-item-box2 {
    width: 100%;
    height: 7.361vw;
    padding: 2.222vw 1.667vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    background-image: url("../images/webp/case-box2-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .l-main__case-row-item-box2-arrow {
    width: 4.236vw;
    height: 1.875vw;
    position: absolute;
    top: -1.149vw;
    left: 12.708vw;
    background-image: url("../images/webp/case-arrow.webp");
    background-size: cover;
  }

  .l-main__case-row-item-box2-text {
    color: white;
    font-size: 0.972vw;
    font-weight: 400;
    line-height: 1.5;
    width: 12.639vw;
  }

  .l-main__case-row-item-box2-price {
    color: white;
    font-size: 1.111vw;
    font-weight: 500;
    line-height: 1.5;
    width: 12.639vw;
    text-align: right;
  }

  .l-main__case-row-item-box2-price-number {
    font-family: "Noto Sans", sans-serif;
    font-size: 2.639vw;
    font-weight: 600;
    line-height: 1;
  }

  .l-main__case-row-item-text {
    color: #272727;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 1.667vw;

    position: relative;
    max-height: 9.514vw;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
  }

  .l-main__case-row-item-text.expanded {
    max-height: 138.889vw;
  }

  .l-main__case-row-item-text:not(.expanded)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 9.028vw;
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0.7)
    );
    pointer-events: none;
  }

  .l-main__case-row-item-button {
    width: 15.347vw;
    height: 2.569vw;
    border: 1px solid #333333;
    background-color: white;
    color: #272727;
    font-size: 0.972vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: center;
    border-radius: 0.278vw;
    display: flex;
    align-items: center;
    margin: 0 auto 0;
    cursor: pointer;
    padding-left: 4.306vw;
    position: relative;
  }

  .l-main__case-row-item-button::after {
    content: "";
    width: 0.972vw;
    height: 0.972vw;
    position: absolute;
    top: 0.764vw;
    right: 4.306vw;
    background-image: url("../images/webp/case-row-item-button-arrow.webp");
    background-size: cover;
    transition: transform 0.3s ease;
  }

  .expanded.l-main__case-row-item-button::after {
    transform: rotate(180deg);
  }

  .l-main__case-row-text {
    color: #272727;
    font-size: 1.528vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-top: 5.556vw;
  }
}

/* ケースセクションSP */
@media (max-width: 560px) {
  .l-main__case {
    width: 100vw;
    padding: 26.667vw 0;
    background-image: url("../images/webp/case-bg.webp");
    background-size: cover;
  }

  .l-main__case-inner {
    width: 100%;
    margin: 0 auto;
    margin-top: -42.667vw;
    position: relative;
  }

  .l-main__case-row {
    width: 91.467vw;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    flex-wrap: wrap;
    row-gap: 8.533vw;
  }

  .l-main__case-row-item {
    width: 91.467vw;
    background-color: white;
    padding: 0 6.4vw 10.667vw;
  }

  .l-main__case-row-item-case {
    width: 25.067vw;
    height: 13.6vw;
    color: white;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    margin: 0 auto 0;
    padding-top: 2.133vw;
    background-image: url("../images/webp/case-item-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .l-main__case-row-item-case-number {
    font-size: 6.133vw;
    font-weight: 500;
    line-height: 1;
  }

  .l-main__case-row-item-name-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6.4vw;
  }

  .l-main__case-row-item-name-icon {
    width: 23.467vw;
    height: 23.467vw;
  }

  .l-main__case-row-item-name-content {
    width: 50.933vw;
  }

  .l-main__case-row-item-name-title {
    color: #272727;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__case-row-item-name-age {
    color: #272727;
    font-size: 4.267vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 2.133vw;
  }

  .l-main__case-row-item-box1 {
    width: 100%;
    height: 27.2vw;
    background-color: #272727;
    margin-top: 4.267vw;
    padding: 6.4vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-main__case-row-item-box1-text {
    color: white;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 1.5;
    width: fit-content;
  }

  .l-main__case-row-item-box1-price {
    color: white;
    font-size: 3.733vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.03em;
    width: fit-content;
    text-align: center;
  }

  .l-main__case-row-item-box1-price-number {
    font-family: "Noto Sans", sans-serif;
    font-size: 7.467vw;
    font-weight: 600;
    line-height: 1;
  }

  .l-main__case-row-item-box2 {
    width: 100%;
    height: 28.533vw;
    padding: 6.4vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    background-image: url("../images/webp/case-box2-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .l-main__case-row-item-box2-arrow {
    width: 11.467vw;
    height: 5.075vw;
    position: absolute;
    top: -1.333vw;
    left: 33.6vw;
    background-image: url("../images/webp/case-arrow.webp");
    background-size: cover;
  }

  .l-main__case-row-item-box2-text {
    color: white;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 1.5;
    width: fit-content;
  }

  .l-main__case-row-item-box2-price {
    color: white;
    font-size: 3.733vw;
    font-weight: 500;
    line-height: 1.5;
    width: fit-content;
    text-align: center;
  }

  .l-main__case-row-item-box2-price-number {
    font-family: "Noto Sans", sans-serif;
    font-size: 8.8vw;
    font-weight: 600;
    line-height: 1;
  }

  .l-main__case-row-item-text {
    color: #272727;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 4.267vw;
    position: relative;
    max-height: 33.333vw;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
  }

  .l-main__case-row-item-text.expanded {
    max-height: 533.333vw;
  }

  .l-main__case-row-item-text:not(.expanded)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 33.333vw;
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0.8)
    );
    pointer-events: none;
  }

  .l-main__case-row-item-button {
    width: 58.933vw;
    height: 9.067vw;
    border: 1px solid #333333;
    background-color: white;
    color: #272727;
    font-size: 3.2vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: center;
    border-radius: 1.067vw;
    display: flex;
    align-items: center;
    margin: 0 auto 0;
    cursor: pointer;
    padding-left: 18vw;
    position: relative;
  }

  .l-main__case-row-item-button::after {
    content: "";
    width: 3.733vw;
    height: 3.733vw;
    position: absolute;
    top: 2.667vw;
    right: 18vw;
    background-image: url("../images/webp/case-row-item-button-arrow.webp");
    background-size: cover;
    transition: transform 0.3s ease;
  }

  .expanded.l-main__case-row-item-button::after {
    transform: rotate(180deg);
  }

  .l-main__case-row-text {
    color: #272727;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.36;
    text-align: center;
    margin-top: 17.067vw;
  }
}

/* フローセクション */

.l-main__flow {
  width: 100vw;
  background-color: #4585a8;
  padding: 100px 0;
  background-image: url("../images/webp/flow-bg.webp");
  background-size: cover;
  overflow-x: hidden;
}

.l-main__flow-inner {
  width: 1058px;
  margin: 0 auto;
  position: relative;
}

.l-main__flow-title {
  color: white;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.l-main__flow-box {
  width: 1058px;
  height: 661px;
  margin: 0 auto;
  margin-top: 48px;
  background-color: white;
  position: relative;
}

.l-main__flow-box-row-bar {
  width: 26px;
  height: 524px;
  background-image: url("../images/webp/flow-box-bar.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 67px;
  left: 59px;
}

.l-main__flow-box-row-step {
  width: 94px;
  height: 33px;
  color: white;
  display: flex;
  align-items: center;
  padding-left: 23px;
  font-size: 14px;
  line-height: 1.2;
  background-image: url("../images/webp/flow-box-step-bg.webp");
  background-size: cover;
}

.l-main__flow-box-row-step-number {
  color: white;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  margin-left: 2px;
}

.l-main__flow-box-row-step.step1 {
  position: absolute;
  top: 64px;
  left: 91.5px;
}

.l-main__flow-box-row-step.step2 {
  position: absolute;
  top: 184px;
  left: 91.5px;
}

.l-main__flow-box-row-step.step3 {
  position: absolute;
  top: 333px;
  left: 91.5px;
}

.l-main__flow-box-row-step.step4 {
  position: absolute;
  top: 482px;
  left: 91.5px;
}

.l-main__flow-box-row-step.step5 {
  position: absolute;
  top: 559px;
  left: 91.5px;
}

.l-main__flow-box-row-content {
  width: 812px;
  border: 1px;
}

.l-main__flow-box-row-content.content1 {
  position: absolute;
  top: 63px;
  left: 205px;
}

.l-main__flow-box-row-content.content2 {
  position: absolute;
  top: 184px;
  left: 205px;
}

.l-main__flow-box-row-content.content3 {
  position: absolute;
  top: 333px;
  left: 205px;
}

.l-main__flow-box-row-content.content4 {
  position: absolute;
  top: 482px;
  left: 205px;
}

.l-main__flow-box-row-content.content5 {
  position: absolute;
  top: 559px;
  left: 205px;
}

.l-main__flow-box-row-content-title {
  color: #272727;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
}

.l-main__flow-box-row-content-text {
  color: #232323;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 8px;
}

.l-main__flow-image {
  position: absolute;
  top: 588px;
  left: 746.33px;
  width: 436px;
  height: 285px;
  background-image: url("../images/webp/flow-image.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* フローセクションタブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__flow {
    width: 100vw;
    background-color: #4585a8;
    padding: 6.944vw 0;
    background-image: url("../images/webp/flow-bg.webp");
    background-size: cover;
  }

  .l-main__flow-inner {
    width: 73.472vw;
    margin: 0 auto;
  }

  .l-main__flow-title {
    color: white;
    font-size: 2.778vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__flow-box {
    width: 73.472vw;
    height: 45.903vw;
    margin: 0 auto;
    margin-top: 3.333vw;
    background-color: white;
    position: relative;
  }

  .l-main__flow-box-row-bar {
    width: 1.806vw;
    height: 36.389vw;
    background-image: url("../images/webp/flow-box-bar.webp");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 4.653vw;
    left: 4.097vw;
  }

  .l-main__flow-box-row-step {
    width: 6.528vw;
    height: 2.292vw;
    color: white;
    display: flex;
    align-items: center;
    padding-left: 1.597vw;
    font-size: 0.972vw;
    line-height: 1.2;
    background-image: url("../images/webp/flow-box-step-bg.webp");
    background-size: cover;
  }

  .l-main__flow-box-row-step-number {
    color: white;
    font-size: 1.667vw;
    font-weight: 600;
    line-height: 1;
    display: inline-block;
    margin-left: 0.139vw;
  }

  .l-main__flow-box-row-step.step1 {
    position: absolute;
    top: 4.444vw;
    left: 6.354vw;
  }

  .l-main__flow-box-row-step.step2 {
    position: absolute;
    top: 12.778vw;
    left: 6.354vw;
  }

  .l-main__flow-box-row-step.step3 {
    position: absolute;
    top: 23.125vw;
    left: 6.354vw;
  }

  .l-main__flow-box-row-step.step4 {
    position: absolute;
    top: 33.472vw;
    left: 6.354vw;
  }

  .l-main__flow-box-row-step.step5 {
    position: absolute;
    top: 38.819vw;
    left: 6.354vw;
  }

  .l-main__flow-box-row-content {
    width: 56.389vw;
    border: 1px;
  }

  .l-main__flow-box-row-content.content1 {
    position: absolute;
    top: 4.375vw;
    left: 14.236vw;
  }

  .l-main__flow-box-row-content.content2 {
    position: absolute;
    top: 12.778vw;
    left: 14.236vw;
  }

  .l-main__flow-box-row-content.content3 {
    position: absolute;
    top: 23.125vw;
    left: 14.236vw;
  }

  .l-main__flow-box-row-content.content4 {
    position: absolute;
    top: 33.472vw;
    left: 14.236vw;
  }

  .l-main__flow-box-row-content.content5 {
    position: absolute;
    top: 38.819vw;
    left: 14.236vw;
  }

  .l-main__flow-box-row-content-title {
    color: #272727;
    font-size: 1.528vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__flow-box-row-content-text {
    color: #232323;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 0.556vw;
  }

  .l-main__flow-image {
    position: absolute;
    top: 40.833vw;
    left: 51.828vw;
    width: 30.278vw;
    height: 19.792vw;
    background-image: url("../images/webp/flow-image.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/* フローセクションSP */
@media (max-width: 560px) {
  .l-main__flow {
    width: 100vw;
    background-color: #4585a8;
    padding: 26.667vw 0;
    background-image: url("../images/webp/flow-bg.webp");
    background-size: cover;
  }

  .l-main__flow-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__flow-title {
    color: white;
    font-size: 8vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }

  .l-main__flow-box {
    width: 91.467vw;
    height: 222.667vw;
    margin: 0 auto;
    margin-top: 12.8vw;
    background-color: white;
    position: relative;
  }

  .l-main__flow-box-row-bar {
    width: 4.267vw;
    height: 197.6vw;
    background-image: url("../images/webp/sp-flow-box-bar.webp");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 10.667vw;
    left: 6.4vw;
  }

  .l-main__flow-box-row-step {
    width: 19.467vw;
    height: 8vw;
    color: white;
    display: flex;
    align-items: center;
    padding-left: 3.2vw;
    font-size: 3.2vw;
    line-height: 1.2;
    background-image: none;
    background-color: #002664;
  }

  .l-main__flow-box-row-step-number {
    color: white;
    font-size: 4.8vw;
    font-weight: 600;
    line-height: 1;
    display: inline-block;
    margin-left: 0.533vw;
  }

  .l-main__flow-box-row-step.step1 {
    position: absolute;
    top: 11.733vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-step.step2 {
    position: absolute;
    top: 57.867vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-step.step3 {
    position: absolute;
    top: 117.867vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-step.step4 {
    position: absolute;
    top: 177.867vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-step.step5 {
    position: absolute;
    top: 202.4vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-content {
    width: 71.733vw;
  }

  .l-main__flow-box-row-content.content1 {
    position: absolute;
    top: 12.533vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-content.content2 {
    position: absolute;
    top: 58.933vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-content.content3 {
    position: absolute;
    top: 118.933vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-content.content4 {
    position: absolute;
    top: 178.5vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-content.content5 {
    position: absolute;
    top: 203vw;
    left: 13.333vw;
  }

  .l-main__flow-box-row-content-title {
    color: #232323;
    font-size: 4.267vw;
    font-weight: bold;
    line-height: 1.5;
    padding-left: 22.667vw;
  }

  .l-main__flow-box-row-content-text {
    color: #232323;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 3.2vw;
  }

  .l-main__flow-image {
    display: none;
  }
}

/* FAQセクション */

.l-main__faq {
  width: 100vw;
  padding: 100px 0;
  background-color: #ececec;
  overflow-x: hidden;
}

.l-main__faq-inner {
  width: 1058px;
  margin: 0 auto;
}

.l-main__faq-title {
  color: #242424;
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
}

.l-main__faq-row-wrap {
  width: 1058px;
  margin: 0 auto;
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}

.l-main__faq-row {
  width: 1058px;
  background-color: white;
  border-radius: 8px;
}

.l-main__faq-q-row {
  width: 100%;
  padding: 32px;
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: white;
  transition: background-color 0.3s ease;
}

.open .l-main__faq-q-row {
  background-color: #272727;
}

.l-main__faq-q-row-title {
  font-family: "Noto Sans", sans-serif;
  color: #2e6c8d;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  margin-right: 40px;
  transition: color 0.3s ease;
}

.open .l-main__faq-q-row-title {
  color: white;
}

.l-main__faq-q-row-text {
  width: 862px;
  color: #272727;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-right: 32px;
  transition: color 0.3s ease;
}

.open .l-main__faq-q-row-text {
  color: white;
}

.l-main__faq-q-row-icon {
  width: 30px;
  height: 30px;
  background-image: url("../images/webp/plus.webp");
  background-size: cover;
}

.open .l-main__faq-q-row-icon {
  background-image: url("../images/webp/minus.webp");
}

.l-main__faq-a-row {
  width: 100%;
  padding: 40px;
}

.l-main__faq-a-row-text {
  color: #232323;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.04em;
}

/* FAQセクションタブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__faq {
    width: 100vw;
    padding: 6.944vw 0;
    background-color: #ececec;
  }

  .l-main__faq-inner {
    width: 73.472vw;
    margin: 0 auto;
  }

  .l-main__faq-title {
    color: #242424;
    text-align: center;
    font-size: 2.778vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__faq-row-wrap {
    width: 73.472vw;
    margin: 0 auto;
    margin-top: 3.333vw;
    display: flex;
    flex-direction: column;
    row-gap: 1.111vw;
  }

  .l-main__faq-row {
    width: 73.472vw;
    background-color: white;
    border-radius: 0.556vw;
  }

  .l-main__faq-q-row {
    width: 100%;
    padding: 2.222vw;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    border-top-left-radius: 0.556vw;
    border-top-right-radius: 0.556vw;
    background-color: white;
    transition: background-color 0.3s ease;
  }

  .open .l-main__faq-q-row {
    background-color: #272727;
  }

  .l-main__faq-q-row-title {
    font-family: "Noto Sans", sans-serif;
    color: #2e6c8d;
    font-size: 2.222vw;
    font-weight: 500;
    line-height: 1;
    margin-right: 2.778vw;
    transition: color 0.3s ease;
  }

  .open .l-main__faq-q-row-title {
    color: white;
  }

  .l-main__faq-q-row-text {
    width: 59.861vw;
    color: #272727;
    font-size: 1.25vw;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-right: 2.222vw;
    transition: color 0.3s ease;
  }

  .open .l-main__faq-q-row-text {
    color: white;
  }

  .l-main__faq-q-row-icon {
    width: 2.083vw;
    height: 2.083vw;
    background-image: url("../images/webp/plus.webp");
    background-size: cover;
  }

  .open .l-main__faq-q-row-icon {
    background-image: url("../images/webp/minus.webp");
  }

  .l-main__faq-a-row {
    width: 100%;
    padding: 2.778vw;
  }

  .l-main__faq-a-row-text {
    color: #232323;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.04em;
  }
}

/* FAQセクションSP */
@media (max-width: 560px) {
  .l-main__faq {
    width: 100vw;
    padding: 26.667vw 0;
    background-color: #ececec;
  }

  .l-main__faq-inner {
    width: 100%;
    margin: 0 auto;
  }

  .l-main__faq-title {
    color: #242424;
    text-align: center;
    font-size: 8vw;
    font-weight: bold;
    line-height: 1.5;
  }

  .l-main__faq-row-wrap {
    width: 91.467vw;
    margin: 0 auto;
    margin-top: 12.8vw;
    display: flex;
    flex-direction: column;
    row-gap: 4.267vw;
  }

  .l-main__faq-row {
    width: 91.467vw;
    background-color: white;
    border-radius: 2.133vw;
  }

  .l-main__faq-q-row {
    width: 100%;
    padding: 6.4vw 4.267vw;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    border-top-left-radius: 2.133vw;
    border-top-right-radius: 2.133vw;
    background-color: white;
    transition: background-color 0.3s ease;
  }

  .open .l-main__faq-q-row {
    background-color: #272727;
  }

  .l-main__faq-q-row-title {
    font-family: "Noto Sans", sans-serif;
    color: #2e6c8d;
    font-size: 7.467vw;
    font-weight: 500;
    line-height: 1;
    margin-right: 5.333vw;
    transition: color 0.3s ease;
  }

  .open .l-main__faq-q-row-title {
    color: white;
  }

  .l-main__faq-q-row-text {
    width: 62.133vw;
    color: #272727;
    font-size: 4.267vw;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-right: 2.133vw;
    transition: color 0.3s ease;
  }

  .open .l-main__faq-q-row-text {
    color: white;
  }

  .l-main__faq-q-row-icon {
    width: 8vw;
    height: 8vw;
    background-image: url("../images/webp/plus.webp");
    background-size: cover;
  }

  .open .l-main__faq-q-row-icon {
    background-image: url("../images/webp/minus.webp");
  }

  .l-main__faq-a-row {
    width: 100%;
    padding: 8.533vw 6.4vw;
  }

  .l-main__faq-a-row-text {
    color: #232323;
    font-size: 4.267vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.04em;
  }
}

/* CTAセクション */

.l-main__cta {
  width: 100vw;
  height: 581px;
  padding: 64px 0;
  background-image: url("../images/webp/cta-bg.webp");
  background-size: cover;
  background-position: center;
  overflow-x: hidden;
}

.l-main__cta-inner {
  width: 1058px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-main__cta-title {
  color: white;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.8;
  width: 498px;
}

.l-main__cta-form-wrap {
  width: 518px;
  background-color: #f4f4f4;
  border-radius: 4px;
  padding: 32px;
}

.l-main__cta-form-title {
  color: #242424;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.7;
  text-align: center;
}

.l-main__cta-form {
  width: 454px;
  background-color: white;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 24px;
  margin-top: 16px;
}

.l-main__cta-form-input {
  width: 100%;
  height: 56px;
  background-color: #e1edf4;
  border-radius: 4px;
  padding: 14.5px 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  border: none;
}

.l-main__cta-form.error .l-main__cta-form-input {
  border: 1px solid red;
}

.l-main__cta-form-error {
  display: none;
  font-size: 12px;
  line-height: 1.7;
  color: #ec0000;
  margin-top: 8px;
}

.l-main__cta-form.error .l-main__cta-form-error {
  display: block;
}

.l-main__cta-form-text {
  color: black;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 18px;
  text-align: center;
}

.l-main__cta-form-text-link {
  color: #307fe2;
  text-decoration: underline;
}

.l-main__cta-form-submit {
  width: 406px;
  height: 76px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  border: none;
  margin-top: 12px;
  color: white;
  display: flex;
  align-items: center;
  padding-left: 80px;
  cursor: pointer;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
  background-image: url("../images/webp/cta-btn.webp");
  background-size: cover;
  transition: opacity 0.3s;
}

.l-main__cta-form-submit:hover {
  opacity: 0.8;
}

.l-main__cta-form-attention {
  width: 100%;
  color: #787878;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0;
  margin-top: 16px;
}

.l-main__cta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding: 0 70px;
}

.l-main__cta-row-text {
  color: #307fe2;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
}

.l-main__cta-row-text-link {
  color: #307fe2;
  text-decoration: underline;
}

/* CTAセクションタブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__cta {
    width: 100vw;
    height: 40.347vw;
    padding: 4.44vw 0;
    background-image: url("../images/webp/cta-bg.webp");
    background-size: contain;
  }

  .l-main__cta-inner {
    width: 73.472vw;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-main__cta-title {
    color: white;
    font-size: 2.222vw;
    font-weight: bold;
    line-height: 1.8;
    width: 34.583vw;
  }

  .l-main__cta-form-wrap {
    width: 35.972vw;
    background-color: #f4f4f4;
    border-radius: 0.278vw;
    padding: 2.222vw;
  }

  .l-main__cta-form-title {
    color: #242424;
    font-size: 1.389vw;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
  }

  .l-main__cta-form {
    width: 31.528vw;
    background-color: white;
    border: 1px solid #dddddd;
    border-radius: 0.278vw;
    padding: 1.667vw;
    margin-top: 1.111vw;
  }

  .l-main__cta-form-input {
    width: 100%;
    height: 3.889vw;
    background-color: #e1edf4;
    border-radius: 0.278vw;
    padding: 1.007vw 1.111vw;
    font-size: 1.111vw;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.04em;
    border: none;
  }

  .l-main__cta-form.error .l-main__cta-form-input {
    border: 1px solid red;
  }

  .l-main__cta-form-error {
    display: none;
    font-size: 0.833vw;
    line-height: 1.7;
    color: #ec0000;
    margin-top: 0.556vw;
  }

  .l-main__cta-form.error .l-main__cta-form-error {
    display: block;
  }

  .l-main__cta-form-text {
    color: black;
    font-size: 0.903vw;
    font-weight: 400;
    line-height: 1.7;
    margin-top: 1.25vw;
    text-align: center;
  }

  .l-main__cta-form-text-link {
    color: #307fe2;
    text-decoration: underline;
  }

  .l-main__cta-form-submit {
    width: 28.194vw;
    height: 5.278vw;
    border-radius: 0.417vw;
    font-size: 1.25vw;
    font-weight: bold;
    line-height: 1.5;
    border: none;
    margin-top: 0.833vw;
    color: white;
    display: flex;
    align-items: center;
    padding-left: 5.56vw;
    cursor: pointer;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
    background-image: url("../images/webp/cta-btn.webp");
    background-size: cover;
    transition: opacity 0.3s;
  }

  .l-main__cta-form-submit:hover {
    opacity: 0.8;
  }

  .l-main__cta-form-attention {
    width: 100%;
    color: #787878;
    font-size: 0.764vw;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 1.111vw;
  }

  .l-main__cta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.111vw;
    padding: 0 4.861vw;
  }

  .l-main__cta-row-text {
    color: #307fe2;
    font-size: 0.972vw;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .l-main__cta-row-text-link {
    color: #307fe2;
    text-decoration: underline;
  }
}

/* CTAセクションSP */
@media (max-width: 560px) {
  .l-main__cta {
    width: 100vw;
    height: 196.8vw;
    padding: 21.333vw 0;
    background-image: url("../images/webp/sp-cta-bg.webp");
    background-size: cover;
  }

  .l-main__cta-inner {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }

  .l-main__cta-title {
    color: white;
    font-size: 6.4vw;
    font-weight: bold;
    line-height: 1.36;
    text-align: center;
  }

  .l-main__cta-form-wrap {
    width: 91.467vw;
    margin: 0 auto;
    background-color: #f4f4f4;
    border-radius: 1.067vw;
    padding: 10.667vw 2.667vw;
    margin-top: 6.4vw;
  }

  .l-main__cta-form-title {
    color: #242424;
    font-size: 5.333vw;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
  }

  .l-main__cta-form {
    width: 100%;
    background-color: white;
    border: 1px solid #dddddd;
    border-radius: 1.067vw;
    padding: 6.4vw 4.267vw;
    margin: 0 auto;
    margin-top: 4.267vw;
  }

  .l-main__cta-form-input {
    width: 100%;
    height: 14.933vw;
    background-color: #e1edf4;
    border-radius: 1.067vw;
    padding: 3.867vw 4.267vw;
    font-size: 4.267vw;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.04em;
    border: none;
  }

  .l-main__cta-form.error .l-main__cta-form-input {
    border: 1px solid red;
  }

  .l-main__cta-form-error {
    display: none;
    font-size: 3.2vw;
    line-height: 1.7;
    color: #ec0000;
    margin-top: 2.133vw;
  }

  .l-main__cta-form.error .l-main__cta-form-error {
    display: block;
  }

  .l-main__cta-form-text {
    color: black;
    font-size: 3.467vw;
    font-weight: 400;
    line-height: 1.7;
    margin-top: 4.8vw;
    text-align: center;
  }

  .l-main__cta-form-text-link {
    color: #307fe2;
    text-decoration: underline;
  }

  .l-main__cta-form-submit {
    width: 77.6vw;
    height: 20.267vw;
    border-radius: 1.6vw;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.5;
    border: none;
    margin-top: 3.2vw;
    color: white;
    display: flex;
    align-items: center;
    padding-left: 6vw;
    cursor: pointer;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
    background-image: url("../images/webp/mv-btn02.webp");
    background-size: cover;
    transition: opacity 0.3s;
  }

  .l-main__cta-form-submit:hover {
    opacity: 0.8;
  }

  .l-main__cta-form-attention {
    width: 100%;
    color: #787878;
    font-size: 2.933vw;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 4.267vw;
  }

  .l-main__cta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4.267vw;
    padding: 0 2.667vw;
  }

  .l-main__cta-row-text {
    color: #307fe2;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .l-main__cta-row-text-link {
    color: #307fe2;
    text-decoration: underline;
  }
}

/* フッター前セクション */

.l-main__footer {
  width: 100vw;
  padding: 64px 0;
  background-color: white;
  overflow-x: hidden;
}

.l-main__footer__inner {
  width: 1440px;
  padding: 0 84px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.l-main__footer-logo-wrap {
  width: 620px;
}

.l-main__footer-logo {
  width: 264px;
  height: 135px;
  margin-bottom: 16px;
}

.l-main__footer-nav {
  list-style: none;
  display: flex;
  column-gap: 24px;
}

.l-main__footer-nav-link {
  color: #242424;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.l-main__footer-text {
  color: #242424;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.04em;
  margin-top: 24px;
}

.l-main__footer-text a {
  color: #242424;
  text-decoration: none;
}

.l-main__footer-jpx-row {
  width: 268px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.l-main__footer-jpx {
  width: 86px;
  height: 92px;
}

.l-main__footer-jpx-text {
  color: #242424;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.04em;
}

/* フッター前セクションタブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-main__footer {
    width: 100vw;
    padding: 4.444vw 0;
    background-color: white;
  }

  .l-main__footer__inner {
    width: 100vw;
    padding: 0 5.833vw;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }

  .l-main__footer-logo-wrap {
    width: 43.056vw;
  }

  .l-main__footer-logo {
    width: 18.333vw;
    height: 9.375vw;
    margin-bottom: 1.111vw;
  }

  .l-main__footer-nav {
    list-style: none;
    display: flex;
    column-gap: 1.667vw;
  }

  .l-main__footer-nav-link {
    color: #242424;
    font-size: 1.111vw;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.04em;
    text-decoration: none;
  }

  .l-main__footer-text {
    color: #242424;
    font-size: 0.833vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.04em;
    margin-top: 1.667vw;
  }

  .l-main__footer-text a {
    color: #242424;
    text-decoration: none;
  }

  .l-main__footer-jpx-row {
    width: 18.611vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .l-main__footer-jpx {
    width: 5.972vw;
    height: 6.389vw;
  }

  .l-main__footer-jpx-text {
    color: #242424;
    font-size: 0.972vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.04em;
  }
}

/* フッター前セクションSP */

@media (max-width: 560px) {
  .l-main__footer {
    width: 100vw;
    padding: 17.067vw 0 30.453vw;
    background-color: white;
  }

  .l-main__footer__inner {
    width: 91.467vw;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
  }

  .l-main__footer-logo-wrap {
    width: 91.467vw;
    padding-bottom: 12.8vw;
    border-bottom: 1px solid #d9d9d9;
  }

  .l-main__footer-logo {
    width: 57.333vw;
    height: 29.333vw;
    margin: 0 auto;
    margin-bottom: 10.667vw;
  }

  .l-main__footer-nav {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 6.4vw;
  }

  .l-main__footer-nav-link {
    color: #242424;
    font-size: 4.267vw;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.04em;
    text-decoration: none;
  }

  .l-main__footer-text {
    color: #242424;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.04em;
    margin-top: 40px;
    text-align: center;
  }

  .l-main__footer-text a {
    color: #242424;
    text-decoration: none;
  }

  .l-main__footer-jpx-row {
    width: 71.467vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12.8vw;
  }

  .l-main__footer-jpx {
    width: 22.933vw;
    height: 24.533vw;
  }

  .l-main__footer-jpx-text {
    color: #242424;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.04em;
  }
}

/* フッター */

.l-footer {
  width: 100vw;
  height: 88px;
  background-color: black;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
}

.l-footer-text {
  color: white;
  font-size: 12px;
  font-weight: 400;
}

/* フッタータブレット */
@media (min-width: 561px) and (max-width: 1440px) {
  .l-footer {
    width: 100vw;
    height: 6.111vw;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .l-footer-text {
    color: white;
    font-size: 0.833vw;
    font-weight: 400;
  }
}

/* フッターSP */
@media (max-width: 560px) {
  .l-footer {
    width: 100vw;
    height: 23.467vw;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .l-footer-text {
    color: white;
    font-size: 3.2vw;
    font-weight: 400;
  }
}

p.alert {
  font-size: 1rem;
}

@media (max-width: 560px) {
  input,
  .input,
  select {
    padding: 0 15px;
  }

  input.button#submit_form01 {
    font-size: 1.2rem;
  }
}
