@charset "UTF-8";
.home_page .key {
  --height: 56vw;
  --min-height: 550px;
  --max-height: 750px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
}
.home_page .key .inner {
  position: relative;
  width: 100%;
  max-width: 1320px;
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
}
@media only screen and (min-width: 769px) {
  .home_page .key .catch {
    padding-top: 82px;
  }
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-weight: 500;
}
.home_page .key h2 {
  font-size: 4.2em;
  letter-spacing: 0.1em;
  margin-bottom: 0.5476em;
}
@media only screen and (min-width: 769px) {
  .home_page .key h2 {
    margin-left: -0.0238em;
  }
}
.home_page .key p {
  line-height: 2.3333333333;
}
.home_page .key p.en {
  font-size: 10em;
  line-height: 1;
  letter-spacing: 0.2em;
  margin-bottom: 0.12em;
}
@media only screen and (min-width: 769px) {
  .home_page .key p.en {
    margin-left: -0.09em;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key p {
    font-size: max(1.8em, 16px);
  }
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  position: relative;
  color: var(--clr1);
  font-family: var(--f-jp);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.home_page h3 > span {
  display: block;
}
.home_page h3 .en {
  color: var(--main-color);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white .en {
  color: #fff;
}
.home_page h3.sm .jp {
  margin-left: 0;
}
.home_page h3.sm .en {
  margin-bottom: 0;
  letter-spacing: 0.1em;
}

@media only screen and (min-width: 769px) {
  .home_page h3 {
    font-size: calc(var(--ttl_size) + 6px);
    margin-bottom: 35px;
  }
  .home_page h3 .en {
    font-size: 194.4444444444%;
    margin-bottom: 3px;
  }
  .home_page h3 .jp {
    margin-left: 5px;
  }
  .home_page h3.sm {
    font-size: calc(var(--ttl_size) + 12px);
  }
  .home_page h3.sm .jp {
    margin-bottom: 6px;
  }
  .home_page h3.sm .en {
    font-size: 57.1428571429%;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 35vw;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    background-image: url("../images/idx_key_bg.jpg");
  }
}
@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 (min-width: 769px) and (max-width: 1440px) {
  .home_page .key .catch {
    padding-left: 8vw;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key {
    font-size: 1vmin;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.idx01 {
  background-color: var(--clr3);
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 {
    padding-bottom: 84px;
  }
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: 84px 0px 120px;
  }
  .idx01 h3 {
    margin-bottom: 1.1389em;
  }
  .idx01 h3 .en {
    margin-left: -6px;
  }
  .idx01 h3 .jp {
    margin-left: -1px;
  }
  .idx01 .idx_box {
    padding: 0 4.17vw;
    display: flex;
    justify-content: space-between;
    margin-bottom: 99px;
    position: relative;
  }
  .idx01 .idx_box_left {
    max-width: 475px;
    width: 40%;
    padding-top: 21px;
  }
  .idx01 .idx_box_left::before {
    content: "";
    position: absolute;
    width: calc(200% + 177px);
    max-width: 972px;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    bottom: -50px;
    right: -177px;
    background: #fff;
    z-index: -1;
  }
  .idx01 .idx_box_right {
    flex-shrink: 0;
    max-width: 733px;
    width: 58%;
  }
  .idx01 .idx_box .desc {
    padding-bottom: min(3.7vw, 71px);
  }
  .idx01 .idx_box .desc::after {
    top: 100%;
    left: -14%;
  }
  .idx01 .btn-group {
    padding: 0 4.17vw;
    font-size: min(0.695vw, 10px);
  }
  .idx01 .flex_gr {
    --size-mg: 14px;
  }
}
.idx01 .idx_box_left {
  position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .idx_box_left {
    width: 46%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .idx_box_right {
    width: 50%;
  }
}
.idx01 .idx_box .desc {
  position: relative;
}
.idx01 .idx_box .desc::after {
  content: "";
  position: absolute;
  width: 36%;
  max-width: 168px;
  aspect-ratio: 336/156;
  height: auto;
  background: url("../images/idx01_ic02.png") no-repeat center/cover;
}
.idx01 .img_gr {
  position: relative;
}
.idx01 .img_gr::before {
  content: "";
  position: absolute;
  width: 15%;
  max-width: 108px;
  aspect-ratio: 216/356;
  height: auto;
  top: 9.2%;
  left: 7.4%;
  background: url("../images/idx01_ic01.png") no-repeat center/cover;
}
.idx01 .img_gr picture img {
  border-radius: 30px;
}
.idx01 .img_gr .img_lg {
  margin-left: auto;
  max-width: 493px;
  width: 68%;
}
.idx01 .img_gr .img_sm {
  max-width: 326px;
  width: 45%;
  margin-top: -31.8%;
}

.idx02 {
  background-image: url(../images/idx02_bg.jpg);
  color: #fff;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx02 {
    padding: 60px 0;
  }
}
@media only screen and (min-width: 769px) {
  .idx02 {
    padding: min(8.7vw, 166px) 0px min(8.8vw, 168px);
  }
  .idx02 .idx_box {
    width: 58%;
    max-width: 632px;
    margin-left: auto;
    margin-right: 38px;
  }
}

.idx03 {
  background-image: -moz-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(248, 245, 241) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(248, 245, 241) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(248, 245, 241) 100%);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .idx03 {
    padding: 105px 0px 110px;
  }
  .idx03 h3 {
    margin-bottom: 53px;
  }
  .idx03 h3 .en {
    margin-left: 8px;
  }
  .idx03 h3::before {
    width: 19%;
    top: -6px;
    left: 46px;
  }
  .idx03 h3::after {
    width: 45%;
    top: -173%;
    right: -18px;
  }
}
.idx03 h3 {
  text-align: center;
  position: relative;
  z-index: 1;
}
.idx03 h3::before {
  content: "";
  position: absolute;
  max-width: 232px;
  aspect-ratio: 464/168;
  height: auto;
  background: url("../images/idx03_ic01.png") no-repeat center/cover;
}
.idx03 h3::after {
  content: "";
  position: absolute;
  max-width: 566px;
  aspect-ratio: 1132/1136;
  height: auto;
  background: url("../images/idx03_ic02.png") no-repeat center/cover;
  z-index: -1;
}
.idx03_inner {
  position: relative;
}
.idx03_inner::after {
  content: "";
  position: absolute;
  aspect-ratio: 336/324;
  height: auto;
  background: url("../images/idx03_ic03.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  .idx03_inner::after {
    top: calc(100% - 2.75vw);
    bottom: unset;
    left: 20px;
  }
}
@media only screen and (min-width: 769px) {
  .idx03_inner::after {
    width: clamp(84px, 8.75vw, 168px);
    bottom: 0.62%;
    left: -14.1%;
  }
}
.idx03 .idx_list {
  counter-reset: item;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 60px;
  }
  .idx03 .idx_list .ite {
    --pd-size: min(2.1vw, 40px);
  }
  .idx03 .idx_list .ite:nth-child(even) {
    margin-top: calc(var(--pd-size) + 26px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .idx_list {
    gap: 6px 30px;
  }
}
.idx03 .idx_list .ite {
  counter-increment: item;
  --clr-shadow: var(--main-color);
}
.idx03 .idx_list .ite.ite_gr {
  --clr-shadow: var(--clr2) ;
}
.idx03 .idx_list .ite.ite_yl {
  --clr-shadow: var(--clr-yl) ;
}
.idx03 .idx_list .ite.ite_gr_dark {
  --clr-shadow: var(--clr-gr-dark) ;
}
.idx03 .idx_list .ite picture {
  padding: 0 var(--pd-size) var(--pd-size) 0;
  margin-bottom: 24px;
  position: relative;
}
.idx03 .idx_list .ite picture::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  bottom: 0.0417em;
  right: calc(var(--pd-size) + 8px);
  font-family: var(--f-en);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_list .ite picture::before {
    font-size: clamp(80px, 6.25vw, 120px);
  }
}
.idx03 .idx_list .ite picture img {
  box-shadow: var(--pd-size) var(--pd-size) 0 var(--clr-shadow);
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_list .ite picture img {
    border-radius: 30px;
  }
}
.idx03 .idx_list .ite h4 {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_list .ite h4 {
    font-size: calc(var(--ttl_size) + 6px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .idx_list .ite h4 {
    font-size: 26px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx03 .idx_list .ite p {
    width: 90%;
  }
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_list .ite p {
    width: 85.5%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1440px) {
  .idx03 .idx_list .ite:nth-child(1) picture::before {
    right: calc(var(--pd-size) + 20px);
  }
  .idx03 .idx_list .ite:nth-child(2) picture::before {
    right: calc(var(--pd-size) + 13px);
  }
}

.idx04 {
  background-color: var(--clr3);
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: 105px 0 120px;
  }
}
.idx04::before {
  content: "";
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  right: 0px;
  background: url("../images/idx04_bg.jpg") no-repeat center/cover;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx04::before {
    height: 593px;
  }
}
.idx04 h3 {
  text-align: center;
}
.idx04 h3 .en {
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
  .idx04 h3 {
    margin-bottom: 103px;
  }
  .idx04 h3 .en {
    margin-left: 10px;
  }
}
.idx04 .idx_content {
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_content {
    padding: clamp(35px, 4vw, 75px) clamp(40px, 4.2vw, 80px) clamp(40px, 4.2vw, 80px);
    border-radius: 30px;
  }
}
.idx04 .idx_content .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
  margin-bottom: 0.8333em;
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_content .ttl {
    font-size: var(--ttl_size);
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_content .tbl:not(:last-child) {
    margin-bottom: 74px;
  }
}
.idx04 .idx_content .tbl dl {
  display: flex;
  border-bottom: 1px solid #eaeaea;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_content .tbl dl {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_content .tbl dl {
    --w: clamp(190px, 14.6vw, 273px);
    padding: 17px min(4.9vw, 93px);
  }
}
.idx04 .idx_content .tbl dl:first-child {
  border-top: 1px solid #000;
}
.idx04 .idx_content .tbl dl dt {
  letter-spacing: 0.1em;
  width: var(--w);
}
@media only screen and (min-width: 769px) {
  .idx04 .idx_content .tbl dl dt {
    font-size: 24px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_content .tbl dl dt {
    font-size: 20px;
  }
}
.idx04 .idx_content .tbl dl dd {
  width: calc(100% - var(--w));
  line-height: var(--line-height-p);
  padding-top: 1px;
}
.idx04 .idx_content .tbl dl dd ul.lh {
  line-height: 1.75;
  padding-top: 4px;
}
.idx04 .idx_content .tbl dl dd ul.list01 li, .idx04 .idx_content .tbl dl dd ul.list02 li {
  position: relative;
}
.idx04 .idx_content .tbl dl dd ul.list01 li::before, .idx04 .idx_content .tbl dl dd ul.list02 li::before {
  display: inline-block;
  font-size: inherit;
  color: inherit;
}
.idx04 .idx_content .tbl dl dd ul.list01 li.not::before, .idx04 .idx_content .tbl dl dd ul.list02 li.not::before {
  display: none;
}
.idx04 .idx_content .tbl dl dd ul.list01 li::before {
  content: "・";
}
.idx04 .idx_content .tbl dl dd ul.list02 li::before {
  content: "◎";
}
.idx04 .idx_content .tbl dl dd .note {
  position: relative;
}
.idx04 .idx_content .tbl dl dd .note::before {
  content: "※";
  display: inline-block;
  font-size: inherit;
  color: inherit;
}
@media only screen and (min-width: 1440px) {
  .idx04 .idx_content .tbl dl:not(:nth-child(-n+2)) {
    padding-bottom: 21px;
  }
  .idx04 .idx_content .tbl dl.pb-17 {
    padding-bottom: 17px;
  }
  .idx04 .idx_content .tbl dl.pb-18 {
    padding-bottom: 18px;
  }
  .idx04 .idx_content .tbl dl.pb-20 {
    padding-bottom: 20px;
  }
  .idx04 .idx_content .tbl dl.pb-22 {
    padding-bottom: 22px;
  }
  .idx04 .idx_content .tbl dl.pb-24 {
    padding-bottom: 24px;
  }
  .idx04 .idx_content .tbl dl.pb-25 {
    padding-bottom: 25px;
  }
}

.idx05 {
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .idx05 {
    padding: 103px 0 80px;
    background-image: url("../images/idx05_bg.jpg");
  }
  .idx05 p {
    margin-bottom: 40px;
  }
}
.idx05 p {
  max-width: 635px;
  margin-left: auto;
  margin-right: auto;
}

.idx_map {
  height: 450px;
}
.idx_map iframe {
  height: 100%;
}

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