.p-top-banner {
  padding: 40px 0;
}
@media screen and (max-width: 1280px) {
  .p-top-banner {
    padding: 20px 0;
  }
}
.p-top-banner__list {
  display: flex;
  gap: 15px 30px;
}
@media screen and (max-width: 750px) {
  .p-top-banner__list {
    flex-flow: column;
  }
}
.p-top-banner__item {
  flex: 1;
}
.p-top-banner__image {
  width: 100%;
}

.p-top-calendar {
  margin-bottom: 130px;
}
@media screen and (max-width: 750px) {
  .p-top-calendar {
    margin-bottom: 80px;
  }
}
.p-top-calendar__title {
  display: flex;
  flex-flow: column;
  margin-bottom: 50px;
  font-family: var(--font-family-kiwi);
  font-size: 3rem;
  text-align: center;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 750px) {
  .p-top-calendar__title {
    font-size: 7vw;
    letter-spacing: 0.2em;
  }
}
.p-top-calendar__title span:first-child {
  font-family: var(--font-family-train);
  color: #75c248;
}
:where([data-theme=forest]) .p-top-calendar__title span:first-child {
  color: #fbe978;
}

:where([data-theme=forest]) .p-top-calendar__title span:last-child {
  color: #fff;
}

.p-top-calendar__list {
  display: flex;
  gap: 30px;
}
.p-top-calendar__item {
  flex: 1;
  height: 515px;
}
@media screen and (max-width: 750px) {
  .p-top-calendar__item {
    height: 100vw;
  }
  .p-top-calendar__item + .p-top-calendar__item {
    display: none;
  }
}
.p-top-calendar__item iframe {
  height: 100%;
}
.p-top-calendar__more {
  margin-top: 3em;
  margin-right: auto;
  margin-left: auto;
}
:where([data-theme=forest]) .p-top-calendar__more {
  color: #fff;
  --border-color: #fbe978;
  --active-color: #fbe978;
}

.p-top-clinic {
  --background: rgba(168, 221, 225, 0.65);
  position: relative;
  overflow: hidden;
}
:where([data-theme=forest]) .p-top-clinic {
  --background: transparent;
}

@media screen and (max-width: 750px) {
  .p-top-clinic {
    padding: 80px 0;
  }
}
@media screen and (max-width: 575px) {
  .p-top-clinic {
    padding: 60px 0;
  }
}
.p-top-clinic__inner {
  position: relative;
  padding: 60px 0 80px;
  background-image: url("../../images/common/bg_paper_01.jpg");
}
:where([data-theme=forest]) .p-top-clinic__inner {
  background-image: url("../../images/common/bg_paper_forest_01.jpg");
}

