.br-6 {
  border-radius: 6px;
}

.br-4 {
  border-radius: 4px;
}

.root-container::before {
  display: none;
}

.header {
  position: fixed;
  transition: 0.3s;
}

header:not(.is-header-scrolled):not(.is-header-fadein-done) {
  opacity: 0;
  animation: fvFadeIn 2.4s ease forwards;
  animation-delay: 0.2s;
}

.header__logo-inner:not(.header__menu-wrapper__logo-inner) {
  display: inline-block;
}

header:not(.is-header-scrolled)::before {
  opacity: 0;
}

header:not(.is-header-scrolled) .header__nav:not(.is-nav-open) .header__bar {
  background-color: #fff;
}

.header__logo--usually {
  position: absolute;
  transition: 0.3s;
}

.header__logo--default {
  opacity: 1;
}

.header__logo--scrolled {
  opacity: 0;
}

.is-header-scrolled .header__logo--default {
  opacity: 0;
}

.is-header-scrolled .header__logo--scrolled {
  opacity: 1;
}

.header__logo-inner {
  width: 50px;
  height: 74px;
}

.is-header-scrolled .header__logo-inner {
  width: 40px;
  height: 50.9px;
}

@media screen and (min-width: 1200px), print {
  .header:not(.is-header-scrolled) {
    padding-top: 2rem;
    padding-right: 6.25rem;
    padding-left: 4.875rem;
  }
  .is-header-scrolled .header__logo-inner {
    width: 63px;
    height: 80px;
  }
  .header:not(.is-header-scrolled) .header__logo-inner, .header:not(.is-header-scrolled) .header__logo--usually {
    width: 105px;
    height: 133px;
  }
  .header:not(.is-header-scrolled) .header__menu-list .menu-item-has-children:before {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  .header:not(.is-header-scrolled) .header__menu-list .sub-menu .menu-item a::before {
    background-color: #fff;
  }
  .header:not(.is-header-scrolled) * {
    color: #fff;
  }
  .header__cta-btn {
    transition: 0.3s;
  }
  .header:not(.is-header-scrolled) .header__cta-btn::after {
    background-color: #fff;
  }
  .header:not(.is-header-scrolled) .header__gtranslate::before {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  .header:not(.is-header-scrolled) .gt_selector option {
    color: #333;
  }
}
.body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 31%;
  background: linear-gradient(rgb(203, 227, 203), rgba(203, 227, 203, 0));
  mix-blend-mode: multiply;
}

/* FV */
.fv {
  overflow: hidden;
  height: 100svh;
  min-height: 500px;
  padding: 1.0714285714rem;
}

.fv-inner {
  position: relative;
  background: url(../images/top/fv.jpg) no-repeat center center/cover;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  opacity: 0;
  animation: fvFadeIn 2s ease forwards;
  animation-delay: 0s;
}

.fv-inner__container {
  position: relative;
  height: 100%;
}

.fv-text {
  position: absolute;
  bottom: 3.4285714286rem;
  left: 0.8571428571rem;
}

.fv-text__ttl {
  font-size: 2.2857142857rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin-bottom: 0.5714285714rem;
}

.fv-text__description {
  font-size: 0.8571428571rem;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.js-fv-text {
  opacity: 0;
  animation: fvFadeIn 2.6s ease forwards;
  animation-delay: 0.4s;
}

@keyframes fvFadeIn {
  to {
    opacity: 1;
  }
}
@media screen and (min-width: 400px) {
  .fv-text {
    left: 1.7142857143rem;
  }
}
@media screen and (min-width: 768px) {
  .fv {
    min-height: 700px;
  }
  .fv-inner {
    background: url(../images/top/fv.jpg) no-repeat center center/cover;
  }
  .fv-text {
    left: 0;
    bottom: 4.625rem;
  }
  .fv-text__ttl {
    font-size: 3.5rem;
  }
  .fv-text__description {
    font-size: 0.8125rem;
  }
}
@media screen and (min-width: 1200px), print {
  .fv {
    padding: 1.875rem;
  }
}
@media screen and (min-width: 1600px) {
  .fv-text {
    left: -42px;
  }
}
/* //FV */
.about {
  position: relative;
  padding-bottom: 7.5rem;
}

.about-us {
  padding-top: 7.375rem;
  padding-bottom: 8.75rem;
  position: relative;
}

.about-us::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 12.6875rem;
  height: 4.8125rem;
  background: url(../images/top/about-bg1.png) no-repeat center top/contain;
  z-index: 0;
  mix-blend-mode: color-burn;
}

.about-us::after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0;
  width: 12.5rem;
  height: 6.5625rem;
  background: url(../images/top/about-bg2.png) no-repeat center top/contain;
  z-index: 0;
  mix-blend-mode: color-burn;
}

