@charset "UTF-8";
.home_page .key {
  position: relative;
  z-index: 4;
  --height: 56vw;
  --min-height: 550px;
  --max-height: 950px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: min(1vw, 10px);
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
}
.home_page .key .key_ct {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  max-width: 1648px;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 3.3em;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
}
.home_page .key .key_ct p {
  font-size: 2.6em;
  letter-spacing: 0.1em;
  line-height: 1.61538;
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
.home_page .key h2 {
  position: relative;
  margin-bottom: 0.42em;
  font-size: 4em;
  letter-spacing: 0.16em;
  line-height: 1.5;
}
.home_page .key .cl-main {
  color: #261ea4;
}
.home_page .key .key_circle_gr {
  --size-mg: -.9em;
  --cl-mode-border: #35879a;
  margin-top: 4.5em;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.home_page .key .key_circle_gr .circle {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1em;
  margin: var(--size-mg);
  width: 20em;
  height: 20em;
  border-radius: 50%;
  background: url(../images/key_circle_bg.png) no-repeat center/cover;
}
.home_page .key .key_circle_gr .circle::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 5px;
  border-radius: 50%;
  border: 1px solid var(--cl-mode-border);
  opacity: 0.1;
}
.home_page .key .key_circle_gr .circle .circle_ttl {
  font-size: 1.8em;
  line-height: 1.3333;
  color: var(--clr1);
  font-weight: 500;
}
.home_page .key .key_circle_gr .circle .circle_ttl .cl-main {
  font-size: 1.33333em;
  font-weight: 500;
}
.home_page .key .key_circle_gr .c4 {
  z-index: 4;
}
.home_page .key .key_circle_gr .c3 {
  z-index: 3;
}
.home_page .key .key_circle_gr .c2 {
  z-index: 2;
}
.home_page .key .key_circle_gr .c1 {
  z-index: 1;
}
.home_page .key .key_circle_gr .c2 {
  --cl-mode-border: #d16d4b;
}
.home_page .key .key_circle_gr .c2 .circle_ttl {
  line-height: 1.59;
}
.home_page .key .key_circle_gr .c2 .line03 {
  display: block;
  margin-top: -0.12em;
}
.home_page .key .key_circle_gr .c3 {
  --cl-mode-border: #488652;
}
.home_page .key .key_circle_gr .c4 {
  --cl-mode-border: #261ea4;
}
.home_page .key .key_circle_gr .c2 {
  margin-top: 2.4em;
}
.home_page .key .key_circle_gr .c3 {
  margin-top: 0.7em;
}
.home_page .key .key_circle_gr .c4 {
  margin-top: 2.4em;
}
.home_page .key .key_scroll {
  --size-height-key-scroll: 16.4em;
  position: absolute;
  z-index: 2;
  left: 4.3em;
  bottom: 3.5em;
}
.home_page .key .key_scroll a {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 4.4em;
  min-height: var(--size-height-key-scroll);
  color: white;
  text-decoration: none;
}
.home_page .key .key_scroll a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 2.8em;
  margin: 0 auto;
  width: 1px;
  height: calc(var(--size-height-key-scroll) * 0.5);
  max-height: 7.1em;
  background-color: white;
}
.home_page .key .key_scroll a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  width: 4.4em;
  height: 4.4em;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.2;
}
.home_page .key .key_scroll .txt {
  font-size: 1.2em;
  letter-spacing: 0.2em;
  font-family: var(--f-en);
  line-height: 1;
  text-transform: uppercase;
  writing-mode: vertical-lr;
}
.home_page .key .key_bg {
  --size-w-bg-left: calc(50vw + 4.1em);
  --position-right: calc(50% - 4.1em);
  --point-start-mask: 0;
  --size-point-mask-bottom-left: 27.7em;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1920px;
  height: 100%;
}
.home_page .key .key_bg .bg_item {
  position: absolute;
}
.home_page .key .key_bg .set_shadown {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  filter: drop-shadow(14.539px 21.555px 27px rgba(7, 32, 72, 0.08));
}
.home_page .key .key_bg .bg_left {
  z-index: -1;
  right: var(--position-right);
  height: 100%;
  width: var(--size-w-bg-left);
  clip-path: polygon(var(--point-start-mask) 0, 100% 0, calc(100% - var(--size-point-mask-bottom-left)) 100%, var(--point-start-mask) 100%);
  background-color: #192985;
}
.home_page .key .key_bg .bg_left::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/idx_key_bg_left.jpg) no-repeat center/cover;
  opacity: 0.2;
}
.home_page .key .key_bg .bg_right {
  --size-grow-right: calc(var(--size-point-mask-bottom-left) + 2em);
  z-index: -3;
  left: calc(50% - var(--size-grow-right));
  height: calc(100% - 7em);
  width: calc(50vw + var(--size-grow-right));
  background: url(../images/idx_key_bg_right.jpg) no-repeat left 2.6em top/cover;
}
.home_page .key .key_bg .bg_shadow {
  position: absolute;
  z-index: -2;
  top: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 30em;
  background: url(../images/idx_key_right_shadown_top.png) no-repeat center bottom/cover;
}
@media only screen and (min-width: 1921px) {
  .home_page .key .key_bg {
    --point-start-mask: -50vw;
  }
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  --fs-normal-h3-jp: calc(var(--ttl_size) + 4px);
  --fs-normal-h3-en: 20px;
  --cl-mode-en-and-line: var(--clr2);
  position: relative;
  margin-bottom: 35px;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-size: var(--fs-normal-h3-jp);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.home_page h3::after {
  content: "";
  display: block;
  margin: 29px auto 0;
  width: 70px;
  height: 2px;
  background-color: var(--cl-mode-en-and-line);
}
.home_page h3 .en {
  display: block;
  font-size: var(--fs-normal-h3-en);
  letter-spacing: 0.1em;
  color: var(--cl-mode-en-and-line);
  text-transform: uppercase;
}
.home_page h3.white {
  --cl-mode-en-and-line: #fff;
  color: #fff;
}
.home_page h3.fs36 {
  font-size: calc(var(--fs-normal-h3-jp) + 2px);
}
.home_page h3.fs36 .en {
  font-size: calc(var(--fs-normal-h3-en) + 2px);
}
.home_page h4 {
  --cl-mode-line: var(--clr1);
  position: relative;
  z-index: 1;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.home_page h4 .en {
  display: block;
  margin-top: 0.5em;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--clr2);
}
.home_page h4.style01 {
  --value-rotate: 39deg;
  display: table;
  padding-left: 1.6563em;
  padding-right: 1.6563em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.home_page h4.style01::before, .home_page h4.style01::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0.2188em;
  z-index: -1;
  width: 1px;
  height: 1.5625em;
  background-color: var(--cl-mode-line);
}
.home_page h4.style01::before {
  left: 0;
  transform-origin: top left;
  rotate: calc(var(--value-rotate) * -1);
}
.home_page h4.style01::after {
  right: 0;
  transform-origin: top right;
  rotate: var(--value-rotate);
}
.home_page h4.st03 {
  font-weight: 700;
  color: var(--main-color);
}
.home_page h4.white {
  color: white;
}
.home_page h4.white.style01 {
  --cl-mode-line: white;
}
.home_page h4.center {
  text-align: center;
}

@media only screen and (min-width: 1281px) {
  .home_page .key h2 {
    left: 0.2em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: 0.7vw;
  }
  .home_page .key .key_scroll {
    bottom: 10px;
    left: 15px;
  }
  .home_page .key .key_bg {
    --size-w-bg-left: calc(60vw + 4.1em);
    --position-right: calc(42% - 4.1em);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .key .key_bg {
    --size-w-bg-left: calc(70vw + 4.1em);
    --position-right: calc(39% - 4.1em);
  }
}
@media only screen and (min-width: 1281px) and (max-height: 800px) {
  .home_page .key {
    --max-height: 100vh;
    font-size: 1vmin;
  }
  .home_page .key .key_scroll {
    left: 20px;
    bottom: 20px;
  }
  .home_page .key .key_ct {
    padding-left: 70px;
    padding-right: 70px;
  }
}
@media only screen and (min-width: 1281px) and (max-height: 650px) {
  .home_page .key {
    font-size: clamp(6px, 1.25vmin, 9px);
  }
  .home_page .key .key_bg {
    --position-right: calc(40% - 4.1em);
  }
  .home_page .key .key_bg .bg_right {
    background-position: left 16.6em top;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.decoration {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.decoration .item {
  position: absolute;
  z-index: -1;
  background: no-repeat center/cover;
}

.txt-bg-bottom {
  line-height: 1.8;
  text-decoration-line: underline;
  text-decoration-color: #f2e38e;
  text-decoration-thickness: 12px;
  text-underline-offset: -4px;
}
@media only screen and (min-width: 769px) {
  .txt-bg-bottom {
    font-size: 1.125em;
  }
}

.home_page .fs32 {
  font-size: calc(var(--ttl_size) + 2px);
}
@media only screen and (max-width: 768px) {
  .home_page .fs32 {
    font-size: 24px;
  }
}
.home_page .fs28 {
  font-size: calc(var(--ttl_size) - 2px);
}
@media only screen and (max-width: 768px) {
  .home_page .fs28 {
    font-size: 22px;
  }
}
.home_page .fs20 {
  font-size: 20px;
}
@media only screen and (max-width: 768px) {
  .home_page .fs20 {
    font-size: 18px;
  }
}

.btn_slick_gr {
  --size-w-btn: 7em;
  --position-left-btn: calc(var(--size-w-btn) / -2);
  --btn-arr-ico: url(../images/idx04_btn_slick_arrow.png);
  font-size: 10px;
}
.btn_slick_gr .btn_slick {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: var(--size-w-btn);
  height: var(--size-w-btn);
  border-radius: 50%;
  transform: translate(0);
  box-shadow: 0px 0px 40px 0px rgba(7, 32, 72, 0.1);
  background-color: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: var(--value-transition);
}
.btn_slick_gr .btn_slick::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  margin: auto;
  width: 1.2em;
  height: 2.4em;
  background: var(--btn-arr-ico) no-repeat center/cover;
}
.btn_slick_gr .btn_slick.btn_pre {
  left: 50%;
  transform: translateX(var(--position-left-btn));
}
.btn_slick_gr .btn_slick.btn_next {
  right: 50%;
  transform: translateX(calc(var(--position-left-btn) * -1));
}
.btn_slick_gr .btn_slick.btn_next::after {
  transform: rotate(180deg);
}
@media only screen and (min-width: 769px) {
  .btn_slick_gr .btn_slick:hover {
    background-color: white;
  }
}

@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.loop_wrap {
  display: flex;
}
.loop_wrap .text {
  animation: 30s loop 0s linear infinite;
  will-change: transform;
  white-space: nowrap;
}

.ttl_has_bg_muty_line {
  font-size: 24px;
  line-height: 2.0833333;
  text-align: center;
  color: white;
}
.ttl_has_bg_muty_line > span {
  padding: 4px 9px 3px 14px;
  background-color: var(--main-color);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.list_check {
  --size-mg: 8.5px;
  margin-top: calc(var(--size-mg) * -1);
  margin-bottom: calc(var(--size-mg) * -1);
}
.list_check li {
  position: relative;
  z-index: 1;
  padding-left: 38px;
  margin: var(--size-mg) 0;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.list_check li::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 3px;
  width: 24px;
  height: 24px;
  --mask: url(../images/check_list_blue_24.png);
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .list_check.mcol-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .list_check.mcol-2 li {
    padding-right: 10px;
    width: calc(50% - 10px);
  }
}

.idx01 {
  --size-height-arr-bot:52px;
  --size-w-arr-bot:182px;
  padding: 102px 0 84px;
  position: relative;
  z-index: 3;
}
.idx01::before {
  --point01: 0 0;
  --point02: 100% 0;
  --point03: 100% calc(100% - var(--size-height-arr-bot));
  --point04: calc(50% + var(--size-w-arr-bot) / 2) calc(100% - var(--size-height-arr-bot));
  --point05: 50% 100%;
  --point06: calc(50% - var(--size-w-arr-bot) / 2) calc(100% - var(--size-height-arr-bot));
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  bottom: calc(var(--size-height-arr-bot) * -1);
  width: 100%;
  height: calc(150% + var(--size-height-arr-bot));
  max-height: 1382px;
  clip-path: polygon(var(--point01), var(--point02), var(--point03), var(--point04), var(--point05), var(--point06));
  background: url(../images/idx01_bg.jpg) no-repeat center/cover;
}
.idx01 .inner_big {
  position: relative;
  z-index: 1;
}
.idx01 h3 {
  --cl-mode-en-and-line: #034e95;
  color: #072048;
}
.idx01 .decoration {
  font-size: min(0.7vw, 10px);
}
.idx01 .decoration .item01 {
  top: -166px;
  right: calc((100vw - 1420px) / -2);
  width: 43.3em;
  height: 46.8em;
  background-image: url(../images/idx01_deco01.png);
  opacity: 0.4;
}
.idx01 .card_gr {
  font-size: min(0.75vw, 10px);
  align-items: flex-start;
}
.idx01 .card_gr .card {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em 1em 1em;
  min-height: 26em;
  max-width: 30.5em;
}
.idx01 .card_gr .card .card_ttl {
  margin-bottom: 0;
  font-size: 2em;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
.idx01 .card_gr .card .card_bg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: no-repeat center/cover;
}
.idx01 .card_gr .c1 .card_bg {
  background-image: url(../images/idx01_card_bg1.png);
}
.idx01 .card_gr .c2 .card_bg {
  background-image: url(../images/idx01_card_bg2.png);
}
.idx01 .card_gr .c3 .card_bg {
  background-image: url(../images/idx01_card_bg3.png);
}
.idx01 .card_gr .c4 .card_bg {
  background-image: url(../images/idx01_card_bg4.png);
}
.idx01 .card_gr .c5 .card_bg {
  background-image: url(../images/idx01_card_bg5.png);
}
.idx01 .card_gr .c6 .card_bg {
  background-image: url(../images/idx01_card_bg6.png);
}
.idx01 .card_gr .c7 .card_bg {
  background-image: url(../images/idx01_card_bg7.png);
}
.idx01 .card_gr .c8 .card_bg {
  background-image: url(../images/idx01_card_bg8.png);
}
.idx01 .card_gr .c8 {
  min-height: 26.1em;
}
.idx01 .idx01_text_bottom {
  padding-top: 84px;
}
.idx01 .idx01_text_bottom .ttl {
  font-size: calc(var(--ttl_size));
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  color: var(--main-color);
}

@media only screen and (min-width: 769px) {
  .idx01 {
    background-image: url(../images/idx01_bg.jpg);
  }
  .idx01 h3 {
    margin-bottom: 5px;
  }
  .idx01 h3 .en {
    margin-bottom: 1px;
  }
  .idx01 .card_gr {
    --size-mg: .9em;
  }
  .idx01 .card_gr .c1 {
    top: -2.5em;
  }
  .idx01 .card_gr .c2 {
    margin-top: 7em;
  }
  .idx01 .card_gr .c3 {
    top: 6em;
    left: 2px;
  }
  .idx01 .card_gr .c4 {
    top: -2.5em;
    left: 3px;
  }
  .idx01 .card_gr .c5 {
    top: -8.4em;
    left: -2px;
  }
  .idx01 .card_gr .c6 {
    top: 0.5em;
    padding-top: 0.2em;
    padding-left: 2em;
  }
  .idx01 .card_gr .c7 {
    top: 0.2em;
  }
  .idx01 .card_gr .c8 {
    top: -8.4em;
    left: 3px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx01 .decoration {
    font-size: 0.5vw;
  }
  .idx01 .decoration .item01 {
    right: -10em;
    top: -115px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx01 .decoration .item01 {
    right: 20px;
  }
}
.idx02 {
  --size-padding-bottom: 195px;
  position: relative;
  z-index: 2;
  padding: 130px 0 var(--size-padding-bottom);
}
.idx02::before {
  --point-mask01: calc(var(--size-padding-bottom) - 41px);
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--point-mask01)), 50% 100%, 0 calc(100% - var(--point-mask01)));
  background: no-repeat center/cover;
}
.idx02 p,
.idx02 ul {
  color: white;
}
.idx02 h4.fs01 {
  margin-bottom: 36px;
}
.idx02 h4.fs02 {
  margin-bottom: 30px;
}
.idx02 .card_gr {
  --size-mg: 0px;
  counter-reset: idx02_card_count;
  margin-bottom: 67px;
  font-size: min(1vw, 10px);
}
.idx02 .card_gr .card {
  --size-set-transparent: 1.4em;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-left: 3.5em;
  padding-right: 3.5em;
  max-width: 427px;
}
.idx02 .card_gr .card .count {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 2px 2px 2px;
  margin: 0 auto 17px;
  width: fit-content;
  min-width: 3.1667em;
  min-height: 1.6667em;
  border-radius: 40px;
  font-size: 2.4em;
  font-weight: 500;
  font-family: var(--f-en);
  letter-spacing: 0.1em;
  line-height: 1;
  color: var(--main-color);
  background-color: #f5f6e9;
}
.idx02 .card_gr .card .count::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: -7px;
  margin: 0 auto;
  width: 16px;
  height: 8px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #f5f6e9;
}
.idx02 .card_gr .card .card_pic {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 28.4em;
  max-width: 31.4em;
}
.idx02 .card_gr .card .card_ttl {
  display: flex;
  align-items: center;
  margin-top: 1.3em;
  margin-left: -1em;
  margin-right: -1em;
  min-height: 3.6em;
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
}
.idx02 .card_gr .c1 .card_pic {
  left: -1em;
}
.idx02 .card_gr .card:nth-of-type(1) {
  border-left: 1px solid white;
}
.idx02 .card_gr .card:last-of-type {
  border-right: 1px solid white;
}
.idx02 .card_gr .card:last-of-type::before, .idx02 .card_gr .card:last-of-type::after {
  display: none;
}
.idx02 .card_gr .card::before {
  --point-start-transparent: calc(50% - var(--size-set-transparent) + .1em);
  --point-end-transparent: calc(50% + var(--size-set-transparent));
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-image: linear-gradient(to bottom, white var(--point-start-transparent), transparent var(--point-start-transparent) var(--point-end-transparent), white var(--point-end-transparent));
}
.idx02 .card_gr .card::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: -2em;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 2em;
  height: 4.6em;
  background: url(../images/idx02_card_arr.png) no-repeat center/cover;
}
.idx02 .idx_box_st01_gr {
  display: flex;
  flex-wrap: wrap;
  margin-top: 28px;
  margin-bottom: 80px;
}
.idx02 .idx_box_st01_gr ul li {
  position: relative;
  z-index: 1;
  padding-left: 20px;
  line-height: var(--line-height-p);
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.idx02 .idx_box_st01_gr ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1em;
  color: white;
}
.idx02 .idx_box_st01_gr ul li:last-child {
  margin-bottom: 0;
}
.idx02 .idx_box_st01_gr .idx_box_st01 {
  position: relative;
  z-index: 1;
  padding: 29px 65px 43px;
}
.idx02 .idx_box_st01_gr .idx_box_st01::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid white;
  background-color: rgba(14, 30, 70, 0.4);
}
.idx02 .idx_box_st01_gr .idx_box_st01 .ttl {
  padding-bottom: 1.0357em;
  margin-bottom: 35px;
  border-bottom: 1px solid white;
  font-size: calc(var(--ttl_size) - 2px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
}
.idx02 .idx_box_st01_gr .idx_box_st01 p {
  margin-bottom: 9px;
}
.idx02 .idx_box_st02 {
  position: relative;
  z-index: 1;
  padding: 28px 44px 44px;
}
.idx02 .idx_box_st02::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  opacity: 0.1;
}
.idx02 .idx_box_st02 h4.style01 {
  padding-left: 37px;
  padding-right: 37px;
  margin-bottom: 30px;
}
.idx02 .idx_box_st02 h4.style01::before, .idx02 .idx_box_st02 h4.style01::after {
  top: 3px;
}
.idx02 .idx_box_st02 .box_gr {
  --size-mg: 2.2em;
  --size-w-line: calc(var(--size-mg) + .4em);
  font-size: min(0.7vw, 10px);
}
.idx02 .idx_box_st02 .box_gr .box {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 368px;
  min-height: 16em;
  padding: 0.6em 1em 1em;
  background-color: white;
}
.idx02 .idx_box_st02 .box_gr .box .box_ct p {
  text-align: center;
  font-weight: 500;
  color: var(--clr1);
  line-height: 1.8;
}
.idx02 .idx_box_st02 .box_gr .box .box_ct .ttl {
  font-size: 2em;
  text-align: center;
}
.idx02 .idx_box_st02 .box_gr .box .box_ct .ttl-sm {
  margin-bottom: 0;
  font-size: 1.8em;
  line-height: 1.5;
}
.idx02 .idx_box_st02 .box_gr .box .box_ct .ttl-sm.ttl-top {
  text-align: left;
}
.idx02 .idx_box_st02 .box_gr .box .box_ct .ttl-sm.ttl-bot {
  margin-top: 8px;
  text-align: right;
}
.idx02 .idx_box_st02 .box_gr .box .box_ct .ttl02 {
  display: table;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 1px solid white;
  font-size: 2.8em;
  font-weight: 700;
  line-height: 1.5;
}
.idx02 .idx_box_st02 .box_gr .box::before, .idx02 .idx_box_st02 .box_gr .box::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  bottom: 0;
  right: calc(var(--size-mg) * -1);
  transform: translateX(50%);
  margin: auto 0;
  background-color: white;
}
.idx02 .idx_box_st02 .box_gr .box:nth-of-type(1)::before {
  width: var(--size-w-line);
  height: 2px;
}
.idx02 .idx_box_st02 .box_gr .box:nth-of-type(1)::after {
  height: var(--size-w-line);
  width: 2px;
}
@media only screen and (min-width: 769px) {
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2) {
    --size-space-between-icon: 1.2em;
    background-color: #9dc3e6;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2)::before, .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2)::after {
    width: var(--size-w-line);
    height: 2px;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2)::before {
    bottom: var(--size-space-between-icon);
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2)::after {
    top: var(--size-space-between-icon);
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2) .box_ct {
    min-width: 73%;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2) p {
    color: white;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3)::before, .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3)::after {
    display: none;
  }
}
.idx02 .decoration {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  font-size: min(0.7vw, 10px);
}
.idx02 .decoration .item01 {
  top: -122px;
  left: auto;
  right: calc((100vw - 1664px) / 2);
  width: 24em;
  height: 21em;
  background-image: url(../images/idx02_decor01.png);
}
.idx02 .decoration .item02 {
  bottom: 15px;
  left: calc((100% - 1696px) / 2);
  width: 20.8em;
  height: 20.9em;
  background-image: url(../images/idx02_decor02.png);
}

