@charset "UTF-8";
/* ========== ========== ==========
共通部
========== ========== ========== */
.block-afterLine {
  position: relative;
  text-align: center;
}
.block-afterLine span {
  display: block;
}
.block-afterLine::after {
  content: "";
  margin-inline: auto;
  display: block;
  width: 2px;
  height: clamp(30px, calc(60 / var(--base-width-pc) * 100vw), 60px);
  background-color: #444444;
}

.block-text {
  position: relative;
}
.block-text_title {
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  transform: translate(0, -50%);
  background-color: #444444;
  color: white;
  padding: clamp(11.33px, calc(17 / var(--base-width-pc) * 100vw), 17px) clamp(10px, 2.6041666667vw, 20px);
  width: 100%;
  text-align: center;
  max-width: min(932px, 80%);
  font-size: clamp(20px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .block-text_title {
    padding-inline: 20px;
    text-align: left;
  }
}
.block-text_text {
  background-color: white;
  padding: clamp(60px, calc(86 / var(--base-width-pc) * 100vw), 86px) 20px 36px;
  text-align: center;
  line-height: 2;
  font-size: clamp(16px, calc(20 / var(--base-width-pc) * 100vw), 20px);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .block-text_text {
    text-align: left;
    padding-inline: 20px;
  }
  .block-text_text:where(.-special04 *) {
    padding-left: clamp(100px, 26.0416666667vw, 200px);
  }
}
.block-text_image {
  position: absolute;
  right: 0;
  bottom: 0;
  overflow: visible;
  -o-object-fit: contain;
     object-fit: contain;
}
.block-text_image:where(.-special01 *) {
  width: clamp(80px, calc(150 / var(--base-width-pc) * 100vw), 150px);
  transform: translate(-10%, 40%);
}
.block-text_image:where(.-special02 *) {
  width: clamp(40px, calc(68 / var(--base-width-pc) * 100vw), 68px);
  transform: translate(-30%, 35%);
}
.block-text_image:where(.-special03 *) {
  width: clamp(40px, calc(76 / var(--base-width-pc) * 100vw), 76px);
  transform: translate(-10%, 15%);
}
.block-text_image:where(.-special04 *) {
  right: initial;
  left: 0;
  width: clamp(120px, calc(227 / var(--base-width-pc) * 100vw), 227px);
  transform: translate(5%, 50%);
}
@media screen and (max-width: 768px) {
  .block-text_image {
    transform: translate(-10%, 60%);
  }
}

/* 共通部ここまで
---------- ---------- */
/* ========== ========== ==========
個別部
========== ========== ========== */
.FV-special {
  position: relative;
}
.FV-special_title {
  font-family: "Josefin Sans", "Noto sans JP", sans-serif;
  font-size: clamp(24px, calc(54 / var(--base-width-pc) * 100vw), 54px);
}
.FV-special_titleWrap {
  position: absolute;
  bottom: 10%;
  left: var(--section-padding-pc);
  z-index: 2;
}
.FV-special_title_span {
  display: block;
  background-color: white;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: clamp(13.33px, calc(20 / var(--base-width-pc) * 100vw), 20px) clamp(14px, calc(50 / var(--base-width-pc) * 100vw), 50px) clamp(6.67px, calc(10 / var(--base-width-pc) * 100vw), 10px) 14px;
  font-weight: 700;
}
.FV-special_title_span:not(:last-of-type) {
  margin-bottom: clamp(12px, calc(24 / var(--base-width-pc) * 100vw), 24px);
  padding-right: min(calc(150 / var(--base-width-pc) * 100vw), 150px);
}
.FV-special_subtitle {
  color: white;
  font-size: clamp(18px, calc(24 / var(--base-width-pc) * 100vw), 24px);
  margin-bottom: clamp(15px, calc(50 / var(--base-width-pc) * 100vw), 50px);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .FV-special_subtitle {
    text-shadow: 1px 1px 3px black;
  }
}
.FV-special_image {
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 430px;
}
.FV-special_images:where(.-special01 *) {
  background-color: #318FFC;
}
.FV-special_images:where(.-special02 *) {
  background-color: #5278C1;
}
.FV-special_images:where(.-special03 *) {
  background-color: #5571A7;
}
.FV-special_images:where(.-special04 *) {
  background-color: #45597C;
}
.FV-special_images::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(373 / var(--base-width-pc) * 100vw);
}
.FV-special_images:where(.-special01 *)::after {
  background-color: #318FFC;
}
.FV-special_images:where(.-special02 *)::after {
  background-color: #5278C1;
}
.FV-special_images:where(.-special03 *)::after {
  background-color: #5571A7;
}
.FV-special_images:where(.-special04 *)::after {
  background-color: #45597C;
}

