@charset "UTF-8";
/* 変数定義 */
.line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #00B3D4));
  background: linear-gradient(transparent 60%, #00B3D4 0%);
}

.dots {
  background-image: radial-gradient(circle at center, #fff 20%, transparent 30%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
  padding-top: 0.4em; /* 縦方向の位置調整 */
}

/*--------------------------
font-size
---------------------------*/
/*行間計算*/
/*--------------------------
content-width
---------------------------*/
body {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  overflow-x: hidden;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a, .form__btn {
  opacity: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover, .form__btn:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width:767px) {
  a:hover, .form__btn:hover {
    opacity: 1;
  }
}

.container {
  max-width: 1140px;
  padding: 0 10px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width:767px) {
  .container {
    padding: 0 25px;
  }
}

/*==
section title
=======================================*/
.section__title {
  position: relative;
  text-align: center;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.2;
  letter-spacing: 0.03em;
  padding-bottom: 34px;
}
@media screen and (max-width:767px) {
  .section__title {
    font-size: 1.5rem;
    padding-bottom: 19px;
  }
}

.section__title::after {
  position: absolute;
  bottom: 0px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 70px;
  height: 6px;
  border-radius: 3px;
  background-color: #1E7CCC;
}
@media screen and (max-width:767px) {
  .section__title::after {
    width: 40px;
    height: 3px;
  }
}

/*==
section title in-logo
=======================================*/
.section__title.in-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .section__title.in-logo {
    display: block;
  }
}

.section__title.in-logo span.logo {
  width: 290px;
  display: block;
}
@media screen and (max-width:767px) {
  .section__title.in-logo span.logo {
    width: 200px;
  }
}

.section__title.in-logo span.size {
  font-size: 30px;
  font-size: 1.875rem;
  padding-top: 4px;
  display: block;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .section__title.in-logo span.size {
    font-size: 1.25rem;
    padding-top: 10px;
  }
}

/*==
TOPのCTA
=======================================*/
.top-cta {
  display: block;
  position: fixed;
  top: 20px;
  right: 10px;
  z-index: 100;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  visibility: visible;
  max-width: 320px;
  width: 92%;
}

.top-cta.is-tel{
    right: 340px;
}

@media screen and (max-width:767px) {
  .top-cta {
    top: unset;
    bottom: 20px;
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }

  .top-cta.is-tel{
    top: 20px;
    right: 10px;
    height: fit-content;
    transform: translate(0%, 0);
    width: 166px;
  }
}

.top-cta.hidden {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}

.top-cta a {
  background: rgb(249, 90, 35);
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(249, 90, 35)), to(rgb(223, 85, 26)));
  background: linear-gradient(180deg, rgb(249, 90, 35) 0%, rgb(223, 85, 26) 100%);
  position: relative;
  display: block;
  width: 100%;
  height: 64px;
  border-radius: 4px;
  -webkit-box-shadow: 0px 0px 15px -5px #777777;
          box-shadow: 0px 0px 15px -5px #777777;
}
.top-cta.is-tel a {
  background: rgb(67, 216, 49);
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(67, 216, 49)), to(rgb(24, 110, 15)));

}
@media screen and (max-width:767px) {
  .top-cta.is-tel a {
    height: 40px;
  }
}


.top-cta a::before{
  position: absolute;
  content: "";
  background-image: url(../../dist/img/fix-btn-obj.svg);
  width: 164px;
  height: auto;
  aspect-ratio: 164/24;
  top: 0%;
  right: 50%;
  -webkit-transform: translateY(-50%) translateX(50%);
          transform: translateY(-50%) translateX(50%);
  background-repeat: no-repeat;
  background-size: cover;
}
.top-cta.is-tel a::before{
  position: absolute;
  content: "";
  background-image: url(../../dist/img/fix-btn-obj__tel.svg);
  aspect-ratio: 121/20;
}
@media screen and (max-width:767px) {
  .top-cta.is-tel a::before{
    width: 120px;
  }
}

.top-cta a span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.top-cta a span p {
  padding-right: 30px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  white-space: nowrap;
  color: #fff;
}
.top-cta.is-tel a span p{
  padding-left: 30px;
}
.top-cta.is-tel a span p.is-pc{
  display: block;
}
.top-cta.is-tel a span p.is-sp{
  display: none;
}
@media screen and (max-width:767px) {
    .top-cta.is-tel a span p{
      font-size: 11px;
      padding-right: 22px;
      padding-left: 22px;
    }
    .top-cta.is-tel a span p.is-pc{
      display: none;
    }
    .top-cta.is-tel a span p.is-sp{
      display: block;
    }
}

.top-cta a span p::after {
  position: absolute;
  content: "";
  background-image: url(../../dist/img/btn-obj.svg);
  width: 21.4px;
  height: auto;
  aspect-ratio: 1/1;
  top: 48%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}
.top-cta.is-tel a span p::before {
  position: absolute;
  content: "";
  background-image: url(../../dist/img/icon-phone.svg);
  width: 24px;
  height: auto;
  aspect-ratio: 1/1;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width:767px) {
  .top-cta a span p::after {
    width: 18px;
  }
  .top-cta.is-tel a span p::before {
    width: 18px;
  }
}

/*==
MV
=======================================*/
.Mv__wrap {
  background-image: url(../../dist/img/MV-bg.jpg?20250115);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width:767px) {
  .Mv__wrap {
    background-image: url(../../dist/img/MV-bg-sp.jpg?20250115);
  }
}

.Mv .Mv-top__head {
  padding: 30px 16px 32px;
}
@media screen and (max-width:767px) {
  .Mv .Mv-top__head {
    padding: 20px 20px;
  }
}

.Mv .Mv-top__head img.Mv-top__logo {
  max-width: 230px;
}
@media screen and (max-width:767px) {
  .Mv .Mv-top__head img.Mv-top__logo {
    max-width: 175px;
  }
}

.Mv .Mv-top, .Mv-bottom__container {
  width: 93.2432432432%;
  max-width: 1220px;
  margin: 0px auto;
  padding-top: 20px;
  padding-bottom: 15px;
}
.Mv .Mv-top {
  position: relative;
}

