@charset "UTF-8";

/* =======================================
  bg
======================================= */
.bg-bule01 {
  background: rgba(242, 252, 255, 0.9);
  background: linear-gradient(150deg,rgba(242, 252, 255, 0.9) 0%, rgba(251, 253, 254, 0.9) 20%, rgba(228, 246, 252, 0.9) 30%, rgba(210, 246, 255, 0.9) 50%, rgba(221, 246, 253, 0.9) 70%, rgba(242, 252, 255, 0.9) 100%);
}
.bg-bule02 {
  background: rgba(248, 254, 255, 0.9);
  /* background: linear-gradient(175deg,rgba(255, 255, 255, 0.9) 0%,rgba(248, 254, 255, 0.9) 10%, rgba(189, 222, 237, 0.9) 100%); */
  background: linear-gradient(175deg,rgba(248, 254, 255, 0.9) 0%, rgba(189, 222, 237, 0.9) 100%);
}

/* =======================================
  main-visual
======================================= */
.main-visual {
  position: relative;
  width: 100%;
  min-height: 660px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;

  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;

  z-index: 2;
}

.webp .main-visual {
  background-image: url("../images/main-banner-pc.webp");
}

.no-webp .main-visual {
  background-image: url("../images/main-banner-pc.png");
}

/* sp main-visual */
@media screen and (max-width:560px) {
  .main-visual {
    min-height: 132.85vw;
  }

  .webp .main-visual {
    background-image: url("../images/main-banner-sp.webp");
  }

  .no-webp .main-visual {
    background-image: url("../images/main-banner-sp.png");
  }
}

/* main-banner */
.main-banner {
  width: 100%;
}