.about-us__row {
  display: flex;
  justify-content: center;
  flex-direction: column;
  row-gap: 2.5rem;
  width: max-content;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.about-us__text {
  line-height: 2.2;
  letter-spacing: 0.03em;
}

.about-img {
  max-width: none;
  width: calc(50vw + 50%);
  margin-left: calc(50% - 50vw);
}

.about-img img {
  width: 100%;
  border-radius: 0 6px 6px 0;
}

.about__desc-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
}

.about__desc {
  background-color: #fff;
  padding: 3.125rem 1.875rem;
  letter-spacing: 0.03em;
  line-height: 2.2;
}

.about__desc-img img {
  border-radius: 6px;
}

.u-br-smup::after {
  content: "";
}

@media screen and (min-width: 576px) {
  .about-us__text {
    font-size: 1.125rem;
  }
  .u-br-smup::after {
    content: "\a";
    white-space: pre;
  }
}
@media screen and (min-width: 768px) {
  .about-us::before {
    width: 19rem;
    height: 14.4375rem;
  }
  .about-us::after {
    bottom: 3.5625rem;
    width: 18.75rem;
    height: 9.8125rem;
  }
  .about__desc-wrap {
    flex-direction: row;
    align-items: flex-end;
    column-gap: 2.5rem;
    margin-top: -6.25rem;
    margin-bottom: 3.4375rem;
  }
  .about__desc {
    width: 60%;
    margin-bottom: 4.0625rem;
  }
  .about__desc-img {
    flex: 1;
  }
}
@media screen and (min-width: 992px) {
  .about-us__text {
    font-size: 1.25rem;
  }
  .about__desc-wrap {
    column-gap: 3.75rem;
  }
  .about__desc {
    width: auto;
    padding: 3.75rem 3.5625rem;
  }
}
@media screen and (min-width: 1200px), print {
  .about__desc-wrap {
    margin-top: -11.125rem;
  }
  .about__desc-img {
    padding-right: 5.375rem;
  }
}
@media screen and (min-width: 1400px) {
  .about-us::before {
    top: 2.625rem;
    left: 2.5rem;
    width: 25.4375rem;
    height: 9.625rem;
  }
  .about-us::after {
    bottom: 3.5625rem;
    right: 2.3125rem;
    width: 24.25rem;
    height: 10.0625rem;
  }
  .about__desc-wrap {
    column-gap: 8.375rem;
  }
}
.facility {
  background-color: #EDEBE7;
}

.facility-container {
  padding-top: 4.1875rem;
  padding-bottom: 5rem;
}

.facility-item {
  margin-bottom: 5rem;
}

.facility-item__ttl {
  font-size: 1.5rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.4;
  color: #285328;
  margin-bottom: 1rem;
}

.facility-item__desc {
  line-height: 2;
  letter-spacing: 0.03em;
  margin-bottom: 1rem;
}

.facility-link__newtab {
  align-items: center;
}

.facility-plan {
  color: #285328;
  letter-spacing: -0.02em;
  font-weight: 600;
  line-height: 1.8;
  background-color: #E6E2DB;
  padding: 1.875rem 1.25rem;
  text-align: center;
  width: 697px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  font-size: 1.4285714286rem;
}

.facility-item__ttl__small {
  font-size: 0.4444444em;
}

