@charset "UTF-8";
/* ====================================================
レスポンシブ
==================================================== */
/* ====================================================
カラー　$c-カラー名
==================================================== */
/* ====================================================
フォント　$f-フォント名
==================================================== */
/* ====================================================
フォントサイズ
==================================================== */
.home .mainvisual { position: relative; width: 100%; height: 100vh; z-index: 2; }
@media (max-width: 1024px) { .home .mainvisual { min-height: 500px; height: auto; aspect-ratio: 5 / 3; } }
@media (max-width: 767px) { .home .mainvisual { min-height: auto; height: 100vh; aspect-ratio: auto; } }
.home .mainvisual .mainvisual__fade-box { position: absolute; top: 13.6vw; left: 0; width: 92vw; height: 100%; z-index: 3; }
@media (max-width: 1024px) { .home .mainvisual .mainvisual__fade-box { top: 5.6vw; } }
@media (max-width: 767px) { .home .mainvisual .mainvisual__fade-box { top: 0; width: 100%; } }
.home .mainvisual .mainvisual__fade-box .mainvisual__arrow { position: absolute; opacity: 0; -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); }
.home .mainvisual .mainvisual__fade-box .mainvisual__arrow_01 { top: 0; width: 45vw; z-index: 5; }
.home .mainvisual .mainvisual__fade-box .mainvisual__arrow_02 { top: 9.5vw; width: 92vw; z-index: 6; }
.home .mainvisual .mainvisual__fade-box .mainvisual_ico_box { position: absolute; top: 21px; left: 0.8vw; width: 36.6vw; opacity: 0; -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); z-index: 7; }
.home .mainvisual .mainvisual__fade-box .mainvisual_cloud { position: absolute; top: -3vw; right: -36px; width: 55vw; opacity: 0; -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); z-index: 8; }
.home .mainvisual .mainvisual__fade-box .mainvisual__arrow-sp { position: absolute; top: 144px; left: 0; width: 100%; height: 100%; opacity: 0; -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1); z-index: 9; }
.home .mainvisual .mainvisual__copy { position: absolute; width: 34.627vw; top: 17.13vw; right: 10.908vw; z-index: 4; }
@media (max-width: 1024px) { .home .mainvisual .mainvisual__copy { top: 11.13vw; } }
@media (max-width: 767px) { .home .mainvisual .mainvisual__copy { top: 76px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); max-width: 277px; width: 74%; } }
.home .mainvisual .mainvisual__copy h2 { margin-bottom: 53px; font-size: clamp(3.5rem, 2.9282576867vw, 4.5rem); font-weight: bold; letter-spacing: 0.06em; width: 0; white-space: nowrap; overflow: hidden; -webkit-transition: width 1s cubic-bezier(0.55, 0, 0, 1); transition: width 1s cubic-bezier(0.55, 0, 0, 1); }
@media (max-width: 1024px) { .home .mainvisual .mainvisual__copy h2 { margin-bottom: 30px; font-size: clamp(2.6rem, 3.41796875vw, 3.5rem); } }
.home .mainvisual .mainvisual__copy h2 span { color: #DC050F; }
.home .mainvisual .mainvisual__copy h2.active { width: 100%; }
.home .mainvisual .mainvisual__copy .copy_test { font-size: clamp(1.5rem, 1.317715959vw, 2.3rem); line-height: 2.2; width: 0; white-space: nowrap; overflow: hidden; -webkit-transition: width 1s cubic-bezier(0.55, 0, 0, 1); transition: width 1s cubic-bezier(0.55, 0, 0, 1); }
@media (max-width: 1024px) { .home .mainvisual .mainvisual__copy .copy_test { font-size: clamp(1.3rem, 1.46484375vw, 1.5rem); line-height: 1.9; } }
.home .mainvisual .mainvisual__copy .copy_test.active { width: 100%; }
.home .mainvisual .mainvisual__scrolldown { position: absolute; right: 4%; bottom: 10px; height: 60px; }
@media (max-width: 767px) { .home .mainvisual .mainvisual__scrolldown { right: 11%; bottom: 0; } }
.home .mainvisual .mainvisual__scrolldown span { position: absolute; top: -60px; left: -38px; color: #000000; font-size: 16px; font-size: 1.6rem; font-weight: bold; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
@media (max-width: 1024px) { .home .mainvisual .mainvisual__scrolldown span { top: -50px; left: -29px; font-size: 12px; font-size: 1.2rem; } }
.home .mainvisual .mainvisual__scrolldown:after { content: ""; position: absolute; top: 0; width: 1px; height: 98px; background: #000000; -webkit-animation: pathmove 1.4s ease-in-out infinite; animation: pathmove 1.4s ease-in-out infinite; opacity: 0; }
.home .main__contents { position: relative; width: 100%; margin-top: 90px; z-index: 10; }
@media (max-width: 767px) { .home .main__contents { margin-top: 0; } }
.home .main__contents .features { margin-bottom: 148px; }
@media (max-width: 767px) { .home .main__contents .features { margin-bottom: 104px; } }
.home .main__contents .features .inner { padding: 0 4.905vw; }
@media (max-width: 767px) { .home .main__contents .features .inner { width: 100%; padding: 0 6%; } }
.home .main__contents .features .inner .features__ttl { margin-bottom: 59px; }
@media (max-width: 767px) { .home .main__contents .features .inner .features__ttl { margin-bottom: 30px; } }
.home .main__contents .features .inner .features__description { margin-bottom: 85px; text-align: center; line-height: 1.8; }
@media (max-width: 767px) { .home .main__contents .features .inner .features__description { margin-bottom: 20px; text-align: left; } }
.home .main__contents .features .inner .features__description .description-txt { font-size: clamp(1.6rem, 1.317715959vw, 1.8rem); font-weight: bold; }
.home .main__contents .features .inner .features__description .description-txt span.txt-red { color: #DC050F; }
.home .main__contents .features .inner .features__list { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 83px; }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list { display: block; margin-bottom: 56px; } }
.home .main__contents .features .inner .features__list .features__list-detail { width: 30.189vw; }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list .features__list-detail { width: 100%; margin-bottom: 66px; } }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list .features__list-detail:nth-child(2) { margin-bottom: 40px; } }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list .features__list-detail:last-child { margin-bottom: 0; } }
.home .main__contents .features .inner .features__list .features__list-detail figure { width: 100%; margin-bottom: 27px; }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt { width: 23.426vw; margin: -40px auto 0; }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt { width: 100%; } }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 20px; }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label p { display: inline-block; padding: 7px 5%; font-size: clamp(1.2rem, 1.0248901903vw, 1.4rem); font-weight: bold; text-align: center; line-height: 1; border: 1px solid #000; border-radius: 5px; }
@media (max-width: 1024px) { .home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label p { padding: 7px 4%; font-size: 11px; font-size: 1.1rem; } }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label p { font-size: 12px; font-size: 1.2rem; } }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label p:first-child { margin-right: 10px; color: #000; background: #fff; }
@media (max-width: 1024px) { .home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label p:first-child { margin-right: 5px; } }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt .detail-txt-label p:nth-child(2) { color: #fff; background: #000; }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt h3 { margin-bottom: 25px; font-size: clamp(2.1rem, 1.8301610542vw, 2.5rem); font-weight: bold; text-align: center; white-space: nowrap; }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt h3 span { color: #DC050F; }
.home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt p { font-size: clamp(1.3rem, 1.1713030747vw, 1.6rem); }
@media (max-width: 767px) { .home .main__contents .features .inner .features__list .features__list-detail .features__list-detail-txt p { font-size: 16px; font-size: 1.6rem; } }
.home .main__contents .features .inner .features__btn { max-width: 290px; min-width: 270px; width: 21.23vw; margin: 0 auto; }
@media (max-width: 1024px) { .home .main__contents .features .inner .features__btn { max-width: 290px; min-width: 290px; width: 100%; } }
@media (max-width: 767px) { .home .main__contents .features .inner .features__btn { min-width: auto; } }
.home .main__contents .features .inner .features__btn a { padding: 22px 0 22px 37px; font-size: clamp(1.4rem, 1.2445095168vw, 1.7rem); font-weight: bold; line-height: 1; text-align: left; }
@media (max-width: 767px) { .home .main__contents .features .inner .features__btn a { font-size: 15px; font-size: 1.5rem; } }
.home .main__contents .home__bg { position: relative; padding-bottom: 165px; }
.home .main__contents .home__bg:before { position: absolute; top: 0; left: 0; display: inline-block; width: 100%; height: 100%; margin-top: -28.111vw; padding-bottom: 28.111vw; content: ""; background: url(../img/home/home_bg.svg); background-size: 100%; background-repeat: no-repeat; z-index: -1; }
@media (max-width: 767px) { .home .main__contents .home__bg { padding-bottom: 160px; }
  .home .main__contents .home__bg:before { position: absolute; top: 0; left: 0; display: inline-block; width: 100%; height: 100%; margin-top: -26.667vw; padding-bottom: 26.667vw; content: ""; background: url(../img/home/home_bg_sp.svg); background-size: 100%; background-repeat: repeat; z-index: -1; } }
.home .main__contents .home__bg .services { position: relative; margin-bottom: 148px; }
@media (max-width: 767px) { .home .main__contents .home__bg .services { margin-bottom: 104px; } }
.home .main__contents .home__bg .services .inner .services__ttl { margin-bottom: 67px; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__ttl { margin-bottom: 50px; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 48px 4.38% 50px 7.79%; background: #fff; border-radius: 10px; -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2); }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 45px 7%; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail:not(:last-child) { margin-bottom: 35px; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl { width: 28.47%; }
@media (max-width: 1024px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl { width: 35%; } }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl { width: 100%; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl .num__ttl p { margin-bottom: 10px; color: #CBCBCB; font-size: clamp(1.5rem, 1.317715959vw, 1.8rem); font-weight: bold; line-height: 1; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl .num__ttl .num__ttl-label { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl .num__ttl .num__ttl-label { margin-bottom: 20px; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl .num__ttl .num__ttl-label span { display: inline-block; margin-right: 7%; color: #DC050F; font-family: Arial, sans-serif; font-size: clamp(4.6rem, 4.0995607613vw, 5.6rem); line-height: 1; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl .num__ttl .num__ttl-label span { font-size: 42px; font-size: 4.2rem; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl .num__ttl .num__ttl-label p { display: inline-block; margin-bottom: 0; padding: 7px 5%; color: #000; background: #fff; font-size: clamp(1.2rem, 1.0248901903vw, 1.4rem); font-weight: bold; text-align: center; line-height: 1; border: 1px solid #000; border-radius: 5px; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl figure { width: 16.27vw; height: 13.909vw; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-ttl figure { width: 70%; height: auto; margin: 0 auto; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt { width: 66.25%; margin-top: 34px; }
@media (max-width: 1024px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt { width: 63%; } }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt { width: 100%; margin-top: 20px; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt .sub__ttl { margin-bottom: 5px; color: #DC050F; font-size: clamp(1.4rem, 1.2445095168vw, 1.7rem); font-weight: bold; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt h3 { margin-bottom: 25px; font-size: clamp(2.8rem, 2.2693997072vw, 3.1rem); font-weight: bold; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt h3 { margin-bottom: 15px; font-size: 23px; font-size: 2.3rem; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt p { margin-bottom: 35px; font-size: clamp(1.3rem, 1.1713030747vw, 1.6rem); }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt .services__btn { max-width: 290px; min-width: 270px; width: 21.23vw; }
@media (max-width: 1024px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt .services__btn { min-width: auto; width: 100%; } }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt .services__btn { margin: 0 auto; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt .services__btn a { padding: 22px 0 22px 37px; font-size: clamp(1.4rem, 1.2445095168vw, 1.7rem); font-weight: bold; line-height: 1; text-align: left; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail .services__list-detail-txt .services__btn a { font-size: 15px; font-size: 1.5rem; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_02 .num__ttl { margin-bottom: 35px; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_02 figure { width: 15.373vw; height: 12.656vw; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_02 figure { width: 70%; height: auto; margin: 0 auto; } }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_03 .num__ttl { margin-bottom: 12px; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_03 .num__ttl .num__ttl-label p { color: #fff; background: #000; }
.home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_03 figure { width: 18.78vw; height: 17.802vw; }
@media (max-width: 767px) { .home .main__contents .home__bg .services .inner .services__list .services__list-detail.list-detail_03 figure { width: 70%; height: auto; margin: 0 auto; } }
.home .main__contents .home__bg .result .inner { padding: 0 9.736vw; }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner { width: 100%; padding: 0 6%; } }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner .result__ttl { margin-bottom: 50px; } }
.home .main__contents .home__bg .result .inner .result__detail { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner .result__detail { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; width: 97%; margin: 0 auto; } }
.home .main__contents .home__bg .result .inner .result__detail figure { width: 25.329vw; }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner .result__detail figure { width: 59%; margin: 0 auto; } }
.home .main__contents .home__bg .result .inner .result__detail .result__detail-txt { width: 48vw; margin-top: 62px; }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner .result__detail .result__detail-txt { width: 100%; margin: 0 auto 44px; } }
.home .main__contents .home__bg .result .inner .result__detail .result__detail-txt p { margin-bottom: 60px; font-size: clamp(1.3rem, 1.1713030747vw, 1.6rem); }
@media (max-width: 1024px) { .home .main__contents .home__bg .result .inner .result__detail .result__detail-txt p { margin-bottom: 50px; font-size: 16px; font-size: 1.6rem; } }
.home .main__contents .home__bg .result .inner .result__detail .result__detail-txt .result__btn { -ms-flex-wrap: wrap; flex-wrap: wrap; }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner .result__detail .result__detail-txt .result__btn { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }
.home .main__contents .home__bg .result .inner .result__detail .result__detail-txt .result__btn a { display: inline-block; max-width: 290px; min-width: 230px; width: 21.23vw; margin: 0 2% 10px 0; padding: 22px 0 22px 30px; font-size: clamp(1.3rem, 1.2445095168vw, 1.7rem); font-weight: bold; line-height: 1; text-align: left; }
@media (max-width: 767px) { .home .main__contents .home__bg .result .inner .result__detail .result__detail-txt .result__btn a { width: 100%; min-width: auto; font-size: 17px; font-size: 1.7rem; }
  .home .main__contents .home__bg .result .inner .result__detail .result__detail-txt .result__btn a:last-child { margin-bottom: 0; } }

/*# sourceMappingURL=home.css.map */