html {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  font-weight: 700;
}

.blue {
  color: #1e51a2;
}

.inner {
  width: 1190px;
  margin: 0 auto;
}

h2 {
  font-size: 55px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  color: #4475a6;
  position: relative;
}

h2::before {
  content: "";
  display: inline-block;
  width: 123px;
  height: 6px;
  background-color: #4475a6;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.sp-only,
.sp-only2 {
  display: none;
}

@media screen and (max-width: 1920px) {
  .inner {
    width: 61.979vw;
  }

  h2 {
    font-size: 2.865vw;
  }

  h2::before {
    width: 6.406vw;
    height: 0.313vw;
    bottom: -1.562vw;
  }
}

@media screen and (max-width: 768px) {

  .inner {
    max-width: 375px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
  }

  h2 {
    font-size: 21px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    color: #4475a6;
    position: relative;
  }

  h2::before {
    width: 48px;
    height: 3px;
    bottom: -8px;
  }

  .sp-only {
    display: block;
  }

  .sp-only2 {
    display: inline-block;
  }

  .pc-only {
    display: none;
  }
}

@media screen and (max-width: 374px) {

  .inner {
    max-width: 100vw;
    width: 100%;
    padding: 0 5.333vw;
    margin: 0 auto;
  }

  h2 {
    font-size: 5.6vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    color: #4475a6;
    position: relative;
  }

  h2::before {
    width: 12.8vw;
    height: 0.8vw;
    bottom: -2.133vw;
  }

  .sp-only {
    display: block;
  }

  .sp-only2 {
    display: inline-block;
  }

  .pc-only {
    display: none;
  }
}

/****************************************************
  fv
****************************************************/
.fv {
  background: linear-gradient(0deg, #acdcec 0%, #edf7f5 46%, #e6f7f5 100%);
}

.fv .inner {
  position: relative;
  padding-bottom: 40px;
}

.fv-top-box {
  width: 700px;
  padding-top: 45px;
  margin-left: 20px;
  text-align: center;
}

h1 {
  font-size: 40px;
  font-weight: 700;
  text-align: center;
}

h1 span {
  font-size: 61px;
}

.fv .logo {
  display: inline-block;
  margin-top: 10px;
}

.fv .logo img {
  width: 410px;
  height: 77px;
}

.fv-point {
  width: 620px;
  margin: 25px 0 0 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  align-content: center;
  gap: 30px;
}

.fv-point__text {
  width: 186px;
  height: 186px;
  border-radius: 50%;
  background-color: #3aa79a;
  position: relative;
}

.fv-point-01 {
  position: absolute;
  top: 49%;
  left: 52%;
  transform: translate(-50%, -50%);
}


.fv-point-01 img {
  width: 152px;
  height: 122px;
}

.fv-point-02 {
  position: absolute;
  top: 50%;
  left: 51%;
  transform: translate(-50%, -50%);
  width: 127px;
  height: 136px;
}

.fv-point-03 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fv-point-03 img {
  width: 157px;
  height: 124px;
}

.fv-price {
  font-weight: 700;
  margin: 15px 0 0 60px;
}

.fv-price__wrap {
  display: flex;
  justify-content: left;
  align-items: end;
}

.fv-price__wrap:nth-of-type(2) {
  margin-top: 15px;
  gap: 42px;
  align-items: center;
  position: relative;
}

.fv-price-01__text1 {
  font-size: 25px;
}

.fv-price-01__text2 {
  width: 159px;
  height: auto;
  margin-left: 7px;
}

.fv-price-02__text1 {
  padding: 9px 0 7px 15px;
  position: relative;
}

.fv-price-02__text2 {
  width: 448px;
  height: 68px;
}

.fv-price-02__text1::before {
  content: "";
  display: inline-block;
  background-image: url(../images/fv-text-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 219px;
  height: 72px;
}

.fv-price-02__text1-1 {
  font-size: 26px;
  color: #1e51a2;
  position: relative;
}

.fv-price-02__text1-2 {
  font-size: 20px;
  padding-top: 5px;
  position: relative;
}

.fv-main-picture {
  position: absolute;
  bottom: 0;
  right: -110px;
}

.fv-main-picture img {
  width: 644px;
  height: 590px;
}

@media screen and (max-width: 1920px) {

  .fv .inner {
    width: 61.979vw;
    padding-bottom: 2.083vw;
  }

  .fv-top-box {
    width: 36.458vw;
    padding-top: 2.344vw;
    margin-left: 1.042vw;
  }

  h1 {
    font-size: 2.083vw;
  }

  h1 span {
    font-size: 3.177vw;
  }

  .fv .logo {
    margin-top: 0.521vw;
  }

  .fv .logo img {
    width: 21.354vw;
    height: 4.01vw;
  }

  .fv-point {
    width: 32.292vw;
    margin: 1.302vw 0 0 3.125vw;
    gap: 1.563vw;
  }

  .fv-point__text {
    width: 9.688vw;
    height: 9.688vw;
  }

  .fv-point-01 img {
    width: 7.917vw;
    height: 6.354vw;
  }

  .fv-point-02 {
    width: 6.615vw;
    height: 7.083vw;
  }

  .fv-point-03 img {
    width: 8.177vw;
    height: 6.458vw;
  }

  .fv-price {
    margin: 0.781vw 0 0 3.125vw;
  }

  .fv-price__wrap:nth-of-type(2) {
    margin-top: 0.781vw;
    gap: 2.188vw;
  }

  .fv-price-01__text1 {
    font-size: 1.302vw;
  }

  .fv-price-01__text2 {
    width: 8.281vw;
    margin-left: 0.365vw;
  }

  .fv-price-02__text1 {
    padding: 0.469vw 0 0.365vw 0.781vw;
  }

  .fv-price-02__text2 {
    width: 23.333vw;
    height: 3.542vw;
  }

  .fv-price-02__text1::before {
    width: 11.406vw;
    height: 3.75vw;
  }

  .fv-price-02__text1-1 {
    font-size: 1.354vw;
  }

  .fv-price-02__text1-2 {
    font-size: 1.042vw;
    padding-top: 0.26vw;
  }

  .fv-main-picture {
    right: -5.729vw;
  }

  .fv-main-picture img {
    width: 33.542vw;
    height: 30.729vw;
  }
}

@media screen and (max-width: 768px) {

  .fv {
    overflow-x: hidden;
  }

  .fv .inner {
    max-width: 335px;
    width: 100%;
    padding: 0 0 25px;
  }

  .fv-top-box {
    width: 100%;
    padding-top: 35px;
    margin-left: 0;
  }

  h1 {
    font-size: 24px;
  }

  h1 span {
    font-size: 37px;
  }

  .fv .logo {
    margin-top: 10px;
  }

  .fv .logo img {
    width: 301px;
    height: 57px;
  }

  .fv-point {
    width: 100%;
    margin: 25px 0 0 0;
    gap: 7px;
  }

  .fv-point__text {
    width: 107px;
    height: 107px;
  }

  .fv-point-01 img {
    width: 87px;
    height: 70px;
  }

  .fv-point-02 {
    width: 73px;
    height: 78px;
  }

  .fv-point-03 img {
    width: 90px;
    height: 71px;
  }

  .fv-price {
    margin: 25px 0 0;
  }

  .fv-price__wrap:nth-of-type(2) {
    margin-top: 30px;
    display: block;
  }

  .fv-price-01__text1 {
    font-size: 21px;
  }

  .fv-price-01__text2 {
    width: 134px;
    height: auto;
    margin-left: 3px;
  }

  .fv-price-02__text1 {
    padding: 0;
    margin-left: 40px;
    display: inline-block;
  }

  .fv-price-02__text2 {
    width: 230px;
    height: 50px;
    margin-top: 35px;
  }

  .fv-price-02__text1::before {
    background-image: url(../images/fv-text-bg-sp.svg);
    top: 62%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 166px;
    height: 75px;
  }

  .fv-price-02__text1-1 {
    font-size: 20px;
  }

  .fv-price-02__text1-2 {
    font-size: 16px;
    padding-top: 5px;
  }

  .fv-main-picture {
    bottom: 0;
    right: -130px;
  }

  .fv-main-picture img {
    width: 290px;
    height: 266px;
  }
}

@media screen and (max-width: 374px) {

  .fv {
    overflow-x: hidden;
  }

  .fv .inner {
    max-width: 89.333vw;
    width: 100%;
    padding: 0 0 6.667vw;
  }

  .fv-top-box {
    width: 100%;
    padding-top: 9.333vw;
    margin-left: 0;
  }

  h1 {
    font-size: 6.4vw;
  }

  h1 span {
    font-size: 9.867vw;
  }

  .fv .logo {
    margin-top: 2.667vw;
  }

  .fv .logo img {
    width: 80.267vw;
    height: 15.2vw;
  }

  .fv-point {
    width: 100%;
    margin: 6.667vw 0 0 0;
    gap: 1.867vw;
  }

  .fv-point__text {
    width: 28.533vw;
    height: 28.533vw;
  }

  .fv-point-01 img {
    width: 23.2vw;
    height: 18.667vw;
  }

  .fv-point-02 {
    width: 19.467vw;
    height: 20.8vw;
  }

  .fv-point-03 img {
    width: 24vw;
    height: 18.933vw;
  }

  .fv-price {
    margin: 6.667vw 0 0;
  }

  .fv-price__wrap:nth-of-type(2) {
    margin-top: 8vw;
    display: block;
  }

  .fv-price-01__text1 {
    font-size: 5.6vw;
  }

  .fv-price-01__text2 {
    width: 35.733vw;
    height: auto;
    margin-left: 0.8vw;
  }

  .fv-price-02__text1 {
    padding: 0;
    margin-left: 10.667vw;
    display: inline-block;
  }

  .fv-price-02__text2 {
    width: 61.333vw;
    height: 13.333vw;
    margin-top: 9.333vw;
  }

  .fv-price-02__text1::before {
    background-image: url(../images/fv-text-bg-sp.svg);
    top: 62%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44.267vw;
    height: 20vw;
  }

  .fv-price-02__text1-1 {
    font-size: 5.333vw;
  }

  .fv-price-02__text1-2 {
    font-size: 4.267vw;
    padding-top: 1.333vw;
  }

  .fv-main-picture {
    bottom: 0;
    right: -34.667vw;
  }

  .fv-main-picture img {
    width: 77.333vw;
    height: 70.933vw;
  }
}

/****************************************************
  cta
****************************************************/
.cta {
  width: 100%;
  padding: 25px 0 35px;
  background-color: #f7ead6;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

.cta__wrap {
  width: 1320px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  position: relative;
}

.cta-man {
  position: absolute;
  bottom: -35px;
  left: -85px;
}

.cta-man-picture {
  width: 156px;
  height: 176px;
  position: relative;
}

.cta-man__text {
  position: absolute;
  top: 8px;
  left: 12px;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

.cta-man__text span {
  font-size: 21px;
  color: #d76d6d;
  letter-spacing: 0.03em;
}

.cta-man__text span .point {
  padding: 0 2px;
}

.cta-tel {
  width: 730px;
  padding: 20px 0 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: #d76d6d;
  border-radius: 5px;
  box-shadow: 5px 5px 1px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  transition: .3s;
}

.cta-tel::before {
  content: "";
  display: inline-block;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 15px;
  height: 22px;
}

.cta-tel__note {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.cta-tel__note img {
  width: 350px;
  height: 65px;
}

.cta-tel__number-wrap {
  position: relative;
}

.cta-tel__number-wrap::before {
  content: "";
  display: inline-block;
  background-image: url(../images/tel.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 60%;
  left: -40px;
  transform: translateY(-50%);
  width: 36px;
  height: 40px;
}

.cta-tel__number {
  font-size: 52px;
  font-weight: 900;
  color: #fff;
}

.cta-tel__btn {
  width: 223px;
  padding: 5px 0 8px;
  margin-top: 4px;
  border-radius: 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #d76d6d;
  background-color: #fff;
  text-align: center;
}

.cta-tel__btn span {
  font-size: 30px;
}

.cta-mail {
  width: 562px;
  padding: 23px 0 24px;
  font-size: 39px;
  text-align: center;
  color: #fff;
  background: #e67850;
  border-radius: 5px;
  box-shadow: 5px 5px 1px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  transition: .3s;
}

.cta-mail::before {
  content: "";
  display: inline-block;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 15px;
  height: 22px;
}

.cta-mail__btn {
  padding-left: 15px;
  position: relative;
}

.cta-mail__btn::before {
  content: "";
  display: inline-block;
  background-image: url(../images/mail.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 55%;
  left: 25px;
  transform: translateY(-50%);
  width: 42px;
  height: 31px;
}


@media screen and (max-width: 1920px) {
  .cta {
    width: 100%;
    padding: 1.302vw 0 1.823vw;
  }

  .cta__wrap {
    width: 68.75vw;
    gap: 1.302vw;
  }

  .cta-man {
    bottom: -1.823vw;
    left: -4.427vw;
  }

  .cta-man-picture {
    width: 8.125vw;
    height: 9.167vw;
  }

  .cta-man__text {
    top: 0.417vw;
    left: 0.625vw;
    font-size: 0.625vw;
  }

  .cta-man__text span {
    font-size: 1.094vw;
  }

  .cta-man__text span .point {
    padding: 0 0.104vw;
  }

  .cta-tel {
    width: 38.021vw;
    padding: 1.042vw 0 0.573vw;
    gap: 0.521vw;
    border-radius: 0.26vw;
    box-shadow: 0.26vw 0.26vw 0.052vw 0px rgba(0, 0, 0, 0.25);
  }

  .cta-tel::before {
    right: 1.042vw;
    width: 0.781vw;
    height: 1.146vw;
  }

  .cta-tel__note {
    top: -0.781vw;
  }

  .cta-tel__note img {
    width: 18.229vw;
    height: 3.385vw;
  }

  .cta-tel__number-wrap::before {
    left: -2.083vw;
    width: 1.875vw;
    height: 2.083vw;
  }

  .cta-tel__number {
    font-size: 2.708vw;
    font-weight: 900;
  }

  .cta-tel__btn {
    width: 11.615vw;
    padding: 0.26vw 0 0.417vw;
    margin-top: 0.208vw;
    border-radius: 1.042vw;
    font-size: 0.938vw;
  }

  .cta-tel__btn span {
    font-size: 1.563vw;
  }

  .cta-mail {
    width: 29.271vw;
    padding: 1.198vw 0 1.25vw;
    font-size: 2.031vw;
    border-radius: 0.26vw;
    box-shadow: 0.26vw 0.26vw 0.052vw 0px rgba(0, 0, 0, 0.25);
  }

  .cta-mail::before {
    right: 1.042vw;
    width: 0.781vw;
    height: 1.146vw;
  }

  .cta-mail__btn {
    padding-left: 0.781vw;
  }

  .cta-mail__btn::before {
    left: 1.302vw;
    width: 2.188vw;
    height: 1.615vw;
  }

}

@media screen and (min-width: 769px) {

  .cta-tel,
  .cta-man {
    pointer-events: none;
  }
}

@media screen and (max-width: 768px) {
  .cta {
    width: 100%;
    padding: 15px 0;
  }

  .cta__wrap {
    width: 100%;
    gap: 8px;
  }

  .cta-man {
    display: none;
  }

  .cta-tel {
    width: 176px;
    padding: 12px 0 7px;
    display: block;
    border-radius: 3px;
    box-shadow: 3px 3px 1px 0px rgba(0, 0, 0, 0.25);
  }

  .cta-tel::before {
    display: none;
  }

  .cta-tel__note {
    top: -6px;
  }

  .cta-tel__note img {
    width: 139px;
    height: 26px;
  }

  .cta-tel__number-wrap::before {
    top: 60%;
    left: 9px;
    width: 12px;
    height: 13px;
  }

  .cta-tel__number {
    font-size: 20px;
    padding-left: 10px;
    text-align: center;
  }

  .cta-tel__btn {
    width: 102px;
    padding: 3px 0 4px;
    margin: 4px auto 0;
    border-radius: 12px;
    font-size: 8px;
  }

  .cta-tel__btn span {
    font-size: 13px;
  }

  .cta-mail {
    width: 152px;
    padding: 14px 0 15px;
    font-size: 16px;
    border-radius: 3px;
    box-shadow: 3px 3px 1px 0px rgba(0, 0, 0, 0.25);
  }

  .cta-mail::before {
    display: none;
  }

  .cta-mail__btn {
    padding-left: 37px;
    text-align: left;
  }

  .cta-mail__btn::before {
    top: 55%;
    left: 10px;
    width: 20px;
    height: 15px;
  }
}

@media screen and (max-width: 374px) {
  .cta {
    width: 100%;
    padding: 4vw 0;
  }

  .cta__wrap {
    width: 100%;
    gap: 2.133vw;
  }

  .cta-man {
    display: none;
  }

  .cta-tel {
    width: 46.933vw;
    padding: 3.2vw 0 1.867vw;
    display: block;
    border-radius: 0.8vw;
    box-shadow: 0.8vw 0.8vw 0.267vw 0px rgba(0, 0, 0, 0.25);
  }

  .cta-tel::before {
    display: none;
  }

  .cta-tel__note {
    top: -1.6vw;
  }

  .cta-tel__note img {
    width: 37.067vw;
    height: 6.933vw;
  }

  .cta-tel__number-wrap::before {
    top: 60%;
    left: 2.4vw;
    width: 3.2vw;
    height: 3.467vw;
  }

  .cta-tel__number {
    font-size: 5.333vw;
    padding-left: 2.667vw;
    text-align: center;
  }

  .cta-tel__btn {
    width: 27.2vw;
    padding: 0.8vw 0 1.067vw;
    margin: 4px auto 0;
    border-radius: 3.2vw;
    font-size: 2.133vw;
  }

  .cta-tel__btn span {
    font-size: 3.467vw;
  }

  .cta-mail {
    width: 40.533vw;
    padding: 3.733vw 0 4vw;
    font-size: 4.267vw;
    border-radius: 0.8vw;
    box-shadow: 0.8vw 0.8vw 0.267vw 0px rgba(0, 0, 0, 0.25);
  }

  .cta-mail::before {
    display: none;
  }

  .cta-mail__btn {
    padding-left: 9.867vw;
    text-align: left;
  }

  .cta-mail__btn::before {
    top: 55%;
    left: 2.667vw;
    width: 5.333vw;
    height: 4vw;
  }
}

/****************************************************
  reason
****************************************************/
.reason {
  padding: 60px 0 0;
}

.reason h2 span {
  font-size: 83px;
  vertical-align: sub;
}

.reason h2::before {
  bottom: -15px;
}

.reason-block {
  padding: 50px 0 100px;
  margin-top: 70px;
  border-radius: 13px;
  background-color: #f0f9fc;
  position: relative;
  box-shadow: 0 0 13px 0 rgba(59, 59, 59, 0.2);
}

.reason-block:nth-of-type(2),
.reason-block:nth-of-type(3) {
  margin-top: 125px;
}

.reason-block__title {
  width: 164px;
  height: 164px;
  position: absolute;
  top: -45px;
  left: 35px;
}

.reason-title__box h3 {
  font-size: 50px;
  font-weight: 700;
  text-align: center;
  color: #4475a6;
}

.reason-title__text {
  margin-top: 20px;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/******************
  reason price
******************/
.price__title {
  width: 1030px;
  padding: 10px 25px 13px;
  margin: 45px auto 0;
  font-size: 50px;
  color: #fff;
  background-color: #4475a6;
}

.price-wrap {
  width: 1030px;
  margin: 0 auto;
  border-bottom-right-radius: 27px;
  border-bottom-left-radius: 27px;
  background-color: #fff;
}

.price-content {
  display: flex;
  gap: 40px;
}

.price-reason {
  padding-left: 45px;
}

.price-reason-top {
  display: flex;
  justify-content: left;
  align-items: end;
  margin-top: 30px;
}

.price-reason-top__text1 {
  font-size: 26px;
  font-weight: 600;
}

.price-reason-top__text2 {
  width: 148px;
  height: 41px;
  margin-left: 5px;
}

.price-reason-middle {
  margin-top: 20px;
  display: flex;
  justify-content: left;
  align-items: flex-start;
  gap: 15px;
  font-weight: 700;
  color: #fff;
}

.price-reason-middle__text1 {
  width: 212px;
  height: 44px;
  padding-right: 4px;
  font-size: 25px;
  line-height: 1;
  text-align: center;
  align-content: center;
  position: relative;
  background-image: url(../images/reason1-text1-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.price-reason-middle__text2 {
  width: 235px;
  height: 49px;
  padding-top: 7px;
  font-size: 23px;
  line-height: 1;
  text-align: center;
  position: relative;
  background-image: url(../images/reason1-text2-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  transition: .3s;
}

@media screen and (min-width: 769px) {

  .price-reason-middle__text2:hover {
    background-image: url(../images/reason1-text2-bg-w.svg);
    color: #65b1ae;
  }
}

.price-reason-bottom__text {
  width: 440px;
  height: 92px;
  margin-top: 20px;
}

.price-reason-picture {
  margin-top: 45px;
}

.price-reason-picture img {
  width: 443px;
  height: 207px;
}

.price-set__text {
  margin-top: 40px;
  font-size: 30px;
  line-height: 1.3;
  text-align: center;
  font-weight: 700;
}

.price-set__list {
  padding: 0 70px;
  margin: 40px 0 30px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px 0;
  text-align: center;
}

.price-set__item {
  display: inline-block;
}

.price-set__item img {
  width: 137px;
  height: 137px;
}

.price-set__item-text {
  font-size: 17px;
  margin-top: 5px;
  font-weight: 700;
  text-wrap-mode: nowrap;
}

.price__note__box {
  width: 1030px;
  padding: 0 70px 20px;
  margin: 0 auto;
}

.price__note {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #666;
}

/******************
  reason member
******************/
.members {
  margin-top: 60px;
}

.members__wrap {
  width: 1030px;
  padding: 30px 0 50px;
  margin: 0 auto;
  border-radius: 27px;
  background-color: #fff;
}

.members-top-text__wrap {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 30px;
  font-size: 26px;
  color: #fff;
}

.members-top-text1 {
  width: 290px;
  height: 65px;
  padding-top: 9px;
  background-image: url(../images/reason1-text3-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}

.members-top-text2 {
  width: 330px;
  height: 65px;
  padding-top: 9px;
  background-image: url(../images/reason1-text4-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}

.members-top-title {
  margin-top: 10px;
  font-size: 61px;
  color: #4475a6;
  text-align: center;
}

.members-top-text3 {
  margin-top: 15px;
  font-size: 30px;
  line-height: 1.3;
  text-align: center;
}

.members-bottom {
  margin-top: 20px;
}

.members-bottom img {
  width: 1030px;
  height: 405px;
}

.members__btn {
  width: 643px;
  padding: 16px 0 16px 40px;
  margin: 40px auto 0;
  border: 5px solid #3aa79a;
  border-radius: 40px;
  display: flex;
  position: relative;
  transition: .3s;
}

.members__btn::before {
  content: "";
  display: inline-block;
  background-image: url(../images/arrow-green.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  width: 15px;
  height: 25px;
  transition: .3s;
}

.members__btn-text1 {
  width: 141px;
  height: 36px;
  padding-top: 5px;
  margin-right: 3px;
  font-size: 21px;
  color: #fff;
  background-image: url(../images/reason1-text5-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  transition: .3s;
}

.members__btn-text2 {
  font-size: 35px;
  color: #3aa79a;
  line-height: 1;
  transition: .3s;
}


@media screen and (min-width: 769px) {
  .members__btn:hover {
    background-color: #3aa79a;
  }

  .members__btn:hover::before {
    background-image: url(../images/arrow.svg);
  }

  .members__btn:hover .members__btn-text1 {
    background-image: url(../images/reason1-text5-bg-w.svg);
    color: #3aa79a;
  }

  .members__btn:hover .members__btn-text2 {
    color: #fff;
  }
}

/******************
  reason2
******************/
.reason-block.facility {
  padding-bottom: 40px;
}

.facility__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px 65px;
  margin-top: 45px;
}

.facility__item {
  width: 483px;
}

.facility__picture img {
  width: 483px;
  height: 244px;
}

.facility__title {
  margin-top: 15px;
  font-size: 33px;
  color: #4475a6;
}

.facility--text1 {
  margin-top: 15px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
}

.facility--text2 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
}

.facility--text3 {
  font-size: 20px;
  line-height: 1.4;
}

.facility-note {
  margin-top: 20px;
  font-size: 20px;
  text-align: center;
  color: #666666;
}

/******************
  reason3
******************/
.reason-block.access {
  padding-bottom: 65px;
}

.access__list {
  width: 1032px;
  margin: 0 auto;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: 45px 33px;
  margin-top: 50px;
}

.access__item {
  width: 322px;
}

.access__title {
  padding: 6px 0 9px 15px;
  color: #fff;
  background-color: #4475a6;
}

.furigana {
  font-size: 16px;
  line-height: 1.4;
  opacity: 0.6;
}

.kanji {
  font-size: 30px;
}

.access__picture {
  margin-top: -1px;
}

.access__picture img {
  width: 322px;
  height: 180px;
}

.access__address {
  margin-top: 15px;
  font-size: 21px;
}

.access__map {
  width: 187px;
  padding: 8px 0 10px;
  margin-top: 15px;
  font-size: 18px;
  border-radius: 18px;
  color: #fff;
  background-color: #3aa79a;
  text-align: center;
  transition: .3s;
}

@media screen and (min-width: 769px) {

  .access__map:hover {
    color: #3aa79a;
    background-color: #f0f9fc;
  }
}

.access__item-bottom {
  margin-top: 15px;
}

.access__item-bottom__text {
  margin-bottom: 4px;
  font-size: 18px;
  line-height: 1.2;
}

@media screen and (max-width: 1920px) {
  .reason {
    padding: 3.125vw 0 0;
  }

  .reason h2 span {
    font-size: 4.323vw;
  }

  .reason h2::before {
    bottom: -0.781vw;
  }

  .reason-block {
    padding: 2.604vw 0 5.208vw;
    margin-top: 3.646vw;
    border-radius: 0.677vw;
    box-shadow: 0 0 0.677vw 0 rgba(59, 59, 59, 0.2);
  }

  .reason-block:nth-of-type(2),
  .reason-block:nth-of-type(3) {
    margin-top: 6.51vw;
  }

  .reason-block__title {
    width: 8.542vw;
    height: 8.542vw;
    top: -2.344vw;
    left: 1.823vw;
  }

  .reason-title__box h3 {
    font-size: 2.604vw;
  }

  .reason-title__text {
    margin-top: 1.042vw;
    font-size: 1.406vw;
  }

  /******************
    reason price
  ******************/
  .price__title {
    width: 53.646vw;
    padding: 0.521vw 1.302vw 0.677vw;
    margin: 2.344vw auto 0;
    font-size: 2.604vw;
  }

  .price-wrap {
    width: 53.646vw;
    border-bottom-right-radius: 1.406vw;
    border-bottom-left-radius: 1.406vw;
  }

  .price-content {
    display: flex;
    gap: 2.083vw;
  }

  .price-reason {
    padding-left: 2.344vw;
  }

  .price-reason-top {
    margin-top: 1.563vw;
  }

  .price-reason-top__text1 {
    font-size: 1.354vw;
  }

  .price-reason-top__text2 {
    width: 7.708vw;
    height: 2.135vw;
    margin-left: 0.26vw;
  }

  .price-reason-middle {
    margin-top: 1.042vw;
    gap: 0.781vw;
  }

  .price-reason-middle__text1 {
    width: 11.042vw;
    height: 2.292vw;
    padding-right: 0.208vw;
    font-size: 1.302vw;
  }

  .price-reason-middle__text2 {
    width: 12.24vw;
    height: 2.552vw;
    padding-top: 0.365vw;
    font-size: 1.198vw;
  }

  .price-reason-bottom__text {
    width: 22.917vw;
    height: 4.792vw;
    margin-top: 1.042vw;
  }

  .price-reason-picture {
    margin-top: 2.344vw;
  }

  .price-reason-picture img {
    width: 23.073vw;
    height: 10.781vw;
  }

  .price-set__text {
    margin-top: 2.083vw;
    font-size: 1.563vw;
  }

  .price-set__list {
    padding: 0 3.646vw;
    margin: 2.083vw 0 1.563vw;
    gap: 1.042vw 0;
  }

  .price-set__item img {
    width: 7.135vw;
    height: 7.135vw;
  }

  .price-set__item-text {
    font-size: 0.885vw;
    margin-top: 0.26vw;
  }

  .price__note__box {
    width: 53.646vw;
    padding: 0 3.646vw 1.042vw;
  }

  .price__note {
    font-size: 0.833vw;
  }

  /******************
    reason member
  ******************/
  .members {
    margin-top: 3.125vw;
  }

  .members__wrap {
    width: 53.646vw;
    padding: 1.563vw 0 2.604vw;
    border-radius: 1.406vw;
  }

  .members-top-text__wrap {
    gap: 1.563vw;
    font-size: 1.354vw;
  }

  .members-top-text1 {
    width: 15.104vw;
    height: 3.385vw;
    padding-top: 0.469vw;
  }

  .members-top-text2 {
    width: 17.188vw;
    height: 3.385vw;
    padding-top: 0.469vw;
  }

  .members-top-title {
    margin-top: 0.521vw;
    font-size: 3.177vw;
  }

  .members-top-text3 {
    margin-top: 0.781vw;
    font-size: 1.563vw;
  }

  .members-bottom {
    margin-top: 2.083vw;
  }

  .members-bottom img {
    width: 53.646vw;
    height: 21.094vw;
  }

  .members__btn {
    width: 33.49vw;
    padding: 0.833vw 0 0.833vw 2.083vw;
    margin: 2.083vw auto 0;
    border: 0.26vw solid #3aa79a;
    border-radius: 2.083vw;
  }

  .members__btn::before {
    right: 1.302vw;
    width: 0.781vw;
    height: 1.302vw;
  }

  .members__btn-text1 {
    width: 7.344vw;
    height: 1.875vw;
    padding-top: 0.26vw;
    margin-right: 0.156vw;
    font-size: 1.094vw;
  }

  .members__btn-text2 {
    font-size: 1.823vw;
  }

  /******************
    reason2
  ******************/
  .reason-block.facility {
    padding-bottom: 2.083vw;
  }

  .facility__list {
    gap: 2.083vw 3.385vw;
    margin-top: 2.344vw;
  }

  .facility__item {
    width: 25.156vw;
  }

  .facility__picture img {
    width: 25.156vw;
    height: 12.708vw;
  }

  .facility__title {
    margin-top: 0.781vw;
    font-size: 1.719vw;
  }

  .facility--text1 {
    margin-top: 0.781vw;
    font-size: 1.25vw;
  }

  .facility--text2 {
    font-size: 1.25vw;
  }

  .facility--text3 {
    font-size: 1.042vw;
  }

  .facility-note {
    margin-top: 1.042vw;
    font-size: 1.042vw;
  }

  /******************
    reason3
  ******************/
  .reason-block.access {
    padding-bottom: 3.385vw;
  }

  .access__list {
    width: 53.75vw;
    gap: 2.344vw 1.719vw;
    margin-top: 2.604vw;
  }

  .access__item {
    width: 16.771vw;
  }

  .access__title {
    padding: 0.313vw 0 0.469vw 0.781vw;
  }

  .furigana {
    font-size: 0.833vw;
  }

  .kanji {
    font-size: 1.563vw;
  }

  .access__picture {
    margin-top: -0.052vw;
  }

  .access__picture img {
    width: 16.771vw;
    height: 9.375vw;
  }

  .access__address {
    margin-top: 0.781vw;
    font-size: 1.094vw;
  }

  .access__map {
    width: 9.74vw;
    padding: 0.417vw 0 0.521vw;
    margin-top: 0.781vw;
    font-size: 0.938vw;
    border-radius: 0.938vw;
  }

  .access__item-bottom {
    margin-top: 0.781vw;
  }

  .access__item-bottom__text {
    margin-bottom: 0.208vw;
    font-size: 0.938vw;
  }
}

@media screen and (max-width: 768px) {
  .reason {
    padding: 20px 0 0;
  }

  .reason h2 {
    line-height: 1;
  }

  .reason h2 span {
    font-size: 29px;
    vertical-align: text-top;
    line-height: 1;
  }

  .reason h2::before {
    bottom: -10px;
  }

  .reason-block {
    padding: 15px 0;
    margin-top: 35px;
    border-radius: 7px;
    background-color: #f0f9fc;
    position: relative;
    box-shadow: 0 0 13px 0 rgba(59, 59, 59, 0.2);
  }

  .reason-block:nth-of-type(2),
  .reason-block:nth-of-type(3) {
    margin-top: 30px;
  }

  .reason-block__title {
    width: 72px;
    height: 72px;
    position: absolute;
    top: -20px;
    left: -10px;
  }

  .reason-title__box h3 {
    font-size: 18px;
  }

  .reason-title__text {
    margin-top: 12px;
    font-size: 14px;
  }

  /******************
  reason price
******************/
  .price__title {
    width: 100%;
    padding: 9px 10px 12px;
    margin: 15px auto 0;
    font-size: 19px;
  }

  .price-wrap-sp {
    margin: 0 15px;
  }

  .price-wrap {
    width: 100%;
    margin: 0 auto;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    background-color: #fff;
  }

  .price-content {
    display: flex;
    flex-flow: column;
    gap: 0;
  }

  .price-reason {
    padding-left: 7px;
  }

  .price-reason-top {
    display: flex;
    justify-content: left;
    align-items: end;
    margin-top: 10px;
  }

  .price-reason-top__text1 {
    font-size: 21px;
  }

  .price-reason-top__text2 {
    width: 101px;
    height: 31px;
    margin-left: 5px;
  }

  .price-reason-picture {
    margin-top: 15px;
    text-align: center;
  }

  .price-reason-picture img {
    width: 293px;
    height: 154px;
  }

  .price-reason-middle {
    margin-top: 13px;
    gap: 10px;
  }

  .price-reason-middle__text1 {
    width: 125px;
    height: 25px;
    padding-right: 4px;
    font-size: 15px;
  }

  .price-reason-middle__text2 {
    width: 158px;
    height: 33px;
    padding-top: 5px;
    font-size: 15px;
  }

  .price-reason-bottom__text {
    width: 280px;
    height: 41px;
    margin-top: 10px;
  }

  .price-set__text {
    margin-top: 13px;
    font-size: 14px;
  }

  .price-set__list {
    padding: 0 7px;
    margin: 15px 0 10px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 3px;
    text-align: center;
  }

  .price-set__item {
    display: inline-block;
    position: relative;
    width: 67px;
  }

  .price-set__item:nth-of-type(17) {
    margin-top: -1rem;
  }

  .price-set__item img {
    width: 67px;
    height: 67px;
  }

  .price-set__item-text {
    font-size: 11px;
    margin-top: 5px;
  }

  .price-set__item .price-set__item-text span {
    font-size: 9px;
  }

  .price-set__item:nth-of-type(10) .price-set__item-text,
  .price-set__item:nth-of-type(15) .price-set__item-text {
    margin-left: -5px;
  }

  .price__note__box {
    width: 100%;
    padding: 0 7px 12px;
  }

  .price__note {
    font-size: 12px;
  }

  /******************
  reason member
******************/
  .members {
    margin: 15px 15px 0;
  }

  .members__wrap {
    width: 100%;
    padding: 8px 0 15px;
    margin: 0 auto;
    border-radius: 5px;
    background-color: #fff;
  }

  .members-top-text__wrap {
    gap: 7px;
    font-size: 12px;
  }

  .members-top-text1 {
    width: 128px;
    height: 29px;
    padding-top: 4px;
    letter-spacing: -0.02em;
    background-image: url(../images/reason1-text3-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
  }

  .members-top-text2 {
    width: 140px;
    height: 28px;
    padding-top: 4px;
    letter-spacing: -0.02em;
    background-image: url(../images/reason1-text4-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
  }

  .members-top-title {
    margin-top: 10px;
    font-size: 23px;
  }

  .members-top-text3 {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.4;
  }

  .members-bottom {
    padding: 0 3px 0 5px;
    margin-top: 8px;
  }

  .members-bottom img {
    width: 294px;
    height: 208px;
  }

  .members__btn {
    width: 274px;
    padding: 7px 0 7px 17px;
    margin: 15px auto 0;
    border: 2px solid #3aa79a;
    border-radius: 17px;
  }

  .members__btn::before {
    top: 52%;
    right: 12px;
    width: 6px;
    height: 10px;
  }

  .members__btn-text1 {
    width: 59px;
    height: 15px;
    padding-top: 3px;
    margin-right: 3px;
    margin-left: 2px;
    font-size: 9px;
  }

  .members__btn-text2 {
    font-size: 15px;
    color: #3aa79a;
    line-height: 1;
    transition: .3s;
  }

  /******************
  reason2
******************/
  .reason-block.facility {
    padding-bottom: 20px;
  }

  .facility .reason-title__box h3 {
    padding-left: 25px;
  }

  .facility__list {
    gap: 5px 0;
    margin-top: 15px;
  }

  .facility__item {
    width: 483px;
  }

  .facility__picture {
    width: 273px;
    margin: 0 auto;
  }

  .facility__picture img {
    width: 273px;
    height: 124px;
  }

  .facility__title {
    width: 273px;
    padding-top: 12px;
    margin: 12px auto 0;
    font-size: 19px;
    color: #4475a6;
  }

  .facility--text1,
  .facility--text2 {
    width: 273px;
    margin: 15px auto 0;
    margin-top: 15px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
  }

  .facility--text2 {
    margin: 0 auto 0;
  }

  .facility--text3 {
    font-size: 20px;
    line-height: 1.3;
  }

  .facility-note {
    margin-top: 5px;
    font-size: 10px;
  }

  /******************
  slider
******************/

  .slider .slick-slide {
    margin: 0 10px;
  }

  .slick-prev,
  .slick-next {
    position: absolute;
    top: 18%;
    cursor: pointer;
    outline: none;
    border-top: 3px solid #4475a6;
    border-right: 3px solid #4475a6;
    height: 15px;
    width: 15px;
    z-index: 100;
  }

  .slick-prev {
    left: 4%;
    transform: rotate(-135deg);
  }

  .slick-next {
    right: 4%;
    transform: rotate(45deg);
  }

  .slick-dots {
    text-align: center;
    margin: 20px 0 0 0;
  }

  .slick-dots li {
    display: inline-block;
    margin: 0 5px;
  }

  .slick-dots button {
    color: transparent;
    outline: none;
    width: 8px;
    height: 8px;
    display: block;
    border-radius: 50%;
    background: #b4c8db;
  }

  .slick-dots .slick-active button {
    background: #4475a6;
  }

  /******************
  reason3
******************/
  .reason-block.access {
    padding-bottom: 7px;
  }

  .access__list {
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 13px;
    padding: 0 7px;
    margin-top: 12px;
  }

  .access__item {
    width: 100%;
  }
  .access__title {
    padding: 3px 0 5px 7px;
    text-wrap-mode: nowrap;
    position: relative;
    z-index: 1;
  }
/* 
  .access__title {
    padding: 3px 0 5px 7px;
    display: flex;
    flex-flow: row-reverse;
    justify-content: left;
    align-items: center;
    text-wrap-mode: nowrap;
    position: relative;
    z-index: 1;
  } */

  .furigana {
    font-size: 11px;
    line-height: 1;
    padding: 2px 0;
    letter-spacing: -0.02em;
  }

  .kanji {
    font-size: 17px;
    letter-spacing: -0.02em;
  }

  .access-content {
    display: flex;
  }

  .access__picture {
    margin-top: -1px;
  }

  .access__picture img {
    width: 136px;
    height: 103px;
  }

  .access-date {
    width: 100%;
    padding-left: 7px;
    /* background-color: #fff; */
    background-color: unset;
  }

  .access__address {
    margin-top: 7px;
    font-size: 13px;
  }

  .access__map {
    width: 114px;
    padding: 2px 0 3px;
    margin-top: 7px;
    font-size: 11px;
    border-radius: 8px;
  }

  .access__item-bottom {
    margin-top: 7px;
  }

  .access__item-bottom__text {
    margin-bottom: 4px;
    font-size: 11px;
  }
}

@media screen and (max-width: 374px) {
  .reason {
    padding: 5.333vw 0 0;
  }

  .reason h2 span {
    font-size: 7.733vw;
  }

  .reason h2::before {
    bottom: -2.667vw;
  }

  .reason-block {
    padding: 4vw 0;
    margin-top: 9.333vw;
    border-radius: 1.867vw;
    background-color: #f0f9fc;
    position: relative;
    box-shadow: 0 0 13px 0 rgba(59, 59, 59, 0.2);
  }

  .reason-block:nth-of-type(2),
  .reason-block:nth-of-type(3) {
    margin-top: 8vw;
  }

  .reason-block__title {
    width: 19.2vw;
    height: 19.2vw;
    position: absolute;
    top: -5.333vw;
    left: -2.667vw;
  }

  .reason-title__box h3 {
    font-size: 4.8vw;
  }

  .reason-title__text {
    margin-top: 3.2vw;
    font-size: 3.733vw;
  }

  /******************
  reason price
******************/
  .price__title {
    width: 100%;
    padding: 2.4vw 2.667vw 3.2vw;
    margin: 15px auto 0;
    font-size: 5.067vw;
  }

  .price-wrap-sp {
    margin: 0 4vw;
  }

  .price-wrap {
    width: 100%;
    margin: 0 auto;
    border-bottom-right-radius: 1.333vw;
    border-bottom-left-radius: 1.333vw;
    background-color: #fff;
  }

  .price-content {
    display: flex;
    flex-flow: column;
    gap: 0;
  }

  .price-reason {
    padding-left: 1.867vw;
  }

  .price-reason-top {
    display: flex;
    justify-content: left;
    align-items: end;
    margin-top: 2.667vw;
  }

  .price-reason-top__text1 {
    font-size: 5.6vw;
  }

  .price-reason-top__text2 {
    width: 26.933vw;
    height: 8.267vw;
    margin-left: 1.333vw;
  }

  .price-reason-picture {
    margin-top: 4vw;
    text-align: center;
  }

  .price-reason-picture img {
    width: 78.133vw;
    height: 41.067vw;
  }

  .price-reason-middle {
    margin-top: 3.467vw;
    gap: 2.667vw;
  }

  .price-reason-middle__text1 {
    width: 33.333vw;
    height: 6.667vw;
    padding-right: 1.067vw;
    font-size: 4vw;
  }

  .price-reason-middle__text2 {
    width: 42.133vw;
    height: 8.8vw;
    padding-top: 1.333vw;
    font-size: 4vw;
  }

  .price-reason-bottom__text {
    width: 74.667vw;
    height: 10.933vw;
    margin-top: 2.667vw;
  }

  .price-set__text {
    margin-top: 3.467vw;
    font-size: 3.733vw;
  }

  .price-set__list {
    padding: 0 1.867vw;
    margin: 4vw 0 2.667vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.667vw 0.802vw;
    text-align: center;
  }

  .price-set__item {
    display: inline-block;
  }

  .price-set__item:nth-of-type(17) {
    margin-top: -1rem;
  }

  .price-set__item img {
    width: 17.867vw;
    height: 17.867vw;
  }

  .price-set__item-text {
    font-size: 2.933vw;
    margin-top: 1.333vw;
  }

  .price-set__item .price-set__item-text span {
    font-size: 2.4vw;
  }

  .price-set__item:nth-of-type(10) .price-set__item-text,
  .price-set__item:nth-of-type(15) .price-set__item-text {
    margin-left: -1.333vw;
  }

  .price__note__box {
    width: 100%;
    padding: 0 1.867vw 3.2vw;
  }

  .price__note {
    font-size: 3.2vw;
  }

  /******************
  reason member
******************/
  .members {
    margin: 4vw 4vw 0;
  }

  .members__wrap {
    width: 100%;
    padding: 2.133vw 0 4vw;
    margin: 0 auto;
    border-radius: 1.333vw;
    background-color: #fff;
  }

  .members-top-text__wrap {
    gap: 1.867vw;
    font-size: 3.2vw;
  }

  .members-top-text1 {
    width: 34.133vw;
    height: 7.733vw;
    padding-top: 1.067vw;
    letter-spacing: -0.02em;
    background-image: url(../images/reason1-text3-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
  }

  .members-top-text2 {
    width: 37.333vw;
    height: 7.467vw;
    padding-top: 1.067vw;
    letter-spacing: -0.02em;
    background-image: url(../images/reason1-text4-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
  }

  .members-top-title {
    margin-top: 2.667vw;
    font-size: 6.133vw;
  }

  .members-top-text3 {
    margin-top: 3.2vw;
    font-size: 3.733vw;
    line-height: 1.4;
  }

  .members-bottom {
    padding: 0 0.8vw 0 1.333vw;
    margin-top: 2.133vw;
  }

  .members-bottom img {
    width: 78.4vw;
    height: 55.467vw;
  }

  .members__btn {
    width: 73.067vw;
    padding: 1.867vw 0 1.867vw 4.533vw;
    margin: 4vw auto 0;
    border: 0.533vw solid #3aa79a;
    border-radius: 4.533vw;
  }

  .members__btn::before {
    top: 52%;
    right: 3.2vw;
    width: 1.6vw;
    height: 2.667vw;
  }

  .members__btn-text1 {
    width: 15.733vw;
    height: 4vw;
    padding-top: 0.8vw;
    margin-right: 0.8vw;
    margin-left: 0.533vw;
    font-size: 2.4vw;
  }

  .members__btn-text2 {
    font-size: 4vw;
    color: #3aa79a;
    line-height: 1;
    transition: .3s;
  }

  /******************
  reason2
******************/
  .reason-block.facility {
    padding-bottom: 5.333vw;
  }

  .facility .reason-title__box h3 {
    padding-left: 6.667vw;
  }

  .facility__list {
    gap: 1.333vw 0;
    margin-top: 4vw;
  }

  .facility__item {
    width: 128.8vw;
  }

  .facility__picture {
    width: 72.8vw;
    margin: 0 auto;
  }

  .facility__picture img {
    width: 72.8vw;
    height: 33.067vw;
  }

  .facility__title {
    width: 72.8vw;
    padding-top: 3.2vw;
    margin: 3.2vw auto 0;
    font-size: 5.067vw;
    color: #4475a6;
  }

  .facility--text1,
  .facility--text2 {
    width: 72.8vw;
    margin: 4vw auto 0;
    margin-top: 4vw;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.4;
  }

  .facility--text2 {
    margin: 0 auto 0;
  }

  .facility--text3 {
    font-size: 5.333vw;
    line-height: 1.3;
  }

  .facility-note {
    margin-top: 1.333vw;
    font-size: 2.667vw;
  }

  /******************
  slider
******************/

  .slider .slick-slide {
    margin: 0 2.667vw;
  }

  .slick-prev,
  .slick-next {
    position: absolute;
    top: 18%;
    cursor: pointer;
    outline: none;
    border-top: 0.8vw solid #4475a6;
    border-right: 0.8vw solid #4475a6;
    height: 4vw;
    width: 4vw;
    z-index: 100;
  }

  .slick-prev {
    left: 4%;
    transform: rotate(-135deg);
  }

  .slick-next {
    right: 4%;
    transform: rotate(45deg);
  }

  .slick-dots {
    text-align: center;
    margin: 5.333vw 0 0 0;
  }

  .slick-dots li {
    display: inline-block;
    margin: 0 1.333vw;
  }

  .slick-dots button {
    color: transparent;
    outline: none;
    width: 2.133vw;
    height: 2.133vw;
    display: block;
    border-radius: 50%;
    background: #b4c8db;
  }

  .slick-dots .slick-active button {
    background: #4475a6;
  }

  /******************
  reason3
******************/
  .reason-block.access {
    padding-bottom: 1.867vw;
  }

  .access__list {
    display: flex;
    flex-flow: column;
    gap: 3.467vw;
    padding: 0 1.867vw;
    margin-top: 3.2vw;
  }

  .access__item {
    width: 100%;
  }

  .access__title {
    padding: 0.8vw 0 1.333vw 1.867vw;
  }

  .furigana {
    font-size: 2.933vw;
    line-height: 1;
    padding: 0.533vw 0;
    letter-spacing: -0.02em;
  }

  .kanji {
    font-size: 4.533vw;
    letter-spacing: -0.02em;
  }

  .access-content {
    display: flex;
  }

  .access__picture {
    margin-top: -0.267vw;
  }

  .access__picture img {
    width: 36.267vw;
    height: 27.467vw;
  }

  .access-date {
    width: 100%;
    padding-left: 1.867vw;
  }

  .access__address {
    margin-top: 1.867vw;
    font-size: 3.467vw;
  }

  .access__map {
    width: 30.4vw;
    padding: 0.533vw 0 0.8vw;
    margin-top: 1.867vw;
    font-size: 2.933vw;
    border-radius: 2.133vw;
  }

  .access__item-bottom {
    margin-top: 1.867vw;
  }

  .access__item-bottom__text {
    margin-bottom: 1.067vw;
    font-size: 2.933vw;
  }
}

/****************************************************
  cta-sp
****************************************************/

.cta-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .cta-sp {
    display: block;
    width: 100%;
    padding: 25px 0 35px;
    margin-top: 25px;
    background-color: #f7ead6;
  }

  .cta__wrap-sp {
    max-width: 375px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
    position: relative;
  }

  .cta-man-picture-sp img {
    width: 308px;
    height: 58px;
  }

  .cta-man__text-sp {
    position: absolute;
    top: 11px;
    right: 17%;
    font-size: 11px;
    display: flex;
    align-items: center;
  }

  .cta-man__text-sp span {
    font-size: 17px;
    color: #d76d6d;
    letter-spacing: 0.03em;
  }

  .cta-man__text-sp span .point-sp {
    padding: 0 2px;
  }

  .cta-tel-sp {
    max-width: 336px;
    width: 100%;
    padding: 20px 0 16px 17px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #d76d6d;
    border-radius: 3px;
    box-shadow: 2px 2px 1px 0px rgba(0, 0, 0, 0.25);
    position: relative;
  }

  .cta-tel__note-sp {
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
  }

  .cta-tel__note-sp img {
    width: 179px;
    height: 31px;
  }

  .cta-tel__number-wrap-sp {
    position: relative;
  }

  .cta-tel__number-wrap-sp::before {
    content: "";
    display: inline-block;
    background-image: url(../images/tel.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 58%;
    left: -20px;
    transform: translateY(-50%);
    width: 17px;
    height: 19px;
  }

  .cta-tel__number-sp {
    font-size: 26px;
    font-weight: 900;
    color: #fff;
  }

  .cta-tel__btn-sp {
    width: 100px;
    padding: 5px 0 7px;
    margin-top: 4px;
    border-radius: 20px;
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    color: #d76d6d;
    background-color: #fff;
    text-align: center;
  }

  .cta-tel__btn-sp span {
    font-size: 13px;
  }

  .cta-mail-sp {
    max-width: 336px;
    width: 100%;
    padding: 20px 0;
    margin: 7px auto 0;
    font-size: 23px;
    text-align: center;
    color: #fff;
    background: #e67850;
    border-radius: 3px;
    box-shadow: 2px 2px 1px 0px rgba(0, 0, 0, 0.25);
    position: relative;
  }


  .cta-mail__btn-sp {
    padding-left: 25px;
    position: relative;
  }

  .cta-mail__btn-sp::before {
    content: "";
    display: inline-block;
    background-image: url(../images/mail.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 55%;
    left: 23px;
    transform: translateY(-50%);
    width: 24px;
    height: 18px;
  }
}

@media screen and (max-width: 374px) {
  .cta-sp {
    width: 100%;
    padding: 6.667vw 0 9.333vw;
    margin-top: 6.667vw;
  }

  .cta__wrap-sp {
    max-width: 100vw;
    width: 100%;
    padding: 0 5.333vw;
  }

  .cta-man-picture-sp img {
    width: 82.133vw;
    height: 15.467vw;
  }

  .cta-man__text-sp {
    top: 2.933vw;
    right: 17%;
    font-size: 2.933vw;
  }

  .cta-man__text-sp span {
    font-size: 4.533vw;
    letter-spacing: 0.03em;
  }

  .cta-man__text-sp span .point-sp {
    padding: 0 0.533vw;
  }

  .cta-tel-sp {
    max-width: 89.6vw;
    padding: 5.333vw 0 4.267vw 4.533vw;
    gap: 1.333vw;
    border-radius: 0.8vw;
    box-shadow: 0.533vw 0.533vw 0.267vw 0px rgba(0, 0, 0, 0.25);
  }

  .cta-tel__note-sp {
    position: absolute;
    top: -1.867vw;
  }

  .cta-tel__note-sp img {
    width: 47.733vw;
    height: 8.267vw;
  }

  .cta-tel__number-wrap-sp::before {
    top: 58%;
    left: -5.333vw;
    transform: translateY(-50%);
    width: 4.533vw;
    height: 5.067vw;
  }

  .cta-tel__number-sp {
    font-size: 6.933vw;
  }

  .cta-tel__btn-sp {
    width: 26.667vw;
    padding: 1.333vw 0 1.867vw;
    margin-top: 1.067vw;
    border-radius: 5.333vw;
    font-size: 2.133vw;
  }

  .cta-tel__btn-sp span {
    font-size: 3.467vw;
  }

  .cta-mail-sp {
    max-width: 89.6vw;
    width: 100%;
    padding: 5.333vw 0;
    margin: 1.867vw auto 0;
    font-size: 6.133vw;
    border-radius: 0.8vw;
    box-shadow: 0.533vw 0.533vw 0.267vw 0px rgba(0, 0, 0, 0.25);
  }


  .cta-mail__btn-sp {
    padding-left: 6.667vw;
  }

  .cta-mail__btn-sp::before {
    top: 55%;
    left: 6.133vw;
    width: 6.4vw;
    height: 4.8vw;
  }
}

/****************************************************
  advice
****************************************************/
.advice {
  margin-top: 110px;
}

.advice__wrap {
  padding: 68px 0 61px;
  margin-top: 88px;
  background-color: #eff8f7;
}

.advice-content {
  display: flex;
}

.advice-content__box {
  width: 50%;
}

.advice-content__text1 {
  margin-top: 15px;
  font-size: 34px;
  color: #4475a6;
}

.advice-content__text2 {
  margin: 20px 0 30px;
  font-size: 29px;
}

.advice-content__text2 span {
  font-size: 34px;
  color: #d76d6d;
}

.advice-content__text3 {
  padding-right: 40px;
  font-size: 24px;
  line-height: 1.3;
}

.advice-content__picture img {
  width: 623px;
  height: 362px;
}

.advice-btn__wrap {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  gap: 30px;
}

.advice-mail {
  width: 505px;
  padding: 37px 0 38px 30px;
  font-size: 48px;
  border-radius: 5px;
  color: #fff;
  background: #e67850;
  box-shadow: 5px 5px 1px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  text-align: center;
  transition: .3s;
}

.advice-mail::before {
  content: "";
  display: inline-block;
  background-image: url(../images/mail.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 25px;
  transform: translateY(-50%);
  width: 52px;
  height: 39px;
}

.advice-mail::after {
  content: "";
  display: inline-block;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 52%;
  right: 25px;
  transform: translateY(-50%);
  width: 20px;
  height: 29px;
}

.advice-tel {
  width: 522px;
  padding-top: 28px;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  background-color: #d76d6d;
  box-shadow: 5px 5px 1px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  transition: .3s;
}

.advice-tel::after {
  content: "";
  display: inline-block;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 52%;
  right: 25px;
  transform: translateY(-50%);
  width: 20px;
  height: 29px;
}

.advice-tel__note {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 409px;
  height: 55px;
}

.advice-tel__number {
  font-size: 52px;
  position: relative;
}

.advice-tel__number::before {
  content: "";
  display: inline-block;
  background-image: url(../images/tel.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 55%;
  left: 40px;
  transform: translateY(-50%);
  width: 38px;
  height: 42px;
}

.advice-tel__time {
  font-size: 19px;
}

.advice-tel__time span {
  padding-right: 3px;
  font-size: 30px;
  vertical-align: sub;
  line-height: 1;
}

@media screen and (min-width: 769px) {

  .advice-tel {
    pointer-events: none;
  }
}

@media screen and (max-width: 1920px) {
  .advice {
    margin-top: 5.729vw;
  }

  .advice__wrap {
    padding: 3.542vw 0 3.177vw;
    margin-top: 4.583vw;
  }

  .advice-content__text1 {
    margin-top: 0.781vw;
    font-size: 1.771vw;
  }

  .advice-content__text2 {
    margin: 1.042vw 0 1.563vw;
    font-size: 1.51vw;
  }

  .advice-content__text2 span {
    font-size: 1.771vw;
  }

  .advice-content__text3 {
    padding-right: 2.083vw;
    font-size: 1.25vw;
  }

  .advice-content__picture img {
    width: 32.448vw;
    height: 18.854vw;
  }

  .advice-btn__wrap {
    margin-top: 3.125vw;
    gap: 1.563vw;
  }

  .advice-mail {
    width: 26.302vw;
    padding: 1.927vw 0 1.979vw 1.563vw;
    font-size: 2.5vw;
    border-radius: 0.26vw;
    box-shadow: 0.26vw 0.26vw 0.052vw 0px rgba(0, 0, 0, 0.25);
  }

  .advice-mail::before {
    left: 1.302vw;
    transform: translateY(-50%);
    width: 2.708vw;
    height: 2.031vw;
  }

  .advice-mail::after {
    right: 1.302vw;
    width: 1.042vw;
    height: 1.51vw;
  }

  .advice-tel {
    width: 27.187vw;
    padding-top: 1.458vw;
    border-radius: 0.26vw;
    box-shadow: 0.26vw 0.26vw 0.052vw 0px rgba(0, 0, 0, 0.25);
  }

  .advice-tel::after {
    right: 1.302vw;
    width: 1.042vw;
    height: 1.51vw;
  }

  .advice-tel__note {
    top: -0.781vw;
    width: 21.302vw;
    height: 2.865vw;
  }

  .advice-tel__number {
    font-size: 2.708vw;
  }

  .advice-tel__number::before {
    left: 2.083vw;
    width: 1.979vw;
    height: 2.188vw;
  }

  .advice-tel__time {
    font-size: 0.99vw;
  }

  .advice-tel__time span {
    padding-right: 0.156vw;
    font-size: 1.563vw;
  }
}

@media screen and (max-width: 768px) {
  .advice {
    padding-top: 15px;
    margin-top: 0;
    background-color: #eff8f7;
  }

  .advice__wrap {
    padding: 0 0 15px;
    margin-top: 23px;
    background-color: #eff8f7;
  }

  .advice-content {
    display: flex;
    flex-flow: column-reverse;
  }

  .advice-content__box {
    width: 100%;
    margin-top: 13px;
  }

  .advice-content__text1 {
    margin-top: 7px;
    font-size: 16px;
    color: #4475a6;
    text-align: center;
  }

  .advice-content__text2 {
    padding-bottom: 18px;
    margin: 7px 0 14px;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    border-bottom: 1px solid #4475a6;
  }

  .advice-content__text2 span {
    font-size: 20px;
  }

  .advice-content__text3 {
    padding-right: 0;
    font-size: 15px;
    line-height: 1.4;
  }

  .advice-content__picture img {
    width: 336px;
    height: 160px;
  }

  .advice-btn__wrap {
    margin-top: 15px;
    gap: 7px;
  }

  .advice-mail {
    width: 152px;
    padding: 21px 0 21px 26px;
    font-size: 15px;
    border-radius: 3px;
    box-shadow: 2px 2px 1px 0px rgba(0, 0, 0, 0.25);
  }

  .advice-mail::before {
    left: 15px;
    width: 19px;
    height: 14px;
  }

  .advice-mail::after {
    display: none;
  }

  .advice-tel {
    width: 176px;
    padding-top: 13px;
    border-radius: 3px;
    box-shadow: 2px 2px 1px 0px rgba(0, 0, 0, 0.25);
  }

  .advice-tel::after {
    display: none;
  }

  .advice-tel__note {
    top: -7px;
    width: 158px;
    height: 29px;
  }

  .advice-tel__number {
    padding-left: 13px;
    font-size: 20px;
  }

  .advice-tel__number::before {
    top: 55%;
    left: 5%;
    transform: translateY(-50%);
    width: 12px;
    height: 13px;
  }

  .advice-tel__time {
    font-size: 8px;
  }

  .advice-tel__time span {
    padding-right: 3px;
    font-size: 14px;
    vertical-align: sub;
    line-height: 1;
  }

  .advice-tel__time span:nth-of-type(2) {
    padding-right: 2px;
    padding-left: 2px;
  }
}

@media screen and (max-width: 374px) {
  .advice {
    padding-top: 4vw;
    margin-top: 0;
    background-color: #eff8f7;
  }

  .advice__wrap {
    padding: 0 0 4vw;
    margin-top: 6.133vw;
    background-color: #eff8f7;
  }

  .advice-content {
    display: flex;
    flex-flow: column-reverse;
  }

  .advice-content__box {
    width: 100%;
    margin-top: 3.467vw;
  }

  .advice-content__text1 {
    margin-top: 1.867vw;
    font-size: 4.267vw;
    color: #4475a6;
    text-align: center;
  }

  .advice-content__text2 {
    padding-bottom: 4.8vw;
    margin: 1.867vw 0 3.733vw;
    font-size: 4.533vw;
    font-weight: 700;
    text-align: center;
    border-bottom: 0.267vw solid #4475a6;
  }

  .advice-content__text2 span {
    font-size: 5.333vw;
  }

  .advice-content__text3 {
    padding-right: 0;
    font-size: 4vw;
    line-height: 1.4;
  }

  .advice-content__picture img {
    width: 89.6vw;
    height: 42.667vw;
  }

  .advice-btn__wrap {
    margin-top: 4vw;
    gap: 1.867vw;
  }

  .advice-mail {
    width: 40.533vw;
    padding: 5.6vw 0 5.6vw 6.933vw;
    font-size: 4vw;
    border-radius: 0.8vw;
    box-shadow: 0.533vw 0.533vw 0.267vw 0px rgba(0, 0, 0, 0.25);
  }

  .advice-mail::before {
    left: 4vw;
    width: 5.067vw;
    height: 3.733vw;
  }

  .advice-mail::after {
    display: none;
  }

  .advice-tel {
    width: 46.933vw;
    padding-top: 3.467vw;
    border-radius: 0.8vw;
    box-shadow: 0.533vw 0.533vw 0.267vw 0px rgba(0, 0, 0, 0.25);
  }

  .advice-tel::after {
    display: none;
  }

  .advice-tel__note {
    top: -1.867vw;
    width: 42.133vw;
    height: 7.733vw;
  }

  .advice-tel__number {
    padding-left: 3.467vw;
    font-size: 5.333vw;
  }

  .advice-tel__number::before {
    top: 55%;
    left: 6%;
    transform: translateY(-50%);
    width: 3.2vw;
    height: 3.467vw;
  }

  .advice-tel__time {
    font-size: 2.133vw;
  }

  .advice-tel__time span {
    padding-right: 0.8vw;
    font-size: 3.733vw;
    vertical-align: sub;
    line-height: 1;
  }

  .advice-tel__time span:nth-of-type(2) {
    padding-right: 0.533vw;
    padding-left: 0.533vw;
  }
}

/****************************************************
  よくあるご質問
****************************************************/

.qa {
  margin-top: 100px;
}

.qa__list {
  margin-top: 100px;
}

.qa__item {
  margin-bottom: 40px;
}

.qa__question {
  margin-bottom: 15px;
  font-size: 40px;
  color: #4475a6;
  display: flex;
  align-items: center;
}

.qa__question span,
.qa__answer span {
  width: 58px;
  height: 58px;
  padding: 0 0 7px 5px;
  margin-right: 15px;
  border-radius: 50%;
  text-align: center;
  align-content: center;
  font-size: 34px;
  background-color: #4475a6;
  color: #fff;
}

.qa__question p {
  font-weight: 500;
  flex: 1;
}

.qa__answer {
  font-size: 24px;
}

.qa__answer-wrap {
  display: flex;
  align-items: center;
}

.qa__item:nth-of-type(2) .qa__answer,
.qa__item:nth-of-type(3) .qa__answer {
  align-items: flex-start;
}

.qa__answer span {
  background-color: #3aa79a;
}

.qa__answer p {
  padding-bottom: 10px;
  font-weight: 500;
  flex: 1;
  border-bottom: 1px solid #4475a6;
}

.qa__item:nth-of-type(2) .qa__answer p,
.qa__item:nth-of-type(3) .qa__answer p {
  padding-top: 8px;
}

@media screen and (max-width: 1920px) {
  .qa {
    margin-top: 5.208vw;
  }

  .qa__list {
    margin-top: 5.208vw;
  }

  .qa__item {
    margin-bottom: 2.083vw;
  }

  .qa__question {
    margin-bottom: 0.781vw;
    font-size: 2.083vw;
  }

  .qa__question span,
  .qa__answer span {
    width: 3.021vw;
    height: 3.021vw;
    padding: 0 0 0.365vw 0.26vw;
    margin-right: 0.781vw;
    font-size: 1.771vw;
  }

  .qa__answer {
    font-size: 1.25vw;
  }

  .qa__answer p {
    padding-bottom: 0.521vw;
    border-bottom: 0.052vw solid #4475a6;
  }

  .qa__item:nth-of-type(2) .qa__answer p,
  .qa__item:nth-of-type(3) .qa__answer p {
    padding-top: 0.417vw;
  }
}

@media screen and (max-width: 768px) {
  .qa {
    margin-top: 15px;
  }

  .qa__list {
    margin-top: 30px;
  }

  .qa__item {
    margin-bottom: 8px;
  }

  .qa__question {
    padding: 9px 8px 10px;
    margin-bottom: 0;
    font-size: 16px;
    color: #fff;
    background-color: #4475a6;
    align-items: flex-start;
    position: relative;
  }

  .qa__question::before {
    content: "";
    display: inline-block;
    background-image: url(../images/arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(90deg);
    width: 14px;
    height: 21px;
    transition: .3s;
  }

  .del.qa__question::before {
    transform: translateY(-50%) rotate(-90deg);
  }

  .qa__question span,
  .qa__answer span {
    width: 22px;
    height: 22px;
    padding: 0 0 2px 2px;
    margin-right: 7px;
    border-radius: 50%;
    text-align: center;
    align-content: center;
    font-size: 13px;
    background-color: #fff;
    color: #4475a6;
  }

  .qa__question p {
    font-weight: 500;
    flex: 1;
    line-height: 1.3;
  }

  .qa__answer {
    font-size: 15px;
    font-weight: 500;
    border: 1px solid #4475a6;
    border-top: none;
  }

  .qa__answer-wrap {
    display: flex;
    align-items: flex-start;
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
  }

  .qa__answer span {
    padding: 0 0 0 2px;
    margin: 10px 7px;
    color: #fff;
    background-color: #3aa79a;
  }

  .qa__answer p {
    padding-right: 5px;
    margin: 11px 0;
    font-weight: 500;
    flex: 1;
    line-height: 1.4;
    border: none;
  }

  .qa__item:nth-of-type(2) .qa__answer p,
  .qa__item:nth-of-type(3) .qa__answer p {
    padding-top: 0;
  }
}

@media screen and (max-width: 374px) {
  .qa {
    margin-top: 4vw;
  }

  .qa__list {
    margin-top: 8vw;
  }

  .qa__item {
    margin-bottom: 2.133vw;
  }

  .qa__question {
    padding: 2.4vw 2.133vw 2.667vw;
    margin-bottom: 0;
    font-size: 4.267vw;
    color: #fff;
    background-color: #4475a6;
    align-items: flex-start;
    position: relative;
  }

  .qa__question::before {
    content: "";
    display: inline-block;
    background-image: url(../images/arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 5.333vw;
    transform: translateY(-50%) rotate(90deg);
    width: 3.733vw;
    height: 5.6vw;
    transition: .3s;
  }

  .del.qa__question::before {
    transform: translateY(-50%) rotate(-90deg);
  }

  .qa__question span,
  .qa__answer span {
    width: 5.867vw;
    height: 5.867vw;
    padding: 0 0 0.533vw 0.533vw;
    margin-right: 1.867vw;
    border-radius: 50%;
    text-align: center;
    align-content: center;
    font-size: 3.467vw;
    background-color: #fff;
    color: #4475a6;
  }

  .qa__question p {
    font-weight: 500;
    flex: 1;
    line-height: 1.3;
  }

  .qa__answer {
    font-size: 4vw;
    font-weight: 500;
    border: 0.267vw solid #4475a6;
    border-top: none;
  }

  .qa__answer-wrap {
    display: flex;
    align-items: flex-start;
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
  }

  .qa__answer span {
    padding: 0 0 0 0.533vw;
    margin: 2.667vw 1.867vw;
    color: #fff;
    background-color: #3aa79a;
  }

  .qa__answer p {
    padding-right: 1.333vw;
    margin: 2.933vw 0;
    font-weight: 500;
    flex: 1;
    line-height: 1.4;
    border: none;
  }

  .qa__item:nth-of-type(2) .qa__answer p,
  .qa__item:nth-of-type(3) .qa__answer p {
    padding-top: 0;
  }
}

/****************************************************
  contact
****************************************************/
.contact {
  margin-top: 100px;
}

.contact__wrap {
  padding: 140px 0 70px;
  margin-top: 90px;
  background-color: #f0f0f0;
}

.contact-item {
  margin-bottom: 55px;
}

.contact-item__label {
  font-size: 29px;
  margin-bottom: 10px;
}

.contact-item__label .required {
  width: 53px;
  padding: 1px 0 3px;
  font-size: 19px;
  border-radius: 2px;
  color: #fff;
  background-color: #d76d6d;
  text-align: center;
  vertical-align: bottom;
}

.input-wrap {
  display: flex;
  justify-content: left;
  gap: 10px;
  width: 100%;
}

.contact-item:nth-of-type(2) .contact-item__check {
  display: flex;
  align-items: center;
}

.input-note {
  font-size: 14px;
  vertical-align: middle;
}

.contact-item__input {
  width: 100%;
}

.contact-item__radio,
.contact-item__check {
  width: 100%;
  margin-top: 13px;
  display: flex;
  align-items: center;
}

.contact-item__radio label,
.contact-item__check label {
  font-size: 23px;
  font-weight: 500;
}

input[type="text"] {
  width: 100%;
  padding: 11px;
  font-size: 24px;
  border-radius: 2px;
  border: 1px solid #b3b3b3;
  background-color: #fff;
}

.contact-item__input textarea {
  width: 100%;
  height: 282px;
  padding: 11px;
  font-size: 24px;
  border-radius: 2px;
  border: 1px solid #b3b3b3;
  background-color: #fff;
}

.contact-item__privacy {
  font-size: 23px;
  font-weight: 500;
}

.contact-item__privacy a {
  text-decoration: underline;
}

.contact-list .contact-btn {
  width: 461px;
  margin: 0 auto;
  font-size: 38px;
  border-radius: 3px;
  text-align: center;
  color: #fff;
  background-color: #4475a6;
  transition: .3s;
  border: 1px solid #4475a6;
}

.contact-list .contact-btn input {
  width: 100%;
  padding: 20px 0 23px;
}

::placeholder {
  padding-left: 15px;
  font-size: 24px;
  font-weight: 500;
  color: #cccccc;
}


/* ラジオ、チェックボタン変更 */
.choice {
  position: relative;
  cursor: pointer;
  padding-left: 28px;
  margin-left: 13px;
  display: inline-block;
}

.contact-item__radio label:first-of-type .choice,
.contact-item__check label:first-of-type .choice,
.contact-item__privacy label:first-of-type .choice {
  margin: 0;
}

.contact-item__privacy label:first-of-type .choice {
  margin-top: 15px;
}

.choice::before,
.choice::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.choice::before {
  background-color: #fff;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  width: 26px;
  height: 26px;
  left: -2px;
}

.choice::after {
  background-color: #256c9a;
  border-radius: 50%;
  opacity: 0;
  width: 16px;
  height: 16px;
  left: 3px;
}

input:checked+.choice::after {
  opacity: 1;
}

.choice-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}

@media screen and (max-width: 1920px) {
  .contact {
    margin-top: 5.208vw;
  }

  .contact__wrap {
    padding: 7.292vw 0 3.646vw;
    margin-top: 4.688vw;
  }

  .contact-item {
    margin-bottom: 2.865vw;
  }

  .contact-item__label {
    font-size: 1.51vw;
    margin-bottom: 0.521vw;
  }

  .contact-item__label .required {
    width: 2.76vw;
    padding: 0.052vw 0 0.156vw;
    font-size: 0.99vw;
    border-radius: 0.104vw;
  }

  .input-wrap {
    gap: 0.521vw;
  }

  .input-note {
    font-size: 0.729vw;
  }

  .contact-item__radio,
  .contact-item__check {
    width: 100%;
    margin-top: 0.677vw;
  }

  .contact-item__radio label,
  .contact-item__check label {
    font-size: 1.198vw;
  }

  input[type="text"] {
    padding: 0.573vw;
    font-size: 1.25vw;
    border-radius: 0.104vw;
    border: 0.052vw solid #b3b3b3;
  }

  .contact-item__input textarea {
    height: 14.688vw;
    padding: 0.573vw;
    font-size: 1.25vw;
    border-radius: 0.104vw;
    border: 0.052vw solid #b3b3b3;
  }

  .contact-item__privacy {
    font-size: 1.198vw;
  }

  .contact-list .contact-btn {
    width: 24.01vw;
    font-size: 1.979vw;
    border-radius: 0.156vw;
  }

  .contact-list .contact-btn input {
    padding: 1.042vw 0 1.198vw;
  }

  ::placeholder {
    padding-left: 0.781vw;
    font-size: 1.25vw;
  }


  /* ラジオ、チェックボタン変更 */
  .choice {
    padding-left: 1.458vw;
    margin-left: 0.677vw;
  }

  .contact-item__privacy label:first-of-type .choice {
    margin-top: 0.781vw;
  }

  .choice::before {
    border: 0.052vw solid #b3b3b3;
    width: 1.354vw;
    height: 1.354vw;
    left: -0.104vw;
  }

  .choice::after {
    width: 0.833vw;
    height: 0.833vw;
    left: 0.156vw;
  }

  .choice-hidden {
    height: 0.052vw;
    width: 0.052vw;
    margin: -0.052vw;
  }
}

@media screen and (max-width: 768px) {
  .contact {
    padding-top: 20px;
    margin-top: 20px;
    background-color: #f0f0f0;
  }

  .contact__wrap {
    padding: 30px 0 35px;
    margin-top: 0;
    background-color: #f0f0f0;
  }

  .contact-item {
    margin-bottom: 25px;
  }

  .contact-item__label {
    font-size: 17px;
    margin-bottom: 7px;
  }

  .contact-item__label .required {
    width: 35px;
    padding: 1px 0 3px;
    font-size: 11px;
    border-radius: 2px;
    color: #fff;
    background-color: #d76d6d;
    text-align: center;
    vertical-align: bottom;
  }

  .contact-item:nth-of-type(4) .contact-item__radio {
    display: block;
    margin-top: 0;
  }

  .contact-item:nth-of-type(5) .contact-item__check {
    flex-wrap: wrap;
    margin-top: 0;
  }

  .input-wrap {
    display: block;
  }

  .input-wrap .contact-item__input:first-of-type {
    margin-bottom: 5px;
  }

  .contact-item:nth-of-type(2) .contact-item__check {
    display: flex;
    align-items: center;
  }

  .input-note-sp {
    margin-top: 7px;
    font-size: 9px;
    vertical-align: middle;
    color: #666;
  }

  .contact-item__input {
    width: 100%;
  }

  .contact-item__radio,
  .contact-item__check {
    width: 100%;
    margin-top: 13px;
    display: flex;
    align-items: center;
  }

  .contact-item__radio label,
  .contact-item__check label {
    font-size: 15px;
    font-weight: 500;
    width: 49%;
  }

  input[type="text"] {
    width: 100%;
    padding: 11px;
    font-size: 16px;
    border-radius: 2px;
    border: 1px solid #b3b3b3;
    background-color: #fff;
  }

  .contact-item__input textarea {
    width: 100%;
    height: 158px;
    padding: 11px;
    font-size: 16px;
    border-radius: 2px;
    border: 1px solid #b3b3b3;
    background-color: #fff;
  }

  .contact-item__privacy {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
  }

  .contact-item__privacy a {
    text-decoration: underline !important;
  }

  .contact-list .contact-btn {
    width: 277px;
    margin: 0 auto;
    font-size: 22px;
    border-radius: 3px;
  }

  .contact-list .contact-btn input {
    width: 100%;
    padding: 8px 0 11px;
  }

  ::placeholder {
    padding-left: 0;
    font-size: 16px;
    font-weight: 500;
    color: #cccccc;
  }


  /* ラジオ、チェックボタン変更 */
  .choice {
    position: relative;
    cursor: pointer;
    padding-left: 20px;
    margin: 7px 0 0 0;
  }

  .contact-item__privacy label:first-of-type .choice {
    margin-top: 10px;
  }

  .choice::before,
  .choice::after {
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
  }

  .choice::before {
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 50%;
    width: 19px;
    height: 19px;
    left: -2px;
  }

  .choice::after {
    background-color: #256c9a;
    border-radius: 50%;
    opacity: 0;
    width: 11px;
    height: 11px;
    left: 2px;
  }

  input:checked+.choice::after {
    opacity: 1;
  }

  .choice-hidden {
    position: absolute;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
  }
}

@media screen and (min-width: 769px) {
  .contact-list .contact-btn:hover {
    color: #4475a6;
    background-color: #f0f0f0;
  }
}

@media screen and (max-width: 374px) {
  .contact {
    padding-top: 5.333vw;
    margin-top: 5.333vw;
  }

  .contact__wrap {
    padding: 8vw 0 9.333vw;
  }

  .contact-item {
    margin-bottom: 6.667vw;
  }

  .contact-item__label {
    font-size: 4.533vw;
    margin-bottom: 1.867vw;
  }

  .contact-item__label .required {
    width: 9.333vw;
    padding: 0.267vw 0 0.8vw;
    font-size: 2.933vw;
    border-radius: 0.533vw;
  }

  .input-wrap .contact-item__input:first-of-type {
    margin-bottom: 1.333vw;
  }

  .input-note-sp {
    margin-top: 1.867vw;
    font-size: 2.4vw;
  }

  .contact-item__radio,
  .contact-item__check {
    margin-top: 3.467vw;
  }

  .contact-item__radio label,
  .contact-item__check label {
    font-size: 4vw;
  }

  input[type="text"] {
    padding: 2.933vw;
    font-size: 4.267vw;
    border-radius: 0.533vw;
    border: 0.267vw solid #b3b3b3;
  }

  .contact-item__input textarea {
    height: 42.133vw;
    padding: 2.933vw;
    font-size: 4.267vw;
    border-radius: 0.533vw;
    border: 0.267vw solid #b3b3b3;
  }

  .contact-item__privacy {
    font-size: 4vw;
  }

  .contact-list .contact-btn {
    width: 73.867vw;
    font-size: 5.867vw;
    border-radius: 0.8vw;
  }

  .contact-list .contact-btn input {
    padding: 2.133vw 0 2.933vw;
  }

  ::placeholder {
    padding-left: 0;
    font-size: 4.267vw;
  }


  /* ラジオ、チェックボタン変更 */
  .choice {
    padding-left: 5.333vw;
    margin: 1.867vw 0 0 0;
  }

  .contact-item__privacy label:first-of-type .choice {
    margin-top: 2.667vw;
  }

  .choice::before {
    border: 0.267vw solid #b3b3b3;
    border-radius: 50%;
    width: 5.067vw;
    height: 5.067vw;
    left: -0.533vw;
  }

  .choice::after {
    opacity: 0;
    width: 2.933vw;
    height: 2.933vw;
    left: 0.533vw;
  }

  .choice-hidden {
    height: 0.267vw;
    width: 0.267vw;
    margin: -0.267vw;
    padding: 0;
  }
}

/****************************************************
  footer
****************************************************/
footer {
  padding-top: 45px;
  background-color: #4d4d4d;
}

.footer-logo {
  padding-left: 35px;
}

.footer-logo img {
  width: 259px;
  height: 72px;
}

.footer-info {
  margin-top: 20px;
  display: flex;
  justify-content: left;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
}

.footer-info__left {
  width: 510px;
  padding-left: 35px;
}

.footer-info__right {
  flex: 1;
}

.footer-info__item {
  margin-bottom: 20px;
  font-weight: 500;
  line-height: 1.3;
  display: flex;
  align-items: center;
}

.footer-info__item--label {
  width: 112px;
}

.footer-info__item--text {
  padding-left: 20px;
  border-left: 1px solid #fff;
}

.footer-info__right {
  width: 50%;
}


.copyright {
  padding: 33px 0;
  margin-top: 70px;
  margin-bottom: 151px;
  font-size: 22px;
  color: #666666;
  background-color: #fff;
  text-align: center;
}

@media screen and (max-width: 1920px) {
  footer {
    padding-top: 2.344vw;
  }

  .footer-logo {
    padding-left: 1.823vw;
  }

  .footer-logo img {
    width: 13.49vw;
    height: 3.75vw;
  }

  .footer-info {
    margin-top: 1.042vw;
    font-size: 0.938vw;
  }

  .footer-info__left {
    width: 26.563vw;
    padding-left: 1.823vw;
  }

  .footer-info__item {
    margin-bottom: 1.042vw;
  }

  .footer-info__item--label {
    width: 5.833vw;
  }

  .footer-info__item--text {
    padding-left: 1.042vw;
    border-left: 0.052vw solid #fff;
  }

  .copyright {
    padding: 1.719vw 0;
    margin-top: 3.646vw;
    margin-bottom: 7.865vw;
    font-size: 1.146vw;
  }
}

@media screen and (max-width: 768px) {
  footer {
    padding-top: 20px;
    background-color: #4d4d4d;
  }

  .footer-logo {
    padding-left: 0;
    text-align: center;
  }

  .footer-logo img {
    width: 150px;
    height: 42px;
  }

  .footer-info {
    margin-top: 20px;
    display: block;
    font-size: 13px;
  }

  .footer-info__left {
    width: 100%;
    padding-left: 0;
  }

  .footer-info__right {
    flex: 1;
  }

  .footer-info__item {
    margin-bottom: 12px;
    font-weight: 500;
    line-height: 1.3;
    display: flex;
    align-items: center;
  }

  .footer-info__item--label {
    width: 92px;
    text-align: right;
    padding-right: 7px;
  }

  .footer-info__item--text {
    padding-left: 7px;
    border-left: 1px solid #fff;
    flex: 1;
  }

  .footer-info__right {
    width: 100%;
  }

  .copyright {
    padding: 9px 0;
    margin-top: 20px;
    margin-bottom: 96px;
    font-size: 9px;
  }
}

@media screen and (max-width: 374px) {
  footer {
    padding-top: 5.333vw;
  }

  .footer-logo img {
    width: 40vw;
    height: 11.2vw;
  }

  .footer-info {
    margin-top: 5.333vw;
    font-size: 3.467vw;
  }

  .footer-info__item {
    margin-bottom: 3.2vw;
  }

  .footer-info__item--label {
    width: 24.533vw;
    padding-right: 1.867vw;
  }

  .footer-info__item--text {
    padding-left: 1.867vw;
    border-left: 0.267vw solid #fff;
    flex: 1;
  }

  .copyright {
    padding: 2.4vw 0;
    margin-top: 5.333vw;
    margin-bottom: 25.6vw;
    font-size: 2.4vw;
  }
}