.home_page .key {
  position: relative;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  z-index: 1;
}
.home_page .key::after {
  content: "";
  position: absolute;
  aspect-ratio: 1241/910;
  background: url("../images/key_decor.png") no-repeat center/cover;
  z-index: -1;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.home_page .key .mv_slider:not(.slick-slider) .slider {
  width: 100%;
}
.home_page .key .mv_slider:not(.slick-slider) .slider:not(:first-child) {
  display: none;
}
.home_page .key .key_text {
  position: relative;
}
.home_page .key .key_text .item {
  position: relative;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
}
.home_page .key .key_text .item::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.home_page .key .key_text .item.s1::after {
  background-image: url(../images/key_img01.jpg);
}
.home_page .key .key_text .item.s2::after {
  background-image: url(../images/key_img02.jpg);
}
.home_page .key .catch h2 {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3333333333;
  color: var(--clr2);
}
.home_page .key .catch p {
  font-weight: 500;
  color: #fff;
  line-height: 1.4;
}
.home_page .key .catch p span {
  display: table;
  border-radius: 6px;
  background-color: var(--clr-blue1);
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    --height: 45vw;
    --min-height: 420px;
    --max-height: 820px;
    font-size: clamp(4.5px, 0.525vw, 0.625em);
  }
  .home_page .key::after {
    width: 65%;
    max-width: 1241px;
    top: -2em;
    left: -1em;
  }
  .home_page .key .key_text .item {
    display: flex;
    justify-content: space-between;
  }
  .home_page .key .key_text .item::after {
    flex-shrink: 0;
    width: 57%;
    max-width: 1080px;
    height: 100%;
    border-bottom-left-radius: 6em;
  }
  .home_page .key .catch {
    margin-left: 8.6vw;
    padding-bottom: 3.5%;
  }
  .home_page .key .catch h2 {
    margin-bottom: 1.0667em;
    font-size: 6em;
  }
  .home_page .key .catch p {
    font-size: max(17px, 2.6em);
    margin-left: 3px;
  }
  .home_page .key .catch p span {
    padding: 0.2692em 0.2692em 0.2692em 1em;
    margin-bottom: 0.4231em;
  }
  .home_page .key .catch p span:nth-child(2n) {
    padding-right: 1.0385em;
  }
  .home_page .key .catch p span > span {
    display: contents;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 42vw;
  }
  .home_page .key::after {
    max-width: 60%;
  }
  .home_page .key .key_text .item::after {
    width: 60%;
    max-width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1900px) {
  .home_page .key .catch {
    margin-left: 6.8vw;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 800px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 0.9vmin);
    --max-height: calc(100vh - var(--wrapper));
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
   .home_page .key {
    font-size: min(0.625em, 0.6vmin);

   }
  .home_page .key .catch {
    margin-left: 20px;
  }
}
@media only screen and (max-width: 993px) {
  .home_page .key .catch p > span {
    display: contents;
  }
  .home_page .key .catch p > span > span {
    display: table;
  }
}

.home_page .topic_path {
  display: none;
}
.home_page .wrap_h3 {
  position: relative;
}
.home_page .wrap_h3 .h_en {
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--main-color);
  text-transform: uppercase;
}
.home_page .wrap_h3 h3 {
  color: var(--clr1);
  font-family: var(--f-jp);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.home_page .wrap_h3.white .h_en,
.home_page .wrap_h3.white h3 {
  color: #fff;
}
.home_page .wrap_h3.sm .h_en {
  color: var(--clr-pink1);
}
.home_page .wrap_h3.sm h3 {
  color: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .home_page .wrap_h3 {
    text-align: center;
  }
  .home_page .wrap_h3 .h_en {
    font-size: calc(var(--fs-base) + 4px);
  }
  .home_page .wrap_h3 h3 {
    font-size: calc(var(--ttl_size) + 12px);
    margin-bottom: 0.325em;
  }
  .home_page .wrap_h3.sm {
    text-align: left;
  }
  .home_page .wrap_h3.sm .h_en {
    font-size: calc(var(--fs-base) + 2px);
    margin-bottom: 0.2222em;
  }
  /* .home_page .wrap_h3.sm h3 {
    font-size: calc(var(--ttl_size) + 2px);
  } */
}

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

.idx01 {
  position: relative;
  z-index: 0;
}
.idx01::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  right: 0;
  background: url("../images/idx01_bg.png") no-repeat center/cover;
  z-index: -1;
}
.idx01 .box_news .list_post{
  
}
.idx01 .box_news .box .news {
  position: relative;
}
.idx01 .box_news .box .news ul li {
  width: auto;
  margin-bottom: 10px;
}
.idx01 .box_news .box .news ul li:first-child {
  border-top: 1px solid #eaebe9;
}
.idx01 .box_news .box .news ul li a {
  position: relative;
  display: flex;
  text-decoration: none;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  max-width: 100%;
  color: var(--clr-pink1);
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);
}
.idx01 .box_news .box .news ul li a::after {
  content: "";
  position: absolute;
  width: 0.9375em;
  aspect-ratio: 15/9;
  top: calc(50% - 0.2813em);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9' %3E%3Cpath d='M10.602,8.645 L9.919,7.925 L12.994,5.118 L-0.000,5.118 L-0.000,4.135 L12.992,4.135 L9.919,1.329 L10.602,0.609 L14.1000,4.628 L10.602,8.645 Z'/%3E%3C/svg%3E");
  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: currentColor;
}
.idx01 .box_news .box .news ul li a span {
  display: inline-block;
}
.idx01 .box_news .box .news ul li a:hover {
  opacity: 1;
}
.idx01 .box_news .box .news ul li a .date {
  width: var(--w);
}
.idx01 .box_news .box .news ul li a .title {
  max-width: calc(100% - var(--w));
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
  color: var(--clr1);
}
.idx01 .box_news .box .news .btn-group {
  max-width: 17.1em;
}
.idx01 .box_news .box .news .btn-group .btn.st2 a{min-height: 3.4375em;}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: 81px 0 109px;
  }
  .idx01::after {
    height: calc(100% + 165px);
    top: -165px;
  }
  .idx01 .wrap_h3 {
    margin-bottom: 1.875em;
    margin-top: 35px;
  }
  .idx01 .box_news .news {
    display: grid;
    grid-template-columns: 25% 75%;
  }
  .idx01 .box_news .list_post{
    grid-column-start: 2;
    grid-row: 1 / span 3;
  }
  .idx01 .box_news .box .news ul li a {
    padding: 1.5em 1em;
    --w: 7.5em;
  }
  .idx01 .box_news .box .news ul li a::after {
    right: 1.125em;
  }
  .idx01 .box_news .box .news ul li a .title {
    padding-right: 3.5em;
  }
  .idx01 .box_news .box .news ul li a:hover {
    color: var(--clr2);
  }
  .idx01 .box_news .box .news ul li a:hover .title {
    color: currentColor;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 {
    padding: 80px 0;
  }
  .idx01 .box_news .box {
    padding: 40px 2.6vw;
  }
  .idx01 .box_news .box .news ul li a {
    --w: 6.5em;
  }
  .idx01 .box_news .box .news ul li a .title {
    padding-right: 2.5em;
  }
}

