.home_page .topic_path {
  display: none;
}
.home_page .wrap_h3 {
  margin-bottom: 35px;
  color: var(--clr1);
  font-size: 1.25em;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.home_page .wrap_h3 > .h_en {
  margin: 0;
  color: var(--main-color);
  font-family: var(--f-en);
  font-size: 3.5em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.home_page .wrap_h3.t_center {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.home_page .wrap_h3.white > .h_en,
.home_page .wrap_h3.white > h3 {
  color: #fff;
}
.home_page h3 {
  position: relative;
  margin: 0;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-size: 1em;
  font-weight: 600;
  line-height: inherit;
  letter-spacing: 0em;
}

section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

#mainContent {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: relative;
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page {
    --border-position: 70px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  #mainContent::before {
    left: 70px;
  }
  #mainContent::after {
    right: 70px;
  }
  .home_page section > :is(.inner, .inner_big, .inner_max) {
    width: 100%;
    max-width: 874px;
  }
  .home_page .idx6 .TabContent .inner {
    width: 100%;
  }
}
.home_page .key {
  --height: 54vw;
  --min-height: 550px;
  --max-height: 993px;
  width: 100%;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: min(10px, 0.5208333333vw);
  /*background: url(../images/idx_key_bg.jpg) no-repeat center top/cover;*/
  position: relative;
  z-index: 10;
  isolation: isolate;
  color: #fff;
}
.home_page .key::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: var(--wrapper);
  left: var(--border-position);
  right: var(--border-position);
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  bottom: 0;
  pointer-events: none;
  z-index: -1;
}
.home_page .key::after {
  /*content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  bottom: 0;
  width: 43.54297%;
  height: 42.66173%;
  background: linear-gradient(23.57064deg, #96b8e1 4.79096%, #fff 51.89453%);
  -webkit-mask-image: linear-gradient(23.57064deg, #000 4.79096%, transparent 51.89453%);
  mask-image: linear-gradient(23.57064deg, #000 4.79096%, transparent 51.89453%);
  pointer-events: none;
  z-index: -2;*/
}
.home_page .key video {
	position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}
.home_page .key .key_text {
  position: absolute;
  left: 6.66219%;
  right: 6.66219%;
  bottom: 6.4em;
}
.home_page .key .catch {
  width: fit-content;
  max-width: 100%;
  margin: 0;
}
.home_page .key .mv_slider:not(.slick-initialized) {
  opacity: 0;
}
.home_page .key .mv_slider .slick-track {
  display: flex;
  align-items: stretch;
}
.home_page .key .mv_slider .item {
  display: flex;
  align-items: flex-end;
  height: auto;
  min-width: 0;
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-family: var(--f-b1);
  font-weight: 600;
  letter-spacing: 0;
}
.home_page .key h2 {
  margin: 0 0 0.222222em;
  font-size: 5.4em;
  line-height: 1.444;
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.65), 0 0 14px rgba(0, 0, 0, 0.25);
}
.home_page .key h2 span {
  display: block;
}
.home_page .key p {
  margin: 0;
  font-size: 1.8em;
  line-height: 2;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.3);
}
.home_page .key .key_scroll {
  position: absolute;
  left: 0;
  bottom: 6.137em;
  width: calc(var(--border-position) + 5px);
}
.home_page .key .key_scroll > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4em;
  width: 100%;
  color: #fff;
  text-decoration: none;
}
.home_page .key .key_scroll > a span {
  font-family: var(--f-en);
  font-size: 1.8em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  writing-mode: vertical-rl;
}
.home_page .key .key_scroll > a::after {
  content: "";
  display: block;
  width: 1px;
  height: 10.937em;
  background: currentColor;
}
.home_page .key .key_banner {
  position: absolute;
  right: calc(var(--border-position) + 1.96452em);
  bottom: 2.10353em;
  width: 31.27em;
  margin: 0;
}
.home_page .key .key_banner.active {
  position: fixed;
  z-index: 19;
  bottom: 20px;
  right: var(--wrapper);
}
@media only screen and (min-width: 1919px) {
  .home_page .key .key_banner.active {
    bottom: 170px;
  }
}
@media only screen and (max-width: 768px) {
  .home_page .key .key_banner.active {
    bottom: 110px;
    right: 70px;
  }
}
@media only screen and (min-width: 1919px) {
  .home_page .key .key_banner {
    bottom: 11em;
  }
}
.home_page .key .key_banner > img {
  width: 100%;
  height: auto;
  aspect-ratio: 311/176;
  object-fit: cover;
}
.home_page .key .key_banner[hidden] {
  display: none;
}
.home_page .key .key_banner_close {
  position: absolute;
  top: -1.4em;
  right: -1.4em;
  width: 2.82em;
  height: 2.82em;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  font-size: inherit;
  cursor: pointer;
  transition: opacity 0.3s;
}
.home_page .key .key_banner_close img {
  width: 100%;
  height: 100%;
}
.home_page .key .key_scroll > a:focus-visible,
.home_page .key .key_banner_close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