.Mv .Mv-top .Mv-top__body, .Mv-bottom__container {
  padding-right: 515px;
  color: #fff;
}
@media screen and (max-width:980px) {
  .Mv .Mv-top .Mv-top__body, .Mv-bottom__container {
    padding-right: 48svw;
  }
}
@media screen and (max-width:767px) {
  .Mv .Mv-top .Mv-top__body, .Mv-bottom__container {
    padding-right: 0;
  }
}

.Mv-top__body-wrap {
  z-index: 1;
  position: relative;
}

/*==
MV コンテンツ
=======================================*/
.Mv .Mv-top .Mv-top__body .Mv-top__body-wrap .Mv-top__img.pc {
  position: absolute;
  width: 417px;
  height: 369px;
  top: -42px;
  right: -100px;
  z-index: -1;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body .Mv-top__body-wrap .Mv-top__img.pc {
    display: none;
  }
}

.Mv .Mv-top .Mv-top__body p.Mv-top__read {
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 30px;
  line-height: 1.875rem;
  padding: 16px 17px 12px;
  background-color: #004986;
  border-radius: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-bottom: 22px;
  z-index: 2;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body p.Mv-top__read {
    font-size: 0.9375rem;
    line-height: 1.0625rem;
    border-radius: 4px;
    margin: 0 auto 22px;
  }
}

.Mv .Mv-top .Mv-top__body p.Mv-top__read::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #004986 transparent transparent transparent;
  border-width: 17px 8px 0px 8px;
  bottom: 0;
  left: 72px;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  line-height: 1.5;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body p.Mv-top__read::after {
    -webkit-transform: translateY(100%) translateX(-50%);
            transform: translateY(100%) translateX(-50%);
    left: 50%;
    border-width: 12px 6px 0px 6px;
  }
}

.Mv .Mv-top .Mv-top__body p.Mv-top__read span {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 30px;
  line-height: 1.875rem;
  margin: 0 -12px;
  display: block;
  letter-spacing: 0.1em;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body p.Mv-top__read span {
    font-size: 1.0625rem;
    line-height: 1.0625rem;
    margin: 0 -8px;
  }
}

.Mv .Mv-top .Mv-top__body .Mv-top__copy {
  font-size: 68px;
  font-size: 4.25rem;
  letter-spacing: 0.02em;
  z-index: 2;
  line-height: 1.24;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body .Mv-top__copy {
    font-size: 2.25rem;
    text-align: center;
  }
}

.Mv .Mv-top .Mv-top__body .Mv-top__copy span.size {
  font-size: 52px;
  font-size: 3.25rem;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body .Mv-top__copy span.size {
    font-size: 1.75rem;
  }
}

@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body img.Mv-top__img {
    width: 94.2028985507%;
    margin: 20px auto 0;
    display: block;
  }
}

.Mv .Mv-top .Mv-top__body img.Mv-top__voice {
  margin-top: 21px;
}
@media screen and (max-width:1199px) {
  .Mv .Mv-top .Mv-top__body img.Mv-top__voice {
    margin-top: 12px;
  }
}

.Mv .Mv-bottom {
  background-color: #004986;
}
/*==
MV フォーム
=======================================*/
/*==
Intro
=======================================*/
.Intro {
  background-color: #fff;
  padding-top: 72px;
  padding-bottom: 66px;
}
@media screen and (max-width:767px) {
  .Intro {
    padding: 40px 0;
  }
}

.Intro .container .Intro-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 28px;
  max-width: 923px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro-top {
    display: block;
  }
}

.Intro .container .Intro-top .Intro__emblem {
  width: 290px;
  height: auto;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro-top .Intro__emblem {
    max-width: 174px;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}

.Intro .container .Intro-top .Intro__text {
  width: calc(100% - 318px);
  text-align: center;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro-top .Intro__text {
    width: 100%;
  }
}

.Intro .container .Intro-top .Intro__text p.Intro__comment {
  padding: 13px 13px 11px;
  background-color: #004986;
  border-radius: 8px;
  position: relative;
  color: #fff;
  font-size: 30px;
  font-size: 1.875rem;
  margin-bottom: 24px;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro-top .Intro__text p.Intro__comment {
    font-size: 1.0625rem;
    padding: 8px 4px 6px;
    margin-bottom: 24px;
    border-radius: 4px;
  }
}

.Intro .container .Intro-top .Intro__text p.Intro__comment::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #004986 transparent transparent transparent;
  border-width: 17px 8px 0px 8px;
  bottom: 0;
  left: 64px;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro-top .Intro__text p.Intro__comment::after {
    -webkit-transform: translateY(100%) translateX(-50%);
            transform: translateY(100%) translateX(-50%);
    left: 50%;
    border-width: 12px 6px 0px 6px;
  }
}

.Intro .container .Intro-top .Intro__text h2 {
  color: #333333;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.2;
  letter-spacing: -0.06em;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro-top .Intro__text h2 {
    font-size: 1.25rem;
  }
}

.Intro .container .Intro__bottom {
  margin-top: 48px;
}
@media screen and (max-width:767px) {
  .Intro .container .Intro__bottom {
    margin-top: 24px;
  }
}

/*==
Call24
=======================================*/
.Call24 {
  padding: 80px 0;
  background-color: #ECF6FF;
}
@media screen and (max-width:767px) {
  .Call24 {
    padding: 60px 0;
  }
}

.Call24 h2.Call24__top .Call24__read {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 11px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__read {
    gap: 6px;
  }
}

.Call24 h2.Call24__top .Call24__read .Call24__logo {
  padding: 8px 0;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__read .Call24__logo {
    padding: 4px 0;
  }
}

.Call24 h2.Call24__top .Call24__read .Call24__logo img {
  width: 290px;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__read .Call24__logo img {
    width: 160px;
  }
}

.Call24 h2.Call24__top .Call24__read .Call24-text {
  gap: 0.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 36px;
  font-size: 2.25rem;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__read .Call24-text {
    font-size: 1.375rem;
    line-height: 1.375rem;
  }
}

.Call24 h2.Call24__top .Call24__read .Call24-text .text {
  color: #333333;
  display: block;
  padding: 8px 0 4px;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__read .Call24-text .text {
    padding: 12px 0 4px;
    font-size: 1rem;
    line-height: 1rem;
  }
}