.main-banner__inner {
  margin: 0 auto;
  width: 1080px;
  height: 100%;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main-banner__contents {
  margin: 90px 0 0 50px;
  width: 430px;
  border-radius: 1000px;
  border: 6px solid var(--color-black03);
  padding: 20px;
  box-shadow: 0px 0px 10px 5px rgba(255, 255, 255, 1);
}

.main-banner__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main-banner__title-text {
  width: 100%;
  color: var(--color-navy01);
  text-align: center;
  text-shadow:
    5px 5px 5px #fff, -5px -5px 5px #fff,
    -5px 5px 5px #fff, 5px -5px 5px #fff,
    5px 0px 5px #fff, -5px -0px 5px #fff,
    0px 5px 5px #fff, 0px -5px 5px #fff;
}

.main-banner__title-text:nth-child(3) {
  margin-top: 5px;
}

.main-banner__title-text--nomal {
  font-size: 29px;
  font-weight: 700;
  line-height: 1.42;
}

.main-banner__title-text--big {
  font-size: 65px;
  line-height: 1.44;
  font-weight: 900;
}

/* sp main-banner */
@media screen and (max-width:560px) {
  .main-banner__inner {
    width: 100%;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .main-banner__contents {
    margin: 5.35vw auto 0;
    width: 76.78vw;
    border-radius: 178.57vw;
    border-width: 1.07vw;
    padding: 3.57vw;
    box-shadow: 0vw 0vw 1.78vw 0.89vw rgba(255, 255, 255, 1);
  }
  .main-banner__title-text {
    text-shadow:
      0.89vw 0.89vw 0.89vw #fff, -0.89vw -0.89vw 0.89vw #fff,
      -0.89vw 0.89vw 0.89vw #fff, 0.89vw -0.89vw 0.89vw #fff,
      0.89vw 0vw 0.89vw #fff, -0.89vw -0vw 0.89vw #fff,
      0vw 0.89vw 0.89vw #fff, 0vw -0.89vw 0.89vw #fff;
  }
  .main-banner__title-text:nth-child(3) {
    margin-top: 0.89vw;
  }
  .main-banner__title-text--nomal {
    font-size: 5.35vw;
    line-height: 1.46;
  }
  .main-banner__title-text--big {
    font-size: 8.03vw;
    line-height: 1.44;
  }
}

/* =======================================
  main-block
======================================= */
.main-block {

}

/* =======================================
  main-introduction
======================================= */
.main-introduction {

}
.main-introduction__title {
  text-align: center;
  color: var(--color-navy01);
}
.main-introduction__title:nth-child(n+2) {
  margin-top: 30px;
}
.main-introduction__title--normal {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.5;
}
.main-introduction__title--large {
  font-size: 45px;
  font-weight: 700;
  line-height: 1.5;
}
.main-introduction__text {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.47;
  text-align: center;
}
.main-introduction__text:nth-child(n+2) {
  margin-top: 30px;
}

/* sp main-introduction */
@media screen and (max-width:560px) {
  .main-introduction__title:nth-child(n+2) {
    margin-top: 5.35vw;
  }
  .main-introduction__title--normal {
    font-size: 6.07vw;
  }
  .main-introduction__title--large {
    font-size: 7.32vw;
  }
  .main-introduction__text {
    font-size: 4.1vw;
  }
  .main-introduction__text:nth-child(n+2) {
    margin-top: 5.35vw;
  }
}

/* =======================================
  main-point
======================================= */
.main-point {

}

.main-point__title {
  text-align: center;
  text-decoration: underline;
}
.main-point__title--normal {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.84;
}

.main-point__list {
  width: 965px;
  margin: 0 auto;
}

/* point-list */
.point-list {}

.point-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.point-list__item:nth-child(n+2) {
  margin-top: 100px;
}

.point-list__thum {
  width: 300px;
  border-radius: 50%;
  background-color: var(--color-white01);
}

.point-list__thum-img {
  object-fit: cover;
}

.point-list__desc {
  position: relative;
  width: 590px;
}

.point-list__title {
  font-size: 25px;
  font-weight: 700;
  line-height: 1.44;
}

.point-list__number {
  padding-right: 0.5em;
  font-size: 35px;
}

.point-list__text {
  margin-top: 15px;
  border-top: 1px solid var(--color-gray01);
  padding-top: 15px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.45;
}

/* sp main-point */
@media screen and (max-width:560px) {
  .main-point__title--normal {
    font-size: 5.35vw;
    line-height: 2.3;
  }
  .main-point__list {
    /* width: 80.35vw; */
    width: 82.35vw;
  }

  /* point-list */
  .point-list__item:nth-child(n+2) {
    margin-top: 17.85vw;
  }
  .point-list__thum {
    margin: 0 auto;
    width: 62.5vw;
  }
  .point-list__desc {
    margin-top: 8.92vw;
    width: 100%;
  }
  .point-list__title {
    font-size: 4.46vw;
    text-align: center;
  }
  .point-list__number {
    font-size: 6.25vw;
  }
  .point-list__text {
    margin-top: 3.57vw;
    border-width: 0.17vw;
    padding-top: 3.57vw;
    font-size: 3.92vw;
  }
}

/* =======================================
  main-flow
======================================= */
.main-flow {
}

.main-flow__title {
  position: relative;
  padding: 0 80px;
  font-size: 45px;
  font-weight: 700;
  line-height: 1.44;
}
.main-flow__title--border::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 30px;
  height: 62px;
  margin-top: -15px;
  background-image: url("../images/line_left_pc.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
}
.main-flow__title--border::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 30px;
  height: 62px;
  margin-top: -15px;
  background-image: url("../images/line_right_pc.svg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}

.main-flow__list {}

/* flow-list */
.flow-list {

}

.flow-list__item {
  position: relative;
  width: 100%;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

}
.flow-list__item:nth-child(n+2) {
  margin-top: 100px;
}
.flow-list__item:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: -90px;
  left: 40px;
  width: 15px;
  height: 80px;
  background-image: url("../images/arrow_down_gray.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.flow-list__step {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: var(--color-navy01);

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flow-list__step-number {
  font-size: 35px;
  font-weight: 700;
  line-height: 1.44;
  color: var(--color-white01);
}

.flow-list__body {
  width: 965px;
  border-radius: 10px;
  background-color:  var(--color-white01);

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flow-list__thum {
  width: 278px;
  height: 250px;
}

.flow-list__thum picture {
  display: block;
  width: 100%;
  height: 250px;
}

.flow-list__thum-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.flow-list__desc {
  width: calc(100% - 278px);
  padding: 30px 40px 40px;
}

.flow-list__title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.42;
}

.flow-list__text {
  margin-top: 20px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.42;
}

/* sp main-flow */
@media screen and (max-width:560px) {
  .main-flow__title {
    padding: 0 14.28vw;
    font-size: 7.32vw;
    line-height: 1.46;
    text-align: center;
  }
  .main-flow__title--border::before {
    width: 8.92vw;
    height: 13.39vw;
    margin-top: -2.67vw;
    background-image: url("../images/line_left_sp.svg");
  }
  .main-flow__title--border::after {
    width: 8.92vw;
    height: 13.39vw;
    margin-top: -2.67vw;
    background-image: url("../images/line_right_sp.svg");
  }
  
  /* flow-list */
  .flow-list__item:nth-child(n+2) {
    margin-top: 25vw;
  }
  .flow-list__item:nth-child(n+2)::before {
    content: "";
    position: absolute;
    top: -21.42vw;
    left: 50%;
    margin-left: -1.33vw;
    width: 2.67vw;
    height: 14.28vw;
  }
  .flow-list__step {
    margin: 0 auto;
    width: 14.28vw;
    height: 14.28vw;
  }
  .flow-list__step-number {
    font-size: 6.25vw;
  }
  .flow-list__body {
    margin-top: 6.25vw;
    width: 100%;
    border-radius: 1.78vw;
  }
  .flow-list__thum {
    width: 100%;
    height: 49.64vw;
  }
  .flow-list__thum picture {
    height: 49.64vw;
  }
  .flow-list__thum-img {
    border-top-left-radius: 1.78vw;
    border-top-right-radius: 1.78vw;
    border-bottom-left-radius: 0;
  }
  .flow-list__desc {
    width: 100%;
    padding: 5.35vw 7.14vw;
  }
  .flow-list__title {
    font-size: 5vw;
    text-align: center;
  }
  .flow-list__text {
    margin-top: 3.57vw;
    font-size: 3.75vw;
  }
}

/* =======================================
  main-faq
======================================= */
.main-faq {
  /* background-color: var(--color-blue01); */
  background-color: rgba(248, 254, 255, 0.9);
}

.main-faq__list {
  margin: 0 auto;
  width: 760px;
}

/* faq-list */
.faq-list {}

.faq-list__item {
  width: 100%;
}

.faq-list__item:nth-child(n+2) {
  margin-top: 40px;
}

.faq-list__q {
  position: relative;
  border-bottom: 1px solid var(--color-gray01);
  padding: 0 75px 25px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  font-size: 25px;
  font-weight: 700;
  line-height: 1.44;

  background-image: url("../images/circle_down_white_navy.svg");
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) top;
  background-size: 35px auto;
}

.faq-list__q.openList {
  background-image: url("../images/circle_up_white_navy.svg");
}

.faq-list__q::after {
  position: absolute;
  left: 0;
  bottom: -2px;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: -moz-linear-gradient(50% 0% -90deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.16) 100%);
  background: -webkit-linear-gradient(-90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.16) 100%);
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0, rgba(0, 0, 0, 1)), color-stop(1, rgba(0, 0, 0, 0.16)));
  background: -o-linear-gradient(-90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.16) 100%);
  background: -ms-linear-gradient(-90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.16) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#333333' ,GradientType=0)";
  background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.16) 100%);
  opacity: 0.05;
  filter: alpha(opacity=3) progid:DXImageTransform.Microsoft.Alpha(opacity=3) progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#333333', GradientType=0);
}

