@charset "UTF-8";

html {
  font-size: 100%;
  scroll-behavior: smooth;
}
body {
  color: #333333;
  font-family: "Noto Sans", sans-serif;
  margin: 0;
}
img {
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}
li {
  list-style: none;
}
a {
  color: #333333;
  text-decoration: none;
  transition: all 0.3s ease;
}
a:hover {
  opacity: 1;
}
*, *::before, *::after {
  box-sizing: border-box;
}

/* 改行 */
@media screen and (min-width: 768px) {
  .br-sp {
    display: none;
  }
  .br-pc {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .br-pc {
    display: none;
  }
}
@media screen and (min-width: 375px) {
  .br-320 {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  .br-320 {
    display: block;
  }
}

.wrapper {
  padding: 0 clamp(1.25rem, calc(0.06rem + 5.09vw), 2.5rem);
}

@media screen and (min-width: 768px) {
  .wrapper {
    padding: 0;
    max-width: 1110px;
    width: 57.81%;
    margin: 0 auto;
  }
}

.wrapper-40 {
  padding: 0 clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
/* @media screen and (min-width: 768px) {
  .wrapper-40 {
    padding: 0 7.5rem;
  }
} */


/* fade-upアニメーション */
.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}
.fade-up.delay-1 { 
  transition-delay: 0.2s; 
}
.fade-up.delay-2 {
  transition-delay: 0.4s; 
}
.fade-up.is-active {
  opacity: 1;
  transform: translateY(0);
}


/* mv */
.mv {
  width: 100%;
  background-color: #F0F9FF;
  padding-bottom: clamp(3.25rem, calc(0.1499rem + 13.227vw), 6.5rem);
}
@media screen and (min-width: 768px) {
  .mv {
    padding-bottom: clamp(7.575rem, calc(4.208rem + 7.014vw), 12.625rem);
  }
}

.mv__inner {
  margin: 0 auto;
}
.mv__logo-img {
  padding-top: 0.625rem;
  padding-left: 0.625rem;
  display: flex;
  gap: 10px;
}
.mv__logo-img img {
  width: auto;
  height: 24px;
}
@media screen and (min-width: 768px) {
  .mv__logo-img {
    padding-top: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
    padding-left: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
    gap: clamp(18px, calc(10px + 1.042vw), 30px);
  }
  .mv__logo-img img {
    width: auto;
    height: clamp(34px, calc(19.333px + 1.909vw), 56px);
  }
}
.mv__maincopy {
  margin-top: clamp(1.75rem, calc(0.08rem + 7.12vw), 3.5rem);
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .mv__maincopy {
    margin: -6px auto 0;
    max-width: 760px;
    width: 39.58%;
    padding: 0;
  }
}
.mv__img {
  margin-top: clamp(-72px, calc(-1.65px + -9.16vw), -36px);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .mv__img {
  margin-top: clamp(-100px, calc(-33px - 67 * ((100vw - 768px) / 1152)), -33px);
}
}
.mv__bottom {
  margin-top: -1.25rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .mv__bottom {
    margin-top: 0;
  }
}


/* consult */
.consult {
  margin-top: clamp(-4.6rem, calc(-0.11rem + -9.37vw), -2.3rem);
  position: relative;
}
@media screen and (min-width: 768px) {
  .consult {
    margin-top: clamp(-9rem, calc(0.2708rem - 7.734vw), -3.4375rem);
  }
}
.consult__title {
  position: relative;
  z-index: 1;
}
.consult__title-list {
  background-image: url(../img/consult__bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: clamp(5.1rem, calc(2.833rem + 4.722vw), 8.5rem);
  padding-bottom: clamp(7.8rem, calc(0.36rem + 31.81vw), 15.6rem);
  margin-top: clamp(-4.6rem, calc(-0.13rem + -9.31vw), -2.3125rem);
}
@media screen and (min-width: 768px) {
  .consult__title-list {
  background-image: url(../img/pc/consult__bg.webp);
  padding-top: clamp(4.3125rem, calc(0.2rem + 17.56vw), 8.625rem);
  padding-bottom: clamp(7.5rem, calc(4.416rem + 6.424vw), 12.125rem);
  margin-top: clamp(-8.5rem, calc(-2rem - 8.125vw), -4.6rem);
  }
}
.consult__title-list-item {
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .consult__title-list-item {
    max-width: 746px;
    width: 39.79%;
  }
}
.consult__title-list-item:last-child {
  margin-bottom: 0;
}
.consult__arrow {
  position: absolute;
  bottom: clamp(1.625rem, calc(0.075rem + 6.61vw), 3.25rem);
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: clamp(50px, calc(2.29px + 12.72vw), 100px);
}
@media screen and (min-width: 768px) {
  .consult__arrow {
    bottom: clamp(0.625rem, calc(0.375rem + 0.521vw), 1rem);
    width: clamp(60px, calc(33.333px + 3.472vw), 100px);
  }
}

/* cta__section-consult */
.cta__section-consult {
  background-image: url(../img/cta__bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -2px;
  position: relative;
  text-align: center;
  padding-bottom: clamp(1.4375rem, calc(0.09rem + 5.76vw), 2.85rem);
}
@media screen and (min-width: 768px) {
  .cta__section-consult {
  background-image: url(../img/pc/cta__bg.webp);
  padding-bottom: clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
  }
}

.cta__section-consult .cta__bubble-txt {
  padding-top: clamp(50px, calc(2.29px + 12.72vw), 100px);
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .cta__section-consult .cta__bubble-txt {
    padding-top: calc(0.292rem + 7.205vw);
  }
}
.cta__catch {
  position: absolute;
  top: clamp(-2.875rem, calc(-0.066rem + -5.86vw), -1.4375rem);
  padding-right: clamp(1.25rem, calc(0.06rem + 5.09vw), 2.5rem);
}

@media screen and (min-width: 768px) {
  .cta__catch {
    top: 0;
    padding-right: 0;
  }
}


/* cta-btn */
.cta-btn,
.btn__check {
  width: clamp(295px, calc(13.5px + 75.06vw), 590px);
  margin-top: clamp(0.875rem, calc(0.04rem + 3.56vw), 1.75rem);
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 8px 26px 5px 5px;
  border-radius: 80px;
  position: relative;
  z-index: 1;
  background: linear-gradient(to right, #F9D423 1%, #F83600 100%); 
  background-size: 140% auto;
  background-position: 35% center;
  transition: 0.5s ease;
  color: #fff;
  text-decoration: none;
  box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.25);
  font-size: clamp(20px, calc(0.92px + 5.09vw), 40px);
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .cta-btn,
  .btn__check {
    max-width: 790px;
    width: 61.8%;
    height: 79px;
    justify-content: center;
    font-size: clamp(21px, calc(11px + 1.302vw), 36px);
    line-height: 1.3;
    margin-top: clamp(0.8256rem, calc(0.459rem + 0.764vw), 1.375rem);
}
}

.cta-btn:hover,
.btn__check:hover {
  background-position: 0% center;
}
.cta__btn-icon {
  display: inline-block;
  line-height: 0;
}
.cta__btn-icon img {
  width: clamp(64px, calc(2.93px + 16.29vw), 128px);
  display: block;
}
@media screen and (min-width: 768px) {
  .cta__btn-icon img {
    width: clamp(38px, calc(21.333px + 2.17vw), 63px);
}
}
.cta__sec-consult-arrow-bottom {
  width: clamp(13px, calc(0.6px + 3.31vw), 26px);
  display: inline-block;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .cta__sec-consult-arrow-bottom {
    width: clamp(14px, calc(8.667px + 0.694vw), 22px);
    margin-left: clamp(36px, calc(20px + 2.083vw), 60px);
  }
}
.cta__section-consult .cta-btn {
  justify-content: space-between;
  padding-right: clamp(26px, calc(20.28px + 1.53vw), 32px);
}
@media screen and (min-width: 768px) {
  .cta__section-consult .cta-btn {
    justify-content: center;
  }
}

/* cta__bubble-txt */

@media screen and (min-width: 768px) {
  .cta__bubble-txt {
    max-width: 790px;
    width: 61.8%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
}


/* perspective */
.perspective {
  background: linear-gradient(to bottom, #EEEEEE, #FFFFFF, #EEEEEE);
  padding: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) 0;
}
@media screen and (min-width: 768px) {
  .perspective {
    padding: clamp(3rem, calc(1.667rem + 2.778vw), 5rem) 0 clamp(2.6875rem, calc(1.479rem + 2.517vw), 4.5rem);;
  }
}
.perspective__title {
  padding-bottom: clamp(2.125rem, calc(0.097rem + 8.65vw), 4.25rem);
  position: relative;
}
@media screen and (min-width: 768px) {
  .perspective__title {
    padding-right: 0;
    padding-left: 0;
    max-width: 840px;
    width: 75.6%;
    margin: 0 auto;
    padding-bottom: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
  }
}
.perspective__title::after {
  content: "";
  width: clamp(50px, calc(2.29px + 12.72vw), 100px);
  height: 2px;
  background: linear-gradient(to right, #023A80 50%, #68B563 50%);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .perspective__title::after {
    width: 50px;
  }
}
.perspective__body {
  margin-top: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .perspective__body {
    margin-top: clamp(1.875rem, calc(1.042rem + 1.736vw), 3.125rem);
    max-width: 1110px;
    width: 57.81%;
  }
}

/* overview__top */
.overview__top {
  text-align: center;
  background-color: #EEEEEE;
  padding-bottom: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .overview__top {
    padding-bottom: clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
  }
}

@media screen and (min-width: 768px) {
  .overview__title {
    max-width: 581px;
    width: 45.5%;
  }
}
.overview__title-txt-box {
  margin: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) auto 0;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 0;               /* ← 余白なし */
  flex-wrap: wrap;      /* ← SPで折り返し可 */
  color: #023A80;
  padding: 0 2rem;
}
@media screen and (min-width: 768px) {
  .overview__title-txt-box {
    margin-top: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
    flex-wrap: nowrap;  /* ← PCは横一列 */
  }
}
.overview__title-txt {
  display: inline-flex;
  font-weight: 700;
  font-size: clamp(24px, calc(1.1px + 6.11vw), 48px);
  background-color: #FCFF00;
  line-height: 1;
  padding: 5px 10px;
}
@media screen and (min-width: 768px) {
  .overview__title-txt {
    font-size: clamp(24px, calc(13.333px + 1.389vw), 40px);
  }
  .overview__title-txt:first-child {
    padding-right: 0;
  }
  .overview__title-txt:last-child {
    padding-left: 0;
  }
}
/* 2行目との間 */
.overview__title-txt + .overview__title-txt {
  margin-top: 6px;
}
@media screen and (min-width: 768px) {
  .overview__title-txt + .overview__title-txt {
    margin-top: 0;
  }
}

/* overview__bottom以下のグラデーション背景 */
.gradation-bg-area {
  background: linear-gradient(to bottom, #FAFCFC, #D9EDF4);
}

/* overview__bottom */
.overview__bottom {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 768px) {
  .overview__bottom {
    max-width: 1110px;
    width: 57.8%;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1.875rem, calc(1.042rem + 1.736vw), 3.125rem) clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
    padding-top: clamp(3.1875rem, calc(1.729rem + 3.038vw), 5.375rem);
    margin-bottom: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
  }
}

.overview__realestate {
  top: 7.375rem;
  left: 0;
}
.overview__sunlight {
  margin-top: clamp(3.5rem, calc(0.16rem + 14.25vw), 7rem);
}
@media screen and (min-width: 768px) {
  .overview__sunlight {
    margin-top: 0;
  }
}
.overview__bottom-txt {
  margin-top: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
  margin-bottom: clamp(3.5rem, calc(0.16rem + 14.25vw), 7rem);
  padding: 0 clamp(1.25rem, calc(0.06rem + 5.09vw), 2.5rem);
}
@media screen and (min-width: 768px) {
  .overview__bottom-txt {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    grid-column: 1 / -1;
  }
}
/* roles */
.roles {
  position: relative;
  text-align: center;
}
.roles__bg {
  padding-top: clamp(1.75rem, calc(0.08rem + 7.12vw), 3.5rem);
  padding-bottom: clamp(10.3125rem, calc(0.473rem + 41.96vw), 20.625rem);
  background: linear-gradient(to right, #7ADFCB, #80AEE1);
  clip-path: polygon(0 0,100% 0, 100% 82.5%, 50% 100%, 0 82.5%);
}
@media screen and (min-width: 768px) {
  .roles__bg {
    padding-top: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
    padding-bottom: clamp(9.6rem, calc(5.333rem + 8.889vw), 16rem);
    clip-path: polygon(0 0,100% 0, 100% 64%, 50% 100%, 0 64%);
  }
}
@media screen and (min-width: 768px) {
  .roles__title {
    max-width: 749px;
    width: 67.47%;
    margin: 0 auto;
  }
}
.roles__body {
  margin-top: clamp(1.875rem, calc(0.086rem + 7.63vw), 3.75rem);
}
@media screen and (min-width: 768px) {
  .roles__body {
    margin: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem) auto 0;
  }
}
.roles__bottom-txt-box {
  margin-top: 2.8125rem;
  text-align: center;
  position: absolute;
  bottom: 3.625rem;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px; 
}
@media screen and (min-width: 768px) {
  .roles__bottom-txt-box {
    margin-top: 0;
    bottom: clamp(4.575rem, calc(2.544rem + 4.236vw), 7.625rem);
  }
}
.roles__bottom-txt {
  display: block;
  width: fit-content;
  font-size: clamp(1.5rem, calc(0.069rem + 6.11vw), 3rem);
  font-weight: 700;
  line-height: 1.3;
  background-color: #FCFF00;
  padding: 0 10px;
}
@media screen and (min-width: 768px) {
  .roles__bottom-txt {
    font-size: clamp(22px, calc(12.667px + 1.215vw), 36px);
  }
}
.roles__bottom {
  margin-top: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
  margin-bottom: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .roles__bottom {
    max-width: 1110px;
    width: 57.81%;
    margin: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem) auto clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
  }
}

/* cta-section */

.cta-section {
  background-image: url(../img/cta-section-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  padding: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) 0;
}
@media screen and (min-width: 768px) {
  .cta-section {
    background-image: url(../img/pc/cta-section-bg.webp);
    padding: clamp(3rem, calc(1.667rem + 2.778vw), 5rem) 0;
  }
}
.cta-section .cta-btn {
  margin: clamp(1rem, calc(0.046rem + 4.07vw), 2rem) 0 0;
}
/* reason */
.reason {
  padding: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) 0;
}
@media screen and (min-width: 768px) {
  .reason {
    padding-bottom: clamp(7.5rem, calc(4.167rem + 6.944vw), 12.5rem);;
  }
}
@media screen and (min-width: 768px) {
.reason__inner {
  max-width: 1110px;
  width: 57.8%;
  margin: 0 auto;
}
}
.reason__title {
  padding-bottom: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
  position: relative;
}
@media screen and (min-width: 768px) {
  .reason__title {
    padding-bottom: clamp(1.25rem, calc(0.75rem + 1.042vw), 2rem);;
  }
}
.reason__title::after {
  content: "";
  width: 50px;
  height: 2px;
  background: linear-gradient(to right, #023A80 50%, #68B563 50%);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.reason__list {
  margin-top: clamp(2.375rem, calc(0.109rem + 9.67vw), 4.75rem);
  display: flex;
  flex-direction: column;
  gap: clamp(20px, calc(0.92px + 5.09vw), 40px);
}
@media screen and (min-width: 768px) {
  .reason__list {
   margin: clamp(3rem, calc(1.667rem + 2.778vw), 5rem) auto 0;
   gap: clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
  }
}
.reason__list-item:first-child,
.reason__list-item:last-child {
  padding-right: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
}

@media screen and (min-width: 768px) {
  .reason__list-item:first-child,
  .reason__list-item:last-child {
   padding-right: clamp(3.1125rem, calc(1.729rem + 2.882vw), 5.1875rem);
  }
  .reason__list-item:nth-of-type(even) {
    padding-left: clamp(3.1125rem, calc(1.729rem + 2.882vw), 5.1875rem);
    padding-right: 0;
  }
}


/* comparison */
.comparison {
  padding-bottom: clamp(6rem, calc(0.28rem + 24.43vw), 12rem);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .comparison {
  padding-bottom: clamp(8.475rem, calc(4.708rem + 7.847vw), 14.125rem);
  }
}
.comparison__title {
  width: 88%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .comparison__title {
    width: 51%;
  }
}
.comparison__teble {
  margin-top: clamp(0.75rem, calc(0.034rem + 3.05vw), 1.5rem);;
}
@media screen and (min-width: 768px) {
  .comparison__teble {
    margin-top: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
  }
}

/* risk */
.risk {
  margin-top: clamp(-5rem, calc(-0.115rem + -10.18vw), -2.5rem);
}
@media screen and (min-width: 768px) {
  .risk {
    margin-top: clamp(-7.5rem, calc(-2.5rem - 4.167vw), -4.5rem);
  }
}
.risk__title {
  position: relative;
  z-index: 1;
}
.risk__bgarea {
  background: linear-gradient(to bottom, #F8F8F8, #fff);
  padding-top: clamp(5rem, calc(0.23rem + 20.36vw), 10rem);
  padding-bottom: clamp(4rem, calc(0.18rem + 16.29vw), 8rem);
  clip-path: polygon(0 0, 100% 0, 100% 99%, 0 100%);
  margin-top: clamp(-5rem, calc(-0.115rem + -10.18vw), -2.5rem);
}
@media screen and (min-width: 768px) {
  .risk__bgarea {
    padding-top: clamp(5.625rem, calc(3.125rem + 5.208vw), 9.375rem);
    padding-bottom: clamp(8.5875rem, calc(4.771rem + 7.953vw), 14.3125rem);
    margin-top: clamp(-6.25rem, calc(-2.083rem - 3.472vw), -3.75rem);
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
  }
}

.risk__lead-txt-box {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) { 
  .risk__lead-txt-box {
    flex-direction: row-reverse;
    gap: clamp(1.125rem, calc(0.625rem + 1.042vw), 1.875rem);
  }
}
.risk__lead-txt {
  font-size: clamp(16px, calc(0.733px + 4.071vw), 32px);
  font-weight: 700;
  line-height: 1.6;
  padding: 0 1.25rem;
  text-align: justify;
}
.risk__lead-txt span {
  background-color: #FCFF00;
}
@media screen and (min-width: 768px) { 
  .risk__lead-txt {
    font-size: clamp(14px, calc(7.333px + 0.868vw), 24px);
    width: 1fr;
    margin: 0 auto;
    padding: 0;
  }
}
.risk__lead-img {
  width: 33.6%;
  margin: -9px 0 0 auto;
}
@media screen and (min-width: 768px) { 
  .risk__lead-img {
    max-width: 156px;
    width: 100%;
    margin: 0;
  }
}

.risk__inner-bottom {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .risk__inner-bottom {
    margin: clamp(1.875rem, calc(1.042rem + 1.736vw), 3.125rem) auto 0;
  }
}

.risk__list {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, calc(0.069rem + 6.11vw), 3rem);
}
@media screen and (min-width: 768px) {
  .risk__list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(24px, calc(13.333px + 1.389vw), 40px) clamp(20px, calc(0px + 2.604vw), 50px);;
  } 
  .risk__list-item {
    width: 30.2%;
  }
}

.risk__note {
  font-weight: 700;
  font-size: clamp(10px, calc(0.46px + 2.55vw), 20px);
  line-height: 1.4;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .risk__note {
    text-align: center;
    margin-top: clamp(24px, calc(13.333px + 1.389vw), 40px);
    font-size: clamp(10px, calc(7.333px + 0.347vw), 14px);
  }
}

/* support */
.support {
  background-color: #F0F9FF;
  padding: clamp(5.25rem, calc(0.24rem + 21.37vw), 10.5rem) 0 clamp(5rem, calc(0.23rem + 20.36vw), 10rem);
  margin-top: clamp(-3.25rem, calc(-0.075rem + -6.11vw), -1.625rem);
}
@media screen and (min-width: 768px) {
  .support {
    padding: clamp(9.15rem, calc(5.083rem + 8.472vw), 15.25rem) 0 clamp(3.6rem, calc(2rem + 3.333vw), 6rem);
    margin-top: clamp(-12.125rem, calc(-4.042rem - 6.736vw), -7.275rem);
  }
  .support__inner {
    max-width: 1110px;
    width: 57.8%;
    margin: 0 auto;
  }
}

.support__title {
  padding-bottom: clamp(1.625rem, calc(0.075rem + 6.61vw), 3.25rem);
  position: relative;
}
.support__title::after {
  content: "";
  width: clamp(50px, calc(2.29px + 12.72vw), 100px);
  height: 2px;
  background: linear-gradient(to right, #023A80 50%, #68B563 50%);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .support__title {
    max-width: 617px;
    width: 55.5%;
    padding-bottom: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem);
  }
  .support__title::after {
    width: 50px;
  }
}
.support__lead-img {
  margin-top: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .support__lead-img {
  margin: clamp(1.875rem, calc(1.042rem + 1.736vw), 3.125rem) auto 0;
}
}

.support__lead-txt {
  font-size: clamp(16px, calc(0.73px + 4.07vw), 32px);
  font-weight: 700;
  line-height: 1.6;
  margin-top: clamp(2rem, calc(0.09rem + 8.14vw), 4rem);
}
.support__lead-txt p:last-child {
  margin-top: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
}
@media screen and (min-width: 768px) {
  .support__lead-txt {
    font-size: clamp(10px, calc(3.333px + 0.868vw), 20px);
    margin: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem) auto 0;
    padding: 0;
    text-align: center;
  }
  .support__lead-txt p:last-child {
    margin-top: 0;
}
}
.support__flow {
  margin-top: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
  padding: 0 clamp(1.25rem, calc(0.06rem + 5.09vw), 2.5rem);
}
.support__flow-img {
  margin-top: -1px;
}
@media screen and (min-width: 768px) {
  .support__flow {
    margin-top: clamp(1.875rem, calc(1.042rem + 1.736vw), 3.125rem);
    padding: 0;
  }
}


