@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap);
.section__inner {
  width: 100%;
  max-width: 1002px;
  margin: 0 auto;
}
@media screen and (min-width: 751px) and (max-width: 1100px) {
  .plan__card-2tag {
    max-width: 700px;
  }
}
@media screen and (max-width: 750px) {
  .section__inner {
    padding: 0 32px;
  }
}
.section__title-hr {
  text-align: center;
  margin-top: 29px;
}
@media screen and (max-width: 750px) {
  .section__title-hr {
    max-width: 111px;
    margin: 16px auto 0;
  }
}
.txt-700 {
  font-weight: 700;
}
.txt-blue-700 {
  color: #006DED;
  font-weight: 700;
}
.section__title {
  font-size: 29px;
  font-weight: 700;
  color: #006DED;
  text-align: center;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .section__title {
    font-size: 2.1vw;
  }
}
@media screen and (max-width: 750px) {
  .section__title {
    font-size: 5.6vw;
    line-height: 1.6;
    margin-bottom: 42px !important;
  }
}
/* ▽ MVsection */
.mv {
  background: url(../images/mv_bg.png) no-repeat center / cover;
  padding: 80px 0 80px;
  max-height: 558px;
  margin-top: 108px;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
.mv {
  padding: 6.1vw 0 6.2vw;
  max-height: inherit;
}
}
@media screen and (max-width: 750px) {
  .mv {
    background: url(../images/mv_bg_sp.png) no-repeat center / cover;
    max-height: inherit;
    margin-top: 60px;
    padding: 0;
  }
}
.mv__inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  padding: 0 100px;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px;
}
@media screen and (max-width: 750px) {
  .mv__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 40px 15px 40.5px;
  }
}
.mv__lead {
  display: grid;
  /* justify-items: center; */
  width: 100%;
  /* text-align: left; */
}
@media screen and (max-width: 750px) {
  .mv__lead {
    display: contents;
    text-align: center;
  }
}
.mv__title {
  font-size: clamp(37px, 4.9vw, 48.5px);
  font-weight: 700;
  color: #fff;
  margin-bottom: 33px;
}
@media screen and (max-width: 750px) {
  .mv__title {
    font-size: clamp(38px, 9vw, 64px);
    margin-bottom: 33px;
  }
}
.lead-txt {
  font-size: clamp(20px, 2.3vw, 24px);
  color: #fff;
  line-height: 1.4;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .lead-txt {
    font-size: clamp(20px, 5vw, 35px);
    margin-bottom: 25.4px;
  }
}
@media print, screen and (min-width: 751px) {
  .lead-txt .is-pc {
    display: block;
  }
}
.lead-txt strong {
  font-size: clamp(31.9px, 4vw, 38px);
  font-weight: 500;
  color: #FBFE08;
}
@media screen and (max-width: 750px) {
  .lead-txt strong {
    font-size: clamp(36px, 8.5vw, 64px);
  }
}
.lead-txt strong.txt-small {
  font-size: clamp(20px, 2.3vw, 28px);
}
@media screen and (max-width: 750px) {
  .lead-txt strong.txt-small {
    font-size: clamp(20px, 5vw, 35px);
  }
}
.lead-txt span.txt-large {
  font-size: clamp(31.9px, 4vw, 38px);
}
@media screen and (max-width: 750px) {
  .lead-txt span.txt-large {
    font-size: clamp(36px, 8vw, 60px);
  }
}
.lead-txt-s {
  font-size: clamp(14.2px, 1.9vw, 21.5px);
  color: #fff;
  margin-bottom: 55px;
}
@media screen and (max-width: 750px) {
  .lead-txt-s {
    font-size: clamp(24.5px, 5.6vw, 43px);
    line-height: 1.4;
    margin-bottom: 44px;
  }
}
.mv__image {
  margin-bottom: 36px;
}
@media screen and (max-width: 750px) {
  .mv__image {
    order: 1;
    margin-bottom: 36px;
  }
  .mv__image img {
    width: 91.73vw;
  }
}
.mv__btn {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 16px;
}
@media screen and (max-width: 750px) {
  .mv__btn {
    order: 3;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 300px;
    margin-top: 35.5px;
  }
}
.mock-up {
  /* PCでは特に order は不要 */
}
@media screen and (max-width: 750px) {
  .mock-up {
    order: 2;
  }
  .mock-up img {
    width: 85.06vw;
}
}

