/* ==========================================================================
   p-top-kv
   ========================================================================== */
.p-top-kv {
  position: relative;
  height: 47.8125rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv {
    height: 23.4375rem;
    margin-top: 6.5rem;
  }
}
.p-top-kv__inner {
  position: absolute;
  place-self: center;
  inset: 0;
  z-index: 1;
  height: 47.8125rem;
  padding-top: 14.0625rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__inner {
    height: initial;
    padding-top: 0rem;
  }
}
.p-top-kv__title {
  font-size: 2.25rem;
  color: #fff;
  font-weight: 500;
  text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.23);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-top-kv__title {
    font-size: 1.125rem;
  }
}
.p-top-kv__slider {
  position: relative;
  inset: 0;
  z-index: 0;
}
.p-top-kv__slider--item img {
  width: 100%;
  height: 47.8125rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top-kv__slider--item img {
    height: 23.4375rem;
  }
}

/* ==========================================================================
   p-top-kv__news
   ========================================================================== */
.p-top-kv__news {
  position: absolute;
  right: 0;
  z-index: 1;
  max-width: 40.625rem;
  width: 100%;
  top: 42.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__news {
    position: static;
    padding: 1rem 1rem 0;
  }
}
.p-top-kv__news--fixed {
  background: #7f0202;
  color: #fff;
  height: 2.5rem;
  display: flex;
  align-items: center;
  font-size: 0.75rem;
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 2rem;
  padding-right: 1rem;
  gap: 2.5rem;
  border: 1px solid rgba(225, 225, 225, 0.64);
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--fixed {
    padding: 0.625rem 1rem;
    height: initial;
    font-size: 0.875rem;
    gap: 0.9375rem;
    align-items: flex-start;
  }
}
.p-top-kv__news--wrapper {
  background: rgba(0, 0, 0, 0.29);
  margin-top: 0.25rem;
  padding-left: 1.375rem;
  padding-right: 1.375rem;
  padding-top: 0.75rem;
  border: 1px solid rgba(225, 225, 225, 0.64);
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--wrapper {
    background: #fff;
    border: none;
    padding-left: 0;
    padding-right: 0;
  }
}
.p-top-kv__news--content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--content {
    display: none;
  }
}
.p-top-kv__news--title {
  font-size: 1rem;
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--title {
    color: #000;
  }
}
.p-top-kv__news--title-link {
  font-size: 0.75rem;
  color: #fff;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--title-link {
    color: #000;
  }
}
.p-top-kv__news--title-link::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: url("../images/common/external-link.svg") no-repeat center center;
  background-size: contain;
}
.p-top-kv__news--item {
  border-top: 1px solid rgba(208, 208, 208, 0.23);
  padding: 0.75rem 0;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--item {
    border-top: 1px solid #b1b1b1;
    color: #000;
    font-size: 0.875rem;
    gap: 0.9375rem;
    align-items: flex-start;
    padding: 1rem 1rem;
  }
}
.p-top-kv__news--item:nth-last-child(1) {
  border-bottom: 1px solid rgba(208, 208, 208, 0.23);
}
@media screen and (max-width: 768px) {
  .p-top-kv__news--item:nth-last-child(1) {
    border-bottom: none;
  }
}
/* ==========================================================================
   p-top-campaign
   ========================================================================== */
.p-top-campaign {
  padding-top: 3.625rem;
  background: #f2eeea;
}
@media screen and (max-width: 768px) {
  .p-top-campaign {
    background: #fff;
    padding-top: 1rem;
  }
}
.p-top-campaign__inner ul {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.p-top-campaign__link img {
  height: auto;
}

/* ==========================================================================
   p-top-events
   ========================================================================== */
.p-top-events {
  padding-bottom: 3.75rem;
  padding-top: 4.5rem;
  background: #f2eeea;
}
@media screen and (max-width: 768px) {
  .p-top-events {
    margin-top: 5rem;
    padding-top: 5rem;
    padding-bottom: 1.875rem;
    overflow: hidden;
  }
}
.p-top-events__head {
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top-events__head .p-top-sec-intro {
    display: none;
  }
}
.p-top-events__list {
  gap: 2.375rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-events__list {
    gap: 0;
    margin-right: -1.5625rem;
  }
}
.p-top-events__item {
  width: calc((100% - 4.75rem) / 3);
}
@media screen and (max-width: 768px) {
  .p-top-events__item {
    width: 100%;
    padding-right: 1rem;
  }
}
.p-top-events__info {
  margin-top: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top-events__info {
    text-align: left;
    margin-top: 0.5rem;
  }
}
.p-top-events__date {
  font-size: 0.9375rem;
  color: #01352a;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-top-events__date {
    font-size: 0.875rem;
  }
}
.p-top-events__item-title {
  font-size: 1.5rem;
  color: #01352a;
  font-weight: 400;
  margin-top: 0.5rem;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-top-events__item-title {
    font-size: 1.125rem;
    margin-top: 0;
  }
}

