@charset "UTF-8";
/* ========== ========== ==========
変数定義
========== ========== ========== */
/* ========== ========== ==========
共通部
========== ========== ========== */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

body {
  line-height: 1.7;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  overflow-x: hidden;
  letter-spacing: 0.05rem;
}

.overflowXHidden {
  overflow-x: hidden;
}

#html #body .sp-show,
#html #body .sp-show-flex {
  display: none;
}

@media screen and (max-width: 768px) {
  #html #body .sp-show {
    display: block;
  }
  #html #body .sp-show-flex {
    display: flex;
  }
  #html #body .sp-hide {
    display: none;
  }
}
#html #body .tb-show,
#html #body .tb-show-flex {
  display: none;
}

@media screen and (max-width: 1000px) {
  #html #body .tb-show {
    display: block;
  }
  #html #body .tb-show-flex {
    display: flex;
  }
  #html #body .tb-hide {
    display: none;
  }
}
.inline {
  display: inline;
}

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

.center {
  text-align: center;
}

.color-orange {
  color: #F5851F;
}

.sectionWrap {
  width: 80%;
  padding: 0 20px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .sectionWrap {
    width: 100%;
    padding: 0 clamp(20px, 6.5104166667vw, 50px);
  }
}

.sectionWrap2 {
  padding: 0 min(12.5vw, 180px);
}
@media screen and (max-width: 768px) {
  .sectionWrap2 {
    width: 100%;
    padding: 0 clamp(20px, 6.5104166667vw, 50px);
  }
}

.sectionTitle {
  text-align: center;
  margin-bottom: clamp(42.67px, 4.44vw, 64px);
}
.sectionTitle img {
  max-height: 260px;
  display: block;
  margin-inline: auto;
  margin-bottom: -55px;
}
@media screen and (max-width: 1000px) {
  .sectionTitle img {
    height: 20.8333333333vw;
    margin-bottom: -4.5138888889vw;
  }
}
@media screen and (max-width: 768px) {
  .sectionTitle img {
    height: 30.5128205128vw;
    max-width: 351px;
    -o-object-fit: contain;
       object-fit: contain;
    margin-bottom: -5.8974358974vw;
  }
}
.sectionTitle_text {
  display: inline-block;
  font-size: clamp(21.33px, 2.22vw, 32px);
  color: var(--color-green);
  color: var();
  line-height: 1.448125;
  letter-spacing: 0.1rem;
  border: solid 2px var(--color-green);
  border-radius: 999px;
  background-color: white;
  width: 472px;
  font-weight: 700;
}
@media screen and (max-width: 1000px) {
  .sectionTitle_text {
    width: auto;
    padding-inline: 10px;
    min-width: 210px;
  }
}
@media screen and (max-width: 768px) {
  .sectionTitle_text {
    font-size: 16px;
    border-width: 1px;
  }
}

.sectionTitle2 {
  margin-bottom: min(5.5555555556vw, 80px);
}
.sectionTitle2.-center {
  display: flex;
  justify-content: center;
  margin-bottom: min(2.0833333333vw, 30px);
}
.sectionTitle2 img {
  display: block;
  height: clamp(119.33px, 12.43vw, 179px);
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 100%;
}
.sectionTitle2_text {
  font-size: clamp(16px, 1.3888888889vw, 20px);
  font-weight: 700;
  letter-spacing: 0.1rem;
  margin-bottom: -20px;
}

.js-fadeIn-fromLeft {
  opacity: 0;
}