/* ▽ 課題と解決section */
.problem {
  background-color: #F2FBFF;
  padding: 85px 16px 80.3px;
}
@media screen and (max-width: 750px) {
  .problem {
    padding: 44px 0 40px;
  }
}
.problem .section__title {
  margin-bottom: 74.7px;
}
.problem__card-list {
  display: flex;
  gap: 35px;
  margin-top: 65px;
  align-items: stretch;
}
@media screen and (max-width: 750px) {
  .problem__card-list {
    display: block;
    margin-top: 0;
  }
}
.problem__card {
  max-width: 310px;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 0.8vw 0;
  background-color: #fff;
  border-radius: 8px;
  text-align: center;
  line-height: 1.6;
  position: relative;
  padding: 78px 17px 28px;
}
@media screen and (max-width: 750px) {
  .problem__card {
    max-width: 91.5vw;
    display: block;
    height: auto;
    position: relative;
    padding: 29px 20px 31px 20px;
    margin-bottom: 41px;
  }
}
.problem__card.--solution {
  border: 3px solid #1FACFB;
  padding: 65px 20px 11px 20px;
}
@media screen and (max-width: 750px) {
  .problem__card.--solution {
    border: 2px solid #1FACFB;
    padding: 11px 20px 11px 20px;
  }
}
@media screen and (max-width: 750px) {
  .problem__card-head {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 19.5px;
  }
}
.problem__card.--solution .problem__card-head {
    display: flex;
    align-items: center;
    margin: 0 auto;
  }
@media screen and (max-width: 750px) {
  .problem__card.--solution .problem__card-head {
    padding-bottom: 5px;
  }
}
@media screen and (max-width: 750px) {
  .problem__card.--solution .problem__card-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
}
.problem__card:last-child {
  gap: 12.8px 0;
}
.problem__card-character {
  max-width: 100%;
  height: auto;
  text-align: center;
  position: absolute;
  top: -5vw;
  left: -3.8vw;
}
@media screen and (min-width: 751px) {
  .problem__card-character {
    position: absolute;
    left: calc(50% - 46px);
    top: -50px;
    z-index: 1;
  }
}
@media screen and (max-width: 750px) {
  .problem__card-character {
    width: 17vw;
    margin-right: 13px;
  }
}
.problem__card-title {
  color: #006DED;
  font-weight: 700;
  font-size: 19px;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .problem__card-title {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 750px) {
  .problem__card-title {
    font-size: 4.2vw;
  }
}
.problem__card > p {
  text-align: left;
  height: 5em;
}
.problem__card > p.solution-text {
  height: 7.5em;
}
@media screen and (max-width: 750px) {
  .problem__card > p {
    height: auto;
  }
  .problem__card > p.solution-text {
    height: 6em;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .problem__card > p {
    font-size: 1.17vw;
  }
}
.problem__image-arrow {
  text-align: center;
  margin: 24px 0 30.9px;
}
@media screen and (max-width: 750px) {
  .problem__image-arrow {
    padding-bottom: 30px;
  }
}
.assist-column__image {
  text-align: center;
  margin: 24px 0 30.9px;
}
@media screen and (max-width: 750px) {
  .assist-column__image {
    max-width: 111px;
    padding-bottom: 29px;
    margin: 0 auto;
  }
}
.problem-card__header {
  display: flex;
  align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .problem-card__header {
    margin-bottom: 24.5px;
  }
}
.problem__card-icon {
  margin-right: 12px;
}
@media screen and (min-width: 751px) and (max-width: 1024px) {
  .problem__card-icon {
    max-width: 30px;
    height: auto;
  }
}
@media screen and (max-width: 750px) {
  .problem__card-icon {
    order: 3;
    margin-right: 0;
    margin-left: 15.2px;
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-90%);
  }
  .problem__card:nth-child(1) picture.problem__card-icon {
    width: 11vw;
    height: auto;
  }
  .problem__card:nth-child(2) picture.problem__card-icon {
    width: 8.6vw;
    height: auto;
    margin-left: 20.3px;
  }
  .problem__card:nth-child(3) picture.problem__card-icon {
    width: 11.5vw;
    height: auto;
    margin-left: 17.5px;
  }
}
/* ▽ 疑問section */
.about {
  padding: 7.3vw 1.4vw 5.7vw;
}
@media screen and (max-width: 750px) {
  .about {
    padding: 46px 0 40px;
  }
}
.about__head {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .about__head {
    display: block;
    margin-bottom: 2.4vw;
  }
}
@media screen and (max-width: 750px) {
  .about__head .title-wrap .section__title {
    margin-bottom: 1.8vw !important;
  }
}
.about .title-wrap .sub-title {
  text-align: center;
  color: #0048AD;
  font-weight: 700;
  letter-spacing: .6vw;
  line-height: 3.8vw;
}
@media screen and (max-width: 750px) {
  .about .title-wrap .sub-title {
    font-size: 3.8vw;
    letter-spacing: 1.6vw;
  }
}
@media screen and (min-width: 1366px) {
  .about .title-wrap .sub-title {
    font-size: 16px;
    line-height: 55px;
  }
}
.about-text {
  font-size: 1.3vw;
  text-align: center;
  line-height: 2.6vw;
}
@media screen and (min-width: 1366px) {
  .about-text {
    font-size: 18px;
    line-height: 38px;
  }
}
@media screen and (max-width: 750px) {
  .about-text {
    font-size: 4vw;
    line-height: 8vw;
    margin-bottom: 32px;
    text-align: left;
  }
}
.about__icon-image {
  max-width: 132px;
  width: 9.7vw;
  max-height: max-content;
  height: auto;
  position: absolute;
  top: -58%;
  left: 70%;
}
@media screen and (max-width: 750px) {
  .about__icon-image {
    display: none;
  }
}
.about__image {
  text-align: center;
  margin-top: 2.4vw;
}
@media screen and (max-width: 750px) {
  .about__image {
    margin-bottom: 8px;
  }
}
.about__flow-pc {
  display: block;
}
@media screen and (max-width: 750px) {
  .about__flow-pc {
    display: none;
  }
}
.about__flow-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .about__flow-sp {
    display: block;
  }
}
.about__flow-small {
  display: none;
}
@media screen and (max-width: 750px) {
  .about__flow-small {
    display: block;
    color: #006DED;
    font-size: 12px;
    margin: 20px 0 15px;
  }
}
.about__flow-modal-full {
  display: none;
}
/* モーダル画像のサイズ */
@media print, screen and (max-width: 750px) {
  .modaal-content-container img {
    width: 750px !important;
    max-width: inherit !important;
    max-height: inherit !important;
  }
}
/* モーダル画像の背景 */
@media print, screen and (max-width: 750px) {
  .modaal-inner-wrapper {
    background-color: #333;
  }
}
.cta__contents {
  display: contents;
}
.cta {
  position: relative;
  background-color: #0398F7;
  color: white;
  padding: 25px 0 25.8px;
  text-align: center;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .cta {
    background: url(../images/CTAbox_bg_sp.png) no-repeat center / cover;
    position: unset;
    padding: 10px 0 16px;
  }
}
/* 左上の三角 */
.cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-left: 148px solid #006CDB;
  border-bottom: 148px solid transparent;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .cta::before {
    border-left: 10.8vw solid #006CDB;
    border-bottom: 10.8vw solid transparent;
  }
}
/* 右下の三角 */
.cta::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-right: 148px solid #006CDB;
  border-top: 148px solid transparent;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .cta::after {
    border-right: 10.8vw solid #006CDB;
    border-top: 10.8vw solid transparent;
  }
}
@media screen and (max-width: 750px) {
  .cta::before,
  .cta::after {
    position: static;
    border: none;
  }
}
.cta__inner {
  width: 100%;
  max-width: 1002px;
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .cta__inner {
    padding: 0 50px;
  }
}
.cta__title {
  font-size: 29px;
  font-weight: 600;
  margin-bottom: 21.5px;
}
@media screen and (max-width: 750px) {
  .cta__title {
    margin-bottom: 20px;
  }
}