@media screen and (min-width: 400px) {
  .facility-link__newtab {
    align-items: flex-start;
  }
}
@media screen and (min-width: 992px) {
  .facility {
    background-color: transparent;
  }
  .facility-container {
    position: relative;
    padding-bottom: 7.5rem;
  }
  .facility-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: calc(50vw + 50%);
    background-color: #EDEBE7;
    z-index: 0;
  }
  .facility-contents {
    width: 859px;
    max-width: 100%;
  }
  .facility-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 3.75rem;
    position: relative;
    z-index: 1;
  }
  .facility-ttl-wrap {
    position: -webkit-sticky;
    position: sticky;
    padding-top: 3.75rem;
    padding-left: 5rem;
    top: 40px;
    align-self: flex-start;
    height: fit-content;
    z-index: 2;
  }
  .facility-item {
    margin-bottom: 7.5rem;
    transition-delay: 0.15s;
  }
  .facility-item__ttl {
    font-size: 2.25rem;
  }
  .facility-plan {
    font-size: 1.875rem;
    padding: 3.125rem 6.25rem;
  }
}
@media screen and (min-width: 1400px) {
  .facility-ttl-wrap {
    padding-left: 8.75rem;
  }
}
.shikoku {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

.shikoku-row {
  row-gap: 3rem;
  margin-right: -1rem;
  margin-left: -1rem;
}

.shikoku-row > * {
  padding-right: 1rem;
  padding-left: 1rem;
}

.shikoku-row > *:nth-of-type(2) {
  transition-delay: 0.15s;
}

.shikoku-row > *:nth-of-type(3) {
  transition-delay: 0.3s;
}

.shikoku-item:hover {
  opacity: 1;
}

.shikoku-item__img {
  margin-bottom: 1.5rem;
  transition: 0.3s;
}

.shikoku-item:hover .shikoku-item__img {
  box-shadow: 0 8px 20px 6px rgba(0, 0, 0, 0.1);
}

.shikoku-item__ttl {
  font-size: 1.2857142857rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.4;
  color: #285328;
  position: relative;
  padding-right: 2.5rem;
  margin-bottom: 1.25rem;
}

.shikoku-item__ttl::before {
  content: "";
  position: absolute;
  display: inline-block;
  transition: 0.3s;
  right: 0;
  top: 0.5625rem;
  right: 0.5rem;
  width: 0.75rem;
  height: 0.75rem;
  mask: url("../images/common/icon-arrow_bold.svg") no-repeat center center/contain;
  background-color: #333;
  z-index: 10;
}

.shikoku-item:hover .shikoku-item__ttl::before {
  background-color: #fff;
  right: 0.375rem;
}

.shikoku-item__ttl::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1.875rem;
  height: 1.875rem;
  display: inline-block;
  transition: 0.3s;
  right: 0;
  background-color: transparent;
  border: 1px solid #285328;
  border-radius: 50%;
}

.shikoku-item:hover .shikoku-item__ttl::after {
  background-color: #285328;
}

.shikoku-item__desc {
  line-height: 2;
  letter-spacing: 0.03em;
}

@media screen and (min-width: 992px) {
  .shikoku {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
  .shikoku-ttl__jp {
    font-size: 2.5rem;
  }
  .shikoku-ttl__eng {
    font-size: 1rem;
  }
  .shikoku-ttl__eng::before {
    width: 1.5rem;
  }
  .shikoku-row {
    row-gap: 3.75rem;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .shikoku-row > * {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .shikoku-item__img {
    margin-bottom: 1.875rem;
  }
  .shikoku-item__ttl {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .shikoku-item__ttl::before {
    top: 0.8125rem;
  }
  .shikoku-item__ttl::after {
    top: 0.25rem;
  }
}
@media screen and (min-width: 1400px) {
  .shikoku-row {
    margin-right: -2.75rem;
    margin-left: -2.75rem;
  }
  .shikoku-row > * {
    padding-right: 2.75rem;
    padding-left: 2.75rem;
  }
}
.news {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  background-color: #fff;
}

.news-ttl-wrap {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .news-ttl-wrap {
    margin-bottom: 6.25rem;
  }
  .news-row__post__1 .news-ttl-wrap {
    margin-bottom: 2.5rem;
  }
  .news-row > *:nth-of-type(2) {
    transition-delay: 0.15s;
  }
  .news-row > *:nth-of-type(3) {
    transition-delay: 0.3s;
  }
  .news-row__post__1 {
    align-items: center;
  }
}
@media screen and (min-width: 992px) {
  .news {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
  .news-ttl__jp {
    font-size: 2.5rem;
  }
  .news-ttl__eng {
    font-size: 1rem;
  }
  .news-ttl__eng::before {
    width: 1.5rem;
  }
}/*# sourceMappingURL=front-page.css.map */