@charset "UTF-8";
/*
Theme Name: Group home Gracias Theme
Version: 1.0
*/
/*---------------------------------*
* foundation
*----------------------------------*/
:root {
  --liquid-htmlroot: calc(100vw / 375);
}
@media (min-width: 769px) {
  :root {
    --liquid-htmlroot: calc(100vw / 1440);
  }
}

/* base
----------------------------------*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: var(--liquid-htmlroot);
  height: 100%;
  scroll-behavior: smooth;
}

body {
  color: #333;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  min-width: 320px;
  width: 100%;
  overflow-x: hidden;
}

body.is-navOpen {
  height: 100%;
  overflow: hidden;
}

img,
video {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
}

a {
  text-decoration: none;
}

@media (min-width: 769px) {
  a:hover {
    text-decoration: none;
  }
}

main {
  width: 100%;
}

.fadeUpTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*---------------------------------*
* layout
*----------------------------------*/
.l-header {
  padding: 16.5rem 0;
  width: 100%;
  height: 70rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transition: none;
}
@media (min-width: 769px) {
  .l-header {
    padding: 16.5rem 0;
    height: auto;
    position: static;
  }
}
@media (min-width: 769px) {
  .l-header.fixed {
    position: fixed;
    top: 0;
    transform: translateY(-100%);
  }
}
@media (min-width: 769px) {
  .l-header.fixed .l-header__inner .l-header__logo {
    width: 210rem;
  }
}
@media (min-width: 769px) {
  .l-header[data-hidden=false].fixed {
    transform: translateY(0);
  }
}
.l-header .l-header__inner {
  padding: 0 16rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .l-header .l-header__inner {
    padding: 0 40rem;
  }
}
.l-header .l-header__inner .l-header__logo {
  width: 119rem;
  aspect-ratio: 119/38;
  display: block;
}
@media (min-width: 769px) {
  .l-header .l-header__inner .l-header__logo {
    width: 343rem;
    aspect-ratio: 343/110;
  }
}
.l-header .l-header__inner .l-header__logo img {
  width: 100%;
  display: block;
}
.l-header .l-header__inner .l-header__nav {
  width: 49rem;
  aspect-ratio: 1;
  display: block;
}
@media (min-width: 769px) {
  .l-header .l-header__inner .l-header__nav {
    width: 718rem;
    aspect-ratio: 0;
  }
}

.l-footer {
  padding: 80rem 24rem 45rem;
  width: 100%;
  display: block;
  background-color: #DCE8DF;
}
@media (min-width: 769px) {
  .l-footer {
    padding: 80rem 120rem 45rem;
  }
}
.l-footer__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 29rem 0;
}
@media (min-width: 769px) {
  .l-footer__content {
    flex-direction: row;
    justify-content: space-between;
  }
}
.l-footer__content--logo {
  margin: 0 auto;
  width: 164rem;
  aspect-ratio: 41/13;
  display: block;
}
@media (min-width: 769px) {
  .l-footer__content--logo {
    margin: 0;
    width: 333rem;
    aspect-ratio: 333/107;
  }
}
.l-footer__content--logo img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.l-footer__content--list {
  margin: 0 auto;
  width: 280rem;
  display: grid;
  grid-template-columns: 98rem 160rem;
  grid-template-rows: repeat(4, 1fr);
  gap: 16rem 20rem;
}
@media (min-width: 769px) {
  .l-footer__content--list {
    margin: 0;
    width: 336rem;
    grid-template-columns: 144rem 176rem;
  }
}
.l-footer__content--list .l-footer__content--item {
  width: 100%;
  display: block;
}
.l-footer__content--list .l-footer__content--item a {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  display: block;
}
@media (min-width: 769px) {
  .l-footer__content--list .l-footer__content--item a {
    font-size: 16rem;
  }
}
.l-footer__bottom {
  margin-top: 48rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4rem 36rem;
  text-align: center;
}
@media (min-width: 769px) {
  .l-footer__bottom {
    margin-top: 40rem;
    flex-direction: row;
    justify-content: center;
  }
}
.l-footer__bottom--item {
  display: block;
}
@media (min-width: 769px) {
  .l-footer__bottom--item {
    width: fit-content;
    position: relative;
  }
}
@media (min-width: 769px) {
  .l-footer__bottom--item:not(:first-child)::before {
    content: "|";
    position: absolute;
    left: -18rem;
    font-size: 18rem;
    color: #333;
  }
}
.l-footer__bottom--item a {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  border-bottom: solid 1rem #666;
}
.l-footer__bottom--item small {
  font-size: 13rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 768px) {
  .home .l-footer {
    padding-bottom: 100rem;
  }
}

.l-common-page {
  margin-top: 70rem;
  padding: 80rem 0;
  width: 100%;
  display: block;
  background-color: #F5F3EF;
  position: relative;
}
@media (min-width: 769px) {
  .l-common-page {
    margin-top: 142rem;
    padding: 80rem 0 120rem;
  }
}
.l-common-page.contact {
  padding-bottom: 88rem;
}
@media (min-width: 769px) {
  .l-common-page.contact {
    padding-bottom: 154rem;
  }
}
.l-common-page::before, .l-common-page::after {
  content: "";
  width: 100%;
  aspect-ratio: 375/24;
  display: block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
}
.l-common-page::before {
  top: 0;
  background-image: url(./images/bg_common_top-sp.svg);
}
@media (min-width: 769px) {
  .l-common-page::before {
    aspect-ratio: 1440/37;
    background-image: url(./images/bg_common_top-pc.svg);
  }
}
.l-common-page::after {
  bottom: 0;
  background-image: url(./images/bg_common_bottom-sp.svg);
  transform: translateY(1rem);
}
@media (min-width: 769px) {
  .l-common-page::after {
    aspect-ratio: 20/1;
    background-image: url(./images/bg_common_bottom-pc.svg);
  }
}
.l-common-page__heading {
  width: 100%;
  display: block;
}
.l-common-page__heading p[lang=en] {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #EA8B58;
  font-family: "Noto Sans JP", sans-serif;
}
.l-common-page__heading--title {
  margin-top: 4rem;
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .l-common-page__heading--title {
    margin-top: 16rem;
    font-size: 32rem;
    line-height: 1.26;
  }
}