.issue {
  padding-block: clamp(46.67px, calc(140 / var(--base-width-pc) * 100vw), 140px) 73px;
  background-color: #DDDDDD;
  position: relative;
}
@media screen and (max-width: 768px) {
  .issue {
    padding-bottom: 90px;
  }
}
.issue_title {
  position: absolute;
  left: 9px;
  top: 0;
  transform: translate(0, -35%);
  font-size: clamp(30px, calc(70 / var(--base-width-pc) * 100vw), 70px);
  font-family: "Josefin Sans", "Noto sans JP", sans-serif;
  line-height: 1;
}
.issue_text {
  font-size: clamp(16px, calc(20 / var(--base-width-pc) * 100vw), 20px);
  font-weight: 600;
  max-width: clamp(240px, calc(720 / var(--base-width-pc) * 100vw), 720px);
  width: 100%;
}
.issue_texts {
  background-color: white;
  padding: clamp(25px, calc(75 / var(--base-width-pc) * 100vw), 75px) clamp(25px, calc(75 / var(--base-width-pc) * 100vw), 75px) clamp(19px, calc(57 / var(--base-width-pc) * 100vw), 57px);
  position: relative;
  margin-right: clamp(43.33px, calc(130 / var(--base-width-pc) * 100vw), 130px);
}
@media screen and (max-width: 768px) {
  .issue_texts {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .issue_text {
    max-width: clamp(200px, 65.1041666667vw, 500px);
  }
}
.issue_image {
  position: absolute;
  right: calc(var(--section-padding-pc) * -1);
  bottom: 0;
  transform: translate(0, 40%);
  overflow: visible;
  -o-object-fit: contain;
     object-fit: contain;
}
.issue_image:where(.-special01 *) {
  width: clamp(100px, calc(339 / var(--base-width-pc) * 100vw), 339px);
}
.issue_image:where(.-special02 *) {
  width: clamp(100px, calc(324 / var(--base-width-pc) * 100vw), 324px);
  right: calc(var(--section-padding-pc) * -1 + min(calc(50 / var(--base-width-pc) * 100vw), 50px));
}
.issue_image:where(.-special03 *) {
  width: clamp(80px, calc(212 / var(--base-width-pc) * 100vw), 212px);
  right: calc(var(--section-padding-pc) * -1 + min(calc(80 / var(--base-width-pc) * 100vw), 80px));
}
.issue_image:where(.-special04 *) {
  width: clamp(80px, calc(152 / var(--base-width-pc) * 100vw), 152px);
  transform: translate(0, 23%);
  right: calc(var(--section-padding-pc) * -1 + min(calc(170 / var(--base-width-pc) * 100vw), 170px));
}
@media screen and (max-width: 768px) {
  .issue_image {
    bottom: -30px;
    right: calc(var(--section-padding-pc-maxWidth) * -0.5);
  }
  .issue_image:where(.-special04 *) {
    bottom: -45px;
  }
}

.response {
  background-color: #DDDDDD;
  padding-bottom: clamp(75px, calc(150 / var(--base-width-pc) * 100vw), 150px);
}
.response .block-afterLine {
  margin-bottom: 54px;
}
.response .block-afterLine_span1 {
  font-family: "Josefin Sans", "Noto sans JP", sans-serif;
  font-size: clamp(18px, calc(24 / var(--base-width-pc) * 100vw), 24px);
  color: #7C7C7C;
  font-weight: 500;
}
.response .block-afterLine_text1 {
  font-size: clamp(24px, calc(40 / var(--base-width-pc) * 100vw), 40px);
  color: #444444;
  font-weight: 600;
}

.solution {
  padding-block: clamp(60px, calc(120 / var(--base-width-pc) * 100vw), 120px) clamp(123px, calc(246 / var(--base-width-pc) * 100vw), 246px);
  margin-bottom: clamp(66.67px, calc(100 / var(--base-width-pc) * 100vw), 100px);
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .solution {
    padding-bottom: 220px;
  }
}
.solution:where(.-special01 *) {
  background-color: #E7F8ED;
}
.solution:where(.-special02 *) {
  background-color: #D2FDFD;
}
.solution:where(.-special03 *) {
  background-color: #E7F8F3;
}
.solution:where(.-special04 *) {
  background-color: #E7F8F5;
}
.solution_title {
  margin-bottom: clamp(15px, calc(30 / var(--base-width-pc) * 100vw), 30px);
  text-align: center;
  color: #318FFC;
  font-weight: 500;
  font-size: clamp(40px, calc(70 / var(--base-width-pc) * 100vw), 70px);
  font-family: "Josefin Sans", "Noto sans JP", sans-serif;
}
.solution .block-afterLine {
  color: #318FFC;
  font-size: clamp(16px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  letter-spacing: 0.08rem;
  font-weight: 600;
}
.solution .block-afterLine_text1 {
  font-weight: bold;
}
.solution .block-afterLine::after {
  background-color: #318FFC;
}
.solution .block-text {
  margin-block: 60px clamp(120px, calc(144 / var(--base-width-pc) * 100vw), 144px);
}
.solution .block-text_title:where(.-special01 *) {
  background-color: #318FFC;
}
.solution .block-text_title:where(.-special02 *) {
  background-color: #5F8BDE;
}
.solution .block-text_title:where(.-special03 *) {
  background-color: #3473ED;
}
.solution .block-text_title:where(.-special04 *) {
  background-color: #003EAA;
}
@media screen and (max-width: 768px) {
  .solution .block-text_title {
    padding-inline: 20px;
  }
}
.solution .block-text_text:where(.-special04 *) {
  padding-left: 20px;
}
.solution .block-text_image {
  inset: initial;
  left: 0;
  top: 0;
  transform: translate(30%, -55%);
}
.solution .block-text_image:where(.-special01 *) {
  width: clamp(80px, calc(157 / var(--base-width-pc) * 100vw), 157px);
}
.solution .block-text_image:where(.-special02 *) {
  width: clamp(50px, calc(108 / var(--base-width-pc) * 100vw), 108px);
  transform: translate(50%, -53%);
}
.solution .block-text_image:where(.-special03 *) {
  width: clamp(80px, calc(157 / var(--base-width-pc) * 100vw), 157px);
}
.solution .block-text_image:where(.-special04 *) {
  width: clamp(80px, calc(160 / var(--base-width-pc) * 100vw), 160px);
  transform: translate(25%, 5%);
}
@media screen and (max-width: 1000px) {
  .solution .block-text_image:where(.-special04 *) {
    transform: translate(0, 5%);
  }
}
@media screen and (max-width: 768px) {
  .solution .block-text_image {
    inset: initial;
    right: 0;
    bottom: 0;
    transform: translate(-10%, 70%);
  }
}
.solution_block2 {
  position: relative;
}
.solution_block2 .block-afterLine {
  margin-bottom: 20px;
}
.solution_block2_texts {
  position: relative;
  max-width: 778px;
}
.solution_block2_texts.-n02 {
  margin-left: auto;
}
.solution_block2_textsWrap {
  padding: clamp(20px, calc(60 / var(--base-width-pc) * 100vw), 60px) clamp(20px, calc(60 / var(--base-width-pc) * 100vw), 60px) clamp(20px, calc(80 / var(--base-width-pc) * 100vw), 80px);
  background-color: white;
  position: relative;
}
.solution_block2_textsWrap:where(.-n01 *) {
  padding-right: clamp(100px, calc(190 / var(--base-width-pc) * 100vw), 190px);
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .solution_block2_textsWrap:where(.-n01 *) {
    padding-right: 20px;
  }
}
.solution_block2_textsWrap:where(.-n02 *) {
  padding-left: clamp(100px, calc(270 / var(--base-width-pc) * 100vw), 270px);
  z-index: 1;
}
.solution_block2_textsWrap:where(.-n02 *):where(.-special03 *, .-special04 *) {
  padding-left: 270px;
}
@media screen and (max-width: 768px) {
  .solution_block2_textsWrap:where(.-n02 *):where(.-special03 *, .-special04 *) {
    padding-left: clamp(100px, 26.0416666667vw, 200px);
  }
}
@media screen and (max-width: 600px) {
  .solution_block2_textsWrap:where(.-n02 *) {
    padding-left: 20px;
  }
}
.solution_block2_textsWrap * {
  position: relative;
  z-index: 3;
}
.solution_block2_texts:not(:last-of-type) {
  margin-bottom: clamp(121.5px, calc(243 / var(--base-width-pc) * 100vw), 243px);
}
.solution_block2_texts::before, .solution_block2_texts::after {
  content: "";
  position: absolute;
  display: block;
}
.solution_block2_texts.-n01:where(.-special01 *)::before, .solution_block2_texts.-n01:where(.-special01 *)::after {
  background-color: #005FCE;
}
.solution_block2_texts.-n02:where(.-special01 *)::before, .solution_block2_texts.-n02:where(.-special01 *)::after {
  background-color: #318FFC;
}
.solution_block2_texts.-n01:where(.-special02 *)::before, .solution_block2_texts.-n01:where(.-special02 *)::after {
  background-color: #6C97EA;
}
.solution_block2_texts.-n02:where(.-special02 *)::before, .solution_block2_texts.-n02:where(.-special02 *)::after {
  background-color: #093A98;
}
.solution_block2_texts.-n01:where(.-special03 *)::before, .solution_block2_texts.-n01:where(.-special03 *)::after {
  background-color: #3D527B;
}
.solution_block2_texts.-n02:where(.-special03 *)::before, .solution_block2_texts.-n02:where(.-special03 *)::after {
  background-color: #2B53A0;
}
.solution_block2_texts.-n01:where(.-special04 *)::before, .solution_block2_texts.-n01:where(.-special04 *)::after {
  background-color: #4977C7;
}
.solution_block2_texts.-n02:where(.-special04 *)::before, .solution_block2_texts.-n02:where(.-special04 *)::after {
  background-color: #003CA5;
}
.solution_block2_texts.-n01::before {
  left: -20px;
  top: -20px;
  width: clamp(110.33px, calc(331 / var(--base-width-pc) * 100vw), 331px);
  height: clamp(59.33px, calc(178 / var(--base-width-pc) * 100vw), 178px);
}
.solution_block2_texts.-n01::after {
  top: clamp(37px, calc(74 / var(--base-width-pc) * 100vw), 74px);
  right: calc(clamp(77px, calc(231 / var(--base-width-pc) * 100vw), 231px) * -1);
  width: clamp(128.67px, calc(386 / var(--base-width-pc) * 100vw), 386px);
  height: clamp(195px, calc(585 / var(--base-width-pc) * 100vw), 585px);
}
.solution_block2_texts.-n02::before {
  right: -20px;
  bottom: -30px;
  width: clamp(60px, 5.6944444444vw, 200px);
  height: clamp(201.33px, calc(302 / var(--base-width-pc) * 100vw), 302px);
}
.solution_block2_texts.-n02::after {
  left: calc(clamp(112px, calc(336 / var(--base-width-pc) * 100vw), 336px) * -1);
  bottom: calc(clamp(44px, calc(132 / var(--base-width-pc) * 100vw), 132px) * -1);
  width: clamp(203px, calc(609 / var(--base-width-pc) * 100vw), 609px);
  height: clamp(100.67px, calc(302 / var(--base-width-pc) * 100vw), 302px);
}
.solution_block2_number {
  margin-bottom: clamp(18px, calc(27 / var(--base-width-pc) * 100vw), 27px);
  color: #318FFC;
  font-weight: 500;
  font-size: clamp(28px, calc(40 / var(--base-width-pc) * 100vw), 40px);
  font-family: "Josefin Sans", "Noto sans JP", sans-serif;
}
.solution_block2_title {
  font-size: clamp(20px, calc(30 / var(--base-width-pc) * 100vw), 30px);
  font-weight: 600;
  margin-bottom: 10px;
}
.solution_block2_text {
  max-width: 404px;
}
.solution_block2_image {
  position: absolute;
  overflow: visible;
  z-index: 2;
}
.solution_block2_image.-up {
  top: 0;
}
.solution_block2_image.-up:where(.-special01 *) {
  width: clamp(65px, calc(203 / var(--base-width-pc) * 100vw), 203px);
  right: 28.5%;
  transform: translate(0, 150px);
}
@media screen and (max-width: 600px) {
  .solution_block2_image.-up:where(.-special01 *) {
    transform: translate(0, -5%);
  }
}
.solution_block2_image.-up:where(.-special02 *) {
  width: clamp(65px, calc(213 / var(--base-width-pc) * 100vw), 213px);
  right: 30%;
  transform: translate(0, 240px);
}
@media screen and (max-width: 600px) {
  .solution_block2_image.-up:where(.-special02 *) {
    transform: translate(0, 10%);
  }
}
.solution_block2_image.-up:where(.-special03 *) {
  width: clamp(80px, calc(380 / var(--base-width-pc) * 100vw), 380px);
  right: 23%;
  transform: translate(0, 200px);
}
@media screen and (max-width: 768px) {
  .solution_block2_image.-up:where(.-special03 *) {
    width: clamp(80px, 15.625vw, 120px);
  }
}
@media screen and (max-width: 600px) {
  .solution_block2_image.-up:where(.-special03 *) {
    transform: translate(0, 50%);
  }
}
.solution_block2_image.-up:where(.-special04 *) {
  width: clamp(65px, calc(229 / var(--base-width-pc) * 100vw), 229px);
  right: 30%;
  transform: translate(0, clamp(150px, calc(250 / var(--base-width-pc) * 100vw), 250px));
}
@media screen and (max-width: 600px) {
  .solution_block2_image.-up:where(.-special04 *) {
    transform: translate(0, 0%);
  }
}
@media screen and (max-width: 1200px) {
  .solution_block2_image.-up {
    right: 2%;
  }
}
@media screen and (max-width: 600px) {
  .solution_block2_image.-up {
    right: 0;
  }
}
.solution_block2_image.-bottom {
  bottom: 0;
}
.solution_block2_image.-bottom:where(.-special01 *) {
  width: clamp(80px, calc(223 / var(--base-width-pc) * 100vw), 223px);
  left: 26%;
  transform: translate(0, 20%);
}
.solution_block2_image.-bottom:where(.-special02 *) {
  width: clamp(80px, calc(249 / var(--base-width-pc) * 100vw), 249px);
  left: 29%;
  transform: translate(0, 27%);
}
.solution_block2_image.-bottom:where(.-special03 *) {
  width: clamp(150px, calc(486 / var(--base-width-pc) * 100vw), 486px);
  left: 12%;
  transform: translate(0, 30%);
}
.solution_block2_image.-bottom:where(.-special04 *) {
  width: clamp(100px, calc(257 / var(--base-width-pc) * 100vw), 257px);
  left: 14.7%;
  transform: translate(0, 2%);
}
@media screen and (max-width: 1300px) {
  .solution_block2_image.-bottom {
    left: 20%;
  }
  .solution_block2_image.-bottom:where(.-special03 *) {
    left: 8%;
  }
}
@media screen and (max-width: 1200px) {
  .solution_block2_image.-bottom {
    left: 2%;
  }
  .solution_block2_image.-bottom:where(.-special03 *) {
    left: -5%;
  }
}
@media screen and (max-width: 768px) {
  .solution_block2_image.-bottom {
    left: 0;
    transform: none;
  }
}
@media screen and (max-width: 600px) {
  .solution_block2_image.-bottom:where(.-special01 *) {
    transform: translate(50%, 100%);
  }
  .solution_block2_image.-bottom:where(.-special02 *) {
    transform: translate(50%, 100%);
  }
  .solution_block2_image.-bottom:where(.-special03 *) {
    transform: translate(10%, 100%);
  }
  .solution_block2_image.-bottom:where(.-special04 *) {
    transform: translate(10%, 93%);
  }
}
.solution_block2_back {
  position: absolute;
  top: 50%;
  left: 0;
  max-width: initial;
  max-height: initial;
  z-index: 1;
}
.solution_block2_back:where(.-special01 *) {
  width: clamp(436.67px, calc(1310 / var(--base-width-pc) * 100vw), 1310px);
  transform: translate(-22%, -25%);
}
@media screen and (max-width: 1000px) {
  .solution_block2_back:where(.-special01 *) {
    transform: translate(0, -25%);
  }
}
.solution_block2_back:where(.-special02 *) {
  width: clamp(464px, calc(1392 / var(--base-width-pc) * 100vw), 1392px);
  transform: translate(-25%, -15%);
}
@media screen and (max-width: 1000px) {
  .solution_block2_back:where(.-special02 *) {
    transform: translate(0, -15%);
  }
}
.solution_block2_back:where(.-special03 *) {
  width: clamp(417.33px, calc(1252 / var(--base-width-pc) * 100vw), 1252px);
  transform: translate(-30%, -32%);
}
@media screen and (max-width: 1000px) {
  .solution_block2_back:where(.-special03 *) {
    transform: translate(0, -32%);
  }
}
.solution_block2_back:where(.-special04 *) {
  width: 100%;
  max-width: 725px;
  transform: translate(-9%, -13%);
  opacity: 0.5;
}
@media screen and (max-width: 1000px) {
  .solution_block2_back:where(.-special04 *) {
    transform: translate(-9%, -30%);
  }
}
@media screen and (max-width: 400px) {
  .solution_block2_back:where(.-special04 *) {
    transform: translate(0, -30%);
  }
}
@media screen and (max-width: 400px) {
  .solution_block2_back {
    max-width: 100%;
  }
}

.interview {
  background-color: transparent;
}

/* 個別部ここまで
---------- ---------- */