.faq-list__q-icon {
  display: block;
  width: 20px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.42;
  color: var(--color-navy02);
  text-align: center;
}

.faq-list__q-text {
  display: block;
  width: calc(100% - 40px);
}

.faq-list__a {
  padding: 25px 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  font-size: 20px;
  font-weight: 500;
  line-height: 1.45;
}

.faq-list__a-icon {
  display: block;
  width: 20px;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.42;
  color: var(--color-red02);
  text-align: center;
}

.faq-list__a-text {
  display: block;
  width: calc(100% - 40px);
  font-weight: 400;
}

/* sp main-faq */
@media screen and (max-width:560px) {
  .main-faq__list {
    width: 100%;
  }

  /* faq-list */
  .faq-list__item:nth-child(n+2) {
    margin-top: 7.14vw;
  }

  .faq-list__q {
    border-width: 0.17vw;
    padding: 0 15.17vw 4.46vw 3.57vw;
    font-size: 4.46vw;
    background-position: calc(100% - 3.57vw) top;
    background-size: 6.25vw auto;
  }
  .faq-list__q::after {
    bottom: -0.35vw;
    height: 0.35vw;
  }
  .faq-list__q-icon {
    width: 3.57vw;
    font-size: 5vw;
  }
  .faq-list__q-text {
    width: calc(100% - 7.14vw);
  }
  .faq-list__a {
    padding: 4.46vw 3.57vw 0;
    font-size: 3.57vw;
  }
  .faq-list__a-icon {
    width: 3.57vw;
    font-size: 4.1vw;
  }
  .faq-list__a-text {
    width: calc(100% - 7.14vw);
  }
}