/*---------------------------------*
* object
*----------------------------------*/
/*---------------------------------*
* component
*----------------------------------*/
.c-nav {
  padding: 16rem 6rem 0 33rem;
  width: 100%;
  height: 100dvh;
  display: block;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  pointer-events: none;
}
@media (min-width: 769px) {
  .c-nav {
    padding: 0;
    width: 718rem;
    height: auto;
    background-color: transparent;
    position: static;
    pointer-events: visible;
    opacity: 1;
  }
}
.c-nav.is-open {
  opacity: 1;
  pointer-events: visible;
}
.c-nav .c-nav__inner {
  padding-bottom: 146.5rem;
  width: 100%;
  display: block;
  background-color: #F5F3EF;
  border-radius: 8rem;
}
@media (min-width: 769px) {
  .c-nav .c-nav__inner {
    padding-bottom: 0;
    background-color: transparent;
    border-radius: 0;
  }
}
.c-nav .c-nav__inner .c-nav__header {
  padding: 16rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .c-nav .c-nav__inner .c-nav__header {
    display: none;
  }
}
.c-nav .c-nav__inner .c-nav__header a {
  width: 119rem;
  aspect-ratio: 119/38;
  display: block;
}
.c-nav .c-nav__inner .c-nav__header a img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.c-nav .c-nav__inner .c-nav__body {
  margin: 68.5rem auto 0;
  width: 230rem;
  display: block;
}
@media (min-width: 769px) {
  .c-nav .c-nav__inner .c-nav__body {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.c-nav .c-nav__inner .c-nav__body .c-nav__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 25rem 0;
}
@media (min-width: 769px) {
  .c-nav .c-nav__inner .c-nav__body .c-nav__list {
    width: 471rem;
    flex-direction: row;
    justify-content: space-between;
  }
}
.c-nav .c-nav__inner .c-nav__body .c-nav__list .c-nav__item {
  width: fit-content;
  display: block;
}
.c-nav .c-nav__inner .c-nav__body .c-nav__list .c-nav__item::after {
  content: "";
  margin-top: 14rem;
  width: 198rem;
  height: 3rem;
  display: block;
  background-image: url(./images/img_gnav_border.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .c-nav .c-nav__inner .c-nav__body .c-nav__list .c-nav__item::after {
    display: none;
  }
}
.c-nav .c-nav__inner .c-nav__body .c-nav__list .c-nav__item a {
  margin-left: 12rem;
  width: fit-content;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media (min-width: 769px) {
  .c-nav .c-nav__inner .c-nav__body .c-nav__list .c-nav__item a {
    margin-left: 0;
  }
}

.c-btn {
  margin: 37rem auto 0;
  width: 221rem;
  height: 66rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(./images/bg_button_gnav-link.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .c-btn {
    margin: 0;
    width: 199rem;
    background-image: url(./images/bg_button_header-link.svg);
  }
}
.c-btn span.c-btn--contact {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.03em;
  color: #fff;
  display: flex;
  align-items: center;
  text-align: center;
}
.c-btn span.c-btn--contact::after {
  content: "";
  margin-left: 12rem;
  width: 15rem;
  aspect-ratio: 3/2;
  display: inline-block;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.c-button-hamburger {
  width: 49rem;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(./images/bg_hamburger-menu.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: all 0.3s ease-in-out;
}
@media (min-width: 769px) {
  .c-button-hamburger {
    display: none;
  }
}
.c-button-hamburger .c-button-hamburger__wrapper {
  width: 18rem;
  height: 12rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-button-hamburger .c-button-hamburger__wrapper span {
  width: 18rem;
  height: 1.5rem;
  display: block;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
}

.c-button-close {
  padding: 11.5rem;
  width: 38rem;
  aspect-ratio: 1;
  display: block;
}
.c-button-close span:first-of-type {
  width: 19rem;
  height: 1.5rem;
  display: block;
  background-color: #EA8B58;
  transform: rotate(45deg) translate(-1rem, 3rem);
}
.c-button-close span:last-of-type {
  width: 19rem;
  height: 1.5rem;
  display: block;
  background-color: #EA8B58;
  transform: rotate(-45deg) translate(-2rem, -2rem);
}

.c-btn__return-top {
  margin: 40rem auto 0;
  width: fit-content;
  display: block;
}
@media (min-width: 769px) {
  .c-btn__return-top {
    margin: 64rem auto 0;
  }
}
.c-btn__return-top.single {
  margin: 0 auto;
}
.c-btn__return-top--txt {
  display: flex;
  align-items: center;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #EA8B58;
  text-transform: uppercase;
}
.c-btn__return-top--txt::before {
  content: "";
  margin-right: 12rem;
  width: 36rem;
  aspect-ratio: 1;
  display: inline-block;
  background-color: #EA8B58;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: 15rem 10rem;
  background-repeat: no-repeat;
}

.c-btn__return-contact {
  margin: 40rem auto 0;
  width: fit-content;
  display: block;
}
.c-btn__return-contact--txt {
  display: flex;
  align-items: center;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #999;
}
.c-btn__return-contact--txt::before {
  content: "";
  margin-right: 12rem;
  width: 36rem;
  aspect-ratio: 1;
  display: inline-block;
  background-color: #999;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: 15rem 10rem;
  background-repeat: no-repeat;
}

.c-btn__link {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-btn__link span.c-btn__link--text {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #EA8B58;
  display: flex;
  align-items: center;
}
.c-btn__link span.c-btn__link--text::after {
  content: "";
  margin-left: 12rem;
  width: 36rem;
  height: 36rem;
  display: inline-block;
  background-color: #EA8B58;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 15rem 10rem;
  background-repeat: no-repeat;
}

.c-inner {
  margin: 0 auto;
  max-width: 87.201%;
}
@media (min-width: 769px) {
  .c-inner {
    max-width: 66.67%;
  }
}

div.wpcf7 {
  margin-top: 40rem;
  padding: 40rem 16rem;
  width: 100%;
  background-color: #fff;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  div.wpcf7 {
    margin-top: 56rem;
    padding: 56rem 80rem;
  }
}
div.wpcf7 form.wpcf7-form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem 0;
}
@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form {
    gap: 32rem 0;
  }
}
div.wpcf7 form.wpcf7-form p {
  width: 100%;
}
div.wpcf7 form.wpcf7-form p label {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
div.wpcf7 form.wpcf7-form p label.c-form__confirm--text {
  margin-top: 18rem;
  padding-left: 16rem;
  height: 82rem;
  display: flex;
  flex-direction: column;
  font-size: 14rem;
  line-height: 1.6;
  color: #999;
}
@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form p label.c-form__confirm--text {
    margin-top: 0;
  }
}
div.wpcf7 form.wpcf7-form p label.c-form__confirm--text span {
  display: block;
  color: #333;
  line-height: 1.8;
  transform: translateX(-16rem);
}
div.wpcf7 form.wpcf7-form p label span.required-mark::after {
  content: "*";
  margin-left: 4rem;
  color: #EA8B58;
  display: inline-block;
}
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap select.wpcf7-form-control {
  margin: 8rem 0 0;
  padding: 8rem 16rem;
  width: 100%;
  display: block;
  font-size: 14rem;
  border: solid 2rem #d1d1d1;
  border-radius: 5rem;
  appearance: none;
  -webkit-appearance: none;
  background: white url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 12L2 6h12z" fill="%23666"/></svg>') no-repeat right 12px center;
  background-size: 16px;
}
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap input.wpcf7-text,
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap textarea.wpcf7-textarea {
  margin-top: 8rem;
  padding: 10rem 16rem;
  width: 100%;
  display: block;
  background-color: #f3f3f3;
  border-radius: 5rem;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap select option,
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap input,
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap textarea {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #333;
}
div.wpcf7 form.wpcf7-form .c-form__submit .wpcf7-acceptance .wpcf7-list-item,
div.wpcf7 form.wpcf7-form .form-confirm .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
  user-select: none;
}
div.wpcf7 form.wpcf7-form .c-form__submit .wpcf7-acceptance .wpcf7-list-item::before,
div.wpcf7 form.wpcf7-form .form-confirm .wpcf7-acceptance .wpcf7-list-item::before {
  content: "";
  position: absolute;
  left: 7rem;
  top: 3rem;
  width: 6rem;
  height: 12rem;
  border: solid #EA8B58;
  border-width: 0 3rem 3rem 0;
  transform: rotate(45deg);
  opacity: 1;
  pointer-events: none;
}
div.wpcf7 form.wpcf7-form .c-form__submit .wpcf7-acceptance .wpcf7-list-item label,
div.wpcf7 form.wpcf7-form .form-confirm .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
}
div.wpcf7 form.wpcf7-form .c-form__submit .wpcf7-acceptance .wpcf7-list-item label input,
div.wpcf7 form.wpcf7-form .form-confirm .wpcf7-acceptance .wpcf7-list-item label input {
  margin-right: 16rem;
  width: 15rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-color: #fff;
  border: solid 1rem #999;
  border-radius: 2rem;
}
div.wpcf7 form.wpcf7-form .c-form__submit .wpcf7-acceptance .wpcf7-list-item label span.wpcf7-list-item-label,
div.wpcf7 form.wpcf7-form .form-confirm .wpcf7-acceptance .wpcf7-list-item label span.wpcf7-list-item-label {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  color: #333;
}
div.wpcf7 form.wpcf7-form .c-form__submit .wpcf7-acceptance .wpcf7-list-item label span.wpcf7-list-item-label a,
div.wpcf7 form.wpcf7-form .form-confirm .wpcf7-acceptance .wpcf7-list-item label span.wpcf7-list-item-label a {
  color: #EA8B58;
  display: inline-block;
  border-bottom: dotted 1rem #EA8B58;
}
div.wpcf7 form.wpcf7-form .c-form__submit:has(:disabled) .c-form__acceptance span.wpcf7-list-item::before,
div.wpcf7 form.wpcf7-form .form-confirm:has(:disabled) .c-form__acceptance span.wpcf7-list-item::before {
  opacity: 0;
}
div.wpcf7 form.wpcf7-form .c-form__submit p input.wpcf7-submit,
div.wpcf7 form.wpcf7-form .form-confirm p input.wpcf7-submit {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
}
div.wpcf7 form.wpcf7-form .c-form__submit p:has(.wpcf7-submit),
div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit) {
  margin-top: 24rem;
  color: #EA8B58;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form .c-form__submit p:has(.wpcf7-submit),
  div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit) {
    margin-top: 76rem;
  }
}
div.wpcf7 form.wpcf7-form .c-form__submit p:has(.wpcf7-submit) span.wpcf7-spinner,
div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit) span.wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
div.wpcf7 form.wpcf7-form .c-form__submit p:has(.wpcf7-submit)::after,
div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit)::after {
  content: "";
  margin-left: 12rem;
  width: 36rem;
  height: 36rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 15rem 10rem;
  background-repeat: no-repeat;
  background-color: #EA8B58;
}
div.wpcf7 form.wpcf7-form .c-form__submit .c-form__acceptance span.required-mark::after,
div.wpcf7 form.wpcf7-form .form-confirm .c-form__acceptance span.required-mark::after {
  content: "*";
  margin-left: 4rem;
  color: #EA8B58;
  display: inline-block;
}