.Call24 h2.Call24__top .Call24__read .Call24-text .blue-bg {
  color: #fff;
  background-color: #1E7CCC;
  display: block;
  padding: 8px 6px 4px;
  border-radius: 4px;
}
.Call24 h2.Call24__top .Call24__desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 0;
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-align: center;
  display: block;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__desc {
    font-size: 1.125rem;
  }
}

.Call24 h2.Call24__top .Call24__desc .Call24__orange {
  color: #F97D23;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__desc .Call24__orange {
    font-size: 1.375rem;
  }
}

.Call24 h2.Call24__top .Call24__desc .Call24__orange .Call24__24 {
  font-size: 44px;
  font-size: 2.75rem;
  position: relative;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__desc .Call24__orange .Call24__24 {
    font-size: 1.75rem;
  }
}

.Call24 h2.Call24__top .Call24__desc .Call24__orange .Call24__24::after {
  position: absolute;
  width: 150%;
  height: auto;
  aspect-ratio: 1/1;
  content: "";
  background-image: url(../../dist/img/oncall-obj.svg);
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 44%;
  left: 50%;
}
@media screen and (max-width:767px) {
  .Call24 h2.Call24__top .Call24__desc .Call24__orange .Call24__24::after {
    width: 140%;
  }
}

.Call24 div.Call24__bottom {
  max-width: 860px;
  width: 100%;
  margin: 32px auto 0;
  overflow: hidden;
  border-radius: 16px;
}
@media screen and (max-width:767px) {
  .Call24 div.Call24__bottom {
    margin: 20px auto 0;
    border-radius: 8px;
  }
}

/*==
Problem
=======================================*/
section.Problem {
  padding: 80px 0 100px;
  background-color: #1E7CCC;
}
@media screen and (max-width:767px) {
  section.Problem {
    padding: 60px 0;
  }
}

/*==
Problem TOP
=======================================*/
section.Problem div.container div.Problem__top h2 {
  color: #fff;
  letter-spacing: 0.06em;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 52px;
  line-height: 3.25rem;
  text-align: center;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top h2 {
    font-size: 1.3125rem;
    line-height: 2.125rem;
    letter-spacing: 0;
  }
}