@media only screen and (min-width: 769px) and (max-width: 850px) {
  .home_page .key::before {
    left: 10px;
    right: 10px;
  }
  .home_page .key .key_scroll {
    left: -8px;
  }
  .home_page .key .key_banner {
    right: calc(var(--border-position));
  }
  .home_page #mainContent::before {
    left: 10px;
  }
  .home_page #mainContent::after {
    right: 10px;
  }
}
@media screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 1600px;
    font-size: 0.5208333333vw;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    aspect-ratio: 1920/993;
    container-type: inline-size;
  }
  .home_page .key .key_text,
  .home_page .key .key_scroll,
  .home_page .key .key_banner {
    font-size: 0.5208333333cqw;
  }
  .home_page .key .key_text {
    left: calc(var(--border-position) + 4.79141em);
  }
  .home_page .key h2 span {
    white-space: normal;
  }
  .home_page .key .key_banner_close:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1600px) {
  .home_page .key {
    --height: 50.5vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page .key {
    --max-height: 650px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .key .key_text,
  .home_page .key .key_scroll,
  .home_page .key .key_banner {
    font-size: 0.85vw;
  }
  .home_page .key p {
    font-size: 14px;
  }
}
.idx1 {
  --idx1-gradient: linear-gradient(90deg, #788fd1, #b7d2f9 99.1589%);
  padding: 128px 0 113px;
  background: url(../images/idx1_bg.jpg) no-repeat center/cover;
  color: var(--clr1);
  letter-spacing: 0;
}
.idx1 p,
.idx1 li {
  letter-spacing: 0;
}
.idx1 > .inner_big {
  width: calc(100% - var(--border-position) * 2);
}
.idx1 .TabPager {
  justify-content: flex-end;
  gap: 2px;
  width: min(100%, 724px);
  margin: 0 0 0 auto;
  font-size: 20px;
}
.idx1 .TabPager > div {
  flex: 1;
  width: auto;
  min-height: 62px;
  padding: 10px;
  border: 0;
  border-radius: 16px 16px 0 0;
  background: var(--idx1-gradient);
  color: #fff;
  transition: color 0.3s, opacity 0.3s;
}
.idx1 .TabPager > div::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.idx1 .TabPager > div p {
  font-size: inherit;
  font-weight: 500;
  line-height: 1.5;
}
.idx1 .TabPager > div.active {
  background: rgba(255, 255, 255, 0.52);
  color: #558dc4;
}
.idx1 .TabPager > div.active::before {
  border: 1px solid rgba(85, 141, 196, 0.52);
  border-bottom: 0;
}
.idx1 .TabPager > div:focus-visible {
  outline: 2px solid #558dc4;
  outline-offset: -5px;
}
.idx1 .TabContent {
  display: grid;
  grid-template-columns: minmax(0, 312fr) minmax(0, 718.54fr);
  column-gap: 6.8136%;
  padding: 115px 7.01875% 111px 6.58265%;
  background: rgba(255, 255, 255, 0.52);
}
.idx1 .TabContent .content {
  position: relative;
  min-width: 0;
  min-height: 331px;
  background: transparent;
}
.idx1 .TabContent .content > div {
  transition: opacity 0.3s ease;
}
.idx1 .TabContent [role=tabpanel]:focus-visible {
  outline: 2px solid #558dc4;
  outline-offset: -2px;
}
.idx1 .wrap_h3 {
  align-self: start;
  margin: -5px 0 0;
  font-size: clamp(14px, 1.0416667vw, 20px);
}
.idx1 .wrap_h3 .h_en {
  margin-bottom: 2px;
  font-size: clamp(28px, 2.34375vw, 45px);
  line-height: 1.2;
  white-space: nowrap;
}
.idx1 .idx2_tab ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid #e2dede;
}
.idx1 .idx2_tab li {
  margin: 0;
  border-bottom: 1px solid #e2dede;
}
.idx1 .idx2_tab li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 15px;
  min-height: 109px;
  padding: 20px 0;
  color: inherit;
  font-size: 16px;
  line-height: 1.75;
  text-decoration: none;
  font-weight: 600;
}
.idx1 .idx2_tab li a:focus-visible {
  outline: 2px solid #558dc4;
  outline-offset: -2px;
}
.idx1 .idx2_tab .date {
  flex: 0 0 87px;
  font-family: var(--f-en);
  font-size: 19px;
  font-variant-numeric: lining-nums;
  white-space: nowrap;
}
.idx1 .idx2_tab .cat {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.125em;
  min-height: 1.875em;
  padding: 0.125em 0.625em;
  border-radius: 1.875em;
  background: var(--idx1-gradient);
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
.idx1 .idx2_tab .cat.cat2 {
  width: 6.625em;
}
.idx1 .idx2_tab .cat.cat-column {
  background: linear-gradient(90deg, #ff8bb4, #ffd0e0 99.1589%);
}
.idx1 .idx2_tab .title {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media only screen and (min-width: 769px) {
  .idx1 .TabPager > div:not(.active):hover {
    background: var(--idx1-gradient);
    opacity: 0.8;
  }
  .idx1 .idx2_tab li a {
    position: relative;
    isolation: isolate;
    transition: color 0.3s ease;
  }
  .idx1 .idx2_tab li a .date {
    min-width: 0;
    transition: padding-left 0.3s ease;
  }
  .idx1 .idx2_tab li a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--idx1-gradient);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .idx1 .idx2_tab li a:hover {
    color: #fff;
    opacity: 1;
  }
  .idx1 .idx2_tab li a:hover .date {
    padding-left: 0.25em;
  }
  .idx1 .idx2_tab li a:hover::before {
    opacity: 1;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx1 .TabContent {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .idx1 {
    padding: 80px 0;
  }
  .idx1 .TabContent {
    padding: 55px 7%;
  }
  .idx1 .wrap_h3 {
    margin: 0 0 30px;
    font-size: 18px;
  }
}
.idx2 {
  --idx2-band-height: 2.8125em;
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  padding-top: var(--idx2-band-height);
  padding-bottom: 142px;
  background: linear-gradient(to bottom, #e4eaf4 var(--idx2-band-height), #fff var(--idx2-band-height), #fff calc(100% - var(--idx2-band-height)), #e4eaf4 calc(100% - var(--idx2-band-height)));
  color: var(--clr1);
  font-size: 16px;
  letter-spacing: 0;
}
@media only screen and (min-width: 1919px) and (max-width: 1921px) {
  .idx2 {
    background: url(../images/idx2_bg.jpg) no-repeat center/cover;
  }
}
.idx2 p {
  margin: 0;
  letter-spacing: 0;
}
.idx2::before, .idx2::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.idx2::before {
  top: var(--idx2-band-height);
  left: calc(50% - 54.8125em);
  width: 41.90625em;
  height: 41.90625em;
  background: radial-gradient(closest-side, #f2efff 0%, rgba(242, 239, 255, 0.65) 35%, rgba(242, 239, 255, 0) 100%);
}
.idx2::after {
  top: calc(var(--idx2-band-height) + 14.625em);
  left: calc(50% + 18.736em);
  width: 41.34375em;
  height: 41.34375em;
  background: radial-gradient(closest-side, #edf7ff 0%, rgba(237, 247, 255, 0.65) 35%, rgba(237, 247, 255, 0) 100%);
}
.idx2 > .inner_big {
  width: calc(100% - var(--border-position) * 2);
}
.idx2 .idx2_layout {
  position: relative;
  padding-top: 8.5em;
}
.idx2 .idx2_content {
  position: relative;
  z-index: 1;
  width: 31.65em;
  max-width: 100%;
}
.idx2 .wrap_h3 {
  margin: 0;
}
.idx2 .wrap_h3 .h_en {
  white-space: nowrap;
}
.idx2 .idx2_info {
  display: flex;
  align-items: flex-start;
  gap: 0.875em;
  margin-top: 1.5em;
}
.idx2 .idx2_info .idx2_logo {
  flex: 0 0 5.3125em;
  width: 5.3125em;
  height: auto;
  margin-top: -0.25em;
}
.idx2 .idx2_info .idx2_info_text {
  min-width: 0;
}
.idx2 .idx2_info .name {
  font-weight: 600;
  line-height: 1.75;
}
.idx2 .idx2_info .address {
  line-height: 1.75;
}
.idx2 .idx2_info .icon {
  font-family: var(--f-jp);
  font-size: 1.6em;
  font-weight: 400;
  font-variant-numeric: lining-nums;
  line-height: 1.2;
  letter-spacing: 0;
}
.idx2 .idx2_info .icon::before {
  --mask: url(../images/idx2_tel.svg);
  flex-shrink: 0;
  width: 0.58828125em;
  height: 0.7328125em;
  margin-top: 0;
  margin-right: 0.18125em;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.idx2 .shared_tbl {
  width: 31.274em;
  margin: 2.9375em 0 0 0.35em;
}
.idx2 .btn-group {
  margin-top: 2.875em;
}
.idx2 .idx2_visual {
  position: absolute;
  top: 5.125em;
  right: 0;
  width: 41.875%;
}
.idx2 .idx2_photo {
  position: relative;
  overflow: hidden;
  border-radius: 50% 50% 0 0/35.686% 35.686% 0 0;
}
.idx2 .idx2_photo img {
  width: 100%;
  height: auto;
}
.idx2 .idx2_photo::after {
  content: "";
  position: absolute;
  inset: 1.4% 2% 1.8%;
  border: 1px solid #fff;
  border-radius: 50% 50% 0 0/35.1% 35.1% 0 0;
  pointer-events: none;
}
.idx2 .idx2_map {
  position: absolute;
  top: 59.25%;
  left: -36.194%;
  display: block;
  overflow: hidden;
  width: 92.485%;
  aspect-ratio: 495.719/378.047;
  background: #f4f4f4;
  box-shadow: 0 0.25em 1.25em rgba(71, 90, 120, 0.2);
}
.idx2 .idx2_map iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.idx2 .idx2_layout > p.en {
  position: absolute;
  top: -0.25em;
  right: -0.555556em;
  z-index: 2;
  color: transparent;
  font-size: 11.25em;
  font-weight: 400;
  line-height: 1;
  writing-mode: vertical-rl;
  white-space: nowrap;
  -webkit-text-stroke: 1px var(--main-color);
  pointer-events: none;
  user-select: none;
}
.idx2 .idx2_map iframe:focus-visible,
.idx2 .tel_click:focus-visible {
  outline: 2px solid #558dc4;
  outline-offset: 4px;
}

@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx2 .idx2_map {
    max-height: 299px;
    left: -30%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx2 .idx2_layout > p.en {
    font-size: 12vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx2 .idx2_layout > p.en {
    font-size: 13vw;
  }
  .idx2 {
    font-size: 16px;
  }
  .idx2 > .inner_big {
    width: 90%;
  }
  .idx2 .idx2_content {
    width: 42.5%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx2 .idx2_layout > p.en {
    right: -0.35em;
    font-size: 10vw;
  }
  .idx2 .btn-group {
	  min-width: 500px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx2 .idx2_layout > p.en {
    right: -0.15em;
  }
}
.idx3 {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 110px 0 119px;
  background-image: url(../images/idx3_bg.jpg);
  color: var(--clr1);
  font-size: 16px;
  text-align: center;
  letter-spacing: 0;
}
.idx3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 28.233125em;
  background: linear-gradient(to top, #d7e4f5 0%, #bad1ed 50%, #b5ceeb 57%, #9ec0e6 100%);
  clip-path: ellipse(71% 100% at 50% 100%);
  opacity: 0.8051;
  pointer-events: none;
}
.idx3 > .inner_big {
  position: relative;
  z-index: 1;
  width: calc(100% - var(--border-position) * 2);
}
.idx3 p {
  margin: 0;
  letter-spacing: 0;
}
.idx3 .wrap_h3 {
  margin: 0 auto;
}
.idx3 .wrap_h3 .h_en {
  margin-bottom: 6px;
}
.idx3 .idx3_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9375em;
  margin: 98px 0 0;
  padding: 0;
  list-style: none;
}
.idx3 .idx3_list li {
  position: relative;
  min-height: 26.625em;
  margin: 0;
  padding: 3.375em 1em 3em;
  border-radius: 9.4375em 9.4375em 0 0;
  background: #fff;
  box-shadow: 0 0.4375em 1.25em rgba(61, 62, 91, 0.16);
  font-size: 1em;
  line-height: 1.5;
  letter-spacing: 0;
}
.idx3 .idx3_list li::before {
  content: "";
  position: absolute;
  top: -0.296875em;
  left: calc(50% - 0.296875em);
  width: 0.59375em;
  height: 0.59375em;
  border-radius: 50%;
  background: #96b8e1;
}
@media only screen and (min-width: 1919px) {
  .idx3 .idx3_list li::before {
    width: 9px;
    height: 9px;
  }
}
.idx3 .idx3_list .step {
  font-size: 1em;
  line-height: 1;
}
.idx3 .idx3_list .step .en {
  display: block;
  color: #e49ce6;
  font-size: 1.125em;
}
.idx3 .idx3_list .step .num {
  margin-top: -0.1875em;
  color: var(--clr3);
  font-size: 4em;
  line-height: 0.75;
}
.idx3 .idx3_list .icon {
  width: 5em;
  height: 5em;
  margin: 2.5em auto 0;
}
.idx3 .idx3_list .icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.idx3 .idx3_list .tt {
  margin-top: 1.391304em;
  font-size: 1.4375em;
  font-weight: 500;
  line-height: 1.565217;
}
.idx3 .idx3_list .txt {
  margin-top: 1em;
  font-size: 0.875em;
  line-height: 2;
}
.idx3 .btn-group {
  margin-top: 69px;
}
.idx3 .btn-group > .btn {
  margin: 0 auto;
  max-width: 245px;
}
.idx3 .idx3_line {
  position: absolute;
  top: -2.375em;
  left: 50%;
  width: calc(100% + 0.9375em);
  height: 1.4375em;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}
@media only screen and (min-width: 1919px) {
  .idx3 .idx3_line {
    width: 107%;
  }
}
.idx3 li:first-child .idx3_line {
  height: 1.8675em;
  background-image: url(../images/idx3_arr1.svg);
}
@media only screen and (min-width: 1919px) {
  .idx3 li:first-child::before {
    left: 50%;
  }
}
.idx3 li:nth-child(2) .idx3_line {
  background-image: url(../images/idx3_arr2.svg);
}
.idx3 li:nth-child(3) .idx3_line {
  background-image: url(../images/idx3_arr3.svg);
}

@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx3 {
    font-size: 16px;
  }
  .idx3 > .inner_big {
    width: 90%;
  }
}
.idx4 {
  position: relative;
  padding: 10em 0 9em;
  background-image: url(../images/idx4_bg.jpg);
  background-size: 100% 100%;
  color: var(--clr1);
  font-size: 16px;
  letter-spacing: 0;
}
.idx4 p {
  margin: 0;
  letter-spacing: 0;
}
.idx4 > .inner_big {
  width: calc(100% - var(--border-position) * 2);
}
.idx4 .idx4_visual {
  position: absolute;
  top: 8.875em;
  left: 0;
  width: calc(50% - 2.8125em);
}
.idx4 .idx4_img {
  position: relative;
  width: 100%;
  border-top-right-radius: 33.507125em;
}
.idx4 .idx4_img::before {
  content: "";
  position: absolute;
  top: -4.375em;
  right: -5.9375em;
  z-index: 1;
  width: 25.375em;
  aspect-ratio: 812/1106;
  background: url(../images/idx4_en.png) no-repeat center/contain;
  pointer-events: none;
}
.idx4 .idx4_img img {
  display: block;
  width: 100%;
  border-radius: inherit;
}
.idx4 .idx4_content {
  width: 35em;
  margin-left: auto;
}
.idx4 .wrap_h3 {
  margin: 0;
  padding-bottom: 0.424242em;
  border-bottom: 1px solid var(--main-color);
  font-size: 2.0625em;
  line-height: 1.5;
}
.idx4 .idx4_text {
  position: relative;
  margin-top: 1.25em;
  line-height: 1.75;
  text-align: justify;
  line-break: strict;
}
.idx4 .idx4_text::before {
  content: "";
  position: absolute;
  top: calc(-10.34375em - 1px);
  right: 1.125em;
  width: 16.875em;
  height: 17.5em;
  background: url(../images/idx4_icon.png) no-repeat center/contain;
  pointer-events: none;
}
.idx4 .idx4_text p {
  position: relative;
  z-index: 1;
}
.idx4 .idx4_text p + p {
  margin-top: 1.75em;
}
.idx4 .idx4_name {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.636364em;
  margin-top: 0.818182em;
  font-size: 1.375em;
  line-height: 1.5;
}
.idx4 .idx4_name .en {
  color: #5c94cc;
  font-family: var(--f-jp);
  font-size: 0.636364em;
}
.idx4 .btn-group {
  --btn-columns: 12.4375em 16.4375em;
  --btn-gap: 0.6875em;
  margin-top: 3.40625em;
}

@media only screen and (min-width: 769px) {
  .idx4 > .inner_big,
  .idx4 .idx4_content {
    position: static;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx4 {
    font-size: 16px;
  }
  .idx4 > .inner_big {
    width: 90%;
  }
  .idx4 .idx4_img::before {
    right: -4.6875em;
    font-size: 0.875vw;
  }
  .idx4 .idx4_text::before {
    right: calc(2.375em - 20px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx4 .idx4_visual {
    width: 40%;
  }
  .idx4 .idx4_content {
    width: 45%;
  }
  .idx4 .btn-group {
    --btn-columns: repeat(2, minmax(0, 1fr));
  }
}
.idx5 {
  position: relative;
  padding: 5.375em 0 7.5em;
  background: radial-gradient(circle 20.95em at calc(50% + 37.8em) 17.2em, #eae5fc 0%, rgba(234, 229, 252, 0) 100%), radial-gradient(circle 20.67em at calc(50% - 33em) 33em, #e3f2ff 0%, rgba(227, 242, 255, 0) 100%), #fff;
  color: var(--clr1);
  font-size: 16px;
  letter-spacing: 0;
}
.idx5 p {
  margin: 0;
  letter-spacing: 0;
}
.idx5 > .inner_big {
  width: calc(100% - var(--border-position) * 2);
}
.idx5 .idx5_layout {
  min-height: 49.8em;
}
.idx5 .idx5_content {
  display: grid;
  grid-template-columns: 38.125em 31.5561875em;
  grid-template-areas: "heading image" "text image" "button image" "banners image";
  justify-content: space-between;
  align-items: start;
  padding: 0 4.0625em 0 0.5em;
}
.idx5 .wrap_h3 {
  grid-area: heading;
  margin: 4em 0 0;
}
.idx5 .wrap_h3 .h_en {
  margin-bottom: 0.057143em;
}
.idx5 .idx5_img {
  grid-area: image;
  position: relative;
  width: 100%;
  aspect-ratio: 504.899/762.151;
}
.idx5 .idx5_img::before, .idx5 .idx5_img::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.idx5 .idx5_img::before {
  top: 15.063%;
  left: 22.538%;
  width: 92.64%;
  height: 90.139%;
  border-radius: 15em 15em 0 0;
  background: linear-gradient(45deg, #c9e4f5 0.44%, #d3e4ed 44.73%, rgba(221, 192, 230, 0.4) 88.13%);
  opacity: 0.6;
}
.idx5 .idx5_img::after {
  top: 0;
  left: -10.992297%;
  width: 126.361906%;
  height: 100%;
  background: url(../images/idx5_line.svg) no-repeat center/contain;
}
.idx5 .idx5_img img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 15.627em 15.627em 0 0;
  object-fit: cover;
}
.idx5 .idx5_text {
  grid-area: text;
  width: 34em;
  max-width: 100%;
  margin-top: 3.75em;
  text-align: justify;
  line-break: strict;
}
.idx5 .idx5_text p {
  line-height: 1.75;
}
.idx5 .idx5_text p + p {
  margin-top: 1.75em;
}
.idx5 .btn-group {
  grid-area: button;
  margin-top: 4em;
}
.idx5 .btn-group > .btn {
  width: 15.2760625em;
}
.idx5 .idx5_banners {
  grid-area: banners;
  display: grid;
  grid-template-columns: 241fr 351fr;
  gap: 0.75em;
  width: 37.75em;
  max-width: 100%;
  margin: 4.375em 0 0 0.25em;
  padding: 0;
  list-style: none;
}
.idx5 .idx5_banners li {
  min-width: 0;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.idx5 .idx5_banners a,
.idx5 .idx5_banners img {
  display: block;
  width: 100%;
}

@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx5 {
    font-size: 16px;
  }
  .idx5 > .inner_big {
    width: 90%;
  }
  .idx5 .idx5_content {
    padding-right: 2.5em;
    grid-template-columns: 50% 40%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx5 .idx5_content {
    grid-template-columns: minmax(0, 55fr) minmax(0, 40fr);
    column-gap: 5%;
    padding: 0;
  }
  .idx5 .idx5_text {
    width: 100%;
  }
}
.idx6 {
  padding: 7.375em 0 8em;
  background: url(../images/idx6_bg.jpg) no-repeat right bottom/cover;
  color: var(--clr1);
  font-size: 16px;
  letter-spacing: 0;
}
.idx6 p,
.idx6 li {
  margin: 0;
  letter-spacing: 0;
}
.idx6 > .inner_big {
  width: calc(100% - var(--border-position) * 2);
}
.idx6 .wrap_h3 {
  margin: 0 0 1.425em;
}
.idx6 .TabPager {
  position: relative;
  z-index: 3;
  gap: 1px;
  width: 81.25%;
  margin: 0 auto -1px;
  font-size: 1.25em;
}
.idx6 .TabPager > div {
  --tab-color: #72a4d6;
  flex: 1;
  min-width: 0;
  min-height: 4.7em;
  padding: 0.75em 0.4em;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 1.05em 1.05em 0 0;
  background: var(--tab-color);
  color: #fff;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s;
}
.idx6 .TabPager > div:nth-child(2) {
  --tab-color: #d38cae;
}
.idx6 .TabPager > div:nth-child(3) {
  --tab-color: #d1a962;
}
.idx6 .TabPager > div:nth-child(4) {
  --tab-color: #a5c667;
}
.idx6 .TabPager > div p {
  font-size: 1em;
  line-height: 1.5;
}
.idx6 .TabPager > div .en {
  display: block;
  font-family: var(--f-en);
  font-size: 0.7em;
  line-height: 1.4;
}
.idx6 .TabPager > div.active {
  border-color: #96b8e1;
  background: #fff;
  color: var(--clr1);
}
.idx6 .TabPager > div.active .en {
  color: #96b8e1;
}
.idx6 .TabContent {
  border: 1px solid #96b8e1;
  background: #fff;
}
.idx6 .TabContent .content {
  position: relative;
  background: transparent;
}
.idx6 .TabContent .content > div {
  transition: opacity 0.3s;
}
.idx6 .TabContent .inner {
  width: 100%;
  max-width: 1080px;
}
.idx6 .idx6_panel {
  padding-top: 4.125em;
  padding-bottom: 4.25em;
}
.idx6 .idx6_intro {
  display: grid;
  grid-template-columns: minmax(0, 516.5fr) minmax(0, 465.5fr);
  align-items: center;
  gap: 3.625em;
}
.idx6 .idx6_img {
  position: relative;
}
.idx6 .idx6_img::before {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: 0 4px 10px rgba(26, 53, 102, 0.28);
  pointer-events: none;
}
.idx6 .idx6_img img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.idx6 .idx6_title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.4em;
  font-size: 2.875em;
  line-height: 1.5;
}
.idx6 .idx6_title .en {
  color: #96b8e1;
  font-family: var(--f-en);
  font-size: 0.565217em;
}
.idx6 .idx6_text .txt {
  margin-top: 1.25em;
  line-height: 1.75;
}
.idx6 .idx6_text .btn-group {
  margin-top: 3.125em;
}
.idx6 .idx6_text .btn-group > .btn {
  width: 15.2760625em;
}
.idx6 .idx6_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
  margin: 2.8em 0 0;
  padding: 0;
  list-style: none;
  font-size: 20px;
}
.idx6 .idx6_btn li {
  width: calc((100% - 2em) / 3);
  min-width: 0;
}
.idx6 .idx6_btn .note {
  display: inline-block;
  white-space: nowrap;
}
.idx6 .idx6_btn a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  height: 100%;
  min-height: 5.6em;
  padding: 0.85em 0.5em;
  border-radius: 4em;
  background: #e6f1ff;
  color: inherit;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  font-weight: 500;
  transition: background-color 0.3s, color 0.3s;
}
.idx6 .idx6_btn a::after {
  content: "";
  width: 4em;
  height: 0.5em;
  background: var(--clr2);
  clip-path: polygon(0 90%, 86% 90%, 86% 0, 100% 100%, 0 100%);
  transition: background-color 0.3s;
}

@media only screen and (min-width: 769px) {
  .idx6 .idx6_btn4 li {
    width: calc((100% - 3em) / 4);
  }
  .idx6 .TabPager > div:not(.active):hover {
    background: var(--tab-color);
    opacity: 0.75;
  }
  .idx6 .idx6_btn a:hover {
    background: var(--main-color);
    color: #fff;
    opacity: 1;
  }
  .idx6 .idx6_btn a:hover::after {
    background: #fff;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx6 {
    font-size: 16px;
  }
  .idx6 > .inner_big {
    width: 90%;
  }
  .idx6 .TabContent .inner {
    width: 84.375%;
  }
  .idx6 .idx6_panel {
    padding: 40px 20px !important;
  }
}
.idx7 {
  padding: 7.5em 0 6.5625em;
  background: url(../images/idx7_bg.jpg) center/cover no-repeat;
  font-size: 16px;
}
.idx7 .idx7_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5em;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.idx7 .idx7_banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.0625em;
  overflow: hidden;
  border-top-left-radius: 5.3125em;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.4s;
}
.idx7 .idx7_banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.4s, opacity 0.4s;
}
.idx7 .idx7_banner::after {
  content: "";
  position: absolute;
  right: 1.5em;
  bottom: 1.5em;
  width: 4.875em;
  height: 0.625em;
  background: #fff;
  clip-path: polygon(0 90%, 86% 90%, 86% 0, 100% 100%, 0 100%);
}
.idx7 .link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.idx7 .link a {
  display: block;
  width: 100%;
  height: 100%;
}
.idx7 .idx7_title {
  position: relative;
  margin: 0;
  font-size: 1.75em;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}
.idx7 .idx7_title .en {
  display: block;
  font-family: var(--f-en);
  font-size: 0.571429em;
  letter-spacing: 0;
}

@media only screen and (min-width: 769px) {
  .idx7 .idx7_banner:hover img {
    opacity: 0.8;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx7 .idx7_list {
    font-size: 14px;
    margin-left: auto;
    margin-right: auto;
    max-width: 834px;
  }
}
@media only screen and (min-width: 769px) {
  .idx8 > .idx8_heading {
    display: none;
  }
}
.idx8 {
  position: relative;
  overflow: hidden;
  padding: 3.125em 0 5.875em;
  background-image: url(../images/idx8_bg.jpg);
  color: #3f3f3f;
  font-size: 16px;
}
.idx8 .idx8_slider {
  position: relative;
  z-index: 3;
  width: 77.5625em;
  margin-left: calc(50% - 47.8125em);
  clip-path: inset(0 -100vw 0 0);
}
.idx8 .idx8_slider .slick-list {
  overflow: visible;
}
.idx8 .idx8_layout {
  display: grid;
  grid-template-columns: 37.8125em 26.25em;
  gap: 6.75em;
  padding-right: 6.75em;
}
.idx8 .idx8_visual {
  position: relative;
  height: 51.25em;
  overflow: hidden;
  border-radius: 20em 20em 0 0;
}
.idx8 .idx8_visual > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.idx8 .idx8_visual > img {
  object-position: 13% center;
}
.idx8 .idx8_visual_alt > img {
  object-position: 44% center;
}
.idx8 .idx8_number {
  position: absolute;
  right: 0.22em;
  bottom: 0.17em;
  margin: 0;
  color: #fff;
  font-size: 6.4em;
  letter-spacing: -0.05em;
  line-height: 0.85;
  font-family: "Cinzel", serif;
}
.idx8 .idx8_number > img {
  display: block;
  width: 1.0151875em;
  height: auto;
  max-width: none;
  margin: 0 0 0.04em -0.42em;
}
@media only screen and (min-width: 1919px) {
  .idx8 .idx8_number {
    font-size: 154px;
  }
}
.idx8 .idx8_content {
  padding-top: 10.375em;
}
.idx8 .wrap_h3 {
  margin-bottom: 2.35em;
}
.idx8 .idx8_title {
  margin: 0 0 0.8em;
  font-size: 2.125em;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.idx8 .idx8_text {
  font-size: 16px;
  letter-spacing: 0;
  max-width: 23.75em;
  margin: 0;
  line-height: 1.75;
}
.idx8 .btn-group {
  margin-top: 2.125em;
}
.idx8 .btn-group > .btn.style01 {
  width: 15.3125em;
}
.idx8 .idx8_pager {
  position: relative;
  z-index: 3;
  margin: 24px 0 0 calc(50% - 3.25em);
  width: 16em;
}
.idx8 .idx8_arrows {
  display: flex;
  gap: 1em;
  margin-bottom: 0.5em;
}
.idx8 .idx8_arrows button.slick-arrow {
  position: static;
  transform: none;
  width: 1.5em;
  height: 1em;
  color: #96b8e1;
  font-size: 2.5em;
  line-height: 1;
}
.idx8 .idx8_arrows button.slick-arrow::before, .idx8 .idx8_arrows button.slick-arrow::after {
  content: none;
}
.idx8 .idx8_pager button {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: var(--f-en);
}
.idx8 .idx8_dots ul {
  display: flex;
  gap: 1.25em;
  margin: -6px 0 0 0;
  padding: 0;
  list-style: none;
}
.idx8 .idx8_dots ul button {
  color: #3f3f3f;
  font-size: 3.75em;
  line-height: 1;
}
.idx8 .idx8_dots ul .slick-active button {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

@media only screen and (min-width: 769px) and (max-width: 1919px) {
  .idx8 {
    font-size: 16px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx8 .idx8_slider {
    width: 70vw;
    margin-left: 4vw;
  }
  .idx8 .idx8_layout {
    grid-template-columns: 32vw minmax(0, 1fr);
    gap: 4vw;
    padding-right: 4vw;
  }
  .idx8 .idx8_visual {
    width: 32vw;
    height: auto;
    aspect-ratio: 605/820;
    align-self: start;
  }
  .idx8 .idx8_content {
    min-width: 0;
    padding-top: clamp(32px, 6vw, 96px);
    padding-bottom: 160px;
  }
  .idx8 .idx8_pager {
    position: absolute;
    left: 40vw;
    bottom: 5.875em;
    margin: 0;
    height: 120px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx1,
  .idx3,
  .idx4,
  .idx5,
  .idx6,
  .idx7 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .idx2 {
    padding-top: min(var(--idx2-band-height), 80px);
    padding-bottom: 80px;
  }
  .idx8 {
    padding-top: min(3.125em, 80px);
    padding-bottom: 80px;
  }
  .idx8 .idx8_pager {
    bottom: 80px;
  }
  .idx3 .idx3_list .txt,
  .idx4 .idx4_text,
  .idx5 .idx5_text,
  .idx6 .idx6_text .txt,
  .idx8 .idx8_text {
    font-size: 14px;
  }
  .idx8 .idx8_slider {
    width: 70vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page section .wrap_h3 h3 {
    font-size: clamp(18px, 1.736111vw, 25px);
  }
  .home_page section .wrap_h3 .h_en {
    font-size: clamp(36px, 4.861111vw, 70px);
  }
  .idx3 .idx3_list li {
    padding-left: 5px;
    padding-right: 5px;
    min-height: unset;
  }
}
@media only screen and (min-width: 1601px) {
  .idx8 .idx8_slider {
    margin-left: calc(50% - 48.2em);
    width: 77.9375em;
  }
  .idx8 .idx8_layout {
    gap: 6.875em;
    padding-right: 7em;
  }
  .idx8 .idx8_content {
    padding-bottom: 160px;
  }
  .idx8 .wrap_h3 {
    margin-bottom: 2.05em;
  }
  .idx8 .idx8_title {
    margin-bottom: 0.65em;
    letter-spacing: 0;
  }
  .idx8 .idx8_pager {
    margin: -120px 0 0 calc(50% - 3.125em);
    height: 120px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx8 .idx8_title {
    font-size: 22px;
  }
  .idx3 .idx3_list li {
    padding-left: 0;
    padding-right: 0;
    min-height: unset;
  }
}
.idx8 .idx8_number {
  bottom: 0.0974em;
  font-weight: 400;
  line-height: 1;
  right: 0.1558em;
  letter-spacing: 0.02em;
}

.idx8 .idx8_number > img {
  margin-bottom: -0.1753em;
  width: 1.0519em;
}

.idx8 .idx8_arrows button.slick-arrow {
  position: relative;
  width: 52px;
  height: 40px;
  font-size: 0;
}

.idx8 .idx8_arrows button.slick-arrow::before {
  content: "";
  position: absolute;
  inset: 16px 0 auto;
  height: 8px;
  background: #96b8e1;
  clip-path: polygon(0 45%, 86% 45%, 86% 0, 100% 50%, 86% 100%, 86% 55%, 0 55%);
  opacity: 1;
}

.idx8 .idx8_arrows button.idx8_prev::before {
  transform: rotate(180deg);
}

.idx8 .idx8_arrows {
  gap: 16px;
}

.idx8 .btn-group > .btn.style01 {
  position: relative;
}

@media only screen and (min-width: 769px) {
  .idx8 .idx8_pager {
    display: flow-root;
  }
}
.idx8 .idx8_arrows {
  width: 120px;
}

.idx8 .idx8_arrows button.slick-arrow {
  flex: 0 0 52px;
}

.idx8 .btn-group > .btn.style01::after {
  border-color: #fff;
}

@media only screen and (min-width: 1601px) {
  .idx8 .idx8_pager {
    position: absolute;
    left: calc(50% - 3.125em);
    bottom: 94px;
    margin: 0;
    height: 120px;
  }
  .idx8 .idx8_arrows {
    margin-bottom: 0;
  }
  .idx8 .idx8_arrows button.slick-arrow {
    height: 32px;
  }
}
.idx8 .idx8_arrows button.slick-arrow {
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

.idx8 .idx8_digits {
  display: block;
  background: linear-gradient(180.6014deg, #fff 0%, rgba(255, 255, 255, 0.55) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.idx8 .idx8_arrows button.slick-arrow::before,
.idx8 .idx8_arrows button.slick-arrow::after {
  content: none;
}

.idx8 .idx8_arrows button img {
  display: block;
  width: 100%;
  height: auto;
  margin: auto;
}

.idx8 .idx8_arrows button.slick-arrow::before {
  content: "";
  inset: 50% 0 auto;
  width: 100%;
  height: 10px;
  transform: translateY(-50%);
  clip-path: none;
  background-color: #96b8e1;
  -webkit-mask: var(--idx8-arrow) center/contain no-repeat;
  mask: var(--idx8-arrow) center/contain no-repeat;
  transition: background-color 0.3s ease;
}

.idx8 .idx8_arrows .idx8_prev {
  --idx8-arrow: url(../images/idx8_arr_left.svg);
}

.idx8 .idx8_arrows .idx8_next {
  --idx8-arrow: url(../images/idx8_arr_right.svg);
}

@media only screen and (min-width: 769px) {
  .idx8 .idx8_arrows button.slick-arrow:hover::before {
    background-color: var(--clr3);
  }
}
.idx8 .idx8_arrows button.slick-arrow:focus-visible::before {
  background-color: var(--main-color);
}

.idx9 {
  padding: 120px 0 0;
  position: relative;
  color: var(--clr1);
  font-size: 16px;
  z-index: 1;
}
.idx9::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: -1;
  background: url(../images/idx9_bg.jpg) no-repeat center/cover;
  bottom: unset;
  height: 51.40625vw;
  max-height: 987px;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx9::after {
    height: 70vw;
  }
}

.idx9 .inner {
  padding: 0;
  width: 85% !important;
  max-width: 1408px;
  margin: 0 auto;
}

.idx9 .idx9_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 42px;
}

.idx9 .idx9_title {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  color: var(--main-color);
  font-family: var(--f-en);
  font-size: 70px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.idx9 .idx9_title::before {
  content: "";
  flex-shrink: 0;
  width: 1.3429em;
  height: 1.3429em;
  border-radius: 50%;
  background: #fff url(../images/idx9_ins.png) no-repeat center/1.6429em;
  box-shadow: 0 0 8px #bdcce5, 0 0 8px #bdcce5;
}

.idx9 .idx9_account {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 245px;
  height: 70px;
  padding: 0 35px;
  box-sizing: border-box;
  border-radius: 40px;
  background: #72a4d6;
  color: #fff;
  font-family: var(--f-en);
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
}

.idx9 .idx9_account::after {
  content: "";
  position: absolute;
  right: 27px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}

.idx9 .idx9_list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.idx9 .idx9_list a {
  display: block;
  overflow: hidden;
  aspect-ratio: 268/286;
  box-shadow: 0 0 5px #cbd1da;
}

.idx9 .idx9_list img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.idx10.idx_gallery {
  font-size: min(1px, 0.0520833333vw);
  padding: 72em 0 126em;
  overflow: hidden;
}

.idx10.idx_gallery .list {
  display: block;
  position: relative;
  z-index: 3;
}

.idx10 .slick-track {
  display: flex;
  align-items: flex-start;
}

.idx10.idx_gallery .list .item {
  flex-shrink: 0;
  width: 391em;
  padding: 72em 14em 0;
  box-sizing: border-box;
}

.idx10.idx_gallery .list .img {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
  border-radius: 220em 220em 0 0;
}

.idx10 .img img {
  display: block;
  width: 100%;
  height: auto;
}

.idx10.idx_gallery .list .idx10_item2 {
  width: 431em;
  padding-top: 0;
}

.idx10.idx_gallery .list .idx10_item3 {
  width: 408em;
  padding-top: 149em;
}

.idx10.idx_gallery .list .idx10_item4 {
  width: 431em;
  padding-top: 24em;
}

.idx10.idx_gallery .list .idx10_item5 {
  padding-top: 96em;
}

.idx10.idx_gallery .idx10_item2 .img,
.idx10.idx_gallery .idx10_item4 .img {
  border-radius: 220em;
}

.idx10 .list:not(.slick-initialized) {
  display: flex;
  width: max-content;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.idx11 {
  padding: 0 30px 144px;
  background: #fff;
}

.idx11_inner {
  width: 80%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px;
  border-top: 1px solid var(--main-color);
  border-bottom: 1px solid var(--main-color);
  box-sizing: border-box;
}

.idx11_head {
  cursor: pointer;
  display: flex;
  align-items: baseline;
  gap: 26px;
}

.idx11_en {
  margin: 0;
  color: var(--main-color);
  font-family: var(--f-en);
  font-size: 64px;
  line-height: 1;
  letter-spacing: 0;
}

.idx11_head h3 {
  margin: 0;
  color: var(--clr1);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.idx11_banners {
  display: grid;
  gap: 24px;
  margin-top: 20px;
}

.idx11_row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.idx11_banner {
  display: block;
  min-width: 0;
  transition: opacity 0.3s ease;
}

.idx11_banner img {
  display: block;
  width: 100%;
  height: auto;
}

.idx11_banner:focus-visible {
  outline: 2px solid var(--main-color);
  outline-offset: 4px;
}

.idx2 .idx2_map a,
.idx2 .idx2_map img {
  display: block;
  width: 100%;
  height: 100%;
}

.idx2 .idx2_map img {
  object-fit: cover;
  transform: scale(1.4);
  transform-origin: 40% 44%;
}

.idx11_toggle {
  position: relative;
  flex-shrink: 0;
  align-self: center;
  width: 44px;
  height: 44px;
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.idx11_toggle::before,
.idx11_toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #a6b6d0;
  transform: rotate(45deg);
}

.idx11_toggle::after {
  transform: rotate(-45deg);
}

.idx11.is-collapsed .idx11_toggle::before {
  transform: rotate(0);
}

.idx11.is-collapsed .idx11_toggle::after {
  transform: rotate(90deg);
}

.idx11.is-collapsed .idx11_head {
  margin-bottom: 0;
}

.idx11_banners[hidden] {
  display: none;
}

@media only screen and (min-width: 769px) {
  .idx11_toggle:hover::before, .idx11_toggle:hover::after {
    transition: 0.3s all;
    background-color: var(--clr3);
  }
  .idx8 .idx8_visual > img {
    object-position: 14% center;
  }
  .idx8 .idx8_visual_alt > img {
    object-position: 60% center;
  }
  .idx8 .idx8_slide:not(.slick-current) .idx8_number {
    visibility: hidden;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx4 .idx4_img::before {
    width: 44.444444%;
    top: -10.67%;
    right: -10%;
  }
  .idx4 .idx4_img {
    width: 90%;
    border-top-right-radius: 28vw;
  }
  .idx5 .idx5_layout {
    min-height: 0;
  }
  .idx5 .idx5_content {
    row-gap: 32px;
  }
  .idx5 .wrap_h3 {
    margin-top: 1em;
  }
  .idx9 .idx9_title {
    font-size: 50px;
  }
  .idx9 .inner {
    max-width: 1058px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx4 .idx4_img {
    width: 100%;
  }
  .idx4 .idx4_content {
    padding-right: 50px;
    width: 50%;
  }
  .idx5 .idx5_content {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    grid-template-rows: min-content min-content min-content 1fr;
    gap: 24px 32px;
    padding: 0 clamp(48px, 6.25vw, 64px) 0 0;
    align-content: start;
  }
  .idx5 .idx5_content > * {
    min-width: 0;
  }
  .idx5 .wrap_h3 h3 {
    text-wrap: balance;
  }
  .idx5 .wrap_h3,
  .idx5 .idx5_text,
  .idx5 .btn-group,
  .idx5 .idx5_banners {
    margin: 0;
  }
  .idx5 .idx5_text,
  .idx5 .idx5_banners {
    width: 100%;
  }
  .idx5 .idx5_img {
    align-self: center;
  }
  .idx5 .btn-group > .btn a {
    min-height: 60px;
  }
  .idx4 .btn-group {
    min-width: 500px;
    margin-left: -250px;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key .key_scroll:hover > a {
    color: var(--clr1);
  }
}
@media only screen and (width < 768px) {
  .idx11 .idx11_head {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.idx9 .idx9_account:hover {
  opacity: 1;
  color: #fff;
  background: #72a4d6;
  text-decoration: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx9 .inner {
    max-width: 800px !important;
  }
  .idx9 .idx9_title {
    font-size: 45px;
    gap: 10px;
  }
  .idx9 .idx9_account {
    width: 200px;
    height: 60px;
  }
}
@media only screen and (width < 1281px) {
  .idx11_banners {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }
  .idx11_row {
    min-width: 0;
  }
  .idx11_banner {
    max-width: 100%;
    flex-shrink: 1;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx11 {
    padding-bottom: 60px;
  }
  .idx11 .idx11_inner {
    width: 90%;
    padding: 40px;
  }
  .idx11 .idx11_toggle::before,
  .idx11 .idx11_toggle::after {
    left: 0;
    width: 100%;
  }
}
.idx11_row > .item {
  min-width: 0;
  flex-shrink: 1;
}

.idx11_row > .item > .idx11_banner {
  max-width: 100%;
}
@media only screen and (min-width: 769px) {
	  .idx11_row > .item {
     width: 24%;
  }
}
.idx6 .tab1 {
  --tab-color: #72a4d6;
}
.idx6 .tab1 .idx6_btn a::after {
  background: #657ee5;
}

.idx6 .tab2 {
  --tab-color: #d38cae;
}

.idx6 .tab3 {
  --tab-color: #d1a962;
}

.idx6 .tab4 {
  --tab-color: #a5c667;
}

.idx6 .idx6_title .en {
  color: var(--tab-color, #72a4d6);
}

.idx6 .btn-group > .btn.style01 a {
  border-color: var(--tab-color);
  color: var(--tab-color);
}

.idx6 .btn-group > .btn.style01.blue a {
  background: var(--tab-color);
  color: #fff;
}

.idx6 .idx6_btn a::after {
  background: var(--tab-color);
}

@media only screen and (min-width: 769px) {
  .idx6 .btn-group > .btn.style01 a::before {
    background: var(--tab-color);
  }
  .idx6 .btn-group > .btn.style01 a:hover {
    color: #fff;
  }
  .idx6 .btn-group > .btn.style01.blue a:hover {
    border-color: var(--tab-color);
    background: #fff;
    color: var(--tab-color);
  }
  .idx6 .idx6_btn a:hover::after {
    background: #fff;
  }
}
@media only screen and (min-width: 769px) {
  .idx6 .tab3 .idx6_title,
  .idx6 .tab4 .idx6_title {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}
.idx8 .idx8_dots {
  pointer-events: none;
}

.idx11_head {
  position: relative;
  transition: margin-bottom 0.3s ease;
}

.idx11_toggle {
  transition: transform 0.2s ease;
}

.idx11_toggle:active {
  transform: scale(0.9);
}

.idx11_toggle::before,
.idx11_toggle::after {
  left: -18%;
  width: 136%;
  background: var(--clr2);
  transition: transform 0.3s ease, background-color 0.3s ease;
}

@media only screen and (width < 768px) {
  .idx11 .idx11_head {
    padding-right: 44px;
    padding-left: 44px;
  }
  .idx11 .idx11_toggle {
    position: absolute;
    right: 0;
    margin-left: 0;
  }
}
.idx11 .idx11_head {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding-right: 60px;
}

.idx11 .idx11_head .idx11_toggle {
  position: absolute;
  right: 0;
  top: calc(50% - 22px);
  margin: 0;
}

.idx11 .idx11_head .idx11_toggle:active {
  transform: translateY(-50%) scale(0.9);
}

@media only screen and (max-width: 768px) {
  .idx11 .idx11_head {
    padding-left: 44px;
    padding-right: 44px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx11_banners {
    grid-template-columns: minmax(0, 1fr);
  }
  .idx11_row {
    min-width: 0;
    gap: 2%;
  }
  .idx11_row > .item {
    flex: 0 0 auto;
    min-width: 0;
  }
  .idx11_row > .item > .idx11_banner {
    width: 100%;
  }

}
@media only screen and (min-width: 770px) {
  .idx11_head > .idx11_en,
  .idx11_head > h3 {
    transition: color 0.3s ease;
  }
  .idx11_head:hover > .idx11_en,
  .idx11_head:hover > h3 {
    color: var(--clr3);
  }
  .idx11 .idx11_head:hover .idx11_toggle::before,
  .idx11 .idx11_head:hover .idx11_toggle::after {
    background-color: var(--clr3);
  }
}