.c-title {
  width: 100%;
}
.c-title h2 {
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.83;
  letter-spacing: 0.03em;
  color: #333;
  text-align: center;
}
@media (min-width: 769px) {
  .c-title h2 {
    font-size: 28rem;
  }
}
.c-title h2 span {
  padding-bottom: 8rem;
  display: block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #EA8B58;
  font-family: "Noto Sans JP", sans-serif;
}
@media (min-width: 769px) {
  .c-title h2 span {
    padding-bottom: 16rem;
  }
}
@media (min-width: 769px) {
  .c-title.second-view h2 {
    text-align: left;
  }
}
@media (min-width: 769px) {
  .c-title.second-view h2 span {
    padding-bottom: 32rem;
  }
}

.c-decoration-layer {
  width: 375rem;
  overflow-x: hidden;
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
@media (min-width: 769px) {
  .c-decoration-layer {
    width: 1440rem;
  }
}

.c-decoration-top {
  position: absolute;
  position-anchor: --content;
}
.c-decoration-top.deco-triangle {
  top: 123rem;
  left: 18rem;
  width: 52.3rem;
  height: 59rem;
}
@media (min-width: 769px) {
  .c-decoration-top.deco-triangle {
    top: 268rem;
    left: 92rem;
    width: 87.63rem;
    height: 98.71rem;
  }
}
.c-decoration-top.deco-flower {
  top: 550rem;
  left: 55rem;
  width: 67rem;
  height: 63rem;
}
@media (min-width: 769px) {
  .c-decoration-top.deco-flower {
    top: 883rem;
    left: 1266rem;
    width: 135rem;
    height: 126.51rem;
  }
}
.c-decoration-top.deco-leaf {
  top: 855rem;
  right: -9rem;
  width: 127rem;
  height: 92rem;
}
@media (min-width: 769px) {
  .c-decoration-top.deco-leaf {
    top: 857rem;
    right: 494rem;
    width: 242rem;
    height: 174.73rem;
  }
}
.c-decoration-top.deco-bird {
  bottom: 126.1rem;
  right: 32.5rem;
  width: 61.2rem;
  height: 52.4rem;
  transform: rotate(1.43deg);
}
@media (min-width: 769px) {
  .c-decoration-top.deco-bird {
    bottom: 332.71rem;
    right: 584.4rem;
    width: 109.3rem;
    height: 93.59rem;
  }
}

.c-decoration-point {
  position: absolute;
  position-anchor: --point-content;
}
.c-decoration-point.deco-triangle {
  display: none;
}
@media (min-width: 769px) {
  .c-decoration-point.deco-triangle {
    top: 0rem;
    left: 371rem;
    width: 97.5rem;
    height: 114.12rem;
    display: block;
  }
}
.c-decoration-point.deco-bird {
  top: 206rem;
  left: 14rem;
  width: 82.7rem;
  height: 70.8rem;
  transform: rotate(-1.43deg);
}
@media (min-width: 769px) {
  .c-decoration-point.deco-bird {
    top: 375rem;
    left: 29rem;
    width: 137.05rem;
    height: 117.36rem;
  }
}
.c-decoration-point.deco-flower {
  top: 1024rem;
  right: 36rem;
  width: 64rem;
  height: 60rem;
}
@media (min-width: 769px) {
  .c-decoration-point.deco-flower {
    top: 911rem;
    right: 37rem;
    width: 152rem;
    height: 143rem;
  }
}
.c-decoration-point.deco-leaf {
  display: none;
}
@media (min-width: 769px) {
  .c-decoration-point.deco-leaf {
    bottom: 16.82rem;
    left: -86rem;
    width: 261.28rem;
    height: 188.65rem;
    display: block;
    transform: rotate(-12.35deg);
  }
}

.c-decoration-facility {
  position: absolute;
  position-anchor: --facility-content;
}
.c-decoration-facility.deco-leaf {
  content: "";
  top: 21.5rem;
  right: -7.6rem;
  width: 106.3rem;
  height: 76.8rem;
  transform: rotate(-5.73deg);
}
@media (min-width: 769px) {
  .c-decoration-facility.deco-leaf {
    top: 42rem;
    right: -1rem;
    width: 261.3rem;
    height: 188.7rem;
    transform: rotate(0);
  }
}
.c-decoration-facility.deco-bird {
  display: none;
}
@media (min-width: 769px) {
  .c-decoration-facility.deco-bird {
    width: 109.3rem;
    height: 93.59rem;
    display: block;
    bottom: 18rem;
    left: 110rem;
  }
}

.c-decoration-support {
  position: absolute;
  position-anchor: --support-content;
}
.c-decoration-support.deco-bird {
  top: 222rem;
  right: 24rem;
  width: 72.7rem;
  height: 62.25rem;
  transform: rotate(-1.43deg);
}
@media (min-width: 769px) {
  .c-decoration-support.deco-bird {
    top: 256.23rem;
    right: 215.4rem;
    width: 109.3rem;
    height: 93.6rem;
  }
}
.c-decoration-support.deco-triangle {
  top: 790rem;
  right: 50rem;
  width: 51.76rem;
  height: 59.43rem;
}
@media (min-width: 769px) {
  .c-decoration-support.deco-triangle {
    top: 840rem;
    right: 736rem;
    width: 88rem;
    height: 101.04rem;
  }
}
.c-decoration-support.deco-flower {
  top: 940rem;
  left: 11rem;
  width: 56rem;
  height: 52rem;
}
@media (min-width: 769px) {
  .c-decoration-support.deco-flower {
    top: 1330rem;
    left: 1084rem;
    width: 124rem;
    height: 116.2rem;
  }
}

.c-fixedbutton {
  padding: 16rem 0;
  width: 100%;
  display: block;
  background-color: #EA8B58;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 900;
}
@media (min-width: 769px) {
  .c-fixedbutton {
    display: none;
  }
}
.c-fixedbutton[hidden] {
  display: none;
}
.c-fixedbutton__link {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-fixedbutton__link--txt {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  display: inline-block;
}
.c-fixedbutton__link--txt::after {
  content: "";
  margin-left: 12rem;
  width: 15rem;
  aspect-ratio: 5/4;
  display: inline-block;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/*---------------------------------*
* project
*----------------------------------*/
.p-index__content {
  margin-top: 24rem;
  padding: 40rem 16rem;
  width: 100%;
  display: block;
  background-color: #fff;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-index__content {
    margin-top: 64rem;
  }
}
.p-index__content header {
  width: 100%;
  display: block;
}
.p-index__content header h2 {
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
}
@media (min-width: 769px) {
  .p-index__content header h2 {
    font-size: 22rem;
  }
}
.p-index__content p.p-index__content--desc {
  margin-top: 24rem;
  font-size: 14rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (min-width: 769px) {
  .p-index__content p.p-index__content--desc {
    font-size: 16rem;
  }
}

.p-policy__description {
  margin-top: 24rem;
  width: 100%;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-policy__description {
    margin-top: 40rem;
  }
}

.p-policy__content {
  margin-top: 24rem;
  padding: 24rem 16rem;
  display: block;
  background-color: #fff;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-policy__content {
    margin-top: 40rem;
    padding: 48rem 56rem;
  }
}
.p-policy__content h3 {
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-policy__content h3 {
    font-size: 22rem;
  }
}
.p-policy__content p {
  margin-top: 28.8rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.p-policy__content p:first-of-type {
  margin-top: 24rem;
}
.p-policy__content p a {
  word-wrap: break-word;
  word-break: break-all;
}

.p-thanks__content {
  margin-top: 24rem;
  padding: 40rem 0;
  display: block;
  background-color: #fff;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-thanks__content {
    margin-top: 64rem;
    padding: 40rem 0;
  }
}
.p-thanks__content h2 {
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
}
@media (min-width: 769px) {
  .p-thanks__content h2 {
    font-size: 22rem;
  }
}
.p-thanks__content p {
  margin-top: 24rem;
  font-size: 14rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (min-width: 769px) {
  .p-thanks__content p {
    font-size: 16rem;
  }
}

.p-contact__content {
  margin-top: 16rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-contact__content {
    margin-top: 32rem;
  }
}
.p-contact__content p {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.p-contact__content p strong {
  font-size: 28rem;
  font-weight: 700;
  color: #EA8B58;
}
.p-contact__content p.confirm-desc {
  letter-spacing: 0.03em;
  line-height: 1.8;
}
.p-contact__content p.p-contact__reception-hours {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (min-width: 769px) {
  .p-contact__content p.p-contact__reception-hours {
    font-size: 16rem;
  }
}

.p-single {
  margin-top: 70rem;
  padding: 64rem 0;
  width: 100%;
  background-color: #F5F3EF;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-single {
    margin-top: 142rem;
    padding: 117rem 120rem 120rem;
  }
}
.p-single::before {
  content: "";
  width: 100%;
  aspect-ratio: 375/24;
  display: block;
  background-image: url(./images/bg_single_wave_top-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-single::before {
    aspect-ratio: 1440/37;
    background-image: url(./images/bg_single_wave_top-pc.svg);
  }
}
.p-single::after {
  content: "";
  width: 100%;
  aspect-ratio: 375/24;
  display: block;
  background-image: url(./images/bg_single_wave_bottom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-single::after {
    aspect-ratio: 1440/72;
    background-image: url(./images/bg_single_wave_bottom-pc.svg);
  }
}
.p-single__facility {
  padding: 40rem 0;
  width: 100%;
  display: block;
  background-color: #fff;
  border-radius: 24rem;
}
@media (min-width: 769px) {
  .p-single__facility {
    padding: 80rem 120rem;
    border-radius: 48rem;
  }
}
.p-single__facility h1.p-single__title {
  font-size: 24rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: #4F3B17;
  text-align: center;
}
@media (min-width: 769px) {
  .p-single__facility h1.p-single__title {
    font-size: 32rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-align: left;
  }
}
.p-single__facility--image {
  margin-top: 24rem;
  padding: 0 24rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-single__facility--image {
    margin-top: 64rem;
    padding: 0;
  }
}
.p-single__facility--image .gallery-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem 28rem;
}
@media (min-width: 769px) {
  .p-single__facility--image .gallery-container {
    flex-direction: row;
    height: 424rem;
  }
}
.p-single__facility--image .gallery-container .gallery-main {
  width: 100%;
  border-radius: 8rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-single__facility--image .gallery-container .gallery-main {
    border-radius: 16rem;
  }
}
.p-single__facility--image .gallery-container .gallery-main .gallery-swiper-main {
  width: 100%;
  height: 100%;
}
.p-single__facility--image .gallery-container .gallery-main .gallery-swiper-main img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.p-single__facility--image .gallery-container .gallery-thumbs {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-single__facility--image .gallery-container .gallery-thumbs {
    width: 633rem;
  }
}
.p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 75rem);
  grid-template-rows: repeat(2, 53rem);
  gap: 8rem;
}
@media (min-width: 769px) {
  .p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper {
    grid-template-columns: repeat(2, 141rem);
    grid-template-rows: repeat(4, 100rem);
  }
}
.p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper li.swiper-slide {
  width: 75rem !important;
  aspect-ratio: 75/53;
  display: block;
  border-radius: 8rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper li.swiper-slide {
    width: 141rem !important;
    aspect-ratio: 141/100;
    border-radius: 16rem;
    cursor: pointer;
  }
}
.p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper li.swiper-slide.is-active {
  border: solid 3rem #EA8B58;
}
.p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper li.swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.p-single__facility--image .gallery-container .gallery-thumbs ul.swiper-wrapper li.swiper-slide.vacancy-thumbnail {
  pointer-events: none;
}
.p-single__facility--information {
  margin-top: 64rem;
  padding: 0 18.5rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-single__facility--information {
    padding: 0;
  }
}
.p-single__facility--information .p-single__facility--subheading {
  width: 100%;
  display: block;
}
.p-single__facility--information .p-single__facility--subheading h2 {
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.83;
  letter-spacing: 0.03em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--information .p-single__facility--subheading h2 {
    font-size: 28rem;
    line-height: 1.44;
  }
}
.p-single__facility--information .p-single__facility--subheading h2 span {
  margin-bottom: 4rem;
  display: block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #EA8B58;
  font-family: "Noto Sans JP", sans-serif;
}
@media (min-width: 769px) {
  .p-single__facility--information .p-single__facility--subheading h2 span {
    margin-bottom: 16rem;
    font-size: 16rem;
  }
}
.p-single__facility--information table.facility-info {
  margin-top: 24rem;
  width: 100%;
  display: block;
  border: solid 1rem #d1d1d1;
  border-radius: 16rem;
  overflow: hidden;
}
.p-single__facility--information table.facility-info tbody {
  width: 100%;
  display: block;
}
.p-single__facility--information table.facility-info tbody tr {
  width: 100%;
  display: flex;
}
.p-single__facility--information table.facility-info tbody tr:first-of-type th, .p-single__facility--information table.facility-info tbody tr:first-of-type td {
  border-top: none;
}
@media (min-width: 769px) {
  .p-single__facility--information table.facility-info tbody tr:nth-of-type(3) td {
    flex-direction: column;
  }
}
.p-single__facility--information table.facility-info tbody tr th {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F2D6BB;
  border-top: solid 1rem #fff;
  border-right: solid 1rem #d1d1d1;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--information table.facility-info tbody tr th {
    width: 18.8%;
    font-size: 14rem;
  }
}
.p-single__facility--information table.facility-info tbody tr td {
  padding: 16rem 0 16rem 16rem;
  width: 75%;
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
  border-top: solid 1rem #d1d1d1;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--information table.facility-info tbody tr td {
    padding: 16rem 40rem;
    width: 81.2%;
    font-size: 16rem;
  }
}
.p-single__facility--information table.facility-info tbody tr td span {
  margin-right: 10rem;
  width: fit-content;
  display: inline-block;
  line-height: 2.28;
  letter-spacing: 0;
}
.p-single__facility--information table.facility-info tbody tr td span::before {
  content: "";
  margin-right: 8rem;
  width: 8rem;
  aspect-ratio: 1;
  display: inline-block;
  background-color: #EA8B58;
  border-radius: 50%;
}
.p-single__facility--information .p-single__facility--googlemap {
  margin-top: 24rem;
  width: 338rem;
  aspect-ratio: 169/109;
  display: block;
}
@media (min-width: 769px) {
  .p-single__facility--information .p-single__facility--googlemap {
    width: 100%;
    aspect-ratio: 12/5;
  }
}
.p-single__facility--information .p-single__facility--googlemap iframe {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 16rem;
}
.p-single__facility--information table.access-info {
  margin-top: 24rem;
  width: 100%;
  display: block;
  border: solid 1rem #d1d1d1;
  border-radius: 16rem;
  overflow: hidden;
}
.p-single__facility--information table.access-info tbody {
  width: 100%;
  display: block;
}
.p-single__facility--information table.access-info tbody tr {
  width: 100%;
  display: flex;
}
.p-single__facility--information table.access-info tbody tr th {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F2D6BB;
  border-top: solid 1rem #fff;
  border-right: solid 1rem #d1d1d1;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--information table.access-info tbody tr th {
    width: 18.8%;
    font-size: 14rem;
  }
}
.p-single__facility--information table.access-info tbody tr:first-of-type th, .p-single__facility--information table.access-info tbody tr:first-of-type td {
  border-top: none;
}
.p-single__facility--information table.access-info tbody tr td {
  padding: 16rem 0 16rem 16rem;
  width: 75%;
  display: block;
  background-color: #fff;
  border-top: solid 1rem #d1d1d1;
}
@media (min-width: 769px) {
  .p-single__facility--information table.access-info tbody tr td {
    padding: 16rem 40rem;
    width: 81.2%;
    display: flex;
    gap: 0 24rem;
    font-size: 16rem;
  }
}
.p-single__facility--information table.access-info tbody tr td a.gmap-link {
  width: fit-content;
  display: block;
  border-bottom: dotted 1rem #7A6B60;
}
.p-single__facility--information table.access-info tbody tr td a.gmap-link span.gmap-text {
  font-size: 12rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
@media (min-width: 769px) {
  .p-single__facility--information table.access-info tbody tr td a.gmap-link span.gmap-text {
    font-size: 14rem;
  }
}
.p-single__facility--information table.access-info tbody tr td a.gmap-link span.gmap-text::before {
  content: "";
  margin-right: 4rem;
  width: 20rem;
  aspect-ratio: 1;
  display: inline-block;
  background-image: url(./images/ico_single_access_pin.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  vertical-align: text-bottom;
}
.p-single__facility--information table.access-info tbody tr td p {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--information table.access-info tbody tr td p {
    font-size: 16rem;
    align-content: center;
  }
}
.p-single__facility--information table.access-info tbody tr td ul li {
  margin-top: 8rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-single__facility--information table.access-info tbody tr td ul li {
    display: flex;
    align-items: center;
  }
}
.p-single__facility--information table.access-info tbody tr td ul li p {
  display: flex;
  align-items: center;
}
.p-single__facility--information table.access-info tbody tr td ul li p::before {
  content: "";
  margin-right: 8rem;
  width: 24rem;
  aspect-ratio: 1;
  display: inline-block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-single__facility--information table.access-info tbody tr td ul li p[data-transport=train]::before {
  background-image: url(./images/ico_single_access_train.svg);
}
.p-single__facility--information table.access-info tbody tr td ul li p[data-transport=bus]::before {
  background-image: url(./images/ico_single_access_bus.svg);
}
.p-single__facility--information table.access-info tbody tr td ul li span {
  margin-top: 4rem;
  width: 210rem;
  display: block;
  font-size: 14rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--information table.access-info tbody tr td ul li span {
    margin-top: 0;
    margin-left: 32rem;
    width: auto;
    display: inline-block;
    font-size: 16rem;
    line-height: 1.8;
  }
}
.p-single__facility--contact {
  margin: 64rem auto 0;
  padding: 24rem;
  width: 338rem;
  display: block;
  border-radius: 10rem;
  background-color: #F0ECE5;
}
@media (min-width: 769px) {
  .p-single__facility--contact {
    width: 100%;
    padding: 48rem 56rem;
    border-radius: 16rem;
  }
}
.p-single__facility--contact .p-single__facility--subheading {
  width: 100%;
  display: block;
}
.p-single__facility--contact .p-single__facility--subheading h2 {
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.11;
  letter-spacing: 0.03em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--subheading h2 {
    font-size: 28rem;
    line-height: 1.44;
  }
}
.p-single__facility--contact .p-single__facility--subheading h2 span {
  margin-bottom: 4rem;
  display: block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #EA8B58;
  font-family: "Noto Sans JP", sans-serif;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--subheading h2 span {
    margin-bottom: 16rem;
    font-size: 16rem;
  }
}
.p-single__facility--contact .p-single__facility--subheading p {
  margin-top: 14rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--subheading p {
    margin-top: 24rem;
    font-size: 16rem;
  }
}
.p-single__facility--contact .p-single__facility--list {
  margin-top: 24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem 40rem;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list {
    margin-top: 40rem;
    width: 100%;
    height: 160rem;
    flex-direction: row;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item {
  width: 100%;
  display: block;
  background-color: #fff;
  border-radius: 10rem;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item {
    width: 406rem;
    height: 100%;
    border-radius: 16rem;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item:last-of-type div {
  gap: 8rem;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item:last-of-type div {
    gap: 4rem;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item:last-of-type div span {
  font-size: 16rem;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item:last-of-type div span {
    font-size: 18rem;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item a {
  padding: 24rem 14rem 24rem 24rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item a {
    padding: 0 24rem 0 40rem;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item a div {
  width: 80%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item a div h3,
.p-single__facility--contact .p-single__facility--list .p-single__facility--item a div time {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item a div time {
    font-size: 12rem;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item a div span {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #EA8B58;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item a div span {
    font-size: 28rem;
  }
}
.p-single__facility--contact .p-single__facility--list .p-single__facility--item a::after {
  content: "";
  width: 22rem;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #EA8B58;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 9.13rem 6.39rem;
  background-repeat: no-repeat;
  border-radius: 50%;
}
@media (min-width: 769px) {
  .p-single__facility--contact .p-single__facility--list .p-single__facility--item a::after {
    width: 36rem;
    background-size: 15rem 10rem;
  }
}
.p-single__others {
  padding: 56rem 24rem 64rem;
  width: 100%;
  display: block;
  overflow-x: hidden;
}
@media (min-width: 769px) {
  .p-single__others {
    padding: 80rem;
  }
}
.p-single__others .p-single__others--title {
  margin: 0 auto;
  width: fit-content;
  display: block;
}
.p-single__others .p-single__others--title h2 {
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.83;
  letter-spacing: 0.03em;
  color: #333;
}
@media (min-width: 769px) {
  .p-single__others .p-single__others--title h2 {
    font-size: 28rem;
  }
}
.p-single__others .p-single__others--title h2 span {
  margin-bottom: 4rem;
  display: block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #EA8B58;
  font-family: "Noto Sans JP", sans-serif;
}
@media (min-width: 769px) {
  .p-single__others .p-single__others--title h2 span {
    margin-bottom: 16rem;
    font-size: 16rem;
  }
}
.p-single__others .home-swiper {
  margin-top: 24rem;
  overflow: visible;
}
@media (min-width: 769px) {
  .p-single__others .home-swiper {
    margin-top: 40rem;
  }
}
.p-single__others .home-swiper .swiper-wrapper {
  padding-bottom: 24rem;
}
@media (min-width: 769px) {
  .p-single__others .home-swiper .swiper-wrapper {
    padding-bottom: 0rem;
    width: fit-content;
    justify-content: center;
  }
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide {
  width: 327rem;
  height: auto;
  background-color: white;
  border-radius: 16rem;
  box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.1);
  align-items: stretch;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a {
  width: 100%;
  height: 100%;
  display: block;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a figure {
  width: 100%;
  aspect-ratio: 326/237;
  display: block;
  border-radius: 16rem 16rem 0 0;
  overflow: hidden;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a .home-desc-text {
  width: 100%;
  padding: 24rem 39rem;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a .home-desc-text h3 {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  color: #4A3A30;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a .home-desc-text p {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03em;
  color: #7A6B60;
}
.p-single__others .home-swiper .swiper-wrapper li.swiper-slide a .home-desc-text span {
  margin-left: auto;
  width: fit-content;
  display: block;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #7A6B60;
  border-bottom: dotted 1rem #7A6B60;
}
.p-single__others .home-swiper .swiper-pagination {
  transform: translateY(-2rem);
}
.p-single__others .home-swiper .swiper-pagination span.swiper-pagination-bullet {
  background: #fff;
	border-radius: 50% !important;
	outline: none !important;
}
.p-single__others .home-swiper .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #EA8B58;
}
.p-single__others .home-swiper div.swiper-button {
  margin: 0 auto;
  width: 156rem;
  height: 36rem;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.p-single__others .home-swiper div.swiper-button .swiper-button-prev,
.p-single__others .home-swiper div.swiper-button .swiper-button-next {
  width: 36rem;
  height: 36rem;
  display: flex;
  background-color: #EA8B58;
  border-radius: 50%;
}
.p-single__others .home-swiper div.swiper-button .swiper-button-prev::after,
.p-single__others .home-swiper div.swiper-button .swiper-button-next::after {
  font-size: 12rem !important;
  color: #fff;
  display: block;
  position: static;
}

.p-top {
  margin-top: 70rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top {
    margin-top: 0;
  }
}
.p-top article.p-top-mainvisual {
  width: 100%;
  display: block;
  anchor-name: --content;
  position: relative;
}
.p-top article.p-top-mainvisual::after {
  content: "";
  width: 100%;
  height: 20rem;
  display: block;
  background-image: url(./images/bg_top_sv_wave_bottom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-top article.p-top-mainvisual::after {
    height: 77rem;
    background-image: url(./images/bg_top_sv_wave_bottom-pc.svg);
  }
}
.p-top-firstview {
  padding-bottom: 63rem;
  width: 100%;
  display: block;
  background-image: url(./images/bg_top_mv-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .p-top-firstview {
    padding-bottom: 0;
    display: grid;
    grid-template-columns: 770rem 1fr;
    grid-template-rows: 688rem 1fr;
    grid-template-areas: "a b" "c b";
    background-image: url(./images/bg_top_mv-pc.png);
  }
}
.p-top-firstview__container {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top-firstview__container {
    grid-area: a;
  }
}
.p-top-firstview__container .p-top-firstview__small-pictures {
  padding: 0 32rem 0 25rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 769px) {
  .p-top-firstview__container .p-top-firstview__small-pictures {
    padding: 29rem 0 0 106rem;
  }
}
.p-top-firstview__container .p-top-firstview__small-pictures img {
  display: block;
  border-radius: 16rem;
  object-fit: cover;
}
.p-top-firstview__container .p-top-firstview__small-pictures img.p-top-firstview__small-pictures--dog {
  width: 142rem;
  height: 95rem;
}
@media (min-width: 769px) {
  .p-top-firstview__container .p-top-firstview__small-pictures img.p-top-firstview__small-pictures--dog {
    width: 310rem;
    height: 206.25rem;
  }
}
.p-top-firstview__container .p-top-firstview__small-pictures img.p-top-firstview__small-pictures--plant {
  margin-top: 64rem;
  width: 155rem;
  height: 103rem;
}
@media (min-width: 769px) {
  .p-top-firstview__container .p-top-firstview__small-pictures img.p-top-firstview__small-pictures--plant {
    margin-top: 120.6rem;
    width: 310rem;
    height: 206.67rem;
  }
}
.p-top-firstview__container h2 {
  margin: 32rem 0 0 auto;
  width: fit-content;
  display: block;
  font-size: 24rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #4F3B17;
}
@media (min-width: 769px) {
  .p-top-firstview__container h2 {
    margin: 93.3rem 0 0 120rem;
    font-size: 40rem;
  }
}
.p-top-firstview__container h2 span {
  color: #EA8B58;
}
.p-top-firstview__image--facility {
  margin: 33rem 0 0 auto;
  width: 220rem;
  height: 330rem;
  display: block;
  border-radius: 16rem 0 0 16rem;
}
@media (min-width: 769px) {
  .p-top-firstview__image--facility {
    margin: 0 0 0 auto;
    width: 563rem;
    height: 845rem;
    grid-area: b;
  }
}
.p-top-firstview__image--woman {
  margin-top: 37rem;
  width: 329rem;
  height: 195rem;
  display: block;
  border-radius: 0 16rem 16rem 0;
  position: relative;
  z-index: 1;
}
@media (min-width: 769px) {
  .p-top-firstview__image--woman {
    margin-top: 0;
    width: 704rem;
    height: 417rem;
  }
}
.p-top-secondview {
  padding-bottom: 112rem;
  width: 100%;
  display: block;
  background-color: #F0ECE5;
  position: relative;
  scroll-margin-top: 100rem;
}
@media (min-width: 769px) {
  .p-top-secondview {
    padding-bottom: 135rem;
    display: flex;
    scroll-margin-top: 130rem;
  }
}
.p-top-secondview__content {
  padding: 0 24rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top-secondview__content {
    padding: 104rem 0 0 120rem;
  }
}
.p-top-secondview__content p {
  margin-top: 48rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-top-secondview__content p {
    font-size: 18rem;
  }
}
.p-top-secondview__content a {
  margin-top: 32rem;
  width: fit-content;
}
@media (min-width: 769px) {
  .p-top-secondview__content a {
    margin-right: auto;
  }
}
.p-top-secondview__image {
  display: none;
}
@media (min-width: 769px) {
  .p-top-secondview__image {
    margin-top: -71rem;
    margin-left: auto;
    width: 427rem;
    height: 608rem;
    display: block;
    border-radius: 16rem 0 0 16rem;
  }
}
.p-top-point {
  padding: 40rem 24rem 68rem;
  width: 100%;
  display: block;
  background-color: #fff;
  anchor-name: --point-content;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-point {
    padding: 56rem 240rem 152rem;
  }
}
.p-top-point::after {
  content: "";
  width: 100%;
  height: 20rem;
  display: block;
  background-image: url(./images/bg_point_wave_bottom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-top-point::after {
    height: 80rem;
    background-image: url(./images/bg_point_wave_bottom-pc.svg);
  }
}
.p-top-point__content {
  width: 100%;
  display: block;
}
.p-top-point__content p {
  margin-top: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
}
@media (min-width: 769px) {
  .p-top-point__content p {
    margin-top: 18rem;
  }
}
.p-top-point__list {
  margin-top: 40rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 48rem;
}
@media (min-width: 769px) {
  .p-top-point__list {
    margin-top: 72rem;
  }
}
.p-top-point__list li.p-top-point__item {
  width: 100%;
}
@media (min-width: 769px) {
  .p-top-point__list li.p-top-point__item:nth-child(even) figure {
    flex-direction: row-reverse;
  }
}
.p-top-point__list li.p-top-point__item figure {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}
@media (min-width: 769px) {
  .p-top-point__list li.p-top-point__item figure {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.p-top-point__list li.p-top-point__item figure img {
  width: 100%;
  aspect-ratio: 327/201;
  display: block;
  border-radius: 16rem;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-top-point__list li.p-top-point__item figure img {
    width: 420rem;
    aspect-ratio: 70/43;
  }
}
.p-top-point__list li.p-top-point__item figure figcaption {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top-point__list li.p-top-point__item figure figcaption {
    width: 457rem;
  }
}
.p-top-point__list li.p-top-point__item figure figcaption h3.p-top-point__item--ttl {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.43;
  letter-spacing: 0.03em;
  color: #4A3A30;
  display: flex;
  align-items: center;
}
.p-top-point__list li.p-top-point__item figure figcaption h3.p-top-point__item--ttl span {
  margin-right: 12rem;
  width: 65rem;
  height: 65rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(./images/bg_point_number.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  font-size: 24rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
}
@media (min-width: 769px) {
  .p-top-point__list li.p-top-point__item figure figcaption h3.p-top-point__item--ttl span {
    margin-right: 18rem;
    width: 80rem;
    height: 80rem;
    font-size: 32rem;
  }
}
.p-top-point__list li.p-top-point__item figure figcaption p.p-top-point__item--txt {
  margin-top: 8rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.03em;
  text-align: left;
}
@media (min-width: 769px) {
  .p-top-point__list li.p-top-point__item figure figcaption p.p-top-point__item--txt {
    font-size: 16rem;
    line-height: 1.8;
  }
}
.p-top-facility {
  padding: 64rem 0;
  width: 100%;
  display: block;
  background-color: #DCE8DF;
  overflow-x: hidden;
  anchor-name: --facility-content;
  position: relative;
  scroll-margin-top: 40rem;
}
@media (min-width: 769px) {
  .p-top-facility {
    padding: 80rem 160rem;
    scroll-margin-top: 130rem;
  }
}
.p-top-facility::after {
  content: "";
  width: 100%;
  height: 20rem;
  display: block;
  background-image: url(./images/bg_facility_wave_bottom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-top-facility::after {
    height: 80rem;
    background-image: url(./images/bg_facility_wave_bottom-pc.svg);
  }
}
.p-top-facility__content {
  padding: 0 24rem;
  width: 100%;
}
.p-top-facility__content p {
  margin-top: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: left;
}
@media (min-width: 769px) {
  .p-top-facility__content p {
    text-align: center;
  }
}
.p-top-facility__slider {
  width: 100%;
}
.p-top-facility__slider ul.swiper-wrapper {
  margin: 40rem 0 36rem;
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper {
    margin: 64rem 0 80rem;
    justify-content: center;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide {
  width: 327rem;
  display: block;
  border-radius: 16rem;
  overflow: hidden;
  box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.1);
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper li.swiper-slide {
    width: 350rem !important;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide a.home-item {
  width: 100%;
  height: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper li.swiper-slide a.home-item {
    width: 350rem;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide a.home-item figure {
  width: 100%;
  height: 237rem;
  display: block;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper li.swiper-slide a.home-item figure {
    width: 350rem;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide a.home-item figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text {
  padding: 24rem 21rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8rem;
  background-color: #fff;
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text {
    padding: 24rem 31rem 32rem;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text h3 {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  color: #4A3A30;
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text h3 {
    font-size: 18rem;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text p {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.93;
  letter-spacing: 0.03em;
  color: #7A6B60;
}
@media (min-width: 769px) {
  .p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text p {
    font-size: 16rem;
  }
}
.p-top-facility__slider ul.swiper-wrapper li.swiper-slide .home-text span {
  margin-left: auto;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  color: #7A6B60;
  display: block;
  border-bottom: dotted 1rem #7A6B60;
}
.p-top-facility__slider .swiper-pagination span.swiper-pagination-bullet {
  width: 12rem;
  height: 12rem;
  background: #fff;
  outline: none !important;
  border-radius: 50%;
}
.p-top-facility__slider .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #EA8B58;
}
.p-top-facility__slider div.swiper-button {
  margin: 0 auto;
  width: 136rem;
  height: 20rem;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.p-top-facility__slider div.swiper-button .swiper-button-prev,
.p-top-facility__slider div.swiper-button .swiper-button-next {
  width: 20rem;
  height: 20rem;
  display: flex;
  background-color: #EA8B58;
  border-radius: 50%;
}
.p-top-facility__slider div.swiper-button .swiper-button-prev::after,
.p-top-facility__slider div.swiper-button .swiper-button-next::after {
  font-size: 10rem !important;
  font-weight: 700;
  color: #fff;
  display: block;
  position: static;
}
.p-top-support {
  padding: 40rem 0 0;
  width: 100%;
  display: block;
  background-color: #fff;
  overflow-x: hidden;
  anchor-name: --support-content;
  position: relative;
  scroll-margin-top: 50rem;
}
@media (min-width: 769px) {
  .p-top-support {
    padding: 100rem 0 0;
    scroll-margin-top: 100rem;
  }
}
.p-top-support__heading {
  padding: 0 24rem;
  width: 100%;
  display: block;
}
.p-top-support__heading p {
  margin-top: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: left;
}
@media (min-width: 769px) {
  .p-top-support__heading p {
    margin-top: 24rem;
    text-align: center;
  }
}
.p-top-support__schedule {
  margin-top: 48rem;
  padding: 0 24rem 53rem;
  width: 100%;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-support__schedule {
    margin-top: 98rem;
    padding: 0 0 0 145rem;
  }
}
.p-top-support__schedule::after {
  content: "";
  width: 100%;
  height: 20rem;
  display: block;
  background-image: url(./images/bg_schedule_wave_bottom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-top-support__schedule::after {
    height: 80rem;
    background-image: url(./images/bg_schedule_wave_bottom-pc.svg);
  }
}
.p-top-support__schedule h3.p-top-support__subheading {
  width: 100%;
  display: flex;
  align-items: center;
}
@media (min-width: 769px) {
  .p-top-support__schedule h3.p-top-support__subheading {
    padding-left: 15rem;
  }
}
.p-top-support__schedule h3.p-top-support__subheading img {
  width: 55rem;
  height: 57rem;
  display: block;
  object-fit: contain;
}
@media (min-width: 769px) {
  .p-top-support__schedule h3.p-top-support__subheading img {
    width: 94rem;
    height: 98rem;
  }
}
.p-top-support__schedule h3.p-top-support__subheading span {
  margin-left: 22rem;
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #EA8B58;
  display: inline-block;
}
@media (min-width: 769px) {
  .p-top-support__schedule h3.p-top-support__subheading span {
    font-size: 26rem;
  }
}
.p-top-support__schedule .p-top-support__container {
  margin-top: 18rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container {
    margin-top: -11rem;
    display: grid;
    grid-template-columns: 626rem 1fr;
    grid-template-rows: 453rem 1fr;
    grid-template-areas: "a b" "c d";
    gap: 0;
  }
}
.p-top-support__schedule .p-top-support__container::before {
  content: "";
  width: 1rem;
  height: 400rem;
  display: block;
  background-color: #EA8B58;
  position: absolute;
  top: 15rem;
  left: 7rem;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container::before {
    height: 210rem;
    top: 48rem;
    left: 10rem;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__daytime,
.p-top-support__schedule .p-top-support__container .p-top-support__nighttime {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}
.p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo,
.p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo {
  width: 100%;
  display: flex;
}
.p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo dt.p-top-support__todo--time,
.p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo dt.p-top-support__todo--time {
  width: 83rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  display: flex;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo dt.p-top-support__todo--time,
  .p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo dt.p-top-support__todo--time {
    width: 88rem;
    font-size: 20rem;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo dt.p-top-support__todo--time::before,
.p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo dt.p-top-support__todo--time::before {
  content: "";
  margin-right: 24rem;
  width: 16rem;
  height: 16rem;
  display: block;
  background-color: #EA8B58;
  border-radius: 50%;
  transform: translateY(7rem);
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo dt.p-top-support__todo--time::before,
  .p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo dt.p-top-support__todo--time::before {
    width: 21.7rem;
    height: 21.7rem;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo dd,
.p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo dd {
  margin-left: 32rem;
  width: 202rem;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__daytime .p-top-support__todo dd,
  .p-top-support__schedule .p-top-support__container .p-top-support__nighttime .p-top-support__todo dd {
    margin-left: 102rem;
    width: 288rem;
    font-size: 20rem;
  }
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__daytime {
    margin-top: 29rem;
    grid-area: a;
  }
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__nighttime {
    margin-top: 124rem;
    margin-left: 29rem;
    grid-area: d;
    position: relative;
  }
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__nighttime::after {
    content: "";
    width: 1rem;
    height: 184rem;
    display: block;
    background-color: #EA8B58;
    position: absolute;
    top: 15rem;
    left: 10rem;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__image {
  margin-top: 49rem;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__image {
    margin-top: 0;
    flex-direction: column;
    grid-area: c;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__image--plant {
  margin-left: 8rem;
  width: 132rem;
  height: 92rem;
  display: block;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__image--plant {
    margin-left: 0;
    width: 324rem;
    height: 225.6rem;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__image--cooking {
  margin-top: 67rem;
  width: 160rem;
  height: 103rem;
  display: block;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__image--cooking {
    margin-top: 88.4rem;
    margin-left: 138rem;
    width: 390rem;
    height: 252.28rem;
    position: relative;
    z-index: 10;
  }
}
.p-top-support__schedule .p-top-support__container .p-top-support__image--living {
  display: none;
}
@media (min-width: 769px) {
  .p-top-support__schedule .p-top-support__container .p-top-support__image--living {
    width: 597rem;
    height: 416rem;
    display: block;
    border-radius: 16rem;
    grid-area: b;
  }
}
.p-top-support__life-support {
  padding: 48rem 24rem 56rem;
  width: 100%;
  display: block;
  background-color: #F2D6BB;
}
@media (min-width: 769px) {
  .p-top-support__life-support {
    padding: 96rem 240rem 80rem;
    position: relative;
  }
}
@media (min-width: 769px) {
  .p-top-support__life-support::before {
    content: "";
    width: 88rem;
    height: 101rem;
    display: block;
    background-image: url(./images/img_top_illust_triangle.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 98rem;
    left: 153rem;
  }
}
.p-top-support__life-support ul.p-top-support__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 22.5rem 45rem;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list {
    flex-direction: row;
  }
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item {
  width: 100%;
  display: block;
  background-color: #fff;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item {
    width: 290rem;
  }
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card {
  margin-top: 24rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card {
    margin-top: 32rem;
  }
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dt {
  width: 196rem;
  display: block;
  background-color: #EA8B58;
  border-radius: 0 8rem 8rem 0;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
  text-align: center;
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd {
  padding: 24rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd {
    flex-direction: column;
  }
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd picture {
  width: 64rem;
  height: 80rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd picture {
    height: 160rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd picture img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd picture.image-heart {
    width: 78.9rem;
    height: 160rem;
  }
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd picture.image-medicine {
    width: 164rem;
    height: 160rem;
  }
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd picture.image-resume {
    width: 161rem;
    height: 160rem;
  }
}
.p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd span {
  width: 199rem;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-top-support__life-support ul.p-top-support__list li.p-top-support__item .p-top-support__card dd span {
    width: 100%;
  }
}
.p-top-support__life-support p.p-top-support__life-support--desc {
  margin-top: 40rem;
  width: 100%;
  display: block;
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
}
@media (min-width: 769px) {
  .p-top-support__life-support p.p-top-support__life-support--desc {
    margin-top: 96rem;
    font-size: 24rem;
  }
}
.p-top-flow {
  padding-top: 76rem;
  width: 100%;
  display: block;
  background-color: #fff;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-flow {
    padding-top: 188rem;
    scroll-margin-top: 20rem;
  }
}
.p-top-flow::before {
  content: "";
  width: 100%;
  height: 20rem;
  display: block;
  background-image: url(./images/bg_flow_wave_top-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-top-flow::before {
    height: 72rem;
    background-image: url(./images/bg_flow_wave_top-pc.svg);
  }
}
.p-top-flow__container {
  padding: 56rem 24rem 48rem;
  width: 100%;
  display: block;
  background-color: #F5F3EF;
  border-radius: 64rem 64rem 0 0;
}
@media (min-width: 769px) {
  .p-top-flow__container {
    margin: 0 auto;
    padding: 80rem 168rem;
    width: 1200rem;
  }
}
.p-top-flow__container ul.p-top-flow__list {
  margin-top: 40rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8rem;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list {
    margin-top: 64rem;
    width: 864rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item {
  padding: 0 32rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item {
    padding: 0;
    width: 228rem;
    display: flex;
    align-items: flex-start;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item::before {
  content: "";
  margin: 0 auto 8rem;
  width: 36rem;
  height: 36rem;
  display: block;
  background-image: url(./images/ico_flow_triangle.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item::before {
    margin: 64rem 0 0;
    width: 48rem;
    height: 48rem;
    transform: rotate(-90deg);
  }
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item:first-of-type {
    width: 176rem;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item:first-of-type::before {
  display: none;
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure {
    flex-direction: column;
    justify-content: flex-start;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image {
  width: 89.16rem;
  height: 89.16rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image {
    width: 118rem;
    height: 118rem;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img {
  display: block;
  object-fit: contain;
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__ask {
  width: 36rem;
  height: 31.5rem;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__ask {
    width: 48rem;
    height: 41.74rem;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__visit {
  width: 37.8rem;
  height: 29rem;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__visit {
    width: 50rem;
    height: 38.43rem;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__apply {
  width: 28.9rem;
  height: 33rem;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__apply {
    width: 38.2rem;
    height: 43.66rem;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__contract {
  width: 41.6rem;
  height: 29rem;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure .p-top-flow__item--image img.flow-icon__contract {
    width: 55rem;
    height: 38.47rem;
  }
}
.p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure figcaption {
  width: 150rem;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
@media (min-width: 769px) {
  .p-top-flow__container ul.p-top-flow__list li.p-top-flow__item figure figcaption {
    margin-top: 16rem;
    line-height: 1.17;
  }
}
.p-top-faq {
  padding: 50rem 24rem 64rem;
  width: 100%;
  display: block;
  background-color: #F5F3EF;
  border-radius: 0 0 48rem 48rem;
  position: relative;
  scroll-margin-top: 50rem;
}
@media (min-width: 769px) {
  .p-top-faq {
    margin: 0 auto;
    padding: 72rem 168rem;
    width: 1200rem;
    display: flex;
    justify-content: space-between;
    scroll-margin-top: 120rem;
  }
}
.p-top-faq::before {
  content: "";
  width: 327rem;
  height: 1.5rem;
  background-color: #bbbab9;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 769px) {
  .p-top-faq::before {
    width: 924rem;
  }
}
@media (min-width: 769px) {
  .p-top-faq div.c-title {
    width: fit-content;
  }
}
@media (min-width: 769px) {
  .p-top-faq div.c-title h2 {
    text-align: left;
  }
}
.p-top-faq ul.p-top-faq__list {
  margin-top: 24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media (min-width: 769px) {
  .p-top-faq ul.p-top-faq__list {
    margin-top: 0;
    width: 625rem;
  }
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item {
  padding: 10rem 12rem;
  width: 100%;
  display: block;
  background-color: #fff;
  border-bottom: solid 1rem #d7d7d7;
  border-radius: 8rem;
}
@media (min-width: 769px) {
  .p-top-faq ul.p-top-faq__list li.p-top-faq__item {
    padding: 18rem 24rem;
  }
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details {
  width: 100%;
  display: block;
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details[open] summary::after {
  opacity: 0;
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary {
  width: 291rem;
  display: flex;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary {
    width: calc(100% - 12rem);
    cursor: pointer;
  }
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary::before, .p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary::after {
  content: "";
  width: 12rem;
  height: 2rem;
  background-color: #333;
  display: block;
  position: absolute;
  top: 50%;
  right: -12rem;
  opacity: 1;
  transform: translateY(-50%);
  flex-shrink: 0;
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary::after {
  content: "";
  transform: translateY(-50%) rotate(90deg);
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary span {
  margin-left: 44rem;
  width: 247rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #333;
  display: inline-block;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary span {
    margin-left: 63rem;
    width: 504rem;
    font-size: 18rem;
  }
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary span::before {
  content: "Q";
  width: 28rem;
  height: 28rem;
  display: inline-block;
  background-color: #F8D19D;
  border-radius: 8rem;
  font-size: 16rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  font-family: "Roboto", sans-serif;
  align-content: center;
  position: absolute;
  left: -44rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 769px) {
  .p-top-faq ul.p-top-faq__list li.p-top-faq__item details summary span::before {
    width: 47rem;
    height: 47rem;
    font-size: 20.5rem;
    border-radius: 16rem;
    left: -64rem;
  }
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details .p-top-faq__answer {
  margin-top: 8rem;
  padding-left: 44rem;
  width: 100%;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #333;
}
@media (min-width: 769px) {
  .p-top-faq ul.p-top-faq__list li.p-top-faq__item details .p-top-faq__answer {
    margin-top: 16rem;
    padding-left: 64rem;
    font-size: 16rem;
  }
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details .p-top-faq__answer ul {
  margin-top: 8rem;
}
.p-top-faq ul.p-top-faq__list li.p-top-faq__item details .p-top-faq__answer ul li::before {
  content: "・";
}
.p-top-instagram {
  padding: 64rem 24rem 92rem;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-instagram {
    padding: 96rem 240rem 166rem;
  }
}
@media (min-width: 769px) {
  .p-top-instagram::before {
    content: "";
    width: 88rem;
    height: 101rem;
    display: block;
    background-image: url(./images/img_top_illust_triangle.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 354rem;
    right: 76rem;
  }
}
.p-top-instagram::after {
  content: "";
  width: 100%;
  height: 20rem;
  display: block;
  background-image: url(./images/bg_insta_wave_bottom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  .p-top-instagram::after {
    height: 72rem;
    background-image: url(./images/bg_insta_wave_bottom-pc.svg);
  }
}
.p-top-instagram__container {
  width: 100%;
  display: block;
}
.p-top-instagram__container p {
  margin-top: 24rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-top-instagram__container p {
    font-size: 18rem;
    text-align: center;
  }
}
.p-top-instagram .insta-swiper .sb_instagram_header.sbi_medium {
  display: none;
}
.p-top-instagram .insta-swiper #sb_instagram div#sbi_images {
  padding: 24rem 0;
}
.p-top-instagram .insta-swiper #sbi_load {
  display: none;
}
@media (min-width: 769px) {
  .p-top-instagram a.c-btn__link {
    justify-content: flex-end;
  }
}

/*---------------------------------*
* utility
*----------------------------------*/
.u-br-sp {
  display: block;
}
@media (min-width: 769px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-pc {
  display: none;
}
@media (min-width: 769px) {
  .u-br-pc {
    display: block;
  }
}

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