@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Libre+Caslon+Display&family=Shippori+Mincho+B1&family=Zen+Old+Mincho&display=swap");
/* setting //////////////////////////////////////////////////*/
/*color*/
/*font-family*/
/*filler color*/
/*text-shadow*/
/*media query break point*/
/*mainBP*/
/*gHeader用*/
/*// mixin //////////////////////////////////////////////////*/
/* media query */
/* hover */
.spNavBar {
  bottom: -100%;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
}
.spNavBar.on {
  bottom: -1px;
}

.p-mv {
  position: relative;
}
.p-mv__ctrl, .p-mv__ctrl--play, .p-mv__ctrl--stop {
  cursor: pointer;
  position: absolute;
  bottom: 1.1rem;
  left: 50%;
  -webkit-transform: translateX(calc(-50% - 25rem));
      -ms-transform: translateX(calc(-50% - 25rem));
          transform: translateX(calc(-50% - 25rem));
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 3rem;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .p-mv__ctrl, .p-mv__ctrl--play, .p-mv__ctrl--stop {
    left: 1rem;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
.p-mv__ctrl:hover, .p-mv__ctrl--play:hover, .p-mv__ctrl--stop:hover {
  background-color: #000;
}
.p-mv__ctrl--stop::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  content: "";
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-Pause%22%3E%3Cpath%20d%3D%22M7%205v14M17%205v14%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover;
  width: 1.5rem;
  height: 1.5rem;
}
.p-mv__ctrl--play {
  display: none;
}
.p-mv__ctrl--play::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  content: "";
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20stroke-width%3D%222%22%20class%3D%22ai%20ai-TriangleRightFill%22%3E%3Cpath%20d%3D%22M8%206a1%201%200%200%201%201.6-.8l8%206a1%201%200%200%201%200%201.6l-8%206A1%201%200%200%201%208%2018V6z%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover;
  width: 1.5rem;
  height: 1.5rem;
}
.p-mv__slide {
  position: relative;
  font-size: 0;
  line-height: 0;
  aspect-ratio: 9/5;
}
@media only screen and (max-width: 767px) {
  .p-mv__slide {
    aspect-ratio: 6/7;
  }
}
.p-mv .slick-dots {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media only screen and (max-width: 767px) {
  .p-mv .slick-dots {
    right: 1rem;
    left: unset;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
.p-mv .slick-dots button {
  position: relative;
  width: 6.54rem;
  height: 5px;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: hidden;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .p-mv .slick-dots button {
    width: 11.5vw;
  }
}
.p-mv .slick-dots button:hover {
  background-color: #000;
}
.p-mv .slick-dots .slick-active button::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 8rem;
  height: 5px;
  border-radius: 4px;
  background-color: #fff;
  -webkit-animation: bar 5.8s linear forwards;
          animation: bar 5.8s linear forwards;
}
@media only screen and (max-width: 767px) {
  .p-mv .slick-dots .slick-active button::before {
    width: 15vw;
  }
}
.js-slideStop .p-mv .slick-dots .slick-active button::before {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@-webkit-keyframes bar {
  0% {
    width: 0;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  95% {
    width: 100%;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes bar {
  0% {
    width: 0;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  95% {
    width: 100%;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
.p-mv__bgImg {
  aspect-ratio: 9/5;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .p-mv__bgImg {
    aspect-ratio: 6/7;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .p-mv__bgImg--05 {
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 6/7;
    -o-object-position: 22%;
       object-position: 22%;
  }
}
.p-mv__inner {
  position: absolute;
  bottom: 5rem;
  right: 3rem;
  font-size: 6rem;
  line-height: 1.6;
  color: #fff;
  padding-left: 1rem;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.8);
}
@media only screen and (max-width: 1080px) {
  .p-mv__inner {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mv__inner {
    font-size: 3rem;
  }
}
.p-mv__badge {
  position: absolute;
  top: 12rem;
  right: 3rem;
  width: 20rem;
}
@media only screen and (max-width: 1080px) {
  .p-mv__badge {
    width: 15rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mv__badge {
    width: 25%;
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
}
.p-mv__scene01 {
  position: relative;
  aspect-ratio: 9/5;
  background-color: #044931;
}
@media only screen and (max-width: 767px) {
  .p-mv__scene01 {
    aspect-ratio: 6/7;
  }
}
.p-mv__scene01__logo {
  width: 40%;
  max-width: 250px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-mv__scene02 {
  position: relative;
}
.p-mv__scene02__inner {
  position: absolute;
  bottom: 5rem;
  right: 3rem;
  font-size: 6rem;
  line-height: 1.6;
  color: #fff;
  padding-left: 1rem;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.8), 0 0 1rem rgba(0, 0, 0, 0.8);
}
@media only screen and (max-width: 767px) {
  .p-mv__scene02__inner {
    height: 100%;
    aspect-ratio: 6/7;
    top: 0;
    left: 0;
  }
}
.p-mv__scene02__copy {
  font-size: 6rem;
  line-height: 1.6;
  color: #fff;
  padding-left: 1rem;
  text-align: left;
  white-space: nowrap;
}
@media only screen and (max-width: 1080px) {
  .p-mv__scene02__copy {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mv__scene02__copy {
    font-size: 2.8rem;
    position: absolute;
    bottom: 5rem;
    right: 3rem;
  }
}
.p-mv__scene02__copy .mod-kana {
  letter-spacing: -0.05;
}
.p-mv__scene02__copy p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid #fff;
}
.p-mv__scene02__copy p small {
  font-size: 0.6em;
}
.p-mv__scene02__subcopy {
  font-size: 0.8em;
  border: none !important;
}
.p-mv__scene03 {
  position: relative;
  text-align: center;
}
.p-mv__scene03__copy {
  border-bottom: 1px solid #fff;
}
.p-mv__scene03__subcopy {
  font-size: 0.4em;
  border: none !important;
}
.p-mv__scene04 {
  position: relative;
}
.p-mv__scene04__copy {
  font-size: 4.5rem;
  border-bottom: 1px solid #fff;
}
@media only screen and (max-width: 767px) {
  .p-mv__scene04__copy {
    font-size: 2.5rem;
  }
}
.p-mv__scene05 {
  position: relative;
}
.p-mv__scene05__copy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border-bottom: 1px solid #fff;
}
.p-mv__scene05__subcopy {
  font-size: 0.3em;
  text-align: center;
  border: none !important;
}
.p-mv .js-fade {
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-mv .is-active .js-fade {
  -webkit-animation: fade 1.5s ease-in-out forwards;
          animation: fade 1.5s ease-in-out forwards;
}
.js-slideStop .p-mv .is-active .js-fade {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

.p-price {
  background-color: #00996a;
}
.p-price__wrap {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin: 0 auto 0;
  gap: 2rem;
  padding: 1em 0 1.5em;
  font-weight: 200;
  line-height: 1;
  color: #fff;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  container-type: inline-size;
}
@media only screen and (max-width: 1080px) {
  .p-price__wrap {
    gap: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__wrap p:nth-of-type(1) {
    grid-area: unset;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__wrap p:nth-of-type(2) {
    grid-area: unset;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__wrap p:nth-of-type(3) {
    grid-area: unset;
  }
}
.p-price__line01 {
  width: 1px;
  height: 6cqi;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .p-price__line01 {
    width: 100%;
    height: 1px;
    grid-area: unset;
  }
}
.p-price__line02 {
  width: 100%;
  height: 1px;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .p-price__line02 {
    width: 100%;
    height: 1px;
    grid-area: unset;
  }
}
.p-price__txt {
  font-size: 3cqi;
  line-height: 1.5;
  justify-items: center;
  text-align: left;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .p-price__txt {
    font-size: 7.5cqi;
    text-align: center;
  }
}
.p-price__txt i {
  display: inline-block;
}
.p-price__txt-em {
  font-size: 1.5em;
}
.p-price__txt-sm {
  font-size: 0.8em;
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .p-price__txt-sm {
    display: block;
    margin-top: -0.25em;
  }
}
.p-price__txt-sm02 {
  font-size: 1.2rem;
  display: block;
  position: absolute;
  bottom: 0.5em;
  right: 1em;
}
.p-price__txt-wh {
  position: relative;
  display: inline-block;
  background: #fff;
  color: #00996a;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 0.7em 0.6em;
}
@media only screen and (max-width: 767px) {
  .p-price__txt-wh {
    padding: 0.5em 0.7em 0.8em;
  }
}
.p-price__txt-yellow {
  color: #ffdd45;
}
.p-price__img {
  padding: 1rem;
}
@media only screen and (max-width: 767px) {
  .p-price__img {
    padding: 1.5rem;
  }
}
.p-price__wbox {
  font-size: 0.8em;
  text-align: center;
  line-height: 1.2;
  color: #00996a;
  background-color: #fff;
  padding: 1rem 1.5rem;
}
.p-price__wbox small {
  color: #262626;
  font-size: 11px;
  font-size: 1.1rem;
  display: block;
}
@media only screen and (max-width: 767px) {
  .p-price__wbox small {
    font-size: 8px;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__wbox small {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__wbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2rem 1.5rem;
  }
}
.p-price__detailwrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .p-price__detailwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
  }
}
.p-price__detail {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 0 2rem;
}
.p-price__detail:nth-child(2) {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
@media only screen and (max-width: 767px) {
  .p-price__detail:nth-child(2) {
    border-left: none;
  }
}
@media only screen and (max-width: 767px) {
  .p-price__detail {
    padding: 0 1rem;
  }
}
.p-price__detail__sm {
  font-size: 1.1em;
  margin-right: 1rem;
}
.p-price__detail__sm em {
  font-size: 1.3em !important;
}
.p-price__detail__compass {
  display: block;
  font-size: 0.5em;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 1;
  letter-spacing: 0.2em;
  padding: 0.5rem;
  margin-top: 0.3rem;
}
.p-price__detail em {
  display: inline-block;
  font-size: 2.8em;
  line-height: 1;
  margin-top: -0.12em;
}
@media only screen and (max-width: 767px) {
  .p-price__detail em {
    font-size: 3em;
    margin-top: 0;
  }
}
.p-price__detail__monthly {
  margin-left: 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-price__detail__monthly em {
  font-size: 2.5em;
}

.p-access-merit {
  background-color: #006d4c;
  color: #fff;
  padding: 2rem 0;
  font-size: 3.4rem;
  line-height: 1.1;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .p-access-merit {
    font-size: 1.8rem;
    line-height: 1.4;
  }
}
.p-access-merit__inner {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.p-access-merit span {
  color: #fff8cd;
}
.p-access-merit span em {
  font-size: 1.4em;
}
.p-access-merit span em.time {
  font-size: 1.6em;
}
.p-access-merit sup {
  font-size: 1rem;
  vertical-align: text-top;
  margin-left: -1rem;
}
@media only screen and (max-width: 767px) {
  .p-access-merit sup {
    margin-left: 0;
  }
}

.p-feature {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.p-feature__access__list {
  margin-inline: auto;
  margin-top: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
}
@media only screen and (max-width: 1080px) {
  .p-feature__access__list {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-feature__access__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
  }
}
.p-feature__access__list-item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  .p-feature__access__list-item {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.p-feature__access__list-item .linename {
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 0.5em;
  letter-spacing: 1rem;
  font-size: min(1.5vw, 1.2rem);
}
@media only screen and (max-width: 767px) {
  .p-feature__access__list-item .linename {
    top: 1vw;
    font-size: 1.2rem;
  }
}
.p-feature__access__list-item .time {
  padding-top: 1rem;
  position: relative;
  font-size: min(1.6vw, 1.6rem);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .p-feature__access__list-item .time {
    font-size: 1.4rem;
  }
}
.p-feature__access__list-item .time em {
  font-style: normal;
  font-weight: 100;
  font-size: 2em;
}
.p-feature__access__list-item .time em.num {
  font-size: 2.8em;
}
.p-feature__access__list-item .time sup {
  position: absolute;
  top: 2rem;
  right: 0;
  font-size: 0.5em;
}
.p-feature__access__lead {
  font-size: min(4vw, 4rem);
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  color: #00996a;
}
@media only screen and (max-width: 767px) {
  .p-feature__access__lead {
    font-size: 2.4rem;
    letter-spacing: 0;
  }
}

.p-usp {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.p-usp__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 767px) {
  .p-usp__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 1rem;
  }
}
html:lang(en) .p-usp__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  html:lang(en) .p-usp__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-usp__list__item {
  display: grid;
  gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0.3vw;
  font-size: min(1vw, 1.5rem);
  line-height: 1.4;
  text-align: center;
  margin-bottom: 1rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-usp__list__item:not(:first-child) {
  border-left: 1px solid #777777;
}
html:lang(en) .p-usp__list__item {
  width: 100%;
  border: none;
}
.p-usp__list__item em {
  position: relative;
  font-size: 2em;
  color: #00996a;
  line-height: 1.2;
}
.p-usp__list__item span {
  color: #00996a;
}
.p-usp__list__item i {
  position: absolute;
  font-size: 10px;
  font-size: 1rem;
  bottom: -1.5rem;
  right: 0;
}
@media only screen and (max-width: 767px) {
  .p-usp__list__item i {
    font-size: 8px;
  }
}
@media only screen and (max-width: 767px) {
  .p-usp__list__item i {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-usp__list__item i {
    bottom: -1rem;
  }
}
.p-usp__list__item small {
  font-size: 0.5em;
  color: #00996a;
}
@media only screen and (max-width: 767px) {
  .p-usp__list__item small {
    display: inline-block;
  }
}
.p-usp__list__item sup {
  font-size: 0.8rem;
  list-style: 1;
  color: #00996a;
}
@media only screen and (max-width: 767px) {
  .p-usp__list__item sup {
    font-size: 0.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-usp__list__item {
    width: 50%;
    font-size: 1rem;
    letter-spacing: -0.05em;
    padding: 1rem 0.3rem;
    margin-bottom: 0;
    background-color: unset;
    border-left: 1px solid #00996a;
    border-bottom: 1px solid #00996a;
  }
  .p-usp__list__item em {
    font-size: 1.7em;
  }
  .p-usp__list__item:nth-child(1) {
    border-left: none !important;
  }
  .p-usp__list__item:nth-child(3) {
    border-left: none !important;
    width: 50%;
  }
  .p-usp__list__item:nth-child(3) {
    border-bottom: none !important;
  }
  .p-usp__list__item:nth-child(4) {
    border-bottom: none !important;
  }
}
.p-accessInfo {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.p-accessInfo__lead {
  font-size: 20px;
  font-size: 2rem;
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__lead {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__lead {
    font-size: 1.6rem;
  }
}
.p-accessInfo__lead span {
  color: #00996a;
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__lead {
    letter-spacing: 0;
  }
}
.p-accessInfo__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 1px;
}
@media only screen and (max-width: 767px) {
  html:lang(en) .p-accessInfo__list {
    display: block;
  }
}
.p-accessInfo__list__item, .p-accessInfo__list__item--tokyo, .p-accessInfo__list__item--nerima, .p-accessInfo__list__item--ikebukuro {
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 2rem;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__list__item, .p-accessInfo__list__item--tokyo, .p-accessInfo__list__item--nerima, .p-accessInfo__list__item--ikebukuro {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__list__item, .p-accessInfo__list__item--tokyo, .p-accessInfo__list__item--nerima, .p-accessInfo__list__item--ikebukuro {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__list__item, .p-accessInfo__list__item--tokyo, .p-accessInfo__list__item--nerima, .p-accessInfo__list__item--ikebukuro {
    padding: 3rem 1rem;
  }
}
.p-accessInfo__list__item em, .p-accessInfo__list__item--tokyo em, .p-accessInfo__list__item--nerima em, .p-accessInfo__list__item--ikebukuro em {
  font-size: 2em;
}
.p-accessInfo__list__item span, .p-accessInfo__list__item--tokyo span, .p-accessInfo__list__item--nerima span, .p-accessInfo__list__item--ikebukuro span {
  font-size: 2em;
}
.p-accessInfo__list__item:last-child, .p-accessInfo__list__item--tokyo:last-child, .p-accessInfo__list__item--nerima:last-child, .p-accessInfo__list__item--ikebukuro:last-child {
  width: 100%;
}
.p-accessInfo__list__item--ikebukuro {
  grid-area: 1/1/2/2;
  background-image: url(../../images/area/access/ikebukuro.jpg);
  background-size: cover;
  aspect-ratio: 8/5;
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__list__item--ikebukuro {
    aspect-ratio: unset;
  }
}
.p-accessInfo__list__item--nerima {
  grid-area: 1/2/2/3;
  background-image: url(../../images/area/access/nerima.jpg);
  background-size: cover;
  aspect-ratio: 8/5;
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__list__item--nerima {
    aspect-ratio: unset;
  }
}
.p-accessInfo__list__item--tokyo {
  grid-area: 2/1/3/3;
  background-image: url(../../images/top/tokyo_shibuya.jpg);
  background-size: cover;
  aspect-ratio: 16/5;
}
@media only screen and (max-width: 767px) {
  .p-accessInfo__list__item--tokyo {
    aspect-ratio: unset;
  }
}

.p-info {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-image: url(../../images/top/info_bg.jpg);
  padding: 5rem 10rem;
}
@media only screen and (max-width: 767px) {
  .p-info {
    padding: 2.5rem;
  }
}
.p-info__ttl {
  line-height: 1;
}
.p-info__txt01 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.4;
  color: #00996a;
  border-bottom: 1px solid #00996a;
}
@media only screen and (max-width: 767px) {
  .p-info__txt01 {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__txt01 {
    font-size: 2.4rem;
  }
}
.p-info__txt01 small {
  font-size: 0.8em;
}
.p-info__txt02 {
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .p-info__txt02 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__txt02 {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__txt02 {
    text-align: left;
  }
  .p-info__txt02 br {
    display: none;
  }
}
.p-info__txt02 span {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .p-info__txt02 span {
    display: inline;
  }
}
.p-info__btn {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  padding: 1rem;
  letter-spacing: 0;
  font-size: 18px;
  font-size: 1.8rem;
  margin: 3rem auto 0;
  width: 100%;
  max-width: 420px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .p-info__btn {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__btn {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__btn {
    padding: 1rem;
    width: 100%;
  }
}
.p-info__btn em {
  color: #00996a;
  font-size: 1.5em;
  margin-right: 1rem;
}
.p-info__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #00996a;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .p-info__btn:hover {
    color: #fff;
  }
  .p-info__btn:hover em {
    color: #fff;
  }
  .p-info__btn:hover::before {
    width: 100%;
  }
}
.p-info__notice {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .p-info__notice {
    font-size: 11px;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__notice {
    font-size: 1.1rem;
  }
}
.p-info__notice em {
  border-top: 1px solid #9e833f;
  border-bottom: 1px solid #9e833f;
  color: #9e833f;
  width: 100%;
  text-align: center;
  display: inline-block;
}
.p-info__moreinfo__txt {
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .p-info__moreinfo__txt {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .p-info__moreinfo__txt {
    font-size: 1.8rem;
  }
}
.p-info__moreinfo__btn {
  position: relative;
  background-color: #00996a;
  color: #fff;
  display: inline-block;
  padding: 1rem 8rem;
  width: 100%;
  max-width: 420px;
  border-radius: 10rem;
}
.p-info__moreinfo__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .p-info__moreinfo__btn:hover {
    color: #00996a;
  }
  .p-info__moreinfo__btn:hover::before {
    width: 100%;
  }
}

.p-concept {
  background-color: #00996a;
  margin-top: 10rem;
  padding: 15rem 0;
}
@media only screen and (max-width: 767px) {
  .p-concept {
    padding: 5rem 0 0;
  }
}
.p-concept__txt {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .p-concept__txt {
    width: 100%;
  }
}

.p-contents-illust {
  position: absolute;
}
.p-contents-illust--access {
  width: 12vw;
  max-width: 165px;
  top: 0;
  left: 0;
  -webkit-transform: translate(-80%, -20%);
      -ms-transform: translate(-80%, -20%);
          transform: translate(-80%, -20%);
}
@media only screen and (max-width: 767px) {
  .p-contents-illust--access {
    width: 25%;
    -webkit-transform: translate(-30%, -10%);
        -ms-transform: translate(-30%, -10%);
            transform: translate(-30%, -10%);
  }
}
.p-contents-illust--position {
  width: 30vw;
  max-width: 400px;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(50%, 50%);
      -ms-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
@media only screen and (max-width: 767px) {
  .p-contents-illust--position {
    width: 50%;
    -webkit-transform: translate(20%, 95%);
        -ms-transform: translate(20%, 95%);
            transform: translate(20%, 95%);
  }
}
.p-contents-illust--location {
  width: 20vw;
  max-width: 220px;
  top: 0;
  left: 0;
  -webkit-transform: translate(-80%, -5%);
      -ms-transform: translate(-80%, -5%);
          transform: translate(-80%, -5%);
}
@media only screen and (max-width: 767px) {
  .p-contents-illust--location {
    width: 30%;
    -webkit-transform: translate(-10%, -100%);
        -ms-transform: translate(-10%, -100%);
            transform: translate(-10%, -100%);
  }
}
.p-contents-illust--design {
  width: 20vw;
  max-width: 220px;
  top: 0;
  right: 0;
  -webkit-transform: translate(80%, -20%);
      -ms-transform: translate(80%, -20%);
          transform: translate(80%, -20%);
}
@media only screen and (max-width: 767px) {
  .p-contents-illust--design {
    width: 30%;
    -webkit-transform: translate(20%, -80%);
        -ms-transform: translate(20%, -80%);
            transform: translate(20%, -80%);
  }
}
.p-contents-illust--plan {
  position: static;
  width: 35vw;
  max-width: 450px;
  margin: 3rem auto 0;
}
@media only screen and (max-width: 767px) {
  .p-contents-illust--plan {
    width: 80%;
  }
}

.l-footer-float {
  position: fixed;
  bottom: 8rem;
  right: 2rem;
  width: clamp(400px, 30%, 450px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
  z-index: 2;
  background-size: cover;
  background-position: bottom;
  border: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media only screen and (max-width: 767px) {
  .l-footer-float {
    width: 90%;
    right: 5%;
  }
}
.l-footer-float::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -1;
}
.l-footer-float__close {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  -webkit-transform: translate(25%, -25%);
      -ms-transform: translate(25%, -25%);
          transform: translate(25%, -25%);
  width: 3rem;
  height: 3rem;
  border-radius: 3rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20stroke-width%3D%222%22%20class%3D%22ai%20ai-CircleXFill%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12%201C5.925%201%201%205.925%201%2012s4.925%2011%2011%2011%2011-4.925%2011-11S18.075%201%2012%201zm3.707%208.707a1%201%200%200%200-1.414-1.414L12%2010.586%209.707%208.293a1%201%200%201%200-1.414%201.414L10.586%2012l-2.293%202.293a1%201%200%201%200%201.414%201.414L12%2013.414l2.293%202.293a1%201%200%200%200%201.414-1.414L13.414%2012l2.293-2.293z%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.8);
}
.l-footer-float__new {
  position: absolute;
  top: 2px;
  left: 2px;
  background-color: #a10606;
  color: #fff;
  padding: 0.5rem 2%;
  font-size: 1.2rem;
  line-height: 1;
}
.l-footer-float__lead {
  color: #fff;
  font-size: min(1.15vw, 1.6rem);
  text-align: center;
}
@media only screen and (max-width: 1080px) {
  .l-footer-float__lead {
    font-size: 1.5rem;
  }
}
.l-footer-float__btns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.l-footer-float__btn {
  display: block;
  background-color: rgba(51, 51, 51, 0.7);
  color: #fff !important;
  padding: 1rem;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-float__btn:hover {
    background-color: #fff;
    color: #262626 !important;
  }
}
.l-footer-float.is-hide {
  opacity: 0;
  pointer-events: none;
}
/*# sourceMappingURL=../../map/top/top.css.map */