/* =======================================
  main-form
======================================= */
.main-form {

}

.main-form__body-wrap {
  margin: 0 auto;
  width: 950px;
}

/* sp main-form */
@media screen and (max-width:560px) {
  .main-form__body-wrap {
    width: 100%;
  }
}

/* =======================================
  main-consult
======================================= */
.main-consult {

}
.main-consult__frame {
  
}

/* consult-table */
.consult-table {
  border-radius: 50px;
  padding: 100px 150px;
  background-color: var(--color-white01);

}
.consult-table__line {
  border-bottom: 1px solid var(--color-gray01);
  padding-bottom: 35px;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.consult-table__line:nth-child(n+2) {
  margin-top: 35px;
}

.consult-table__dt {
  width: 140px;
  padding-left: 20px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.42;
}
.consult-table__dd {
  width: calc(100% - 140px);
}
.consult-table__text {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.42;
}

.consult-table__text--padding-bottom {
  padding-bottom: 10px;
}

.consult-table__text--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.consult-table__text-left {
  display: inline-block;
  width: 7em;
}
.consult-table__text-right {
  display: inline-block;
  width: calc(100% - 7em);
  padding-left: 1em;
}
.consult-table__parentheses {
  display: inline-block;
  width: 5em;
  text-align: center;
}

/* sp main-consult */
@media screen and (max-width:560px) {
  .consult-table {
    border-radius: 8.92vw;
    padding: 17.85vw 7.14vw;
  }
  .consult-table__line {
    border-width: 0.17vw;
    padding-bottom: 6.25vw;
  }
  .consult-table__line:nth-child(n+2) {
    margin-top: 6.25vw;
  }
  .consult-table__dt {
    width: 100%;
    padding: 0 3.57vw;
    font-size: 3.39vw;
  }
  .consult-table__dd {
    margin-top: 3.57vw;
    width: 100%;
    padding: 0 3.57vw;
  }
  .consult-table__text {
    font-size: 3.39vw;
  }
  .consult-table__text--padding-bottom {
    padding-bottom: 1.78vw;
  }
}
