.home_page .key {
  --height: 56.25vw;
  --min-height: 550px;
  --max-height: 100vh;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  position: relative;
  z-index: 10;
}
.home_page .key::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.home_page .key::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  bottom: var(--wrapper);
  left: 0;
  right: 0;
  height: 1px;
  background: #c9e6ec;
  opacity: 0.5;
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 90%;
  max-width: 1592px;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
  opacity: 0;
}
.home_page .key .mv_slider::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  position: fixed;
  right: calc(var(--wrapper) - 1px);
  top: 0;
  height: 100%;
  background: rgba(201, 230, 236, 0.5);
  width: 1px;
  z-index: 1;
}
.home_page .key video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.home_page .key .catch {
  margin-left: auto;
  display: table;
  padding-top: 1.8em;
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.875;
}
.home_page .key h2 {
  font-weight: 500;
  font-size: 6em;
  line-height: 1.75;
  margin-bottom: 22px;
}
.home_page .key .jp {
  font-size: 3.2em;
}
.home_page .key .jp .dot {
  margin: 0 -0.2188em 0 -0.2188em;
}
@keyframes idx_scroll {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.home_page .key .idx_scroll {
  position: absolute;
  z-index: 1;
  bottom: 10px;
  right: 10px;
}
.home_page .key .idx_scroll a {
  display: flex;
  width: calc(var(--wrapper) - 20px);
  height: calc(var(--wrapper) - 20px);
}
.home_page .key .idx_scroll a::before, .home_page .key .idx_scroll a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: -1;
  background-color: #fff;
}
.home_page .key .idx_scroll a::before {
  mask-size: contain;
  mask-image: url(../images/idx_scroll_txt.png);
  mask-repeat: no-repeat;
  animation: idx_scroll 10s linear infinite;
}
.home_page .key .idx_scroll a::after {
  mask-size: contain;
  mask-image: url(../images/idx_scroll_icon.png);
  mask-repeat: no-repeat;
}
.home_page .key .idx_scroll a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .home_page .key .idx_scroll a:hover::before, .home_page .key .idx_scroll a:hover::after {
    background-color: var(--main-color);
  }
}
.home_page .key.active {
  z-index: 19;
}
.home_page .topic_path {
  display: none;
}
.home_page .wrap_h3.t_center {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.home_page .wrap_h3.white * {
  color: #fff;
}
.home_page .h_en {
  color: var(--main-color);
  text-transform: uppercase;
  font-family: var(--f-en);
  font-size: 60px;
}
.home_page .h_en.med {
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #5ab3c2;
  display: table;
  margin: 0 auto;
  background: #e2edef;
  position: relative;
  z-index: 1;
}
.home_page .h_en.med::before, .home_page .h_en.med::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 4.6154em;
  height: 1px;
  background-color: #5ab3c2;
  top: calc(50% - 1px);
}
.home_page .h_en.med::before {
  left: calc(100% + 0.4231em);
}
.home_page .h_en.med::after {
  right: calc(100% + 0.5em);
}
.home_page h3 {
  position: relative;
  color: var(--clr1);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.home_page h3.big {
  letter-spacing: 0.035em;
}
.home_page h3.big .jp {
  color: #5ab3c2;
  font-size: 60px;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
  .home_page h3.big .dot {
    margin: 0 -15px;
  }
}
.home_page h3.med {
  font-size: 42px;
  letter-spacing: 0.1em;
}
.home_page h3 .med {
  font-size: 60px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.home_page h3.small {
  font-size: 30px;
}
.home_page h3.border::after {
  content: "";
  display: block;
  width: 110px;
  height: 1px;
  background-color: #fff;
  margin-top: 19px;
}
.home_page h3 .char {
  margin: 0 -0.25em;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page h3 {
    letter-spacing: 0;
    font-size: min(3vw, 26px);
  }
  .home_page h3.big {
    letter-spacing: 0;
    font-size: min(3vw, 30px);
  }
  .home_page h3.big .jp {
    font-size: min(4vw, 50px);
    letter-spacing: 0;
  }
  .home_page h3.med {
    font-size: min(3.5vw, 36px);
    letter-spacing: 0;
  }
  .home_page h3 .med {
    font-size: min(4vw, 50px);
    letter-spacing: 0;
  }
  .home_page h3.small {
    font-size: min(3vw, 26px);
  }
  .home_page h3 .char {
    margin: 0;
    letter-spacing: -0.1em;
  }
}

@media screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 100vh;
    --height: 100vh;
  }
}
@media only screen and (max-width: 1600px) and (min-width: 769px) and (orientation: landscape) {
  .home_page .key {
    --max-height: 100vh;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: 9px;
    --max-height: calc(100vh);
  }
  .home_page .key .catch {
    font-size: 0.9em;
    padding-right: 10em;
    padding-bottom: 6em;
  }
}
@media only screen and (max-width: 1170px) and (min-width: 769px) {
  .home_page .key {
    font-size: min(0.8vw, 1vh);
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.idx1 {
  padding: 80px 0 93px;
  background-image: url(../images/idx1_bg.jpg);
}
.idx1 h3 {
  font-size: 60px;
  font-family: var(--f-en);
  color: var(--clr5);
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 400;
  display: flex;
  align-items: center;
  margin-left: 32px;
}
.idx1 h3::before {
  content: "";
  display: block;
  background: url(../images/idx1_h3.png) no-repeat center/contain;
  min-width: 0.7667em;
  height: 0.7667em;
  margin-right: 0.45em;
}
.idx1 .left {
  width: 28%;
  padding-top: 45px;
}
.idx1 .right {
  max-width: 825px;
  width: 65%;
}
.idx1 ul li {
  margin: 0;
}
.idx1 ul li a {
  padding: 2.5625em 1.25em 2.5625em 0;
  color: var(--clr1);
  text-decoration: none;
  border-bottom: 0.0625em solid #e3e3e3;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  --w: 9.375em;
  transition: 0.3s all;
  position: relative;
}
.idx1 ul li a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx1_arr.png);
  background-color: #5ab3c2;
  right: 0.9375em;
  width: 0.875em;
  height: 0.875em;
}
.idx1 ul li a span {
  letter-spacing: 0.1em;
}
.idx1 ul li a .date {
  width: var(--w);
  padding-left: 1em;
}
.idx1 ul li a .title {
  width: calc(100% - var(--w));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 1em;
}
.idx1 ul li a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx1 ul li a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .idx1 ul li a:hover::after {
    background-color: #fff;
  }
}
@media only screen and (min-width: 1919px) {
  .idx1 ul li:last-child a {
    padding-bottom: 42px;
  }
}
.idx1 .idx1_btn {
  display: table;
  margin-left: auto;
  margin-top: 113px;
  margin-right: 10px;
}
.idx1 .idx1_btn a {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid #5ab3c2;
  position: relative;
  text-decoration: none;
  background-color: #fff;
}
.idx1 .idx1_btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: 22px;
  mask-image: url(../images/idx1_arr_btn.png);
  background-color: #5ab3c2;
  inset: 0;
  mask-position: calc(50% - 2px) center;
}
.idx1 .idx1_btn a .jp {
  color: var(--clr1);
  line-height: 1;
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: 500;
  background: #fff;
  position: absolute;
  left: -52px;
  transition: 0.3s all;
  padding: 6px 0 6px;
}
.idx1 .idx1_btn a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx1 .idx1_btn a:hover {
    border-color: #34a6da;
  }
  .idx1 .idx1_btn a:hover .jp {
    color: #34a6da;
  }
  .idx1 .idx1_btn a:hover::after {
    background-color: #34a6da;
  }
}
.idx1 .idx1_list {
  margin-top: 80px;
}
.idx1 .idx1_list a {
  bottom: -25px;
}
.idx1 .idx1_list .item {
  position: relative;
  z-index: 1;
  width: calc(33.3333333333% - 20px);
  max-width: 400px;
  padding: 25px 0;
  height: 220px;
  --clr1: #1ca4e0;
  --clr2: #2c8eb9;
  --border: #61c5f1;
}
.idx1 .idx1_list .item.active {
  opacity: 0.8;
}
.idx1 .idx1_list .item::before, .idx1 .idx1_list .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 17px, 100% 100%, 24px 100%, 0 calc(100% - 17px));
}
.idx1 .idx1_list .item::before {
  background: var(--clr1);
}
.idx1 .idx1_list .item .bg {
  position: absolute;
  z-index: 1;
  inset: 6px;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 14px, 100% 100%, 20px 100%, 0 calc(100% - 14px));
  background: var(--border);
}
.idx1 .idx1_list .item .bg::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 1px;
  clip-path: inherit;
  z-index: -1;
  background: var(--clr1);
}
.idx1 .idx1_list .item .ttl {
  text-align: center;
  line-height: 1.5;
  color: #fff;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.05em;
  margin-bottom: 13px;
  position: relative;
  z-index: 2;
}
.idx1 .idx1_list .item .ttl .char {
  letter-spacing: 0;
  margin: 0 -0.25em 0 -0.25em;
  display: inline-block;
}
.idx1 .idx1_list .item .img {
  z-index: 2;
  max-width: 120px;
  margin: 0 auto 0;
  background-color: var(--clr2);
  border-radius: 50%;
  position: relative;
}
.idx1 .idx1_list .item .img::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  border-top: 34px solid var(--clr2);
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  left: calc(50% - 11px);
  top: calc(100% - 18px);
}
.idx1 .idx1_list .item a {
  z-index: 10;
}
@media only screen and (min-width: 769px) {
  .idx1 .idx1_list .item {
    transition: 0.3s all;
  }
  .idx1 .idx1_list .item:hover {
    opacity: 0.8;
  }
}
.idx1 .idx1_list .item2 {
  --clr1: #f57f20;
  --clr2: #d46f1e;
  --border: #ff9b4b;
}
.idx1 .idx1_list .item3 {
  --clr1: #6ac6a0;
  --clr2: #5da788;
  --border: #99e7c7;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx1 {
    padding: 60px 0;
  }
  .idx1 .inner_big .fblock {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx1 h3 {
    font-size: min(4vw, 50px);
    margin-left: 0;
  }
  .idx1 ul li a {
    font-size: 14px;
    letter-spacing: 0;
  }
  .idx1 .idx1_btn {
    margin-top: 60px;
    margin-right: 30px;
  }
  .idx1 .idx1_btn a {
    width: 60px;
    height: 60px;
  }
  .idx1 .idx1_btn a .jp {
    font-size: 18px;
  }
  .idx1 .idx1_list .item .ttl {
    font-size: 22px;
    letter-spacing: 0;
  }
  .idx1 .right {
    padding-right: var(--wrapper);
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx1 .idx1_list .item {
    width: calc(33.3333333333% - 10px);
  }
  .idx1 .idx1_list .item .ttl {
    font-size: 18px;
    letter-spacing: 0;
  }
}
.idx2 {
  position: relative;
  z-index: 1;
  padding: 95px 0 71px;
}
.idx2 .inner_big {
  position: relative;
  z-index: 1;
}
.idx2 .inner_big::before, .idx2 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 28em;
  height: 28em;
  font-size: 10px;
}
.idx2 .inner_big::before {
  background: url(../images/idx2_before.png) no-repeat center/contain;
  top: -16.4em;
  right: -21.8em;
}
.idx2 .inner_big::after {
  background: url(../images/idx2_after.png) no-repeat center/contain;
  bottom: -16.4em;
  left: -27.5em;
}
.idx2::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx2_bg.jpg) no-repeat top center/cover;
  inset: 0;
  right: 39px;
  max-width: 1881px;
  width: 98.4816753927%;
}
.idx2 .idx2_p {
  display: table;
  background-color: #5ab3c2;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  font-size: 26px;
  padding: 0.3846em 0.7692em 0.5385em 0.7692em;
  letter-spacing: 0.04em;
  position: relative;
  margin-bottom: 4px;
}
.idx2 .idx2_p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 100%;
  border-left: 1.039em solid #5ab3c2;
  border-top: 1.154em solid transparent;
  border-bottom: 1.154em solid transparent;
  top: calc(50% - 1.154em);
}
.idx2 .idx2_p .jp {
  font-size: 1.3846em;
  letter-spacing: 0.1em;
}
.idx2 .idx2_list {
  margin-top: 44px;
  counter-reset: count;
}
.idx2 .idx2_list .item {
  width: calc(33.3333333333% - 26.66px);
  background-color: #e8f5f8;
  margin-bottom: 30px;
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 17px, 100% 100%, 24px 100%, 0 calc(100% - 17px));
  padding: 24px 0 26px 15px;
  position: relative;
  z-index: 1;
}
.idx2 .idx2_list .item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  left: 8px;
  top: 1px;
  color: #acccd3;
  font-family: var(--f-en);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0;
}
.idx2 .idx2_list .item .ttl {
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.8;
  font-size: 20px;
}
.idx2 .idx2_list .item .ttl::before {
  display: block;
  content: "";
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #acccd3;
  width: 90px;
  height: 90px;
  margin-right: 14px;
  position: relative;
  top: 2px;
}
.idx2 .idx2_list .item1 .ttl::before {
  mask-image: url(../images/idx2_icon1.png);
}
.idx2 .idx2_list .item2 .ttl::before {
  mask-image: url(../images/idx2_icon2.png);
}
.idx2 .idx2_list .item3 .ttl::before {
  mask-image: url(../images/idx2_icon3.png);
}
.idx2 .idx2_list .item4 .ttl::before {
  mask-image: url(../images/idx2_icon4.png);
}
.idx2 .idx2_list .item5 .ttl::before {
  mask-image: url(../images/idx2_icon5.png);
}
.idx2 .idx2_list .item6 .ttl::before {
  mask-image: url(../images/idx2_icon6.png);
}
@media only screen and (max-width: 1600px) and (min-width: 769px) {
  .idx2 .inner_big::before {
    right: -6em;
    font-size: 0.5vw;
  }
  .idx2 .inner_big::after {
    left: -16em;
    font-size: 0.5vw;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx2 .inner_big::before {
    right: -6em;
    font-size: 0.5vw;
  }
  .idx2 .inner_big::after {
    left: -10em;
    bottom: -26em;
    font-size: 0.5vw;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx2 {
    padding-bottom: 40px;
  }
  .idx2 .inner_big::before {
    right: 0em;
    font-size: 0.5vw;
  }
  .idx2 .inner_big::after {
    left: 0;
    bottom: -26em;
    font-size: 0.5vw;
  }
  .idx2 .idx2_list .item .ttl {
    font-size: 18px;
  }
  .idx2 .idx2_list .item .ttl::before {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx2 .idx2_list .item {
    width: calc(33.3333333333% - 10px);
    padding-left: 0;
  }
  .idx2 .idx2_list .item .ttl {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    font-size: min(5vw, 18px);
    letter-spacing: 0;
    text-align: center;
  }
  .idx2 .idx2_list .item .ttl::before {
    max-width: 70px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -10px;
  }
}

.idx3 {
  background-color: #e2edef;
}
.idx3 .inner_max {
  padding-top: 72px;
  padding-bottom: 105px;
  position: relative;
  z-index: 1;
}
.idx3 .inner_max::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 10px;
  top: calc(100% - 3.6em);
  background: url(../images/idx3_after.png) no-repeat center/contain;
  width: 77.8em;
  height: 15.5em;
  right: 3.1em;
}
.idx3 .idx3_bg {
  background-color: #fff;
  margin-top: 50px;
  border-radius: 20px;
  padding: 73px 0 98px;
  position: relative;
}
.idx3 .idx3_bg::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx3_icon.png) no-repeat center/contain;
  width: 7em;
  height: 15.2em;
  bottom: -2.4em;
  right: 1em;
  font-size: 10px;
}
.idx3 .inner {
  max-width: 1280px;
}
.idx3 h4 {
  text-align: center;
  display: table;
  margin: 0 auto;
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #097482;
  position: relative;
}
.idx3 h4::before, .idx3 h4::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #5ab3c2;
  width: 0.9722em;
  height: 1.3333em;
  top: calc(50% - 0.6667em);
}
.idx3 h4::after {
  mask-image: url(../images/h3_icon_left.png);
  right: calc(100% + 0.3889em);
}
.idx3 h4::before {
  mask-image: url(../images/h3_icon_right.png);
  left: calc(100% + 0.3333em);
}
.idx3 .wrap_h4::after {
  display: block;
  content: "";
  width: 122px;
  height: 1px;
  background-color: #5ab3c2;
  margin: 19px auto 0;
}
.idx3 .idx3_list {
  margin-top: 45px;
}
.idx3 .idx3_list .item {
  --clr: #5ab3c2;
  width: calc(16.6666666667% - 7px);
  border-radius: 6px;
  border: 1px solid rgb(202, 231, 237);
  padding-bottom: 31px;
}
.idx3 .idx3_list .item:nth-child(even) {
  --clr: #9fb4b8;
}
.idx3 .idx3_list .item .en {
  width: 160px;
  background: var(--clr);
  color: #fff;
  line-height: 1;
  font-size: 20px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  margin-top: -1px;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 0px 13px;
  border-radius: 0 0 12px 12px;
  margin-bottom: 22px;
  position: relative;
}
.idx3 .idx3_list .item .en::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  border-top: 8px solid var(--clr);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  left: calc(50% - 5px);
  top: calc(100% - 0px);
}
.idx3 .idx3_list .item .jp {
  line-height: 2;
  font-size: 18px;
  text-align: center;
  font-weight: 500;
  width: 90%;
  margin: 0 auto;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx3 .inner_max {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .idx3 .inner_max::after {
    font-size: 0.6vw;
  }
  .idx3 .idx3_list {
    margin-top: 40px;
    display: flex;
  }
  .idx3 .idx3_list .item .en {
    font-size: 18px;
    letter-spacing: 0;
    width: 140px;
  }
  .idx3 .idx3_list .item .jp {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx3 .idx3_list .item .en {
    font-size: 14px;
    letter-spacing: 0;
    width: calc(100% - 20px);
    padding: 0.6em 0;
  }
  .idx3 .idx3_list .item .jp {
    font-size: 1.3vw;
    letter-spacing: 0;
  }
}

.idx4 {
  background-image: url(../images/idx4_bg.jpg);
  padding: 9px 0 127px;
}
.idx4 .inner_big {
  display: grid;
  grid-template-columns: 41% 46.40625%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
.idx4 .txt {
  padding-top: 34px;
}
.idx4 .txt p {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2;
}
.idx4 .txt p.large {
  color: #fff;
  font-size: 22px;
  letter-spacing: 0em;
  font-weight: 500;
  line-height: 40px;
  margin-bottom: 21px;
}
.idx4 .txt p.large .small {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx4 .txt p.large .jp {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx4 .btn-group {
  margin: 62px 0 0 0;
  justify-content: flex-start;
}
.idx4 .idx_btn {
  grid-column-start: 2;
  grid-row: 1/span 3;
  margin-top: 162px;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx4 {
    padding-bottom: 60px;
  }
  .idx4 .idx_en {
    margin-bottom: -0.9em;
  }
  .idx4 .txt {
    padding: 20px 0 0 0;
  }
  .idx4 .txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx4 .txt p.large {
    font-size: 18px;
    letter-spacing: 0;
  }
  .idx4 .txt p.large .jp {
    font-size: 24px;
  }
}

.idx_en {
  font-size: min(8vw, 150px);
  color: #366d77;
  text-transform: uppercase;
  font-family: var(--f-en);
  line-height: 1;
  padding-left: 20px;
  letter-spacing: 0.05em;
  margin-bottom: -0.7867em;
}
.idx_en span {
  display: block;
  padding-left: 1.445em;
}

.idx5 {
  background-color: #5ab3c2;
  padding: 12px 0 0;
  position: relative;
  z-index: 1;
}
.idx5::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx5_img.jpg) no-repeat center/contain;
  width: 56.25vw;
  height: auto;
  top: 0;
  aspect-ratio: 1080/680;
  right: 0;
  z-index: -1;
  max-width: 1080px;
}
.idx5 .idx_en {
  color: rgba(243, 249, 250, 0.1);
  margin-bottom: -303px;
}
.idx5 .idx_en .en:first-child {
  margin-top: 2px;
}
@media only screen and (min-width: 769px) {
  .idx5 h3 .char {
    margin: 0 -15px 0 -16px;
  }
}
.idx5 .txt {
  padding: 34px 0 0 5px;
}
.idx5 .txt p {
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  line-height: 1.9;
}
.idx5 .idx5_bg {
  background-color: #fff;
  border-radius: 20px;
  padding: 80px 0;
  margin-bottom: 80px;
}
.idx5 .idx5_content {
  position: relative;
  overflow: hidden;
  margin-top: 144px;
  max-height: 5000px;
  transition: max-height 1s ease;
}
.idx5 .idx5_content::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 354px;
  z-index: 1;
  background: url(../images/idx5_content.png) no-repeat bottom center/100%;
  opacity: 0;
  visibility: hidden;
}
.idx5 .idx5_content.hidden {
  max-height: 487px;
  transition: max-height 1s ease;
}
.idx5 .idx5_content.hidden::after {
  opacity: 1;
  visibility: visible;
}
.idx5 .idx5_btn {
  position: absolute;
  width: 8.2em;
  height: 8.2em;
  border-radius: 50%;
  background-color: #fff;
  bottom: 9em;
  left: calc(50% - 4.1em);
  z-index: 2;
  font-size: 10px;
  cursor: pointer;
  transition: 0.3s all;
}
.idx5 .idx5_btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  mask-image: url(../images/idx5_btn.png);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100%;
  background-color: var(--main-color);
  inset: 0;
}
@media only screen and (min-width: 769px) {
  .idx5 .idx5_btn:hover {
    background-color: var(--main-color);
  }
  .idx5 .idx5_btn:hover::after {
    background-color: #fff;
  }
}
.idx5 .inner {
  max-width: 1161px;
}
.idx5 .idx5_list {
  font-size: 10px;
  counter-reset: count;
}
.idx5 .idx5_list .item {
  height: 15em;
  width: 30.8em;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 0.3em;
}
.idx5 .idx5_list .item::after {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  position: absolute;
  top: 0.6875em;
  left: 1em;
  color: #5ab3c2;
  font-size: 1.6em;
  letter-spacing: 0;
  line-height: 1;
}
.idx5 .idx5_list .item .ttl {
  font-size: 2.2em;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.6363636364;
  padding-left: 1.4545em;
  padding-bottom: 0.0909em;
}
.idx5 .idx5_list .item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='308px' height='150px'%3E%3Cpath fill-rule='evenodd' fill='rgb(244, 250, 251)' d='M6.000,-0.000 L277.1000,-0.000 L307.1000,75.205 L277.1000,150.000 L6.000,150.000 C2.686,150.000 -0.000,147.314 -0.000,143.1000 L-0.000,5.1000 C-0.000,2.686 2.686,-0.000 6.000,-0.000 Z'/%3E%3C/svg%3E");
  background-color: #f4fafb;
}
.idx5 .idx5_list .item:not(:nth-child(4n+1)) {
  margin-left: -3em;
}
.idx5 .idx5_list .item:not(:nth-child(4n+1))::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='308px' height='150px'%3E%3Cpath fill-rule='evenodd' fill='rgb(238, 248, 250)' d='M0.000,-0.000 L278.000,-0.000 L308.000,74.871 L278.000,150.000 L0.000,150.000 L30.000,74.205 L0.000,-0.000 Z'/%3E%3C/svg%3E");
}
.idx5 .idx5_list .item:nth-child(4n+1) .ttl {
  padding-left: 0;
  padding-right: 24px;
}
.idx5 .idx5_list .item:nth-child(4n+4) {
  width: 27.8em;
}
.idx5 .idx5_list .item:nth-child(4n+4)::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='278px' height='150px'%3E%3Cpath fill-rule='evenodd' fill='rgb(221, 241, 245)' d='M0.000,-0.000 L278.000,-0.000 L278.000,150.000 L0.000,150.000 L30.000,74.538 L0.000,-0.000 Z'/%3E%3C/svg%3E");
}
.idx5 .idx5_list .item:nth-child(1)::before {
  background-color: #f4fafb;
}
.idx5 .idx5_list .item:nth-child(2)::before {
  background-color: #eef8fa;
}
.idx5 .idx5_list .item:nth-child(3)::before {
  background-color: #e8f5f8;
}
.idx5 .idx5_list .item:nth-child(4)::before {
  background-color: #ddf1f5;
}
.idx5 .idx5_list .item:nth-child(5)::before {
  background-color: #d2edf2;
}
.idx5 .idx5_list .item:nth-child(6)::before {
  background-color: #c6e8ee;
}
.idx5 .idx5_list .item:nth-child(7)::before {
  background-color: #bae3ea;
}
.idx5 .idx5_list .item:nth-child(8)::before {
  background-color: #acdde5;
}
.idx5 .idx5_list .item:nth-child(9)::before {
  background-color: #9dd7e0;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='308px' height='150px'%3E%3Cpath fill-rule='evenodd' fill='rgb(157, 215, 224)' d='M6.000,0.000 L277.1000,0.000 L307.1000,75.204 L277.1000,149.999 L6.000,149.999 C2.686,149.999 -0.000,147.314 -0.000,143.1000 L-0.000,5.1000 C-0.000,2.686 2.686,0.000 6.000,0.000 Z'/%3E%3C/svg%3E");
}