/* ==========================================================================
   p-top-reservation
   ========================================================================== */
.p-top-reservation {
  padding-bottom: 3.75rem;
  background: #f2eeea;
}
@media screen and (max-width: 768px) {
  .p-top-reservation {
    padding-bottom: 5rem;
  }
}
.p-top-reservation__inner {
  padding-top: 3.4375rem;
}
.p-top-reservation__head {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 3.75rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-reservation__head {
    flex-direction: column;
    gap: 2.5rem;
  }
}
.p-top-reservation__head::before {
  content: "";
  display: block;
  max-width: 70.25rem;
  width: 100%;
  height: 0.0625rem;
  background: #c8c8c8;
  position: absolute;
  top: -3.4375rem;
}
@media screen and (max-width: 768px) {
  .p-top-reservation__head::before {
    content: none;
    padding-top: 3.75rem;
  }
}
.p-top-reservation__head .c-top-sec-intro {
  display: flex;
  gap: 3.4375rem;
  align-items: center;
}
.p-top-reservation__head .c-top-sec-intro__text {
  flex: 1;
}
.p-top-reservation__head .p-top-reservation__intro-img {
  width: 8.75rem;
  height: 8.75rem;
}
@media screen and (max-width: 1200px) {
  .p-top-reservation__head .p-top-reservation__intro-img {
    display: none;
  }
}
.p-top-reservation .scroll-area {
  margin-top: 1.875rem;
}
@media screen and (max-width: 1200px) {
  .p-top-reservation .scroll-area {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #01352a transparent;
  }
  .p-top-reservation .scroll-area::-webkit-scrollbar {
    height: 0.25rem;
  }
  .p-top-reservation .scroll-area::-webkit-scrollbar-track {
    background: transparent;
  }
  .p-top-reservation .scroll-area::-webkit-scrollbar-thumb {
    background: #01352a;
    border-radius: 0.25rem;
  }
}
.p-top-reservation__contents {
  display: flex;
  gap: 0;
  background: #01352a;
  padding: 0.625rem 0;
}
@media screen and (max-width: 1200px) {
  .p-top-reservation__contents {
    width: 70.25rem;
  }
}
.p-top-reservation__item {
  color: #fff;
  width: calc((100% - 8.125rem) / 14);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 0.9375rem;
  gap: 0.75rem;
  line-height: 1;
}
.p-top-reservation__item:not(:last-child) {
  border-right: 1px solid #fff;
}
.p-top-reservation__item.link-wrap {
  width: 8.125rem;
}
.p-top-reservation__item.link-wrap .p-top-reservation__cal-link {
  gap: 0.5rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.p-top-reservation__item.link-wrap .p-top-reservation__cal-link:before {
  content: "";
  display: inline-block;
  width: 1.6875rem;
  height: 1.875rem;
  background-image: url("../images/common/icon-calendar@2x.png");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.p-top-reservation__btn-list {
  display: flex;
  gap: 2.5rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-top-reservation__btn-list {
    margin-top: 1.875rem;
    flex-direction: column;
    gap: 0.5rem;
  }
}
.p-top-reservation__btn-item {
  width: calc((100% - 2.5rem) / 2);
}
@media screen and (max-width: 768px) {
  .p-top-reservation__btn-item {
    width: 100%;
  }
}
.p-top-reservation__btn-link {
  background: #f6f5f2;
  display: flex;
  align-items: center;
  position: relative;
  transition: all 0.3s ease;
}
.p-top-reservation__btn-link:hover:before {
  right: 1.9375rem;
}
.p-top-reservation__btn-link:hover:after {
  right: 1.25rem;
}
.p-top-reservation__btn-link:before {
  content: "";
  display: inline-block;
  width: 0.25rem;
  height: 0.25rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 2.25rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 2;
  transition: all 0.3s ease;
}
.p-top-reservation__btn-link:after {
  content: "";
  display: inline-block;
  width: 1.5625rem;
  height: 1.5625rem;
  background: #01352a;
  border-radius: 50%;
  position: absolute;
  right: 1.5625rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transition: all 0.3s ease;
}
.p-top-reservation__btn-link img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-top-reservation__btn-link img {
    width: 6rem;
    height: 6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-top-reservation__btn-info {
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  line-height: 1;
  gap: 0.75rem;
}
.p-top-reservation__btn-en {
  font-size: 0.875rem;
  font-weight: 500;
  color: #01352a;
}
.p-top-reservation__btn-ja {
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-top-reservation__btn-ja em {
    display: none;
  }
}

/* ==========================================================================
   p-top-concept
   ========================================================================== */
.p-top-concept {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-concept {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
.p-top-concept__inner {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top-concept__inner {
    flex-direction: column;
  }
}
.p-top-concept__head {
  width: 32.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top-concept__head {
    width: 100%;
  }
}
.p-top-concept__head .c-top-sec-intro__text {
  margin-top: 2.5rem;
}
.p-top-concept__head .c-btn {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-concept__head .c-btn {
    margin-top: 2.5rem;
  }
}
.p-top-concept__img {
  flex: 1;
  margin-left: 0;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-top-concept__img {
    flex: none;
    margin-left: -1rem;
    margin-right: -1rem;
    margin-top: 2.5rem;
    width: calc(100% + 2rem);
  }
}
.p-top-concept__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1200px) {
  .p-top-concept__img img {
    height: 26.5625rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-concept__img img {
    height: auto;
  }
}

/* ==========================================================================
   p-top-news
   ========================================================================== */
.p-top-news {
  background: #f2eeea;
  padding: 3.75rem 0;
}
@media screen and (max-width: 768px) {
  .p-top-news {
    padding: 3.75rem 0;
  }
}
.p-top-news__inner {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-top-news__inner {
    flex-direction: column;
  }
}
.p-top-news__head {
  width: 23.75rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top-news__head {
    width: 100%;
    display: contents;
  }
  .p-top-news__head .c-sec-title {
    order: 1;
  }
  .p-top-news__head .p-top-sec-intro {
    order: 3;
  }
}
.p-top-news__head .c-btn {
  margin-top: 2.5rem;
}
.p-top-news__list {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-top-news__list {
    order: 2;
    margin-top: 2.5rem;
  }
}
.p-top-news__item {
  border-top: 1px solid #c8c8c8;
  padding: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  position: relative;
  padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-news__item {
    flex-direction: row;
    gap: 1rem;
    padding: 1rem;
  }
}
.p-top-news__item:nth-last-child(1) {
  border-bottom: 1px solid #c8c8c8;
}
.p-top-news__item:after {
  content: "";
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  transform: rotate(45deg);
  position: absolute;
  right: 1.25rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 2;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-news__item:after {
    content: none;
  }
}
.p-top-news__item:hover:after {
  right: 0.625rem;
}
.p-top-news__date {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-top-news__date {
    font-size: 0.875rem;
  }
}
.p-top-news__text-link {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-top-news__text-link {
    font-size: 0.875rem;
  }
}

/* ==========================================================================
   p-top-course-guide
   ========================================================================== */
.p-top-course-guide {
  padding: 5.625rem 0;
}
@media screen and (max-width: 768px) {
  .p-top-course-guide {
    padding: 3.75rem 0;
  }
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .p-top-course-guide .c-btn {
    max-width: 20rem;
    width: 100%;
    font-size: 1.5vw;
  }
  .p-top-course-guide .c-btn:after {
    right: 1.6666666667vw;
  }
}
.p-top-course-guide__head .c-top-sec-intro__text {
  margin-top: 1rem;
}
.p-top-course-guide__list {
  gap: 2.375rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-course-guide__list {
    gap: 2.5rem;
    margin-top: 1.25rem;
  }
}
.p-top-course-guide__item {
  width: calc((100% - 4.75rem) / 3);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top-course-guide__item {
    width: 100%;
  }
}
.p-top-course-guide__link {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-top-course-guide__info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.p-top-course-guide__item-tag {
  font-size: 1.125rem;
  font-weight: 400;
  text-align: center;
  color: #01352a;
}
.p-top-course-guide__item-title {
  font-size: 1.875rem;
  color: #01352a;
  font-weight: 400;
  text-align: center;
}
.p-top-course-guide__item-info {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 0.8125rem;
}
.p-top-course-guide__item-info-row {
  display: flex;
}
.p-top-course-guide__item-info-row:nth-child(1) {
  padding-right: 1rem;
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .p-top-course-guide__item-info-row:nth-child(1) {
    padding-right: 1.3333333333vw;
  }
}
.p-top-course-guide__item-info-label {
  color: #01352a;
  font-size: 0.9375rem;
  line-height: 1;
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .p-top-course-guide__item-info-label {
    font-size: 1.1666666667vw;
  }
}
.p-top-course-guide__item-info-value {
  color: #01352a;
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .p-top-course-guide__item-info-value {
    font-size: 2vw;
  }
}
.p-top-course-guide__item-info-value:before {
  content: "/";
}
.p-top-course-guide__item-text {
  font-size: 0.9375rem;
  font-weight: 400;
  color: #01352a;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top-course-guide__item-text {
    font-size: 1.125rem;
  }
}
.p-top-course-guide .c-btn {
  margin-top: auto;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   p-top-service
   ========================================================================== */
.p-top-service {
  overflow-x: hidden;
  background: #f2eeea;
}
@media screen and (max-width: 768px) {
  .p-top-service {
    padding-top: 3.75rem;
  }
}
.p-top-service__inner {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top-service__inner {
    flex-direction: column;
  }
}
.p-top-service__head {
  width: 32.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top-service__head {
    width: 100%;
  }
}
.p-top-service__head .c-top-sec-intro__text {
  margin-top: 2.5rem;
}
.p-top-service__head .c-btn {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-service__head .c-btn {
    margin-top: 2.5rem;
  }
}
.p-top-service__img {
  flex: 1;
  margin-left: 0;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-top-service__img {
    flex: none;
    margin-left: -1rem;
    margin-right: -1rem;
    margin-top: 2.5rem;
    width: calc(100% + 2rem);
  }
}
.p-top-service__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1200px) {
  .p-top-service__img img {
    height: 26.5625rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-service__img img {
    height: auto;
  }
}

/* ==========================================================================
   p-top-facilities
   ========================================================================== */
.p-top-facilities {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-top-facilities {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
.p-top-facilities__head .c-top-sec-intro__text {
  margin-top: 1rem;
}
.p-top-facilities__list {
  gap: 2.5rem 2.375rem;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-top-facilities__list {
    gap: 1.5rem 1.1875rem;
  }
}
.p-top-facilities__item {
  width: calc((100% - 4.75rem) / 3);
}
@media screen and (max-width: 768px) {
  .p-top-facilities__item {
    width: calc((100% - 1.1875rem) / 2);
  }
}
.p-top-facilities .c-btn {
  margin-top: 2rem;
}
.p-top-facilities__item-title-en {
  font-size: 0.9375rem;
  color: #01352a;
  font-weight: 700;
  text-align: center;
  display: block;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facilities__item-title-en {
    font-size: 0.625rem;
    margin-top: 1rem;
  }
}
.p-top-facilities__item-title-jp {
  font-size: 1.5rem;
  color: #01352a;
  font-weight: 400;
  margin-top: 0rem;
  text-align: center;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-top-facilities__item-title-jp {
    font-size: 1.25rem;
  }
}
.p-top-facilities__item-text {
  font-size: 0.9375rem;
  line-height: 1.6666666667;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facilities__item-text {
    font-size: 1rem;
    line-height: 1.6875;
  }
}

/* ==========================================================================
   p-top-columns
   ========================================================================== */
.p-top-columns {
  padding-bottom: 3.75rem;
  padding-top: 4.5rem;
  background: #f2eeea;
}
@media screen and (max-width: 768px) {
  .p-top-columns {
    margin-top: 5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    overflow: hidden;
  }
}
.p-top-columns__head {
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top-columns__head .p-top-sec-intro {
    display: none;
  }
}
.p-top-columns .c-btn {
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-top-columns .c-btn {
    margin-top: 2.5rem;
    margin-left: initial;
    margin-right: initial;
  }
}
.p-top-columns__list {
  gap: 2.375rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-columns__list {
    gap: 0;
    margin-right: -1.5625rem;
  }
}
.p-top-columns__item {
  width: calc((100% - 4.75rem) / 3);
}
@media screen and (max-width: 768px) {
  .p-top-columns__item {
    width: 100%;
    padding-right: 1rem;
  }
}
.p-top-columns__info {
  margin-top: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top-columns__info {
    text-align: left;
    margin-top: 0.5rem;
  }
}
.p-top-columns__date {
  font-size: 0.9375rem;
  color: #01352a;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-top-columns__date {
    font-size: 0.875rem;
  }
}
.p-top-columns__item-title {
  font-size: 1.5rem;
  color: #01352a;
  font-weight: 500;
  margin-top: 0.5rem;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-top-columns__item-title {
    font-size: 1.125rem;
    margin-top: 0.25rem;
  }
}
.p-top-columns__item-text {
  font-size: 0.9375rem;
  line-height: 1.6666666667;
  margin-top: 0.5rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-top-columns__item-text {
    font-size: 1rem;
    line-height: 1.6875;
  }
}

/* ==========================================================================
   p-top-access
   ========================================================================== */
.p-top-access {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-access {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
.p-top-access__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-access__inner {
    flex-direction: column;
    gap: 2.5rem;
  }
}
.p-top-access__head {
  width: 32.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top-access__head {
    width: 100%;
  }
}
.p-top-access__head .c-top-sec-intro__text {
  margin-top: 2.5rem;
}
.p-top-access__head .c-btn {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-access__head .c-btn {
    margin-top: 2.5rem;
  }
}
.p-top-access__map-wrap {
  flex: 1;
  margin-left: 0;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-top-access__map-wrap {
    flex: none;
    margin-left: -1rem;
    margin-right: -1rem;
    width: calc(100% + 2rem);
  }
}
.p-top-access__map {
  display: block;
  width: 100%;
  height: 27.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1200px) {
  .p-top-access__map {
    height: 26.5625rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-access__map {
    height: 62.4vw;
  }
}

/* ==========================================================================
   p-top-faq
   ========================================================================== */
.p-top-faq {
  background: #f2eeea;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-faq {
    padding-top: 3.75rem;
    padding-bottom: 5rem;
  }
}
.p-top-faq__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media screen and (max-width: 1200px) {
  .p-top-faq__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
  }
}
.p-top-faq__list {
  max-width: 55.25rem;
  width: 100%;
}
.p-top-faq__item {
  border-top: 1px solid #c8c8c8;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-faq__item {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.p-top-faq__item:last-child {
  border-bottom: 1px solid #c8c8c8;
}
.p-top-faq__item details[open] summary::before {
  transform: translateY(-50%) rotate(180deg);
}
.p-top-faq__item details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
  opacity: 0;
}
.p-top-faq__item summary {
  display: block;
  list-style: none;
  cursor: pointer;
  position: relative;
  padding-right: 1.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .p-top-faq__item summary {
    padding-left: 1rem;
    font-size: 0.875rem;
  }
}
.p-top-faq__item summary::-webkit-details-marker, .p-top-faq__item summary::marker {
  display: none;
}
.p-top-faq__item summary::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1rem;
  height: 0.0625rem;
  background-color: #000000;
  transform: translateY(-50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-faq__item summary::before {
    width: 0.75rem;
    height: 0.0625rem;
  }
}
.p-top-faq__item summary::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1rem;
  height: 0.0625rem;
  background-color: #000000;
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-faq__item summary::after {
    width: 0.75rem;
    height: 0.0625rem;
  }
}
.p-top-faq__item summary p {
  display: flex;
  gap: 0.9375rem;
  line-height: 1.8;
  align-items: center;
}
.p-top-faq__item summary p::before {
  content: "Q.";
  font-size: 1.6875rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-top-faq__item summary p::before {
    font-size: 1.5rem;
  }
}
.p-top-faq__answer {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 1.25rem;
  display: flex;
  gap: 1.125rem;
  line-height: 1.8;
  padding-left: 0.1875rem;
  align-items: center;
}
.p-top-faq__answer::before {
  content: "A.";
  font-size: 1.6875rem;
  font-weight: 400;
}
.p-top-faq__answer-text a {
  text-decoration: underline;
}
.p-top-faq .c-btn {
  margin: 2.5rem auto 0;
  max-width: 20rem;
  width: 100%;
}

/* ==========================================================================
   p-top-uservoice
   ========================================================================== */
.p-top-uservoice {
  padding-top: 7.5rem;
  padding-bottom: 6.25rem;
  overflow-x: hidden;
  background-image: url("../images/top/back-voice@2x.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .p-top-uservoice {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-position: 30% center;
  }
}
.p-top-uservoice .c-btn {
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-top-uservoice .c-btn {
    margin-left: initial;
    margin-right: initial;
  }
}
.p-top-uservoice__head .c-sec-title__sub {
  color: white !important;
}
.p-top-uservoice__head .c-sec-title__main {
  color: white !important;
}
.p-top-uservoice__head .c-sec-title__main::before {
  background-color: white;
}
.p-top-uservoice__contents {
  margin-top: 2.5rem;
}
.p-top-uservoice__list {
  margin-right: calc(50% - 50vw);
}
.p-top-uservoice__item {
  padding: 0 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-top-uservoice__item {
    padding: 0;
    padding-right: 1rem;
  }
}
.p-top-uservoice__item-inner {
  background: #ffffff;
  border-radius: 0.3125rem;
  padding: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-top-uservoice__item-inner {
    padding: 1.5rem;
    border-radius: 0.3125rem;
  }
}
.p-top-uservoice__item-head {
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}
.p-top-uservoice__item-star {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
.p-top-uservoice__item-star-icon {
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
}
.p-top-uservoice__item-info {
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  margin-top: 0.75rem;
  font-family: "Noto Sans JP", sans-serif;
}
.p-top-uservoice__item-age {
  position: relative;
  padding-right: 0.9375rem;
  margin-right: 0.9375rem;
}
.p-top-uservoice__item-age::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.0625rem;
  height: 0.875rem;
  background-color: #333;
}
.p-top-uservoice__item-title {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}
.p-top-uservoice__item-text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  margin-top: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
}

/* ==========================================================================
   p-top-banner
   ========================================================================== */
.p-top-banner {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  background-color: #f2eeea;
}
@media screen and (max-width: 768px) {
  .p-top-banner {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.p-top-banner__list {
  display: flex;
  gap: 2.25rem;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-top-banner__list {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.p-top-banner__item {
  width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .p-top-banner__item {
    width: 100%;
  }
}
.p-top-banner__item-img {
  display: block;
  width: 100%;
  height: auto;
}

/* ==========================================================================
   p-top-instagram
   ========================================================================== */
.p-top-instagram {
  padding-top: 5.625rem;
  padding-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-instagram {
    padding-top: 5rem;
    padding-bottom: 8rem;
  }
}
.p-top-instagram .p-top-instagram__contents {
  font-size: 1rem;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  text-align: center;
  padding: 5rem 0;
}
@media screen and (max-width: 768px) {
  .p-top-instagram .p-top-instagram__contents {
    font-size: 0.75rem;
  }
}
.p-top-instagram .c-btn {
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-top-instagram .c-btn {
    margin-left: initial;
    margin-right: initial;
    font-size: 0.875rem;
  }
}
/* ==========================================================================
   p-top-sec-intro
   ========================================================================== *//*# sourceMappingURL=style.css.map */