@media only screen and (min-width: 769px) {
  .idx02::before {
    background-image: url(../images/idx02_bg.jpg);
  }
  .idx02 h3 {
    margin-bottom: 65px;
  }
  .idx02 .card_gr .c1 .card_ttl {
    position: relative;
    top: 0.45em;
  }
  .idx02 .idx_box_st01_gr {
    justify-content: space-between;
  }
  .idx02 .idx_box_st01_gr .idx_box_st01 {
    width: calc(50% - 20px);
  }
  .idx02 .idx_box_st01_gr .idx_box_st01 ul {
    margin-left: -7px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx02 .decoration {
    font-size: 0.5vw;
  }
  .idx02 .decoration .item02 {
    left: 12px;
    bottom: calc(80px - 5em);
  }
  .idx02 .decoration .item01 {
    right: 12px;
    top: -12em;
  }
}
@media only screen and (max-width: 1024px) {
  .idx02 .idx_box_st01_gr .idx_box_st01 {
    padding: 20px 20px 30px;
  }
}
.idx03 {
  --size-grow-bg-top: 277px;
  --size-gow-bg-bot: 267.5px;
  padding: 69px 0 120px;
  position: relative;
  z-index: 1;
}
.idx03::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: calc(var(--size-grow-bg-top) * -1);
  width: 100%;
  height: calc(100% + var(--size-grow-bg-top) + var(--size-gow-bg-bot));
  background: no-repeat center right/cover;
  background-color: #f5f6e9;
}
.idx03 h3 {
  --cl-mode-en-and-line: var(--clr2);
  line-height: 1.75;
  letter-spacing: 0.16em;
}
.idx03 h3 .txt-child-st02 {
  font-size: 1.2857em;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #192985;
  text-decoration-line: underline;
  text-decoration-color: #f2e38e;
  text-decoration-thickness: 0.4722em;
  text-underline-offset: -0.1389em;
}
.idx03 .fs20 {
  margin-bottom: 15px;
}
.idx03 .txt-md {
  margin-bottom: 18px;
  line-height: 1.5;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 0.07em;
}
.idx03 .idx_box {
  display: flex;
  flex-wrap: wrap;
}
.idx03 .idx_box .txt-bg-bottom {
  font-weight: 500;
}
.idx03 .idx_box .en-big {
  margin-bottom: 4px;
  letter-spacing: 0.1em;
  color: white;
  opacity: 0.6;
}
.idx03 .idx_box h4 {
  margin-bottom: 22px;
}
.idx03 .idx_box .box_pic {
  position: relative;
  z-index: 1;
}
.idx03 .idx_box .box_pic::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: -40px;
  top: -40px;
  width: 80%;
  max-width: 592px;
  height: calc(100% - 10px);
  max-height: 422px;
  background-color: white;
}
.idx03 .idx_box .box_ct {
  position: relative;
  z-index: 2;
}
.idx03 .idx_box_st03 {
  position: relative;
  z-index: 1;
  padding: 60px 80px 70px 80px;
  margin-top: 80px;
  background-color: white;
}
.idx03 .idx_box_st03 h4 {
  margin-bottom: 25px;
}
.idx03 .idx_box_st03 .txt-bg-bottom {
  color: var(--main-color);
  font-weight: 500;
  font-size: 1em;
}
.idx03 .idx_box_st03 .card_gr {
  font-size: min(0.65vw, 10px);
  margin-bottom: 24px;
}
.idx03 .idx_box_st03 .card_gr .card {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  max-width: 260px;
  min-height: 12em;
  background-color: #f5f6e9;
}
.idx03 .idx_box_st03 .card_gr .card .card_ttl {
  font-size: 2em;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.idx03 .idx_box_st03 .ttl {
  position: relative;
  display: table;
  padding: 0.4em 0.4em 0.65em 0.4em;
  margin: 20px auto 26px;
  border-radius: 20px 20px 0 0;
  font-size: 20px;
  text-align: center;
  background-color: #e1effc;
}
.idx03 .idx_box_st03 .ttl .ico_triangle {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #261ea4;
}
.idx03 .idx_box_st03 .ttl .ico_triangle::before, .idx03 .idx_box_st03 .ttl .ico_triangle::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11px;
  margin: 0 auto;
  width: 1px;
  height: 16px;
  transform-origin: bottom center;
  background-color: #261ea4;
}
.idx03 .idx_box_st03 .ttl .ico_triangle::before {
  transform: rotate(45deg);
}
.idx03 .idx_box_st03 .ttl .ico_triangle::after {
  transform: rotate(-45deg);
}
.idx03 .idx_box_st03 .ttl .ico_triangle .ico-main {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  margin: 0 auto;
  width: 24px;
  height: 12px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #e1effc;
}
.idx03 .idx_box_st03 .ct_pic {
  max-width: 301px;
}
.idx03 .idx_box_st03 .box_ct {
  display: flex;
  flex-wrap: wrap;
}
.idx03 .idx_box_st03 .decor {
  --cl-mode-line: #ded2bb;
  position: absolute;
  z-index: -1;
  inset: 20px;
  border: 2px solid var(--cl-mode-line);
}
.idx03 .idx_box_st03 .decor .item {
  position: absolute;
  left: 0;
  width: 100%;
}
.idx03 .idx_box_st03 .decor .item::before, .idx03 .idx_box_st03 .decor .item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 11px;
  height: 11px;
  background-color: var(--cl-mode-line);
}
.idx03 .idx_box_st03 .decor .item_top {
  top: 0;
}
.idx03 .idx_box_st03 .decor .item_top::before {
  left: 0;
  top: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.idx03 .idx_box_st03 .decor .item_top::after {
  top: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.idx03 .idx_box_st03 .decor .item_bot {
  bottom: 0;
}
.idx03 .idx_box_st03 .decor .item_bot::before {
  left: 0;
  bottom: -1px;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.idx03 .idx_box_st03 .decor .item_bot::after {
  right: 0;
  bottom: -1px;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.idx03 .idx_box_st04 {
  padding: 27px 44px 44px 44px;
  margin-top: 80px;
  background-color: white;
}
.idx03 .idx_box_st04 h4 {
  --value-rotate: 38deg;
  padding-left: 2.3571em;
  padding-right: 1.7143em;
  margin-bottom: 31px;
  letter-spacing: 0.1em;
}
.idx03 .idx_box_st04 h4::before, .idx03 .idx_box_st04 h4::after {
  height: 2em;
  top: 0px;
  background-color: var(--clr2);
}
.idx03 .idx_box_st04 .card_gr {
  --size-mg: 2.2em;
  --size-w-line: calc(var(--size-mg) + .4em);
  font-size: min(0.8vw, 10px);
}
.idx03 .idx_box_st04 .card_gr .card {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2em 3em;
  max-width: 368px;
  min-height: 24em;
  background-color: #e1effc;
}
.idx03 .idx_box_st04 .card_gr .card .txt-top {
  display: table;
  padding: 3px;
  margin: 0 auto 1em;
  width: 100%;
  max-width: 260px;
  font-size: 1.6em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 15px;
  font-family: var(--f-en);
  text-transform: uppercase;
  color: white;
}
.idx03 .idx_box_st04 .card_gr .card .card_ttl {
  margin-bottom: 0.8em;
  font-size: 2em;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
}
.idx03 .idx_box_st04 .card_gr .card .card_ttl02 {
  text-align: center;
  font-size: 2.4em;
  line-height: 1.6667;
}
.idx03 .idx_box_st04 .card_gr .card .card_ttl02 .big {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  color: var(--main-color);
}
.idx03 .idx_box_st04 .card_gr .card .card_ct picture {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.idx03 .idx_box_st04 .card_gr .c1 .txt-top {
  background-color: #89b0d4;
}
.idx03 .idx_box_st04 .card_gr .bg02 {
  background-color: #eeefdf;
}
.idx03 .idx_box_st04 .card_gr .bg02 .txt-top {
  background-color: #ded2bb;
}
.idx03 .idx_box_st04 .card_gr .bg03 {
  background-image: -moz-linear-gradient(90deg, rgb(225, 239, 252) 0%, rgb(238, 239, 223) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(225, 239, 252) 0%, rgb(238, 239, 223) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(225, 239, 252) 0%, rgb(238, 239, 223) 100%);
}
.idx03 .idx_box_st04 .card_gr .bg03::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 10px;
  border: 1px solid #dadada;
  background-color: white;
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3))::before, .idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3))::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  bottom: 0;
  right: calc(var(--size-mg) * -1);
  transform: translateX(50%);
  margin: auto 0;
  background-color: var(--main-color);
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(1)::before {
  width: var(--size-w-line);
  height: 2px;
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(1)::after {
  height: var(--size-w-line);
  width: 2px;
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(2) {
  --size-space-between-icon: 1em;
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(2)::before, .idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(2)::after {
  width: var(--size-w-line);
  height: 2px;
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(2)::before {
  bottom: var(--size-space-between-icon);
}
.idx03 .idx_box_st04 .card_gr .card:not(:nth-of-type(3)):nth-of-type(2)::after {
  top: var(--size-space-between-icon);
}

.idx03 .idx_box .ct_area p {
  text-transform: uppercase;
}

@media only screen and (min-width: 769px) {
  .idx03::before {
    background-image: url(../images/idx03_bg.jpg);
  }
  .idx03 h3::after {
    margin-top: 24px;
  }
  .idx03 h3 .en {
    margin-bottom: 3px;
  }
  .idx03 .idx_box {
    --size-w-box-w: 60%;
    justify-content: space-between;
    align-items: flex-start;
  }
  .idx03 .idx_box .en-big {
    margin-left: -56.5%;
    margin-top: -14px;
  }
  .idx03 .idx_box .box_pic {
    margin-top: 38px;
    max-width: 755px;
    width: var(--size-w-box-w);
  }
  .idx03 .idx_box .box_ct {
    width: calc(100% - var(--size-w-box-w) - 30px);
    max-width: 440px;
  }
  .idx03 .idx_box_st03 {
    --size-w-box-pic: 27%;
    --size-grow-right: 2%;
  }
  .idx03 .idx_box_st03 .card_gr {
    --size-mg: .8em;
    justify-content: flex-start;
  }
  .idx03 .idx_box_st03 .card_gr .c1 {
    min-width: 28em;
  }
  .idx03 .idx_box_st03 .ct_area {
    padding-left: 5px;
  }
  .idx03 .idx_box_st03 .ct_area p {
    line-height: 2.11111;
  }
  .idx03 .idx_box_st03 .ct_pic {
    position: relative;
    right: -2.6%;
    bottom: 2px;
    width: var(--size-w-box-pic);
  }
  .idx03 .idx_box_st03 .ct_left {
    margin-right: calc(var(--size-grow-right) * -1);
    width: calc(100% - var(--size-w-box-pic) + var(--size-grow-right));
    max-width: 833px;
  }
  .idx03 .idx_box_st03 .box_ct {
    align-items: flex-end;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx03 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx03 .idx_box {
    --size-w-box-w: 55%;
  }
  .idx03 .idx_box .box_ct {
    max-width: 100%;
  }
  .idx03 .idx_box .en-big {
    margin-left: -140px;
  }
  .idx03 .txt-md {
    font-size: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .idx03 .idx_box_st03 {
    padding-left: 50px;
    padding-right: 50px;
  }
  .idx03 .idx_box_st04 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx03 .idx_box .box_pic::before {
    left: -20px;
    top: -20px;
  }
  .idx03 .idx_box .en-big {
    font-size: 50px;
    margin-left: -123px;
  }
  .idx03 .idx_box_st03 .ttl {
    text-align: center;
  }
}
.idx04 {
  --size-space-top-bg-blue: 263px;
  position: relative;
  z-index: 2;
  padding-bottom: 120px;
}
.idx04::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: var(--size-space-top-bg-blue);
  width: 100%;
  height: calc(100% - var(--size-space-top-bg-blue));
  background-color: var(--clr2);
}
.idx04 .idx_box {
  position: relative;
  z-index: 1;
  padding: 120px 140px 120px 140px;
  background-color: white;
}
.idx04 .idx_box::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: -6.5em;
  bottom: -12em;
  width: 27.4em;
  height: 29.5em;
  font-size: min(1vw, 10px);
  background: url(../images/idx04_decor_logo.png) no-repeat center/cover;
  opacity: 0.4;
}
.idx04 .idx_box h3 .en {
  color: var(--clr2);
}
.idx04 .idx_box h3 .jp {
  color: #072048;
}
.idx04 .idx_box .video_gr {
  --size-width-item-video: 1080px;
  --size-mg:20px;
  position: relative;
}
.idx04 .idx_box .video_gr .item {
  width: var(--size-width-item-video);
  margin: 0 var(--size-mg);
}
.idx04 .idx_box .video_gr .btn_slick_gr {
  --size-w-btn: 7em;
  --position-left-btn: calc(var(--size-width-item-video) / -2 - var(--size-w-btn) / 2);
}
.idx04 .idx_box .video_slider:not(.slick-initialized) {
  width: var(--size-width-item-video);
  overflow: hidden;
}
.idx04 .idx_box .video_slider:not(.slick-initialized) .item {
  min-width: var(--size-width-item-video);
}
.idx04 .idx_box .video_slider:not(.slick-initialized) .item:not(:first-child) {
  display: none;
}
.idx04 .idx_box .video_slider.slick-initialized {
  --size-mg-dot: 7px;
  --size-dot: 16px;
}
.idx04 .idx_box .video_slider.slick-initialized .slick-dots {
  position: absolute;
  bottom: -29px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 10px;
}
.idx04 .idx_box .video_slider.slick-initialized .slick-dots > li {
  position: relative;
  z-index: 1;
  width: var(--size-dot);
  height: var(--size-dot);
  margin: var(--size-mg-dot);
  border-radius: 50%;
  border: 1px solid #989898;
  cursor: pointer;
}
.idx04 .idx_box .video_slider.slick-initialized .slick-dots > li::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 3px;
  border-radius: 50%;
  background-color: #192985;
  opacity: 0;
}
.idx04 .idx_box .video_slider.slick-initialized .slick-dots > li button {
  display: none;
}
.idx04 .idx_box .video_slider.slick-initialized .slick-dots > li.slick-active::before {
  opacity: 1;
}
.idx04 .idx_box .video_slider .item .video-wrapper video{
 width: 100%;
	height: auto;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_box .video_slider.slick-initialized .slick-dots > li:not(.slick-active):hover {
    opacity: 0.7;
    border-color: #74b96a;
  }
}

@media only screen and (min-width: 769px) {
  .idx04 .inner_max {
    max-width: 1600px;
  }
  .idx04 .idx_box {
    --size-w-h3: 80px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .idx04 .idx_box h3 {
    left: -10px;
    top: 1px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse;
    min-width: var(--size-w-h3);
  }
  .idx04 .idx_box h3::after {
    display: none;
  }
  .idx04 .idx_box h3 .jp {
    margin-right: 0.5em;
    writing-mode: vertical-rl;
  }
  .idx04 .idx_box h3 .en {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    writing-mode: vertical-lr;
    line-height: 1;
  }
  .idx04 .idx_box h3 .en::after {
    content: "";
    left: -2px;
    display: block;
    margin-top: 14px;
    width: 2px;
    height: 82px;
    background-color: var(--clr2);
  }
  .idx04 .idx_box .video_gr {
    width: calc(100% - var(--size-w-h3) - 30px);
    max-width: 1080px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx04 .idx_box {
    padding-left: 8%;
    padding-right: 8%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 .idx_box .video_gr {
    --size-width-item-video: calc(70vw - var(--size-w-h3));
    width: var(--size-width-item-video);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx04 .idx_box::before {
    font-size: 0.7vw;
    left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_box h3 {
    margin-bottom: 0;
  }
  .idx04 .idx_box {
    padding: 40px 40px;
  }
  .idx04 .idx_box .video_gr {
    --size-width-item-video: calc(75vw - var(--size-w-h3));
  }
  .idx04 .idx_box .video_gr .btn_slick_gr {
    font-size: 8px;
  }
  .idx04 .idx_box {
    max-width: 880px;
  }
}
.idx05 {
  padding: 94px 0 21px;
  background-image: url(../images/idx05_bg.jpg);
}
.idx05 h3 {
  font-size: 38px;
  margin-right: 94px;
}
.idx05 h3 .en {
  font-size: 0.5789473684em;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding-bottom: 0.5454545em;
}
.idx05 h3 .sm {
  display: block;
  font-size: 0.6842105263em;
  letter-spacing: 0.1em;
  line-height: 1.22;
}
.idx05 .inner_big {
  max-width: 1600px;
}
.idx05-content {
  position: relative;
  z-index: 1;
  padding-top: 30px;
  max-width: 690px;
  padding-left: 129px;
}
.idx05 .point {
  position: absolute;
  margin-bottom: 0;
  left: -5px;
  top: 40px;
  font-size: 10px;
  line-height: 1;
  font-family: var(--f-en);
  color: var(--clr2);
}
.idx05 .point .txt {
  position: absolute;
  z-index: 2;
  left: 0.4em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.idx05 .point .num {
  font-size: 10em;
  line-height: 0.6;
  font-weight: 300;
  letter-spacing: 0;
}
.idx05 .point .zero {
  --point-mask-top: 47%;
  --point-mask-bot: calc(var(--point-mask-top) + 15%);
  color: transparent;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  background-image: linear-gradient(to bottom, #414c9c var(--point-mask-top), rgba(255, 255, 255, 0) var(--point-mask-top) var(--point-mask-bot), #414c9c var(--point-mask-bot));
}
.idx05 h4 {
  font-size: 32px;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
  position: relative;
}
.idx05 h4::before {
  position: absolute;
  content: "";
  top: 0.3125em;
  left: -4.34375em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 3.09375em;
  height: 2.21875em;
}
.idx05 h4 span {
  display: inline-block;
}
.idx05 p {
  font-size: 20px;
  letter-spacing: 0.1em;
}
.idx05 .item {
  width: 50%;
  margin-bottom: 5.3%;
}
@media only screen and (min-width: 769px) {
  .idx05 .item.st1, .idx05 .item.st4 {
    max-width: 780px;
  }
  .idx05 .item.st2, .idx05 .item.st3 {
    max-width: 607px;
  }
}
@media only screen and (min-width: 1281px) {
  .idx05 .item.st1 .point {
    left: 10px;
  }
  .idx05 .item.st1 .idx05-content {
    margin-left: -13px;
    padding-left: 140px;
  }
  .idx05 .item.st2 .idx05-content {
    margin-left: -2px;
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .item.st2 {
    margin-top: 8.75%;
  }
  .idx05 .item.st3 {
    margin-top: -24.2%;
  }
  .idx05 h3 {
    display: table;
    margin-bottom: -38px;
    margin-left: auto;
    text-align: left;
  }
  .idx05 h3::after {
    margin-left: 0;
    margin-top: 29px;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx05 h3 {
    margin-right: 55px;
  }
  .idx05 .item.st3 {
    margin-top: -35%;
  }
  .idx05 .item:nth-child(2n) .idx05-content {
    padding-right: 40px;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx05 .item {
    width: calc(50% - 15px);
  }
  .idx05 .item:nth-child(2n) .idx05-content {
    padding-right: 30px;
  }
  .idx05 h3 {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx05 h3 {
    top: 0;
    margin-right: 10%;
    font-size: 30px;
  }
  .idx05 h4 {
    font-size: 2.5vw;
  }
  .idx05 h4::before {
    left: -3.5em;
  }
  .idx05 p {
    font-size: 18px;
  }
  .idx05 .point {
    font-size: 8px;
  }
  .idx05-content {
    padding-left: 90px;
  }
}
.idx06 {
  padding: 100px 0 119px;
  background-color: #192985;
}

.idx06 .slider_gr {
  --mask-point: 4.4em;
  --mask-point-right: calc(100% - var(--mask-point));
  --mask-point-left: var(--mask-point);
  --mask-item-first: polygon(0 0, var(--mask-point-right) 0, 100% 50%, var(--mask-point-right) 100%, 0 100%);
  --mask-item-center: polygon(0 0, var(--mask-point-right) 0, 100% 50%, var(--mask-point-right) 100%, 0 100%, var(--mask-point-left) 50%);
  --mask-item-last: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--mask-point-left) 50%);
  margin-bottom: 60px;
}
.idx06 .slider_gr .slider_nav {
  counter-reset: count_nav;
  font-size: min(0.7vw, 10px);
}
.idx06 .slider_gr .slider_nav .item_gr {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.idx06 .slider_gr .slider_nav .item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  min-height: 18em;
  overflow: hidden;
  cursor: pointer;
}
.idx06 .slider_gr .slider_nav .item::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.2;
}
.idx06 .slider_gr .slider_nav .item .item_ttl {
  font-size: 2.4em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: white;
}
.idx06 .slider_gr .slider_nav .item .item_ttl::before {
  content: counter(count_nav, decimal-leading-zero);
  counter-increment: count_nav;
  display: block;
  margin-bottom: 7px;
  font-size: 1.25em;
  font-family: var(--f-en);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  transform-origin: center bottom;
  transition: var(--value-transition);
}
.idx06 .slider_gr .slider_nav .item .item_ttl .en {
  display: block;
  margin-top: 0.4em;
  font-size: 0.583333em;
  font-family: var(--f-en);
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.idx06 .slider_gr .item_gr:not(.slick-initialized) .item:nth-of-type(3) .item_ttl {
  color: var(--clr1);
}
.idx06 .slider_gr .item_gr:not(.slick-initialized) .item:nth-of-type(3) .item_ttl::before {
  transform: scale(1.33333);
  color: var(--clr2);
}
.idx06 .slider_gr .item_gr:not(.slick-initialized) .item:nth-of-type(3) .item_ttl .en {
  color: var(--clr2);
}
.idx06 .slider_gr .item_gr:not(.slick-initialized) .item:nth-of-type(3)::before {
  opacity: 1;
  background-color: white;
}
.idx06 .slider_gr .item_gr.slick-initialized .slick-track {
  width: 100% !important;
  transform: none !important;
}
.idx06 .slider_gr .item_gr.slick-initialized .item.slick-current .item_ttl {
  color: var(--clr1);
}
.idx06 .slider_gr .item_gr.slick-initialized .item.slick-current .item_ttl::before {
  color: var(--clr2);
  transform: scale(1.33333);
}
.idx06 .slider_gr .item_gr.slick-initialized .item.slick-current .item_ttl .en {
  color: var(--clr2);
}
.idx06 .slider_gr .item_gr.slick-initialized .item.slick-current::before {
  background-color: white;
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx06 .slider_gr .item {
    min-width: 37em;
  }
  .idx06 .slider_gr .item:nth-of-type(1) {
    min-width: 32.9em;
  }
  .idx06 .slider_gr .item:nth-of-type(4n) {
    min-width: 32.5em;
  }
  .idx06 .slider_gr .item:nth-of-type(1) {
    clip-path: var(--mask-item-first);
  }
  .idx06 .slider_gr .item:not(:nth-of-type(1)) {
    clip-path: var(--mask-item-center);
  }
  .idx06 .slider_gr .item:nth-of-type(4n) {
    clip-path: var(--mask-item-last);
  }
  .idx06 .slider_gr .item:not(:nth-of-type(4n)) {
    margin-right: calc(var(--mask-point) * -1 + 0.6em);
  }
  .idx06 .slider_gr .item:not(.slick-current):hover::before {
    opacity: 0.5;
  }
}
.idx06 .slider_content {
  --size-w-item: 960px;
  --size-h-item: 600px;
  --size-mg: 80px;
  position: relative;
}
.idx06 .slider_content .btn_slick_gr {
  --size-w-btn: 7em;
  --position-left-btn: calc(var(--size-w-item) / -2 - var(--size-w-btn) / 2 - var(--size-mg));
  --btn-arr-ico: url(../images/btn_slick_white.png);
}
.idx06 .slider_content .btn_slick_gr .btn_slick {
  background-color: rgba(255, 255, 255, 0.4);
}
@media only screen and (min-width: 769px) {
  .idx06 .slider_content .btn_slick_gr .btn_slick:hover {
    background-color: rgba(255, 255, 255, 0.6);
  }
}
.idx06 .slider_content .item_gr {
  display: flex;
  justify-content: center;
}
.idx06 .slider_content .item {
  display: flex;
  align-items: flex-end;
  width: var(--size-w-item);
  min-height: var(--size-h-item);
  margin: 0 var(--size-mg);
  overflow: hidden;
  transition: var(--value-transition);
  background: no-repeat center/cover;
}
.idx06 .slider_content .item .item_ct_ttl {
  text-align: center;
  color: var(--clr1);
  font-size: 24px;
  border-right: 1px solid rgba(65, 76, 156, 0.2);
}
.idx06 .slider_content .item .item_ct_ttl .num {
  display: block;
  margin-bottom: 0.1em;
  font-size: 1.666667em;
  font-family: var(--f-en);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--clr2);
}
.idx06 .slider_content .item .item_ct_ttl .en {
  display: block;
  color: var(--clr2);
  font-size: 0.583333em;
}
.idx06 .slider_content .item .item_ct {
  padding: 39px 30px 51px;
  width: 100%;
  transition: var(--value-transition);
  background-color: rgba(255, 255, 255, 0.95);
}
.idx06 .slider_content .item .item_ct_flex {
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
}
.idx06 .slider_content .item01 {
  background-image: url(../images/idx06_item1_bg.jpg);
}
.idx06 .slider_content .item02 {
  background-image: url(../images/idx06_item2_bg.jpg);
}
.idx06 .slider_content .item03 {
  background-image: url(../images/idx06_item3_bg.jpg);
}
.idx06 .slider_content .item04 {
  background-image: url(../images/idx06_item4_bg.jpg);
}
.idx06 .slider_content .item_gr:not(.slick-initialized) {
  justify-content: center;
}
.idx06 .slider_content .item_gr:not(.slick-initialized) .item {
  min-width: var(--size-w-item);
}
.idx06 .slider_content .item_gr:not(.slick-initialized) .item:not(:nth-of-type(3)) {
  display: none;
}
.idx06 .slider_content .item_gr.slick-initialized .slick-list {
  overflow: unset !important;
}
.idx06 .slider_content .item_gr.slick-initialized .item_ct {
  transform: translateY(14em);
  opacity: 0;
}
.idx06 .slider_content .item_gr.slick-initialized .item.slick-target .item_ct,
.idx06 .slider_content .item_gr.slick-initialized .item.slick-current .item_ct {
  transform: translateY(0);
  opacity: 1;
}

.idx06 .slider_content .item .item_ct_area p {
  font-weight: 500;
}

@media only screen and (min-width: 769px) {
  .idx06 {
    background-image: url(../images/idx06_bg.jpg);
  }
  .idx06 h3 {
    margin-bottom: 65px;
    font-size: calc(var(--ttl_size) + 6px);
  }
  .idx06 h3::after {
    margin-top: 28px;
  }
  .idx06 h3 .en {
    font-size: 22px;
    margin-bottom: -2px;
  }
  .idx06 .slider_content {
    --size-w-ttl: 34.5%;
  }
  .idx06 .slider_content .item .item_ct_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 5px;
    padding-right: 2.2%;
    width: var(--size-w-ttl);
    min-height: 120px;
  }
  .idx06 .slider_content .item .item_ct_area {
    padding-top: 28px;
    padding-bottom: 28px;
    padding-left: 5.7%;
    padding-right: 5.7%;
    width: calc(100% - var(--size-w-ttl));
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx06 .slider_content {
    --size-w-item: calc(100vw - 300px);
    --size-mg: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx06 .slider_content .item .item_ct_ttl {
    font-size: 20px;
  }
  .idx06 .slider_content .item .item_ct {
    padding: 40px 20px;
  }
  .idx06 .slider_content .item .item_ct_area {
    display: flex;
    align-items: center;
    padding-right: 0;
    padding: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx06 .slider_content {
    --size-h-item: 500px;
    --size-mg:20px;
    --size-w-item: calc(100vw - var(--size-mg) * 4 - 20px);
  }
  .idx06 .slider_content .btn_slick_gr {
    font-size: 8px;
  }
  .idx06 .btn_slick_gr .btn_slick.btn_pre {
    left: var(--size-mg);
    transform: translateX(-50%);
  }
  .idx06 .btn_slick_gr .btn_slick.btn_next {
    right: var(--size-mg);
    transform: translateX(50%);
  }
  .idx06 .slider_content .item .item_ct {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .idx06 .slider_content .item .item_ct_ttl {
    padding-right: 5px;
  }
  .idx06 .slider_content .item .item_ct_ttl {
    font-size: 19px;
  }
}
.idx07 {
  padding: 99px 0 120px;
}
.idx07 .en-big {
  font-size: clamp(120px, 9vw, 160px);
  color: white;
  opacity: 0.7;
  letter-spacing: 0.05em;
}
.idx07 .card_gr {
  font-size: min(1.2vw, 10px);
}
.idx07 .card_gr .card {
  position: relative;
  z-index: 1;
  max-width: 412px;
  background-color: white;
}
.idx07 .card_gr .card .card_pic {
  width: 100%;
  height: 31em;
  background: no-repeat center/cover;
}
.idx07 .card_gr .card .card_ttl {
  margin-top: -3px;
  margin-bottom: 12px;
  font-size: 2.4em;
  font-weight: 500;
  line-height: 1.916667;
  letter-spacing: 0.1em;
  text-align: center;
}
.idx07 .card_gr .card .card_ttl::after {
  content: "";
  display: block;
  margin: 10px auto 0;
  width: 80px;
  height: 1px;
  background-color: var(--clr2);
}
.idx07 .card_gr .card .card_ct {
  padding: 26px 46px 33px;
}
.idx07 .card_gr .card .card_ct p {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
}
.idx07 .card_gr .card .card_ct p:not(:last-child) {
  margin-bottom: 5px;
}
.idx07 .card_gr .c1 .card_pic {
  background-image: url(../images/idx07_card_bg1.jpg);
}
.idx07 .card_gr .c2 .card_pic {
  background-image: url(../images/idx07_card_bg2.jpg);
}
.idx07 .card_gr .c3 .card_pic {
  background-image: url(../images/idx07_card_bg3.jpg);
}
.idx07 .card_gr .c4 .card_pic {
  background-image: url(../images/idx07_card_bg4.jpg);
}
.idx07 .card_gr .c5 .card_pic {
  background-image: url(../images/idx07_card_bg5.jpg);
}
.idx07 .loop_wrap {
  margin-top: 24px;
}
.idx07 .idx_box {
  padding: 50px 60px 60px 60px;
  margin-top: 45px;
  background: no-repeat center/cover;
}
.idx07 .idx_box .txt-top {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 5px 6px;
  margin: 0 auto 5px;
  width: fit-content;
  min-width: 239px;
  border-radius: 19px;
  font-family: var(--f-en);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
  color: var(--clr2);
  background-color: white;
}
.idx07 .idx_box .ttl {
  margin-bottom: 7px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: white;
}
.idx07 .idx_box .ttl_frame {
  display: flex;
  justify-content: center;
  margin-bottom: 26px;
}
.idx07 .idx_box .ttl_frame .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1em 1em 1.2em;
  min-height: 68px;
  background-color: rgba(255, 255, 255, 0.1);
}
.idx07 .idx_box .ttl_frame .ttl {
  position: relative;
  z-index: 1;
  padding-left: 38px;
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  color: white;
}
.idx07 .idx_box .ttl_frame .ttl::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0.15em;
  top: 0.15em;
  width: 24px;
  height: 24px;
  background: url(../images/check_list_white_24.png) no-repeat center/cover;
}
.idx07 .idx_box .idx_box_catch {
  padding: 37px 40px 39px 39px;
  background: url(../images/idx07_idx_box_catch_bg.jpg) no-repeat left top/238px auto;
  background-color: white;
}
.idx07 .idx_box .idx_box_catch .ttl_has_bg_muty_line {
  margin-bottom: 22px;
}
.idx07 .idx_box .idx_box_catch .list_check {
  max-width: 830px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 769px) {
  .idx07 {
    background-image: url(../images/idx07_bg.jpg);
  }
  .idx07 h3 {
    margin-bottom: 65px;
  }
  .idx07 h3::after {
    margin-top: 27px;
  }
  .idx07 h3 .en {
    margin-bottom: 0;
  }
  .idx07 .card_gr {
    --size-mg: 11px;
  }
  .idx07 .idx_box {
    background-image: url(../images/idx07_idx_box_bg.jpg);
  }
  .idx07 .idx_box .ttl_frame {
    justify-content: space-between;
  }
  .idx07 .idx_box .ttl_frame .item {
    width: calc(50% - 5px);
  }
  .idx07 .idx_box .idx_box_catch .list_check li:nth-child(2n) {
    max-width: 400px;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1281px) {
  .idx07 .idx_box .idx_box_catch .list_check li:nth-child(2n) {
    left: 18px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .card_gr .card .card_ct {
    padding: 20px;
  }
  .idx07 .card_gr .c4 .card_ttl br {
    display: none;
  }
  .idx07 .idx_box .idx_box_catch {
    padding: 30px 20px;
  }
  .idx07 .idx_box .idx_box_catch .list_check {
    max-width: 624px;
  }
  .idx07 .idx_box .idx_box_catch .list_check li {
    width: 50%;
    padding-right: 5px;
    font-size: 14px;
  }
  .idx07 .card_gr .card {
    width: calc(50% - var(--size-mg) * 2);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx07 .idx_box .idx_box_catch .list_check {
    max-width: 310px;
  }
  .idx07 .idx_box .idx_box_catch .list_check li {
    width: 100%;
    padding-right: 0;
  }
}
.idx08 {
  padding-top: 100px;
  padding-bottom: 120px;
  background-image: url(../images/idx08_bg.jpg);
}
.idx08 h3 {
  font-size: 36px;
}
.idx08 h3 .en {
  font-size: 0.6111111111em;
}
.idx08 h3::after {
  margin-top: 0.722222em;
}
.idx08 .ttl {
  color: #fff;
  font-size: 28px;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.4;
  padding-top: 19px;
  padding-bottom: 21px;
  margin-bottom: 0;
}
.idx08 .box {
  max-width: 620px;
  width: 49%;
  background-color: #fff;
}
.idx08 .box.st1 .ttl {
  background-color: #717171;
}
.idx08 .box.st2 .ttl {
  background-color: #261ea2;
}
.idx08-content {
  padding-top: 40px;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 35px;
}
.idx08-content p {
  padding-top: 28px;
}
.idx08-img {
  margin-left: auto;
  margin-right: auto;
  max-width: 540px;
}
@media only screen and (min-width: 769px) {
  .idx08 h3 {
    margin-bottom: 65px;
  }
}
@media only screen and (max-width: 1024px) {
  .idx08 .ttl {
    font-size: min(26px, 2.5vw);
  }
  .idx08-content {
    padding: 20px;
  }
}

.idx09 {
  background-position: top center;
  background-color: #e9eadd;
}
.idx09 .idx_table_st01 {
  margin-bottom: 85px;
}
.idx09 .idx_box {
  padding: 75px 40px 90px;
  background-color: white;
}
.idx09 .idx_box .faq_gr {
  max-width: 1280px;
  margin: 35px auto 0;
}

@media only screen and (min-width: 769px) {
  .idx09 {
    padding: 75px 0 120px;
    background-image: url(../images/idx09_bg.jpg);
  }
  .idx09 h3 {
    margin-bottom: 50px;
  }
  .idx09 h3 .en {
    font-size: 22px;
  }
  .idx09 .inner_max {
    max-width: 1720px;
  }
  .idx09 .faq_gr .left,
  .idx09 .faq_gr .right {
    width: calc(50% - 20px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx09 .idx_box {
    padding-left: 30px;
    padding-right: 30px;
  }
  .idx09 .faq_gr .left,
  .idx09 .faq_gr .right {
    width: calc(50% - 8px);
  }
}
.idx10 {
  background-color: #f5f6e9;
}
.idx10 .en-big {
  margin-bottom: -0.3833em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: white;
}
.idx10 .idx_box .box_name {
  margin-top: 30px;
  max-width: 547px;
  font-size: min(0.78vw, 10px);
}
.idx10 .idx_box .box_name p {
  line-height: 1.5;
  font-size: 1em;
}
.idx10 .idx_box .box_name .position {
  padding-bottom: 0.9545em;
  margin-bottom: 0.5455em;
  font-size: max(16px, 2.2em);
  letter-spacing: 0.16em;
  background: url(../images/idx10_box_name_line.png) no-repeat center bottom/auto 1px;
}
.idx10 .idx_box .box_name .name {
  display: flex;
  align-items: center;
}
.idx10 .idx_box .box_name .name .jp {
  font-size: max(24px, 3.8em);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx10 .idx_box .box_name .name .en {
  margin-left: 1.2222em;
  margin-top: 2px;
  font-size: max(12px, 1.8em);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.idx10 .idx_box .box_pic {
  position: relative;
  z-index: 1;
  max-width: 701px;
  padding-right: min(4.2vw, 80px);
  padding-bottom: min(4.2vw, 77px);
}
.idx10 .idx_box .box_pic::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: 77%;
  max-width: 538px;
  height: 73%;
  max-height: 554px;
  background: no-repeat center/cover;
  background-image: url(../images/idx10_decor01.jpg);
}
.idx10 .idx_box .box_ct {
  max-width: 660px;
}
.idx10 .box_infor {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: var(--size-padding-top-bot) var(--size-padding-left-right) var(--size-padding-top-bot);
  background-color: white;
}
.idx10 .box_infor .infor_pic {
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
}
.idx10 .box_infor .idx_map {
  margin-top: 40px;
}
.idx10 .box_infor .infor_tel {
  margin-top: 28px;
  margin-bottom: 15px;
}
.idx10 .box_infor .infor_detail {
  margin-bottom: 18px;
}
.idx10 .box_infor .link_item_gr {
  margin-top: 19px;
}
@media only screen and (min-width: 769px) {
  .idx10 {
    padding: 67px 0 clamp(80px, 6.25vw, 120px);
    background-image: url(../images/idx10_bg.jpg);
  }
  .idx10 .en-big {
    margin-left: -0.825em;
  }
  .idx10 h3 {
    --ml: 5px;
    display: flex;
    align-items: center;
    padding-bottom: 24px;
    text-align: left;
    margin-left: calc(var(--ml) * -1);
    margin-bottom: 39px;
  }
  .idx10 h3 .en {
    margin-top: 5px;
    margin-left: 15px;
  }
  .idx10 h3::after {
    position: absolute;
    left: calc(var(--ml) + 1px);
    bottom: 0;
  }
  .idx10 .idx_box {
    --size-w-box-pic: 50%;
    align-items: flex-start;
    justify-content: flex-end;
  }
  .idx10 .idx_box .box_pic {
    width: var(--size-w-box-pic);
  }
  .idx10 .idx_box .box_ct {
    padding-right: 5.5%;
    padding-top: 35px;
    width: calc(100% - var(--size-w-box-pic));
  }
  .idx10 .idx_box .box_ct .ct_area p:not(:last-child) {
    margin-bottom: 5px;
  }
  .idx10 .idx_box .box_name .name {
    margin-left: -4px;
  }
  .idx10 .box_infor {
    --size-padding-top-bot: 73px;
    --size-padding-left-right: min(4.2vw, 80px);
    margin-top: 120px;
    padding-bottom: 38px;
    justify-content: space-between;
  }
  .idx10 .box_infor .infor_pic {
    display: table;
    max-width: 740px;
    margin-left: calc((var(--size-padding-left-right) + min(3.125vw, 60px)) * -1);
    margin-top: calc((var(--size-padding-top-bot) + 59px) * -1);
  }
  .idx10 .box_infor .left {
    width: 47%;
    max-width: 600px;
  }
  .idx10 .box_infor .right {
    width: 48%;
    max-width: 613px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx10 .idx_box .box_ct {
    padding-right: 3%;
  }
  .idx10 .box_infor {
    max-width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx10 .en-big {
    margin-left: -40px;
  }
  .idx10 .infor_detail {
    --size-w-dt: 12.2em;
  }
  .idx10 .infor_detail dd {
    padding-left: 3%;
  }
  .idx10 .infor_detail dt, .idx10 .infor_detail dd {
    font-size: 16px;
  }
  .idx10 .box_infor {
    max-width: calc(100% - 100px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx10 .idx_box {
    padding: 0 40px;
  }
  .idx10 .box_infor .infor_pic {
    margin-left: calc((var(--size-padding-left-right) + 35px) * -1);
  }
  .idx10 .idx_box .box_name {
    margin-right: -20px;
  }
  .idx10 .box_infor {
    max-width: calc(100% - 30px);
  }
  .idx10 .box_infor .infor_pic {
    margin-left: calc((var(--size-padding-left-right) + 20px) * -1);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx10 .infor_detail dd {
    padding-left: 0;
  }
}
.idx_map {
  height: 380px;
}
.idx_map iframe {
  height: 100%;
  border: 0;
}

#IDmenu06 {
  position: absolute;
  top: -60px;
  left: 0;
}
@media only screen and (max-width: 768px) {
  #IDmenu06 {
    top: 0;
  }
}

.idx04 .video_slider .item {
  position: relative;
}
.idx04 .video_slider .item .overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 50px;
  margin: auto;
  background-color: red;
  z-index: 40;
}

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