.js-fadeIn-fromLeft.-active {
  -webkit-animation: js-fadeIn-fromLeft 1.5s ease-out forwards;
          animation: js-fadeIn-fromLeft 1.5s ease-out forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.css-fadeIn-fromLeft {
  opacity: 0;
  -webkit-animation: js-fadeIn-fromLeft 1.5s ease-out forwards;
          animation: js-fadeIn-fromLeft 1.5s ease-out forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes js-fadeIn-fromLeft {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes js-fadeIn-fromLeft {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.section_subtitle {
  font-size: 12px;
  line-height: 1;
}

.section_title {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 7px;
}

.section_text {
  font-size: 16px;
  line-height: 2.1;
  letter-spacing: 0.05rem;
  text-align: center;
  font-weight: 500;
}

.sectionTitle span,
.section_subtitle span,
.section_title span,
.section_text span {
  display: inline-block;
}

.section_btn {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .section_btn {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }
}
.section_btn_a {
  border-radius: 8px;
  background: var(--color-blue);
  width: 400px;
  height: 100px;
  color: white;
  font-weight: 700;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-right: 25px;
  transition: color 0.3s, background 0.3s;
}
@media screen and (max-width: 768px) {
  .section_btn_a {
    height: 70px;
    width: 100%;
  }
}
.section_btn_a:hover {
  background-color: var(--color-orange);
}
.section_btn_a::after {
  content: "";
  position: absolute;
  right: 20px;
  display: block;
  width: 14px;
  height: 7px;
  background-image: url("../img/arrow_long_white.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.section_btn_text {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4478571429;
  letter-spacing: 0.1rem;
}

.section_bg {
  position: absolute;
  z-index: -50;
  -o-object-fit: contain;
     object-fit: contain;
}
.section_person {
  position: absolute;
  z-index: -10;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
}
.section_person img {
  max-width: initial;
  max-height: initial;
}
.section_slide {
  position: absolute;
  z-index: -20;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
}
.section_slide_mask {
  position: absolute;
  z-index: -15;
  opacity: 0;
}

.pageTop {
  margin-top: 86px;
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .pageTop {
    margin-top: 66px;
    padding-top: 40px;
  }
}

.main {
  position: relative;
}

.bold {
  font-weight: 700;
}

.bg_subPage {
  position: -webkit-sticky;
  position: sticky;
  top: 86px;
  height: 100vh;
  background-image: url("../img/bg_subPage.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: -1;
  opacity: 0;
  -webkit-clip-path: polygon(25% 0%, 29% 0, 76% 100%, 72% 100%);
          clip-path: polygon(25% 0%, 29% 0, 76% 100%, 72% 100%);
  -webkit-animation: afterLoading-bg-main 1s forwards;
          animation: afterLoading-bg-main 1s forwards;
}
.bg_subPageWrap {
  position: absolute;
  inset: 0;
  left: -10%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .bg_subPage {
    top: 66px;
  }
}

.breadcrumbs {
  margin-bottom: 10px;
  font-size: 14px;
}
.breadcrumbs .sectionWrap2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 15px;
}
.breadcrumbs_link {
  text-decoration: none;
  color: var(--color-blue);
  transition: all 0.3s;
}
.breadcrumbs_link.-current {
  color: black;
}
.breadcrumbs_link:hover {
  color: var(--color-orange);
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mb-110 {
  margin-bottom: 110px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.mb-130 {
  margin-bottom: 130px !important;
}

.mb-140 {
  margin-bottom: 140px !important;
}

.mb-150 {
  margin-bottom: 150px !important;
}

.mb-160 {
  margin-bottom: 160px !important;
}

.mb-170 {
  margin-bottom: 170px !important;
}

.mb-180 {
  margin-bottom: 180px !important;
}

.mb-190 {
  margin-bottom: 190px !important;
}

.mb-200 {
  margin-bottom: 200px !important;
}

.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  padding: min(1.3888888889vw, 20px) 4.1666666667vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .header {
    padding: 15px 20px;
  }
}
.header_logo a {
  display: flex;
  align-items: center;
}
.header_logo img {
  width: 12.9861111111vw;
  width: clamp(148px, 12.9861111111vw, 187px);
}
.header_sp_hamburger {
  width: clamp(40px, 3.4722222222vw, 50px);
  height: clamp(36px, 3.4722222222vw, 46px);
  background-color: var(--color-blue);
  position: relative;
  transition: all 0.3s;
  border-radius: 8px;
}
.header_sp_hamburger:hover {
  cursor: pointer;
  background-color: var(--color-orange);
}
.header_sp_hamburger span {
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(27px, 1.7361111111vw, 40px);
  height: 2px;
  background-color: white;
}
.header_sp_hamburger span:nth-of-type(1) {
  top: clamp(10px, 0.8333333333vw, 12px);
}
.header_sp_hamburger span:nth-of-type(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.header_sp_hamburger span:nth-of-type(3) {
  bottom: clamp(10px, 0.8333333333vw, 12px);
}
.header_sp_nav {
  position: fixed;
  top: 0;
  right: -100%;
  bottom: 0;
  background-color: white;
  border: 1px solid #324473;
  transition: right 1s;
}
.header_sp_nav.-active {
  display: block;
  right: 0;
  transition: right 0.5s;
}
.header_sp_btn-close {
  position: relative;
  height: 31px;
  width: 100%;
  padding: clamp(33.33px, 3.47vw, 50px) 0;
}
.header_sp_btn-close span {
  display: inline-block;
  position: absolute;
  width: clamp(26.67px, 2.78vw, 40px);
  height: 4px;
  right: clamp(25px, 2.7777777778vw, 40px);
  top: 50%;
  transform: translate(0, -50%);
  background-color: var(--color-blue);
}
.header_sp_btn-close span:nth-of-type(1) {
  transform: rotate(-45deg);
}
.header_sp_btn-close span:nth-of-type(2) {
  transform: rotate(45deg);
}
.header_sp_ul {
  width: 100%;
  border-top: solid 1px var(--color-blue);
}
.header_sp_li {
  width: 100%;
  border-bottom: solid 1px var(--color-blue);
}
.header_sp_li a {
  display: block;
  position: relative;
  padding: clamp(20px, 2.08vw, 30px) clamp(60px, 6.25vw, 90px) clamp(20px, 2.08vw, 30px) clamp(40px, 4.17vw, 60px);
  text-decoration: none;
  color: #051412;
  font-size: clamp(14px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.4444444444;
  letter-spacing: 0.1rem;
}
.header_sp_li.-blue {
  background-color: var(--color-blue);
}
.header_sp_li.-blue a {
  color: white;
}
.header_sp_li.-blue a img {
  position: absolute;
  top: 50%;
  right: clamp(40px, 4.17vw, 60px);
  transform: translate(0, -50%);
  width: 11px;
}
.header .image-color {
  display: none;
}
.header_bg-active {
  background-color: rgba(255, 255, 255, 0.8);
}
.header_bg-active .image-white {
  display: none;
}
.header_bg-active .image-color {
  display: block;
}

/* ----- よくある質問 ----- */
.faq {
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
}
.faq_list {
  margin-bottom: 20px;
}
.faq_list:hover {
  cursor: pointer;
}
.faq_textQ, .faq_textA {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 0 20px;
}
.faq_textQ {
  background-color: #fde076;
}
.faq_plusMinus {
  position: relative;
  width: 20px;
  height: 20px;
  margin-left: auto;
}
.faq_plusMinus::before, .faq_plusMinus::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 2px;
  background-color: black;
}
.faq_plusMinus::after {
  transform: translate(-50%, -50%) rotate(270deg);
  transition: all 0.5s;
}
.faq_list.-active .faq_plusMinus::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.faq_answer {
  display: none;
  background-color: #fffbeb;
}

/* ----- スライダー ----- */
.slick-track {
  display: flex !important;
}

.slick-slide {
  height: auto !important;
}

* {
  min-width: 0;
  min-height: 0;
}

.slider_ul {
  margin-bottom: 100px;
}
.slider_li {
  border: solid 1px #B8B8B8;
  padding: 0 0 clamp(12px, 2vw, 18px);
  margin: 0 9px;
}
.slider_link {
  text-decoration: none;
  color: black;
}
.slider_link:visited {
  color: black;
}
.slider_images {
  display: flex;
  margin-bottom: clamp(15px, 3vw, 32px);
  width: 100%;
}
.slider_images img {
  width: 100%;
}

.footer {
  display: flex;
  justify-content: center;
}
.footerInner {
  max-width: 1180px;
  width: 100%;
  border-top: solid 1px rgba(0, 0, 0, 0.5);
  padding-block: 40px;
  margin-inline: 3.4722222222vw;
}
@media screen and (max-width: 768px) {
  .footerInner {
    margin-inline: 20px;
  }
}
.footer_main {
  display: flex;
  align-items: stretch;
  margin-bottom: 60px;
}
@media screen and (max-width: 1000px) {
  .footer_main {
    flex-direction: column;
    align-items: center;
    gap: 36px;
  }
}
.footer_logo {
  width: 200px;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}
@media screen and (max-width: 1000px) {
  .footer_logo {
    margin-right: auto;
  }
}
.footer_nav {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(50px, 5.21vw, 75px) 9.1666666667vw;
  flex-grow: 1;
  justify-content: center;
  padding-inline: 20px;
}
@media screen and (max-width: 500px) {
  .footer_nav {
    padding-inline: 0;
    width: 100%;
    justify-content: flex-start;
  }
}
.footer_navLi_title {
  font-size: 16px;
  letter-spacing: 0.03rem;
  line-height: 1.175;
  margin-bottom: 30px;
  color: #99968E;
  font-family: "Maven Pro", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.footer_nav_ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.footer_nav_li_link {
  font-size: 14px;
  line-height: 1.4478571429;
  letter-spacing: 0.03rem;
  color: black;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s;
}
.footer_nav_li_link:hover {
  color: var(--color-orange);
}
.footer_nav_li img {
  width: 12px;
  -o-object-fit: contain;
     object-fit: contain;
}
.footer_links {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px 12px;
  flex-shrink: 0;
}
@media screen and (max-width: 1000px) {
  .footer_links {
    margin-left: initial;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 500px) {
  .footer_links {
    justify-content: flex-start;
  }
}
.footer_linksLi:has(.footer_sns) {
  margin-top: auto;
  width: 100%;
}
@media screen and (max-width: 500px) {
  .footer_linksLi:has(.footer_sns) {
    width: 100%;
  }
}
.footer_link {
  width: 180px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: #003D38;
  border-radius: 99px;
  border: solid 1px #003D38;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8571428571;
  letter-spacing: 0.03rem;
  transition: all 0.3s;
}
@media screen and (max-width: 500px) {
  .footer_link {
    width: 167px;
  }
}
.footer_link .hover-show {
  display: none;
}
.footer_link:hover {
  color: white;
  background-color: var(--color-orange);
  border-color: var(--color-orange);
}
.footer_link:hover .hover-show {
  display: block;
}
.footer_link:hover .hover-hide {
  display: none;
}
.footer_link img {
  width: 14px;
  -o-object-fit: contain;
     object-fit: contain;
}
.footer_snsWrap {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  gap: 20px;
}
@media screen and (max-width: 1000px) {
  .footer_snsWrap {
    justify-content: center;
  }
}
@media screen and (max-width: 500px) {
  .footer_snsWrap {
    justify-content: flex-start;
  }
}
.footer_sns_link {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #003D38;
  border-radius: 999px;
  width: 30px;
  height: 30px;
  transition: all 0.3s;
}
.footer_sns_link:hover {
  background-color: var(--color-orange);
}
.footer_sns_link img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 15px;
  height: 15px;
  margin-bottom: 1px;
}
.footer_bottom {
  display: flex;
  justify-content: space-between;
}
.footer_copyRight {
  font-size: 14px;
  line-height: 1.4285714286;
  color: #99968E;
}
.footer_privacyPolicy {
  font-size: 14px;
  line-height: 1.4285714286;
  color: #051412;
}

.banner {
  position: fixed;
  z-index: 10;
  right: 0;
  left: 0;
  bottom: 0;
  padding: 5px;
  display: flex;
  justify-content: flex-end;
}
.banner_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .banner_inner {
    width: 100%;
  }
}
.banner_link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 230px;
  color: white;
  text-decoration: none;
  font-size: clamp(12px, 2.625vw, 16px);
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .banner_linkWrap {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 768px) {
  .banner_link {
    height: 80%;
    width: 100%;
  }
}
.banner_link img {
  height: 100%;
  width: 100%;
}

/* 共通部ここまで
---------- ---------- */
/* ========== ========== ==========
アニメーション
========== ========== ========== */
/* ----- ホバー ----- */
@media screen and (min-width: 768px) {
  .css-hover {
    transition: all 0.3s;
  }
  .css-hover:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
/* ----- ズーム付のホバー ----- */
@media screen and (min-width: 768px) {
  .css-hover-zoom {
    transition: all 0.5s;
  }
  .css-hover-zoom:hover {
    transform: scale(1.08);
  }
}
/* ----- 遅延 ----- */
.css-delay05 {
  /* 0.5秒遅らせる */
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}

.css-delay1 {
  /* 1秒遅らせる */
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}

.css-delay15 {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
}

.css-delay2 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
}

.css-delay3 {
  -webkit-animation-delay: 3s !important;
          animation-delay: 3s !important;
}

.css-delay4 {
  -webkit-animation-delay: 4s !important;
          animation-delay: 4s !important;
}

.css-delay5 {
  -webkit-animation-delay: 5s !important;
          animation-delay: 5s !important;
}

/* ----- フェードイン ----- */
.js-fadeIn {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 1s;
}

.js-fadeIn.-active {
  opacity: 1;
  transform: translate(0, 0);
}

/* ----- ぼかしが消えながらフェードイン ----- */
.js-fadeIn-blurry {
  overflow: hidden;
}
.js-fadeIn-blurry:not(:has(.animation)), .js-fadeIn-blurry .animation {
  opacity: 0;
  transition: all 1s;
  filter: blur(100px);
}

.js-fadeIn-blurry.-active:not(:has(.animation)), .js-fadeIn-blurry.-active .animation {
  opacity: 1;
  -webkit-animation: animation-blurry 1s ease-in forwards;
          animation: animation-blurry 1s ease-in forwards;
}

.js-blurry {
  -webkit-animation: animation-blurry 1s ease-in forwards;
          animation: animation-blurry 1s ease-in forwards;
}

@-webkit-keyframes animation-blurry {
  0% {
    filter: blur(5px);
    transform: scale(1.02);
  }
  100% {
    filter: blur(0);
    transform: scale(1);
  }
}

@keyframes animation-blurry {
  0% {
    filter: blur(5px);
    transform: scale(1.02);
  }
  100% {
    filter: blur(0);
    transform: scale(1);
  }
}
.css-fadeLoop {
  overflow: hidden;
}
.css-fadeLoop:has(.animation) .animation, .css-fadeLoop:not(:has(.animation)) {
  -webkit-animation: animation-fadeLoop 10s ease-in-out infinite;
          animation: animation-fadeLoop 10s ease-in-out infinite;
}

@-webkit-keyframes animation-fadeLoop {
  0% {
    opacity: 0;
    /* 透明から始まる */
    transform: scale(1.2);
    /* 大きいサイズから始まる */
  }
  20% {
    opacity: 1;
    /* 徐々に見えるようになる */
    transform: scale(1);
    /* 通常サイズになる */
  }
  70% {
    opacity: 1;
    /* その状態で維持 */
    transform: scale(0.9);
    /* 少し小さくなる */
  }
  90% {
    opacity: 0;
    /* 徐々に透明になる */
    transform: scale(0.8);
    /* 小さくなりながら消える */
  }
  100% {
    opacity: 0;
    transform: scale(0.8);
  }
}

@keyframes animation-fadeLoop {
  0% {
    opacity: 0;
    /* 透明から始まる */
    transform: scale(1.2);
    /* 大きいサイズから始まる */
  }
  20% {
    opacity: 1;
    /* 徐々に見えるようになる */
    transform: scale(1);
    /* 通常サイズになる */
  }
  70% {
    opacity: 1;
    /* その状態で維持 */
    transform: scale(0.9);
    /* 少し小さくなる */
  }
  90% {
    opacity: 0;
    /* 徐々に透明になる */
    transform: scale(0.8);
    /* 小さくなりながら消える */
  }
  100% {
    opacity: 0;
    transform: scale(0.8);
  }
}
/* ----- 画像クリックで拡大 ----- */
#modal-container {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
}
#modal-container > div {
  display: flex;
  height: 100vh;
  justify-content: center;
  align-items: center;
}
#modal-container > div > img {
  max-width: 80%;
  max-height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

img.popup {
  cursor: pointer;
}

/* ----- スライダー部のアニメーション ----- */
@-webkit-keyframes slick_center {
  0% {
    top: 0;
  }
  100% {
    top: -60px;
  }
}
@keyframes slick_center {
  0% {
    top: 0;
  }
  100% {
    top: -60px;
  }
}
/* ----- FVの下につくスクロールを促すアニメーション ----- */
.scrollLine {
  padding-left: 0;
  writing-mode: vertical-lr;
  display: flex;
  align-items: center;
}

.scrollLine span {
  display: inline-block;
  width: 1px;
  height: 70px;
  background-color: black;
  margin-bottom: 20px;
  -webkit-animation: scrollAnimation 2s linear infinite;
          animation: scrollAnimation 2s linear infinite;
}

@-webkit-keyframes scrollAnimation {
  0% {
    transform: translateY(-30px);
    /* 上から始まる */
    opacity: 0;
    /* フェードイン開始 */
  }
  50% {
    transform: translateY(0);
    /* 元の位置まで移動 */
    opacity: 1;
    /* フェードイン完了 */
  }
  100% {
    transform: translateY(30px);
    /* 下に移動して消える */
    opacity: 0;
    /* フェードアウト */
  }
}

@keyframes scrollAnimation {
  0% {
    transform: translateY(-30px);
    /* 上から始まる */
    opacity: 0;
    /* フェードイン開始 */
  }
  50% {
    transform: translateY(0);
    /* 元の位置まで移動 */
    opacity: 1;
    /* フェードイン完了 */
  }
  100% {
    transform: translateY(30px);
    /* 下に移動して消える */
    opacity: 0;
    /* フェードアウト */
  }
}
/* その場でふわふわする */
@-webkit-keyframes float1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes float1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes float2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes float2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes float3 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes float3 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes float4 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes float4 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes float5 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-14px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes float5 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-14px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes float-person-left {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes float-person-left {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes float-person-middle {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes float-person-middle {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes float-person-right {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-14px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes float-person-right {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-14px);
  }
  100% {
    transform: translateY(0px);
  }
}
.float1 {
  -webkit-animation: float1 3s ease-in-out infinite;
          animation: float1 3s ease-in-out infinite;
  opacity: 1 !important;
}

.float2 {
  -webkit-animation: float2 3.5s ease-in-out infinite;
          animation: float2 3.5s ease-in-out infinite;
  opacity: 1 !important;
}

.float3 {
  -webkit-animation: float3 4s ease-in-out infinite;
          animation: float3 4s ease-in-out infinite;
  opacity: 1 !important;
}

.float4 {
  -webkit-animation: float4 4.5s ease-in-out infinite;
          animation: float4 4.5s ease-in-out infinite;
  opacity: 1 !important;
}

.float5 {
  -webkit-animation: float5 5s ease-in-out infinite;
          animation: float5 5s ease-in-out infinite;
  opacity: 1 !important;
}

.float-person-left {
  -webkit-animation: float-person-left 3s ease-in-out infinite;
          animation: float-person-left 3s ease-in-out infinite;
  opacity: 1 !important;
}

.float-person-middle {
  -webkit-animation: float-person-middle 5s ease-in-out infinite;
          animation: float-person-middle 5s ease-in-out infinite;
  opacity: 1 !important;
}

.float-person-right {
  -webkit-animation: float-person-right 4s ease-in-out infinite;
          animation: float-person-right 4s ease-in-out infinite;
  opacity: 1 !important;
}

/* 右側へ流れていく */
@-webkit-keyframes slide {
  0% {
    transform: translate(-100vw, 20vw);
    /* 左側の画面外 */
  }
  60% {
    transform: translate(0, 0);
    /* 元の位置 */
  }
  100% {
    transform: translate(100vw, -20vw);
    /* 右側の画面外 */
  }
}
@keyframes slide {
  0% {
    transform: translate(-100vw, 20vw);
    /* 左側の画面外 */
  }
  60% {
    transform: translate(0, 0);
    /* 元の位置 */
  }
  100% {
    transform: translate(100vw, -20vw);
    /* 右側の画面外 */
  }
}
.slide {
  -webkit-animation: slide 5s ease-in-out forwards;
          animation: slide 5s ease-in-out forwards;
}

/* ロード直後の動き*/
@-webkit-keyframes afterLoading-slide {
  0% {
    filter: blur(5px);
    opacity: 1;
    transform: translate(-300vh, 80vh);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes afterLoading-slide {
  0% {
    filter: blur(5px);
    opacity: 1;
    transform: translate(-300vh, 80vh);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes afterLoading-slide_section {
  0% {
    filter: blur(5px);
    opacity: 0;
    transform: translate(-300vh, 80vh);
  }
  60% {
    opacity: 0;
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes afterLoading-slide_section {
  0% {
    filter: blur(5px);
    opacity: 0;
    transform: translate(-300vh, 80vh);
  }
  60% {
    opacity: 0;
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
.afterLoading-slide {
  transform: translate(-300vh, 0);
  -webkit-animation: afterLoading-slide 0.2s ease-out forwards;
          animation: afterLoading-slide 0.2s ease-out forwards;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

.afterLoading-slide_section {
  transform: translate(-300vh, 0);
  -webkit-animation: afterLoading-slide_section 1s ease-out forwards;
          animation: afterLoading-slide_section 1s ease-out forwards;
}

@-webkit-keyframes afterLoading-person-left {
  0% {
    filter: blur(3px);
    opacity: 0;
    transform: translate(2vw, 2vw);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes afterLoading-person-left {
  0% {
    filter: blur(3px);
    opacity: 0;
    transform: translate(2vw, 2vw);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes afterLoading-person-right {
  0% {
    filter: blur(3px);
    opacity: 0;
    transform: translate(-2vw, 2vw);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes afterLoading-person-right {
  0% {
    filter: blur(3px);
    opacity: 0;
    transform: translate(-2vw, 2vw);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes afterLoading-person-middle {
  0% {
    filter: blur(3px);
    opacity: 0;
    transform: translate(0, 2vw);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes afterLoading-person-middle {
  0% {
    filter: blur(3px);
    opacity: 0;
    transform: translate(0, 2vw);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate(0, 0);
  }
}
.afterLoading-person-left {
  -webkit-animation: afterLoading-person-left 1s forwards;
          animation: afterLoading-person-left 1s forwards;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}

.afterLoading-person-right {
  -webkit-animation: afterLoading-person-right 1s forwards;
          animation: afterLoading-person-right 1s forwards;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.afterLoading-person-middle {
  -webkit-animation: afterLoading-person-middle 1s forwards;
          animation: afterLoading-person-middle 1s forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

/* ----- 背景アニメーション ----- */
@-webkit-keyframes shine {
  44% {
    -webkit-clip-path: polygon(0% 0%, 0% 0, 47% 100%, 47% 100%);
            clip-path: polygon(0% 0%, 0% 0, 47% 100%, 47% 100%);
  }
  45% {
    -webkit-clip-path: polygon(0% 0%, 4% 0, 51% 100%, 47% 100%);
            clip-path: polygon(0% 0%, 4% 0, 51% 100%, 47% 100%);
  }
  52% {
    -webkit-clip-path: polygon(49% 0, 53% 0, 100% 100%, 96% 100%);
            clip-path: polygon(49% 0, 53% 0, 100% 100%, 96% 100%);
  }
  53% {
    -webkit-clip-path: polygon(53% 0, 53% 0, 100% 100%, 100% 100%);
            clip-path: polygon(53% 0, 53% 0, 100% 100%, 100% 100%);
  }
}
@keyframes shine {
  44% {
    -webkit-clip-path: polygon(0% 0%, 0% 0, 47% 100%, 47% 100%);
            clip-path: polygon(0% 0%, 0% 0, 47% 100%, 47% 100%);
  }
  45% {
    -webkit-clip-path: polygon(0% 0%, 4% 0, 51% 100%, 47% 100%);
            clip-path: polygon(0% 0%, 4% 0, 51% 100%, 47% 100%);
  }
  52% {
    -webkit-clip-path: polygon(49% 0, 53% 0, 100% 100%, 96% 100%);
            clip-path: polygon(49% 0, 53% 0, 100% 100%, 96% 100%);
  }
  53% {
    -webkit-clip-path: polygon(53% 0, 53% 0, 100% 100%, 100% 100%);
            clip-path: polygon(53% 0, 53% 0, 100% 100%, 100% 100%);
  }
}
@-webkit-keyframes afterLoading-bg-main {
  0% {
    opacity: 1;
    transform: translate(-50%, -100%);
  }
  50% {
    -webkit-clip-path: polygon(25% 0%, 29% 0, 76% 100%, 72% 100%);
            clip-path: polygon(25% 0%, 29% 0, 76% 100%, 72% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
  100% {
    -webkit-clip-path: polygon(0 0, 53% 0, 100% 100%, 47% 100%);
            clip-path: polygon(0 0, 53% 0, 100% 100%, 47% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
}
@keyframes afterLoading-bg-main {
  0% {
    opacity: 1;
    transform: translate(-50%, -100%);
  }
  50% {
    -webkit-clip-path: polygon(25% 0%, 29% 0, 76% 100%, 72% 100%);
            clip-path: polygon(25% 0%, 29% 0, 76% 100%, 72% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
  100% {
    -webkit-clip-path: polygon(0 0, 53% 0, 100% 100%, 47% 100%);
            clip-path: polygon(0 0, 53% 0, 100% 100%, 47% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
}
@-webkit-keyframes afterLoading-bg-main-sp {
  0% {
    -webkit-clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
            clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
    opacity: 1;
    transform: translate(-120%, -90%);
  }
  50% {
    -webkit-clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
            clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
  100% {
    -webkit-clip-path: polygon(-80% 0%, 70% 0, 200% 100%, -20% 100%);
            clip-path: polygon(-80% 0%, 70% 0, 200% 100%, -20% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
}
@keyframes afterLoading-bg-main-sp {
  0% {
    -webkit-clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
            clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
    opacity: 1;
    transform: translate(-120%, -90%);
  }
  50% {
    -webkit-clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
            clip-path: polygon(-15% 0%, -5% 0, 121% 100%, 112% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
  100% {
    -webkit-clip-path: polygon(-80% 0%, 70% 0, 200% 100%, -20% 100%);
            clip-path: polygon(-80% 0%, 70% 0, 200% 100%, -20% 100%);
    transform: translate(0%, 0%);
    opacity: 1;
  }
}
@-webkit-keyframes afterLoading-bg-left {
  100% {
    bottom: 4%;
    left: 0;
  }
}
@keyframes afterLoading-bg-left {
  100% {
    bottom: 4%;
    left: 0;
  }
}
@-webkit-keyframes afterLoading-bg-right {
  100% {
    bottom: 37%;
    right: 0;
  }
}
@keyframes afterLoading-bg-right {
  100% {
    bottom: 37%;
    right: 0;
  }
}
@-webkit-keyframes afterLoading-bg-left-sp {
  100% {
    bottom: 15%;
    left: 0;
  }
}
@keyframes afterLoading-bg-left-sp {
  100% {
    bottom: 15%;
    left: 0;
  }
}
@-webkit-keyframes afterLoading-bg-right-sp {
  100% {
    top: 3%;
    right: 0;
  }
}
@keyframes afterLoading-bg-right-sp {
  100% {
    top: 3%;
    right: 0;
  }
}
.afterLoading-bg-main {
  -webkit-animation: afterLoading-bg-main 0.8s forwards;
          animation: afterLoading-bg-main 0.8s forwards;
}

.afterLoading-bg-main-sp {
  -webkit-animation: afterLoading-bg-main-sp 2s forwards;
          animation: afterLoading-bg-main-sp 2s forwards;
}

/* ----- テキストアニメーション ----- */
@-webkit-keyframes afterLoading-text {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
    /* 最初は右側が隠れている */
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    /* 最終的に全て表示される */
  }
}
@keyframes afterLoading-text {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
    /* 最初は右側が隠れている */
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    /* 最終的に全て表示される */
  }
}
@-webkit-keyframes fadeOutLine {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  20% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  50% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
}
@keyframes fadeOutLine {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  20% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  50% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
}
.js-rellax,
.js-rellax_fast,
.js-rellax_center {
  opacity: 1 !important;
}

@-webkit-keyframes fadeOutLine_service {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  50% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
}

@keyframes fadeOutLine_service {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  50% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes fadeIn_service {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
@keyframes fadeIn_service {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.js-slideAppear {
  position: relative;
  opacity: 0;
}
.js-slideAppear::before {
  position: absolute;
  content: "";
  inset: 0;
  display: block;
}
.js-slideAppear.-green::before {
  background-color: var(--color-green);
}
.js-slideAppear.-orange::before {
  background-color: #DC8B00;
}
.js-slideAppear.-active {
  -webkit-animation: fadeIn_service 1s linear forwards;
          animation: fadeIn_service 1s linear forwards;
}
.js-slideAppear.-active::before {
  -webkit-animation: fadeOutLine_service 1s linear forwards;
          animation: fadeOutLine_service 1s linear forwards;
}

/* アニメーション
---------- ---------- */
/* ========== ========== ==========
個別部
========== ========== ========== */
.fv {
  position: relative;
  height: 57.6388888889vw;
  z-index: 1;
  overflow: hidden;
  margin-bottom: clamp(86.67px, 9.03vw, 130px);
}
@media screen and (max-width: 768px) {
  .fv {
    height: 723px;
  }
}
.fv_bg_main {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  height: 100%;
  opacity: 0;
  will-change: transform;
}
.fv_bg_effect {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  height: 100%;
  -webkit-clip-path: polygon(0% 0%, 0% 0, 47% 100%, 47% 100%);
          clip-path: polygon(0% 0%, 0% 0, 47% 100%, 47% 100%);
  filter: brightness(1.2) blur(100px);
  -webkit-animation: shine 5s linear infinite;
          animation: shine 5s linear infinite;
}
.fv_bg_left {
  position: absolute;
  width: 24.3055555556vw;
  will-change: transform;
  left: -100%;
  bottom: -50%;
}
@media screen and (min-width: 769px) {
  .fv_bg_left {
    -webkit-animation: afterLoading-bg-left 0.8s forwards;
            animation: afterLoading-bg-left 0.8s forwards;
  }
}
@media screen and (max-width: 768px) {
  .fv_bg_left {
    bottom: 3%;
    -webkit-animation: afterLoading-bg-left-sp 0.8s forwards;
            animation: afterLoading-bg-left-sp 0.8s forwards;
  }
}
.fv_bg_right {
  position: absolute;
  width: 17.3611111111vw;
  bottom: 87%;
  right: -100%;
}
@media screen and (min-width: 769px) {
  .fv_bg_right {
    -webkit-animation: afterLoading-bg-right 0.8s forwards;
            animation: afterLoading-bg-right 0.8s forwards;
  }
}
@media screen and (max-width: 768px) {
  .fv_bg_right {
    width: 100px;
    -webkit-animation: afterLoading-bg-right-sp 0.8s forwards;
            animation: afterLoading-bg-right-sp 0.8s forwards;
  }
}
.fv_person {
  will-change: transform;
  opacity: 0;
}
.fv_persons {
  position: absolute;
  z-index: 60;
  bottom: 10px;
  right: 23.1944444444vw;
}
@media screen and (max-width: 768px) {
  .fv_persons {
    bottom: initial;
    right: initial;
    top: 400px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.fv_persons img {
  max-width: initial;
  max-height: initial;
}
.fv_person_left {
  position: absolute;
  width: 276px;
  width: 19.3055555556vw;
  left: -10.1388888889vw;
  bottom: 3.125vw;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .fv_person_left {
    width: 215px;
    left: -26.6666666667vw;
    bottom: 20px;
  }
}
.fv_person_middle {
  position: relative;
  z-index: 30;
  width: 14.9305555556vw;
}
@media screen and (max-width: 768px) {
  .fv_person_middle {
    width: 162px;
  }
}
.fv_person_right {
  position: absolute;
  right: -10.9722222222vw;
  bottom: 5vw;
  width: 18.1944444444vw;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .fv_person_right {
    width: 214px;
    right: -29.2307692308vw;
    bottom: 0;
  }
}
.fv_text {
  width: 37.5694444444vw;
  will-change: transform;
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
.fv_textWrap {
  position: absolute;
  bottom: 21%;
  left: 12.4305555556vw;
  z-index: 70;
}
@media screen and (max-width: 768px) {
  .fv_textWrap {
    bottom: initial;
    top: 300px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 768px) {
  .fv_text {
    width: 320px;
    max-width: initial;
  }
}
.fv_text_line {
  position: absolute;
  left: -0.6944444444vw;
  height: 7.7777777778vw;
  width: 105%;
  display: inline-block;
  background: linear-gradient(90deg, rgb(37, 113, 216), rgb(0, 0, 108));
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transform: rotate(-12.5deg) skewX(-12.5deg);
}
@media screen and (max-width: 768px) {
  .fv_text_line {
    height: 65px;
  }
}
.fv_text_line:nth-of-type(1) {
  top: 2.7777777778vw;
  -webkit-animation: fadeOutLine 0.3s linear forwards;
          animation: fadeOutLine 0.3s linear forwards;
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
@media screen and (max-width: 768px) {
  .fv_text_line:nth-of-type(1) {
    top: 25px;
  }
}
.fv_text_line:nth-of-type(2) {
  top: 10.625vw;
  -webkit-animation: fadeOutLine 0.6s linear forwards;
          animation: fadeOutLine 0.6s linear forwards;
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
@media screen and (max-width: 768px) {
  .fv_text_line:nth-of-type(2) {
    top: 90px;
  }
}
.fv_text_line:nth-of-type(3) {
  top: 18.4027777778vw;
  -webkit-animation: fadeOutLine 0.9s linear forwards;
          animation: fadeOutLine 0.9s linear forwards;
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
@media screen and (max-width: 768px) {
  .fv_text_line:nth-of-type(3) {
    top: 155px;
  }
}
.fv_slide {
  position: absolute;
  z-index: 40;
  will-change: transform;
  opacity: 0;
}
.fv_slide.-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .fv_slide:not([class*=-sp]) {
    display: none;
  }
  .fv_slide.-sp {
    display: block;
  }
}
.fv_slide_01 {
  top: 7.4305555556vw;
  left: 1.1111111111vw;
  width: 20.4166666667vw;
}
.fv_slide_02 {
  top: 8.8888888889vw;
  left: 12.5vw;
  width: 11.1111111111vw;
}
.fv_slide_03 {
  top: 17.6388888889vw;
  left: 1.25vw;
  width: 11.0416666667vw;
}
.fv_slide_04 {
  top: 14.5138888889vw;
  left: 5vw;
  width: 21.4583333333vw;
}
.fv_slide_05 {
  top: 22.2222222222vw;
  left: 0.4166666667vw;
  width: 15.2083333333vw;
}
.fv_slide_06 {
  top: 29.1666666667vw;
  left: -1.9444444444vw;
  width: 8.6805555556vw;
}
.fv_slide_07 {
  top: 45.2777777778vw;
  left: 17.3611111111vw;
  width: 17.1527777778vw;
}
.fv_slide_08 {
  top: 46.1805555556vw;
  left: 15.625vw;
  width: 11.25vw;
}
.fv_slide_09 {
  top: 42.0138888889vw;
  left: 30.4861111111vw;
  width: 10.2083333333vw;
  z-index: 39;
}
.fv_slide_10 {
  top: 54.8611111111vw;
  left: 5.9027777778vw;
  width: 14.8611111111vw;
}
.fv_slide_11 {
  top: 7.9861111111vw;
  left: 48.8888888889vw;
  width: 8.3333333333vw;
}
.fv_slide_12 {
  top: 9.0277777778vw;
  left: 52.2916666667vw;
  width: 19.8611111111vw;
}
.fv_slide_13 {
  top: 6.7361111111vw;
  left: 64.6527777778vw;
  width: 12.1527777778vw;
}
.fv_slide_14 {
  top: 9.0277777778vw;
  left: 88.9583333333vw;
  width: 9.4444444444vw;
}
.fv_slide_15 {
  top: 7.9861111111vw;
  left: 85.9027777778vw;
  width: 19.5833333333vw;
}
.fv_slide_16 {
  top: 8.6111111111vw;
  left: 93.5416666667vw;
  width: 9.4444444444vw;
  z-index: 39;
}
.fv_slide_17 {
  top: 12.5vw;
  left: 78.0555555556vw;
  width: 19.2361111111vw;
}
.fv_slide_18 {
  top: 32.7083333333vw;
  left: 75.5555555556vw;
  width: 4.0277777778vw;
  z-index: 41;
}
.fv_slide_19 {
  top: 40.4861111111vw;
  left: 81.5277777778vw;
  width: 13.75vw;
}
.fv_slide_20 {
  top: 45vw;
  left: 78.1944444444vw;
  width: 20.2777777778vw;
}
.fv_slide_21 {
  top: 43.6111111111vw;
  left: 88.4027777778vw;
  width: 10.6944444444vw;
  z-index: 39;
}
.fv_slide_22 {
  top: 43.6111111111vw;
  left: 86.875vw;
  width: 18.75vw;
}
.fv_slide_23 {
  top: 50.3472222222vw;
  left: 31.6666666667vw;
  width: 15.7638888889vw;
}
.fv_slide_24 {
  top: 29.4444444444vw;
  left: 56.1805555556vw;
  width: 27.2222222222vw;
}
.fv_slide_sp_01 {
  top: 93px;
  left: -11.2820512821vw;
  width: 42.8205128205vw;
}
.fv_slide_sp_02 {
  top: 292px;
  left: -12.5641025641vw;
  width: 42.8205128205vw;
}
.fv_slide_sp_03 {
  top: 585px;
  left: -1.2820512821vw;
  width: 43.8461538462vw;
}
.fv_slide_sp_04 {
  top: 659px;
  left: 14.358974359vw;
  width: 15.8974358974vw;
}
.fv_slide_sp_05 {
  top: 169px;
  left: 35.8974358974vw;
  width: 17.4358974359vw;
}
.fv_slide_sp_06 {
  top: 59px;
  left: 45.1282051282vw;
  width: 22.8205128205vw;
}
.fv_slide_sp_07 {
  top: 96px;
  left: 61.2820512821vw;
  width: 40.5128205128vw;
}
.fv_slide_sp_08 {
  top: 575px;
  left: 64.8717948718vw;
  width: 51.2820512821vw;
}
.fv_slide_sp_09 {
  top: 685px;
  left: 60.7692307692vw;
  width: 61.7948717949vw;
}
.fv_slide_mask {
  position: absolute;
  z-index: 50;
}
.fv_slide_mask.-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .fv_slide_mask:not([class*=-sp]) {
    display: none;
  }
  .fv_slide_mask.-sp {
    display: block;
  }
}
.fv_slide_mask_01 {
  top: 3.1597222222vw;
  left: -3.4722222222vw;
  width: 17.3611111111vw;
}
.fv_slide_mask_04 {
  top: 9.5138888889vw;
  left: 7.5vw;
  width: 24.3055555556vw;
}
.fv_slide_mask_07 {
  top: 41.9444444444vw;
  left: 13.1944444444vw;
  width: 22.9166666667vw;
}
.fv_slide_mask_12 {
  top: 3.1944444444vw;
  left: 57.5694444444vw;
  width: 24.3055555556vw;
}
.fv_slide_mask_17 {
  top: 6.6666666667vw;
  left: 79.375vw;
  width: 22.9166666667vw;
}
.fv_slide_mask_20 {
  top: 44.6527777778vw;
  left: 73.0555555556vw;
  width: 15.9722222222vw;
}
.fv_slide_mask_23 {
  top: 44.375vw;
  left: 37.5vw;
  width: 15.9722222222vw;
}
.fv_slide_mask_24 {
  top: 32.8472222222vw;
  left: 53.8194444444vw;
  width: 13.5416666667vw;
}
.fv_slide_mask_sp_01 {
  top: 78px;
  left: -18.2051282051vw;
  width: 43.3333333333vw;
}
.fv_slide_mask_sp_02 {
  top: 288px;
  left: -20.2564102564vw;
  width: 39.4871794872vw;
}
.fv_slide_mask_sp_03 {
  top: 587px;
  left: -1.7948717949vw;
  width: 28.2051282051vw;
}
.fv_slide_mask_sp_07 {
  top: 73px;
  left: 62.3076923077vw;
  width: 41.2820512821vw;
}
.fv_slide_mask_sp_08 {
  top: 599px;
  left: 55.3846153846vw;
  width: 25.641025641vw;
}
.fv_slide_mask_sp_09 {
  top: 0px;
  left: -20.2564102564vw;
  width: 39.4871794872vw;
}

.about {
  position: relative;
  margin-bottom: clamp(76.67px, 7.99vw, 115px);
}
.aboutInner {
  max-width: 825px;
  padding-inline: 50px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .aboutInner {
    padding-inline: 19px;
  }
}
@media screen and (max-width: 768px) {
  .about_images {
    position: relative;
    height: 120.5128205128vw;
  }
}
.about_image {
  width: 70%;
  margin-bottom: clamp(40px, 4.17vw, 60px);
}
@media screen and (max-width: 768px) {
  .about_image {
    width: 100%;
    margin-bottom: 30px;
  }
}
.about .section_text {
  display: inline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 48px;
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 768px) {
  .about .section_text {
    font-size: 15px;
  }
}
.about-sp-show {
  display: none;
}
@media screen and (max-width: 600px) {
  .about-sp-show {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .about .section_btn_a {
    width: 400px;
  }
}
.about_person_left {
  top: 15.7638888889vw;
  left: 2.7083333333vw;
  width: 18.1944444444vw;
}
@media screen and (max-width: 768px) {
  .about_person_left {
    top: 12.5641025641vw;
    left: 2.3076923077vw;
    width: 34.8717948718vw;
  }
}
.about_person_right {
  top: 0vw;
  right: 5.0694444444vw;
  width: 13.9583333333vw;
}
@media screen and (max-width: 768px) {
  .about_person_right {
    top: 48.2051282051vw;
    right: 12.8205128205vw;
    width: 28.7179487179vw;
  }
}
.about_slide_01 {
  top: 11.5277777778vw;
  left: 0.6944444444vw;
  width: 20.625vw;
}
@media screen and (max-width: 768px) {
  .about_slide_01 {
    top: 10.2564102564vw;
    left: -3.3333333333vw;
    width: 42.0512820513vw;
  }
}
.about_slide_02 {
  top: 20.2777777778vw;
  left: 11.1111111111vw;
  width: 6.0416666667vw;
}
@media screen and (max-width: 768px) {
  .about_slide_02 {
    display: none;
  }
}
.about_slide_03 {
  top: 43.1944444444vw;
  left: -5.1388888889vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .about_slide_03 {
    top: 48.9743589744vw;
    left: -24.8717948718vw;
    width: 64.358974359vw;
  }
}
.about_slide_04 {
  top: 47.5694444444vw;
  left: 4.1666666667vw;
  width: 19.5833333333vw;
}
@media screen and (max-width: 768px) {
  .about_slide_04 {
    top: 59.7435897436vw;
    left: -1.5384615385vw;
    width: 49.2307692308vw;
  }
}
.about_slide_05 {
  top: 49.0972222222vw;
  left: 5.0694444444vw;
  width: 21.1111111111vw;
}
@media screen and (max-width: 768px) {
  .about_slide_05 {
    top: 75.641025641vw;
    left: 1.0256410256vw;
    width: 53.0769230769vw;
  }
}
.about_slide_21 {
  top: 9.375vw;
  right: -5.1388888889vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .about_slide_21 {
    top: 27.6923076923vw;
    right: -18.7179487179vw;
    width: 64.358974359vw;
  }
}
.about_slide_22 {
  top: 15.5555555556vw;
  right: -4.8611111111vw;
  width: 19.5833333333vw;
}
@media screen and (max-width: 768px) {
  .about_slide_22 {
    top: 42.8205128205vw;
    right: -17.9487179487vw;
    width: 49.2307692308vw;
  }
}
.about_slide_23 {
  top: 16.8055555556vw;
  right: 11.0416666667vw;
  width: 11.7361111111vw;
  z-index: -21;
}
@media screen and (max-width: 768px) {
  .about_slide_23 {
    top: 45.3846153846vw;
    right: 21.5384615385vw;
    width: 29.4871794872vw;
  }
}
.about_slide_24 {
  top: 17.9861111111vw;
  right: -7.7083333333vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .about_slide_24 {
    top: 49.7435897436vw;
    right: -24.8717948718vw;
    width: 64.358974359vw;
  }
}
.about_slide_25 {
  top: 34.6527777778vw;
  right: 6.8055555556vw;
  width: 22.7777777778vw;
}
@media screen and (max-width: 768px) {
  .about_slide_25 {
    top: 115.1282051282vw;
    right: 9.4871794872vw;
    width: 33.5897435897vw;
  }
}
.about_slide_26 {
  top: 41.1805555556vw;
  right: 1.0416666667vw;
  width: 16.0416666667vw;
}
@media screen and (max-width: 768px) {
  .about_slide_26 {
    top: 106.6666666667vw;
    right: -2.0512820513vw;
    width: 32.5641025641vw;
  }
}
.about_slide_mask_01 {
  top: 38.75vw;
  left: -4.8611111111vw;
  width: 22.7083333333vw;
}
@media screen and (max-width: 768px) {
  .about_slide_mask_01 {
    top: 35.8974358974vw;
    left: -26.6666666667vw;
    width: 61.5384615385vw;
  }
}
.about_slide_mask_02 {
  top: 47.0138888889vw;
  left: 0vw;
  width: 25.7638888889vw;
}
@media screen and (max-width: 768px) {
  .about_slide_mask_02 {
    top: 70vw;
    left: -11.5384615385vw;
    width: 64.1025641026vw;
  }
}
.about_slide_mask_21 {
  top: 6.25vw;
  right: 0;
  width: 22.7083333333vw;
}
@media screen and (max-width: 768px) {
  .about_slide_mask_21 {
    top: 17.9487179487vw;
    right: -3.0769230769vw;
    width: 66.6666666667vw;
  }
}
.about_slide_mask_22 {
  top: 14.6527777778vw;
  right: -10.2083333333vw;
  width: 22.7083333333vw;
}
@media screen and (max-width: 768px) {
  .about_slide_mask_22 {
    top: 41.0256410256vw;
    right: -31.2820512821vw;
    width: 61.5384615385vw;
  }
}

.service {
  position: relative;
  margin-bottom: clamp(93.33px, 9.72vw, 140px);
}
.service_ul {
  max-width: 1180px;
  padding-inline: 50px;
  margin-inline: auto;
}
@media screen and (max-width: 650px) {
  .service_ul {
    padding-inline: 20px;
  }
}
.service_li {
  position: relative;
  display: flex;
  border-radius: 10px;
  overflow: hidden;
  color: white;
  width: 100%;
}
@media screen and (max-width: 650px) {
  .service_li {
    flex-direction: column;
  }
}
.service_li:not(:last-of-type) {
  margin-bottom: 20px;
}
.service_li_content {
  padding: 40px;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .service_li_content {
    padding: 15px;
  }
}
.service_li_title {
  font-size: 20px;
  line-height: 1.175;
  font-weight: 700;
  margin-bottom: 30px;
  font-family: "Maven Pro", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (max-width: 768px) {
  .service_li_title {
    font-size: 16px;
  }
}
.service_li_text {
  font-size: 16px;
  line-height: 2.1;
  letter-spacing: 0.05rem;
  margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
  .service_li_text {
    font-size: 15px;
    margin-bottom: 1px;
  }
}
.service_li_logo {
  margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
  .service_li_logo {
    display: block;
    margin-inline: auto;
    margin-bottom: 26px;
  }
}
.service_li:nth-of-type(1) .service_li_logo {
  width: clamp(255px, 20.8333333333vw, 300px);
}
.service_li:nth-of-type(1) .service_li_content {
  background-color: var(--color-green);
}
.service_li:nth-of-type(2) .service_li_logo {
  width: clamp(180px, 18.75vw, 270px);
}
.service_li:nth-of-type(2) .service_li_content {
  background-color: #DC8B00;
}
.service_li_link {
  display: inline-block;
  background-color: white;
  border-radius: 999px;
  padding: 12px 32px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .service_li_linkWrap {
    display: block;
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .service_li_link {
    padding: 6.5px 42px;
  }
}
.service_li_link img {
  width: 16px;
  height: 16px;
  margin-bottom: 5px;
}
.service_li_image {
  flex-shrink: 0;
  width: 33.5416666667vw;
}
@media screen and (max-width: 1000px) {
  .service_li_image {
    position: absolute;
    top: 0;
    right: 0;
    width: 160px;
    border-radius: 0 0 0 10px;
  }
}
@media screen and (max-width: 650px) {
  .service_li_image {
    position: relative;
    width: 100%;
    max-height: 200px;
  }
}
.service_bg_left {
  width: 30.6944444444vw;
  top: 6.25vw;
  left: 0;
}
.service_slide_01 {
  bottom: -7.9166666667vw;
  left: -6.4583333333vw;
  width: 32.1527777778vw;
}
@media screen and (max-width: 768px) {
  .service_slide_01 {
    width: 117.9487179487vw;
  }
}
.service_slide_02 {
  bottom: -9.5833333333vw;
  left: 1.5972222222vw;
  width: 9.4444444444vw;
}
@media screen and (max-width: 768px) {
  .service_slide_02 {
    bottom: -20.5128205128vw;
    left: -8.9743589744vw;
    width: 25.641025641vw;
  }
}
.service_slide_21 {
  top: 10.9722222222vw;
  right: 3.6111111111vw;
  width: 6.0416666667vw;
}
@media screen and (max-width: 768px) {
  .service_slide_21 {
    top: 19.2307692308vw;
    right: -26.1538461538vw;
    width: 58.9743589744vw;
  }
}
.service_slide_22 {
  top: 11.8055555556vw;
  right: -1.5277777778vw;
  width: 20.625vw;
}
@media screen and (max-width: 768px) {
  .service_slide_22 {
    top: 12.8205128205vw;
    right: -17.9487179487vw;
    width: 25.641025641vw;
  }
}

.recruit {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 20.8333333333vw;
}
@media screen and (max-width: 1200px) {
  .recruit {
    margin-bottom: 13.8888888889vw;
  }
}
@media screen and (max-width: 768px) {
  .recruit {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .recruit {
    margin-bottom: 40px;
    flex-direction: column-reverse;
  }
}
.recruitInner {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .recruitInner {
    padding: 0 19px;
  }
}
.recruit_text1 {
  font-size: 28px;
  line-height: 1.9;
  letter-spacing: 0.1rem;
  text-align: center;
  padding-bottom: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: rgba(255, 255, 255, 0.5);
  font-weight: 700;
}
.recruit .section_text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 48px;
  background-color: rgba(255, 255, 255, 0.5);
}
.recruit_btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  .recruit_btns {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .recruit_images {
    position: relative;
    height: 131.2820512821vw;
  }
}
.recruit_person_left {
  top: 7.7083333333vw;
  left: 5.5555555556vw;
  width: 12.9861111111vw;
}
@media screen and (max-width: 768px) {
  .recruit_person_left {
    top: 49.7435897436vw;
    left: 8.2051282051vw;
    width: 27.6923076923vw;
  }
}
.recruit_person_right {
  top: 12.2916666667vw;
  right: 5.5555555556vw;
  width: 12.0138888889vw;
}
@media screen and (max-width: 768px) {
  .recruit_person_right {
    top: 1.5384615385vw;
    right: 12.8205128205vw;
    width: 25.8974358974vw;
  }
}
.recruit_slide_01 {
  top: 14.7222222222vw;
  left: -5.1388888889vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_01 {
    top: 42.3076923077vw;
    left: -33.8461538462vw;
    width: 69.2307692308vw;
  }
}
.recruit_slide_02 {
  top: 21.25vw;
  left: -5.8333333333vw;
  width: 19.5833333333vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_02 {
    top: 59.4871794872vw;
    left: -35.8974358974vw;
    width: 52.8205128205vw;
  }
}
.recruit_slide_03 {
  top: 19.375vw;
  left: 0.2083333333vw;
  width: 27.2916666667vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_03 {
    top: 62.8205128205vw;
    left: -20.5128205128vw;
    width: 73.5897435897vw;
  }
}
.recruit_slide_04 {
  top: 26.0416666667vw;
  left: 5.9027777778vw;
  width: 15.1388888889vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_04 {
    top: 64.1025641026vw;
    left: -1.2820512821vw;
    width: 41.0256410256vw;
  }
}
.recruit_slide_05 {
  top: 39.2361111111vw;
  left: 5.7638888889vw;
  width: 6.0416666667vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_05 {
    top: 98.4615384615vw;
    left: 2.5641025641vw;
    width: 16.1538461538vw;
  }
}
.recruit_slide_06 {
  top: 39.2361111111vw;
  left: 13.4027777778vw;
  width: 2.0138888889vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_06 {
    top: 98.4615384615vw;
    left: 23.3333333333vw;
    width: 5.3846153846vw;
  }
}
.recruit_slide_07 {
  top: 40.625vw;
  left: 0.4166666667vw;
  width: 20.625vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_07 {
    top: 105.641025641vw;
    left: 0.5128205128vw;
    width: 55.8974358974vw;
  }
}
.recruit_slide_21 {
  top: 9.6527777778vw;
  right: -3.1944444444vw;
  width: 20.625vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_21 {
    top: -3.3333333333vw;
    right: -10.7692307692vw;
    width: 55.8974358974vw;
  }
}
.recruit_slide_22 {
  top: 17.4305555556vw;
  right: -1.9444444444vw;
  width: 6.0416666667vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_22 {
    top: 16.4102564103vw;
    right: 5.7692307692vw;
    width: 16.1538461538vw;
  }
}
.recruit_slide_23 {
  top: 34.8611111111vw;
  right: -10.1388888889vw;
  width: 27.2916666667vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_23 {
    top: 34.8717948718vw;
    right: -37.6923076923vw;
    width: 73.5897435897vw;
  }
}
.recruit_slide_24 {
  top: 40.9722222222vw;
  right: -5.5555555556vw;
  width: 15.1388888889vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_24 {
    top: 51.0256410256vw;
    right: -25.3846153846vw;
    width: 41.0256410256vw;
  }
}
.recruit_slide_25 {
  top: 44.6527777778vw;
  right: -4.0277777778vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_25 {
    top: 60.7692307692vw;
    right: -21.0256410256vw;
    width: 69.2307692308vw;
  }
}
.recruit_slide_26 {
  top: 52.0833333333vw;
  right: 3.4722222222vw;
  width: 19.5833333333vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_26 {
    top: 77.9487179487vw;
    right: -2.3076923077vw;
    width: 52.8205128205vw;
  }
}
.recruit_slide_mask_01 {
  top: 9.5833333333vw;
  left: -5.8333333333vw;
  width: 24.0277777778vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_mask_01 {
    top: 28.2051282051vw;
    left: -35.641025641vw;
    width: 66.6666666667vw;
  }
}
.recruit_slide_mask_02 {
  top: 16.5972222222vw;
  left: 1.25vw;
  width: 24.0277777778vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_mask_02 {
    top: 54.8717948718vw;
    left: -16.4102564103vw;
    width: 66.6666666667vw;
  }
}
.recruit_slide_mask_21 {
  top: 32.2916666667vw;
  right: -8.4722222222vw;
  width: 24.0277777778vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_mask_21 {
    top: 26.9230769231vw;
    right: -33.3333333333vw;
    width: 66.6666666667vw;
  }
}
.recruit_slide_mask_22 {
  top: 42.4305555556vw;
  right: -3.2638888889vw;
  width: 24.0277777778vw;
}
@media screen and (max-width: 768px) {
  .recruit_slide_mask_22 {
    top: 54.358974359vw;
    right: -19.2307692308vw;
    width: 66.6666666667vw;
  }
}

.sliderImages {
  margin-bottom: clamp(102.67px, 10.69vw, 154px);
}
@media screen and (max-width: 768px) {
  .sliderImages {
    margin-bottom: 40px;
  }
}
.sliderImages .slick-track {
  gap: 8px;
}
.sliderImages_imageWrap img {
  width: 100%;
}
.sliderImages_image01 {
  border-radius: 999px 999px 0 0;
  margin-bottom: 7.6923076923vw;
}
.sliderImages_image02 {
  border-radius: 10.5px;
  margin-bottom: 7.6923076923vw;
}
.sliderImages_image03 {
  border-radius: 999px;
  margin-block: 7.6923076923vw;
}
.sliderImages_image04 {
  border-radius: min(7.6923076923vw, 120px);
  margin-top: 7.6923076923vw;
}
.sliderImages_image05 {
  border-radius: 7.6923076923vw 0 7.6923076923vw 7.6923076923vw;
}
.sliderImages_image06 {
  border-radius: 7.6923076923vw 7.6923076923vw 0 0;
  margin-top: 7.6923076923vw;
}
.sliderImages_image07 {
  border-radius: 7.6923076923vw 7.6923076923vw 0 0;
  margin-top: 7.6923076923vw;
}

.interview {
  position: relative;
  margin-bottom: clamp(92px, 9.58vw, 138px);
}
@media screen and (max-width: 768px) {
  .interview .sectionTitle img {
    margin-bottom: -7.6923076923vw;
  }
}
.interview_ul {
  margin-bottom: 48px;
}
.interview_ul .slick-track {
  padding-top: 60px;
  gap: 25px;
}
.interview_ul .slick-list {
  margin-bottom: clamp(66.67px, 6.94vw, 100px);
}
.interview_ul .slick-dots {
  bottom: -55px;
}
@media screen and (max-width: 600px) {
  .interview_ul .slick-dots {
    bottom: 0;
  }
}
.interview_ul .slick-dots li {
  width: 12px;
  height: 12px;
}
.interview_ul .slick-dots li button:before {
  font-size: 10px;
}
.interview_ul .slick-dots li.slick-active button:before {
  color: var(--color-green);
}
.interview_ul .slick-slide {
  position: relative;
  top: 0;
}
.interview_ul .slick-active.slick-center {
  top: -60px;
  -webkit-animation: slick_center 0.3s ease-out forwards;
          animation: slick_center 0.3s ease-out forwards;
}
.interview_li_head {
  position: relative;
  margin-bottom: 20px;
}
.interview_li_head_image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px 4px 0 0;
}
.interview_li_head_text {
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: white;
  border-radius: 8px 0 0 0;
  font-size: clamp(12px, 1.75vw, 14px);
  letter-spacing: 0.1rem;
  padding: clamp(11.33px, 1.18vw, 17px) 1.875vw clamp(11.33px, 1.18vw, 17px) clamp(14px, 1.46vw, 21px);
}
.interview_li_head_text span {
  font-size: clamp(14px, 2vw, 16px);
  display: block;
  font-weight: 700;
}
.interview_li_body_text {
  max-width: 100%;
  margin-bottom: 20px;
  display: block;
  font-size: clamp(12px, 2vw, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  padding-bottom: 16px;
  border-bottom: 2px solid #051412;
}
.interview_li_bottom_link {
  border: solid 2px #324473;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 92px;
  height: 33px;
  margin-left: auto;
  transition: color 0.3s, background 0.3s;
}
.interview_li_bottom_link .hover-show {
  display: none;
}
.interview_li_bottom_link:hover {
  background-color: #324473;
}
.interview_li_bottom_link:hover .hover-show {
  display: block;
}
.interview_li_bottom_link:hover .hover-hide {
  display: none;
}
.interview_li_bottom_link img {
  width: 18.5px;
}
.interview_bg_right {
  top: 2.7777777778vw;
  right: 0;
  width: 29.7222222222vw;
}
.interview_slide_01 {
  top: 23.75vw;
  left: -2.6388888889vw;
  width: 15.625vw;
}
.interview_slide_02 {
  top: 27.0833333333vw;
  left: 4.9305555556vw;
  width: 8.2638888889vw;
}
.interview .section_btn {
  padding-inline: 19px;
}

.news {
  position: relative;
  margin-bottom: clamp(122.67px, 12.78vw, 184px);
}
@media screen and (max-width: 768px) {
  .news {
    margin-bottom: 80px;
  }
}
.newsInner {
  max-width: 1080px;
  margin-inline: auto;
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .newsInner {
    padding-inline: 19px;
  }
}
.news_ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(33.33px, 3.47vw, 50px) 6.25vw;
  padding: 0 19px;
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .news_ul {
    gap: 32px 2.5641025641vw;
    padding-inline: 0;
    margin-bottom: 0;
  }
}
.news_li {
  width: calc((100% - 12.5694444444vw) / 3);
  display: flex;
}
@media screen and (max-width: 768px) {
  .news_li {
    width: calc((100% - 2.6923076923vw) / 2);
  }
}
.news_liInner {
  display: flex;
  flex-direction: column;
}
.news_li_image {
  display: inline-block;
  border-radius: 8px;
  margin-bottom: 1.3888888889vw;
  width: 100%;
  aspect-ratio: 4/3;
}
.news_li_texts_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5555555556vw;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .news_li_texts_head {
    flex-direction: column;
    align-items: flex-start;
  }
}
.news_li_texts_head time {
  font-size: 14px;
  line-height: 1.9;
  font-weight: 500;
  font-family: "Maven Pro", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.news_li_texts_head_categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.news_li_texts_head_categories span {
  font-size: 12px;
  letter-spacing: 0.1rem;
  border-radius: 999px;
  border: solid 1px var(--color-green);
  color: var(--color-green);
  padding: 0 20px 1px;
  font-weight: 700;
}
.news_li_texts_text {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.03rem;
  font-weight: 500;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .news_li_texts_text {
    font-size: 14px;
  }
}
.news_li_link {
  background-color: var(--color-blue);
  margin-left: auto;
  border-radius: 99px;
  width: 70px;
  height: 33.5px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  margin-top: auto;
}
.news_li_link:hover {
  background-color: var(--color-orange);
}
.news_li_link img {
  width: 18.5px;
  height: 9.5px;
}
.news_bg_left {
  bottom: -28.4722222222vw;
  left: 0;
  width: 33.3333333333vw;
}
.news_slide_21 {
  top: 7.6388888889vw;
  right: -5.4166666667vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .news_slide_21 {
    top: 48.7179487179vw;
  }
}
.news_slide_22 {
  top: 14.6527777778vw;
  right: 9.5138888889vw;
  width: 15.8333333333vw;
  z-index: -21;
}
@media screen and (max-width: 768px) {
  .news_slide_22 {
    top: 55.641025641vw;
  }
}
.news_slide_23 {
  top: 13.8888888889vw;
  right: -5.0694444444vw;
  width: 19.5833333333vw;
}
@media screen and (max-width: 768px) {
  .news_slide_23 {
    top: 56.4102564103vw;
  }
}
.news_slide_24 {
  top: 16.25vw;
  right: -7.9861111111vw;
  width: 25.625vw;
}
@media screen and (max-width: 768px) {
  .news_slide_24 {
    top: 64.1025641026vw;
  }
}
.news_slide_mask_21 {
  top: 4.1666666667vw;
  right: 0.5555555556vw;
  width: 24.0277777778vw;
}
@media screen and (max-width: 768px) {
  .news_slide_mask_21 {
    top: 44.8717948718vw;
  }
}
.news_slide_mask_22 {
  top: 12.9166666667vw;
  right: -10.4861111111vw;
  width: 23.4027777778vw;
}
@media screen and (max-width: 768px) {
  .news_slide_mask_22 {
    top: 61.5384615385vw;
  }
}

.recruit2 {
  position: relative;
  margin-bottom: clamp(66.67px, 6.94vw, 100px);
}
.recruit2_main {
  position: absolute;
  left: 12.5vw;
  bottom: 0;
  background-color: #012B27;
  border-radius: 20px 20px 0 0;
  color: white;
  padding: 60px 42px 35px;
  width: clamp(342.67px, 35.69vw, 514px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 1000px) {
  .recruit2_main {
    justify-content: center;
    left: initial;
    right: 0;
    height: 100%;
    width: 55.5555555556vw;
    padding: 15px;
  }
}
@media screen and (max-width: 650px) {
  .recruit2_main {
    position: relative;
    width: 100%;
    right: initial;
    border-radius: 0;
  }
}
.recruit2_title {
  text-align: center;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1rem;
  margin-bottom: 30px;
  font-weight: 700;
}
.recruit2_image {
  width: 78%;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: 25px;
}
.recruit2_text {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 32px;
}
.recruit2_link {
  margin-left: auto;
  background-color: white;
  border-radius: 99px;
  width: 100px;
  height: 33.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.recruit2_link .hover-show {
  display: none;
}
.recruit2_link:hover {
  background-color: var(--color-orange);
}
.recruit2_link:hover .hover-show {
  display: block;
}
.recruit2_link:hover .hover-hide {
  display: none;
}
.recruit2_link img {
  width: 18.5px;
  height: 9.5px;
}

.contact {
  display: flex;
  justify-content: center;
  margin-bottom: clamp(66.67px, 6.94vw, 100px);
}
.contactInner {
  max-width: 1020px;
  width: 100%;
  padding: clamp(50.67px, 5.28vw, 76px) 16px 15px;
  margin-inline: 20px;
  border: solid 2px var(--color-blue);
  border-radius: 20px;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .contactInner {
    padding-top: 88px;
  }
}
.contactInner .hover-show {
  display: none;
}
.contactInner:hover {
  border-color: #77D2C9;
}
.contactInner:hover .hover-hide {
  display: none;
}
.contactInner:hover .hover-show {
  display: block;
}
.contactInner:hover .contact_link_text {
  color: #77D2C9;
}
.contactInner:hover .contact_link_arrow {
  background-color: #77D2C9;
}
.contact_link {
  text-decoration: none;
}
.contact_link_image {
  max-width: 450px;
  height: 102px;
  width: 80%;
  margin-inline: auto;
  display: flex;
  align-items: center;
}
.contact_link_image img {
  -o-object-fit: contain;
     object-fit: contain;
}
.contact_link_image .hover-show {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  overflow: visible;
}
.contact_link_text {
  font-weight: 18px;
  line-height: 1;
  letter-spacing: 0.1rem;
  color: var(--color-blue);
  font-weight: 700;
  text-align: center;
  margin-bottom: 16px;
}
.contact_link_arrow {
  display: block;
  margin-left: auto;
  background-color: var(--color-blue);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  position: relative;
  transition: color 0.3s, background-color 0.3s;
}
.contact_link_arrow img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
}
@media screen and (max-width: 768px) {
  .contact_link_arrow {
    margin-bottom: 38px;
  }
}

.instagram-gallery__actions .instagram-gallery__button {
  background-color: var(--color-blue);
  font-size: 20px;
  padding: 30px 50px;
}
@media screen and (max-width: 768px) {
  .instagram-gallery__actions .instagram-gallery__button {
    padding-inline: auto;
    width: 100%;
  }
}

@media (max-width: 480px) {
  #instagram-gallery-feed-0 {
    --qligg-columns: 2 !important;
    --qligg-spacing: 6px;
  }
}
/* 個別部ここまで
---------- ---------- */