/* voice */
.voice {
  background-color: #F0F9FF;
  padding-bottom: clamp(5rem, calc(0.23rem + 20.36vw), 10rem);
}
@media screen and (min-width: 768px) {
  .voice {
    padding-bottom: clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
  }
}
.voice__title {
  position: relative;
  padding-bottom: clamp(2rem, calc(0.09rem + 8.14vw), 4rem);
}
.voice__title::after {
  content: "";
  width: clamp(50px, calc(2.29px + 12.72vw), 100px);
  height: 2px;
  background: linear-gradient(to right, #023A80 50%, #68B563 50%);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .voice__title {
    max-width: 414px;
    width: 37.29%;
    margin: 0 auto;
    padding-bottom: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem)
  }
  .voice__title::after {
    width: 50px;
  }
}

.voice__list {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, calc(0.667rem + 0.694vw), 1.5rem);
  margin-top: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .voice__list {
    flex-direction: row;
    justify-content: space-between;
    gap: clamp(20px, calc(0px + 2.604vw), 50px);
    margin-top: clamp(1.95rem, calc(1.083rem + 1.806vw), 3.25rem);
  }
}

.simulation {
  background-color: #F0F9FF;
}

/* entry */
.entry {
  background: linear-gradient(to right, #7ADFCB, #80AEE1);
  padding: clamp(4.75rem, calc(0.22rem + 19.34vw), 9.5rem) 0 clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
  margin-top: clamp(-38px, calc(-0.87px + -4.84vw), -19px);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .entry {
    padding: clamp(4.5rem, calc(2.5rem + 4.167vw), 7.5rem) 0 clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
    margin-top: clamp(-5rem, calc(-0.417rem - 3.819vw), -2.25rem);
  }
}
.entry__inner {
  background-color: #fff;
  padding: clamp(1.5rem, calc(0.069rem + 6.11vw), 3rem) clamp(1.25rem, calc(0.06rem + 5.09vw), 2.5rem);
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .entry__inner {
    max-width: 1110px;
    padding: clamp(1.5rem, calc(0.833rem + 1.389vw), 2.5rem) 0 clamp(2.25rem, calc(1.25rem + 2.083vw), 3.75rem);
  }
}
.entry__title {
  text-align: center;
  font-weight: 700;
  font-size: clamp(22px, calc(1.01px + 5.6vw), 44px);
  color: #023A80;
  position: relative;
  padding-bottom: clamp(1.875rem, calc(0.086rem + 7.63vw), 3.75rem);
  margin-bottom: clamp(1.875rem, calc(0.086rem + 7.63vw), 3.75rem);
}
.entry__title::after {
  content: "";
  width: clamp(50px, calc(2.29px + 12.72vw), 100px);
  height: 2px;
  background: linear-gradient(to right, #023A80 50%, #68B563 50%);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .entry__title {
    font-size: clamp(1.35rem, calc(0.75rem + 1.25vw), 2.25rem);
    padding-bottom: clamp(1.11rem, calc(0.617rem + 1.028vw), 1.85rem);
    margin-bottom: clamp(1.11rem, calc(0.617rem + 1.028vw), 1.85rem);
  }
  .entry__title::after {
    width: 50px;
  }
}

/* 1行（ラベル＋フォーム部） */
@media screen and (min-width: 768px) {
  .entry-form {
    max-width: 745px;
    width: 58.3%;;
    margin: 0 auto;
  }
}
.entry-form__row{
  position: relative; /* selectの▼用 */
  display: flex;
  flex-direction: column;
  gap: clamp(4px, calc(0.18px + 1.02vw), 8px);
  margin-top: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
}
@media screen and (min-width: 768px) {
  .entry-form__row {
    margin-top: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
  }
}

/* ラベル */
.entry-form__label,
.entry__privacy-policy-ttl {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(14px, calc(0.64px + 3.56vw), 28px);
  font-weight: 800;
  color: #0b3b79;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .entry-form__label,
.entry__privacy-policy-ttl {
    font-size: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
    gap: 8px;
  }
}

/* 必須バッジ */
.entry-form__req{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: clamp(24px, calc(1.1px + 6.11vw), 48px);
  padding: 0 10px;
  border-radius: 2px;
  background: linear-gradient(to right, #7ADFCB, #80AEE1);
  color: #fff;
  font-size: clamp(14px, calc(0.64px + 3.56vw), 28px);
  font-weight: 800;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .entry-form__req {
    font-size: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
    height: auto;
    line-height: 1.4;
  }
}

/* input/select 共通 */
.entry-form input,
.entry-form select{
  width: 100%;
  height: clamp(45px, calc(2.06px + 11.45vw), 90px);
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fff;
  padding: 10px 14px;
  font-size: clamp(16px, calc(0.73px + 4.07vw), 32px);
  color: #023A80;
  outline: none;
}
@media screen and (min-width: 768px) {
  .entry-form input,
  .entry-form select {
    height: 45px;
    font-size: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
  }
}

/* プレースホルダ */
.entry-form input::placeholder{
  color: #9aa8b6;
}

/* フォーカス（うっすら青） */
.entry-form input:focus,
.entry-form select:focus{
  border-color: rgba(11, 59, 121, .45);
  box-shadow: 0 0 0 3px rgba(90, 168, 255, .18);
}

/* selectの見た目を整える */
.entry-form select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 54px; /* ▼の分 */
  cursor: pointer;
}

/* select右側の▼（スクショの三角） */
.entry-form__row:has(select)::after{
  content: "";
  position: absolute;
  right: 18px;
  top: clamp(43px, calc(1.97px + 10.94vw), 86px); /* 入力欄の上辺からの目安 */
  transform: translateY(-50%);
  width: clamp(18px, calc(0.82px + 4.58vw), 36px);
  height: clamp(12px, calc(0.55px + 3.05vw), 24px);

  background: linear-gradient(to right, #7ADFCB, #80AEE1);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .entry-form__row:has(select)::after {
    width: 16px;
    height: 16px;
    top: 47px;
  }
}

/* Safariなど :has が効かない場合の保険（簡易） */
@supports not selector(:has(*)) {
  /* select行の after が出ないので、必要ならHTMLに classを足してください
     例：<div class="entry-form__row entry-form__row--select"> */
  .entry-form__row--select::after{
    content: "";
    position: absolute;
    right: 18px;
    top:clamp(43px, calc(1.97px + 10.94vw), 86px);
    transform: translateY(-50%);
    width: clamp(18px, calc(0.82px + 4.58vw), 36px);
    height: clamp(12px, calc(0.55px + 3.05vw), 24px);

    background: linear-gradient(to right, #7ADFCB, #80AEE1);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    pointer-events: none;
  }
}

.entry__privacy-policy {
  text-align: left;
  margin-top: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
  display: flex;
  flex-direction: column;
  gap: clamp(4px, calc(0.18px + 1.02vw), 8px);
}
@media screen and (min-width: 768px) {
  .entry__privacy-policy {
    margin-top: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
  }
}
.entry__privacy-policy-container {
  padding: 2rem;
  border: solid #d9d9d9;
}
@media screen and (min-width: 768px) {
  .entry__privacy-policy-container {
    padding: 1rem;
  }
}
.sc_area {
  height: 24rem;
  overflow-y: scroll;
  padding-right: 2rem;
}
@media screen and (min-width: 768px) {
  .sc_area {
    height: 10rem;
    padding-right: 1rem;
  }
}
.entry__privacy-policy-txt {
  font-size: clamp(14px, calc(0.64px + 3.56vw), 28px);
}
@media screen and (min-width: 768px) {
  .entry__privacy-policy-txt {
    font-size: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
  }
}

.elementor-field-group {
  display: flex;
  gap: clamp(4px, calc(0.18px + 1.02vw), 8px);
  margin-top: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
}
@media screen and (min-width: 768px) {
  .elementor-field-group {
    margin-top: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
  }
}
.checkbox {
  width: 2rem !important;
}
@media screen and (min-width: 768px) {
  .checkbox {
  width: 1rem !important;
}
}


/* エラー表示（contact.js の .error を想定） */
.entry-form .error{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
  color: #D1212D;
}

/* エラー時 input を赤枠に（contact.js が error-form を付与） */
.entry-form .error-form{
  border-color: #D1212D !important;
  box-shadow: 0 0 0 3px rgba(229, 57, 53, .12);
}

/* 送信ボタン：大きめ・丸・グラデ */

.entry .btn__check {
  height: clamp(74px, calc(3.39px + 18.84vw), 148px);
  text-align: center;
  margin: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) auto 0;
  padding: 0;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .entry .btn__check{
    height: clamp(2.9625rem, calc(1.646rem + 2.743vw), 4.9375rem);
    margin-top: clamp(3rem, calc(1.667rem + 2.778vw), 5rem);
  }
}


/* faq */
.faq {
  padding: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) 2.5rem clamp(4.65rem, calc(2.583rem + 4.306vw), 7.75rem);
  background-color: #F0F9FF;
}
@media screen and (min-width: 768px) {
  .faq {
    padding-left: 0;
    padding-right: 0;
  }
  .faq__inner {
    max-width: 1110px;
    width: 57.8%;
    margin: 0 auto;
  }
}
.faq__title {
  margin-bottom: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .faq__title {
    max-width: 296px;
    width: 26.6%;
    margin: 0 auto clamp(2.4rem, calc(1.333rem + 2.222vw), 4rem);
  }
}
.qa {
  margin-bottom: 14px;
  border: none;
  border-radius: 4px;
  background-color: #fff;
}
.qa:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .qa {
    margin: 0 auto 10px;
  }
}
.qa summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 8px 48px 8px 43px;
  color: #023A80;
  font-weight: 700;
  cursor: pointer;
  font-size: clamp(14px, calc(0.64px + 3.56vw), 28px);
  line-height: 1.6;
  position: relative;
}
.qa summary::before,
.qa p::before {
  position: absolute;
  left: 12px;
  font-weight: 600;
  font-size: 1.3em;
}
.qa summary::before {
  background: linear-gradient(to right, #7ADFCB, #80AEE1);
  -webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
  content: "Q";
  font-size: 24px;
}

.qa summary::after {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  margin-left: 16px;
  content: "";
  background-image: url(../img/open.webp);
  background-image: url(../img/open.webp);
  transition: transform .5s;
  background-size: contain;
}
.qa[open] summary::after {
  width: 14px;
  height: 14px;
  margin-left: 10px;
  content: "";
  background-image: url(../img/close.webp);
}
.qa p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 8px 8px 8px 43px;
  color: #023A80;
  font-weight: 500;
  font-size: clamp(14px, calc(8.28px + 1.53vw), 20px);
  line-height: 1.6;
  transition: transform .5s, opacity .5s;
  border-image: linear-gradient(to right, #7ADFCB, #80AEE1) 1;
  border-top: 1px solid;
}
.qa[open] p {
  transform: none;
  opacity: 1;
}
.qa p::before {
  background: linear-gradient(to right, #7ADFCB, #80AEE1);
  -webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
  font-size: 24px;
  line-height: 1.6;
  content: "A";
  top: 5%;
}
@media screen and (min-width: 768px) {
  .qa p {
    font-size: clamp(0.875rem, calc(0.708rem + 0.347vw), 1.125rem);
    padding: 12px 20px 12px 60px;
  }
    .qa summary {
    font-size: clamp(1rem, calc(0.667rem + 0.694vw), 1.5rem);
    padding: 12px 10px 12px 60px;
  }
  .qa summary::before,
  .qa p::before {
    left: 22px;
}
}


/* company */
.company {
  padding: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem) 2.5rem clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
.company__container:first-child {
  margin-bottom: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .company {
    padding-left: 0;
    padding-right: 0;
  }
  .company__container:first-child {
    margin-bottom: clamp(2.025rem, calc(1.125rem + 1.875vw), 3.375rem);
  }
}
.company__title {
  text-align: center;
  padding-bottom: clamp(1rem, calc(0.046rem + 4.07vw), 2rem);
  position: relative;
}
.company__title::after {
  content: "";
  width: clamp(50px, calc(2.29px + 12.72vw), 100px);
  height: 2px;
  background: linear-gradient(to right, #023A80 50%, #68B563 50%);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .company__title {
    padding-bottom: clamp(1rem, calc(0.667rem + 0.694vw), 1.5rem);
  }
  .company__title::after {
    width: 50px;
  }
}
.company__title p {
  font-weight: 700;
  font-size: clamp(20px, calc(0.92px + 5.09vw), 40px);
  color: #023A80;
}
@media screen and (min-width: 768px) {
  .company__title p {
    font-size: clamp(1.2rem, calc(0.667rem + 1.111vw), 2rem);
  }
}
.company__logo {
  max-width: clamp(134px, calc(6.24px + 34.1vw), 268px);
  height: auto;
  margin: clamp(1rem, calc(0.046rem + 4.07vw), 2rem) auto 0;
}
@media screen and (min-width: 768px) {
  .company__logo {
    margin-top: clamp(1rem, calc(0.667rem + 0.694vw), 1.5rem);
  }
  .company__logo img {
    max-width: 134px;
  }
}
.company__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: clamp(2rem, calc(0.09rem + 8.14vw), 4rem);
}
@media screen and (min-width: 768px) {
  .company__list {
    max-width: 1110px;
    width: 57.8%;
    margin: clamp(1rem, calc(0.667rem + 0.694vw), 1.5rem) auto 0;
  }
  
}
.company__list dt {
  width: clamp(80px, calc(3.66px + 20.36vw), 160px);
  border-bottom: solid 1px #D9D9D9;
  padding: clamp(8px, calc(0.37px + 2.04vw), 16px) 0;
  font-size: clamp(12px, calc(0.55px + 3.05vw), 24px);
  font-weight: 700;
  line-height: 1.4;
  color: #023A80;
}
.company__list dd {
  width: calc(100% - clamp(80px, calc(3.66px + 20.36vw), 160px));
  border-bottom: solid 1px #D9D9D9;
  padding: clamp(8px, calc(0.37px + 2.04vw), 16px) 0;
  font-size: clamp(12px, calc(0.55px + 3.05vw), 24px);
  font-weight: 700;
  line-height: 1.4;
  color: #023A80;
}
@media screen and (min-width: 768px) {
  .company__list dt,
  .company__list dd {
    font-size: clamp(0.875rem, calc(0.792rem + 0.174vw), 1rem);
  }
  .company__list dt {
    width: clamp(138px, calc(76.667px + 7.986vw), 230px);
  }
  .company__list dd {
    width: calc(100% - clamp(138px, calc(76.667px + 7.986vw), 230px));
  }
}



/* cta-fixed */
.cta-fixed {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;

  background-image: url(../img/cta-fixed-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -1px;
  text-align: center;
  padding-bottom: 1rem;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity .3s ease, transform .3s ease;
}
@media screen and (min-width: 768px) {
  .cta-fixed {
    background-image: url(../img/pc/cta-fixed-bg.webp);
  }
}
/* 表示状態 */
.cta-fixed.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.cta-fixed-catch {
  background-color: #023A80;
  padding: 10px 0;
}
.cta-fixed-catch p {
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .cta-fixed-catch p {
    font-size: 1.25rem;
  }
}
.cta-fixed .cta-btn {
  margin-top: 1rem;
  max-width: 361px;
  width: 96%;
  padding-left: 3px;
  gap: 5px;
  font-size: 20px;
}
.cta-fixed .cta__btn-icon img {
  width: 64px;
}
@media screen and (min-width: 768px) {
  .cta-fixed .cta-btn {
    max-width: 470px;
    height: 60px;
    justify-content:flex-start;
    font-size: 24px;
  }
  .cta-fixed .cta__btn-icon img {
    width: 60px;
    margin-right: 20px;
  }
}

/* footer */

/* cta__section-footer */
.cta__section-footer {
  background-image: url(../img/cta__bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -1px;
  position: relative;
  text-align: center;
  padding-bottom: clamp(2.5rem, calc(0.115rem + 10.18vw), 5rem);
}
@media screen and (min-width: 768px) {
  .cta__section-footer {
    background-image: url(../img/pc/cta__bg.webp);
    padding: clamp(3rem, calc(1.667rem + 2.778vw), 5rem) 0;
  }
}
.cta__section-footer .cta__bubble-txt {
  padding-top: clamp(3.125rem, calc(0.14rem + 12.72vw), 6.25rem);
}

@media screen and (min-width: 768px) {
 .cta__section-footer .cta__bubble-txt {
    max-width: 790px;
    width: 61.8%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
}
.copyright {
  background-color: #023A80;
  padding: 16px 0;
  text-align: center;
}
.copyright p {
  font-weight: 700;
  font-size: clamp(10px, calc(0.46px + 2.55vw), 20px);
  line-height: 1.4;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .copyright p {
    font-size: 12px;
  }
}