.idx5 .idx5_list .item:nth-child(10)::before {
  background-color: #8dd0da;
}

.idx5 .idx5_list .item:nth-child(11)::before {
  background-color: #7bc8d3;
}

.idx5 .idx5_list .item:nth-child(12)::before {
  background-color: #67bfcc;
}

.idx5 .idx5_list .item:nth-child(9)::after, .idx5 .idx5_list .item:nth-child(10)::after, .idx5 .idx5_list .item:nth-child(11)::after, .idx5 .idx5_list .item:nth-child(12)::after {
  color: #fff;
}
.idx5 .btn-group {
  margin-top: 47px;
}
.idx5 .btn-group .btn {
  max-width: 480px;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx5 .idx_en {
    margin-bottom: -1.9em;
  }
  .idx5 .txt p {
    font-size: 18px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx5 .txt p {
    font-size: 18px;
    letter-spacing: 0;
  }
  .idx5 .idx5_content {
    margin-top: 100px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx5::after {
    background-size: cover;
    aspect-ratio: unset;
    height: 55%;
  }
  .idx5 .idx_en {
    margin-bottom: -120px;
  }
  .idx5 .idx5_list {
    font-size: 0.812vw;
  }
  .idx5 .idx5_content.hidden {
    max-height: 350px;
  }
  .idx5 .idx5_btn {
    font-size: 8px;
  }
  .idx5 .idx5_content {
    margin-top: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx5 .idx5_list {
    font-size: 0.786vw;
  }
}

.idx6 {
  background-color: #e2edef;
  position: relative;
  overflow: hidden;
}
.idx6 .inner_max {
  max-width: 1530px;
}
.idx6 .wrap_h3 {
  padding: 93px 0 10px 60px;
  max-width: 608px;
  width: 41%;
}
.idx6 .wrap_h3 .h_en {
  line-height: 1;
  margin-bottom: 6px;
	letter-spacing: 0;
}
.idx6 .txt {
  max-width: 840px;
  width: 57%;
}
.idx6 .idx6_en {
  text-transform: uppercase;
  white-space: nowrap;
  position: absolute;
  bottom: -5px;
  display: flex;
  animation: idx_en 100s linear infinite;
}
.idx6 .idx6_en .idx_en {
  margin: 0;
  color: #f3f9fa;
}
@keyframes idx_en {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
.idx6 .item {
  width: 50%;
  position: relative;
  background-color: #1b6a74;
  padding-bottom: 18px;
}
.idx6 .item .content {
  padding: 102px 50px 58px 56px;
}
.idx6 .item:first-child {
  background-color: #097482;
}
.idx6 .item:last-child .img {
  margin-top: -46px;
  margin-bottom: 6px;
}
.idx6 .item:last-child .idx6_btn {
  margin-right: 20px;
}
.idx6 .item p {
  color: #fff;
}
.idx6 .item .en {
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.idx6 .item .ttl1 {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6153846154;
  margin: 18px 0 27px;
}
@-moz-document url-prefix() {
  .idx6 .item .ttl1 {
    letter-spacing: 0.05em;
  }
}
.idx6 .item .img {
  margin-top: -40px;
}
.idx6 .item .img img {
  transition: 0.3s all;
  opacity: 0.5;
}
.idx6 .item .idx6_btn {
  display: table;
  margin-left: auto;
  margin-right: 19px;
  margin-top: -29px;
  transition: 0.3s all;
}
.idx6 .item .idx6_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  position: relative;
  z-index: 1;
}
.idx6 .item .idx6_btn a::after, .idx6 .item .idx6_btn a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: -1;
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #fff;
}
.idx6 .item .idx6_btn a::before {
  mask-image: url(../images/idx6_btn_border.png);
}
.idx6 .item .idx6_btn a::after {
  mask-image: url(../images/idx6_btn_arr.png);
}
@media only screen and (min-width: 769px) {
  .idx6 .item:hover .img img {
    opacity: 1;
  }
  .idx6 .item:hover .idx6_btn {
    opacity: 0.5;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx6 .item .content {
    padding: 30px;
  }
  .idx6 .item .img {
    margin-top: 0 !important;
  }
  .idx6 .wrap_h3 {
    padding: 40px 0 0 20px;
  }
  .idx6 .wrap_h3 * {
    letter-spacing: 0 !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx6 .h_en {
    font-size: min(4vw, 50px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx6 .item .content {
    padding: 30px;
  }
  .idx6 .item .ttl1 {
    font-size: min(5.2vw, 20px);
    letter-spacing: 0;
    margin: 18px 0;
  }
  .idx6 .item .img {
    margin-top: 0 !important;
  }
  .idx6 .item .idx6_btn {
    margin-top: -10px;
  }
  .idx6 .item .idx6_btn a {
    width: 40px;
    height: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx6 .item .content {
    padding: 20px;
  }
  .idx6 .item .ttl1 br {
    display: block !important;
  }
}

.idx7 {
  background-color: #fff;
  padding: 95px 0 90px;
}
.idx7 .inner {
  max-width: 1700px;
}
.idx7 .wrap_h3 {
  padding-left: 194px;
}
.idx7 .wrap_h3 .h_en {
  line-height: 1;
  margin-bottom: 6px;
}
.idx7 .idx7_bg {
  background-color: #e8f5f8;
  border-radius: 20px;
  padding: 80px 0 100px;
  margin-top: 44px;
  position: relative;
  z-index: 1;
}
.idx7 .idx7_bg::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx7_icon.png) no-repeat center/contain;
  width: 20.3em;
  height: 14em;
  top: -6.8em;
  left: -2.7em;
  font-size: 10px;
}
.idx7 .TabContainer .TabPager {
  max-width: 1001px;
  width: 70%;
  margin-left: auto;
  margin-right: 3px;
  align-self: flex-start;
  margin-top: 15px;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}
.idx7 .TabContainer .TabPager > div {
  border-radius: 6px 6px 0 0;
  max-width: 500px;
  width: calc(50% - 0.5px);
  padding: 0;
  text-align: center;
  border: 1px solid #44b2bf;
  background: transparent;
  position: relative;
}
.idx7 .TabContainer .TabPager > div::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1px;
  height: 4.5em;
  background: var(--main-color);
  left: 50%;
  top: 100%;
  opacity: 0;
}
.idx7 .TabContainer .TabPager > div p {
  width: 100%;
  line-height: 1.5;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #44b2bf;
  padding: 1.4em 0 1.5em;
  border: 0 !important;
  transition: 0.3s all;
}
.idx7 .TabContainer .TabPager > div p .char {
  margin: 0 -5px;
}
.idx7 .TabContainer .TabPager > div p .jp {
  letter-spacing: 0;
}
.idx7 .TabContainer .TabPager > div.active {
  background: #44b2bf;
}
.idx7 .TabContainer .TabPager > div.active::after {
  opacity: 1;
}
.idx7 .TabContainer .TabPager > div.active p {
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx7 .TabContainer .TabPager > div:hover {
    background: #44b2bf;
  }
  .idx7 .TabContainer .TabPager > div:hover p {
    color: #fff;
  }
}
.idx7 .TabContainer .TabContent .content {
  background: transparent;
}
.idx7 .idx7_list {
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}
.idx7 .idx7_list .item {
  background-color: #1b6a74;
  width: calc(33.3333333333% - 6.66px);
  padding: 18px 20px 19px 18px;
  border-radius: 6px;
  position: relative;
  border: 1px solid #1b6a74;
  transition: 0.3s all;
  overflow: hidden;
  z-index: 1;
}
.idx7 .idx7_list .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/shared_btn_icon.png);
  width: 1.5em;
  height: 1.5em;
  top: calc(50% - 0.75em);
  right: 0.75em;
  background-color: #fff;
}
.idx7 .idx7_list .item .ttl {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  line-height: 1.8;
  display: flex;
  align-items: center;
  transition: 0.3s all;
}
.idx7 .idx7_list .item .ttl::before {
  transition: 0.3s all;
  content: "";
  display: block;
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #fff;
  width: 81px;
  height: 81px;
  margin-right: 12px;
  position: relative;
  top: 1px;
}
.idx7 .idx7_list .item .ttl .char {
  margin: 0 -5px;
}
.idx7 .idx7_list .item .circle {
  display: block;
  position: absolute;
  left: 100%;
  bottom: 100%;
  width: 0;
  height: 0;
  border-radius: 50%;
  transition: width 0.25s ease-in-out, height 0.25s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: -1;
  background-clip: padding-box;
  width: 0;
  height: 0;
  background: #fff;
  aspect-ratio: 1/1;
}
@media only screen and (min-width: 769px) {
  .idx7 .idx7_list .item:hover .circle {
    width: 300%;
    height: 300%;
    transition: width 0.25s ease-in-out, height 0.25s ease-in-out;
  }
  .idx7 .idx7_list .item:hover::after {
    background-color: #1b6a74;
  }
  .idx7 .idx7_list .item:hover .ttl {
    color: #1b6a74;
  }
  .idx7 .idx7_list .item:hover .ttl::before {
    background-color: #1b6a74;
  }
}
.idx7 .idx7_list .item1 .ttl::before {
  mask-image: url(../images/idx7_icon1.png);
}
.idx7 .idx7_list .item2 .ttl::before {
  mask-image: url(../images/idx7_icon2.png);
}
.idx7 .idx7_list .item3 .ttl::before {
  mask-image: url(../images/idx7_icon3.png);
}
.idx7 .idx7_list .item4 .ttl::before {
  mask-image: url(../images/idx7_icon4.png);
}
.idx7 .idx7_list .item5 .ttl::before {
  mask-image: url(../images/idx7_icon5.png);
}
.idx7 .idx7_list .item6 .ttl::before {
  mask-image: url(../images/idx7_icon6.png);
}
.idx7 .idx7_list .item7 .ttl::before {
  mask-image: url(../images/idx7_icon7.png);
}
.idx7 .idx7_list .item8 .ttl::before {
  mask-image: url(../images/idx7_icon8.png);
}
.idx7 .idx7_list .item9 .ttl::before {
  mask-image: url(../images/idx7_icon9.png);
}
.idx7 .idx7_list .item10 .ttl::before {
  mask-image: url(../images/idx7_icon10.png);
}
.idx7 .idx7_list .item11 .ttl::before {
  mask-image: url(../images/idx7_icon11.png);
}
.idx7 .idx7_list .item12 .ttl::before {
  mask-image: url(../images/idx7_icon12.png);
}
.idx7 .idx7_list .item13 .ttl::before {
  mask-image: url(../images/idx7_icon13.png);
}
.idx7 .idx7_list .item14 .ttl::before {
  mask-image: url(../images/idx7_icon14.png);
}
.idx7 .idx7_list .item15 .ttl::before {
  mask-image: url(../images/idx7_icon15.png);
}
.idx7 .idx7_list .item4 .ttl {
  letter-spacing: 0;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx7 .wrap_h3 {
    padding-left: 120px;
  }
  .idx7 .TabContainer .TabPager .fblock {
    max-width: 80%;
    margin: 0 auto;
  }
  .idx7 .TabContainer .TabPager > div p {
    letter-spacing: 0;
  }
  .idx7 .wrap_h3 * {
    letter-spacing: 0 !important;
  }
  .idx7 .idx7_bg::before {
    left: 0;
    font-size: 8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx7 .idx7_list {
    gap: 6px;
    max-width: 100% !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx7 .wrap_h3 {
    padding-left: 20px;
  }
  .idx7 .idx7_bg::before {
    font-size: 5px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx7 .TabContainer .fblock {
    max-width: 90%;
    margin: 0 auto;
  }
  .idx7 .TabContainer .TabPager > div p {
    font-size: 18px;
    letter-spacing: 0;
  }
  .idx7 .idx7_bg {
    padding: 60px 0;
  }
  .idx7 .idx7_bg::before {
    left: 0;
    font-size: 6px;
  }
  .idx7 .idx7_list {
    max-width: 100% !important;
    display: flex;
  }
  .idx7 .idx7_list .item .ttl {
    letter-spacing: 0;
    font-size: 18px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx7 {
    padding: 60px 0;
  }
  .idx7 .h_en {
    font-size: min(4vw, 50px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx7 .TabContainer .fblock {
    max-width: 100%;
    margin: 0 auto;
  }
  .idx7 .TabContainer .TabPager {
    width: 60%;
  }
  .idx7 .TabContainer .TabPager > div p {
    letter-spacing: 0;
    font-size: 18px;
  }
  .idx7 .idx7_list {
    display: flex;
  }
  .idx7 .idx7_list .item {
    padding-left: 0;
    padding-right: 0;
  }
  .idx7 .idx7_list .item::after {
    right: calc(50% - 0.75em);
    top: unset;
    bottom: 5px;
    font-size: 0.7em;
  }
  .idx7 .idx7_list .item .ttl {
    letter-spacing: 0;
    font-size: 16px;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .idx7 .idx7_list .item .ttl::before {
    width: 50px;
    height: 50px;
    margin-bottom: 5px;
  }
  .idx7 .idx7_list .item .ttl .sp_only {
    display: block !important;
  }
}

.idx8 {
  background-image: url(../images/idx8_bg.jpg);
  padding: 103px 0 121px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.idx8::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  top: 0;
  left: 0;
  border-left: 96.2em solid #34a6da;
  opacity: 0.2;
  border-bottom: 102.8em solid transparent;
  font-size: 10px;
}
.idx8 .inner {
  max-width: 1664px;
  padding-left: 192px;
  display: grid;
  grid-template-columns: 35% 62.122%;
  justify-content: space-between;
  align-items: flex-start;
}
.idx8 h3 {
  line-height: 1.7142857143;
}
.idx8 .txt {
  padding-top: 37px;
  width: 90%;
}
.idx8 .txt p {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}
.idx8 .idx8_list {
  max-width: 902px;
  grid-column-start: 2;
  grid-row: 1/span 3;
  margin-top: 18px;
  align-items: flex-start;
}
@media only screen and (min-width: 1919px) {
  .idx8 .idx8_list {
    position: relative;
    left: -1px;
  }
}
.idx8 .idx8_list .item {
  aspect-ratio: 300/400;
  width: calc(33.3333333333% - 0.5px);
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  border-radius: 6px;
}
.idx8 .idx8_list .item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  border-radius: 6px;
  background-position: top center;
  background-size: cover;
}
.idx8 .idx8_list .item p {
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  color: #fff;
  line-height: 1.6363636364;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  margin-bottom: 14px;
}
.idx8 .idx8_list .item p::after {
  content: "";
  display: block;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/shared_btn_icon.png);
  background-color: #fff;
  width: 24px;
  height: 24px;
  margin: 19px auto 0;
}
@media only screen and (min-width: 769px) {
  .idx8 .idx8_list .item {
    transition: 0.3s all;
  }
  .idx8 .idx8_list .item:hover {
    opacity: 0.7;
  }
  .idx8 .idx8_list .item:hover::before {
    transform: scale(1.05);
  }
}
.idx8 .idx8_list .item1::before {
  background-image: url(../images/idx8_img1.jpg);
}
.idx8 .idx8_list .item2 {
  margin-top: 58px;
}
.idx8 .idx8_list .item2::before {
  background-image: url(../images/idx8_img2.jpg);
}
.idx8 .idx8_list .item3::before {
  background-image: url(../images/idx8_img3.jpg);
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx8 .inner {
    padding-left: 70px;
  }
  .idx8 .idx8_list .item p {
    letter-spacing: 0 !important;
  }
  .idx8 h3.med {
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx8 {
    padding: 60px 0;
  }
  .idx8::after {
    font-size: 6px;
  }
  .idx8 .txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx8 .idx8_list .item .ttl {
    font-size: 20px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx8::after {
    font-size: 6px;
  }
  .idx8 .inner {
    padding-left: 20px;
  }
  .idx8 .txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx8 .idx8_list .item .ttl {
    font-size: 14px;
    letter-spacing: 0;
  }
  .idx8 .idx8_list .item .ttl br {
    display: block !important;
  }
  .idx8 .idx8_list .item.item2 {
    margin-top: 25px;
  }
  .idx8 .inner {
    padding-left: 20px;
    display: block;
  }
  .idx8 .idx8_list {
    display: flex;
    gap: 10px;
    margin-top: 40px;
    justify-content: center;
  }
  .idx8 .idx8_list .item {
    width: calc(50% - 5px);
  }
  .idx8 .idx8_list .item.item2 {
    margin-top: 0;
  }
  .idx8 .idx8_list .item .ttl {
    font-size: 20px;
    letter-spacing: 0;
  }
  .idx8 .txt {
    width: 100%;
  }
  .idx8 .txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx8 .inner {
    max-width: 610px;
  }
  .idx8 h3.border {
    text-align: center;
  }
  .idx8 h3.border::after {
    margin-left: auto;
    margin-right: auto;
  }
}

.idx9 {
  padding: 76px 0 71px;
  background-image: url(../images/idx9_bg.jpg);
  border-bottom: 2px solid #5ab3c2;
  background-size: auto;
  background-repeat: repeat;
}
.idx9 h3 .jp {
  display: table;
  margin: 0 auto;
  background: url(../images/idx9_ttl.png) no-repeat center/contain;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  width: 10.8333em;
  height: 1.7em;
  text-align: center;
  padding-top: 0.2667em;
  margin-bottom: 0.1333em;
}
.idx9 h3 .big {
  font-size: 48px;
  color: var(--main-color);
}
.idx9 .fblock {
  margin-top: 48px;
}
.idx9 .idx9_img {
  width: 39%;
  max-width: 560px;
}
.idx9 .idx9_img img {
  clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 21px, 100% 100%, 30px 100%, 0 calc(100% - 21px));
}
.idx9 .idx9_txt {
  width: 55.8%;
  padding-top: 24px;
  padding-right: 90px;
  position: relative;
}
.idx9 .idx9_txt::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx9_icon.png) no-repeat center/contain;
  width: 15.5em;
  height: 15.5em;
  top: -14em;
  right: 8.5em;
  font-size: 10px;
}
.idx9 .idx9_txt p {
  letter-spacing: 0.015em;
  font-size: 18px;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx9 {
    padding: 60px 0;
  }
  .idx9 h3 .jp {
    font-size: 20px;
  }
  .idx9 h3 .big {
    font-size: min(3.5vw, 36px);
    letter-spacing: 0;
  }
  .idx9 .idx9_txt {
    padding-right: var(--wrapper);
  }
  .idx9 .idx9_txt::before {
    right: var(--wrapper);
    font-size: 7px;
  }
}

.idx10 {
  background-image: url(../images/idx10_bg.jpg);
  padding: 89px 0 98px;
  background-position: center calc(100% - 7em);
}
@media only screen and (min-width: 1919px) and (max-width: 1921px) {
  .idx10 {
    background-size: auto;
  }
}
.idx10 .inner {
  max-width: 1153px;
}
.idx10 .idx_en {
  color: #f3f9fa;
  margin-top: -0.74em;
  padding-left: 0;
}
.idx10 h3.small .big {
  font-size: 60px;
  color: #5ab3c2;
  letter-spacing: 0.1em;
}
.idx10 .wrap_h3 {
  position: relative;
  z-index: 2;
}
.idx10 .idx10_list {
  font-size: 10px;
  padding-top: 12.1em;
  --cl1: #d65151;
  --cl2: #ffeeee;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  justify-content: space-between;
  align-items: flex-start;
}
.idx10 .idx10_list .item {
  width: 26em;
  height: 26em;
  position: relative;
  z-index: 1;
  background-color: #fff;
  border-radius: 50%;
}
.idx10 .idx10_list .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  border-radius: 50%;
  border: 1.6em solid var(--cl2);
}
.idx10 .idx10_list .item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 3em;
  border-radius: 50%;
  background-color: var(--cl2);
}
.idx10 .idx10_list .item .en {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
  background-color: var(--cl1);
  color: #fff;
  border-radius: 12px;
  width: 8em;
  text-transform: uppercase;
  margin: 0.45em auto;
  padding: 0.75em 0 0.65em;
  font-size: 2em;
  letter-spacing: 0.05em;
  position: relative;
}
.idx10 .idx10_list .item .en::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 100%;
  top: calc(100% - 0px);
  border-top: 8px solid var(--cl1);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.idx10 .idx10_list .item .img {
  display: table;
  margin: 2.3em auto 1.4em;
  max-width: 10em;
}
.idx10 .idx10_list .item .ttl {
  line-height: 1.4545454546;
  font-weight: 500;
  text-align: center;
  font-size: 2.2em;
}
.idx10 .idx10_list .item .image::before, .idx10 .idx10_list .item .image::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 18em;
  height: 14em;
  font-size: 1em;
  background-repeat: no-repeat;
  background-size: contain;
}
.idx10 .idx10_list .item .arr {
  position: absolute;
  background: url(../images/idx10_line1.png) no-repeat center/contain;
  width: 13.4em;
  height: 3.6em;
  left: calc(100% - 0.7em);
  top: calc(50% - 4.1em);
  z-index: -2;
  font-size: 1em;
}
.idx10 .idx10_list .item1 {
  --cl1: #d65151;
  --cl2: #ffeeee;
}
.idx10 .idx10_list .item1 .image::before {
  background-image: url(../images/idx10_icon1.png);
  top: -11.7em;
  left: -13.2em;
}
.idx10 .idx10_list .item1 .image::after {
  background-image: url(../images/idx10_icon2.png);
  bottom: -5.4em;
  right: -19.6em;
}
.idx10 .idx10_list .item1 .arr {
  left: calc(100% - 0.4em);
  top: calc(50% - 3.2em);
}
.idx10 .idx10_list .item2 {
  --cl1: #d5b505;
  --cl2: #fdf8dd;
}
.idx10 .idx10_list .item2 .image::after {
  background-image: url(../images/idx10_icon3.png);
  top: -4.8em;
  right: -12.9em;
}
.idx10 .idx10_list .item2 .arr {
  left: calc(100% - 0.5em);
  top: calc(50% - 3.5em);
}
.idx10 .idx10_list .item3 {
  --cl1: #6ac6a0;
  --cl2: #e7f5ef;
}
.idx10 .idx10_list .item3 .image::after {
  background-image: url(../images/idx10_icon4.png);
  bottom: -8.7em;
  right: -15.2em;
}
.idx10 .idx10_list .item4 {
  --cl1: #d97f09;
  --cl2: #fdeed9;
}
.idx10 .idx10_list .item4 .image::before {
  background-image: url(../images/idx10_icon5.png);
  top: 1.1em;
  left: -18.7em;
}
.idx10 .idx10_list .item4 .image::after {
  background-image: url(../images/idx10_icon6.png);
  right: -15.9em;
  bottom: -4.3em;
}
.idx10 .idx10_list .item5 {
  --cl1: #1ca4e0;
  --cl2: #dbf4ff;
}
.idx10 .idx10_list .item5 .image::after {
  background-image: url(../images/idx10_icon7.png);
  top: -12.6em;
  right: -17.4em;
}
.idx10 .idx10_list .item5 .arr {
  left: calc(100% - 0.3em);
  top: calc(50% - 3.3em);
}
.idx10 .idx10_list .item6 {
  --cl1: #ff939f;
  --cl2: #fff1f3;
}
.idx10 .idx10_list .item6 .image::after {
  background-image: url(../images/idx10_icon8.png);
  bottom: -12.8em;
  right: -15.5em;
}
@media only screen and (min-width: 769px) {
  .idx10 .idx10_list .item1 {
    margin-top: 17.8em;
  }
  .idx10 .idx10_list .item2 {
    margin-top: 8.9em;
  }
  .idx10 .idx10_list .item4 {
    margin-top: 16em;
  }
  .idx10 .idx10_list .item5 {
    margin-top: 7.1em;
  }
  .idx10 .idx10_list .item6 {
    margin-top: -1.8em;
  }
}
.idx10 .btn-group {
  margin-top: 151px;
}
.idx10 .btn-group .btn {
  max-width: 620px;
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx10 .idx10_list {
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
    font-size: 8.5px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx10 {
    padding: 60px 0;
  }
  .idx10 h3.small .big {
    font-size: min(4vw, 50px);
  }
  .idx10 .btn-group {
    margin-top: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx10 .idx10_list {
    max-width: 80%;
    font-size: 8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx10 .idx10_list {
    max-width: 750px;
    font-size: 7px;
  }
  .idx10 .idx10_list .item .ttl {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx10 .idx10_list {
    max-width: 550px;
    font-size: 5px;
  }
  .idx10 .idx10_list .item .ttl {
    font-size: 14px;
    letter-spacing: 0;
  }
}

.idx11 {
  background-image: url(../images/idx11_bg.jpg);
  padding: 104px 0 0;
}
.idx11 .inner_big {
  display: grid;
  grid-template-columns: 44% 45%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
.idx11 .wrap_h3 {
  display: flex;
  align-items: center;
  margin-left: -12px;
}
.idx11 .wrap_h3 .h_en {
  order: 1;
  font-size: 24px;
  background: #5ab3c2;
  color: #fff;
  border-radius: 6px;
  line-height: 1;
  margin-left: 24px;
  align-self: flex-end;
  padding: 9px 16px 7px 19px;
  letter-spacing: 0.07em;
}
.idx11 .wrap_h3 h3 {
  font-size: 60px;
}
.idx11 .idx11_img {
  grid-column-start: 2;
  grid-row: 1/span 3;
  margin-top: -41px;
  position: relative;
  left: -7px;
  align-self: flex-end;
}
.idx11 .idx11_txt p {
  color: #fff;
  font-size: 18px;
}
.idx11 .txt {
  margin: 30px 0 20px;
}
.idx11 .idx11_name {
  position: absolute;
  top: 14.9em;
  right: 0.1em;
  border-radius: 50%;
  display: flex;
  aspect-ratio: 1/1;
  flex-direction: column;
  width: 18em;
  background-color: rgb(27, 106, 116);
  box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.22);
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 10px;
  padding-bottom: 1.8em;
}
.idx11 .idx11_name .name1 {
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 8.5em;
  padding-bottom: 0.6875em;
  border-bottom: 0.0625em solid #8db5ba;
  margin-bottom: 0.9375em;
  font-size: 1.6em;
}
.idx11 .idx11_name .name1::before {
  content: "";
  display: block;
  background: url(../images/idx11_icon1.png) no-repeat center/contain;
  width: 1.5em;
  height: 1.5em;
  margin-bottom: 0.5625em;
}
.idx11 .idx11_name .name2 {
  line-height: 1;
  font-size: 2.6em;
  font-weight: 600;
  text-align: center;
}
.idx11 .idx11_name .name2 .en {
  display: block;
  font-size: 0.4615em;
  font-weight: 500;
  text-transform: uppercase;
  color: #5ab3c2;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
  padding-left: 0.5833em;
  margin-top: 1em;
}
.idx11 .btn-group {
  justify-content: flex-start;
  margin-top: 56px;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx11 {
    padding: 60px 0 0;
  }
  .idx11 .inner_big {
    grid-template-columns: 50% 45%;
  }
  .idx11 .idx11_img {
    margin-top: 0;
  }
  .idx11 .idx11_txt p {
    letter-spacing: 0;
  }
  .idx11 .wrap_h3 {
    align-items: center;
  }
  .idx11 .wrap_h3 h3 {
    font-size: min(4vw, 50px);
    letter-spacing: 0;
  }
  .idx11 .wrap_h3 .h_en {
    font-size: 20px;
    letter-spacing: 0;
    margin-bottom: 0;
  }
  .idx11 .idx11_name {
    font-size: 1vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx11 {
    padding: 60px 0 40px;
  }
  .idx11 .inner_big {
    display: block;
  }
  .idx11 .wrap_h3 {
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .idx11 .wrap_h3 .h_en {
    display: table;
    margin: 0 auto;
    font-size: 20px;
    letter-spacing: 0;
  }
  .idx11 .idx11_img {
    left: 0;
    max-width: 401px;
    margin: 40px auto;
  }
  .idx11 .idx11_txt p {
    font-size: 14px;
  }
  .idx11 .btn-group {
    justify-content: center;
    margin-top: 40px;
  }
}

.idx12 {
  background-image: url(../images/idx12_bg.jpg);
  padding: 123px 0 114px;
}
.idx12 .wrap_h3 .h_en {
  line-height: 1;
  margin-bottom: 6px;
}
.idx12 .wrap_h3 h3 {
  font-weight: 500;
}
.idx12 .left {
  width: 45%;
}
.idx12 .right {
  width: 50%;
}
.idx12 .idx12_dl {
  margin: 46px 0;
}
.idx12 .idx12_dl dl {
  display: flex;
  flex-wrap: wrap;
  --w: 183px;
  margin-bottom: 19.5px;
}
.idx12 .idx12_dl dl dt,
.idx12 .idx12_dl dl dd {
  line-height: 2;
  letter-spacing: 0.1em;
  font-size: 18px;
  color: #fff;
}
.idx12 .idx12_dl dl dt {
  width: var(--w);
  display: flex;
  align-items: center;
}
.idx12 .idx12_dl dl dt::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../images/idx12_icon1.png) no-repeat center/contain;
  margin-right: 12px;
  margin-left: 4px;
}
.idx12 .idx12_dl dl dd {
  width: calc(100% - var(--w));
}
.idx12 .idx12_dl dl a {
  font-size: 26px;
  color: #fff;
  line-height: 1.15;
  letter-spacing: 0.1em;
}
.idx12 .idx12_dl .dl2 dt::before {
  background-image: url(../images/idx12_icon2.png);
}
.idx12 .idx12_dl .dl3 {
  align-items: flex-start;
}
.idx12 .idx12_dl .dl3 dt::before {
  background-image: url(../images/idx12_icon3.png);
}
.idx12 .idx12_dl .dl4 dt::before {
  background-image: url(../images/idx12_icon4.png);
}
.idx12 .idx12_dl .dl5 dt::before {
  background-image: url(../images/idx12_icon5.png);
}
.idx12 .idx12_dl .dl6 dt::before {
  background-image: url(../images/idx12_icon6.png);
}
.idx12 .btn-group {
  margin: 52px 0 0 0;
  justify-content: flex-start;
}
.idx12 .btn-group .btn {
  max-width: 360px;
}
.idx12 .idx_map {
  margin-top: 22px;
  height: 360px;
  margin-bottom: 30px;
}
.idx12 .idx_map iframe {
  border-radius: 12px;
}
.idx12 .idx12_box {
  max-width: 520px;
  background-color: #fff;
  border-radius: 12px;
  margin: 0 auto;
  position: relative;
  padding: 24px 39px 22px 100px;
}
.idx12 .idx12_box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx12_car.png) no-repeat center/contain;
  width: 40px;
  height: 60px;
  left: 35px;
  top: calc(50% - 35px);
}
.idx12 .idx12_box .ttl1 {
  line-height: 1;
  font-size: 22px;
  letter-spacing: 0.05em;
  color: #5ab3c2;
  border-bottom: 1px solid #c4d6d9;
  padding-bottom: 8px;
  margin-bottom: 11px;
  font-weight: 500;
}
.idx12 .idx12_box .ttl2 {
  line-height: 1.625;
  letter-spacing: 0;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx12 {
    padding: 60px 0;
  }
  .idx12 .inner_big {
    max-width: 1060px;
  }
  .idx12 .h_en.big {
    font-size: min(4vw, 50px);
  }
  .idx12 .idx12_dl dl {
    --w: 130px;
  }
  .idx12 .idx12_dl dl dt,
  .idx12 .idx12_dl dl dd {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx12 .idx12_dl dl a {
    font-size: 20px;
  }
  .idx12 .left {
    width: 51%;
  }
  .idx12 .right {
    width: 45%;
  }
}

.idx13 {
  padding: 6px 0;
}
.idx13 .item {
  margin-right: 6px;
}
.idx13 .item img {
  border-radius: 12px;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx13 .item img {
    max-width: 300px;
  }
}

.idx14 {
  padding: 116px 0 100px;
  background-image: url(../images/idx14_bg.jpg);
}
.idx14 .wrap_h3 .h_en {
  letter-spacing: 0.05em;
  line-height: 1;
}
.idx14 .wrap_h3 .h_en::after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: #fff;
  margin: 24px auto 0;
}
.idx14 .idx_btn {
  margin: 39px auto 0;
  max-width: 984px;
  width: 100%;
}
.idx14 .idx_btn > div {
  border: 1px solid #fff;
  width: calc(50% - 12px);
}
.idx14 .idx_btn > div::after {
  left: 3.4em;
}
.idx14 .idx_btn .idx_btn_tel,
.idx14 .idx_btn .idx_btn_contact {
  background: transparent;
}
.idx14 .idx_btn .idx_btn_tel .ttl1,
.idx14 .idx_btn .idx_btn_tel .ttl2,
.idx14 .idx_btn .idx_btn_contact .ttl1,
.idx14 .idx_btn .idx_btn_contact .ttl2 {
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx14 .idx_btn .idx_btn_contact:hover {
    background: #3b9da8;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx14 {
    padding: 60px 0;
  }
  .idx14 .h_en {
    font-size: min(4vw, 50px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx14 .idx_btn {
    max-width: 730px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx14 .idx_btn {
    max-width: 670px;
  }
}