.idx02 {
  background-position: top center;
  background-image: url(../images/idx02_bg.jpg);
}
.idx02 .box_info .info {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  color: #fff;
  --w: 6em;
}
.idx02 .box_info .info dt {
  width: var(--w);
}
.idx02 .box_info .info dd {
  width: calc(100% - var(--w));
}
.idx02 .box_info .info .tel {
  font-size: calc(var(--ttl_size) + 2px);
  letter-spacing: 0.1em;
}

.idx02 .box_payment {
  width: 100%;
  background-color: #fff;
  display: flex;
}
.idx02 .box_payment .img {
  display: flex;
  justify-content: center;
  align-items: center;
}
.idx02 .box_payment .txt .tt {
  font-weight: 500;
  line-height: 1.4;
  color: var(--main-color);
  border-bottom: 1px solid currentColor;
}
.idx02 .box_payment .txt .desc {
  font-weight: 500;
  font-size: var(--fs-base);
  line-height: 1.5;
}
.idx02 .idx_logo {
  display: table;
}
.idx02 .idx_logo a:hover {
  opacity: 1;
}
.idx02 .btn-group {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (min-width: 769px) {
  .idx02 {
    padding: 100px 0 89px;
  }
  .idx02 .wrap_h3 {
    margin-bottom: 2.875em;
  }
  .idx02 .idx_box {
    display: flex;
    flex-wrap: wrap;
  }
  .idx02 .box_info,
  .idx02 .box_access {
    width: 50%;
    padding: 0 44px 0 46px;
  }
  .idx02 .box_info .info {
    margin-bottom: 21px;
  }
  .idx02 .box_info .info dt:not(:last-of-type),
  .idx02 .box_info .info dd:not(:last-of-type) {
    margin-bottom: 0.5em;
  }
  
  .idx02 .box_payment {
    font-size: min(0.525vw, 0.625em);
    margin-top: 61px;
    border-radius: 2em;
    padding: 45px 8.2em 48px 7.1em;
    justify-content: space-between;
  }
  .idx02 .box_payment .img {
    height: 100%;
    padding-left: 5.5em;
    margin-left: 5.5em;
    border-left: 1px solid #e2e2e2;
  }
  .idx02 .box_payment .img picture {
    position: relative;
    top: 2px;
  }
  .idx02 .box_payment .txt .tt {
    font-size: calc(var(--ttl_size) - 2px);
    padding-bottom: 0.3462em;
    margin-bottom: 0.7692em;
    text-indent: -2px;
  }
  .idx02 .idx_logo {
    margin-bottom: 24px;
  }
  .idx02 .time_sheet {
    font-size: min(1vw, 0.625em);
    margin-bottom: 33px;
  }
  .idx02 .btn-group {
    gap: 1.2em 1em;
  }
  .idx02 .btn-group .btn {
    width: 60%;
  }
  .idx02 .btn-group .btn.md {
    width: calc(50% - 0.5em);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx02 .box_payment {
    margin-left: 40px;
    margin-right: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx02 {
    padding: 80px 0;
  }
  .idx02 .box_info {
    padding-left: 30px;
    padding-right: 15px;
  }
  
  .idx02 .box_payment {
    margin-left: 30px;
    margin-right: 30px;
  }
  .idx02 .box_info, .idx02 .box_access{
    padding: 0 34px 0 25px;
  }
}

.idx_map iframe {
  height: 100%;
}
@media only screen and (min-width: 769px) {
  .idx_map {
    height: 400px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_map {
    height: 299px;
  }
}
@media only screen and (max-width: 768px) {
  .idx_map {
    height: 199px;
  }
}

.idx03 {
  background-position: top center;
  background-image: url(../images/idx03_bg.jpg);
}
.idx03 .wrap_h3.h_greeting h3 {
  position: relative;
  color: #fff;
  background-color: var(--main-color);
  width: 5em;
  height: 1.8182em;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.idx03 .wrap_h3.h_greeting h3::after {
  content: "";
  position: absolute;
  background-color: inherit;
}
.idx03 .wrap_h3.h_greeting .h_en {
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--clr1s);
}
.idx03 .wrap_h3.h_greeting .h_en span {
  color: var(--clr2);
}
.idx03 .box_doctor {
  position: relative;
}
.idx03 .box_img {
  max-width: 500px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
.idx03 .box_img::before, .idx03 .box_img::after {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 5/6;
  border-radius: 20px;
  inset: 0;
  z-index: -1;
}
.idx03 .box_img::before {
  background-color: rgb(var(--main-color-rgb)/0.4);
  rotate: 7deg;
}
.idx03 .box_img::after {
  background-color: rgb(var(--clr-blue2-rgb)/0.2);
  rotate: -2.96deg;
}
.idx03 .box_img picture {
  position: relative;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
}
.idx03 .box_img picture::before {
  content: "";
  position: absolute;
  inset: 0.625em;
  border-radius: inherit;
  border: 2px solid #fff;
}
.idx03 .box_name {
  position: absolute;
  width: 32em;
  height: 14.2em;
  border-radius: 6px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.22);
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.idx03 .box_name::after {
  content: "";
  position: absolute;
  width: 11.4em;
  aspect-ratio: 114/54;
  bottom: -1.9em;
  left: -2.2em;
  background: url("../images/idx03_doctor_name_ic.png") no-repeat center/cover;
}
.idx03 .box_name .clinic {
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--clr2);
  border-bottom: 1px solid rgb(var(--clr2-rgb)/0.2);
  padding: 0 0.4444em 0.1111em;
  margin-bottom: -0.4444em;
}
.idx03 .box_name .name {
  font-size: 3.2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx03 .box_name .subname {
  font-size: 0.5625em;
  font-weight: 400;
  margin-right: 0.9444em;
}
.idx03 .box_name .en {
  display: block;
  font-size: 0.5em;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: right;
  margin-top: -0.75em;
  padding-right: 1.4375em;
}
.idx03 .desc p {
  font-size: calc(var(--fs-base) + 2px);
  line-height: 2.2222222222;
}
.idx03 .btn-group {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .idx03 .wrap_h3.h_greeting h3 {
    font-size: calc(var(--fs-base) + 6px);
  }
  .idx03 .wrap_h3.h_greeting .h_en {
    font-size: 4.5em;
  }
  .idx03 .desc {
    padding-left: 2px;
    margin-bottom: 46px;
  }
  .idx03 .btn-group {
    gap: 1.8em;
  }
}
@media only screen and (min-width: 993px) {
  .idx03 {
    padding: 100px 0 89px;
  }
  .idx03 .wrap_h3.h_greeting {
    display: flex;
    align-items: center;
    margin-bottom: 1.5em;
  }
  .idx03 .wrap_h3.h_greeting h3 {
    flex-shrink: 0;
    top: 0.2727em;
    left: 1px;
    margin-right: 1.3636em;
    margin-bottom: 0;
  }
  .idx03 .wrap_h3.h_greeting h3::after {
    width: 0.6818em;
    aspect-ratio: 15/12;
    top: calc(50% - 0.2727em);
    right: -0.5em;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
  }
  .idx03 .idx_box {
    display: grid;
    grid-template-columns: 49% 49.9%;
    justify-content: space-between;
  }
  .idx03 .box_doctor {
    grid-column: 2/3;
    grid-row: 1/4 span;
    padding-top: 25px;
    height: fit-content;
  }
  .idx03 .box_name {
    font-size: min(0.78vw, 0.625em);
    bottom: 3.9em;
    right: -1px;
  }
}
@media only screen and (min-width: 993px) and (max-width: 1366px) {
  .idx03 .idx_box {
    padding: 0 40px;
  }
}
@media only screen and (min-width: 993px) and (max-width: 1024px) {
  .idx03 .idx_box {
    grid-template-columns: 50% 45%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx03 {
    padding: 80px 0;
  }
  .idx03 .idx_box {
    padding: 0 40px;
  }
  .idx03 .wrap_h3.h_greeting {
    margin-bottom: 50px;
  }
  .idx03 .box_name {
    font-size: 0.625em;
  }
}
@media only screen and (max-width: 992px) {
  .idx03 .wrap_h3.h_greeting h3 {
    margin: 0 auto;
    margin-bottom: 5px;
  }
  .idx03 .wrap_h3.h_greeting h3::after {
    width: 12px;
    aspect-ratio: 12/15;
    top: calc(100% - 3px);
    right: calc(50% - 6px);
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
  }
  .idx03 .box_doctor {
    margin-bottom: 25px;
    padding: 15px;
  }
  .idx03 .box_name {
    bottom: 35px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .idx03 .btn-group {
    justify-content: center;
  }
}

.idx04 .wrap_h3.h_menu {
  position: relative;
  z-index: 1;
}
.idx04 .wrap_h3.h_menu::before {
  content: "";
  aspect-ratio: 267/281;
  background: url("../images/idx04_pickup_ic.png") no-repeat center/cover;
  z-index: 1;
}
.idx04 .wrap_h3.h_menu::after {
  content: "";
  aspect-ratio: 60/14;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-image: -moz-linear-gradient(90deg, rgb(226, 243, 252) 0%, rgb(255, 255, 255) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(226, 243, 252) 0%, rgb(255, 255, 255) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(226, 243, 252) 0%, rgb(255, 255, 255) 100%);
  z-index: -1;
}
.idx04 .wrap_h3.h_menu h3 {
  display: table;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 0;
}
.idx04 .wrap_h3.h_menu h3::before, .idx04 .wrap_h3.h_menu h3::after {
  content: "";
  position: absolute;
  width: 50vw;
  height: 2px;
  background-color: #e9e9e9;
  z-index: -1;
}
.idx04 .wrap_h3.h_menu h3::before {
  left: 0;
  transform: translateX(-100%);
}
.idx04 .wrap_h3.h_menu h3::after {
  right: 0;
  transform: translateX(100%);
}
.idx04 .wrap_content {
  position: relative;
  z-index: 0;
}
.idx04 .wrap_content::after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: calc(50% - 50vw);
  background-image: -moz-linear-gradient(90deg, rgb(226, 243, 252) 0%, rgb(255, 240, 245) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(226, 243, 252) 0%, rgb(255, 240, 245) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(226, 243, 252) 0%, rgb(255, 240, 245) 100%);
  z-index: -1;
}
.idx04 .wrap_content .TabContainer .TabPager {
  gap: 1px;
}
.idx04 .wrap_content .TabContainer .TabPager > div {
  position: relative;
  color: #fff;
}
.idx04 .wrap_content .TabContainer .TabPager > div::after {
  content: "";
  position: absolute;
  width: 1.0625em;
  aspect-ratio: 17/10;
  bottom: 0.5625em;
  left: calc(50% - 0.5313em);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: currentColor;
}
.idx04 .wrap_content .TabContainer .TabPager > div .tt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0.1em;
  background-color: var(--main-color);
  border-radius: 10px 10px 0 0;
  transition: all 0.3s ease;
}
.idx04 .wrap_content .TabContainer .TabPager > div.active {
  color: var(--clr2);
}
.idx04 .wrap_content .TabContainer .TabPager > div.active .tt {
  height: 100%;
  background-color: #fff;
}
.idx04 .wrap_content .TabContainer .TabContent {
  background-color: #fff;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box {
  position: relative;
  display: flex;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box::after {
  content: "";
  position: absolute;
  aspect-ratio: 255/187;
  background: url("../images/idx04_decor.png") no-repeat center/cover;
  z-index: -1;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img {
  max-width: 520px;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img picture {
  position: relative;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img picture::before {
  content: "";
  position: absolute;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img picture img {
  border-radius: 10px;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .ttl {
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .desc {
  font-size: calc(var(--fs-base) + 2px);
  line-height: 2.2222222222;
  font-weight: 400;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .btn-group {
  display: flex;
  flex-wrap: wrap;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .btn-group .btn.btn_center{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25px;
}
.idx04 .wrap_content .TabContainer .TabContent .content > div .idx_bnr{
  max-width: 530px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: 163px 0 0;
  }
  .idx04 .wrap_h3.h_menu {
    font-size: min(0.85vw, 0.625em);
    margin-bottom: 6.8em;
  }
  .idx04 .wrap_h3.h_menu::before {
    position: absolute;
    width: 26.7em;
    top: calc(50% - 16em);
    left: 5.9em;
  }
  .idx04 .wrap_h3.h_menu::after {
    position: absolute;
    width: 60em;
    bottom: calc(-100% - 1.8em);
    left: calc(50% - 30em);
  }
  .idx04 .wrap_h3.h_menu h3 {
    font-size: 4.8em;
    padding: 0 0.3125em;
    margin-bottom: 6px;
  }
  .idx04 .wrap_h3.h_menu h3::before, .idx04 .wrap_h3.h_menu h3::after {
    top: calc(50% + 0.1042em);
  }
  .idx04 .wrap_h3.h_menu .h_en {
    font-size: 3em;
  }
  .idx04 .wrap_content .TabContainer .TabPager {
    align-items: flex-end;
  }
  .idx04 .wrap_content .TabContainer .TabPager > div {
    width: calc(25% - 1px);
    max-width: 320px;
    height: 6.25em;
    align-items: flex-end;
  }
  .idx04 .wrap_content .TabContainer .TabPager > div .tt {
    height: 90%;
  }
  .idx04 .wrap_content .TabContainer .TabPager > div .tt:hover {
    background-color: var(--clr2);
  }
  .idx04 .wrap_content .TabContainer .TabContent {
    border-radius: 0 0 2.5em 2.5em;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box::after {
    font-size: min(0.68vw, 0.625em);
    width: 25.5em;
    bottom: 1.6em;
    right: -1em;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img picture::before {
    inset: 8px;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .ttl {
    font-size: calc(var(--ttl_size) + 4px);
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .btn-group {
    gap: 1em;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .btn-group .btn:not(:only-child) {
    width: calc(50% - 0.5em);
  }
}
@media only screen and (min-width: 993px) {
  .idx04 .wrap_content {
    padding: 119px 0 100px;
  }
  .idx04 .wrap_content .TabContainer .TabPager > div .tt {
    font-size: calc(var(--ttl_size) - 2px);
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box {
    justify-content: space-between;
    padding: clamp(60px, 4.2vw, 80px) min(4.2vw, 80px) clamp(80px, 5.25vw, 100px);
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img {
    flex-shrink: 0;
    width: 47%;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_cont {
    width: 48%;
    max-width: 534px;
    padding-right: 0;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .ttl {
    text-indent: -2px;
    margin-bottom: 0.5938em;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .desc {
    margin-bottom: 1.7778em;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .btn-group {
    justify-content: space-between;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx04 .wrap_content {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .wrap_h3.h_menu::before {
    left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx04 {
    padding-top: 120px;
  }
  .idx04 .wrap_content {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box {
    padding: 40px 20px 60px;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img {
    margin-bottom: 30px !important;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .ttl {
    margin-bottom: 30px;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .desc {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 992px) {
  .idx04 .wrap_content .TabContainer .TabPager > div .tt {
    font-size: 18px;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box {
    flex-direction: column;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_img {
    margin: 0 auto;
    order: 2;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .box_cont {
    display: contents;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .ttl {
    order: 1;
    text-align: center;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .desc {
    order: 3;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_box .btn-group {
    order: 4;
    justify-content: center;
  }
  .idx04 .wrap_content .TabContainer .TabContent .content > div .idx_bnr{order: 5;}
}

.idx05 {
  background-image: url(../images/idx05_bg.jpg);
}
.idx05 .wrap_h3.h_professionals {
  position: relative;
  max-width: 562px;
  aspect-ratio: 1/1;
  height: fit-content;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.08);
}
.idx05 .wrap_h3.h_professionals::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.08);
}
.idx05 .wrap_h3.h_professionals h3 {
  position: relative;
}
.idx05 .wrap_h3.h_professionals h3::before {
  content: "";
  display: block;
  width: 2.275em;
  aspect-ratio: 1/1;
  margin: 0 auto;
  margin-bottom: 0.45em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 91 91' %3E%3Cpath d='M75.686,87.921 C61.169,94.414 44.655,85.315 41.934,69.837 L7.217,69.816 C3.943,69.541 1.099,67.442 0.284,64.214 C-0.085,46.362 -0.154,28.328 0.319,10.484 C1.395,6.537 5.171,4.590 9.120,5.027 C9.082,3.328 8.857,1.354 10.624,0.439 C11.742,-0.139 15.588,-0.098 16.648,0.656 C16.927,0.855 17.826,1.942 17.826,2.204 L17.826,5.026 L25.445,5.026 C24.999,0.371 27.493,-0.295 31.530,0.102 C34.200,0.365 34.532,2.770 34.333,5.026 L41.952,5.026 L41.952,2.386 C41.952,1.730 43.211,0.509 43.848,0.285 C44.726,-0.025 47.868,-0.002 48.765,0.283 C49.351,0.469 50.659,1.659 50.659,2.204 L50.659,5.026 L58.278,5.026 C58.116,2.878 58.552,0.397 61.089,0.111 C61.913,0.018 64.069,0.009 64.857,0.154 C67.110,0.566 67.374,3.158 67.165,5.027 C71.858,4.508 75.868,7.380 76.243,12.208 L76.265,43.673 C80.078,45.867 83.450,48.487 85.924,52.181 C94.307,64.694 89.306,81.831 75.686,87.921 ZM42.133,59.081 L42.133,50.890 L33.970,50.890 L33.970,59.081 L42.133,59.081 ZM33.970,39.788 L33.970,47.979 L42.133,47.979 L42.133,39.788 L33.970,39.788 ZM42.133,36.875 L42.133,28.686 L33.970,28.686 L33.970,36.875 L42.133,36.875 ZM14.924,3.024 L12.021,3.024 L12.021,12.124 L14.924,12.124 L14.924,3.024 ZM31.431,3.024 L28.347,3.024 L28.347,11.850 L28.619,12.124 L31.431,12.124 L31.431,3.024 ZM47.757,3.024 L44.854,3.024 L44.854,12.124 L47.757,12.124 L47.757,3.024 ZM64.264,3.024 L61.362,3.024 L61.362,12.124 L64.264,12.124 L64.264,3.024 ZM73.334,11.850 C73.334,11.560 72.809,10.356 72.614,10.024 C71.477,8.085 69.231,7.800 67.166,7.938 L67.166,12.579 C67.166,12.788 66.530,13.897 66.332,14.108 C65.182,15.323 61.431,15.338 60.024,14.648 C59.127,14.210 58.278,13.034 58.278,12.033 L58.278,7.938 L50.659,7.938 L50.659,12.942 C50.659,13.060 50.095,13.881 49.941,14.043 C48.656,15.389 44.328,15.454 42.978,14.279 C42.760,14.090 41.952,12.926 41.952,12.761 L41.952,7.938 L34.333,7.938 L34.333,12.579 C34.333,12.788 33.697,13.897 33.499,14.108 C32.233,15.447 27.902,15.410 26.528,14.221 C26.116,13.866 25.445,12.714 25.445,12.215 L25.445,7.938 L17.826,7.938 L17.826,12.942 C17.826,13.530 16.583,14.545 16.007,14.758 C14.686,15.246 11.381,15.253 10.218,14.387 C9.944,14.183 9.119,12.983 9.119,12.761 L9.119,7.938 C6.788,7.743 4.358,8.257 3.334,10.596 C3.259,10.768 2.951,11.588 2.951,11.669 L2.951,17.947 L73.334,17.947 L73.334,11.850 ZM73.334,20.859 L2.951,20.859 L2.951,63.176 C2.951,63.602 3.847,65.193 4.214,65.548 C4.706,66.024 6.391,66.907 7.033,66.907 L41.589,66.907 L41.770,61.993 L9.935,61.993 C9.514,61.993 8.899,60.898 8.933,60.450 L8.928,27.494 C8.951,26.743 9.250,26.068 9.980,25.823 L66.130,25.812 C66.902,26.055 67.301,26.714 67.348,27.503 L67.373,41.400 L73.334,42.518 L73.334,20.859 ZM22.905,39.788 L22.905,47.979 L31.068,47.979 L31.068,39.788 L22.905,39.788 ZM31.068,36.875 L31.068,28.686 L22.905,28.686 L22.905,36.875 L31.068,36.875 ZM22.905,50.890 L22.905,59.081 L31.068,59.081 L31.068,50.890 L22.905,50.890 ZM11.840,39.788 L11.840,47.979 L20.003,47.979 L20.003,39.788 L11.840,39.788 ZM20.003,36.875 L20.003,28.686 L11.840,28.686 L11.840,36.875 L20.003,36.875 ZM11.840,50.890 L11.840,59.081 L20.003,59.081 L20.003,50.890 L11.840,50.890 ZM49.298,47.979 L53.380,44.793 L53.380,40.061 L53.108,39.788 L45.036,39.788 L45.036,47.979 L49.298,47.979 ZM45.036,52.891 C45.455,52.996 45.335,52.810 45.451,52.662 C45.591,52.482 46.595,50.986 46.486,50.892 C46.122,50.925 45.327,50.755 45.115,51.061 L45.036,52.891 ZM53.380,36.875 L53.380,28.686 L45.036,28.686 L45.036,36.875 L53.380,36.875 ZM64.445,36.875 L64.445,28.686 L56.282,28.686 L56.282,36.875 L64.445,36.875 ZM56.282,39.788 L56.282,43.428 C58.846,42.253 61.640,41.741 64.425,41.407 L64.445,39.788 L56.282,39.788 ZM80.889,50.589 C70.364,40.030 52.301,43.411 46.331,57.013 C38.508,74.838 56.582,93.110 74.363,85.320 C88.026,79.336 91.483,61.218 80.889,50.589 ZM83.295,63.889 C83.124,65.138 81.945,66.096 81.850,66.806 C81.432,69.924 82.275,74.029 81.843,77.174 C81.629,78.737 80.090,80.135 78.511,80.200 C70.369,79.710 61.522,80.825 53.463,80.200 C51.479,80.046 49.930,78.920 49.745,76.832 C49.479,73.851 50.260,69.334 49.748,66.637 C49.615,65.940 48.456,65.113 48.300,63.722 C48.159,62.462 48.122,57.636 48.379,56.519 C48.616,55.488 49.926,54.531 50.931,54.531 L58.096,54.531 C57.781,51.950 59.146,49.809 61.807,49.608 C63.975,49.445 67.840,49.416 69.985,49.608 C72.520,49.836 73.864,52.109 73.515,54.531 L80.680,54.531 C81.613,54.531 82.954,55.416 83.228,56.342 C83.463,57.136 83.433,62.872 83.295,63.889 ZM52.654,76.825 C52.654,76.857 52.934,77.147 53.020,77.187 L78.592,77.187 C78.677,77.147 78.957,76.857 78.957,76.825 L78.957,68.362 C76.149,69.262 73.228,69.697 70.288,69.939 C70.098,70.023 69.701,71.112 69.456,71.479 C67.310,74.697 62.513,73.803 61.556,70.124 L61.321,69.939 C58.382,69.697 55.462,69.262 52.654,68.362 L52.654,76.825 ZM65.485,67.484 C63.624,67.870 64.110,70.737 65.970,70.546 C68.027,70.336 67.546,67.057 65.485,67.484 ZM69.943,52.572 C67.466,52.680 64.596,52.280 62.166,52.517 C60.870,52.644 60.944,53.387 60.999,54.531 L70.613,54.531 C70.579,53.837 70.850,52.720 69.943,52.572 ZM72.492,57.468 L58.992,57.522 L58.822,59.990 L72.790,59.990 C72.684,59.455 73.063,57.655 72.492,57.468 ZM80.408,57.442 L75.692,57.442 L75.692,60.628 C75.692,61.378 74.246,62.822 73.413,62.891 C68.650,62.562 63.224,63.367 58.541,62.912 C57.403,62.801 55.919,61.642 55.919,60.446 L55.919,57.442 L51.203,57.442 L51.203,63.540 C51.203,64.251 53.196,65.391 53.830,65.636 C56.319,66.603 59.174,66.704 61.788,67.102 C63.471,63.745 68.137,63.742 69.823,67.102 C72.695,66.585 76.467,66.618 79.014,65.052 C79.276,64.891 80.408,63.916 80.408,63.721 L80.408,57.442 ZM13.161,29.832 C14.136,28.998 15.289,29.854 15.921,30.685 C18.077,27.995 20.891,30.668 18.011,32.780 C20.884,34.896 18.082,37.598 15.921,34.877 C13.881,37.594 11.195,34.963 13.832,32.780 C12.989,32.160 12.181,30.671 13.161,29.832 ZM24.072,30.130 C25.363,28.373 26.785,30.737 27.143,30.675 C29.256,27.895 31.873,30.811 29.076,32.780 C29.925,33.558 30.982,34.507 29.900,35.612 C28.482,37.060 27.473,34.807 27.011,34.887 C26.275,35.678 25.298,36.637 24.227,35.729 C23.067,34.748 24.280,33.587 24.907,32.780 C24.907,32.158 23.002,31.587 24.072,30.130 Z'/%3E%3C/svg%3E");
  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: currentColor;
}
.idx05 .box_cont .ttl {
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #fff;
}
.idx05 .box_cont .desc {
  font-size: calc(var(--fs-base) + 2px);
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx05 {
    padding: 39px 0;
  }
  .idx05 .idx_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
  }
  .idx05 .wrap_h3.h_professionals {
    font-size: min(0.845vw, 0.625em);
    flex-shrink: 0;
    width: 47%;
  }
  .idx05 .wrap_h3.h_professionals::after {
    inset: 3.6em;
  }
  .idx05 .wrap_h3.h_professionals h3 {
    font-size: 4em;
    margin-bottom: 0.375em;
  }
  .idx05 .wrap_h3.h_professionals .h_en {
    font-size: 2em;
  }
  .idx05 .box_cont {
    width: 50%;
    max-width: 597px;
    padding-right: 10px;
    padding-bottom: 8px;
  }
  .idx05 .box_cont .ttl {
    font-size: calc(var(--ttl_size) + 4px);
    margin-bottom: 19px;
  }
  .idx05 .box_cont .desc {
    margin-bottom: 31px;
  }
}

.idx06 {
  background-position: top center;
  background-image: url(../images/idx06_bg.jpg);
}
.idx06 .wrap_h3.h_services {
  position: relative;
  display: table;
  margin: 0 auto;
}
.idx06 .wrap_h3.h_services::before {
  content: "";
  width: 12.6em;
  position: absolute;
  aspect-ratio: 126/130;
  bottom: 0em;
  background: url("../images/idx06_h_decor4.png") no-repeat center/cover;
}
.idx06 .wrap_h3.h_services::after {
  content: "";
  display: block;
  width: 16.5em;
  aspect-ratio: 165/34;
  margin: 0 auto;
  background: url("../images/idx06_h_decor3.png") no-repeat center/cover;
}
.idx06 .wrap_h3.h_services .h_en {
  position: relative;
  font-weight: 700;
  line-height: 0.9333333333;
  letter-spacing: 0.05em;
  color: var(--clr1);
  text-transform: none;
  z-index: 0;
}
.idx06 .wrap_h3.h_services .h_en::before {
  content: "";
  display: block;
  width: 2.0333em;
  aspect-ratio: 122/43;
  margin: 0 auto;
  margin-bottom: -0.05em;
  background: url("../images/idx06_h_decor1.png") no-repeat center/cover;
}
.idx06 .wrap_h3.h_services .h_en::after {
  content: "";
  position: absolute;
  width: 6.8333em;
  aspect-ratio: 410/107;
  top: 1.1333em;
  left: calc(50% - 3.4167em);
  background: url("../images/idx06_h_decor2.png") no-repeat center/cover;
  z-index: -1;
}
.idx06 .wrap_h3.h_services h3 {
  color: var(--clr2);
}
.idx06 .TabContainer {
  background-color: #fff;
}
.idx06 .TabContainer .TabPager {
  flex-wrap: wrap;
  gap: 1px;
}
.idx06 .TabContainer .TabPager > div {
  background-color: var(--clr2);
  color: #fff;
}
.idx06 .TabContainer .TabPager > div .tt {
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}
.idx06 .TabContainer .TabPager > div .ic {
  position: absolute;
  aspect-ratio: 1/1;
}
.idx06 .TabContainer .TabPager > div .ic::before, .idx06 .TabContainer .TabPager > div .ic::after {
  content: "";
  position: absolute;
  background-color: #fff;
  transition: all 0.3s ease;
}
.idx06 .TabContainer .TabPager > div .ic::before {
  width: 100%;
  height: 1px;
  top: calc(50% - 0.5px);
  left: 0;
}
.idx06 .TabContainer .TabPager > div .ic::after {
  width: 1px;
  height: 100%;
  top: 0;
  left: calc(50% - 0.5px);
}
.idx06 .TabContainer .TabPager > div.active {
  background-color: var(--clr-blue3);
}
.idx06 .TabContainer .TabPager > div.active .ic::after {
  transform: rotate(-90deg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item {
  position: relative;
  max-width: 350px;
  min-height: 40em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 10px;
  z-index: 0;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item::before, .idx06 .TabContainer .TabContent .content > div .idx_list .item::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item::before {
  inset: 0;
  border-radius: inherit;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.5;
  transition: all 0.3s ease;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item::after {
  inset: 0.6em;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item .txt {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item .txt::before {
  content: "";
  display: block;
  width: 10.7em;
  aspect-ratio: 107/92;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item .txt::after {
  content: "";
  position: absolute;
  width: 1.9em;
  aspect-ratio: 19/18;
  bottom: 0;
  right: 0;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 18' %3E%3Cpath d='M18.810,8.730 L10.188,0.633 C10.034,0.488 9.792,0.496 9.648,0.652 L8.742,1.636 C8.598,1.791 8.607,2.036 8.761,2.181 L14.910,7.954 L1.161,7.954 C0.950,7.954 0.779,8.125 0.779,8.339 L0.779,9.681 C0.779,9.893 0.950,10.066 1.161,10.066 L14.914,10.066 L8.761,15.841 C8.607,15.986 8.598,16.230 8.742,16.386 L9.648,17.369 C9.792,17.524 10.034,17.533 10.188,17.388 L18.810,9.293 C18.972,9.142 18.972,8.881 18.810,8.730 Z'/%3E%3C/svg%3E");
  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: #fff;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item .txt .tt {
  position: relative;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item .txt .desc {
  margin: 0 auto;
  font-size: var(--fs-base);
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item:nth-child(3n)::before {
  background-color: rgb(var(--clr-blue4-rgb)/1);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item:nth-child(3n-1)::before {
  background-color: #FBB113;
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item:nth-child(3n-2)::before {
  background-color: rgb(var(--main-color-rgb)/1);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item1 {
  background-image: url(../images/idx06_img1.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item1 .txt::before {
  background-image: url(../images/idx06_ic1.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item2 {
  background-image: url(../images/idx06_img2.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item2 .txt::before {
  background-image: url(../images/idx06_ic2.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item3 {
  background-image: url(../images/idx06_img3.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item3 .txt::before {
  background-image: url(../images/idx06_ic3.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item4 {
  background-image: url(../images/idx06_img4.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item4 .txt::before {
  background-image: url(../images/idx06_ic4.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item5 {
  background-image: url(../images/idx06_img5.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item5 .txt::before {
  background-image: url(../images/idx06_ic5.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item6 {
  background-image: url(../images/idx06_img6.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item6 .txt::before {
  background-image: url(../images/idx06_ic6.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item7 {
  background-image: url(../images/idx06_img7.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item7 .txt::before {
  background-image: url(../images/idx06_ic7.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item8 {
  background-image: url(../images/idx06_img8.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item8 .txt::before {
  background-image: url(../images/idx06_ic8.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item9 {
  background-image: url(../images/idx06_img9.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item9 .txt::before {
  background-image: url(../images/idx06_ic9.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item10 {
  background-image: url(../images/idx06_img10.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item10 .txt::before {
  background-image: url(../images/idx06_ic10.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item11 {
  background-image: url(../images/idx06_img11.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item11 .txt::before {
  background-image: url(../images/idx06_ic11.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item12 {
  background-image: url(../images/idx06_img12.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item12 .txt::before {
  background-image: url(../images/idx06_ic12.png);
}

.idx06 .TabContainer .TabContent .content > div .idx_list .item13 {
  background-image: url(../images/idx06_img13.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item13 .txt::before {
  background-image: url(../images/idx06_ic13.png);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item14 {
  background-image: url(../images/idx06_img14.jpg);
}
.idx06 .TabContainer .TabContent .content > div .idx_list .item14 .txt::before {
  background-image: url(../images/idx06_ic14.png);
}
@media only screen and (min-width: 769px) {
  .idx06 {
    padding: 44px 0 90px;
  }
  .idx06 .wrap_h3.h_services {
    font-size: 0.625em;
    padding-bottom: 20px;
  }
  .idx06 .wrap_h3.h_services::before {
    left: -16.8em;
  }
  .idx06 .wrap_h3.h_services .h_en {
    font-size: 6em;
    margin-bottom: 0.1833em;
  }
  .idx06 .wrap_h3.h_services h3 {
    font-size: 3em;
    margin-bottom: 0.2667em;
  }
  .idx06 .TabContainer {
    border-radius: 2.5em;
    padding: clamp(60px, 5.25vw, 90px) min(5.25vw, 99px);
  }
  .idx06 .TabContainer .TabPager:has(div:last-child:nth-child(3n+1)) > div:last-child {
    width: 100%;
  }
  .idx06 .TabContainer .TabPager:has(div:last-child:nth-child(3n+2)) > div:nth-last-child(2),
  .idx06 .TabContainer .TabPager:has(div:last-child:nth-child(3n+2)) > div:last-child {
    width: calc(50% - 0.5px);
  }
  .idx06 .TabContainer .TabPager > div {
    width: calc((100% - 2px) / 3);
    min-height: 4.125em;
  }
  .idx06 .TabContainer .TabPager > div .tt {
    font-size: 1.25em;
  }
  .idx06 .TabContainer .TabPager > div .ic {
    width: round(down, 0.85em, 1px);
    top: calc(50% - 0.4em);
    right: 0.8em;
  }
  .idx06 .TabContainer .TabPager > div:hover {
    background-color: var(--clr-blue3);
  }
  .idx06 .TabContainer .TabContent .content > div {
    padding-top: 50px;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list {
    font-size: min(0.925vw, 0.625em);
    gap: 1.6em;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item {
    width: calc((100% - 3.2em) / 3);
    padding: 1.7em 2em;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item .txt {
    padding-top: 7em;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item .txt::before {
    margin-bottom: 2.1em;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item .txt .tt {
    font-size: 2.4em;
    margin-bottom: 0.7917em;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item .txt .desc {
    max-width: 265px;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item:hover::before {
    opacity: 0;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item10 .txt .tt {
    margin-bottom: 0.4167em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06 .TabContainer .TabPager > div .tt {
    font-size: 16px;
  }
  .idx06 .TabContainer .TabContent .content > div .idx_list .item .txt {
    padding-top: 4em;
  }
}

.idx07 {
  background-position: top center;
  background-image: url(../images/idx07_bg.jpg);
}
.idx07 .wrap_h3.h_feature h3 {
  display: table;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.idx07 .wrap_h3.h_feature h3::before, .idx07 .wrap_h3.h_feature h3::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx07 .wrap_h3.h_feature h3::before {
  width: 1.7em;
  aspect-ratio: 68/75;
  background-image: url(../images/idx07_h_decor1.png);
}
.idx07 .wrap_h3.h_feature h3::after {
  width: 1.225em;
  aspect-ratio: 49/55;
  background-image: url(../images/idx07_h_decor2.png);
}
.idx07 .idx_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  counter-reset: item;
}
.idx07 .idx_list .item {
  position: relative;
  max-width: 661px;
  z-index: 0;
}
.idx07 .idx_list .item::after {
  content: "";
  position: absolute;
  width: calc(100% - var(--x));
  height: calc(100% - var(--x) - 1.5em);
  top: calc(var(--x) + 1.5em);
  left: var(--x);
  background-color: var(--main-color);
  z-index: -1;
}
.idx07 .idx_list .item .img {
  position: relative;
  counter-increment: item;
  z-index: 0;
}
.idx07 .idx_list .item .img::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  bottom: -0.1917em;
  right: 0.5833em;
  font-size: 12em;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0;
  line-height: 1;
  z-index: 1;
}
.idx07 .idx_list .item .img picture {
  position: relative;
  margin-right: var(--x);
}
.idx07 .idx_list .item .img picture img {
  border-radius: inherit;
}
.idx07 .idx_list .item .img picture::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgb(15, 169, 225) 100%);
  opacity: 0.4;
}
.idx07 .idx_list .item .img picture::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: -1em;
  bottom: -1em;
  border-radius: inherit;
  border: 1px solid #fff;
}
.idx07 .idx_list .item .txt {
  margin-left: var(--x);
  color: #fff;
}
.idx07 .idx_list .item .txt .tt {
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx07 .idx_list .item .txt .desc {
  font-size: var(--fs-base);
}
@media only screen and (min-width: 769px) {
  .idx07 {
    padding: 104px 0 130px;
  }
  .idx07 .wrap_h3.h_feature {
    margin-bottom: 4.875em;
  }
  .idx07 .wrap_h3.h_feature h3 {
    padding: 0 2.25em;
  }
  .idx07 .wrap_h3.h_feature h3::before {
    top: 1px;
    left: 1px;
  }
  .idx07 .wrap_h3.h_feature h3::after {
    top: -0.6em;
    right: 0.85em;
  }
  .idx07 .idx_list {
    font-size: clamp(5px, 0.525vw, 0.625em);
    gap: 6.6em;
    margin-bottom: 75px;
  }
  .idx07 .idx_list .item {
    --x: 6.1em;
    width: calc(50% - 3.3em);
  }
  .idx07 .idx_list .item::after {
    border-radius: 2em;
  }
  .idx07 .idx_list .item .img picture {
    border-radius: 2em;
  }
  .idx07 .idx_list .item .txt {
    padding: 4.6em var(--x) 5.7em;
  }
  .idx07 .idx_list .item .txt .tt {
    font-size: calc(var(--ttl_size) - 2px);
    margin-bottom: 17px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx07 .idx_list {
    padding: 0 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx07 {
    padding: 80px 0;
  }
}

.idx_banner .wrap_banner {
  display: flex;
  justify-content: center;
}
.idx_banner .banner {
  position: relative;
  width: 50%;
  max-width: 960px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx_banner .banner::before {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.idx_banner .banner .txt {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.idx_banner .banner .txt::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  border-radius: 50%;
  right: 0;
  background: url("../images/idx_banner_ic.png") no-repeat center/cover;
}
.idx_banner .banner .txt .title {
  max-width: 485px;
  position: relative;
  text-align: center;
}
.idx_banner .banner .txt .title .h_en {
  position: absolute;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.1);
  top: 50%;
  left: 50%;
  transform: translate(-51%, -58%);
  text-transform: uppercase;
  white-space: nowrap;
}
.idx_banner .banner .txt .title .jp {
  position: relative;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
.idx_banner .banner1 {
  background-image: url(../images/idx_banner1.jpg);
}
.idx_banner .banner2 {
  background-image: url(../images/idx_banner2.jpg);
}
@media only screen and (min-width: 769px) {
  .idx_banner .wrap_banner {
    font-size: min(0.65vw, 0.625em);
  }
  .idx_banner .wrap_banner .banner {
    min-height: 26em;
    padding: 3.8em;
  }
  .idx_banner .wrap_banner .banner::before {
    inset: 1em;
  }
  .idx_banner .wrap_banner .banner .txt::after {
    width: round(4.7em, 1px);
    top: calc(50% - 2.3em);
  }
  .idx_banner .wrap_banner .banner .txt .title {
    width: 56%;
    padding-top: 0.4em;
  }
  .idx_banner .wrap_banner .banner .txt .title .h_en {
    font-size: 15em;
  }
  .idx_banner .wrap_banner .banner .txt .title .jp {
    font-size: calc(var(--ttl_size) + 4px);
  }
  .idx_banner .wrap_banner .banner:hover {
    opacity: 0.8;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx_banner .banner .txt .title .jp {
    font-size: 20px;
  }
}

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