@charset "UTF-8";
/* CSS Document */
body {
  font-family: var(--ja-kaku);
  width: 100%;
  height: 100%;
  color: var(--fc-base);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-weight: 400;
}
figure {
  margin-bottom: 0 !important;
}
.hero-main_wrapper picture {
  display: contents;
}
/*container
========================================================*/
#container {
  width: 100%;
  min-height: 100dvh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  overflow-x: hidden;
}
a.cvr {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
img, svg {
  width: 100%;
  max-width: 100%;
}
.inner {
  width: min(115rem, 100%);
  padding-left: min(3.5rem, 3.2vw);
  padding-right: min(3.5rem, 3.2vw);
  margin-left: auto;
  margin-right: auto;
}
.inner.w-min {
  width: min(106.5rem, 100%);
}
.inner.w-wid {
  width: min(115rem, 100%);
}
.box-wrap {
  width: min(90rem, 100%);
}
/*main
=====================================*/
main {
  flex: 1;
}
/*button setting*/
.button-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
}
.round-button a {
  border-radius: 100vmax;
  background-color: var(--btn-bgc);
  color: var(--btn-text);
  overflow: hidden;
  width: 100%;
  display: grid;
  place-content: center;
  height: 100%;
  font-size: min(1.8rem, 4.2vw);
  font-weight: 600;
  transition: all var(--transit);
}
.round-button.dl {
  width: min(298px, 75vw);
  aspect-ratio: 1/0.3154;
  position: relative;
}
.round-button.dl::after {
  content: "";
  width: 20%;
  position: absolute;
  background: url("../img/top_new/button_tag.svg") no-repeat center/cover;
  aspect-ratio: 1/1.0345;
  top: 0;
  right: 0;
  pointer-events: none;
  translate: 30% -30%;
  transition: all var(--transit);
}
.round-button.dl a {
  font-size: min(25px, 5.5vw);
  --btn-text: #fff;
  background: url("../img/top_new/wall/button_bkg.png") no-repeat center/cover;
  box-shadow: 2px min(7px, 1.25vw) 0 rgba(168, 163, 152, .4);
}
.round-button.org a {
  --btn-bgc: var(--clr-org);
  --btn-text: #fff;
}
@media(hover) {
  .round-button:hover a {
    background-color: color-mix(in srgb, var(--btn-bgc) 80%, #fff);
  }
  .round-button.l-org:hover a {
    color: var(--clr-ylw);
  }
  .round-button.dl:hover::after {
    background-image: url("../img/top_new/hvr-button_tag.svg");
  }
  .round-button.dl:hover a {
    background-image: url("../img/top_new/wall/hvr-button_bkg.png");
  }
}
.dl-button-set {
  position: relative;
}
.dl-button-set .fkds {
  position: absolute;
  aspect-ratio: 1/3.6415;
  width: min(5.7rem, 13vw);
  left: 0;
  top: 0;
  translate: -100% -50%;
}
.round-button.inq {
  width: min(24.3rem, 60vw);
  height: min(63px, 15vw)
}
.round-button.more {
  width: min(22.5rem, 60vw);
  height: min(63px, 15vw)
}
.round-button.l-org a {
  border: 2px solid currentColor;
  --btn-bgc: #fff;
  --btn-text: var(--clr-org);
}
.round-button.more.min {
  width: min(15.3rem, 60vw);
  height: min(60px, 13vw);
}
/*#hero
============================*/
.hero-main {
  position: relative;
  height: 564px;
}
.hero-main_wrapper {
  /*  max-height: 530px;*/
  /*  aspect-ratio: 1 / 0.4678;*/
  height: calc(100% - 35px);
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
}
.hero_mask {
  object-fit: cover;
  height: 100%;
  object-position: center 40%;
  -webkit-mask-image: url("../img/top_new/wall/hero_mask.svg");
  -webkit-mask-size: cover;
  -webkit-mask-position: center bottom;
  mask-image: url("../img/top_new/wall/hero_mask.svg");
  mask-size: cover;
  /*  mask-size:100% 100%;*/
  mask-repeat: no-repeat;
  mask-position: center bottom;
}
.hero-main_inner {
  padding-top: min(50px, 12vw);
  padding-bottom: min(30px, 10vw);
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  position: relative;
  height: 100%;
  /*  grid-template-columns: minmax(auto, 520px);*/
  /*  justify-content: flex-end;*/
}
/*
.hero_app {
  position: absolute;
  left: min(3.5rem, 3.2vw);
  bottom: min(20px, 3vw);
  width: min(52.3rem, 45%);
}
*/
.main-hero_contents {
  margin-left: auto;
  z-index: 1;
  position: relative;
  display: grid;
  grid-template-columns: min(52.3rem, 55%) auto;
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.hero-title {
  grid-area: 1 / 2 / 2 / 3;
  font-weight: 800;
  font-size: min(40px, calc(45vw/13));
  filter: drop-shadow(0 0 min(15px, 2vw) rgba(26, 90, 139, 0.25));
  width: 100%;
}
.hero-title picture {}
.hero_app {
  grid-area: 1 / 1 / 3 / 2;
  position: relative;
  translate: 0 -25%;
}
.box-hero_app {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.item-hero_app {
  font-family: var(--ja-maru);
  font-weight: 700;
  color: var(--clr-wblue);
  z-index: 2;
  position: relative;
  text-align: center;
  line-height: 1;
  display: grid;
  place-content: center;
}
.item-hero_app.achive {
  line-height: 1.2;
}
.item-hero_app.achive > * + * {
  margin-top: 5px;
}
.item-hero_app::before {
  content: "";
  width: 100%;
  aspect-ratio: 1;
  background: url("../img/top_new/hero_app_ccl.png") no-repeat center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -2;
}
.item-hero_app .clr-bk {
  color: var(--fc-base);
}
.item-hero_app .w-line {
  -webkit-text-stroke: 5px #fff;
  text-stroke: 5px #fff;
  paint-order: stroke fill;
}
.item-hero_app .mont {
  font-family: var(--en-mont);
}
.item-hero_app .fs_min {
  font-size: min(1.3rem, 3.4vw);
}
.item-hero_app .fs_mid {
  font-size: min(23px, 5vw);
}
.item-hero_app .fs_wid {
  font-size: 180%;
}
.item-hero_app .num {
  font-size: min(30px, 6vw);
  letter-spacing: -.01em;
}
.hero_app .img-tablet {
  position: absolute;
  right: 0;
  width: calc((100%/3) + 8px);
  top: 50%;
  translate: 0 -50%;
  z-index: 3;
}
/*hero cta*/
.hero-cta_wrap {
  grid-area: 2 / 2 / 3 / 3;
  margin-top: min(30px, 6vw);
  position: relative;
}
.hero-cta_wrap::before {
  content: "";
  position: absolute;
  background: url("../img/top_new/pic_hero.png") no-repeat center/cover;
  aspect-ratio: 1/1.234;
  width: min(70px, 15vw);
  top: 0;
  right: 0;
  translate: 20% -25%;
}
.hero-cta__title {
  width: min(32.4rem, 100%);
}
.set-button-wrap {
  gap: min(20px, 5vw);
}
.hero-cta_wrap .set-button-wrap {
  margin-top: min(15px, 3vw);
}
.hero-cta_wrap .att-text {
  text-align: center;
  line-height: calc(16/10);
  width: min(45em, 100%);
  margin-top: min(25px, 4vw);
}
/*#index content
=========================================================================*/
.index-contents {
  /*  margin-top: min(10rem, 15vw);*/
}
.sec-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(10px, 2vw);
}
.sec-title .en {
  color: var(--clr-pale-org);
  font-family: var(--en-mont);
  font-weight: 600;
}
.sec-title .main {
  font-weight: 600;
  font-size: min(2.35rem, 5.8vw);
  line-height: calc(34/23);
}
.att-text {
  font-family: var(--ja-noto);
  font-weight: 300;
  color: var(--clr-gry);
  font-size: min(1rem, 2.6vw);
  line-height: calc(16/10);
  position: relative;
  padding-left: 1em;
}
.att-text::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.num-att-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(10px, 1vw) 1.5em;
  counter-reset: count 0;
}
.num-att-list li {
  position: relative;
  padding-left: 2.5em;
  color: var(--clr-gry);
  font-weight: 300;
  font-size: min(10px, 3vw);
}
.num-att-list li::before {
  counter-increment: count 1;
  content: "※"counter(count)"：";
  position: absolute;
  left: 0;
  top: 0;
}
/*index banner +++++++++++++++++++++++++++++++++++++++*/
.index-banner-blc {
  background-color: var(--wall-gry);
  padding-top: min(2.5rem, 3vw);
  padding-bottom: min(2.5rem, 3vw);
}
.box-index-banner {
  -ms-align-items: center;
  align-items: center;
  gap: min(40px, 5vw);
}
.item-banner_award {
  width: min(410px, 40%);
  -ms-align-items: center;
  align-items: center;
  gap: min(20px, 4vw);
}
.item-banner_award > div img {
  object-fit: contain;
  height: 100%;
  object-position: center;
}
.i-sdgs {
  aspect-ratio: 1/0.5169;
  height: min(4.6rem, 10vw);
  max-width: 20%;
}
.i-gmark {
  aspect-ratio: 1/0.4452;
  height: min(6.5rem, 14vw);
  max-width: 34%;
}
.i-kda, .i-babytech {
  aspect-ratio: 1/1.2857;
  height: min(8.2rem, 17.6vw);
  max-width: 15%;
}
.item-banner_area {
  flex: 1;
  width: min(calc(60% - min(40px, 5vw)), 548px);
  background: #fff;
  border-radius: 100vmax;
  padding-left: min(20px, 3vw);
  padding-right: min(20px, 3vw);
}
#area-slider {
  width: 100%;
  overflow: hidden;
  height: min(73px, 14vw);
}
#area-slider .swiper-wrapper {
  transition-timing-function: linear;
}
#area-slider .swiper-slide {
  width: 5.5em;
}
#area-slider .swiper-slide.mid {
  width: 6.5em;
}
#area-slider .swiper-slide.wid {
  width: 7.5em;
}
.area-slide-item {
  width: 100%;
  display: grid;
  font-size: min(1.4rem, 3vw);
  /*  grid-template-columns: 2em auto;*/
  grid-template-columns: auto auto;
  height: 100%;
  -ms-align-items: center;
  align-items: center;
  gap: 3px;
}
.area-slide-item.wid {
  width: 9em;
}
.area-slide-item .icon {
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: 100%;
  place-content: center;
  padding: 0 2px;
}
.area-slide-item .icon img {
  object-fit: contain;
  height: 100%;
  object-position: center;
}
.area-slide-item .text {
  white-space: nowrap;
}
/*index intro +++++++++*/
.index-intro-blc {
  background: url("../img/top_new/wall/intro.png") no-repeat center top/min(700px, 100vw);
  padding-top: min(250px, 57vw);
}
.box-index-intro {
  position: relative;
  padding-top: min(150px, 20vw);
  padding-bottom: min(100px, 15vw);
  z-index: 1;
  gap: min(30px, 6vw);
}
.box-index-intro::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: url("../img/top_new/wall/fkds_wht.png") no-repeat top center/100%, linear-gradient(rgba(255, 255, 255, 0) calc(100vw*0.1643), rgba(255, 255, 255, 1) calc(100vw*0.1643));
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  z-index: -1;
}
.intro-title {
  width: min(580px, 80vw);
}
.item-index-intro {
  width: 100%;
  position: relative;
  gap: min(30px, 8vw);
}
.item-index-intro::before {
  content: "";
  width: calc(100% + min(70px, 7vw));
  aspect-ratio: 1/0.3228;
  position: absolute;
  top: 50%;
  left: 50%;
  background: url("../img/top_new/wall/intro_ccl.png") no-repeat center/cover;
  translate: -50% -50%;
  z-index: -1;
}
.item-index-intro .app {
  width: min(490px, 100%);
}
.box-intro-case {
  position: relative;
  padding-top: min(56px, 12vw);
  padding-bottom: min(250px, 20vw);
}
.box-intro-case::after {
  content: "";
  background: url("../img/top_new/wall/arrow_gry.svg") no-repeat center/cover;
  position: absolute;
  left: 50%;
  top: 1px;
  width: min(70px, 15vw);
  aspect-ratio: 1/0.3067;
  translate: -50% -100%;
  z-index: 1;
}
.box-intro-case::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  border-radius: min(80px, 15vw) min(80px, 15vw) 0 0;
  top: 0;
  left: 50%;
  translate: -50% 0;
  background: url("../img/top_new/wall/wid_wave.svg") no-repeat bottom 2px center/100%, linear-gradient(rgba(247, 245, 240, 1) calc(100% - (100vw*0.1733)), rgba(247, 245, 240, 0) calc(100% - (100vw*0.1733)));
  z-index: -1;
}
.item-intro-case {
  position: relative;
  margin-top: min(80px, 12vw);
}
.item-intro-case .title {
  position: absolute;
  height: min(167px, 25vw);
  top: 45%;
  left: 50%;
  translate: -50% -50%;
  font-family: var(--ja-maru);
  color: var(--clr-wblue);
  font-weight: 700;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-end;
  /*  font-size: clamp(1.5rem, 1rem + 1.67vw, 2.25rem);*/
  font-size: min(37px, calc(100vw/12));
  padding-left: 3em;
  line-height: 1;
}
.item-intro-case .title .logo {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
}
.item-intro-case .title .logo img {
  object-fit: contain;
  object-position: left center;
  height: 100%;
}
.item-intro-case .title .text {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-end;
  z-index: 1;
}
.item-intro-case .title .text .num {
  font-family: var(--en-mont);
  font-size: 2em;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
  -webkit-text-stroke: min(6px, 1.2vw) var(--clr-wblue);
  text-stroke: min(6px, 1.2vw) var(--clr-wblue);
  paint-order: stroke fill;
}
.item-intro-case .title .text span:last-child {
  margin-left: auto;
  font-size: .666em;
}
.item-intro-case .title::before {
  content: "";
  background-image: url("../img/top_new/facility_hash.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 130%;
  aspect-ratio: 1/0.1562;
  translate: -50% -50%;
}
.intro-case-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(9rem, 20vw) min(3rem, 8vw);
}
.intro-case-list > li:nth-child(2) {
  translate: 0 -20%;
}
.intro-case-list > li:nth-child(5) {
  translate: 0 20%;
}
.intro-case-list > li .case-in {
  border-radius: 100vmax;
  overflow: hidden;
  isolation: isolate;
  background: var(--item-wall);
}
.intro-case-list > li .att-text {
  margin-top: min(2em, 3.5vw);
}
.intro-case-list > li.wall-grn .case-in {
  --item-wall: var(--wall-grn);
}
.intro-case-list > li.wall-wblue .case-in {
  --item-wall: var(--wall-wblue);
}
.intro-case-list > li.wall-org .case-in {
  --item-wall: var(--wall-org);
}
.intro-case-list > li.wall-ylw .case-in {
  --item-wall: var(--wall-ylw);
}
.intro-case-list > li.wall-pink .case-in {
  --item-wall: var(--wall-pink);
}
.intro-case-list > li.wall-ppl .case-in {
  --item-wall: var(--wall-ppl);
}
.intro-case-list > li .in-title {
  min-height: 3em;
  color: #fff;
  display: grid;
  place-content: center;
  font-family: var(--ja-maru);
  font-size: min(1.6rem, 3.7vw);
  font-weight: 600;
  padding-bottom: .5em;
  letter-spacing: .02em;
}
.intro-case-list > li .in-title h3 {
  font-size: 1em;
  text-align: center;
  line-height: calc(22/16);
}
.intro-case-list > li .thumb {
  width: 100%;
  aspect-ratio: 1/0.4727;
}
.wave-mask {
  object-fit: cover;
  height: 100%;
  width: 100%;
  object-position: center;
  -webkit-mask-image: url("../img/top_new/wall/wave_mask.svg");
  -webkit-mask-size: cover;
  -webkit-mask-position: center bottom;
  mask-image: url("../img/top_new/wall/wave_mask.svg");
  mask-size: cover;
  mask-position: center bottom;
}
.box-intro-case .round-button {
  margin-top: min(70px, 10vw);
}
.item-intro-case .att-text.sp {
  display: none;
  font-size: min(20px, 2.6vw);
}
/*index review +++++++++++++++++++++++++++++++++++++++*/
.index-review-blc {
  margin-top: -1em;
  padding-bottom: min(100px, 25vw);
}
#review-slider .swiper-slide {
  height: auto;
}
.box-index-review {
  margin-top: min(2rem, 5vw);
}
.item-review-slide {
  overflow: hidden;
  border-radius: min(12rem, 15vw) min(12rem, 15vw) min(10rem, 10vw) min(10rem, 10vw);
  isolation: isolate;
  border: min(.5rem, 1.5vw) solid var(--bdr-gry);
  padding: min(15px, 2.5vw);
  height: 100%;
  padding-bottom: min(40px, 10vw);
  transition: scale var(--transit);
}
.item-review-slide .thumb figure {
  position: relative;
}
.item-review-slide .thumb figure span {
  display: block;
  border-radius: min(10rem, 12vw) min(10rem, 12vw) min(2.5rem, 6vw) min(2.5rem, 6vw);
  overflow: hidden;
  isolation: isolate;
}
.item-review-slide .thumb figcaption {
  position: absolute;
  background: #fff;
  padding: .35em .5em;
  border-top-left-radius: .25em;
  bottom: 0;
  right: 0;
}
.item-review-slide .review-data {
  margin-top: min(2rem, 5vw);
  padding-left: .5em;
  padding-right: .5em;
  font-weight: 600;
}
.item-review-slide .review-data .in-title {
  font-size: min(2rem, calc(100vw/20));
  line-height: calc(40/28);
}
.item-review-slide .review-data .tag {
  text-align: right;
  margin-top: 1em;
}
.item-review-set {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin-top: min(2rem, 5vw);
}
.review-pagination {
  font-size: min(1.8rem, 4.2vw);
  font-weight: 600;
  font-family: var(--en-mont);
}
.review-navigation {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  gap: min(2.6rem, 10vw);
}
.swiper-pagination-current {
  font-size: 1.7em;
  color: var(--clr-wblue);
}
.review-navigation button {
  width: min(2.2rem, 5.7vw);
  cursor: pointer;
}
.review-prev-button {
  scale: -1 1;
  fill: #dcdad5;
}
.review-next-button {
  fill: var(--clr-wblue);
}
.index-review-blc .button-wrap {
  margin-top: min(1.5rem, 5vw);
}
@media(hover) {
  .item-review-slide:hover {
    scale: 1.06;
  }
}
/*index system +++++++++++++++++++++++++++++++++++++++*/
.index-system-blc {
  position: relative;
  padding-bottom: min(70px, 12vw);
}
.index-system-blc::before {
  content: "";
  width: 100%;
  height: calc(100% - min(20px, 5vw));
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("../img/top_new/wall/round.svg") no-repeat top center/100%, linear-gradient(rgba(247, 245, 240, 0) calc(100vw*0.06), rgba(247, 245, 240, 1) calc(100vw*0.06), rgba(247, 245, 240, 1) calc(100% - (100vw*0.06)), rgba(247, 245, 240, 0) calc(100% - (100vw*0.06))), url("../img/top_new/wall/round.svg") no-repeat bottom center/100%;
  z-index: -1;
}
.system-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  font-size: min(3rem, calc(100vw/15));
  font-weight: 600;
}
.system-title .color {
  font-size: 1.3333em;
  background: repeating-linear-gradient(to right, var(--clr-org) 0%, var(--clr-org) 1em, #ff963b 1em, #ff963b 2em);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
  position: relative;
  padding-left: 2em;
  padding-right: 2em;
}
.system-title .color::before, .system-title .color::after {
  content: "";
  position: absolute;
  top: 50%;
  background: #ff963b;
  width: 3px;
  height: 1.25em;
  translate: 0 -50%;
}
.system-title .color::before {
  left: 1em;
  rotate: -45deg;
}
.system-title .color::after {
  right: 1em;
  rotate: 45deg;
}
.box-index-system .top-text {
  font-weight: 500;
  text-align: center;
  letter-spacing: .02em;
  line-height: calc(28/16);
  margin-top: min(40px, 10vw);
}
.index-sysytem-list {
  width: min(810px, 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(30px, 6vw) min(20px, 2vw);
  margin-top: min(40px, 5vw);
}
.system-item {
  display: grid;
  aspect-ratio: 1;
  position: relative;
  justify-items: center;
  gap: 0;
  padding-bottom: min(30px, 5vw);
  padding-top: min(60px, 10vw);
}
.system-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  /*  height: calc(100% - min(15px, 3vw));*/
  mask-size: 100% 100%;
  max-width: 100%;
  mask-repeat: no-repeat;
  mask-position: center bottom;
  background-color: #fff;
  width: 100%;
  translate: -50% 8%;
  pointer-events: none;
  transition: background var(--transit);
}
@media(hover) {
  .system-item:hover::before {
    background-color: var(--wall-crm);
  }
}
.system-item:nth-child(1)::before {
  mask-image: url("../img/top_new/wall/bkg-shape01.png");
  aspect-ratio: 1/0.9518;
}
.system-item:nth-child(2)::before {
  mask-image: url("../img/top_new/wall/bkg-shape02.png");
  aspect-ratio: 1/0.931;
}
.system-item:nth-child(3)::before {
  mask-image: url("../img/top_new/wall/bkg-shape03.png");
  aspect-ratio: 1/0.9344;
}
.system-item:nth-child(4)::before {
  mask-image: url("../img/top_new/wall/bkg-shape04.png");
  aspect-ratio: 1/0.9275;
}
.system-item:nth-child(5)::before {
  mask-image: url("../img/top_new/wall/bkg-shape05.png");
  aspect-ratio: 1/0.9266;
}
.system-item:nth-child(6)::before {
  mask-image: url("../img/top_new/wall/bkg-shape06.png");
  aspect-ratio: 1/0.916;
}
.system-item::after {
  content: "";
  width: min(52px, 8vw);
  aspect-ratio: 1;
  position: absolute;
  right: 1em;
  top: 0;
  background: url("../img/top_new/icon/plus.svg") no-repeat center/cover;
  translate: 0 60%;
  pointer-events: none;
}
.system-item .icon {
  width: calc(100%/3.8);
  aspect-ratio: 1;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 0;
}
.system-item .icon img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  object-position: center;
}
.system-item dl {
  width: 100%;
  display: grid;
  -ms-align-items: center;
  align-items: center;
  grid-template-columns: 2em auto;
  padding-left: min(3rem, 3vw);
  padding-right: min(1.5rem, 2vw);
}
.system-item dl dt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: var(--ja-maru);
  color: var(--clr-org);
  font-weight: 600;
  font-size: min(1.8rem, 3.8vw);
}
.system-item:nth-child(4) dl dt {
  translate: 0 -1em;
}
.dot-list > li, .system-item dl dd > ul > li {
  position: relative;
  padding-left: 1em;
  line-height: calc(23/14);
  font-size: min(1.4rem, 3.6vw);
}
.dot-list > li::before, .system-item dl dd > ul > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.item-system-thumb {
  margin-top: 10px;
  gap: min(1.5rem, 3vw);
}
.item-system-thumb .thumb {
  width: min(50rem, 86vw);
}
.index-system-blc .button-wrap {
  margin-top: min(6rem, 8vw);
}
/*index feature +++++++++++++++++++++++++++++++++++++++*/
.index-feature-blc {
  padding-top: min(10rem, 15vw);
  padding-bottom: min(70px, 8vw);
  gap: min(40px, 4vw);
}
.feature-title {
  width: min(28.7rem, 72vw);
}
.box-index-feature {
  counter-reset: count 0;
}
.box-index-feature > li {
  position: relative;
}
.box-index-feature > li::before {
  counter-increment: count 1;
  content: '#'counter(count, decimal-leading-zero);
  position: absolute;
  /*
  top: min(3rem, 7vw);
  left: min(4.5rem, 6vw);
*/
  top: 0;
  left: 0;
  font-family: var(--en-mont);
  color: #fff;
  font-weight: 900;
  font-size: min(4.6rem, 9vw);
  z-index: 2;
  text-shadow:
    1px 1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666, 1px -1px 0 #666;
  letter-spacing: .06em;
  translate: 30% 30%;
}
.box-index-feature > li:nth-child(even)::before {
  left: auto;
  right: 0;
  translate: -30% 30%;
}
.item-index-feature {
  display: grid;
  justify-content: center;
  padding-top: min(60px, 10vw);
  padding-bottom: min(60px, 10vw);
  gap: 0 min(25px, 5vw);
  position: relative;
  z-index: 1;
  border-radius: min(190px, 15vw);
  overflow: hidden;
}
.item-index-feature::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url("../img/top_new/wall/rabbit.png") repeat-y top center/100%;
  box-shadow: inset 0 0 min(60px, 5vw) rgba(197, 53, 0, .3);
  z-index: -1;
  background-color: #ffd157;
}
.item-index-feature .comment .in-title {
  font-size: min(2.8rem, 7.2vw);
  line-height: calc(43/29);
  font-weight: 600;
}
.item-index-feature .comment .in-title .en {
  font-family: var(--en-mont);
}
.item-index-feature .in-text {
  line-height: calc(28/16);
  margin-top: 1em;
  font-weight: 600;
}
.item-index-feature .att-text {
  margin-top: 1em;
}
.item-feat01 {
  grid-template-columns: min(27.8rem, 30%) min(35rem, 38%);
  -ms-align-items: center;
  align-items: center;
}
.item-feat01 .thumb {
  filter: drop-shadow(0 min(20px, 2vw) min(30px, 3vw) rgba(190, 50, 0, .4));
}
.item-feat02 {
  grid-template-columns: min(42rem, 46.67%) min(26rem, 28.89%);
  justify-content: center;
  padding-bottom: calc((100%*0.2111) + min(30px, 4vw));
  position: relative;
  -ms-align-items: center;
  align-items: center;
}
.item-feat02 .btm-thumb {
  width: 100%;
  aspect-ratio: 1/0.289;
  position: absolute;
  bottom: 0;
  left: 0;
}
.item-feat02 .btm-thumb picture {
  height: 100%;
  display: block;
  width: 100%;
}
.item-feat02 .btm-thumb img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  object-position: center;
}
.item-feat03 {
  grid-template-columns: 1fr;
  gap: min(30px, 4vw);
}
.item-feat03 .comment .in-title {
  text-align: center;
}
.feature03-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding-left: min(45px, 5vw);
  padding-right: min(45px, 5vw);
  gap: min(1.8rem, 3vw);
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.feature03-list > li {
  width: min(145px, calc(100% - (min(1.8rem, 3vw)*4))/5);
  background: #fff;
  aspect-ratio: 1/0.9724;
  border-radius: min(30px, 4vw);
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.feature03-list > li .icon {
  height: min(5.6rem, 16vw);
  width: 100%;
}
.feature03-list > li .icon img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  object-position: center;
}
.feature03-list > li .list-title {
  font-size: min(1.3rem, 3.4vw);
  text-align: center;
  font-weight: 600;
}
/*index support +++++++++++++++++++++++++++++++++++++++*/
.index-support-blc {
  padding-top: min(70px, 8vw);
  gap: min(60px, 10vw);
}
.box-index-support {
  display: grid;
  grid-template-columns: auto min(51.4rem, 57%);
  -ms-align-items: center;
  align-items: center;
  gap: 0 min(30px, 4vw);
}
.box-index-support .sec-title {
  align-self: flex-end;
}
.box-index-support .comment .in-text {
  font-weight: 500;
}
.box-index-support .thumb {
  translate: min(1.8rem, 3vw) 0;
  grid-column: 2; /* 右列に配置 */
  grid-row: 1 / span 2;
}
.box-index-support .comment .att-text {
  margin-top: min(25px, 5vw);
}
/*index faq +++++++++++++++++++++++++++++++++++++++*/
.index-faq-blc {
  padding-top: min(90px, 15vw);
}
.faq-list {
  width: min(81rem, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(4rem, 5vw);
}
.faq-item {
  background: var(--wall-gry);
  border-radius: min(5rem, 6.6vw);
  padding-left: min(6.2rem, 13vw);
}
.faq-item:nth-child(n+2) {
  margin-top: min(2rem, 5vw);
}
.faq-list dt {
  padding-top: min(2.2rem, 5vw);
  padding-bottom: min(2.2rem, 5vw);
  padding-right: 2em;
  position: relative;
  cursor: pointer;
}
.faq-list dt::before, .faq-list dt::after {
  content: "";
  width: 1em;
  height: 2px;
  background: var(--clr-pale-org);
  right: min(2.4rem, 3vw);
  top: 50%;
  translate: 0 -50%;
  position: absolute;
  border-radius: 2px;
  transition: rotate var(--transit);
}
.faq-list dt::after {
  rotate: -90deg;
}
.faq-list dt.is-open::after {
  rotate: 0deg;
}
.faq-list dt h3 {
  font-size: min(1.8rem, 4vw);
  font-weight: 600;
  position: relative;
}
.faq-list dt h3::before {
  content: "Q.";
  font-size: 1.3333em;
  color: var(--clr-pale-org);
  font-weight: 500;
  font-family: var(--en-mont);
  left: max(-15px, -2.5vw);
  top: 0;
  position: absolute;
  translate: -100% 0;
}
.faq-list dd {
  display: none;
  padding-bottom: min(3.6rem, 6vw);
  padding-right: min(6rem, 9vw);
}
.faq-list dd p {
  line-height: calc(28/16);
  font-weight: 500;
}
.box-index-faq .button-wrap {
  width: min(81rem, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(4rem, 9vw);
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.faq-list dd a {
  text-decoration: underline;
  text-underline-offset: 2.5px;
}
/*index security +++++++++++++++++++++++++++++++++++++++*/
.index-security-blc {
  padding-top: min(10rem, 20vw);
}
.security_head {
  width: 100%;
  justify-content: space-between;
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.link-aws {
  width: min(19rem, 30%);
}
.link-aws.sp {
  display: none;
  margin-left: auto;
  margin-right: auto;
  width: min(32rem, 42vw);
}
.box-index-security {}
.box-index-security {
  gap: min(45px, 8vw);
}
.index-security-list {
  width: min(81rem, 100%);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3rem, 4vw) min(4rem, 3vw);
}
.security-item {
  border: min(4px, 1.5vw) solid var(--wall-gry);
  overflow: hidden;
  border-radius: min(3rem, 4vw);
  isolation: isolate;
  display: grid;
  grid-template-rows: subgrid;
  grid-area: span 2;
  gap: 0;
}
.security-item dt {
  background-color: var(--clr-wblue);
  text-align: center;
  color: #fff;
  font-size: min(1.8rem, 4vw);
  font-weight: 600;
  padding: min(2.35rem, 3vw);
  display: grid;
  place-content: center;
}
.security-item dd {
  padding: min(3rem, 3vw) min(1rem, 2vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
.security-item dd p {
  width: min(19em, 100%);
}
/*index howto +++++++++++++++++++++++++++++++++++++++*/
.index-howto-blc {
  gap: min(6.5rem, 12vw);
  padding-top: min(9.7rem, 25vw);
  padding-bottom: min(9.7rem, 20vw);
}
.howto-step-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.howto-step-list li {
  background: var(--wall-crm);
  border-radius: min(3rem, 4vw);
  position: relative;
  padding: min(4rem, 6vw) min(1.5rem, 3vw) min(3.4rem, 8vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(2rem, 4vw)
}
.howto-step-list li .num {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -45%;
  font-family: var(--en-mont);
  font-weight: 700;
  color: #fff;
  font-size: min(3.6rem, 8vw);
  text-shadow: 1px 1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666, 1px -1px 0 #666;
  letter-spacing: .06em;
  white-space: nowrap;
}
.howto-step-list li .in-title {
  font-size: min(2.2rem, 4.5vw);
  color: #ff7a47;
  font-weight: 600;
}
.howto-step-list li .in-text {
  width: min(16em, 100%);
  line-height: calc(28/16);
  font-weight: 500;
}
.howto-step-list li::before, .howto-step-list li::after {
  content: "";
  position: absolute;
  top: 0;
  background: url("../img/top_new/c-line.svg") no-repeat center/cover;
  aspect-ratio: 1/4.0541;
  width: min(1.3rem, 2.8vw);
  translate: 0 -50%;
  opacity: 0;
}
.howto-step-list li::before {
  left: min(2.5rem, 4vw)
}
.howto-step-list li::after {
  right: min(2.5rem, 4vw)
}
.howto-step-list li:nth-child(1)::before {
  opacity: 1;
}
.howto-step-list li:nth-child(3)::after {
  opacity: 1;
}
/*index cta +++++++++++++++++++++++++++++++++++++++*/
.sec-cta-blc {
  padding-bottom: min(14rem, 35vw);
  position: relative;
}
.cta-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: 3px;
  position: relative;
}
.cta-title::before {
  content: "";
  width: 100%;
  height: calc(100% + min(1.5rem, 2vw));
  position: absolute;
  left: 50%;
  top: 0;
  background-image: url("../img/top_new/pic_circle.png"), url("../img/top_new/pic_rabbit.png");
  background-repeat: no-repeat;
  translate: -50% 0;
  opacity: .7;
  background-size: min(52px, 10vw), min(40px, 6.5vw);
  background-position: left bottom, right bottom 10px;
}
.cta-title .logo {
  width: min(336px, 70%);
}
.cta-title .main {
  font-size: min(30px, calc(100vw/16));
  text-align: center;
  font-weight: 600;
}
.box-cta-contents {
  background: url("../img/top_new/wall/rabbit.png") repeat-y top center/100%;
  position: relative;
  padding-top: min(9.5rem, 16vw);
  padding-bottom: min(8.7rem, 16vw);
  padding-left: min(3.5rem, 3.2vw);
  padding-right: min(3.5rem, 3.2vw);
  gap: min(3rem, 4vw);
}
.box-cta-contents::before, .box-cta-contents::after {
  content: "";
  z-index: 2;
  background: url("../img/top_new/wall/cta_wave.png") repeat-x top center/auto 100%;
  width: 100%;
  aspect-ratio: 1/0.0435;
  aspect-ratio: 1/0.03;
  left: 0;
  position: absolute;
}
.box-cta-contents::before {
  top: -1px;
}
.box-cta-contents::after {
  bottom: -1px;
  scale: 1 -1;
}
.cta-inquiry-wrap {
  width: min(865px, 100%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3rem, 6vw);
}
.item-inquiry {
  background: #fff;
  border-radius: min(9rem, 20vw);
}
.item-inquiry.set-button-wrap {
  padding-top: min(4.5rem, 9vw);
  padding-bottom: min(4.5rem, 9vw);
}
.item-inquiry.dial-set {
  padding-top: min(4.5rem, 6vw);
  padding-bottom: min(4.5rem, 6vw);
  display: grid;
  place-content: center;
  text-align: center;
  gap: 10px;
}
.item-inquiry.dial-set .in-title {
  color: var(--clr-wblue);
  font-family: var(--ja-maru);
  font-weight: 600;
  font-size: min(2rem, 4.5vw);
}
.item-inquiry.dial-set .dial a {
  font-family: var(--en-mont);
  font-weight: 900;
  font-size: min(4rem, 9vw);
  letter-spacing: .06em;
  color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  -webkit-text-stroke: 3px var(--clr-wblue);
  text-stroke: 3px var(--clr-wblue);
  paint-order: stroke fill;
  -webkit-paint-order: stroke fill;
}
.item-inquiry.dial-set .time {
  font-family: var(--ja-maru);
  font-weight: 500;
}
.item-inquiry.dial-set .time span {
  font-family: var(--en-mont);
}
.cta-pic {
  position: absolute;
  bottom: 0;
  left: calc(50% + min(3.5rem, 3.2vw));
  translate: -50% 10%;
  width: min(1040px, 100vw);
  z-index: 3;
}