section.Problem div.container div.Problem__top img.Problem__arrow {
  width: 250px;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top img.Problem__arrow {
    width: 120px;
    margin: 8px auto;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 35px;
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap {
    gap: 15px;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box {
  background-color: #fff;
  max-width: 350px;
  width: 100%;
  border-radius: 6px;
  padding: 24px 20px 30px;
  text-align: center;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box {
    padding: 20px;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box p.Problem__read {
  font-size: 18px;
  font-size: 1.125rem;
  color: #004986;
  letter-spacing: -0.05em;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box p.Problem__read {
    font-size: 1rem;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box div.Problem__fastdoctor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  font-size: 1.125rem;
  gap: 0.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 18px;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box div.Problem__fastdoctor {
    font-size: 1rem;
    margin: 15px auto 10px;
    gap: 0.4em;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box div.Problem__fastdoctor img.Problem__check {
  display: block;
  width: 226px;
  height: auto;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box div.Problem__fastdoctor img.Problem__check {
    width: 180px;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box div.Problem__fastdoctor p {
  padding-top: 10px;
  display: block;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box div.Problem__fastdoctor p {
    padding-top: 6px;
  }
}

section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box h3 {
  border-top: #9FC1DF solid 1px;
  color: #F97D23;
  padding-top: 0.7em;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 29px;
  line-height: 1.8125rem;
  display: block;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__top div.Problem__wrap div.Problem__box h3 {
    font-size: 1.25rem;
    line-height: auto;
  }
}

/*==
Problem BOTTOM
=======================================*/
section.Problem div.container div.Problem__bottom {
  margin-top: 100px;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__bottom {
    margin-top: 50px;
  }
}

section.Problem div.container div.Problem__bottom h2 {
  font-size: 34px;
  font-size: 2.125rem;
  text-align: center;
  color: #fff;
  line-height: 52px;
  line-height: 3.25rem;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__bottom h2 {
    font-size: 1.5rem;
    line-height: 2.75rem;
  }
}

section.Problem div.container div.Problem__bottom img.Problem__img {
  width: 100%;
  margin: 32px auto 0;
  overflow: hidden;
  border-radius: 16px;
}
@media screen and (max-width:767px) {
  section.Problem div.container div.Problem__bottom img.Problem__img {
    margin: 20px auto 0;
    border-radius: 8px;
  }
}

/*==
PneStop
=======================================*/
.OneStop {
  padding: 80px 0;
  background-color: #fff;
}
@media screen and (max-width:767px) {
  .OneStop {
    padding: 60px 0;
  }
}

.OneStop .OneStop__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 38px;
     -moz-column-gap: 38px;
          column-gap: 38px;
  row-gap: 60px;
}
@media screen and (max-width:767px) {
  .OneStop .OneStop__wrap {
    row-gap: 36px;
  }
}

.OneStop .OneStop__wrap .OneStop__con {
  width: 100%;
  max-width: 345px;
}

.OneStop .OneStop__wrap .OneStop__con img.OneStop__img {
  width: 240px;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .OneStop .OneStop__wrap .OneStop__con img.OneStop__img {
    width: 170px;
  }
}

.OneStop .OneStop__wrap .OneStop__con h3.OneStop__title {
  font-size: 22px;
  font-size: 1.375rem;
  color: #004986;
  text-align: center;
  line-height: 1.5;
  letter-spacing: -0.03em;
  margin-bottom: 14px;
}
@media screen and (max-width:767px) {
  .OneStop .OneStop__wrap .OneStop__con h3.OneStop__title {
    font-size: 1.25rem;
  }
}

.OneStop .OneStop__wrap .OneStop__con h3.OneStop__title span.orange {
  color: #F97D23;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FFE46D));
  background: linear-gradient(transparent 60%, #FFE46D 0%);
}

.OneStop .OneStop__wrap .OneStop__con h3.OneStop__title span.orange span.size {
  font-size: 34px;
  font-size: 2.125rem;
}
@media screen and (max-width:767px) {
  .OneStop .OneStop__wrap .OneStop__con h3.OneStop__title span.orange span.size {
    font-size: 1.75rem;
  }
}

.OneStop .OneStop__wrap .OneStop__con .OneStop__desc {
  margin-top: 10px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
  text-align: center;
  color: #333;
  padding: 15px 12px 13px;
  border-radius: 2px;
  background-color: #DFF3FF;
  position: relative;
}
@media screen and (max-width:767px) {
  .OneStop .OneStop__wrap .OneStop__con .OneStop__desc {
    font-size: 1rem;
  }
}

.OneStop .OneStop__wrap .OneStop__con .OneStop__desc::after {
  position: absolute;
  content: "";
  width: 24.5px;
  height: auto;
  aspect-ratio: 1/1;
  top: -6px;
  left: -6px;
  background-image: url(../../dist/img/onestop-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
/*==
CTA
=======================================*/
.CTA {
  background-image: url(../../dist/img/cta-bg.jpg?20250115);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 60px 0;
}
.CTA2 {
  background-image: url(../../dist/img/cta-bg_202410.jpg?20250115);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 60px 0 20px;
}
@media screen and (max-width:767px) {
  .CTA {
    background-image: url(../../dist/img/cta-bg-sp.jpg?20250115);
    padding-bottom: 46svw;
    background-position: bottom;
  }
}

.CTA .container h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #fff;
  gap: 11px;
  text-align: center;
}
@media screen and (max-width:767px) {
  .CTA .container h2 {
    display: block;
  }
}

.CTA .container h2 .CTA__logo {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.CTA .container h2 img {
  width: 263px;
  padding: 12px 0;
}
@media screen and (max-width:767px) {
  .CTA .container h2 img {
    width: 170px;
    padding: 0;
    margin-bottom: 10px;
  }
}

.CTA .container h2 span {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 52px;
  line-height: 3.25rem;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .CTA .container h2 span {
    font-size: 1.25rem;
    line-height: 2.4375rem;
  }
}

.CTA .container h2 span .line {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 52px;
  line-height: 3.25rem;
}
@media screen and (max-width:767px) {
  .CTA .container h2 span .line {
    font-size: 1.5rem;
    line-height: 2.4375rem;
  }
}

.CTA .container .CTA__btns {
  margin: 50px auto 0;
  max-width: 634px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width:767px) {
  .CTA .container .CTA__btns {
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: 1fr;
  }
}

.CTA .container .CTA__btns .CTA__btn {
  margin: 0 auto;
}

.CTA .container .CTA__btns .CTA__btn .CTA__comment {
  color: #fff;
  background-color: #004986;
  border-radius: 10px;
  width: 100%;
  height: 75px;
  position: relative;
}
@media screen and (max-width:767px) {
  .CTA .container .CTA__btns .CTA__btn .CTA__comment {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    border-radius: 100px;
    padding: 8px 22px 4px;
    margin: 0 auto;
  }
}

.CTA .container .CTA__btns .CTA__btn .CTA__comment::after {
  position: absolute;
  content: "";
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  bottom: 0%;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #004986 transparent transparent transparent;
  border-width: 18px 5px 0px 5px;
}
.CTA .container .CTA__btns .CTA__btn .CTA__comment p {
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 27px;
  line-height: 1.6875rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
  -webkit-box-shadow: 0px 0px 15px -5px #777777;
          box-shadow: 0px 0px 15px -5px #777777;
}
@media screen and (max-width:767px) {
  .CTA .container .CTA__btns .CTA__btn .CTA__comment p {
    position: relative;
    top: unset;
    left: unset;
    -webkit-transform: unset;
            transform: unset;
    font-size: 1rem;
    line-height: 1.3;
  }
}

.CTA .container .CTA__btns .CTA__btn a {
  margin-top: 28px;
  display: block;
}

.CTA2 .container .CTA__btns ,
.CTA3 .container .CTA__btns {
  
  margin: 0 auto 0;
}
@media screen and (max-width:767px) {
  .CTA2 .container .CTA__btns ,
  .CTA3 .container .CTA__btns {
    margin: 14px auto 0;
  }
}

.CTA__read{
  max-width: 217px;
  margin: 0 auto 0;
}

.CTA__point{
  max-width: 613px;
  width: 100%;
  margin: 14px auto 0;
}

@media screen and (max-width:767px) {
  .CTA__read{
    max-width: 217px;
  }
  
  .CTA__point{
    max-width: 324px;
    margin: 0 auto;
  }
}

/*==
Point
=======================================*/
.Point {
  padding: 120px 0 60px;
  background-color: #fff;
  overflow-x: hidden;
}
.Point2 {
  padding: 24px 0 114px;
  background-color: #fff;
  overflow-x: hidden;
}
@media screen and (max-width:767px) {
  .Point {
    padding: 56px 0 60px;
  }
  .Point2 {
    padding: 0 0 60px;
  }
}

.Point .container .Point__contents .Point__con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 66px;
  margin-top: 120px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con {
    display: block;
    margin-top: 74px;
  }
}

.Point .container .Point__contents .Point__con:nth-of-type(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con:nth-of-type(odd) {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
}
.Point .container .Point__contents .Point__con.is-first{
  -webkit-box-orient: unset;
  -webkit-box-direction: unset;
      -ms-flex-direction: unset;
          flex-direction: unset;
}

.Point .container .Point__contents .Point__con .Point__text {
  position: relative;
  width: 46%;
  z-index: 1;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__text {
    width: 100%;
  }
}

.Point .container .Point__contents .Point__con .Point__text::after {
  position: absolute;
  content: "01";
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-size: 82px;
  font-size: 5.125rem;
  color: #DDD;
  top: -48px;
  left: -24px;
  z-index: -1;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__text::after {
    font-size: 3.75rem;
    top: -24px;
    left: -12px;
  }
}

.Point .container .Point__contents .Point__con:nth-child(1) .Point__text::after {
  content: "02";
}

.Point .container .Point__contents .Point__con:nth-child(2) .Point__text::after {
  content: "03";
}

.Point .container .Point__contents .Point__con:nth-child(3) .Point__text::after {
  content: "04";
}
.Point .container .Point__contents .Point__con.is-first .Point__text::after {
  content: "01";
}

.Point .container .Point__contents .Point__con .Point__text h3 {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 2;
  margin-top: 0.7em;
  padding-bottom: 8px;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(86%, transparent), color-stop(0%, #00B3D4));
  background: linear-gradient(transparent 86%, #00B3D4 0%);
  z-index: 2;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__text h3 {
    font-size: 1.25rem;
    padding-bottom: 8px;
  }
}

.Point .container .Point__contents .Point__con .Point__text p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__text p {
    font-size: 1rem;
  }
}

.Point .container .Point__contents .Point__con .Point__text p:first-of-type {
  margin-top: 2em;
}
.Point .container .Point__contents .Point__con .Point__text p span.is-blue {
  color: #fff;
  background-color: #1E7CCC;
  background: -webkit-gradient(linear, left top, left bottom, from(#1E7CCC), to(#1E7CCC));
  background: linear-gradient(#1E7CCC 0%, #1E7CCC 100%);
  line-height: 2;
  padding: 4px 0;
  font-weight: bold;
}
.Point .container .Point__contents .Point__con .Point__img {
  width: 42%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__img {
    width: 84%;
    margin-top: 42px;
  }
}

.Point .container .Point__contents .Point__con:nth-of-type(odd) .Point__img {
  margin-left: auto;
}

.Point .container .Point__contents .Point__con .Point__img::after {
  position: absolute;
  top: -20px;
  right: 30px;
  height: 322px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  width: auto;
  aspect-ratio: 1/1;
  background-color: #DFF3FF;
  content: "";
  z-index: -1;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__img::after {
    height: 50svw;
  }
}

.Point .container .Point__contents .Point__con:nth-of-type(odd) .Point__img::after {
  top: -20px;
  left: 30px;
  right: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.Point .container .Point__contents .Point__con.is-first .Point__img::after {
  top: -20px;
  right: 30px;
  height: 322px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.Point .container .Point__contents .Point__con .Point__img img {
  position: relative;
  z-index: 2;
}
.Point .container .Point__contents .Point__con .Point__effect {
  max-width: 840px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__effect {
    margin-top: 40px;
  }
}

.Point .container .Point__contents .Point__con .Point__text span.tag__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
}
.Point .container .Point__contents .Point__con .Point__text span.tag__wrap span.tag {
  display: block;
  padding: 6px 4px;
  color: #1E7CCC;
  background-color: #DFF3FF;
  border-radius: 2px;
  letter-spacing: -0.05em;
  font-size: 15px;
  font-size: 0.9375rem;
}
@media screen and (max-width:767px) {
  .Point .container .Point__contents .Point__con .Point__text span.tag__wrap span.tag {
    width: 100%;
    text-align: center;
  }
}

.doctor-voice__read{
  font-size: 24px;
  line-height: 1.6;
  text-align: center;
}
.doctor-voice__read .blue{
  font-size: 32px;
  color: #1E7CCC;
}
.doctor-voice__read .blue .is-min{
  font-size: 24px;
}
@media screen and (max-width:767px) {
  .doctor-voice__read{
    font-size: 18px;
    text-align: left;
  }
  .doctor-voice__read .blue{
    font-size: 20px;
  }
  .doctor-voice__read .blue .is-min{
    font-size: 20px;
  }
}

/*==
Case
=======================================*/
section.Case {
  padding: 120px 0;
  background-color: #F7F7F7;
}
@media screen and (max-width:767px) {
  section.Case {
    padding: 60px 0;
  }
}

div.swiper ,
div.swiper2 {
  margin-top: 47px;
  padding-bottom: 64px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  z-index: 1;
  display: block;
}
div.swiper2 {
  padding-bottom: 0px;
}
@media screen and (max-width:767px) {
  div.swiper ,
  div.swiper2 {
    margin-top: 40px;
    padding-bottom: 90px;
  }
  div.swiper2 {
    padding-bottom: 64px;
  }
}

div.swiper div.swiper-wrapper div.swiper-slide ,
div.swiper2 div.swiper-wrapper div.swiper-slide{
  max-width: 580px;
  width: 100%;
}
@media screen and (max-width:767px) {
  div.swiper div.swiper-wrapper div.swiper-slide ,
  div.swiper2 div.swiper-wrapper div.swiper-slide{
    width: 84%;
  }
}

/*==
Case slide obj
=======================================*/
div.swiper-button-prev2,
div.swiper-button-next2 {
  position: absolute;
  top: var(--swiper-navigation-top-offset,50%);
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color,var(--swiper-theme-color))
}
div.swiper2 div.swiper-pagination2{
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0,0,0);
  z-index: 10
}
div.swiper div.swiper-button-prev, div.swiper div.swiper-button-next ,
div.swiper2 div.swiper-button-prev2, div.swiper2 div.swiper-button-next2 {
  background-size: cover;
  width: 74px;
  height: 74px;
  top: 45%;
}
@media screen and (max-width:767px) {
  div.swiper div.swiper-button-prev, div.swiper div.swiper-button-next,
  div.swiper2 div.swiper-button-prev2, div.swiper2 div.swiper-button-next2  {
    width: 42px;
    height: 42px;
    top: unset;
    bottom: 0;
  }
}

div.swiper div.swiper-button-prev::after, div.swiper div.swiper-button-next::after ,
div.swiper2 div.swiper-button-prev2::after, div.swiper2 div.swiper-button-next2::after {
  content: none;
}

div.swiper div.swiper-button-prev ,
div.swiper2 div.swiper-button-prev2 { 
  left: 50%;
  -webkit-transform: translateX(-314px);
          transform: translateX(-314px);
  background-image: url(../../dist/img/slide-arrow-left.png);
}
@media screen and (max-width:767px) {
  div.swiper div.swiper-button-prev ,
  div.swiper2 div.swiper-button-prev2 {
    -webkit-transform: translateX(-144px);
            transform: translateX(-144px);
  }
}

div.swiper div.swiper-button-next ,
div.swiper2 div.swiper-button-next2{
  right: 50%;
  -webkit-transform: translateX(314px);
          transform: translateX(314px);
  background-image: url(../../dist/img/slide-arrow-right.png);
}
@media screen and (max-width:767px) {
  div.swiper div.swiper-button-next ,
  div.swiper2 div.swiper-button-next2{
    -webkit-transform: translateX(144px);
            transform: translateX(144px);
  }
}

div.swiper div.swiper-pagination .swiper-pagination-bullet ,
div.swiper2 div.swiper-pagination2 .swiper-pagination-bullet2{
  width: 10px;
  height: 10px;
  background-color: #D6D6D6;
  opacity: 1;
  margin: 0 7.5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
div.swiper div.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active ,
div.swiper2 div.swiper-pagination2 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #1E7CCC;
  width: 20px;
  height: 20px;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
/*==
Feature
=======================================*/
.Feature {
  padding: 120px 0;
  background-color: #ECF6FF;
}
.Feature .container .Feature__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  gap: 38px;
  margin-top: 60px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width:767px) {
  .Feature .container .Feature__wrap {
    margin-top: 40px;
  }
}

.Feature .container .Feature__wrap .Feature__img {
  overflow: hidden;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 15px -5px #777777;
          box-shadow: 0px 0px 15px -5px #777777;
  max-width: 560px;
  width: 100%;
}
.Feature .container .Feature__wrap .Feature__text {
  max-width: 520px;
  width: 100%;
}
.Feature .container .Feature__wrap .Feature__text ul.Feature__list {
  font-size: 22px;
  font-size: 1.375rem;
  color: #333;
  letter-spacing: -0.03em;
  margin-top: 1em;
}
@media screen and (max-width:767px) {
  .Feature .container .Feature__wrap .Feature__text ul.Feature__list {
    font-size: 1.25rem;
  }
}

.Feature .container .Feature__wrap .Feature__text ul.Feature__list li {
  margin-top: 1em;
}

.Feature .container .Feature__wrap .Feature__text ul.Feature__list li .is-blue {
  padding-bottom: 4px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(86%, transparent), color-stop(0%, #F97D23));
  background: linear-gradient(transparent 86%, #F97D23 0%);
  line-height: 2;
  color: #1E7CCC;
}
.Feature .container .Feature__wrap .Feature__text ul.Feature__list li .size {
  font-size: 32px;
  font-size: 2rem;
}
@media screen and (max-width:767px) {
  .Feature .container .Feature__wrap .Feature__text ul.Feature__list li .size {
    font-size: 1.5rem;
  }
}

/*==
Schedule
=======================================*/
.Schedule {
  padding: 120px 0;
}
@media screen and (max-width:767px) {
  .Schedule {
    padding: 60px 0;
  }
}

.Schedule .container {
  max-width: 914px;
}
@media screen and (max-width:767px) {
  .Schedule .container {
    width: calc(76% + 50px);
  }
}

.Schedule .container .Schedule__wrap {
  margin-top: 50px;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap {
    margin-top: 48px;
  }
}

.Schedule__arrow {
  margin: 10px auto;
  max-width: 35px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .Schedule__arrow {
    margin: 10px auto;
    max-width: 24px;
    width: 100%;
  }
}

/*==
Schedule content
=======================================*/
.Schedule .container .Schedule__wrap .Schedule__con {
  padding-left: 40px;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con {
    padding-left: 0px;
  }
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box {
  border: 3px solid #1E7CCC;
  position: relative;
  padding: 30px 60px 45px;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con .Schedule__box {
    border: 3px solid #1E7CCC;
    padding: 16px 20px 20px;
  }
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__icon {
  position: absolute;
  top: 64px;
  left: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80px;
  height: auto;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__icon {
    width: 40px;
    top: 0;
    left: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__top {
  position: relative;
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__top p.Schedule__num {
  font-size: 50px;
  font-size: 3.125rem;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #AECDDE;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__top p.Schedule__num {
    font-size: 1.875rem;
    bottom: -4px;
  }
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__top h3.Schedule__title {
  display: block;
  padding-left: 64px;
  padding-top: 8px;
  color: #1E7CCC;
  font-size: 30px;
  font-size: 1.875rem;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__top h3.Schedule__title {
    padding-left: 50px;
    padding-top: 4px;
    font-size: 1.25rem;
  }
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__bottom {
  padding-top: 26px;
  margin-top: 26px;
  border-top: 1px solid #B6B6B6;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__bottom {
    padding-top: 14px;
    margin-top: 10px;
  }
}

.Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__bottom p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.6;
  color: #333;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con .Schedule__box .Schedule__bottom p {
    font-size: 0.9375rem;
  }
}

/*==
Schedule last
=======================================*/
.Schedule .container .Schedule__wrap .Schedule__con.last .Schedule__box {
  border: 3px solid #F97D23;
}
.Schedule .container .Schedule__wrap .Schedule__con.last .Schedule__box .Schedule__top p.Schedule__num {
  color: #FADBCE;
}

.Schedule .container .Schedule__wrap .Schedule__con.last .Schedule__box .Schedule__top h3.Schedule__title {
  color: #F97D23;
}

.Schedule .container .Schedule__wrap .Schedule__con.last .Schedule__box .Schedule__bottom p span.orange {
  color: #F97D23;
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width:767px) {
  .Schedule .container .Schedule__wrap .Schedule__con.last .Schedule__box .Schedule__bottom p span.orange {
    font-size: 1.0625rem;
  }
}

/*==
Schedule
=======================================*/
.Faq {
  padding-bottom: 120px;
}
@media screen and (max-width:767px) {
  .Faq {
    padding-bottom: 60px;
  }
}

.Faq .container {
  max-width: 950px;
}

.Faq .container .Faq__wrap {
  border-top: 1px dashed #A0A0A0;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  margin-top: 60px;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap {
    font-size: 1.125rem;
    margin-top: 40px;
  }
}

.Faq .container .Faq__wrap .Faq_con {
  padding: 30px 0;
  border-bottom: 1px dashed #A0A0A0;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con {
    padding: 22px 0;
  }
}

.Faq .container .Faq__wrap .Faq_con .Faq__title {
  padding-top: 10px;
  padding-bottom: 10px;
  color: #004986;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con .Faq__title {
    padding-top: 0px;
    padding-bottom: 0px;
    margin-bottom: 20px;
  }
}

.Faq .container .Faq__wrap .Faq_con .Faq__title, .Faq .container .Faq__wrap .Faq_con .Faq__answer p {
  position: relative;
  padding-left: 80px;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con .Faq__title, .Faq .container .Faq__wrap .Faq_con .Faq__answer p {
    padding-left: 43px;
  }
}

.Faq .container .Faq__wrap .Faq_con .Faq__title::after, .Faq .container .Faq__wrap .Faq_con .Faq__answer p::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  width: 50px;
  height: 50px;
  left: 0;
  top: 0;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con .Faq__title::after, .Faq .container .Faq__wrap .Faq_con .Faq__answer p::after {
    width: 35px;
    height: 35px;
  }
}

.Faq .container .Faq__wrap .Faq_con .Faq__title::after {
  background-image: url(../../dist/img/q-icon.svg);
}

.Faq .container .Faq__wrap .Faq_con .Faq__answer {
  padding-left: 50px;
  padding-top: 20px;
  color: #333;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con .Faq__answer {
    padding-left: 0px;
    padding-top: 0px;
    margin-top: 10px;
  }
}

.Faq .container .Faq__wrap .Faq_con .Faq__answer p {
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con .Faq__answer p {
    padding-top: 0px;
    padding-bottom: 0px;
    font-size: 0.9375rem;
  }
}

.Faq .container .Faq__wrap .Faq_con .Faq__answer p::after {
  background-image: url(../../dist/img/a-icon.svg);
}

.Faq .container .Faq__wrap .Faq_con .Faq__answer p span {
  padding-left: 2em;
  display: block;
}
@media screen and (max-width:767px) {
  .Faq .container .Faq__wrap .Faq_con .Faq__answer p span {
    padding-left: 0;
    font-weight: 400;
    font-size: 0.8125rem;
  }
}

/*============================
Form
============================*/
.Form {
  padding: 120px 0;
  background-image: url(../../dist/img/form-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width:767px) {
  .Form {
    padding: 40px 0 60px;
  }
}

.Form .container {
  max-width: 770px;
}

h2.form-comment {
  background-color: #00B3D4;
  color: #fff;
  padding: 14px 0 11px;
  display: block;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width:767px) {
  h2.form-comment {
    padding: 14px 0 11px;
    border-radius: 4px;
  }
}

h2.form-comment::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #00B3D4 transparent transparent transparent;
  border-width: 17px 8px 0px 8px;
  bottom: 0;
  -webkit-transform: translateY(100%) translateX(-50%);
          transform: translateY(100%) translateX(-50%);
  left: 50%;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  h2.form-comment::after {
    border-width: 12px 6px 0px 6px;
  }
}

h2.form-comment span {
  padding-left: 46px;
  position: relative;
  font-size: 30px;
  font-size: 1.875rem;
  margin: 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  h2.form-comment span {
    padding-left: 30px;
    font-size: 1.125rem;
  }
}

h2.form-comment span::before {
  position: absolute;
  content: "";
  top: 45%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../../dist/img/mail-icon.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 36.51px;
  height: 28.61px;
}
@media screen and (max-width:767px) {
  h2.form-comment span::before {
    width: 23.51px;
    height: 18.42px;
  }
}

/*============================
#contactForm
============================*/
form {
  margin-top: 36px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .9);
  display: block;
  padding: 40px 50px;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width:767px) {
  form {
    margin-top: 32px;
    border-radius: 4px;
    padding: 30px 20px 40px;
  }
}

.form__row:nth-of-type(n+2) {
  margin-top: 20px;
}

.form__row .form__label {
  padding-left: 45px;
  margin-bottom: 14px;
  display: block;
  position: relative;
}

.form__row .form__label::after {
  position: absolute;
  content: "必須";
  color: #fff;
  background-color: #F97D23;
  padding: 5px 6px 3px;
  display: block;
  font-size: 12px;
  font-size: 0.75rem;
  border-radius: 2px;
  left: 0;
  top: 50%;
  line-height: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.form__row .label__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
.form__row .label__wrap label.check {
  font-weight: 400;
}

.form__2column {
	margin-top: 10px; 
	display:flex;
}
.left {
	width:49%;
	margin-right: 1%;
}
.right {
	width:49%;
	margin-left:1%;
	margin-top:0;
}

.form__row2 .form__label {
  padding-left: 45px;
  margin-bottom: 14px;
  display: block;
  position: relative;
}

.form__row2 .form__label::after {
  position: absolute;
  content: "必須";
  color: #fff;
  background-color: #F97D23;
  padding: 5px 6px 3px;
  display: block;
  font-size: 12px;
  font-size: 0.75rem;
  border-radius: 2px;
  left: 0;
  top: 50%;
  line-height: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.form__row2 .label__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
.form__row2 .label__wrap label.check {
  font-weight: 400;
}
/*============================
#email
============================*/
.form__row input:not(input[type=checkbox]) {
  display: block;
  width: 100%;
  display: block;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #D4D4D4;
  background-color: #fff;
}

.form__row2 input:not(input[type=checkbox]) {
  display: block;
  width: 100%;
  display: block;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #D4D4D4;
  background-color: #fff;
}
/*============================
#phoneNumber
============================*/
p.form__caution {
  text-align: center;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  margin: 30px 0;
}
@media screen and (max-width:767px) {
  p.form__caution {
    text-align: left;
  }
}

p.form__caution a {
  color: #1E7CCC;
  text-decoration: underline;
}

.form__btn {
  color: #fff;
  text-align: center;
  background-color: #F97D23;
  max-width: 330px;
  width: 100%;
  margin: 0 auto;
  border-radius: 100px;
  position: relative;
  -webkit-box-shadow: 0px 0px 15px -5px #777777;
          box-shadow: 0px 0px 15px -5px #777777;
}

.form__btn::after {
  position: absolute;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  right: 15px;
  width: 17.5px;
  height: 17.5px;
  background-image: url(../../dist/img/btn-obj.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.form__btn button {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding: 10px 0;
  width: 100%;
  display: block;
}

/*============================
Form mv
============================*/
.Mv-form {
  max-width: 480px;
  width: 48svw;
  position: absolute;
  top: 0;
  right: 0;
}

.Mv-form__wrap {
  position: relative;
  z-index: 5;
  background: rgba(255, 255, 255, .9);
  padding: 5px;
  border-radius: 10px;
}

.Mv-form h2.form-comment::after {
  border-width: 12px 6px 0px 6px;
}

.Mv-form h2.form-comment span {
  font-size: 20px;
  font-size: 1.25rem;
  padding-left: 32px;
}

.Mv-form h2.form-comment span::before {
  width: 26px;
  height: 20.37px;
}

/*============================
#contactForm
============================*/
.Mv-form form {
  background: unset;
  margin-top: 30px;
  padding: 0 24px 30px;
  font-size: 14px;
}
.Mv-form .form__row:nth-of-type(n+2) {
  margin-top: 12px;
}

.Mv-form .form__row .form__label {
  margin-bottom: 10px;
}
.Mv-form .form__row2 .form__label {
  margin-bottom: 10px;
}

/*============================
#email
============================*/
/*============================
#phoneNumber
============================*/
.Mv-form p.form__caution {
  font-size: 11px;
  font-size: 0.6875rem;
}

.Mv-form .form__btn {
  width: 240px;
}

.g-recaptcha{
  margin-right:auto;
  margin-left:auto;
  text-align: center;
  width:300px;
  margin-top:20px;
}
/*==
Footer
=======================================*/
footer {
  background-color: #004986;
  padding: 31px 0;
}
@media screen and (max-width:767px) {
  footer {
    padding: 30px 0;
  }
}

footer .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width:767px) {
  footer .container {
    gap: 30px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

footer p, footer a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  footer p, footer a {
    text-align: center;
    width: 100%;
  }
}

footer a {
  text-decoration: underline;
}

/*==
hokkaido
=======================================*/
.hokkaido__contents{
  margin-top: 64px;
  display: flex;
  gap: auto;
  justify-content: space-around;
}

.hokkaido__con:nth-child(1){
  width: calc( 100% * calc( 550 / 854 ) );
}
.hokkaido__con:nth-child(2){
  width: calc( 100% * calc( 254.73 / 854 ) );
}

.hokkaido__title{
  display: block;
  padding: 4px 24px;
  background-color: #1E7CCC;
  position: relative;
  line-height: 1.4;
  font-size: 28px;
  color: #fff;
  font-weight: bold;
  width: 100%;
}
.hokkaido__title::before{
  content: '';
  position: absolute;
  top: 0;
  left: 7px;
  width: 6px;
  height: 100%;
  background-color: #fff;
}

.hokkaido__text{
  font-size: 16px;
  line-height: 2;
  margin-top: 2em;
  font-weight: bold;
}

.hokkaido__btn{
  margin-top: 40px;
  display: block;
  max-width: 294px;
  height: fit-content;
  box-shadow: 0px 0px 15px -5px #777777;
}

@media screen and (max-width:767px) {
  .hokkaido__contents{
    margin-top: 60px;
    display: block;
  }
  
  .hokkaido__con:nth-child(1){
    width: 100%;
  }
  .hokkaido__con:nth-child(2){
    width: 100%;
    margin: 30px auto 0;
    max-width: 254px;
  }
  
  .hokkaido__title{
    font-size: 20px;
  }
  .hokkaido__title::before{
    
  }
  
  .hokkaido__text{
    font-size: 14px;
  }
  
  .hokkaido__btn{
    margin: 30px auto;
  }
}

/*==
Campaign
=======================================*/
.Campaign{
  background-image: url(../../dist/img/campaign-bg.jpg?date=20250924);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding-top: 40px;
  padding-bottom: 66px;
}


.Campaign .container{
  max-width: 800px;
}
.campaign__top img{
  width: 100%;
  height: auto;
}

.campaign__bottom{
  display: block;
  max-width: 300px;
  margin: 0px auto 0;
}
.campaign__bottom img{
  width: 100%;
  height: auto;
}

@media screen and (max-width:767px) {
  .Campaign{
    background-image: url(../../dist/img/campaign-bg-sp.jpg?date=20250924);
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .campaign__bottom{
    margin: 20px auto 0;
  }
}

/*--------------------------
 trial
---------------------------*/
.CTA-trial {
  background-image: url(../../dist/img/trial-bg.png.webp?date=20250924);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding-top: 48px;
  padding-bottom: 48px;
}
.CTA-trial .CTA-trial__title {
  max-width: 752px;
  width: 90%;
  margin: 0 auto;
}
.CTA-trial .CTA-trial__body {
  margin: 40px auto 0;
}

.CTA-trial .CTA-trial__btn {
  max-width: 386px;
  width: 100%;
  margin: 20px auto 0;
  display: block;
}

@media screen and (max-width:767px) {
  .CTA-trial {
    background-image: url(../../dist/img/trial-bg-sp.png.webp?date=20250924);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .CTA-trial .container{
    max-width: 500px;
  }
  .CTA-trial .CTA-trial__title {
    width: 100%;
  }
  .CTA-trial .CTA-trial__body {
    margin: 16px auto 0;
  }
  .CTA-trial .CTA-trial__btn {
    max-width: 100%;
    margin: 24px auto 0;
  }
}

/*==
.cta-banner
=======================================*/
.cta-banner {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 300px;
  z-index: 9999;
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 768px) {
  .cta-banner {
    display: none!important;
  }
}


/* バナー画像 */
.cta-banner__link img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
}

/* 閉じるボタン（丸型 × ボタン） */
.cta-banner__close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 32px;
  height: 32px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  color: #333;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
  z-index: 10000;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: background 0.2s;
}

.cta-banner__close:hover {
  background: #eee;
}

/*==
Logo scroll
=======================================*/
.Intro__bottom--images {
  overflow: hidden;
  height: 64px;
  position: relative;
  margin-top: 40px;
}

.Intro__bottom-track {
  display: flex;
  animation: scroll-left 8s linear infinite;
}

.Intro__bottom-icons {
  height: 64px;
  width: auto; /* ← これでアスペクト比を保持 */
  flex-shrink: 0;
}

/* アニメーションの定義 */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media screen and (max-width:767px) {
  .Intro__bottom-track {
    display: flex;
    animation: scroll-left 2s linear infinite;
  }
}

.Intro__bottom--image-list {
  margin: 48px auto 0;
  max-width: 1120px;
  width: 100%;
  padding: 0 10px;
}
.Intro__bottom--image-list-content img{
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width:767px) {
  .Intro__bottom--image-list {
    margin-top: 24px;
  }
}

/*==
Last
=======================================*/
.pc {
  display: block;
}
@media screen and (max-width:767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width:767px) {
  .sp {
    display: block;
  }
}