.p-top-clinic__inner::before, .p-top-clinic__inner::after {
  position: absolute;
  left: 50%;
  width: 100%;
  min-width: 1920px;
  height: 100px;
  content: "";
  background-image: url("../../images/top/clinic/bg_sky_01.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
:where([data-theme=forest]) .p-top-clinic__inner::before, :where([data-theme=forest]) .p-top-clinic__inner::after {
  background-image: url("../../images/top/clinic/bg_forest_01.png");
}

@media screen and (max-width: 1280px) {
  .p-top-clinic__inner::before, .p-top-clinic__inner::after {
    min-width: 1280px;
    height: 50px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-clinic__inner::before, .p-top-clinic__inner::after {
    min-width: 100%;
    height: 5vw;
  }
}
.p-top-clinic__inner::before {
  bottom: calc(100% - 1px);
  transform: translateX(-50%);
}
.p-top-clinic__inner::after {
  top: calc(100% - 1px);
  transform: rotate(180deg) translateX(50%);
}

.p-top-contact {
  padding: 60px 0;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  .p-top-contact {
    padding: 30px 0;
  }
}
.p-top-contact__body {
  position: relative;
  padding-bottom: 40px;
}
.p-top-contact__bg {
  --dot-size: 5px;
  position: absolute;
  top: 35px;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100%;
  max-width: var(--contents-width-sm);
  border-radius: 40px;
  transform: translateX(-50%);
}
@media screen and (max-width: 1280px) {
  .p-top-contact__bg {
    max-width: calc(100% - 60px);
  }
}
@media screen and (max-width: 750px) {
  .p-top-contact__bg {
    top: 8vw;
    max-width: 84vw;
    border-radius: 30px;
  }
}
.p-top-contact__title {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-bottom: 12px;
}
.p-top-contact__title span:first-child {
  font-family: var(--font-family-train);
  font-size: 3rem;
  color: #254a66;
  letter-spacing: 0.6em;
}
@media screen and (max-width: 575px) {
  .p-top-contact__title span:first-child {
    font-size: 7vw;
    letter-spacing: 0.4em;
  }
}
.p-top-contact__title span:last-child {
  font-family: var(--font-family-kiwi);
  font-size: 3.3rem;
  color: #67b6db;
  letter-spacing: 0.2em;
}
:where([data-theme=forest]) .p-top-contact__title span:last-child {
  color: #6ca223;
}

@media screen and (max-width: 575px) {
  .p-top-contact__title span:last-child {
    font-size: 7vw;
  }
}
.p-top-contact__text {
  margin-bottom: 30px;
  font-family: var(--font-family-kiwi);
  font-size: 2.8rem;
  line-height: 1.5;
}
@media screen and (max-width: 575px) {
  .p-top-contact__text {
    font-size: 5vw;
  }
}
.p-top-contact__list {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 1280px) {
  .p-top-contact__list {
    flex-flow: column;
  }
}
.p-top-contact__item {
  padding: 25px 55px 40px;
  background: linear-gradient(to bottom, rgba(168, 221, 225, 0.7), rgba(168, 221, 225, 0.3)), url("../../images/common/bg_paper_01.jpg");
  border-radius: 70px;
}
:where([data-theme=forest]) .p-top-contact__item {
  background: linear-gradient(to bottom, rgba(146, 204, 64, 0.5), rgba(146, 204, 64, 0.3)), url("../../images/common/bg_paper_01.jpg");
}

@media screen and (max-width: 750px) {
  .p-top-contact__item {
    padding: 20px 4vw 30px;
    border-radius: 30px;
  }
}
.p-top-contact__item--tel {
  width: calc(42.5% - 8px);
}
@media screen and (max-width: 1280px) {
  .p-top-contact__item--tel {
    width: 100%;
  }
}
.p-top-contact__item--web {
  width: calc(57.5% - 8px);
}
@media screen and (max-width: 1280px) {
  .p-top-contact__item--web {
    width: 100%;
  }
}
.p-top-contact__subTitle {
  padding-bottom: 10px;
  margin-bottom: 30px;
  font-family: var(--font-family-kiwi);
  font-size: 2.7rem;
  line-height: 1.35;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 575px) {
  .p-top-contact__subTitle {
    margin-bottom: 12px;
    font-size: 6vw;
  }
}
.p-top-contact__telLink {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  font-size: 3.8rem;
  font-weight: var(--font-weight-bold);
  color: #254a66;
}
@media screen and (max-width: 575px) {
  .p-top-contact__telLink {
    gap: 0.3em;
    font-size: 8vw;
  }
}
.p-top-contact__telLink svg {
  width: 0.8em;
  fill: currentcolor;
}
.p-top-contact__telText {
  font-size: 1.8rem;
  line-height: 1.66;
}
@media screen and (max-width: 750px) {
  .p-top-contact__telText {
    font-size: inherit;
  }
}
.p-top-contact__webMain {
  display: flex;
  gap: 32px;
}
@media screen and (max-width: 750px) {
  .p-top-contact__webMain {
    flex-flow: column;
    align-items: center;
  }
}
.p-top-contact__webInner {
  flex: 1;
  text-align: right;
}
@media screen and (max-width: 1280px) {
  .p-top-contact__webInner {
    text-align: center;
  }
}
.p-top-contact__webText {
  margin-bottom: 30px;
  text-align: left;
}
@media screen and (max-width: 1280px) {
  .p-top-contact__webText {
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .p-top-contact__webText {
    margin-bottom: 15px;
  }
}
.p-top-contact__webLink {
  --border-color: currentcolor;
  --active-color: currentcolor;
  margin: auto;
  font-size: 1.8rem;
}
@media screen and (max-width: 750px) {
  .p-top-contact__webLink {
    font-size: inherit;
  }
}
.p-top-contact__webCode {
  width: 133px;
}
.p-top-contact__webCode img {
  width: 100%;
}

.p-top-date {
  padding: 35px 0;
  overflow: hidden;
}
.p-top-date__list {
  display: flex;
  flex-wrap: wrap;
  gap: 90px 44px;
  justify-content: center;
  padding-top: 30px;
}
@media screen and (max-width: 575px) {
  .p-top-date__list {
    flex-flow: column;
    gap: 22vw;
    padding-top: 14vw;
  }
}
.p-top-date__item {
  --accent-color: #e58e50;
  --bg-color: #fce34d;
  position: relative;
  width: 490px;
  height: 490px;
  background: url("../../images/common/bg_paper_01.jpg");
  border-radius: 50%;
}
@media screen and (max-width: 575px) {
  .p-top-date__item {
    width: 108vw;
    height: 108vw;
    margin-left: -8vw;
  }
}
.p-top-date__item::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--bg-color);
  border-radius: 50%;
  opacity: 0.3;
}
.p-top-date__item--open {
  --accent-color: #e58e50;
  --bg-color: #fce34d;
}
.p-top-date__item--view {
  --accent-color: #52bbf7;
  --bg-color: #7edbe5;
}
:where([data-theme=forest]) .p-top-date__item--view {
  --accent-color: #2f7627;
  --bg-color: #bae57e;
}

.p-top-date__inner {
  position: relative;
  z-index: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-top: 35px;
}
@media screen and (max-width: 575px) {
  .p-top-date__inner {
    padding-top: 5vw;
  }
}
.p-top-date__title {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.p-top-date__title__row {
  position: absolute;
  inset: var(--gap-y);
  aspect-ratio: 1/1;
  transform: rotate(calc((var(--length) - 1) / 2 * -1 * var(--deg)));
}
.p-top-date__title__row > * {
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--font-size);
  height: 50%;
  font-size: var(--font-size);
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  transform: translateX(-50%) rotate(calc(var(--i) * var(--deg)));
  transform-origin: center bottom;
}
.p-top-date__title__row--en {
  --deg: 7deg;
  --gap-y: -62px;
  --font-size: 2.6rem;
  font-family: var(--font-family-train);
  color: var(--accent-color);
}
@media screen and (max-width: 575px) {
  .p-top-date__title__row--en {
    --deg: 5.7deg;
    --gap-y: -14vw;
    --font-size: 6vw;
  }
}
.p-top-date__title__row--ja {
  --deg: 12deg;
  --gap-y: -23px;
  --font-size: 4rem;
  --featured-text-scale: 1.1;
  font-family: var(--font-family-kiwi);
}
.p-top-date__title__row--ja > b {
  margin-top: calc(1 - var(--featured-text-scale) * 1em);
  font-size: calc(var(--font-size) * var(--featured-text-scale));
  font-weight: normal;
  color: var(--accent-color);
}
@media screen and (max-width: 575px) {
  .p-top-date__title__row--ja {
    --gap-y: -4vw;
    --font-size: 8vw;
  }
}
.p-top-date__image {
  position: absolute;
  top: 40px;
  left: 50%;
  width: 60px;
  margin-left: -30px;
}
@media screen and (max-width: 575px) {
  .p-top-date__image {
    top: 10vw;
    width: 14vw;
    margin-left: -7vw;
  }
}
.p-top-date__days {
  font-family: var(--font-family-kiwi);
  font-size: 3.4rem;
  line-height: 1.4;
  color: var(--accent-color);
  text-align: center;
  letter-spacing: 0;
}
@media screen and (max-width: 575px) {
  .p-top-date__days {
    font-size: 6vw;
  }
}
.p-top-date__days strong {
  font-size: 1.3em;
  font-weight: var(--font-weight-normal);
  line-height: 1;
}
.p-top-date__days span {
  font-size: 0.9em;
}
.p-top-date__text {
  max-width: 350px;
  margin: 0.75em auto 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 575px) {
  .p-top-date__text {
    max-width: 80%;
  }
}
@media screen and (max-width: 575px) {
  .p-top-date__text {
    font-size: 3.5vw;
  }
}
.p-top-date__time-list {
  display: table;
  margin-top: 0.25em;
  font-family: var(--font-family-kiwi);
  font-size: 2.7rem;
  line-height: 1.3;
}
@media screen and (max-width: 575px) {
  .p-top-date__time-list {
    font-size: 6vw;
  }
}
.p-top-date__time-list__row {
  display: table-row;
}
.p-top-date__time-list__date, .p-top-date__time-list__time {
  display: table-cell;
  padding-top: 0.15em;
}
.p-top-date__time-list__date {
  padding-right: 1em;
  text-align: right;
}

.p-top-facilities {
  --bg-color: #fef9f1;
  position: relative;
}
:where([data-theme=forest]) .p-top-facilities {
  --bg-color: #fafaf2;
}

.p-top-facilities__inner {
  padding: 110px 0 40px;
  overflow: hidden;
  background-color: var(--bg-color);
}
@media screen and (max-width: 750px) {
  .p-top-facilities__inner {
    padding-top: 50px;
  }
}
.p-top-facilities__cloud {
  position: absolute;
  left: 0;
  display: flex;
  width: 100%;
  overflow: hidden;
}
.p-top-facilities__cloud:first-child {
  bottom: calc(100% - 1px);
}
.p-top-facilities__cloud:last-child {
  top: calc(100% - 1px);
  transform: rotate(180deg);
}
.p-top-facilities__cloud > svg {
  position: relative;
  left: 50%;
  width: 100%;
  min-width: 1920px;
  aspect-ratio: 18/1;
  fill: var(--bg-color);
  transform: translateX(-50%);
}
@media screen and (max-width: 1280px) {
  .p-top-facilities__cloud > svg {
    min-width: 1280px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-facilities__cloud > svg {
    min-width: unset;
  }
}
.p-top-facilities__body {
  position: relative;
  padding: 70px 0 80px;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__body {
    padding: 50px 4vw;
  }
}
.p-top-facilities__body::before {
  position: absolute;
  inset: 0 -50vw 0 -190px;
  height: 100%;
  content: "";
  background-color: #a8dde1;
  background-image: url("../../images/common/bg_dot_pierced.png");
  border-radius: 65px 0 0 65px;
  opacity: 0.36;
}
:where([data-theme=forest]) .p-top-facilities__body::before {
  background-color: #fde766;
}

@media screen and (max-width: 1280px) {
  .p-top-facilities__body::before {
    left: -10px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-facilities__body::before {
    left: 0;
  }
}
.p-top-facilities__title {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  margin-bottom: 65px;
  font-family: var(--font-family-kiwi);
  font-size: 4.6rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 575px) {
  .p-top-facilities__title {
    margin-bottom: 30px;
    font-size: 7vw;
  }
}
.p-top-facilities__title span:first-child {
  font-family: var(--font-family-train);
  font-size: 5rem;
  color: #52bbf7;
}
:where([data-theme=forest]) .p-top-facilities__title span:first-child {
  color: #6ca223;
}

@media screen and (max-width: 575px) {
  .p-top-facilities__title span:first-child {
    font-size: 10vw;
  }
}
.p-top-facilities__list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 55px 0 70px;
  margin-bottom: 65px;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__list {
    display: block;
  }
}
.p-top-facilities__list::before {
  position: absolute;
  inset: 0 -190px 0 -50vw;
  height: 100%;
  content: "";
  background: #fff;
  border-radius: 0 65px 65px 0;
  opacity: 0.6;
}
@media screen and (max-width: 1280px) {
  .p-top-facilities__list::before {
    right: -10px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-facilities__list::before {
    right: -4vw;
  }
}
.p-top-facilities__item {
  position: relative;
  display: flex;
  flex-flow: column;
  width: calc(50% - 8px);
}
@media screen and (max-width: 750px) {
  .p-top-facilities__item {
    display: block;
    width: 100%;
  }
  .p-top-facilities__item:not(:last-child) {
    padding-bottom: 30px;
    margin-bottom: 20px;
    border-color: #a8dde1;
    border-bottom-style: solid;
    border-bottom-width: 1px;
  }
  :where([data-theme=forest]) .p-top-facilities__item:not(:last-child) {
    border-color: #e58e50;
  }
}
.p-top-facilities__item:nth-child(3), .p-top-facilities__item:nth-child(4), .p-top-facilities__item:nth-child(5) {
  flex: 1;
}
.p-top-facilities__item:nth-child(3) .p-top-facilities__itemTitle, .p-top-facilities__item:nth-child(4) .p-top-facilities__itemTitle, .p-top-facilities__item:nth-child(5) .p-top-facilities__itemTitle {
  order: 2;
}
.p-top-facilities__item:nth-child(3) .p-top-facilities__itemText, .p-top-facilities__item:nth-child(4) .p-top-facilities__itemText, .p-top-facilities__item:nth-child(5) .p-top-facilities__itemText {
  order: 3;
}
.p-top-facilities__item:nth-child(3) .p-top-facilities__itemImage, .p-top-facilities__item:nth-child(4) .p-top-facilities__itemImage, .p-top-facilities__item:nth-child(5) .p-top-facilities__itemImage {
  order: 1;
  margin-top: 0;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__item:nth-child(3) .p-top-facilities__itemImage, .p-top-facilities__item:nth-child(4) .p-top-facilities__itemImage, .p-top-facilities__item:nth-child(5) .p-top-facilities__itemImage {
    margin-bottom: 0;
  }
}
.p-top-facilities__item:nth-child(1) .p-top-facilities__itemImage {
  border-top-left-radius: 130px;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__item:nth-child(1) .p-top-facilities__itemImage {
    border-top-left-radius: 60px;
  }
}
.p-top-facilities__item:nth-child(5) .p-top-facilities__itemImage {
  border-bottom-right-radius: 130px;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__item:nth-child(5) .p-top-facilities__itemImage {
    border-bottom-right-radius: 60px;
  }
}
.p-top-facilities__itemTitle {
  margin-bottom: 10px;
  font-size: 2.2rem;
  font-weight: var(--font-weight-medium);
  color: #52bbf7;
  text-align: center;
}
:where([data-theme=forest]) .p-top-facilities__itemTitle {
  color: #e58e50;
}

.p-top-facilities__itemText {
  padding: 0 2em;
  margin-bottom: auto;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__itemText {
    margin-bottom: 20px;
  }
}
.p-top-facilities__itemImage {
  width: 100%;
  aspect-ratio: 1/0.66;
  margin-top: 30px;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .p-top-facilities__itemImage {
    display: block;
    max-width: 350px;
    margin: 0 auto;
  }
}
.p-top-facilities__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  justify-content: center;
}
:where([data-theme=forest]) .p-top-facilities__button {
  --color: #e58e50;
}

.p-top-features {
  --bg-color: #fef9f1;
  position: relative;
  z-index: 1;
}
:where([data-theme=forest]) .p-top-features {
  --bg-color: #95cc3d;
}

.p-top-features__cloud {
  position: absolute;
  left: 0;
  display: flex;
  width: 100%;
  overflow: hidden;
}
.p-top-features__cloud:first-child {
  bottom: calc(100% - 1px);
}
.p-top-features__cloud:last-child {
  top: calc(100% - 1px);
  transform: rotate(180deg);
}
.p-top-features__cloud > svg {
  position: relative;
  left: 50%;
  width: 100%;
  min-width: 1920px;
  aspect-ratio: 18/1;
  fill: var(--bg-color);
  transform: translateX(-50%);
}
@media screen and (max-width: 1280px) {
  .p-top-features__cloud > svg {
    min-width: 1280px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__cloud > svg {
    min-width: unset;
  }
}
.p-top-features__inner {
  padding: 80px 0;
  overflow: hidden;
  background-color: var(--bg-color);
}
@media screen and (max-width: 1280px) {
  .p-top-features__inner {
    padding: 40px 0;
  }
}
.p-top-features__title {
  position: relative;
  display: flex;
  flex-flow: column;
  margin-bottom: 55px;
  font-family: var(--font-family-kiwi);
  font-size: 4.6rem;
  text-align: center;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 575px) {
  .p-top-features__title {
    margin-bottom: 20px;
    font-size: 7vw;
  }
}
.p-top-features__title span:first-child {
  font-family: var(--font-family-train);
  font-size: 6rem;
  color: #52bbf7;
}
:where([data-theme=forest]) .p-top-features__title span:first-child {
  color: #fbe978;
}

@media screen and (max-width: 575px) {
  .p-top-features__title span:first-child {
    font-size: 10vw;
  }
}
:where([data-theme=forest]) .p-top-features__title span:last-child {
  color: #fff;
}

.p-top-features__list {
  padding: 110px 0 130px;
  background: url("../../images/common/bg_paper_01.jpg");
  border: 4px dashed;
  border-color: #a8dde1;
  border-radius: 130px;
}
:where([data-theme=forest]) .p-top-features__list {
  border-color: #fbd700;
}

@media screen and (max-width: 1280px) {
  .p-top-features__list {
    padding: 140px 0 50px;
    border-radius: 60px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__list {
    padding-top: 23vw;
    border-radius: 30px;
  }
}
.p-top-features__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  max-width: var(--contents-width);
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item {
    padding: 0 20px;
  }
}
.p-top-features__item:not(:last-child) {
  margin-bottom: 145px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:not(:last-child) {
    margin-bottom: 25vw;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:not(:last-child) {
    margin-bottom: 28vw;
  }
}
.p-top-features__item:nth-child(odd) {
  flex-flow: row-reverse;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(odd) {
    flex-flow: column;
  }
}
.p-top-features__item:nth-child(odd) .p-top-features__itemNum {
  top: 45px;
  left: 75px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemNum {
    top: -80px;
    left: 50px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemNum {
    top: -13vw;
    left: 10vw;
  }
}
@media screen and (min-width: 1281px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemHeader {
    display: flex;
    align-items: flex-end;
    min-height: 3em;
  }
}
.p-top-features__item:nth-child(odd) .p-top-features__itemInner {
  padding-top: 280px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemInner {
    padding-top: 0;
  }
}
.p-top-features__item:nth-child(odd) .p-top-features__itemThumb {
  margin-right: -50px;
  margin-left: -210px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemThumb {
    margin: 0 0 40px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemThumb {
    margin-bottom: 20px;
  }
}
.p-top-features__item:nth-child(odd) .p-top-features__itemBg {
  top: 80px;
  right: -70px;
  bottom: -65px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemBg {
    top: -50px;
    right: -150px;
    bottom: 50px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemBg {
    top: -7vw;
    right: -25vw;
    bottom: 7vw;
  }
}
.p-top-features__item:nth-child(odd) .p-top-features__itemImage {
  -webkit-clip-path: url("#clip_cloud03");
          clip-path: url("#clip_cloud03");
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(odd) .p-top-features__itemImage {
    -webkit-clip-path: none;
            clip-path: none;
  }
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(even) {
    flex-flow: column;
  }
}
.p-top-features__item:nth-child(even) .p-top-features__itemNum {
  top: -60px;
  right: calc(50% - 55px);
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemNum {
    top: -80px;
    right: 50px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemNum {
    top: -13vw;
    right: 10vw;
  }
}
.p-top-features__item:nth-child(even) .p-top-features__itemInner {
  margin-top: -10px;
  margin-left: auto;
}
.p-top-features__item:nth-child(even) .p-top-features__itemThumb {
  margin-right: 45px;
  margin-left: -240px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemThumb {
    margin: 0 0 40px -70px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemThumb {
    margin-bottom: 20px;
  }
}
.p-top-features__item:nth-child(even) .p-top-features__itemBg {
  top: 55px;
  right: 60px;
  bottom: -85px;
  background-position: 2px 2px, 13px 13px;
  background-size: 22px 22px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemBg {
    top: -50px;
    right: 130px;
    bottom: 50px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemBg {
    top: -7vw;
    right: 25vw;
    bottom: 7vw;
  }
}
.p-top-features__item:nth-child(even) .p-top-features__itemImage {
  -webkit-clip-path: url("#clip_cloud04");
          clip-path: url("#clip_cloud04");
}
@media screen and (max-width: 1280px) {
  .p-top-features__item:nth-child(even) .p-top-features__itemImage {
    -webkit-clip-path: none;
            clip-path: none;
  }
}
.p-top-features__item:nth-child(4n+1) {
  --number-bg-color: #fef3b3;
  --number-bg-image: radial-gradient(#fded8c 3px, transparent 5px),
    radial-gradient(#fded8c 3px, transparent 5px);
  --number-text-color: #7edbe5;
  --title-color: #e58e50;
  --item-bg: repeating-linear-gradient(
    -45deg,
    #e58e50,
    #e58e50 2px,
    transparent 0,
    transparent 17px
  );
}
:where([data-theme=forest]) .p-top-features__item:nth-child(4n+1) {
  --number-bg-color: #fef1a6;
  --number-bg-image: radial-gradient(#fdeb80 3px, transparent 5px),
    radial-gradient(#fdeb80 3px, transparent 5px);
  --number-text-color: #fbc78e;
  --item-bg: repeating-linear-gradient(
    -45deg,
    #fbc750,
    #fbc750 2px,
    transparent 0,
    transparent 17px
  );
}

.p-top-features__item:nth-child(4n+2) {
  --number-bg-color: #cbf1f5;
  --number-bg-image: radial-gradient(#b8ebf1 3px, transparent 5px),
    radial-gradient(#b8ebf1 3px, transparent 5px);
  --number-text-color: #75c248;
  --title-color: #52bbf7;
  --item-bg: radial-gradient(rgba(82, 187, 247, 0.8) 1px, transparent 2px),
    radial-gradient(rgba(82, 187, 247, 0.8) 1px, transparent 2px);
}
:where([data-theme=forest]) .p-top-features__item:nth-child(4n+2) {
  --number-bg-color: #fae6e8;
  --number-bg-image: radial-gradient(#f6d3d6 3px, transparent 5px),
    radial-gradient(#f6d3d6 3px, transparent 5px);
  --number-text-color: #e58e50;
  --title-color: #e4808b;
  --item-bg: radial-gradient(#95cc3d 1px, transparent 2px),
    radial-gradient(#95cc3d 1px, transparent 2px);
}

.p-top-features__item:nth-child(4n+3) {
  --number-bg-color: #dcefc8;
  --number-bg-image: radial-gradient(#cfe8b4 3px, transparent 5px),
    radial-gradient(#cfe8b4 3px, transparent 5px);
  --number-text-color: #fbc750;
  --title-color: #75c248;
  --item-bg: radial-gradient(rgba(82, 187, 247, 0.8) 1px, transparent 2px),
    radial-gradient(rgba(82, 187, 247, 0.8) 1px, transparent 2px);
}
:where([data-theme=forest]) .p-top-features__item:nth-child(4n+3) {
  --number-bg-color: #c7ebe2;
  --number-bg-image: radial-gradient(#afe2d6 3px, transparent 5px),
    radial-gradient(#afe2d6 3px, transparent 5px);
  --number-text-color: #5fc5ad;
  --title-color: #5fc5ad;
  --item-bg: radial-gradient(#95cc3d 1px, transparent 2px),
    radial-gradient(#95cc3d 1px, transparent 2px);
}

.p-top-features__item:nth-child(4n+4) {
  --number-bg-color: #fde3c7;
  --number-bg-image: radial-gradient(#fcdbb6 3px, transparent 5px),
    radial-gradient(#fcdbb6 3px, transparent 5px);
  --number-text-color: #a7d676;
  --title-color: #e58e50;
  --item-bg: radial-gradient(rgba(82, 187, 247, 0.8) 1px, transparent 2px),
    radial-gradient(rgba(82, 187, 247, 0.8) 1px, transparent 2px);
}
:where([data-theme=forest]) .p-top-features__item:nth-child(4n+4) {
  --number-bg-color: #fddd96;
  --number-bg-image: radial-gradient(#fcd57c 3px, transparent 5px),
    radial-gradient(#fcd57c 3px, transparent 5px);
  --number-text-color: #fbc78e;
  --title-color: #e58e50;
  --item-bg: radial-gradient(rgba(251, 199, 80, 0.8) 1px, transparent 2px),
    radial-gradient(rgba(251, 199, 80, 0.8) 1px, transparent 2px);
}

.p-top-features__itemNum {
  position: relative;
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 176px;
  height: 176px;
  font-family: var(--font-family-train);
  font-size: 9rem;
  background-color: var(--number-bg-color);
  background-image: var(--number-bg-image);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;
  border-radius: 50%;
}
@media screen and (max-width: 750px) {
  .p-top-features__itemNum {
    width: 26vw;
    height: 26vw;
    font-size: 15vw;
  }
}
.p-top-features__itemNum span {
  position: absolute;
  top: -20px;
  left: 50%;
  height: 98px;
  font-size: 2.2rem;
  color: var(--number-text-color);
  transform-origin: center bottom;
}
@media screen and (max-width: 750px) {
  .p-top-features__itemNum span {
    top: -3vw;
    height: 15vw;
    font-size: 3.8vw;
  }
}
.p-top-features__itemNum span:nth-child(1) {
  transform: rotate(0deg);
}
.p-top-features__itemNum span:nth-child(2) {
  transform: rotate(15deg);
}
.p-top-features__itemNum span:nth-child(3) {
  transform: rotate(30deg);
}
.p-top-features__itemNum span:nth-child(4) {
  transform: rotate(45deg);
}
.p-top-features__itemNum span:nth-child(5) {
  transform: rotate(60deg);
}
.p-top-features__itemNum span:nth-child(6) {
  transform: rotate(75deg);
}
.p-top-features__itemNum span:nth-child(7) {
  transform: rotate(90deg);
}
.p-top-features__itemHeader {
  margin-bottom: 30px;
  font-size: 3.5rem;
}
@media screen and (max-width: 1280px) {
  .p-top-features__itemHeader {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__itemHeader {
    font-size: 6.5vw;
  }
}
.p-top-features__itemTitle {
  font-family: var(--font-family-kiwi);
  line-height: 1.65;
  color: var(--title-color);
  letter-spacing: 0.15em;
}
.p-top-features__itemBg {
  position: absolute;
  width: 664px;
  background: var(--item-bg);
  border-radius: 70px;
  opacity: 0.5;
}
@media screen and (max-width: 1280px) {
  .p-top-features__itemBg {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .p-top-features__itemBg {
    border-radius: 30px;
  }
}
.p-top-features__itemText {
  line-height: 2.5;
}
.p-top-features__itemInner {
  z-index: 1;
  flex: 1;
}
.p-top-features__itemThumb {
  position: relative;
  width: 920px;
  height: 580px;
}
@media screen and (max-width: 1280px) {
  .p-top-features__itemThumb {
    width: calc(100% + 70px);
    max-width: 820px;
    height: auto;
    aspect-ratio: 1/0.63;
  }
}
.p-top-features__itemImage {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
}
.p-top-features__itemMore {
  --border-color: var(--title-color);
  --active-color: var(--title-color);
  margin-top: 2em;
  margin-left: auto;
}
@media screen and (max-width: 1280px) {
  .p-top-features__itemMore {
    margin-right: auto;
  }
}

.p-top-greeting {
  position: relative;
  padding-bottom: 275px;
  overflow: hidden;
  background-image: linear-gradient(to bottom, #fef9f1 0%, #fef9f1 50%, transparent 100%), url("../../images/common/bg_cloud_sky.png");
  background-repeat: no-repeat;
  background-position: top, center;
  background-size: 100% 300px, cover;
}
:where([data-theme=forest]) .p-top-greeting {
  background-image: linear-gradient(to bottom, #fafaf2 0%, #fafaf2 50%, transparent 100%), url("../../images/common/bg_cloud_forest.png");
}

@media screen and (max-width: 1280px) {
  .p-top-greeting {
    padding-bottom: 150px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-greeting {
    padding-bottom: 20vw;
  }
}
.p-top-greeting__inner {
  position: relative;
  padding: 85px 0 120px;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__inner {
    padding: 40px 0 60px;
  }
}
.p-top-greeting__inner::before {
  position: absolute;
  inset: 0 -200px 0 -50vw;
  height: 100%;
  content: "";
  background: repeating-linear-gradient(-45deg, #fff, #fff 12px, transparent 0, transparent 24px) rgba(255, 255, 255, 0.8);
  border-radius: 0 550px 130px 0;
  opacity: 0.8;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__inner::before {
    right: -10px;
    border-radius: 0 200px 60px 0;
  }
}
@media screen and (max-width: 575px) {
  .p-top-greeting__inner::before {
    border-top-right-radius: 40vw;
  }
}
.p-top-greeting__title {
  position: relative;
  max-width: var(--contents-width-sm);
  margin: 0 auto 50px;
}
@media screen and (max-width: 1000px) {
  .p-top-greeting__title {
    padding-top: 100px;
  }
}
@media screen and (max-width: 575px) {
  .p-top-greeting__title {
    padding-top: 13vw;
    margin-bottom: 30px;
  }
}
.p-top-greeting__title > span:first-child {
  position: absolute;
  top: -40px;
  right: 100px;
  font-family: var(--font-family-train);
  font-size: 8rem;
  color: #52bbf7;
}
:where([data-theme=forest]) .p-top-greeting__title > span:first-child {
  color: #92cc40;
}

@media screen and (max-width: 1280px) {
  .p-top-greeting__title > span:first-child {
    right: 60px;
  }
}
@media screen and (max-width: 575px) {
  .p-top-greeting__title > span:first-child {
    right: 13vw;
    font-size: 12vw;
  }
}
.p-top-greeting__title > span:first-child span {
  display: inline-block;
}
.p-top-greeting__title > span:first-child span:nth-child(2) {
  transform: translateX(0.2em);
}
.p-top-greeting__title > span:first-child span:nth-child(3) {
  transform: rotate(5deg) translate(0.5em, 0.02em);
}
.p-top-greeting__title > span:first-child span:nth-child(4) {
  transform: rotate(10deg) translate(0.7em, 0.05em);
}
.p-top-greeting__title > span:first-child span:nth-child(5) {
  transform: rotate(17deg) translate(1em, 0.1em);
}
.p-top-greeting__title > span:first-child span:nth-child(6) {
  transform: rotate(26deg) translate(1.4em, 0.1em);
}
.p-top-greeting__title > span:first-child span:nth-child(7) {
  transform: rotate(35deg) translate(1.8em, 0.15em);
}
.p-top-greeting__title > span:first-child span:nth-child(8) {
  transform: rotate(60deg) translate(2.45em, -0.1em);
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__title > span:first-child span:nth-child(4) {
    transform: rotate(10deg) translate(0.7em, 0.05em);
  }
  .p-top-greeting__title > span:first-child span:nth-child(5) {
    transform: rotate(20deg) translate(1em, 0.1em);
  }
  .p-top-greeting__title > span:first-child span:nth-child(6) {
    transform: rotate(35deg) translate(1.4em, 0.1em);
  }
  .p-top-greeting__title > span:first-child span:nth-child(7) {
    transform: rotate(50deg) translate(1.8em, 0.15em);
  }
  .p-top-greeting__title > span:first-child span:nth-child(8) {
    transform: rotate(75deg) translate(2.45em, -0.1em);
  }
}
.p-top-greeting__title > span:last-child {
  font-family: var(--font-family-kiwi);
  font-size: 4.6rem;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 575px) {
  .p-top-greeting__title > span:last-child {
    font-size: 6.5vw;
  }
}
.p-top-greeting__subTitle {
  position: relative;
  max-width: var(--contents-width-sm);
  margin: 0 auto 70px;
  font-family: var(--font-family-kiwi);
  font-size: 4rem;
  line-height: 1.75;
  color: #75c248;
  letter-spacing: 0.15em;
}
:where([data-theme=forest]) .p-top-greeting__subTitle {
  color: #4e8b47;
}

@media screen and (max-width: 750px) {
  .p-top-greeting__subTitle {
    margin-bottom: 30px;
    font-size: 6.5vw;
  }
}
.p-top-greeting__top {
  position: relative;
  display: flex;
  gap: 30px 65px;
  align-items: flex-end;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__top {
    flex-flow: column;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-greeting__top {
    margin-bottom: 30px;
  }
}
.p-top-greeting__grid {
  container-type: inline-size;
  position: relative;
  display: grid;
  grid-template-columns: 42% 1fr;
  -moz-column-gap: 65px;
       column-gap: 65px;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__grid {
    grid-template-areas: "image" "message" "sign" "career" "more";
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__column {
    display: contents;
  }
}
.p-top-greeting__image {
  grid-area: image;
}
@media screen and (min-width: 1281px) {
  .p-top-greeting__image {
    padding-left: 20px;
    margin-left: calc(50cqw - 50vw);
  }
}
.p-top-greeting__image > img {
  display: block;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1281px) {
  .p-top-greeting__image > img {
    width: 100%;
    max-width: 50cqw;
    margin-left: auto;
  }
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__image > img {
    width: 610px;
    margin: auto;
  }
}
.p-top-greeting__career {
  position: relative;
  grid-area: career;
  margin-top: -40px;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__career {
    margin-top: 32px;
  }
}
.p-top-greeting__message {
  grid-area: message;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__message {
    margin-top: 32px;
  }
}
.p-top-greeting__sign {
  grid-area: sign;
  margin-top: 60px;
  text-align: right;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__sign {
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .p-top-greeting__sign {
    margin-top: 30px;
  }
}
.p-top-greeting__position {
  margin-right: 1em;
}
.p-top-greeting__name {
  font-family: var(--font-family-kiwi);
  font-size: 1.8em;
}
.p-top-greeting__more {
  grid-area: more;
  margin-top: 60px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-top-greeting__career {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
  }
  .p-top-greeting__message {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-top-greeting__sign {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-top-greeting__more {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
}
@media screen and (max-width: 1280px) {
  .p-top-greeting__more {
    margin-top: 32px;
  }
}

.p-top-info__panel:nth-child(3n+1), .p-top-info__tab:nth-child(3n+1) {
  --active-text-color: #e58e50;
  --border-color: #fbc78e;
  --tab-base-color: #fddfbd;
  --tab-dot-color: #fef0e0;
}

.p-top-info__panel:nth-child(3n+2), .p-top-info__tab:nth-child(3n+2) {
  --active-text-color: #67b6db;
  --border-color: #a8dde1;
  --tab-base-color: #cfeef1;
  --tab-dot-color: #e8f9fa;
}
:where([data-theme=forest]) .p-top-info__panel:nth-child(3n+2), :where([data-theme=forest]) .p-top-info__tab:nth-child(3n+2) {
  --active-text-color: #fbd700;
  --border-color: #fbd700;
  --tab-base-color: #fdef99;
  --tab-dot-color: #fef7cc;
}

.p-top-info__panel:nth-child(3n+3), .p-top-info__tab:nth-child(3n+3) {
  --active-text-color: #75c248;
  --border-color: #a7d676;
  --tab-base-color: #d3ebbb;
  --tab-dot-color: #e7f4da;
}
:where([data-theme=forest]) .p-top-info__panel:nth-child(3n+3), :where([data-theme=forest]) .p-top-info__tab:nth-child(3n+3) {
  --active-text-color: #95cc3d;
}

.p-top-info {
  --border-width: 3px;
  position: relative;
  z-index: 0;
  padding: 60px 0;
}
@media screen and (max-width: 1280px) {
  .p-top-info {
    padding: 30px 0;
  }
}
.p-top-info__tabs {
  container-type: inline-size;
  position: relative;
  z-index: 2;
  display: flex;
  gap: 20px;
  align-items: flex-end;
  overflow: hidden;
  font-family: var(--font-family-train);
  font-size: 2.8rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .p-top-info__tabs {
    gap: 0;
    padding: 0 6vw;
    font-size: 4.5vw;
  }
}
.p-top-info__tab {
  position: relative;
  z-index: calc((var(--order)) * -1);
  width: 207px;
  max-width: 50%;
  aspect-ratio: 2.766/1;
}
@media screen and (max-width: 750px) {
  .p-top-info__tab {
    flex: 1;
    width: auto;
    margin: 0 -6vw;
  }
}
.p-top-info__tab > span {
  --base-color: var(--tab-base-color);
  --dot-color: var(--tab-dot-color);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
  padding-right: 0.15em;
  letter-spacing: 0.05em;
  -webkit-mask-image: url("../../images/common/cloud05-clip.svg");
          mask-image: url("../../images/common/cloud05-clip.svg");
}
.p-top-info__tab--all > span {
  padding-right: 0.35em;
}

.p-top-info__tab > svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: transparent;
}
.p-top-info__tab[aria-selected=true] {
  z-index: 0;
  color: var(--active-text-color);
}
.p-top-info__tab[aria-selected=true]::before, .p-top-info__tab[aria-selected=true]::after {
  position: absolute;
  bottom: 0;
  width: 100cqw;
  height: var(--border-width);
  content: "";
  background-color: var(--border-color);
}
.p-top-info__tab[aria-selected=true]::before {
  right: calc(100% - var(--border-width));
}
.p-top-info__tab[aria-selected=true]::after {
  left: calc(100% - var(--border-width));
}
@media screen and (max-width: 750px) {
  .p-top-info__tab[aria-selected=true] {
    flex: auto;
  }
}
.p-top-info__tab[aria-selected=true] > span {
  background: url("../../images/common/bg_paper_01.jpg");
  background-position: center;
  background-size: auto;
}
.p-top-info__tab[aria-selected=true] > svg {
  stroke: var(--border-color);
  stroke-width: var(--border-width);
}
.p-top-info__panels {
  position: relative;
  z-index: 1;
}
.p-top-info__panel {
  position: relative;
  display: flex;
  gap: 30px 55px;
  padding: 45px 40px;
  margin-top: calc(var(--border-width) * -1);
  background: url("../../images/common/bg_paper_01.jpg");
  border-bottom: 3px solid var(--border-color);
}
:where(:not(.p-top-info__tabs + .p-top-info__panels)) > .p-top-info__panel {
  border-top: 3px solid var(--border-color);
}
@media screen and (max-width: 1000px) {
  .p-top-info__panel {
    flex-flow: column;
    padding: 25px 4vw 30px;
  }
}
.p-top-info__panel[aria-hidden=true] {
  display: none;
}
.p-top-info__more-button {
  --color: var(--active-text-color);
  border: 1px solid var(--color);
}
@media screen and (max-width: 1000px) {
  .p-top-info__more-button {
    height: auto;
    padding-bottom: 10px;
    margin: 0 auto;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--color);
    border-radius: 0;
  }
  .p-top-info__more-button span {
    flex: 1;
    text-align: center;
  }
  .p-top-info__more-button span::after {
    display: none;
  }
}
.p-top-info__title {
  font-family: var(--font-family-kiwi);
  font-size: 2.8rem;
  line-height: 1;
}
.p-top-info__inner {
  --scroll-bar-width: 8px;
  flex: 1;
  height: 180px;
  padding-right: calc(var(--scroll-bar-width) + 1em);
  overflow: auto;
}
.p-top-info__inner .simplebar-track {
  width: var(--scroll-bar-width);
  background-color: #d2d2d2;
}
.p-top-info__inner .simplebar-scrollbar::before {
  inset: 0;
  background: #5b758b;
  border-radius: 0;
  opacity: 1;
}
@media screen and (max-width: 1000px) {
  .p-top-info__inner {
    flex: auto;
    height: 140px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-info__inner {
    --scroll-bar-width: 6px;
  }
}
.p-top-info__date {
  float: left;
  font-weight: var(--font-weight-normal);
  color: var(--active-text-color);
}
@media screen and (max-width: 1000px) {
  .p-top-info__date {
    letter-spacing: 0;
  }
}
.p-top-info__detail {
  padding-left: 10em;
}
@media screen and (max-width: 1000px) {
  .p-top-info__detail {
    padding-left: 7.5em;
  }
}
.p-top-info__detail:not(:last-child) {
  margin-bottom: 1em;
}
.p-top-info .mCSB_scrollTools .mCSB_draggerContainer {
  width: 8px;
  background: #d2d2d2;
  border-radius: 0;
}
.p-top-info .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px;
  background: #254a66;
  border-radius: 0;
}
.p-top-info .mCSB_scrollTools .mCSB_draggerRail {
  display: none;
}

.p-top-message {
  --background: url("../images/top/message/bg_sky_03.jpg");
  --gradation-height: 360px;
  --top-color: #5faefe;
  --cloud-width: 793px;
  position: relative;
  z-index: 0;
  padding: 0;
  margin-top: 60px;
  margin-bottom: 120px;
}
:where([data-theme=forest]) .p-top-message {
  --top-color: #95cc3d;
  --bottom-color: rgba(201, 225, 168, 0.15);
  --background: url("../images/top/message/bg_forest_03.jpg");
}

@media screen and (max-width: 1280px) {
  .p-top-message {
    --cloud-width: 650px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-message {
    --gradation-height: 150px;
  }
}
.p-top-message__wrapper {
  padding-top: 60px;
  overflow: hidden;
}
.p-top-message__inner {
  position: relative;
  padding-bottom: 120px;
  background-image: linear-gradient(to bottom, var(--top-color) 0, rgba(95, 197, 173, 0.25) 70%, rgba(95, 197, 173, 0.07) 100%);
}
:where([data-theme=forest]) .p-top-message__inner {
  background-image: linear-gradient(to bottom, var(--top-color) 0, rgba(201, 225, 168, 0.15) 100%);
}

.p-top-message__cloud {
  display: block;
  width: var(--cloud-width);
  max-width: 100%;
  height: auto;
  aspect-ratio: 3.53/1;
  margin-bottom: -0.5px;
  fill: var(--top-color);
}
@media screen and (max-width: 1280px) {
  .p-top-message__cloud {
    margin-right: auto;
    margin-left: auto;
  }
}
.p-top-message__heading {
  --space: 0.22em;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: var(--cloud-width);
  max-width: 100%;
  font-size: 8rem;
  line-height: 1;
  text-align: center;
  transform: translateY(-35%);
}
@media screen and (max-width: 1280px) {
  .p-top-message__heading {
    width: 100%;
    transform: translateY(-15%);
  }
}
@media screen and (max-width: 750px) {
  .p-top-message__heading {
    font-size: 5rem;
  }
}
@media screen and (max-width: 575px) {
  .p-top-message__heading {
    font-size: 10vw;
  }
}
.p-top-message__heading__en {
  display: block;
  font-family: var(--font-family-train);
  color: #fbd700;
  letter-spacing: var(--space);
}
:where([data-theme=forest]) .p-top-message__heading__en {
  color: #fdeb80;
}

.p-top-message__heading__ja {
  display: block;
  margin-top: 1em;
  font-family: var(--font-family-kiwi);
  font-size: 0.45em;
  color: #fff;
  letter-spacing: var(--space);
}
@media screen and (max-width: 750px) {
  .p-top-message__heading__ja {
    font-size: 26px;
  }
}
.p-top-message__body {
  display: flex;
  flex-flow: row-reverse;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 65px;
}
@media screen and (max-width: 1280px) {
  .p-top-message__body {
    flex-flow: column;
    padding-top: 60px;
    padding-bottom: 0;
  }
}
.p-top-message__subTitle {
  margin-bottom: 30px;
  font-family: var(--font-family-kiwi);
  font-size: 3.6rem;
  line-height: 1.75;
  color: #fff;
}
@media screen and (max-width: 1280px) {
  .p-top-message__subTitle {
    color: #254a66;
    text-align: center;
  }
}
@media screen and (max-width: 575px) {
  .p-top-message__subTitle {
    font-size: 7vw;
  }
}
.p-top-message__content {
  z-index: 1;
  width: 580px;
  padding-top: 80px;
}
@media screen and (max-width: 1280px) {
  .p-top-message__content {
    width: 100%;
    padding-top: 40px;
  }
}
.p-top-message__mainImage {
  z-index: 1;
  width: 880px;
  max-width: initial;
  height: 880px;
  margin-right: -290px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1280px) {
  .p-top-message__mainImage {
    width: 500px;
    height: 500px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 575px) {
  .p-top-message__mainImage {
    width: 120vw;
    height: 120vw;
    margin-left: -14vw;
  }
}
.p-top-message__subImage {
  position: absolute;
  right: 50%;
  bottom: 0;
  width: 430px;
  height: 430px;
  margin-right: -150px;
  border-radius: 50%;
  opacity: 0.5;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1280px) {
  .p-top-message__subImage {
    display: none;
  }
}
.p-top-message__text {
  position: relative;
  z-index: 999;
  font-size: 1.7rem;
  line-height: 2.53;
}
@media screen and (max-width: 575px) {
  .p-top-message__text {
    font-size: inherit;
  }
}
.p-top-message__text + .p-top-message__text {
  margin-top: 2.5em;
}

.p-top-mv {
  height: auto;
  margin-bottom: 60px;
  background-size: cover;
}
:where([data-theme=sky]) .p-top-mv {
  background-image: url("../../images/top/mv/bg_sky_01.jpg");
}

:where([data-theme=forest]) .p-top-mv {
  background-image: url("../../images/top/mv/bg_forest_01.jpg");
}

@media screen and (min-width: 751px) {
  .p-top-mv {
    display: flex;
    align-items: center;
    min-height: 700px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-mv {
    height: calc(60px + 150vw);
  }
}
@media screen and (max-width: 575px) {
  .p-top-mv {
    margin-bottom: 30px;
  }
}
.p-top-mv__inner {
  position: relative;
  display: block;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .p-top-mv__inner {
    left: 50%;
    min-width: 1080px;
    max-width: 1640px;
    aspect-ratio: 1/0.6;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 750px) {
  .p-top-mv__inner {
    height: 100%;
  }
}
.p-top-mv__title {
  position: absolute;
  bottom: 30%;
  left: 50%;
  z-index: 1;
  width: 60vw;
  max-width: 600px;
  transform: translateX(-40%) translateY(50%);
}
@media screen and (max-width: 1000px) {
  .p-top-mv__title {
    bottom: 20%;
  }
}
@media screen and (max-width: 750px) {
  .p-top-mv__title {
    top: calc(60px + 12vw);
    bottom: auto;
    left: 4%;
    width: 90%;
    margin-left: 0;
    transform: none;
  }
}
.p-top-mv__title img {
  width: 100%;
}
.p-top-mv__slide {
  position: absolute;
  z-index: 0;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
}
@media screen and (min-width: 751px) {
  .p-top-mv__slide--primary {
    top: 13%;
    left: 1%;
    width: 55%;
  }
}
@media screen and (max-width: 750px) {
  .p-top-mv__slide--primary {
    bottom: -10vw;
    left: -10vw;
    width: 120vw;
    padding: 0 10vw 10vw;
    border-radius: 50% 50% 0 0/25% 25% 0 0;
  }
}
.p-top-mv__slide--secondary {
  top: 10%;
  right: 8%;
  width: 28%;
}
@media screen and (max-width: 750px) {
  .p-top-mv__slide--secondary {
    display: none;
  }
}
.p-top-mv__slide--tertiary {
  top: 43%;
  right: -2%;
  width: 18%;
}
@media screen and (max-width: 750px) {
  .p-top-mv__slide--tertiary {
    display: none;
  }
}
.p-top-mv__slide__inner {
  width: 100%;
  height: 100%;
}
.p-top-mv__slide__item {
  width: 100%;
  height: 100%;
}
.p-top-mv__slide__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}

.p-top-outline {
  position: relative;
  z-index: 0;
  padding: var(--header-height) 0;
  margin-top: var(--header-height);
}
.p-top-outline__heading > span:first-child {
  font-size: 3rem;
}
:where([data-theme=forest]) .p-top-outline__heading > span:first-child {
  color: #fbe978;
}

@media screen and (max-width: 575px) {
  .p-top-outline__heading > span:first-child {
    font-size: 7vw;
  }
}
:where([data-theme=forest]) .p-top-outline__heading > span:last-child {
  color: #fff;
}

.p-top-outline__body {
  --gap: 80px;
  display: grid;
  gap: var(--gap);
  margin-top: var(--gap);
}
@media screen and (max-width: 575px) {
  .p-top-outline__body {
    --gap: 50px;
  }
}
.p-top-outline__nap {
  padding: 0;
}
:where([data-theme=forest]) .p-top-outline__nap {
  color: #fff;
}
:where([data-theme=forest]) .p-top-outline__nap .c-text-link {
  --color: #fbe978;
  --hover-color: #e7d66e;
}

.p-top-outline__sns {
  text-align: center;
}
.p-top-outline__point {
  font-size: 15px;
}
@media screen and (max-width: 1000px) {
  .p-top-outline__point .l-grid {
    --column-gap: 1.2em;
  }
}
@media screen and (max-width: 834px) {
  .p-top-outline__point .l-grid {
    --column-count: 2;
  }
}
@media screen and (max-width: 750px) {
  .p-top-outline__point .l-grid {
    --column-count: 1;
  }
}
.p-top-outline__point .c-card01 {
  background-color: rgba(126, 219, 229, 0.4);
  border-radius: 30px;
}
:where([data-theme=forest]) .p-top-outline__point .c-card01 {
  background-color: rgba(255, 255, 255, 0.4);
}

.p-top-outline__point .c-heading08 {
  color: #254a66;
}
@media screen and (max-width: 575px) {
  .p-top-outline__point .c-heading08 {
    font-size: 2.3rem;
  }
}

.p-top-profile {
  padding: 55px;
  background: rgba(167, 214, 118, 0.3);
  border-radius: 55px;
}
:where([data-theme=forest]) .p-top-profile {
  background: rgba(254, 247, 204, 0.6);
}

@media screen and (max-width: 1280px) {
  .p-top-profile {
    padding: 30px;
    margin: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-top-profile {
    padding: 4vw;
    border-radius: 30px;
  }
}
.p-top-profile__title {
  margin-bottom: 10px;
  font-size: 1.8rem;
  color: #75c248;
}
:where([data-theme=forest]) .p-top-profile__title {
  color: #6ca223;
}

.p-top-profile__itemTitle {
  float: left;
}
.p-top-profile__itemText {
  padding-left: 5em;
}

.p-top-services {
  position: relative;
  padding: 200px 0 220px;
}
@media screen and (max-width: 1280px) {
  .p-top-services {
    padding: 100px 0;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services {
    padding: 15vw 0;
  }
}
.p-top-services::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
}
:where([data-theme=sky]) .p-top-services::before {
  background-image: linear-gradient(to bottom, rgba(56, 212, 242, 0.6), rgba(136, 239, 249, 0.3));
}

:where([data-theme=forest]) .p-top-services::before {
  background-color: rgba(255, 255, 255, 0.3);
}

.p-top-services__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: blur(13px);
}
@media screen and (max-width: 750px) {
  .p-top-services__bg {
    filter: blur(9px);
  }
}
.p-top-services__cloud {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100px;
  overflow: hidden;
}
@media screen and (max-width: 1280px) {
  .p-top-services__cloud {
    height: 50px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services__cloud {
    height: 5vw;
  }
}
.p-top-services__cloud--top {
  top: 0;
  transform: rotate(180deg);
}
.p-top-services__cloud--bottom {
  bottom: 0;
}
.p-top-services__cloud svg {
  position: absolute;
  left: 50%;
  width: 100%;
  min-width: 1920px;
  height: 100%;
  fill: #fef9f1;
  transform: translateX(-50%);
}
:where([data-theme=forest]) .p-top-services__cloud svg {
  fill: #fafaf2;
}

@media screen and (max-width: 1280px) {
  .p-top-services__cloud svg {
    min-width: 1280px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services__cloud svg {
    min-width: 100%;
  }
}
.p-top-services__title {
  position: relative;
  padding-top: 210px;
  margin-bottom: 55px;
  text-align: center;
}
@media screen and (max-width: 575px) {
  .p-top-services__title {
    padding-top: 31vw;
    margin-bottom: 20px;
  }
}
.p-top-services__title > span:nth-child(1) span, .p-top-services__title > span:nth-child(2) span {
  position: absolute;
  left: calc(50% - 3rem);
  width: 6rem;
  height: 700px;
  font-family: var(--font-family-train);
  font-size: 6rem;
  color: #fff;
  transform-origin: center bottom;
}
:where([data-theme=forest]) .p-top-services__title > span:nth-child(1) span, :where([data-theme=forest]) .p-top-services__title > span:nth-child(2) span {
  color: #6ca223;
}

@media screen and (max-width: 575px) {
  .p-top-services__title > span:nth-child(1) span, .p-top-services__title > span:nth-child(2) span {
    height: 100vw;
    font-size: 10vw;
  }
}
.p-top-services__title > span:nth-child(1) span {
  top: 0;
}
.p-top-services__title > span:nth-child(1) span:nth-child(1) {
  transform: rotate(-15deg);
}
.p-top-services__title > span:nth-child(1) span:nth-child(2) {
  transform: rotate(-10deg);
}
.p-top-services__title > span:nth-child(1) span:nth-child(3) {
  transform: rotate(-5deg);
}
.p-top-services__title > span:nth-child(1) span:nth-child(4) {
  transform: rotate(0deg);
}
.p-top-services__title > span:nth-child(1) span:nth-child(5) {
  transform: rotate(5deg);
}
.p-top-services__title > span:nth-child(1) span:nth-child(6) {
  transform: rotate(10deg);
}
.p-top-services__title > span:nth-child(1) span:nth-child(7) {
  transform: rotate(15deg);
}
.p-top-services__title > span:nth-child(2) span {
  top: 90px;
}
@media screen and (max-width: 575px) {
  .p-top-services__title > span:nth-child(2) span {
    top: 12vw;
  }
}
.p-top-services__title > span:nth-child(2) span:nth-child(1) {
  transform: rotate(-18deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(2) {
  transform: rotate(-13deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(3) {
  transform: rotate(-8deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(4) {
  transform: rotate(-3deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(5) {
  transform: rotate(2deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(6) {
  transform: rotate(7deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(7) {
  transform: rotate(12deg);
}
.p-top-services__title > span:nth-child(2) span:nth-child(8) {
  transform: rotate(17deg);
}
.p-top-services__title > span:nth-child(3) {
  font-family: var(--font-family-kiwi);
  font-size: 4rem;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 750px) {
  .p-top-services__title > span:nth-child(3) {
    font-size: 7vw;
  }
}
.p-top-services__list {
  --column-gap: 40px;
  --row-gap: 45px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 67px;
}
@media screen and (max-width: 1390px) {
  .p-top-services__list {
    --column-gap: 18px;
    --row-gap: 18px;
  }
}
@media screen and (min-width: 1281px) {
  .p-top-services__list {
    --column-count: 4;
  }
}
@media screen and (max-width: 1280px) {
  .p-top-services__list {
    --column-count: 3;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services__list {
    --column-count: 2;
    --column-gap: 3vw;
    --row-gap: 3vw;
    margin-bottom: 30px;
  }
}
.p-top-services__item {
  --bg-color: rgba(168, 221, 225, 0.6);
  position: relative;
  max-width: 280px;
  overflow: hidden;
  line-height: 1.53;
  text-align: center;
  background-image: url("../../images/common/bg_paper_02.jpg");
  border-radius: 70px;
}
.p-top-services__item:nth-child(3n+1) {
  --bg-color: rgba(168, 221, 225, 0.6);
}
:where([data-theme=forest]) .p-top-services__item:nth-child(3n+1) {
  --bg-color: rgba(146, 204, 64, 0.6);
}

.p-top-services__item:nth-child(3n+2) {
  --bg-color: rgba(251, 199, 142, 0.6);
}
.p-top-services__item:nth-child(3n) {
  --bg-color: rgba(167, 214, 118, 0.6);
}
:where([data-theme=forest]) .p-top-services__item:nth-child(3n) {
  --bg-color: rgba(251, 215, 0, 0.6);
}

@media screen and (max-width: 750px) {
  .p-top-services__item {
    border-radius: 40px;
  }
}
.p-top-services__item::before {
  display: block;
  padding-top: 100%;
  content: "";
  background-color: var(--bg-color);
}
.p-top-services__item::after {
  position: absolute;
  inset: 0;
  content: "";
}
.p-top-services__item:nth-child(odd)::after {
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 6px, transparent 0, transparent 12px);
}
.p-top-services__item:nth-child(even)::after {
  background-image: radial-gradient(rgba(255, 255, 255, 0.3) 2px, transparent 4px), radial-gradient(rgba(255, 255, 255, 0.3) 2px, transparent 4px);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}
.p-top-services__itemLink {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  padding: 30px 20px 20px;
}
@media screen and (max-width: 750px) {
  .p-top-services__itemLink {
    padding: 3vw;
  }
}
.p-top-services__itemLink::before {
  position: absolute;
  inset: 20px;
  content: "";
  background: url("../../images/common/bg_paper_02.jpg");
  filter: brightness(1.06);
  border-radius: 50px;
}
@media screen and (max-width: 750px) {
  .p-top-services__itemLink::before {
    inset: 10px;
    border-radius: 30px;
  }
}
.p-top-services__itemLink:hover .p-top-services__itemImage {
  transform: scale(1.1) translateY(-10px);
}
.p-top-services__itemLink:hover .p-top-services__itemTitle {
  color: #52bbf7;
}
:where([data-theme=forest]) .p-top-services__itemLink:hover .p-top-services__itemTitle {
  color: #2f7627;
}

.p-top-services__itemInner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-radius: 25px;
}
.p-top-services__itemImage {
  position: relative;
  width: 105px;
  transition: transform 0.3s;
}
@media screen and (max-width: 834px) {
  .p-top-services__itemImage {
    width: 85px;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services__itemImage {
    width: 20vw;
    max-width: 100px;
  }
}
.p-top-services__itemTitle {
  position: relative;
  margin-top: -0.15em;
  margin-bottom: 10px;
  font-size: 2.1rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.35;
  transition: color 0.3s;
}
@media screen and (max-width: 834px) {
  .p-top-services__itemTitle {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services__itemTitle {
    margin-bottom: 1vw;
    font-size: 3.6vw;
  }
}
.p-top-services__itemText {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3em;
  font-size: 1.5rem;
}
@media screen and (max-width: 834px) {
  .p-top-services__itemText {
    font-size: 1.35rem;
  }
}
@media screen and (max-width: 750px) {
  .p-top-services__itemText {
    font-size: 2.6vw;
  }
}
.p-top-services .c-button01 {
  margin: 0 auto;
}
.p-top-services .c-button01:not(:hover)::after {
  color: #a7d676;
}
.p-top-services .c-button01:not(:hover) span {
  border-color: #a7d676;
}
.p-top-services .c-button01:hover {
  background: #a7d676;
}