.cta__title p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(20px, 2.5vw, 28px);
}
@media screen and (max-width: 750px) {
  .cta__title p {
    display: block;
    font-size: clamp(26px, 5.5vw, 38px);
  }
}
@media screen and (max-width: 750px) {
  .cta__title p span.sp-top {
    position: relative;
    left: -22vw;
    top: 25px;
  }
}
@media screen and (max-width: 750px) {
  .cta__title p span.sp-bottom {
    position: relative;
    left: 13vw;
  }
}

.cta-figure {
  position: relative;
  display: inline-block;
  color: #006DED;
  line-height: 0;
  width: clamp(260px, 33vw, 370px);
  flex: 0 0 auto;
}
@media screen and (max-width: 750px) {
  .cta-figure {
    display: block;
    left: 50%;
    transform: translateX(-50%);
  }
}

.cta-figure img {
  width: 100%;
  height: auto;
  display: block;
  padding: 15px 10px 0 10px;
}
@media screen and (max-width: 750px) {
  .cta-figure img {
    padding: 10px 0;
  }
}
/* 帯の上に置くテキスト */
.cta-text {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 72%;
  text-align: center;
  font-style: normal;
  color: #006DED;
}
@media screen and (max-width: 750px) {
  .cta-text {
    font-size: clamp(20px, 3.8vw, 22px);
    top: 46%;
  }
}
/* S */
.cta__title strong {
  color: #FBFE0B;
  font-weight: 500;
}
.cta__title .txt-small {
  font-size: clamp(16px, 2vw, 23px);
}
@media screen and (max-width: 750px) {
  .cta__title .txt-small {
    font-size: clamp(20px, 4.1vw, 26px);
  }
}
.cta__img {
  width: clamp(220px, 40vw, 420px);
  height: auto;
  display: inline-block;
  vertical-align: middle;
  margin: 0 12px;
}
/* .cta__btn {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .cta__btn {
    flex-direction: column;
  }
} */

