.home_page .key {
  --height: 57vw;
  --min-height: 600px;
  --max-height: 1090px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
}
.home_page .key::before, .home_page .key::after {
  position: absolute;
  content: "";
}
.home_page .key::before {
  z-index: 1;
  background-image: url(../images/key-bg2.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: min(1089px, 58vw);
}
.home_page .key::after {
  font-size: 10px;
  background-image: url(../images/key-shape-bg.png);
  z-index: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  bottom: -40em;
  right: -49.3em;
  width: 121.4em;
  height: 87em;
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
  max-width: 1486px;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: none;
  overflow: hidden;
}
.home_page .key .key_text {
  position: relative;
  z-index: 2;
}
.home_page .key .key_text .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.home_page .key .catch {
  font-size: 10px;
  display: table;
  margin-right: 0;
  margin-left: auto;
  position: relative;
  top: 11.5em;
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-family: var(--f-kosugi);
}
.home_page .key h2 {
  margin-bottom: 10px;
  font-size: 6.2em;
  line-height: 1.2903225806;
  letter-spacing: 0.32em;
}
.home_page .key p {
  font-size: 2.4em;
  letter-spacing: 0.22em;
  font-weight: 400;
  line-height: 2;
}
.home_page .key .key-img .img {
  position: absolute;
}
.home_page .key .key-img .img img {
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.home_page .key .key-img .main-img {
  font-size: min(10px, 0.53vw);
  top: -36.5em;
  left: -21.3em;
  width: 105.9em;
  height: 91.7em;
}
.home_page .key .key-img .main-img img {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='1059px' height='917px'%3E%3Cpath fill-rule='evenodd' fill='rgb(63, 143, 66)' d='M609.816,10.721 C898.500,62.452 1096.587,304.932 1052.257,552.313 C1007.927,799.696 737.966,958.301 449.282,906.570 C160.598,854.838 -37.490,612.359 6.840,364.977 C51.170,117.595 321.132,-41.010 609.816,10.721 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='1059px' height='917px'%3E%3Cpath fill-rule='evenodd' fill='rgb(63, 143, 66)' d='M609.816,10.721 C898.500,62.452 1096.587,304.932 1052.257,552.313 C1007.927,799.696 737.966,958.301 449.282,906.570 C160.598,854.838 -37.490,612.359 6.840,364.977 C51.170,117.595 321.132,-41.010 609.816,10.721 Z'/%3E%3C/svg%3E");
}
.home_page .key .key-img .sub-img {
  font-size: min(10px, 0.55vw);
  width: 51em;
  height: 36.5em;
  top: -20.4em;
  right: -12em;
}
.home_page .key .key-img .sub-img img {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='510px' height='365px'%3E%3Cpath fill-rule='evenodd' fill='rgb(84, 132, 88)' d='M189.753,37.065 C53.952,97.932 -26.982,212.345 8.982,292.613 C44.946,372.882 184.188,388.611 319.989,327.745 C455.789,266.878 536.723,152.465 500.760,72.197 C464.796,-8.072 325.554,-23.801 189.753,37.065 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='510px' height='365px'%3E%3Cpath fill-rule='evenodd' fill='rgb(84, 132, 88)' d='M189.753,37.065 C53.952,97.932 -26.982,212.345 8.982,292.613 C44.946,372.882 184.188,388.611 319.989,327.745 C455.789,266.878 536.723,152.465 500.760,72.197 C464.796,-8.072 325.554,-23.801 189.753,37.065 Z'/%3E%3C/svg%3E");
}
.home_page .key .slick-list {
  overflow: unset;
}
.home_page .key .slick-dots {
  position: absolute;
  bottom: 23.7em;
  right: calc(50% - 37.2em);
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.home_page .key .slick-dots li {
  height: 2px;
  width: 60px;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 1px;
  cursor: pointer;
}
@media only screen and (min-width: 769px) {
  .home_page .key .slick-dots li:hover {
    background-color: #f2995c;
  }
  .home_page .key .slick-dots li.slick-active:hover {
    background-color: #fff;
  }
}
.home_page .key .slick-dots .slick-active {
  height: 6px;
  border-radius: 3px;
}
.home_page .key .slick-dots button {
  font-size: 0;
  border: 0;
}
.home_page .key .key-banner {
  position: absolute;
  bottom: 16.4em;
  left: 17px;
  z-index: 3;
  font-size: 10px;
  width: 37em;
  height: 12em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.home_page .key .key-banner .close {
  position: absolute;
  top: -1.7em;
  right: -1.7em;
  width: 4.1em;
  height: 4.1em;
  background-color: #4caf50;
  border-radius: 50%;
  cursor: pointer;
}
.home_page .key .key-banner .close::before {
  position: absolute;
  content: "";
  width: 4.1em;
  height: 4.1em;
  top: 0;
  left: 0;
  background-image: url(../images/key-close.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.home_page .key .key-banner.active {
  position: fixed;
  bottom: 20px;
  left: 20px;
}
@media only screen and (min-width: 769px) {
  .home_page .key .key-banner .close:hover {
    background-color: #ffa726;
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .idx-title {
  text-align: center;
  font-size: 10px;
}
.home_page .idx-title.white h3,
.home_page .idx-title.white .sm {
  color: #fff;
}
.home_page .idx-title h3 {
  font-size: 4.8em;
  letter-spacing: 0.1em;
  font-family: var(--f-kosugi);
  font-weight: 400;
  line-height: 1.4;
  color: #203424;
}
.home_page .idx-title .sm {
  font-size: 1.8em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  margin-top: 2px;
  color: #4caf50;
  font-weight: 500;
}

@media only screen and (min-width: 1921px) {
  .home_page .key {
    --height: 100vh;
    --min-height: unset;
    --max-height: unset;
  }
  .home_page .key::before {
    background-position: bottom center;
    height: 98vh;
  }
  .home_page .key .slick-dots {
    bottom: 60em;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key .item.s3 h2 {
    font-size: 5.6em;
    letter-spacing: 0.2em;
    line-height: 1.4285714286;
  }
  .home_page .key .item.s3 .catch {
    top: 7.8em;
    right: -16.6em;
  }
  .home_page .key .item.s3 .key-img .main-img {
    top: -32.5em;
  }
  .home_page .key .item.s3 .key-img .sub-img {
    top: -16.4em;
  }
  .home_page .key .item.s2 h2 {
    letter-spacing: 0.2em;
  }
  .home_page .key .item.s2 .catch {
    left: 9.6em;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 720px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 0.9vmin);
    --max-height: calc(100vh - var(--wrapper));
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .home_page .key::after {
    font-size: min(10px, 0.4vw);
    bottom: -30em;
  }
  .home_page .key .key-img .main-img {
    font-size: min(10px, 0.5vw);
    left: 1.5em;
  }
  .home_page .key .key-img .sub-img {
    right: 0;
  }
  .home_page .key .catch {
    font-size: 8px;
    margin-right: 14em;
  }
  .home_page .key .slick-dots {
    bottom: 22em;
  }
  .home_page .key .key-banner {
    bottom: 14em;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .home_page .key .slick-dots {
    bottom: 19em;
    right: calc(50% - 30em);
  }
  .home_page .key .key-img .main-img {
    font-size: min(10px, 0.48vw);
    top: -32em;
  }
  .home_page .key .key-img .sub-img {
    right: 20px;
  }
  .home_page .key .item.s3 .key-img .main-img {
    top: -26em;
  }
  .home_page .key .catch {
    margin-right: 20em;
  }
  .home_page .key .key-banner {
    bottom: 6em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: 1vmin;
  }
  .home_page .key::after {
    bottom: -50em;
    right: -40em;
  }
  .home_page .key::before {
    top: -23%;
  }
  .home_page .key .key-img .main-img {
    font-size: min(10px, 0.35vw);
    top: -24em;
    left: 18em;
  }
  .home_page .key .key-img .sub-img {
    top: -10em;
  }
  .home_page .key .catch {
    margin-right: 30em;
  }
  .home_page .key .slick-dots {
    bottom: 13em;
    right: calc(50% - 29em);
  }
  .home_page .key .key-banner {
    bottom: 0;
  }
  .home_page .key .item.s3 .key-img .main-img {
    top: -17em;
  }
  .home_page .key .item.s3 .key-img .sub-img {
    top: -5em;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .home_page .key {
    --min-height: 100vh;
  }
  .home_page .key::before {
    top: -8%;
  }
  .home_page .key .key-img .main-img {
    font-size: 0.42vw;
    top: -24em;
    left: 38px;
  }
  .home_page .key .slick-dots {
    bottom: 12em;
    right: calc(50% - 17vw);
  }
  .home_page .key .key-banner {
    bottom: 1em;
  }
  .home_page .key .catch {
    margin-right: 20em;
  }
  .home_page .key .item.s3 .key-img .main-img {
    top: -18em;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page .key::before {
    top: auto;
    height: 60vw;
  }
  .home_page .key::after {
    bottom: -35em;
  }
  .home_page .key .catch {
    font-size: 6.5px;
    margin-right: 14em;
    top: 8em;
  }
  .home_page .key .key-img .main-img {
    top: -30em;
    left: 20px;
    font-size: min(10px, 0.45vw);
  }
  .home_page .key .key-img .sub-img {
    font-size: 0.5vw;
    top: -20em;
  }
  .home_page .key .slick-dots {
    bottom: 15em;
    right: calc(50% - 24vw);
  }
  .home_page .key .key-banner {
    font-size: 8px;
  }
  .home_page .key .item.s3 .key-img .main-img {
    top: -24em;
  }
  .home_page .key .item.s3 .key-img .sub-img {
    top: -15em;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .home_page .key {
    --min-height: 550px;
  }
  .home_page .key::before {
    height: 66vw;
  }
  .home_page .key::after {
    bottom: -5em;
  }
  .home_page .key .key-img .main-img {
    top: -40em;
    font-size: min(10px, 0.42vw);
  }
  .home_page .key .catch {
    margin-right: 19em;
    font-size: 0.65vw;
    top: 0;
  }
  .home_page .key .slick-dots {
    bottom: 15em;
    right: calc(50% - 26vw);
  }
  .home_page .key .item.s2 .key-img .sub-img {
    top: -24em;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.index0 {
  padding: 100px 0px 100px;
}

.index0 {
  padding: 100px 0px 100px;
}

.index0 {
  padding: 100px 0px 100px;
}

.idx-news {
  padding-top: 95px;
  padding-bottom: 120px;
  position: relative;
}
.idx-news::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  background-image: url(../images/idx-news-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  height: 1810px;
}
.idx-news .inner_big {
  position: relative;
  z-index: 1;
}
.idx-news .flex {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.idx-news .news-title {
  font-size: 10px;
  position: absolute;
  top: -44px;
  left: 20px;
}
.idx-news .news-title .en {
  font-size: 10em;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  color: #fff;
  margin-left: -63px;
  margin-bottom: 18px;
}
.idx-news .news-title h3 {
  color: #203424;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 3.6em;
  line-height: 1;
  font-family: var(--f-kosugi);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.idx-news .news-title h3::before {
  display: block;
  content: "";
  margin-right: 0.4166666em;
  width: 0.3888888889em;
  height: 0.3888888889em;
  border-radius: 50%;
  background-color: #c2d4eb;
}
.idx-news .left {
  width: 277px;
  padding-bottom: 45px;
}
.idx-news .right {
  max-width: 908px;
  min-height: 394px;
  width: calc(100% - 277px);
}
.idx-news .news-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 14px;
}
.idx-news .news-button li {
  width: 176px;
  font-size: 20px;
  font-weight: 400;
  font-family: var(--f-kosugi);
  letter-spacing: 0.05em;
  text-align: center;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx-news .news-button .st1 {
  background-color: #fff;
  color: #88acb9;
  border: 1px solid #88acb9;
}
.idx-news .news-button .st1.active, .idx-news .news-button .st1:hover {
  background-color: #8aaebb;
  color: #fff;
}
.idx-news .news-button .st2 {
  border: 1px solid var(--main-color);
  background-color: #fff;
  color: var(--main-color);
}
.idx-news .news-button .st2.active, .idx-news .news-button .st2:hover {
  background-color: var(--main-color);
  color: #fff;
}
.idx-news .news-button .st3 {
  border: 1px solid var(--clr2);
  background-color: #fff;
  color: var(--clr2);
}
.idx-news .news-button .st3.active, .idx-news .news-button .st3:hover {
  background-color: var(--clr2);
  color: #fff;
}
.idx-news .news-content {
  margin-top: 61px;
}
.idx-news .tab-content {
  display: none;
}
.idx-news .tab-content.active {
  display: block;
}
.idx-news .tab-content ul li a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid #d6d6d6;
  padding-top: 31px;
  padding-bottom: 29px;
  padding-right: 60px;
  position: relative;
}
.idx-news .tab-content ul li a::before, .idx-news .tab-content ul li a::after {
  position: absolute;
  content: "";
  width: 50px;
  height: 50px;
  right: -1px;
  top: calc(50% - 25px);
}
.idx-news .tab-content ul li a::before {
  border-radius: 50%;
  background-color: #fff;
}
.idx-news .tab-content ul li a::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/news-arr.png);
}
@media only screen and (min-width: 769px) {
  .idx-news .tab-content ul li a:hover::before {
    background-color: var(--main-color);
  }
  .idx-news .tab-content ul li a:hover::after {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
.idx-news .tab-content ul li:first-child a {
  border-top: 1px solid #d6d6d6;
}
.idx-news .tab-content ul .top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 13px;
}
.idx-news .tab-content ul .date {
  letter-spacing: 0.05em;
  color: #5c665e;
  font-weight: 500;
}
.idx-news .tab-content ul .cate {
  color: #fff;
  width: 81px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  margin-left: 14px;
  font-size: 14px;
}
.idx-news .tab-content ul .cate.news {
  background-color: #8da98e;
}
.idx-news .tab-content ul .cate.column {
  background-color: #e7b66f;
}
.idx-news .tab-content ul .title {
  color: #203424;
  text-overflow: ellipsis;
  /* Needed to make it work */
  overflow: hidden;
  white-space: nowrap;
  letter-spacing: 0.05em;
  font-size: 18px;
}
@media only screen and (min-width: 1281px) {
  .idx-news .btn-group .btn {
    margin-bottom: 22px;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx-news .inner_big {
    width: 90%;
  }
  .idx-news .right {
    width: calc(95% - 277px);
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx-news {
    padding-top: 120px;
  }
  .idx-news .news-title {
    left: 7em;
  }
  .idx-news .left {
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx-news {
    padding-top: 130px;
  }
  .idx-news .news-title {
    left: 20px;
  }
  .idx-news .news-title .en {
    font-size: 8em;
    margin-left: 0;
  }
}
@media only screen and (max-width: 1279px) and (min-width: 769px) {
  .idx-news .inner_big {
    width: 100%;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx-news {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .idx-news .news-content {
    margin-top: 40px;
  }
  .idx-news .right {
    padding-left: 30px;
  }
  .idx-news .tab-content ul li a {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .idx-news .tab-content ul .title {
    font-size: 16px;
  }
  .idx-news .news-title {
    font-size: min(8px, 0.9vw);
    top: 0;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx-news {
    padding-top: 0;
  }
  .idx-news .news-button li {
    font-size: 18px;
    height: 40px;
  }
}

.idx01 {
  position: relative;
  padding-top: 130px;
}
.idx01 .inner_big {
  position: relative;
  z-index: 2;
}
.idx01::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 159px);
  min-height: 1065px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx01-bg.jpg);
}
.idx01-left {
  max-width: 480px;
  width: 45%;
}
.idx01-right {
  max-width: 700px;
  width: 55%;
}
.idx01-logo {
  max-width: 321px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 22px;
}
.idx01-logo:hover a {
  opacity: 1;
}
.idx01-des {
  color: #fff;
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 26px;
}
.idx01-des span {
  padding-right: 7px;
}
.idx01-top {
  margin-top: 63px;
}
.idx01 .btn-group {
  margin-top: 60px;
}
.idx01 .btn-group.col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px;
}
.idx01 .btn-group .btn {
  margin-bottom: 0;
}
.idx01 .btn-group .btn a {
  height: 70px;
  letter-spacing: 0.1em;
  line-height: 1.2222222222;
}
.idx01 .btn-group .btn.icon a::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='38px' height='36px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M33.139,35.999 L4.860,35.999 C3.571,35.999 2.335,35.515 1.424,34.651 C0.512,33.786 -0.000,32.617 -0.000,31.394 L-0.000,24.697 C-0.000,24.364 0.139,24.045 0.388,23.810 C0.637,23.575 0.974,23.441 1.326,23.441 C1.677,23.441 2.014,23.575 2.263,23.810 C2.511,24.045 2.651,24.364 2.651,24.697 L2.651,31.394 C2.651,31.949 2.884,32.483 3.298,32.876 C3.713,33.267 4.274,33.489 4.860,33.489 L33.139,33.489 C33.725,33.489 34.287,33.267 34.702,32.876 C35.116,32.483 35.349,31.949 35.349,31.394 L35.349,24.697 C35.349,24.364 35.488,24.045 35.737,23.810 C35.986,23.575 36.323,23.441 36.674,23.441 C37.026,23.441 37.363,23.575 37.612,23.810 C37.860,24.045 37.1000,24.364 37.1000,24.697 L37.1000,31.394 C37.1000,32.617 37.488,33.786 36.576,34.651 C35.665,35.515 34.429,35.999 33.139,35.999 ZM18.1000,29.303 C18.826,29.303 18.653,29.271 18.492,29.209 C18.331,29.144 18.186,29.051 18.063,28.933 L10.993,22.236 C10.759,21.998 10.632,21.684 10.638,21.359 C10.644,21.033 10.783,20.722 11.026,20.492 C11.269,20.263 11.596,20.129 11.940,20.123 C12.283,20.119 12.616,20.240 12.867,20.461 L17.674,25.017 L17.674,1.255 C17.674,0.923 17.814,0.603 18.063,0.367 C18.311,0.133 18.648,0.001 18.1000,0.001 C19.351,0.001 19.689,0.133 19.937,0.367 C20.186,0.603 20.326,0.923 20.326,1.255 L20.326,25.017 L25.133,20.461 C25.384,20.240 25.717,20.119 26.060,20.123 C26.403,20.129 26.731,20.263 26.974,20.492 C27.217,20.722 27.356,21.033 27.362,21.359 C27.368,21.684 27.240,21.998 27.006,22.236 L19.937,28.933 C19.814,29.051 19.668,29.144 19.507,29.209 C19.347,29.271 19.174,29.303 18.1000,29.303 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='38px' height='36px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M33.139,35.999 L4.860,35.999 C3.571,35.999 2.335,35.515 1.424,34.651 C0.512,33.786 -0.000,32.617 -0.000,31.394 L-0.000,24.697 C-0.000,24.364 0.139,24.045 0.388,23.810 C0.637,23.575 0.974,23.441 1.326,23.441 C1.677,23.441 2.014,23.575 2.263,23.810 C2.511,24.045 2.651,24.364 2.651,24.697 L2.651,31.394 C2.651,31.949 2.884,32.483 3.298,32.876 C3.713,33.267 4.274,33.489 4.860,33.489 L33.139,33.489 C33.725,33.489 34.287,33.267 34.702,32.876 C35.116,32.483 35.349,31.949 35.349,31.394 L35.349,24.697 C35.349,24.364 35.488,24.045 35.737,23.810 C35.986,23.575 36.323,23.441 36.674,23.441 C37.026,23.441 37.363,23.575 37.612,23.810 C37.860,24.045 37.1000,24.364 37.1000,24.697 L37.1000,31.394 C37.1000,32.617 37.488,33.786 36.576,34.651 C35.665,35.515 34.429,35.999 33.139,35.999 ZM18.1000,29.303 C18.826,29.303 18.653,29.271 18.492,29.209 C18.331,29.144 18.186,29.051 18.063,28.933 L10.993,22.236 C10.759,21.998 10.632,21.684 10.638,21.359 C10.644,21.033 10.783,20.722 11.026,20.492 C11.269,20.263 11.596,20.129 11.940,20.123 C12.283,20.119 12.616,20.240 12.867,20.461 L17.674,25.017 L17.674,1.255 C17.674,0.923 17.814,0.603 18.063,0.367 C18.311,0.133 18.648,0.001 18.1000,0.001 C19.351,0.001 19.689,0.133 19.937,0.367 C20.186,0.603 20.326,0.923 20.326,1.255 L20.326,25.017 L25.133,20.461 C25.384,20.240 25.717,20.119 26.060,20.123 C26.403,20.129 26.731,20.263 26.974,20.492 C27.217,20.722 27.356,21.033 27.362,21.359 C27.368,21.684 27.240,21.998 27.006,22.236 L19.937,28.933 C19.814,29.051 19.668,29.144 19.507,29.209 C19.347,29.271 19.174,29.303 18.1000,29.303 Z'/%3E%3C/svg%3E");
  width: 19px;
  height: 18px;
  right: 32px;
  top: calc(50% - 9px);
}
.idx01-faq {
  margin-top: 60px;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff;
}
.idx01-faq.active .idx01-faqBtn {
  border-bottom: 0;
}
.idx01-faq.active .ttl span::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.idx01-faq .ttl {
  font-size: 24px;
  color: #203424;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 27px;
  font-weight: 500;
}
.idx01-faq .ttl::before {
  display: block;
  content: "";
  margin-right: 18px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx01-shape1.png);
  margin-top: 5px;
  width: 106px;
  height: 30px;
}
.idx01-faq .ttl span {
  width: 100%;
  display: block;
  position: relative;
}
.idx01-faq .ttl span::before, .idx01-faq .ttl span::after {
  position: absolute;
  content: "";
  background-color: #ef8033;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx01-faq .ttl span::before {
  width: 2px;
  height: 32px;
  top: 12px;
  right: 15px;
}
.idx01-faq .ttl span::after {
  width: 32px;
  height: 2px;
  top: 27px;
  right: 0;
}
.idx01-faq .ttl .sp {
  display: inline;
}
.idx01-faq .ttl .sp::before, .idx01-faq .ttl .sp::after {
  display: none;
}
.idx01-faqBtn {
  background-color: #e6f4f9;
  border-radius: 20px;
  padding-top: 12px;
  padding-bottom: 14px;
  padding-left: 12px;
  cursor: pointer;
  border: 6px solid #fff;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx01-faqContent {
  padding-top: 40px;
  padding-left: 40px;
  padding-right: 106px;
  padding-bottom: 40px;
  display: none;
}
.idx01-mapsm {
  max-width: 560px;
}
.idx01-mapsm img {
  border-radius: 160px;
}
.idx01 .faq-content {
  max-width: 505px;
  padding-top: 51px;
}
.idx01 .faq-title {
  font-size: 10px;
  margin-bottom: 5px;
}
.idx01 .faq-title h4 {
  font-size: 3em;
  letter-spacing: 0.1em;
  color: #203424;
  line-height: 1;
  margin-bottom: 5px;
}
.idx01 .faq-title .sm {
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #ef8033;
  text-transform: uppercase;
}
.idx01 .faq-boxTxt p {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 10px;
}
.idx01-map {
  margin-top: 60px;
  height: 320px;
  border: 1px solid #97a39a;
  border-radius: 20px;
}
.idx01-map iframe {
  border-radius: 20px;
}
@media only screen and (min-width: 769px) {
  .idx01-faqBtn:hover {
    background-color: #7cb4c7;
    border-color: #7cb4c7;
  }
}
@media only screen and (min-width: 1281px) {
  .idx01-right {
    margin-top: 1px;
  }
  .idx01-logo {
    position: relative;
    left: -8px;
  }
  .idx01-des {
    position: relative;
    left: -7px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx01::before {
    background-image: url(../images/idx01-bg1366.jpg);
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx01 {
    padding-top: 80px;
  }
  .idx01-faqContent {
    padding-right: 70px;
  }
  .idx01 .inner_big {
    width: 90%;
  }
  .idx01-mapsm {
    width: 45%;
  }
  .idx01 .faq-content {
    width: 52%;
    padding-top: 0;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx01 .inner_big {
    width: 100%;
  }
  .idx01-faqContent {
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
  }
  .idx01-right {
    width: 53%;
  }
  .idx01 .faq-title {
    font-size: 8px;
  }
  .idx01 .faq-boxTxt p {
    font-size: 16px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx01::before {
    min-height: unset;
    height: calc(100% - 100px);
  }
  .idx01-des {
    font-size: 16px;
    line-height: 1.6;
  }
  .idx01-des span {
    display: block;
  }
  .idx01 .btn-group {
    margin-top: 30px;
  }
  .idx01-faq {
    margin-top: 30px;
  }
  .idx01-faq .ttl {
    font-size: 22px;
  }
  .idx01-map {
    margin-top: 30px;
  }
}

.idx02 {
  position: relative;
  padding-top: 209px;
}
.idx02::before {
  position: absolute;
  content: "";
  top: -209px;
  left: 0;
  width: 100%;
  height: calc(100% + 416px);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx02-bg.png);
}
@media only screen and (min-width: 1921px) {
  .idx02::before {
    top: -430px;
    height: calc(100% + 860px);
  }
}
.idx02 .inner_big {
  position: relative;
}
.idx02 .idx-title {
  margin-bottom: 46px;
}
.idx02-content {
  max-width: 720px;
  width: 60%;
  border-radius: 360px;
  background-color: rgba(255, 255, 255, 0.85);
  padding: 107px 144px 111px;
  position: relative;
}
.idx02-content .text-en {
  position: absolute;
  top: -62px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  font-family: var(--f-en);
  font-weight: bold;
  color: #fff;
  opacity: 0.6;
  font-size: 100px;
  line-height: 0.85;
  margin-bottom: 0;
  width: 100%;
  letter-spacing: 0.05em;
}
.idx02-content .t {
  font-size: 20px;
  line-height: 2.1111111111;
  letter-spacing: 0.14em;
  text-align: center;
}
.idx02 .btn-group {
  margin-top: 50px;
}
.idx02 .btn-group .btn {
  margin-left: auto;
  margin-right: auto;
}
.idx02-img {
  position: absolute;
  top: -89px;
  right: -560px;
  max-width: 640px;
  width: 90%;
  overflow: hidden;
  border-radius: 320px;
}
.idx02-img::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.2);
  width: 100%;
  height: 232px;
  z-index: 1;
  backdrop-filter: blur(8px);
}
.idx02-img figure {
  position: relative;
}
.idx02-img figure::before {
  position: absolute;
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 1px solid #203424;
  top: 0;
  left: 0;
  border-radius: 320px;
}
.idx02-img .name {
  font-size: 10px;
  text-align: center;
  position: absolute;
  bottom: 6.2em;
  left: 0;
  width: 100%;
  z-index: 1;
}
.idx02-img .name span {
  display: block;
  line-height: 1;
  font-family: var(--f-kosugi);
  letter-spacing: 0.14em;
}
.idx02-img .name .t1 {
  font-size: 2em;
  font-weight: 400;
  color: #fff;
  background-color: #4caf50;
  display: inline-block;
  border-radius: 22px;
  padding: 11px 14px 13px 17px;
}
.idx02-img .name .t2 {
  color: #203424;
  font-weight: 500;
  font-size: 3.8em;
  margin-top: 0.4em;
}
.idx02-img .name .t3 {
  color: #4caf50;
  font-size: 1.4em;
  font-family: var(--f-notosans);
  text-transform: uppercase;
  margin-top: 1em;
}
@media only screen and (min-width: 1281px) {
  .idx02 .btn-group .btn {
    margin-bottom: 11px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx02-content {
    padding: 107px 120px 111px;
  }
  .idx02::before {
    background-image: url(../images/idx02-bg1366.png);
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx02 {
    padding-top: 150px;
  }
  .idx02-img {
    right: -510px;
    width: 80%;
  }
  .idx02-content {
    padding: 120px 120px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx02 .idx-title {
    margin-bottom: 20px;
  }
  .idx02-content {
    padding: 80px 40px;
  }
  .idx02-content .text-en {
    font-size: 70px;
    top: -45px;
  }
  .idx02-content .t {
    font-size: 16px;
  }
  .idx02-img {
    right: -38vw;
    width: 70%;
    top: -70px;
  }
  .idx02-img::before {
    height: 170px;
  }
  .idx02-img .name {
    font-size: 8px;
    bottom: 4em;
  }
  .idx02 .btn-group {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx02-content {
    padding: 80px 30px;
  }
}

.idx03 {
  position: relative;
  padding-top: 250px;
  padding-bottom: 278px;
}
.idx03::before {
  position: absolute;
  content: "";
  top: -38px;
  left: 0;
  width: 100%;
  height: calc(100% + 38px);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx03-bg.png);
}
@media only screen and (min-width: 1921px) {
  .idx03::before {
    top: -170px;
    height: calc(100% + 340px);
  }
}
.idx03 .inner_big {
  position: relative;
}
.idx03 .idx-title h3 {
  color: #203424;
}
.idx03-TabsButton {
  margin-top: 62px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 12px;
}
.idx03-TabsButton li {
  width: 50%;
  background-color: #203424;
  color: #fff;
  text-align: center;
  border-radius: 40px;
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: var(--f-kosugi);
  padding-top: 22px;
  padding-bottom: 22px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.idx03-TabsButton li::before {
  z-index: 1;
  bottom: -43px;
  left: 50%;
  position: absolute;
  content: "";
  width: 1px;
  height: 60px;
  background-color: #c7d1d5;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx03-TabsButton li.active {
  background-color: #4caf50;
}
.idx03-TabsButton li.active::before {
  opacity: 1;
}
.idx03-TabsButton li.active:hover {
  background-color: #4caf50;
}
.idx03-TabsButton li.active:hover::before {
  opacity: 1;
}
.idx03-contents {
  position: relative;
  background-color: #fff;
  margin-top: 24px;
  padding-bottom: 34px;
  border-radius: 40px;
}
.idx03-ct {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding-top: 42px;
}
.idx03-ct.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}
.idx03-groupBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 41px;
  gap: 12px;
}
.idx03-btn {
  max-width: 398px;
  width: calc(33.33% - 12px);
  margin-bottom: 0;
}
.idx03-btn a {
  background-color: #f9f9f9;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #203424;
  height: 80px;
  font-size: 18px;
  letter-spacing: 0.05em;
  padding-left: 1em;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding-right: 45px;
}
.idx03-btn a::after {
  position: absolute;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: calc(50% - 6px);
  right: 20px;
  width: 20px;
  height: 13px;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='26px'%3E%3Cpath fill-rule='evenodd' fill='rgb(32, 52, 36)' d='M26.500,-0.006 L23.1000,-0.006 C23.1000,5.411 27.250,9.529 31.500,11.914 L0.000,11.914 L0.000,14.080 L31.500,14.080 L31.500,14.080 C27.250,16.465 23.1000,20.584 23.1000,26.005 L26.500,26.005 C26.500,18.634 33.500,14.080 39.1000,14.080 L39.1000,11.914 C33.500,11.914 26.500,7.363 26.500,-0.006 '/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='26px'%3E%3Cpath fill-rule='evenodd' fill='rgb(32, 52, 36)' d='M26.500,-0.006 L23.1000,-0.006 C23.1000,5.411 27.250,9.529 31.500,11.914 L0.000,11.914 L0.000,14.080 L31.500,14.080 L31.500,14.080 C27.250,16.465 23.1000,20.584 23.1000,26.005 L26.500,26.005 C26.500,18.634 33.500,14.080 39.1000,14.080 L39.1000,11.914 C33.500,11.914 26.500,7.363 26.500,-0.006 '/%3E%3C/svg%3E");
  background-color: #203424;
}
.idx03-btn a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #4caf50;
  border-radius: 10px;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx03-btn a .txt {
  line-height: 1.4;
  font-weight: 500;
  margin-left: 1em;
}
.idx03-btn a .icon {
  width: 100%;
  display: contents;
}
.idx03-btn a .icon img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (min-width: 769px) {
  .idx03-btn a:hover {
    color: #4caf50;
    background-color: #fff;
  }
  .idx03-btn a:hover .icon img {
    -webkit-filter: brightness(0) saturate(100%) invert(48%) sepia(71%) saturate(480%) hue-rotate(84deg) brightness(95%) contrast(92%);
            filter: brightness(0) saturate(100%) invert(48%) sepia(71%) saturate(480%) hue-rotate(84deg) brightness(95%) contrast(92%);
  }
  .idx03-btn a:hover::after {
    background-color: #4caf50;
  }
  .idx03-btn a:hover::before {
    opacity: 1;
  }
  .idx03-TabsButton li:hover {
    background-color: #2f6a31;
  }
}
@media only screen and (min-width: 1919px) {
  .idx03-btn {
    margin-bottom: -2px;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .idx03 {
    padding-bottom: 180px;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx03 {
    padding-bottom: 150px;
  }
  .idx03-btn a {
    font-size: 16px;
  }
  .idx03 .inner_big {
    width: 90%;
  }
  .idx03-groupBtn {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx03 .inner_big {
    width: 100%;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx03-TabsButton li {
    font-size: 22px;
    padding-top: 15px;
    padding-bottom: 10px;
  }
  .idx03-TabsButton li::before {
    bottom: -40px;
    height: 50px;
  }
  .idx03-ct {
    padding-top: 30px;
  }
  .idx03-btn a {
    font-size: 14px;
  }
}

.idx04 {
  background-color: #f7f7f7;
  position: relative;
  --radius: 80px;
  z-index: 2;
  padding-top: 106px;
  padding-bottom: 79px;
}
.idx04::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  right: 7.85%;
  background-color: #fff;
  width: 100vw;
  height: 100%;
  border-radius: 0 var(--radius) var(--radius) 0;
}
.idx04 .idx-title {
  text-align: left;
  margin-bottom: 46px;
}
.idx04-content {
  max-width: 600px;
  margin-right: 0;
  margin-left: auto;
}
.idx04 .t {
  font-size: 20px;
  letter-spacing: 0.14em;
  line-height: 2.1111111111;
}
.idx04 .btn-group {
  margin-top: 51px;
}
.idx04-flex {
  margin-top: 64px;
  gap: 10px;
}
.idx04-item {
  border: 1px solid #c7d1d5;
  background-color: #fafafa;
  border-radius: 20px;
  max-width: 416px;
  width: calc(25% - 10px);
  padding-top: 135px;
  padding-left: 15px;
  padding-bottom: 47px;
  position: relative;
  overflow: hidden;
  padding-right: 10px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(32, 52, 36, 0.06);
          box-shadow: 0px 0px 30px 0px rgba(32, 52, 36, 0.06);
}
.idx04-item::before, .idx04-item::after {
  position: absolute;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx04-item::before {
  top: -65px;
  right: -58px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background-color: #fff;
}
.idx04-item::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  font-size: 10px;
}
.idx04-item .txt {
  line-height: 1.875;
  letter-spacing: 0;
  margin-bottom: 0;
  position: relative;
}
.idx04-item.ic1::after {
  background-image: url(../images/idx04-ic1.png);
  width: 6.2em;
  height: 9.5em;
  top: 4.6em;
  right: 5.6em;
}
.idx04-item.ic2::after {
  background-image: url(../images/idx04-ic2.png);
  width: 8.1em;
  height: 9.6em;
  top: 4.6em;
  right: 4.7em;
}
.idx04-item.ic3::after {
  background-image: url(../images/idx04-ic3.png);
  width: 9.5em;
  height: 9.5em;
  top: 4.6em;
  right: 4.7em;
}
.idx04-item.ic4::after {
  background-image: url(../images/idx04-ic4.png);
  width: 9.5em;
  height: 9.5em;
  top: 4.6em;
  right: 4.7em;
}
.idx04-title {
  font-size: 10px;
  margin-bottom: 20px;
  position: relative;
}
.idx04-title p {
  line-height: 1;
}
.idx04-title .jp {
  color: #203424;
  font-size: 2.4em;
  letter-spacing: 0.14em;
  font-family: var(--f-kosugi);
  margin-bottom: 8px;
}
.idx04-title .sm {
  color: #ffa726;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.idx04-banner {
  max-width: 460px;
  margin-top: 60px;
  margin-left: auto;
  margin-right: auto;
}
.idx04-banner a:hover {
  opacity: 1;
}
.idx04-img {
  position: absolute;
  top: -62px;
  left: 0;
  max-width: 860px;
  width: 50%;
}
.idx04-img img {
  border-radius: 0 40px 40px 0;
  -webkit-box-shadow: 0px 0px 50px 0px rgba(32, 52, 36, 0.06);
          box-shadow: 0px 0px 50px 0px rgba(32, 52, 36, 0.06);
}
@media only screen and (min-width: 1921px) {
  .idx04-img {
    left: 25%;
  }
}
@media only screen and (min-width: 769px) {
  .idx04-item:hover::before {
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .idx04::before {
    right: 2%;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx04 {
    padding-top: 60px;
  }
  .idx04::before {
    right: 20px;
  }
  .idx04 .inner_big {
    padding-right: 30px;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx04 .inner_big {
    padding-right: 40px;
  }
  .idx04 .t {
    font-size: 16px;
  }
  .idx04 .idx-title {
    font-size: 8px;
    margin-bottom: 30px;
  }
  .idx04-content {
    width: 50%;
  }
  .idx04-img {
    width: 48%;
  }
  .idx04 .btn-group {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx04-img {
    width: 45%;
  }
  .idx04-item {
    padding-top: 100px;
    padding-bottom: 30px;
  }
  .idx04-item::after {
    font-size: 7px;
  }
  .idx04-item::before {
    width: 200px;
    height: 200px;
  }
  .idx04-item .txt br {
    display: none;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx04 {
    padding-bottom: 50px;
    padding-top: 40px;
  }
  .idx04-item {
    padding-left: 10px;
  }
  .idx04-item .txt {
    letter-spacing: 0;
    font-size: 12.5px;
  }
  .idx04-item::after {
    font-size: 5.5px;
  }
  .idx04-item::before {
    top: -38px;
    right: -30px;
    width: 150px;
    height: 150px;
  }
  .idx04-title .jp {
    font-size: 2.2em;
  }
  .idx04-banner {
    margin-top: 30px;
  }
}

.idx05 {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  padding-top: 174px;
  padding-bottom: 60px;
}
.idx05::before, .idx05::after {
  position: absolute;
  content: "";
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.idx05::before {
  background-image: url(../images/idx05-bg.png);
  top: -135px;
  left: -4px;
  width: 1291px;
  height: 1102px;
}
.idx05::after {
  background-image: url(../images/idx05-bg-sm.jpg);
  bottom: 0;
  right: 0;
  width: 45%;
  height: 85%;
  max-width: 790px;
  max-height: 933px;
  border-top-left-radius: 80px;
  background-size: cover;
}
@media only screen and (min-width: 1919px) {
  .idx05::after {
    right: -7px;
  }
}
.idx05 .btn-group .btn {
  max-width: 360px;
}
.idx05 .idx-title {
  margin-bottom: 49px;
}
.idx05 .idx-title h3 {
  font-size: 4em;
  line-height: 1.2;
}
.idx05-content {
  max-width: 710px;
  width: 60%;
}
.idx05-content .t {
  max-width: 531px;
  font-size: 20px;
  line-height: 2;
}
.idx05 .btn-group {
  margin-top: 52px;
}
.idx05-img {
  max-width: 855px;
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  top: 10.75%;
  right: 7.85%;
}
.idx05-img .img {
  width: 49.5%;
  max-width: 420px;
}
.idx05-img .img01 {
  margin-top: 22.1%;
}
.idx05-img img {
  border-radius: 20px;
  -webkit-box-shadow: 0px 0px 50px 0px rgba(32, 52, 36, 0.06);
          box-shadow: 0px 0px 50px 0px rgba(32, 52, 36, 0.06);
}
.idx05-banner {
  max-width: 460px;
  margin-top: 66px;
  margin-left: auto;
  margin-right: auto;
}
.idx05-banner:hover a {
  opacity: 1;
}
@media only screen and (min-width: 1281px) {
  .idx05 .btn-group .btn {
    margin-bottom: 20px;
  }
  .idx05 .btn-group .btn a::after {
    right: 6%;
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .idx-title {
    text-align: left;
  }
  .idx05 .idx-title h3 {
    margin-bottom: 13px;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .idx05-img {
    right: 3%;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx05-img {
    top: 10vw;
  }
  .idx05-img .img {
    width: 49%;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx05::after {
    height: 83%;
  }
  .idx05-content .t {
    font-size: 16px;
  }
  .idx05 .idx-title {
    margin-bottom: 30px;
  }
  .idx05 .idx-title h3 {
    font-size: 3.5em;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx05::after {
    width: 38%;
    height: 85%;
    border-top-left-radius: 60px;
  }
  .idx05-content {
    width: 50%;
  }
  .idx05-img {
    width: 45%;
  }
  .idx05 .btn-group {
    margin-top: 30px;
  }
  .idx05-banner {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx05 {
    padding-top: 100px;
  }
  .idx05-img {
    top: 14vw;
  }
  .idx05 .idx-title h3 {
    font-size: 3.2em;
  }
}

.idx06 {
  background-image: url(../images/idx06-bg.jpg);
  background-position: top center;
  padding-top: 83px;
}
@media only screen and (min-width: 1921px) {
  .idx06 {
    background-size: 100% 120%;
  }
}
.idx06 .idx-title {
  position: relative;
  z-index: 1;
  padding-top: 8.7em;
}
.idx06 .idx-title::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  content: "features";
  text-transform: uppercase;
  font-size: 14em;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-family: var(--f-en);
  line-height: 0.85;
  color: #fff;
}
.idx06-txt {
  max-width: 347px;
  position: relative;
  z-index: 1;
}
.idx06-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1760px;
  margin-bottom: 160px;
  position: relative;
}
.idx06-item:nth-child(1), .idx06-item:nth-child(2) {
  width: 100%;
}
.idx06-item:nth-child(2n) .idx06-img::before {
  background-color: #f9f1e1;
  right: auto;
  left: -140px;
}
.idx06-item:nth-child(2n) .idx06-img::after {
  color: #ffa726;
}
@media only screen and (min-width: 769px) {
  .idx06-item.col2 {
    max-width: 590px;
    width: 50%;
    display: block;
  }
}
.idx06-item.col2 .idx06-img {
  max-width: 100%;
  width: 100%;
}
.idx06 .point {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 160px;
  letter-spacing: 0;
  line-height: 0.85;
  font-weight: 500;
  font-family: var(--f-en);
}
.idx06 .point::before {
  position: absolute;
  content: "";
  top: 1.075em;
  left: calc(50% - 0.04375em);
  width: 1px;
  height: calc(100% + 0.99375em);
  background-color: #dbdedf;
}
.idx06 .point.st1 {
  color: #4caf50;
  top: -31px;
  right: -21px;
}
.idx06 .point.st2 {
  color: #ffa726;
  top: -24px;
  left: -11px;
}
.idx06 .point.st2::before {
  left: calc(50% + 1px);
}
.idx06-img {
  max-width: 758px;
  width: 60%;
  position: relative;
  z-index: 1;
}
.idx06-img::before {
  position: absolute;
  content: "";
  bottom: -80px;
  right: -140px;
  border-radius: 20px;
  width: 300px;
  height: 280px;
  z-index: -1;
  background-color: #e7f7e8;
}
.idx06-img::after {
  position: absolute;
  counter-increment: section;
  content: "0" counter(section);
  font-size: 140px;
  letter-spacing: 0.05em;
  bottom: -19px;
  right: 18px;
  line-height: 0.85;
  font-weight: 500;
  font-family: var(--f-en);
  color: #4caf50;
}
.idx06-img img {
  border-radius: 20px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(32, 52, 36, 0.16);
          box-shadow: 0px 0px 30px 0px rgba(32, 52, 36, 0.16);
}
.idx06-content {
  margin-top: 63px;
  counter-reset: section;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.idx06 .ttl {
  font-size: 34px;
  font-family: var(--f-kosugi);
  letter-spacing: 0.24em;
  font-weight: 400;
  line-height: 1.4117647059;
  color: #203424;
  margin-bottom: 22px;
}
@media only screen and (min-width: 769px) {
  .idx06 .ttl span {
    display: block;
  }
}
.idx06 .text {
  font-size: 24px;
  letter-spacing: 0.2em;
  line-height: 1.75;
}
.idx06 .btn-group {
  margin-top: 72px;
}
@media only screen and (min-width: 1281px) {
  .idx06-item:first-child .idx06-txt {
    padding-top: 8px;
  }
  .idx06-item:nth-child(2) .idx06-txt {
    padding-top: 31px;
  }
}
@media only screen and (min-width: 769px) {
  .idx06-item.left {
    margin-left: 0;
    margin-right: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .idx06-item.left .idx06-txt {
    max-width: 440px;
    padding-left: 69px;
  }
  .idx06-item:nth-child(1) .idx06-img::after, .idx06-item:nth-child(2) .idx06-img::after {
    opacity: 0;
  }
  .idx06-item.right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-right: 0;
    margin-left: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .idx06-item.right .point {
    right: auto;
  }
  .idx06-item.right .idx06-txt {
    max-width: 400px;
    padding-right: 36px;
  }
  .idx06-item.col2 .idx06-img::before {
    width: 232px;
    height: 232px;
    right: 0 !important;
    bottom: -60px !important;
    left: auto;
  }
  .idx06-item.col2 .idx06-txt {
    padding-top: 47px;
    padding-left: 33px;
    max-width: 100%;
  }
  .idx06-item.col2 .ttl {
    margin-bottom: 16px;
  }
  .idx06-item.col2:nth-child(3) .text, .idx06-item.col2:nth-child(4) .text {
    max-width: 80%;
  }
  .idx06-item.col2:last-of-type {
    margin-top: 5.7%;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx06 {
    background-image: url(../images/idx06-bg1366.jpg);
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx06 .inner_big {
    width: 90%;
  }
  .idx06 .point {
    font-size: 120px;
  }
  .idx06 .point.st1 {
    right: -15px;
  }
  .idx06 .ttl {
    font-size: min(30px, 2.5vw);
  }
  .idx06-img {
    width: 55%;
  }
  .idx06-img::after {
    font-size: 120px;
  }
  .idx06-item.col2 {
    width: 49%;
  }
  .idx06-item.col2 .idx06-img {
    width: 90%;
  }
  .idx06-item.col2 .idx06-img::before {
    right: -45px !important;
    bottom: -40px !important;
  }
  .idx06-item.col2 .idx06-img::after {
    font-size: min(100px, 8vw);
    right: -25px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx06 .inner_big {
    width: 100%;
  }
  .idx06-item.left .idx06-txt {
    padding-left: 30px;
    padding-right: 40px;
  }
  .idx06-item.right .idx06-txt {
    padding-left: 60px;
    padding-right: 20px;
  }
  .idx06-item:nth-child(2n):not(.col2) .idx06-img::before {
    left: -100px;
  }
  .idx06-item.col2 {
    width: 49%;
    margin-bottom: 100px;
  }
  .idx06-img::before {
    width: 240px;
    height: 200px;
  }
  .idx06 .point {
    font-size: min(100px, 8vw);
  }
  .idx06 .text {
    font-size: 18px;
  }
  .idx06 .ttl {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx06-item.col2 .idx06-img {
    width: 94%;
  }
  .idx06-item.col2 .idx06-img::before {
    right: -25px !important;
  }
  .idx06-item.col2 .idx06-img::after {
    right: -15px;
    bottom: -10px;
  }
  .idx06-item.col2 .idx06-txt {
    padding-left: 0;
  }
}

.idx07 {
  max-width: 1720px;
  margin-left: auto;
  margin-right: auto;
  background-image: url(../images/idx07-bg.jpg);
  margin-top: 40px;
  border-radius: 40px;
  position: relative;
  z-index: 1;
  width: calc(100% - 40px);
  margin-bottom: 81px;
}
.idx07 .inner_big {
  max-width: 1200px;
  position: relative;
}
.idx07-bg {
  position: relative;
  overflow: hidden;
  padding-top: 196px;
  padding-bottom: 133px;
  border-radius: 40px;
}
.idx07-bg::before {
  position: absolute;
  content: "";
  font-size: min(10px, 0.55vw);
  top: -8em;
  left: -3.8em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx07-doctor.png);
  width: 122.4em;
  height: 85.9em;
}
@media only screen and (min-width: 769px) {
  .idx07 .idx-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: absolute;
    top: -104px;
    right: 98px;
  }
}
.idx07 .idx-title .sm {
  font-size: 12em;
  letter-spacing: 0;
  font-weight: bold;
  color: #fff;
  font-family: var(--f-en);
  margin-left: 7px;
}
.idx07 .idx-title h3 {
  padding-top: 50px;
  letter-spacing: 0.2em;
}
.idx07 .box-txt {
  display: table;
  margin-right: 0;
  margin-left: auto;
}
.idx07 .box-txt .txt {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  margin-bottom: 10px;
}
.idx07 .btn-group {
  margin-top: 51px;
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .idx07 .idx-title {
    right: 1%;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx07 .inner_big {
    width: 75%;
  }
  .idx07-bg::before {
    font-size: 0.53vw;
    left: -14em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx07 .inner_big {
    width: 80%;
  }
  .idx07-bg::before {
    top: -4em;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx07 .box-txt .txt {
    font-size: 16px;
  }
  .idx07-bg {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .idx07 .idx-title {
    font-size: 8px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx07 .idx-title .sm {
    font-size: 10em;
  }
  .idx07 .box-txt {
    width: 70%;
    padding-right: 6%;
  }
  .idx07-bg {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .idx07-bg::before {
    top: 0;
    font-size: 0.5vw;
  }
  .idx07 .btn-group {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx07 .box-txt {
    padding-right: 0;
    width: 70%;
  }
  .idx07 .inner_big {
    width: 73%;
  }
  .idx07 .idx-title {
    font-size: 6px;
    top: -80px;
  }
  .idx07-bg::before {
    font-size: 0.67vw;
    left: -27em;
  }
}

.idx_map {
  height: 450px;
}
.idx_map iframe {
  height: 100%;
}
/*# sourceMappingURL=index_pc.css.map */