/* ▽ 便利な主要機能section */
.function {
  background-color: #F2FBFF;
  padding: 73px 16px 87px;
}
@media screen and (max-width: 750px) {
  .function {
    padding: 40px 0 39px;
  }
}
.function__top-box--wrap {
  background: #fff;
  margin-bottom: 39px;
  padding: 25px 113px 0;
  margin-top: 39px;
  border-radius: 8px;
}
@media screen and (max-width: 750px) {
  .function__top-box--wrap {
    padding: 16px 15px 0;
    margin-bottom: 16px;
  }
}
.function__top-box--list {
  display: flex;
  justify-content: space-between;
  gap: 17px;
}
@media screen and (max-width: 750px) {
  .function__top-box--list {
    display: block;
  }
}
.function__top-box {
  display: flex;
  background-color: #fff;
  text-align: center;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .function__top-box {
    max-width: 310px;
    justify-content: space-between;
    flex-direction: column;
    gap: 19px 0;
    padding: 22px 0 57px;
  }
}
@media screen and (max-width: 750px) {
  .function__top-box {
    display: flex;
    align-items: flex-start;
    margin-top: 30px;
  }
}
.function__top-box--image {
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .function__top-box--image {
    margin-right: 14px;
    margin-top: 5px;
  }
}
h3.function__top-box-title {
  font-size: 1.6vw;
  font-weight: 700;
  color: #006DED;
  text-align: center !important;
  margin-bottom: 19px;
}
@media screen and (max-width: 750px) {
  h3.function__top-box-title {
    font-size: 5.3vw;
    margin-bottom: 19px;
  }
}
.function__top-box-title {
  font-size: 22px;
  font-weight: 700;
  color: #006DED;
  text-align: center !important;
  margin-bottom: 19px;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .function__top-box-title {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 750px) {
  .function__top-box-title {
    font-size: 4.8vw;
    text-align: left !important;
    padding-top: 0;
    line-height: 1.4;
    margin-bottom: 0;
  }
}
.function__top-box-text {
  text-align: left;
  line-height: 1.6;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .function__top-box-text {
    font-size: 1.17vw;
  }
}
.function__mini-box--list {
  display: flex;
  justify-content: space-between;
  gap: 17px;
}
@media screen and (max-width: 750px) {
  .function__mini-box--list {
    display: block;
  }
}
.function__mini-box {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex: 1;
  gap: 21px 0;
  background-color: #fff;
  text-align: center;
  padding: 30px 14px 30px;
  border-radius: 8px;
}
@media screen and (max-width: 750px) {
  .function__mini-box {
    flex-direction: row;
    align-items: flex-start;
    padding: 16px 15px;
  }
  .function__mini-box:not(:last-child) {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 750px) {
  .function__mini-box-image {
    margin-right: 14px;
    margin-top: 5px;
  }
}
.function__mini-box-title {
  font-size: 22px;
  font-weight: 700;
  color: #006DED;
  text-align: center !important;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .function__mini-box-title {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 750px) {
  .function__mini-box-title {
    text-align: left !important;
    font-size: 4.8vw;
  }
}
.function__mini-box-text{height: 5em;}
@media screen and (max-width: 750px) {
.function__mini-box-text{height: auto;}
}
.function__mini-box p {
  text-align: left;
  line-height: 1.6;
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .function__mini-box p {
    font-size: 1.17vw;
  }
}
@media print, screen and (min-width: 751px) {
  .so-nav-pc {
    background: #f2faff;
    height: 48px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: fixed;
    top: 60px;
    left: 0;
    z-index: 100;
  }
  .so-nav-pc .so-nav-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .so-nav-pc .so-nav-block .so-nav-list {
    font-size: 12px;
    margin: 0 25px;
  }
}
@media print, screen and (max-width: 750px) {
  .so-nav-pc {
    display: none !important;
  }
}

.l-footer-main{margin-top: 0!important;}


.rollover-picture {
  position: relative;
  display: inline-block;
  line-height: 0;
}

.rollover-picture .off-state {
  transition: opacity 0.2s ease-in-out;
}

.rollover-picture .on-state {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.rollover-picture:hover .off-state {
  opacity: 0;
}
.rollover-picture:hover .on-state {
  opacity: 1;
}
.cta__btn .rollover-picture picture,
.cta__btn .rollover-picture img {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .cta__btn .rollover-picture:hover picture,
  .cta__btn .rollover-picture:hover img {
    width: 100%;
  }
}
/* ヘッダーオーバーライド */

.so-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 60px;
  width: 100%;
  background: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  margin-right: 10px;
  /* display: block; */
}

.so-header-btn-block{display: none;}

.so-header .cta__contents {
  margin-right: 10px;
  display: block;
}

.so-header .cta__contents .cta-btn {
  /* width: 20vw;
  max-width: 220px; */
}

.so-header .cta__contents .cta-btn .cta-btn__label {
  /* font-size: clamp(8px, 1.15vw, 14px); */
}
@media screen and (max-width: 750px) {
  .so-header .dl-btn {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .so-header .cta__contents .cta-btn {
    width: clamp(180px, 48vw, 600px);
  }
}
@media screen and (max-width: 750px) {
  .so-header .cta__contents .cta-btn .cta-btn__label {
    font-size: clamp(11px, 2.3vw, 13px);
  }
}
@media screen and (max-width: 750px) {
  .so-header .cta__contents .cta-btn__wrap {
    gap: 0;
  }
}

.so-header .so-header-logo {
  width: 140px;
  margin-left: 20px;
}

@media print, screen and (max-width: 750px) {
  .so-header .so-header-logo {
    width: 35%;
  }
}

@media print, screen and (max-width: 1024px) {
  .md_tableGuide {
          display: block!important;
          text-align: center;
          margin-top: 1rem;
          margin-bottom: 1rem;
          font-size: 16px;
    }
  .md_tableGuide::before {
      content: "";
      display: inline-block;
      width: 1.25rem;
      height: 1.25rem;
      margin-right: 0.25rem;
      background: url(/assets/images/icon/sp_table_scroll.png) center no-repeat;
      background-size: contain;
      vertical-align: -0.25rem;
    }
}

@media print, screen and (max-width: 750px) {
  .md_tableGuide {
          font-size: 3.46667vw;
    }
}

/* feature & inquiry */
@media screen and (min-width: 751px) {
  .nowrap {
    display: inline-flex;
    white-space: nowrap;
  }
}

.features {
  background: #E2F7FD;
}
@media screen and (min-width: 751px) {
  .features {
    padding-block: 80px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features {
    padding-block: 5.86vw;
  }
}
@media screen and (max-width: 750px) {
  .features {
    padding-block: 10.67vw;
  }
}
@media screen and (min-width: 751px) {
  .features__inner {
    box-sizing: content-box;
    max-width: 1000px;
    padding-inline: 16px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 750px) {
  .features__inner {
    padding-inline: 4.27vw;
  }
}
.features__hgroup {
  text-align: center;
}
@media screen and (min-width: 751px) {
  .features__hgroup + .features__function {
    margin-top: 50px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__hgroup + .features__function {
    margin-top: 3.67vw;
  }
}
@media screen and (max-width: 750px) {
  .features__hgroup + .features__function {
    margin-top: 10.67vw;
  }
}
.features__title {
  color: #006DED;
  font-weight: bold;
}
@media screen and (min-width: 751px) {
  .features__title {
    font-size: 26px;
    line-height: 1.53;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__title {
    font-size: 1.91vw;
  }
}
@media screen and (max-width: 750px) {
  .features__title {
    font-size: 5.87vw;
    line-height: 1.63;
  }
}
.features__sub-title {
  color: #0048AD;
  font-weight: bold;
  line-height: 1.53;
  letter-spacing: 0.5em;
}
@media screen and (min-width: 751px) {
  .features__sub-title {
    margin-top: 9px;
    font-size: 16px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__sub-title {
    margin-top: 0.66vw;
    font-size: 1.18vw;
  }
}
@media screen and (max-width: 750px) {
  .features__sub-title {
    margin-top: 2.4vw;
    font-size: 3.74vw;
  }
}
@media screen and (min-width: 751px) {
  .features__function + .features__function {
    margin-top: 80px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function + .features__function {
    margin-top: 5.86vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function + .features__function {
    margin-top: 12.27vw;
  }
}
.features__function .function__title {
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 751px) {
  .features__function .function__title {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.53;
    color: #2D334B;
    padding-inline: 84px;
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__title {
    font-size: 1.91vw;
    padding-inline: 6.15vw;
    margin-bottom: 3.67vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__title {
    font-size: 5.34vw;
    line-height: 2;
    margin-bottom: 10.67vw;
    padding-inline: 22.8vw;
  }
}
.features__function .function__title::before, .features__function .function__title::after {
  content: "";
  position: absolute;
  top: 50%;
  background-color: #2D334B;
  transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .features__function .function__title::before, .features__function .function__title::after {
    width: 60px;
    height: 2px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__title::before, .features__function .function__title::after {
    width: 4.4vw;
    height: 0.15vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__title::before, .features__function .function__title::after {
    width: 16vw;
    height: 0.54vw;
  }
}
.features__function .function__title::before {
  left: 0;
}
.features__function .function__title::after {
  right: 0;
}
.features__function .function__card {
  background: #FFFFFF;
}
@media screen and (min-width: 751px) {
  .features__function .function__card {
    display: grid;
    align-items: center;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card {
    border-top-left-radius: 8vw;
    border-top-right-radius: 2.14vw;
    border-bottom-left-radius: 2.14vw;
    border-bottom-right-radius: 8vw;
    padding: 4.8vw 4.27vw;
  }
}
@media screen and (min-width: 751px) {
  .features__function .function__card + .function__card {
    margin-top: 24px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card + .function__card {
    margin-top: 1.76vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card + .function__card {
    margin-top: 6.4vw;
  }
}
@media screen and (min-width: 751px) {
  .features__function .function__card.--left {
    grid-template-columns: 1fr 452px;
    padding: 24px 24px 24px 40px;
    border-top-left-radius: 50px;
    border-bottom-right-radius: 50px;
    gap: 48px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card.--left {
    padding: 1.76vw 1.76vw 1.76vw 2.93vw;
    border-top-left-radius: 3.67vw;
    border-bottom-right-radius: 3.67vw;
    gap: 3.52vw;
  }
}
@media screen and (min-width: 751px) {
  .features__function .function__card.--right {
    grid-template-columns: 452px 1fr;
    padding: 24px 40px 24px 24px;
    border-top-right-radius: 50px;
    border-bottom-left-radius: 50px;
    gap: 64px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card.--right {
    padding: 1.76vw 2.93vw 1.76vw 1.76vw;
    border-top-right-radius: 3.67vw;
    border-bottom-left-radius: 3.67vw;
    gap: 4.69vw;
  }
}
@media screen and (min-width: 751px) {
  .features__function .function__card.--right .card__content {
    order: 1;
  }
}
.features__function .function__card .card__title {
  color: #006DED;
  display: inline-flex;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title {
    padding-left: 82px;
    font-size: 22px;
    line-height: 1.36;
    min-height: 58px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title {
    padding-left: 6.01vw;
    font-size: clamp(18px, 1.62vw, 22px);
    min-height: 4.25vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title {
    font-size: 4.8vw;
    line-height: 1.66;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 17.34vw;
    min-height: 13.34vw;
  }
}
.features__function .function__card .card__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title::before {
    width: 58px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title::before {
    width: 4.25vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title::before {
    width: 13.07vw;
  }
}
.features__function .function__card .card__title.--ai::before {
  background: url(../images/aichtabot_functions_icon01.png) no-repeat center center;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title.--ai::before {
    height: 58px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title.--ai::before {
    height: 4.25vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title.--ai::before {
    height: 13.34vw;
  }
}
.features__function .function__card .card__title.--ticket::before {
  background: url(../images/aichtabot_functions_icon02.png) no-repeat center center;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title.--ticket::before {
    height: 38px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title.--ticket::before {
    height: 2.79vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title.--ticket::before {
    height: 8.54vw;
  }
}
.features__function .function__card .card__title.--manage::before {
  background: url(../images/aichtabot_functions_icon03.png) no-repeat center center;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title.--manage::before {
    height: 45px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title.--manage::before {
    height: 3.3vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title.--manage::before {
    height: 10.14vw;
  }
}
.features__function .function__card .card__title.--faq::before {
  background: url(../images/aichtabot_functions_icon04.png) no-repeat center center;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title.--faq::before {
    height: 48px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title.--faq::before {
    height: 3.52vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title.--faq::before {
    height: 10.67vw;
  }
}
.features__function .function__card .card__title.--doc::before {
  background: url(../images/aichtabot_functions_icon05.png) no-repeat center center;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__title.--doc::before {
    height: 50px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__title.--doc::before {
    height: 3.67vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__title.--doc::before {
    height: 11.2vw;
  }
}
.features__function .function__card .card__text {
  color: #333;
  line-height: 1.625;
  font-weight: 500;
}
@media screen and (min-width: 751px) {
  .features__function .function__card .card__text {
    font-size: 16px;
    margin-top: 20px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .features__function .function__card .card__text {
    font-size: clamp(14px, 1.18vw, 16px);
    margin-top: 1.47vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__text {
    font-size: 4.27vw;
    margin-top: 3.2vw;
  }
}
@media screen and (max-width: 750px) {
  .features__function .function__card .card__img {
    margin-top: 5.87vw;
  }
}

@media screen and (min-width: 751px) {
  .inquiry {
    padding-block: 80px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry {
    padding-block: 5.86vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry {
    padding-block: 12.8vw 10.67vw;
  }
}
@media screen and (min-width: 751px) {
  .inquiry__inner {
    box-sizing: content-box;
    max-width: 1000px;
    padding-inline: 16px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__inner {
    padding-inline: 4.27vw;
  }
}
.inquiry__title {
  display: inline-block;
  color: #006DED;
  font-weight: bold;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
@media screen and (min-width: 751px) {
  .inquiry__title {
    font-size: 26px;
    line-height: 1.53;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__title {
    font-size: 1.91vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__title {
    font-size: 5.87vw;
    line-height: 1.63;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__title .is-sp {
    display: inline !important;
  }
}
.inquiry__title::before, .inquiry__title::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #006DED;
}
@media screen and (min-width: 751px) {
  .inquiry__title::before, .inquiry__title::after {
    width: 2px;
    height: 54px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__title::before, .inquiry__title::after {
    width: 0.15vw;
    height: 3.96vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__title::before, .inquiry__title::after {
    width: 0.54vw;
    height: 14.4vw;
  }
}
.inquiry__title::before {
  rotate: -45deg;
}
@media screen and (min-width: 751px) {
  .inquiry__title::before {
    left: -35px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__title::before {
    left: -2.56vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__title::before {
    top: 60%;
    left: -6.4vw;
  }
}
.inquiry__title::after {
  rotate: 45deg;
}
@media screen and (min-width: 751px) {
  .inquiry__title::after {
    right: -35px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__title::after {
    right: -2.56vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__title::after {
    top: 60%;
    right: -6.4vw;
  }
}
@media screen and (min-width: 751px) {
  .inquiry__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-top: 120px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__content {
    gap: 3.67vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__content {
    margin-top: 22.94vw;
  }
}
.inquiry__card {
  position: relative;
  background: #E2F7FD;
}
@media screen and (min-width: 751px) {
  .inquiry__card {
    border-radius: 8px;
    padding: 84px 24px 28px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__card {
    border-radius: 0.59vw;
    padding: 84px 1.76vw 2.05vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card {
    border-radius: 2.14vw;
    padding: 16vw 4.27vw 22.67vw 4.27vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card + .inquiry__card {
    margin-top: 18.67vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card:first-of-type .card__img img {
    width: 39.21vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card:last-of-type .card__img img {
    width: 30.67vw;
  }
}
.inquiry__card .card__content {
  display: flex;
  justify-content: space-between;
}
.inquiry__card .card__title {
  display: flex;
  align-items: center;
  position: absolute;
  color: #2D334B;
  line-height: 1.5;
}
@media screen and (min-width: 751px) {
  .inquiry__card .card__title {
    gap: 16px;
    top: -63px;
    font-size: 22px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__card .card__title {
    gap: 1.18vw;
    font-size: clamp(18px, 1.62vw, 22px);
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card .card__title {
    gap: 4.27vw;
    top: -12.53vw;
    font-size: 5.34vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card .card__title img {
    width: 25.07vw;
  }
}
.inquiry__card .card__text {
  color: #333;
  line-height: 1.625;
  font-weight: 500;
  display: grid;
}
@media screen and (min-width: 751px) {
  .inquiry__card .card__text {
    font-size: 16px;
    max-width: 250px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__card .card__text {
    font-size: clamp(14px, 1.18vw, 16px);
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card .card__text {
    font-size: 4.27vw;
    padding-left: 3.2vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card .card__img {
    flex-shrink: 0;
  }
}
@media screen and (min-width: 751px) {
  .inquiry__card .card__img.--adjust {
    padding-right: 8px;
    padding-left: 17px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__card .card__img.--adjust {
    padding-right: 0.59vw;
    padding-left: 1.25vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card .card__img.--adjust {
    padding-right: 2.4vw;
  }
}
@media screen and (min-width: 751px) {
  .inquiry__card .cta-btn {
    /* width: clamp(190px, 19vw, 230px); */
    width: clamp(190px, 22vw, 250px);
    position: relative;
    /* display: inline-block; */
    left: -8px;
    padding: 2.5%;
    margin-top: 24px;
  }
  .inquiry__card .cta-btn.dl-btn {
    margin-top: 48px;
  }
}
/* @media screen and (min-width: 751px) and (max-width: 1366px) {
  .inquiry__card .cta-btn {
    margin-top: 0.88vw;
  }
} */
@media screen and (max-width: 750px) {
  .inquiry__card .cta-btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3.2vw;
    padding: 2.5%;
    width: 63.2vw;
  }
}
@media screen and (max-width: 750px) {
  .inquiry__card .cta-btn .cta-btn__label {
    /* font-size: clamp(18px, 4.6vw, 34px); */
    font-size: clamp(14px, 3.8vw, 30px);
  }
}
.inquiry__card .cta-btn:hover .on-state {
  opacity: 1;
}
/* @media screen and (max-width: 750px) {
  .inquiry__card .cta-btn picture,
  .inquiry__card .cta-btn img {
    width: 100%;
  }
} */
.inquiry__card .cta-btn .on-state {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.inquiry__card .cta-btn__icon {
  top: 0;
  right: 5px;
}
.strong-text {
  font-weight: 700;
  color: #006DED;
}

/* モーダル開中、背面ページをロック（position:fixedは当てない） */
html.modaal-noscroll,
body.modaal-noscroll {
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: contain;
  touch-action: none;
}

/* コメント：固定はJSで .is-fixed を付けたときだけ */
body.is-fixed {
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
}
/* html.modaal-noscroll,
body.modaal-noscroll {
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: contain;
  touch-action: none;
  position: fixed;
  width: 100%;
} */


/* ▽ 202509追加 各種CTAbtn ▽ */
.cta-btn__wrap {
  display: flex;
  align-items: center;
}
.cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  position: relative;
  border-radius: 9999px;
  text-decoration: none;
  transition: background 0.5s ease;
}
.cta-btn__label {
  font-weight: 700;
  /* font-size: clamp(10px, 1.4vw, 18px); */
  font-size: clamp(10px, 1.4vw, 16px);
  color: #2D344B;
  text-align: center;
  flex: 1; /* ラベルが中央に伸びるようにする */
  padding-bottom: 1px;
}
.dl-btn {
  background: #fff;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
  border: 2px solid #fff;
}
.dl-btn:hover {
  background: #0690F2;
}
.dl-btn:hover .cta-btn__label {
  color:#fff;
}
.cta-btn__icon {
  position: absolute;
  right: 8px;
  top: 50%;
  display: flex;
  align-items:center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  position: relative;
  transition: background 0.5s ease;
}
@media screen and (min-width: 562px) and (max-width: 750px) {
  .cta-btn__icon{
    right: 30px;
    width: 30px;
    height: 30px;
  }
}
.dl-btn__icon {
  background: #0690F2;
}
/* 三角形を擬似要素で作成 */
.cta-btn__icon::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: border-left-color .2s ease;
  margin-left: 2px;
  transition: background 0.5s ease;
}
@media screen and (min-width: 562px) and (max-width: 750px) {
  .cta-btn__icon::before {
    content: "";
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }
}
/* 三角形を擬似要素で作成 */
.dl-btn__icon::before {
  content: "";
  border-left: 8px solid #fff;
}
@media screen and (min-width: 562px) and (max-width: 750px) {
  .dl-btn__icon::before {
    content: "";
    border-left: 10px solid #fff;
  }
}
/* hover 時に色を反転 */
.dl-btn:hover .dl-btn__icon {
  background: #fff;
}
.dl-btn:hover .dl-btn__icon::before {
  border-left-color: #0690F2;
}

.contact-btn {
  background: #FFEB00;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
  border: 2px solid #fff;
  transition: background 0.5s ease;
}
.contact-btn__icon{
  background: #fff;
}
/* 三角形を擬似要素で作成 */
.contact-btn__icon::before {
  content: "";
  border-left: 8px solid #FFA700;
}
@media screen and (min-width: 562px) and (max-width: 750px) {
  .contact-btn__icon::before {
    content: "";
    border-left: 10px solid #FDB300;
  }
}
.contact-btn:hover {
  background: #fff;
}
.contact-btn:hover .contact-btn__icon {
  background: #FFA700;
}
.contact-btn:hover .contact-btn__icon::before {
  border-left-color: #fff;
}

/* MV btn */
.mv__lead .cta-btn__wrap {
  justify-content: flex-start;
  /* gap: 35px; */
  gap: 15px;
}
@media screen and (max-width: 750px) {
  .mv__lead .cta-btn__wrap {
    flex-direction: column;
    order: 3;
    /* gap: 20px; */
    gap: 15px;
    margin-top: 35.5px;
  }
}
.mv__lead .cta-btn {
  /* width: 20vw;
  max-width: 220px; */
  width: clamp(170px, 23vw, 265px);
  padding: 5% 0;
}
@media screen and (max-width: 750px) {
  .mv__lead .cta-btn {
    width: clamp(285px, 80vw, 600px);
    /* width: clamp(310.5px, 78vw, 675px); */
    /* width: clamp(310.5px, 78vw, 675px); */
    max-width: 675px;
    /* min-width: 310.5px; */
    /* padding: 3.5% 0; */
    padding: 2.7993348115299335vw 0;
  }
}
.mv__lead .cta-btn__label {
  /* font-size: clamp(10px, 1.6vw, 19px); */
  /* font-size: clamp(8px, 1.15vw, 14px); */
  font-size: clamp(11px, 1.4vw, 16px);
}
@media screen and (max-width: 750px) {
    .mv__lead .cta-btn__label {
    /* font-size: clamp(21px, 4.3vw, 32px); */
    /* font-size: clamp(21px, 4.3vw, 32px); */
    font-size: clamp(20px, 4vw, 24px);
  }
}
/* CTAsection btn */
.cta__contents .cta-btn__wrap {
  justify-content: center;
  gap: 17.2px;
}
@media screen and (max-width: 750px) {
  .cta__contents .cta-btn__wrap {
    flex-direction: column;
    gap: 15px;
  }
}
.cta__contents .cta-btn {
  width: clamp(170px, 23vw, 265px);
  /* width: clamp(170px, 22vw, 246.7px); */
  padding: 5% 0;
}
@media screen and (max-width: 750px) {
  .cta__contents .cta-btn {
    width: clamp(285px, 80vw, 600px);
    padding: 3.5% 0;
  }
}
.cta__contents .cta-btn__label {
  font-size: clamp(11px, 1.4vw, 16px);
}
@media screen and (max-width: 750px) {
  .cta__contents .cta-btn__label {
    font-size: clamp(20px, 4vw, 24px);
  }
}
/* △ 各種CTAbtn △ */