@charset "UTF-8";
html {
  font-size: calc((var(--vw) * 1.0810810811) + 1rem - 16px);
}
@media screen and (max-width: 768px) {
  html {
    font-size: calc((var(--vw) * 4.2666666667) + 1rem - 16px);
  }
}

body {
  font-family: "Nunito Sans", "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 400;
  width: 100%;
  height: 100%;
  color: #372828;
  background: url(../img/bg.webp);
  background-size: 5.1875rem;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 1.8;
  }
}

*::-moz-selection {
  background: #97cbe2;
}

*::selection {
  background: #97cbe2;
}
*::-moz-selection {
  background: #97cbe2;
}

:root {
  --vw: 1vw;
}

/*===========================
  @use
===========================*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a, button, summary {
  cursor: pointer;
}
a:focus, button:focus, summary:focus {
  outline: none;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible), summary:focus:not(:focus-visible) {
  outline: none;
}
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #ddd;
}

summary {
  display: block;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

ol, ul, menu {
  list-style: none;
}

img {
  display: block;
  max-inline-size: 100%;
  max-block-size: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}
input:focus, textarea:focus {
  outline: 1px solid;
}
input:focus:not(:focus-visible), textarea:focus:not(:focus-visible) {
  outline: 1px solid red;
  background: transparent;
}
input:focus-visible, textarea:focus-visible {
  outline: 1px solid #d3d3d3;
  background: #f3f3f3;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

.l-footer {
  padding: 7.5rem 5rem 5rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  border-top: 1px solid;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 3.75rem 1.5rem 2.5rem;
    overflow: hidden;
  }
}

.l-footer__content {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .l-footer__content {
    grid-template-columns: 1fr;
    gap: 3.75rem;
  }
}

.l-footer__info {
  display: grid;
  gap: 1.25rem;
}
.l-footer__info:not(:first-child) {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  position: relative;
}
.l-footer__info:not(:first-child)::before {
  content: "";
  display: block;
  width: 3.9375rem;
  height: 1.5px;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .l-footer__info {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}

.l-footer__facility {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
}

.l-footer__facility-sub {
  display: block;
  font-size: 0.875rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .l-footer__facility-sub {
    font-size: 0.75rem;
  }
}

.l-footer__facility-list {
  display: grid;
  gap: 1.25rem;
}

.l-footer__facility-name {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 500;
  display: flex;
  gap: 0.375rem;
  align-items: center;
}
.l-footer__facility-name::before {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  border-radius: 50%;
  background-color: rgba(34, 140, 91, 0.3);
}

.l-footer__facility-address {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .l-footer__facility-address {
    font-size: 0.875rem;
  }
}

.l-footer__facility-tel {
  font-size: 1rem;
  line-height: 1.4;
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-footer__facility-tel {
    font-size: 0.875rem;
  }
}
.l-footer__facility-tel a {
  margin-right: 0.375rem;
}

.l-footer-nav {
  display: flex;
  gap: 5.625rem;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .l-footer-nav {
    align-items: flex-start;
    grid-column: 1/2;
    grid-row: 1/2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 5rem;
    min-width: 0;
  }
}

.l-footer-nav__line {
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .l-footer-nav__line {
    gap: 2rem;
  }
  .l-footer-nav__line:first-of-type {
    grid-column: 1/2;
  }
}

.l-footer-nav__sp-column {
  display: contents;
}
@media screen and (max-width: 768px) {
  .l-footer-nav__sp-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.l-footer-nav__heading {
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.2;
  width: 100%;
  cursor: default;
}
.l-footer-nav__heading svg {
  fill: #228C5B;
  width: 1.125rem;
  height: 1.125rem;
}
@media screen and (max-width: 768px) {
  .l-footer-nav__heading {
    font-size: 0.9375rem;
  }
  .l-footer-nav__heading[aria-expanded=true] .l-footer-nav__arrow {
    transform: rotate(-180deg);
  }
}

a.l-footer-nav__heading {
  cursor: pointer;
}
a.l-footer-nav__heading:hover, a.l-footer-nav__heading:focus {
  transform: translateX(0.25rem);
}

@media screen and (max-width: 768px) {
  .l-footer-nav__nav {
    flex-direction: column;
    gap: 0;
  }
}

.l-footer-nav__arrow {
  display: none;
  width: 0.75rem;
  height: 0.75rem;
  place-content: center;
}
.l-footer-nav__arrow svg {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .l-footer-nav__arrow {
    display: grid;
  }
}

.l-footer-nav__list {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .l-footer-nav__list {
    display: grid;
    align-content: start;
    overflow: hidden;
    padding: 0;
    margin-top: 0;
    font-size: 0.9375rem;
    line-height: 1.2;
    letter-spacing: 0;
    transition: margin-top 0.3s ease;
  }
  .l-footer-nav__list > li {
    overflow: hidden;
  }
}

.l-footer-nav__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.l-footer-nav__link:hover, .l-footer-nav__link:focus {
  transform: translateX(0.25rem);
}

@media screen and (max-width: 768px) {
  .l-footer-nav__group--has-child {
    display: grid;
    grid-template-rows: auto 0fr;
    align-content: start;
    transition: grid-template-rows 0.3s ease;
  }
  .l-footer-nav__group--has-child:has(.l-footer-nav__heading[aria-expanded=true]) {
    grid-template-rows: auto 1fr;
  }
  .l-footer-nav__group--has-child:has(.l-footer-nav__heading[aria-expanded=true]) .l-footer-nav__list {
    margin-top: 1.25rem;
  }
}

.l-footer-links {
  display: grid;
  gap: 0.5rem;
  grid-column: 1/3;
}
@media screen and (max-width: 768px) {
  .l-footer-links {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}

.l-footer-links__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background-color: #fff;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .l-footer-links__inner {
    background-color: transparent;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}
.l-footer-links__inner .l-footer-links__item:nth-child(n+5)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1.5px;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
}
@media screen and (max-width: 768px) {
  .l-footer-links__inner .l-footer-links__item:nth-child(n+5)::before {
    display: none;
  }
}
.l-footer-links__inner .l-footer-links__item:nth-child(4n)::after {
  display: none;
}

.l-footer-links__inner--3column {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 0 1.25rem;
}
@media screen and (max-width: 768px) {
  .l-footer-links__inner--3column {
    background-color: transparent;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 0;
  }
}
.l-footer-links__inner--3column .l-footer-links__item:nth-child(n+4)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1.5px;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
}
@media screen and (max-width: 768px) {
  .l-footer-links__inner--3column .l-footer-links__item:nth-child(n+4)::before {
    display: none;
  }
}
.l-footer-links__inner--3column .l-footer-links__item:nth-child(3n)::after {
  display: none;
}

.l-footer-links__title {
  font-size: 1.125rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}

.l-footer-links__item {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  height: 5.25rem;
  font-weight: 500;
  position: relative;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .l-footer-links__item {
    padding: 1rem 1.25rem;
    background-color: #fff;
    border-radius: 1rem;
    justify-content: space-between;
    height: auto;
    text-align: left;
  }
}
.l-footer-links__item:not(:last-child)::after {
  content: "";
  display: block;
  width: 1.5px;
  height: 1.75rem;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border-vertical.webp) repeat-y center top/1.5px auto;
          mask: url(../img/dot_border-vertical.webp) repeat-y center top/1.5px auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .l-footer-links__item:not(:last-child)::after {
    display: none;
  }
}
.l-footer-links__item:hover .l-footer-links__icon, .l-footer-links__item:hover .l-footer-links__icon--internal {
  transform: scale(1.2);
}

.l-footer-links__text span {
  font-size: 0.6875rem;
  line-height: 1;
}

.l-footer-links__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 1.25rem;
  background-color: #228C5B;
  fill: #F7F6F6;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-origin: center center;
  transition: transform 0.3s cubic-bezier(0, 0, 0.59, 1.74);
}
@media screen and (max-width: 768px) {
  .l-footer-links__icon {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.l-footer-links__icon svg {
  width: 1rem;
  height: 1rem;
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .l-footer-links__icon svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.l-footer-links__icon--internal {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 1.25rem;
  background-color: #228C5B;
  fill: #F7F6F6;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-origin: center center;
  transition: transform 0.3s cubic-bezier(0, 0, 0.59, 1.74);
}
@media screen and (max-width: 768px) {
  .l-footer-links__icon--internal {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.l-footer-links__icon--internal svg {
  width: 1rem;
  height: 1rem;
}
@media screen and (max-width: 768px) {
  .l-footer-links__icon--internal svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.l-footer-bottom {
  margin-top: 5rem;
  display: flex;
  justify-content: space-between;
}

.l-footer-bottom__copyright {
  font-size: 0.75rem;
  line-height: 1;
}

.l-footer-bottom__sns {
  display: flex;
  gap: 1rem;
}

.l-footer-bottom__sns-link {
  width: 1.75rem;
  height: 1.75rem;
  transition: 0.3s opacity ease;
}
.l-footer-bottom__sns-link:hover, .l-footer-bottom__sns-link:focus {
  opacity: 0.7;
}

.l-header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 100;
  width: 100%;
  transition: transform 0.3s, background-color 0.3s, box-shadow 0.3s;
}
.l-header.is-hidden, .l-header.is-fixed {
  transform: translateY(-100%);
}
@media screen and (max-width: 768px) {
  .l-header.is-hidden, .l-header.is-fixed {
    transform: none;
  }
}

.l-header__logo {
  width: 28.3125rem;
  height: 8.625rem;
  transform: translate(-1.25rem, -0.875rem);
  transition: width 0.5s, height 0.5s;
}
.is-scrolled .l-header__logo {
  width: 20rem;
  height: 6.125rem;
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    width: 16.9375rem;
    height: 4.4375rem;
    transform: translate(0, 0.875rem);
    transition: opacity 0.3s;
  }
  .is-scrolled .l-header__logo {
    opacity: 0;
  }
}

.l-header__logo--southern {
  width: 13rem;
  height: 8.75rem;
  transition: width 0.5s, height 0.5s;
}
.is-scrolled .l-header__logo--southern {
  width: 10.1875rem;
  height: 6.8125rem;
}
@media screen and (max-width: 768px) {
  .l-header__logo--southern {
    width: 16.9375rem;
    height: 4.4375rem;
    transition: opacity 0.3s;
  }
  .is-scrolled .l-header__logo--southern {
    opacity: 0;
  }
}

@media screen and (max-width: 768px) {
  .l-header__nav {
    position: fixed;
    width: 100%;
    height: 100dvh;
    overflow-y: scroll;
    padding: 3.5rem 0;
    bottom: -100%;
    left: 0;
    transition: all 0.3s;
  }
  .l-header__nav::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background-color: #228C5B;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .is-open .l-header__nav {
    bottom: 0;
    left: 0;
  }
  .is-open .l-header__nav::after {
    opacity: 1;
  }
}

.l-header__list {
  display: flex;
  align-items: center;
  margin: 1.25rem 2.75rem 0 0;
  padding: 0.25rem 1.125rem 0;
  font-size: 0.9375rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  line-height: 1.2;
  letter-spacing: 0;
  border-radius: 5rem;
  transition: background-color 0.3s;
}
.is-scrolled .l-header__list {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .is-scrolled .l-header__list {
    background-color: transparent;
  }
}
@media screen and (max-width: 768px) {
  .l-header__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 3.75rem;
    align-items: flex-start;
    background: url(../img/bg.webp);
    background-size: 5.1875rem;
    padding: 2.5rem 2rem 1.25rem;
    margin: 2.0625rem 0;
    position: relative;
    border-radius: 0;
  }
  .l-header__list::before, .l-header__list::after {
    content: "";
    display: block;
    width: 100%;
    height: 2.0625rem;
    position: absolute;
    left: 0;
    background: url(../img/bg.webp);
    background-size: 5.1875rem;
  }
  .l-header__list::before {
    -webkit-mask: url(../img/frame_top.webp) no-repeat center/160% 100%;
            mask: url(../img/frame_top.webp) no-repeat center/160% 100%;
    top: -2rem;
  }
  .l-header__list::after {
    -webkit-mask: url(../img/frame_bottom.webp) no-repeat center/160% 100%;
            mask: url(../img/frame_bottom.webp) no-repeat center/160% 100%;
    bottom: -2rem;
  }
}

.l-header__links-sp {
  display: contents;
}
.l-header__links-sp:nth-of-type(1) .l-header__item:nth-of-type(1) {
  order: 1;
}
.l-header__links-sp:nth-of-type(1) .l-header__item:nth-of-type(2) {
  order: 3;
}
.l-header__links-sp:nth-of-type(1) .l-header__item:nth-of-type(3) {
  order: 5;
}
.l-header__links-sp:nth-of-type(2) .l-header__item:nth-of-type(1) {
  order: 2;
}
.l-header__links-sp:nth-of-type(2) .l-header__item:nth-of-type(2) {
  order: 4;
}
@media screen and (max-width: 768px) {
  .l-header__links-sp {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 2.5rem;
  }
}

.l-header__item {
  position: relative;
}

.l-header__item--has-child:hover .l-header__dropdown, .l-header__item--has-child:focus-within .l-header__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
@media screen and (max-width: 768px) {
  .l-header__item--has-child {
    display: grid;
    grid-template-rows: auto 0fr;
    align-content: start;
    transition: grid-template-rows 0.3s ease;
  }
  .l-header__item--has-child:hover .l-header__dropdown, .l-header__item--has-child:focus-within .l-header__dropdown {
    transform: none;
  }
  .l-header__item--has-child:has(.l-header__display-link[aria-expanded=true]) {
    grid-template-rows: auto 1fr;
    margin-bottom: 1.25rem;
  }
  .l-header__item--has-child.l-header__item--emphasis {
    grid-template-rows: auto 1fr;
  }
}

.l-header__item--separator {
  width: 1.5px;
  height: 1rem;
  padding: 0;
  margin: 0 0.625rem;
  order: 6;
  transition: margin 0.5s;
  background-color: #372828;
  -webkit-mask: url(../img/dot_border-vertical.webp) repeat-y center top/1.5px auto;
          mask: url(../img/dot_border-vertical.webp) repeat-y center top/1.5px auto;
}
.is-scrolled .l-header__item--separator {
  margin: 0 1.125rem;
}
@media screen and (max-width: 768px) {
  .l-header__item--separator {
    display: none;
  }
}

.l-header__item--emphasis {
  font-size: 1rem;
  order: 7;
}
@media screen and (max-width: 768px) {
  .l-header__item--emphasis {
    grid-column: 1/3;
  }
  .l-header__item--emphasis .l-header__display-link {
    font-size: 0.75rem;
    padding: 0 0.75rem;
    border: 1px solid;
    border-radius: 1.25rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  .l-header__item--emphasis .l-header__display-link svg {
    display: none;
  }
  .l-header__item--emphasis .l-header__dropdown {
    margin-top: 1rem;
  }
}

.l-header__item--facility .l-header__dropdown-item svg {
  display: none;
  fill: #228C5B;
}
@media screen and (max-width: 768px) {
  .l-header__item--facility .l-header__dropdown-item {
    padding-bottom: 0.75rem;
    position: relative;
  }
  .l-header__item--facility .l-header__dropdown-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background-color: #C1C804;
    -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
            mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
  }
  .l-header__item--facility .l-header__dropdown-item svg {
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .l-header__item--facility .l-header__dropdown-item a {
    padding-right: 1.5rem;
    position: relative;
  }
  .l-header__item--facility .l-header__dropdown-item a span {
    font-size: 1.125rem;
  }
  .l-header__item--facility .l-header__dropdown-item a span::after {
    display: none;
  }
  .l-header__item--facility .l-header__dropdown-item a img {
    width: 3.75rem;
    height: 2.8125rem;
  }
}

@media screen and (max-width: 768px) {
  .l-header__item--preschool .l-header__dropdown-list {
    display: grid;
    gap: 0.5rem 3.75rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .l-header__item--preschool .l-header__dropdown-item:first-of-type {
    grid-column: 1/3;
  }
}

.l-header__display-link {
  display: flex;
  gap: 0.25rem;
  font-weight: 500;
  padding: 1.25rem 0.625rem;
  position: relative;
  cursor: pointer;
}
.l-header__display-link:hover, .l-header__display-link:focus {
  transform: translateY(0.25rem);
}
@media screen and (max-width: 768px) {
  .l-header__display-link {
    padding: 0 0 0.375rem;
    font-size: 1.25rem;
    line-height: 2;
    align-items: center;
  }
}
.l-header__display-link svg {
  width: 0.75rem;
  height: 0.75rem;
  fill: #228C5B;
  margin-top: 0.15em;
}

.l-header__dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  width: -moz-max-content;
  width: max-content;
  transform: translateX(-50%) translateY(0.5rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
}
@media screen and (max-width: 768px) {
  .l-header__dropdown {
    position: static;
    width: auto;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    overflow: hidden;
    transition: none;
    background-color: transparent;
    padding: 0;
    border-radius: 0;
  }
}
.is-scrolled .l-header__dropdown {
  padding-top: 0.75rem;
}

.l-header__dropdown-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 1.75rem;
}
@media screen and (max-width: 768px) {
  .l-header__dropdown-list {
    background-color: transparent;
    padding: 0;
    border-radius: 0;
  }
}

.l-header__dropdown-item a {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: flex-start;
}
.l-header__dropdown-item a span {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #228C5B;
  font-size: 0.9375rem;
  line-height: 2;
  flex-shrink: 0;
  position: relative;
}
.l-header__dropdown-item a span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: #C1C804;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
}
@media screen and (max-width: 768px) {
  .l-header__dropdown-item a span {
    font-size: 1rem;
  }
}
.l-header__dropdown-item a img {
  flex-shrink: 0;
  width: 4.625rem;
  height: 3.5rem;
  border-radius: 0.5rem;
}

.l-header__sns {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header__sns {
    order: 8;
    grid-column: 1/3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 0.5rem;
  }
}

.l-header__sns-link {
  width: 1.75rem;
}

.l-header__ham-menu {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header__ham-menu {
    position: relative;
    z-index: 1;
    width: 1.75rem;
    height: 1.5rem;
    margin: 1.5625rem 1.5625rem;
    cursor: pointer;
    display: grid;
    gap: 0.375rem;
  }
  .l-header__ham-menu .l-header__menu-bar {
    height: 2px;
    background-color: #372828;
    transition: all 0.5s;
    border-radius: 2px;
  }
  .l-header__ham-menu .l-header__menu-text {
    width: 100%;
    margin-top: 0.125rem;
  }
  .l-header__ham-menu .l-header__menu-text img {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .l-header__ham-menu.is-open span:nth-of-type(1) {
    transform: translateY(0.25rem) rotate(30deg);
  }
  .l-header__ham-menu.is-open span:nth-of-type(2) {
    transform: translateY(-0.25rem) rotate(-30deg);
  }
}

.c-bnr {
  padding: 0 6.25rem 2.5rem;
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-bnr {
    padding: 0 1.25rem 5rem;
  }
}

.c-bnr-minnade {
  background-color: #F9F6DF;
  padding: 6.25rem 5rem 4.375rem;
  text-align: center;
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade {
    padding: 6.375rem 0.5rem 4.375rem;
  }
}
.c-bnr-minnade::before {
  content: "";
  display: block;
  width: 100%;
  height: 4.125rem;
  background: url(../img/minnade_top.webp) repeat-x;
  background-size: auto 100%;
  position: absolute;
  top: -1.25rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade::before {
    height: 4.125rem;
  }
}

.c-bnr-minnade__content {
  position: relative;
  z-index: 2;
}

.c-bnr-minnade__headline {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__headline {
    gap: 0.5rem;
  }
}

.c-bnr-minnade__sub-title {
  width: 12.25rem;
}

.c-bnr-minnade__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: 0.07em;
  font-size: 3.6875rem;
  color: #726B53;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__title {
    font-size: 2.375rem;
  }
}

.c-bnr-minnade__text {
  margin-top: 1.25rem;
  font-weight: 400;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__text {
    font-size: 1rem;
  }
}

.c-bnr-minnade__btn {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__btn {
    margin-top: 1rem;
  }
}

.c-bnr-minnade__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.c-bnr-minnade__bg img {
  display: block;
  position: absolute;
}
.c-bnr-minnade__bg img:nth-of-type(1) {
  width: 5.8125rem;
  height: 3.9375rem;
  top: 7.5rem;
  left: 19.375rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__bg img:nth-of-type(1) {
    width: 2.75rem;
    height: 1.8125rem;
    top: 3.9375rem;
    left: auto;
    right: 1.4375rem;
  }
}
.c-bnr-minnade__bg img:nth-of-type(2) {
  width: 9.125rem;
  height: 4.1875rem;
  top: 13.625rem;
  left: 5.5625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__bg img:nth-of-type(2) {
    width: 3.75rem;
    height: 1.75rem;
    top: 4.25rem;
    left: 1.375rem;
  }
}
.c-bnr-minnade__bg img:nth-of-type(3) {
  width: 7.6875rem;
  height: 2.875rem;
  bottom: 3.1875rem;
  left: 13.625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__bg img:nth-of-type(3) {
    width: 4.875rem;
    height: 1.8125rem;
    bottom: 6.3125rem;
    left: -1.5rem;
  }
}
.c-bnr-minnade__bg img:nth-of-type(4) {
  width: 11.4375rem;
  height: 4.9375rem;
  top: 7.75rem;
  right: 8.1875rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__bg img:nth-of-type(4) {
    width: 4.375rem;
    height: 1.875rem;
    top: 13.875rem;
    right: -0.5rem;
  }
}
.c-bnr-minnade__bg img:nth-of-type(5) {
  width: 6.875rem;
  height: 4.875rem;
  bottom: 3.1875rem;
  right: 7.125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__bg img:nth-of-type(5) {
    width: 3.0625rem;
    height: 2.1875rem;
    bottom: 1.125rem;
    right: 3.3125rem;
  }
}

.c-bnr-minnade__dot {
  width: 1.25rem;
  height: 1.25rem;
  background: url(../img/minnade_dot.webp) no-repeat center/cover;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot {
    width: 0.5625rem;
    height: 0.5625rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(1) {
  top: 9.4375rem;
  left: 12.5rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(1) {
    top: 3.9375rem;
    left: 7.75rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(2) {
  top: 16.5625rem;
  left: 20.625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(2) {
    top: 9.375rem;
    left: 0.9375rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(3) {
  bottom: 1.8125rem;
  left: 5.5625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(3) {
    bottom: 10.25rem;
    left: 2.125rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(4) {
  top: 7.75rem;
  right: 24.3125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(4) {
    top: auto;
    right: auto;
    bottom: 2.125rem;
    left: 2.5rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(5) {
  top: 11.875rem;
  right: 5.625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(5) {
    top: 4.875rem;
    right: 7.3125rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(6) {
  top: 15.75rem;
  right: 16.3125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(6) {
    top: 8.75rem;
    right: 2.3125rem;
  }
}
.c-bnr-minnade__dot:nth-of-type(7) {
  bottom: 4.4375rem;
  right: 20.25rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-minnade__dot:nth-of-type(7) {
    bottom: 6.6875rem;
    right: 1.6875rem;
  }
}

.c-bnr-guidance {
  background-color: #228C5B;
  padding: 2.5rem 2.5rem 2.5rem 5rem;
  border-radius: 1.25rem;
  color: #FBFAF3;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.75rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-bnr-guidance {
    grid-template-columns: 1fr;
    padding: 1.25rem 1.25rem 3.25rem;
    gap: 2.5rem;
  }
}

@media screen and (max-width: 768px) {
  .c-bnr-guidance__texts {
    grid-row: 2/3;
    padding: 0 0.75rem;
  }
}

.c-bnr-guidance__title {
  display: inline-block;
  padding: 0.25rem 1.25rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.75rem;
  border: 1px solid;
}
@media screen and (max-width: 768px) {
  .c-bnr-guidance__title {
    padding: 0.25rem 0.6875rem;
    font-size: 1.125rem;
  }
}

.c-bnr-guidance__text {
  margin-top: 2.8125rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-guidance__text {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.c-bnr-guidance__btn {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-guidance__btn {
    margin-top: 2rem;
  }
}

.c-bnr-guidance__img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.c-bnr-visit {
  background-color: #EDF2E4;
  padding: 3.4375rem 5rem;
  border-radius: 1.25rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit {
    padding: 2.5rem 1rem 2.6875rem;
  }
}

.c-bnr-visit__content {
  position: relative;
  z-index: 2;
}

.c-bnr-visit__icon {
  display: flex;
  justify-content: center;
}
.c-bnr-visit__icon img {
  width: 3.375rem;
  height: 3.375rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__icon img {
    width: 2.375rem;
    height: 2.375rem;
  }
}

.c-bnr-visit__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  margin-top: 0.875rem;
  line-height: 1.6;
  color: #228C5B;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__title {
    font-size: 1.5rem;
  }
}
.c-bnr-visit__title span {
  color: #3F9A6B;
  position: relative;
  z-index: 1;
}
.c-bnr-visit__title span::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.875rem;
  background-color: #FFF678;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.c-bnr-visit__text {
  margin-top: 1.25rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__text {
    font-size: 1rem;
  }
}

.c-bnr-visit__btn {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__btn {
    margin-top: 1.25rem;
  }
}

.c-bnr-visit__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: url(../img/visit_bg.webp) no-repeat center/cover;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg {
    background: url(../img/visit_bg--sp.webp) no-repeat center/cover;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img {
  display: block;
  position: absolute;
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(1) {
  width: 6.625rem;
  height: 7.5625rem;
  top: 3.125rem;
  left: 15.5rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(1) {
    width: 3.4375rem;
    height: 3.875rem;
    top: 1.4375rem;
    left: 1.5rem;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(2) {
  width: 4.375rem;
  height: 4.1875rem;
  top: 6.4375rem;
  left: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(2) {
    display: none;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(3) {
  width: 5.25rem;
  height: 3.625rem;
  top: 12.9375rem;
  left: 8.375rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(3) {
    width: 3.125rem;
    height: 2.1875rem;
    top: auto;
    bottom: 2.75rem;
    left: 0.8125rem;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(4) {
  width: 8.75rem;
  height: 5.6875rem;
  bottom: 2.875rem;
  left: 10.8125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(4) {
    width: 4rem;
    height: 2.625rem;
    bottom: 1.0625rem;
    right: 0.375rem;
    left: auto;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(5) {
  width: 4.5rem;
  height: 6.75rem;
  top: 4.25rem;
  right: 17.5625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(5) {
    width: 2.25rem;
    height: 3.3125rem;
    top: 1.625rem;
    right: 2.375rem;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(6) {
  width: 6.4375rem;
  height: 8.3125rem;
  top: 10.1875rem;
  right: 6rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(6) {
    width: 3rem;
    height: 3.875rem;
    top: 10.75rem;
    right: auto;
    left: 1.125rem;
  }
}
.c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(7) {
  width: 7.6875rem;
  height: 6rem;
  bottom: 3.4375rem;
  right: 15.1875rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__bg .c-bnr-visit__bg-img:nth-child(7) {
    width: 6.5625rem;
    height: 4.5625rem;
    bottom: 10.6875rem;
    right: -0.1875rem;
  }
}

.c-bnr-visit__dot {
  width: 1.25rem;
  height: 1.25rem;
  background: url(../img/visit_dot.webp) no-repeat center/cover;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.c-bnr-visit__dot:nth-of-type(1) {
  top: 5.625rem;
  left: 10.8125rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(1) {
    top: 2rem;
    left: 4.9375rem;
  }
}
.c-bnr-visit__dot:nth-of-type(2) {
  bottom: 7.5625rem;
  left: 4.4375rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(2) {
    display: none;
  }
}
.c-bnr-visit__dot:nth-of-type(3) {
  bottom: 9.4375rem;
  left: 20.5625rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(3) {
    bottom: 8.8125rem;
    right: 1.5rem;
    left: auto;
  }
}
.c-bnr-visit__dot:nth-of-type(4) {
  top: 3.75rem;
  right: 27.375rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(4) {
    top: 7.125rem;
    right: 1.5625rem;
  }
}
.c-bnr-visit__dot:nth-of-type(5) {
  top: 5.3125rem;
  right: 4.875rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(5) {
    display: none;
  }
}
.c-bnr-visit__dot:nth-of-type(6) {
  top: 13.0625rem;
  right: 16.5rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(6) {
    display: none;
  }
}
.c-bnr-visit__dot:nth-of-type(7) {
  bottom: 5.25rem;
  right: 9rem;
}
@media screen and (max-width: 768px) {
  .c-bnr-visit__dot:nth-of-type(7) {
    display: none;
  }
}

.c-btn-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .c-btn-wrap {
    gap: 1.25rem;
  }
}

.c-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: -moz-fit-content;
  width: fit-content;
}

.c-btn__img {
  width: 5.125rem;
  height: 3.875rem;
  border-radius: 0.75rem;
  overflow: hidden;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-btn__img {
    width: 4.625rem;
    height: 3.5rem;
    margin-right: 0;
  }
}

.c-btn__link-text {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #228C5B;
  font-size: 1.0625rem;
  position: relative;
}
.c-btn__link-text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: #C1C804;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
}
@media screen and (max-width: 768px) {
  .c-btn__link-text {
    font-size: 0.9375rem;
  }
}

.c-btn__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 1.25rem;
  background: #228C5B;
  fill: #F7F6F6;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-btn__icon {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.c-btn__icon svg {
  width: 1rem;
  height: 1rem;
}
@media screen and (max-width: 768px) {
  .c-btn__icon svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.c-btn--secondary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.c-btn--secondary .c-btn__link-text {
  color: #EC7600;
}
.c-btn--secondary .c-btn__link-text::after {
  background-color: #FFCC00;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
}
.c-btn--secondary .c-btn__icon {
  background: #EC7600;
}

.c-btn--reverse {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.c-btn--reverse .c-btn__link-text {
  color: #FBFAF3;
}
.c-btn--reverse .c-btn__link-text::after {
  background-color: #C1C804;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
}
.c-btn--reverse .c-btn__icon {
  background: #FBFAF3;
  fill: #228C5B;
}

.c-definition-list__item {
  padding: 2.5rem 2rem;
  display: grid;
  grid-template-columns: 15rem 1fr;
  gap: 2.5rem;
  align-items: center;
  position: relative;
}
.c-definition-list__item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: #D4D0CA;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
}
@media screen and (max-width: 768px) {
  .c-definition-list__item {
    grid-template-columns: 1fr;
    padding: 1.5rem 0;
    gap: 0.75rem;
  }
}

.c-definition-list__term {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  line-height: 1.6;
  font-weight: 500;
  color: #228C5B;
}
@media screen and (max-width: 768px) {
  .c-definition-list__term {
    font-size: 1rem;
  }
}

.c-definition-list__definition {
  display: grid;
  gap: 1em;
  font-size: 1rem;
  line-height: 1.6;
}
.c-definition-list__definition ol {
  counter-reset: olcounter;
  display: grid;
  gap: 0.25rem;
}
.c-definition-list__definition ol li {
  counter-increment: olcounter;
  display: flex;
  gap: 0.5rem;
}
.c-definition-list__definition ol li::before {
  content: counter(olcounter) ".";
  display: inline;
}
.c-definition-list__definition ul {
  display: grid;
  gap: 0.25rem;
}
.c-definition-list__definition ul li {
  display: flex;
  gap: 0.5rem;
}
.c-definition-list__definition ul li::before {
  content: "・";
  display: inline;
}

.c-event {
  padding: 3.75rem 0;
}
@media screen and (max-width: 768px) {
  .c-event {
    padding: 0;
  }
}

.c-event__slide {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .c-event__slide {
    margin-top: 2.5rem;
  }
}
.c-event__slide .splide__slide.is-odd {
  margin-top: 2.5rem;
}

.c-event__slide-img {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
.c-event__slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-event__text {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 0.75rem;
  text-align: center;
  font-size: 0.9375rem;
}

.c-event-calendar__wrap {
  padding: 5rem 10rem 1.25rem;
  display: grid;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__wrap {
    padding: 2.5rem 1rem 0;
  }
}

.c-event-calendar {
  padding: 5rem 5rem 3.75rem;
  background-color: #FDFDF9;
  border-radius: 1.25rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-event-calendar {
    padding: 5rem 1.25rem 2.5rem;
  }
}

.c-event-calendar__deco {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #228C5B;
  border-radius: 50%;
  position: absolute;
  top: 1.125rem;
  z-index: 1;
}
.c-event-calendar__deco::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 2.125rem;
  background-color: #D4D0CA;
  border-radius: 0.625rem;
  position: absolute;
  bottom: 0.625rem;
  left: 0.3125rem;
  z-index: -1;
}
.c-event-calendar__deco:nth-child(1) {
  left: 10.25rem;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__deco:nth-child(1) {
    left: 5.875rem;
  }
}
.c-event-calendar__deco:nth-child(2) {
  right: 10.25rem;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__deco:nth-child(2) {
    right: 5.875rem;
  }
}

.c-event-calendar__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  color: #372828;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-event-calendar__item {
  padding: 1.125rem 1.25rem 1.25rem;
  background-color: #F8F8E6;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__item {
    padding: 0.625rem 0.625rem 1.25rem;
  }
}

.c-event-calendar__month {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 1.5rem;
  margin-bottom: -1.5rem;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__month {
    font-size: 0.875rem;
  }
}

.c-event-calendar__month-no {
  font-size: 3.25rem;
  font-family: "Borel", cursive;
  color: #67A454;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__month-no {
    font-size: 2.75rem;
  }
}

.c-event-calendar__event-list {
  margin: 1rem 0.25rem 0;
  padding-top: 1rem;
  display: grid;
  gap: 0.25rem;
  position: relative;
}
.c-event-calendar__event-list::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1.5px;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
}

.c-event-calendar__event-item {
  padding-left: 1.125rem;
  position: relative;
  line-height: 1.6;
  font-weight: 500;
  font-size: 0.9375rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__event-item {
    font-size: 0.8125rem;
    line-height: 1.4;
    padding-left: 0.875rem;
  }
}
.c-event-calendar__event-item::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: rgba(34, 140, 91, 0.3);
  position: absolute;
  left: 0;
  top: 0.3125rem;
}
@media screen and (max-width: 768px) {
  .c-event-calendar__event-item::before {
    width: 0.625rem;
    height: 0.625rem;
  }
}

.c-facility-info {
  padding: 10rem 7.5rem 0;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .c-facility-info {
    padding: 7.5rem 1rem 0;
    gap: 2.5rem;
  }
}

.c-facility-info__content {
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-facility-info__content {
    grid-template-columns: 1fr;
  }
}

.c-facility-info__list {
  display: grid;
  gap: 1rem;
}

.c-facility-info__line {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

.c-facility-info__term {
  flex-shrink: 0;
  min-width: 5.4375rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  background-color: #F5F5DB;
  color: #228C5B;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.25rem 1rem 0.125rem;
  border-radius: 0.5rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .c-facility-info__term {
    padding: 0.1875rem 0.5rem 0.0625rem;
  }
}

.c-facility-info__definition {
  font-size: 1rem;
  line-height: 1.6;
  padding-top: 0.25rem;
  display: grid;
  gap: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .c-facility-info__definition {
    font-size: 0.9375rem;
  }
}

.c-facility-map .splide__pagination {
  position: static;
  justify-content: center;
  margin-top: 0.625rem;
  padding: 0;
}
.c-facility-map .splide__pagination__page {
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  border-radius: 0;
  opacity: 1;
  font-size: 1.125rem;
  font-weight: 500;
  transition: color 0.2s;
  transform: none;
  border-bottom: 1px solid transparent;
  padding: 0.625rem 1rem;
  line-height: 1.6;
}
.c-facility-map .splide__pagination__page.is-active {
  color: #228C5B;
  background: none;
  transform: none;
  text-decoration: underline;
  text-underline-offset: 0.375rem;
}
.c-facility-map .splide__pagination__page:hover {
  opacity: 1;
}

.c-footer-links {
  padding: 1.875rem 7.5rem 7.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .c-footer-links {
    padding: 0 1.5rem 5.625rem;
    grid-template-columns: 1fr;
  }
}

.c-footer-links__item {
  border-radius: 1.25rem;
  overflow: hidden;
}
.c-footer-links__item:hover .c-footer-links__icon {
  transform: scale(1.2);
}
.c-footer-links__item:hover .c-footer-links__img img {
  transform: scale(1.05);
}

.c-footer-links__img {
  overflow: hidden;
}
.c-footer-links__img img {
  transition: transform 0.3s ease;
}

.c-footer-links__texts {
  background-color: #fff;
  padding: 1.375rem 1.25rem;
  display: grid;
  grid-template-columns: 1fr 2.25rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-footer-links__texts {
    grid-template-columns: 1fr 1.75rem;
  }
}

.c-footer-links__text {
  text-align: center;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-footer-links__text {
    text-align: left;
    font-size: 1rem;
  }
}

.c-footer-links__icon {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 1.25rem;
  background-color: #228C5B;
  fill: #F7F6F6;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-origin: center center;
  transition: transform 0.3s cubic-bezier(0, 0, 0.59, 1.74);
}
.c-footer-links__icon svg {
  width: 1rem;
  height: 1rem;
}
@media screen and (max-width: 768px) {
  .c-footer-links__icon svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.c-guidance__wrap {
  padding: 0 4.375rem 4.375rem;
  position: sticky;
  z-index: 99;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  margin-top: -12.875rem;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.c-guidance__wrap.is-hidden {
  opacity: 0;
  transform: translateY(3.75rem);
  transition: opacity 0.3s ease-in, transform 0.3s ease-in;
}
.c-guidance__wrap.is-guidance-init {
  opacity: 0;
  transform: translateY(3.75rem);
}
@media screen and (max-width: 768px) {
  .c-guidance__wrap {
    padding: 0 0.625rem 0.5rem;
    margin-top: -6.25rem;
  }
}

.c-guidance__sentinel {
  height: 1px;
}

.c-guidance {
  width: 8.375rem;
  height: 7.5rem;
  background-color: #E4E959;
  border-radius: 5.1875rem 0 5.1875rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.4375rem;
  fill: #228C5B;
  box-shadow: 0.3125rem 0.375rem 0px 0px rgba(0, 0, 0, 0.06);
  pointer-events: visible;
  transition: transform 0.4s cubic-bezier(0, 0.95, 0.51, 1.37);
}
@media screen and (max-width: 768px) {
  .c-guidance {
    width: 5.75rem;
    height: 5.25rem;
    border-radius: 3.5625rem 0 3.5625rem 0;
    gap: 0.25rem;
  }
  .c-guidance svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.c-guidance:hover {
  transform: scale(1.1);
}

.c-guidance--southern {
  width: 8.5rem;
  height: 8.5rem;
  background-color: #E4E959;
  border-radius: 5.1875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.4375rem;
  fill: #228C5B;
  box-shadow: 0.3125rem 0.375rem 0px 0px rgba(0, 0, 0, 0.06);
  pointer-events: visible;
  transition: transform 0.4s cubic-bezier(0, 0.95, 0.51, 1.37);
}
@media screen and (max-width: 768px) {
  .c-guidance--southern {
    width: 5.25rem;
    height: 5.25rem;
    gap: 0.25rem;
  }
  .c-guidance--southern svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.c-guidance--southern:hover {
  transform: scale(1.1);
}

.c-guidance__text {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-size: 1.1875rem;
  line-height: 1.38;
  position: relative;
}
.c-guidance__text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.125rem;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 0.125rem;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 0.125rem;
}
@media screen and (max-width: 768px) {
  .c-guidance__text {
    font-size: 0.8125rem;
    line-height: 1.38;
  }
}

.c-guidance__arrow {
  margin-top: 0.25rem;
  stroke: #228C5B;
}
@media screen and (max-width: 768px) {
  .c-guidance__arrow {
    margin-top: 0.125rem;
  }
}

.c-minnade {
  background-color: #FBFAF3;
  position: relative;
  padding: 14rem 0 7.5rem;
  color: #1A1A1A;
}
@media screen and (max-width: 768px) {
  .c-minnade {
    padding: 3.75rem 0 5rem;
  }
}
.c-minnade::before {
  content: "";
  display: block;
  width: 100%;
  height: 7.125rem;
  background: url(../img/minnade_top.webp) repeat-x;
  background-size: auto 100%;
  position: absolute;
  top: -1.25rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .c-minnade::before {
    height: 4.4375rem;
  }
}

.c-minnade__top {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-minnade__top {
    padding-bottom: 5.375rem;
  }
}

.c-minnade__headline {
  display: grid;
  align-items: center;
  justify-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-minnade__headline {
    padding: 8.125rem 0 0;
  }
}

.c-minnade__hukidashi {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  line-height: 1.6;
  text-align: center;
  font-weight: 500;
  background-color: #726B53;
  color: #FDFDF9;
  -webkit-mask: url(../img/minnade_hukidashi.webp) center center/100% 100% no-repeat;
          mask: url(../img/minnade_hukidashi.webp) center center/100% 100% no-repeat;
  margin-bottom: 1.25rem;
  padding: 1.9375rem 1.6875rem 1.8125rem 2.0625rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__hukidashi {
    font-size: 0.875rem;
    width: 17.375rem;
    height: 6.125rem;
  }
}

.c-minnade__sub-title {
  width: 16.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .c-minnade__sub-title {
    width: 11.25rem;
  }
}

.c-minnade__title {
  font-size: 4.1875rem;
  line-height: 1.4;
  color: #726B53;
}
@media screen and (max-width: 768px) {
  .c-minnade__title {
    font-size: 3.25rem;
  }
}

.c-minnade__bg {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.c-minnade__bg img {
  position: absolute;
}
.c-minnade__bg img:nth-of-type(1) {
  width: 6.25rem;
  height: 4.1875rem;
  top: 0.1875rem;
  left: 22.9375rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__bg img:nth-of-type(1) {
    width: 5.0625rem;
    height: 3.375rem;
    top: 22.375rem;
    left: 8.8125rem;
  }
}
.c-minnade__bg img:nth-of-type(2) {
  width: 9.625rem;
  height: 4.4375rem;
  top: 7.25rem;
  left: 7.0625rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__bg img:nth-of-type(2) {
    width: 7.125rem;
    height: 3.3125rem;
    top: 3.6875rem;
    left: 1.0625rem;
  }
}
.c-minnade__bg img:nth-of-type(3) {
  width: 8.0625rem;
  height: 3.0625rem;
  bottom: 1.25rem;
  left: 18.1875rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__bg img:nth-of-type(3) {
    width: 8.0625rem;
    height: 3.0625rem;
    bottom: -20.8125rem;
    left: -2.8125rem;
  }
}
.c-minnade__bg img:nth-of-type(4) {
  width: 12.0625rem;
  height: 5.1875rem;
  top: 0;
  right: 13.1875rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__bg img:nth-of-type(4) {
    width: 9rem;
    height: 3.875rem;
    top: 3.625rem;
    right: -0.5rem;
  }
}
.c-minnade__bg img:nth-of-type(5) {
  width: 7.25rem;
  height: 5.125rem;
  bottom: 0.75rem;
  right: 16.0625rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__bg img:nth-of-type(5) {
    width: 4.625rem;
    height: 3.3125rem;
    bottom: -17.75rem;
    right: 0.9375rem;
  }
}

.c-minnade__imgs {
  overflow: hidden;
  display: grid;
  align-items: flex-start;
  justify-content: center;
  gap: 3rem;
  grid-template-columns: repeat(3, 31.0625rem);
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__imgs {
    grid-template-columns: repeat(3, 15rem);
    gap: 1.25rem;
  }
}

.c-minnade__img {
  border-radius: 1.25rem;
  overflow: hidden;
}
.c-minnade__img:nth-of-type(even) {
  margin-top: 2.5rem;
}

.c-minnade__wrap {
  padding: 5rem 10rem 0;
  display: grid;
  gap: 7.5rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__wrap {
    padding: 0 1.25rem 0;
    gap: 2.5rem;
  }
}

.c-minnade__lead {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .c-minnade__lead {
    grid-template-columns: 1fr;
  }
}

.c-minnade__lead-title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__lead-title {
    font-size: 1.25rem;
  }
}

.c-minnade__lead-text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-minnade__lead-text {
    font-size: 1rem;
    line-height: 2;
  }
}

.c-minnade__content {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .c-minnade__content {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.c-minnade-card {
  background-color: #fff;
  padding: 0.5rem;
  border-radius: 1.25rem;
}
.c-minnade-card:nth-of-type(1) .c-minnade-card__title {
  background-color: #D4C8A1;
}
.c-minnade-card:nth-of-type(2) .c-minnade-card__title {
  background-color: #F6C0B8;
}
.c-minnade-card:nth-of-type(3) .c-minnade-card__title {
  background-color: #EEB926;
}
.c-minnade-card:nth-of-type(4) .c-minnade-card__title {
  background-color: #B9DB51;
}
.c-minnade-card:nth-of-type(5) .c-minnade-card__title {
  background-color: #ABCED0;
}

.c-minnade-card__title {
  text-align: center;
  padding: 0.125rem 1rem 0;
  color: #FDFDF9;
  font-weight: 500;
  border-radius: 1.25rem;
}

.c-minnade-card__content {
  padding: 1.25rem 0.75rem;
  display: grid;
  gap: 0.625rem;
}

.c-minnade-card__target {
  padding-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.9375rem;
  letter-spacing: 0;
  position: relative;
}
.c-minnade-card__target::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 1.5px;
}
.c-minnade-card__target::before {
  content: "対象";
  display: block;
  padding: 0.125rem 0.75rem;
  background-color: #F5F5DB;
  color: #726B53;
  font-size: 0.875rem;
  line-height: 1.6;
  flex-shrink: 0;
  border-radius: 0.5rem;
}

.c-minnade-card__text {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.c-minnade-ig {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  padding: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig {
    margin-top: 1.25rem;
  }
}
.c-minnade-ig::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: repeating-linear-gradient(to right, #D4C8A1 0 3.75rem, #F6C0B8 3.75rem 7.5rem, #EEB926 7.5rem 11.25rem, #B9DB51 11.25rem 15rem, #ABCED0 15rem 18.75rem);
  background-repeat: repeat;
  background-size: 18.75rem 0.5rem;
  left: 0;
  top: 0;
  z-index: 0;
}
.c-minnade-ig::after {
  content: "";
  position: absolute;
  height: calc(100% - 1rem);
  width: 100%;
  background-image: repeating-linear-gradient(to bottom, #D4C8A1 0 3.75rem, #F6C0B8 3.75rem 7.5rem, #EEB926 7.5rem 11.25rem, #B9DB51 11.25rem 15rem, #ABCED0 15rem 18.75rem);
  background-repeat: repeat;
  background-size: 0.5rem 18.75rem;
  left: 0;
  top: 0.5rem;
  z-index: 1;
}

.c-minnade-ig__inner {
  position: relative;
  display: grid;
  place-items: center;
  gap: 1.25rem;
  padding: 2.5rem 0.5rem 3.375rem;
  background-color: #FDFDF9;
  border-radius: 0.75rem;
  overflow: hidden;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__inner {
    padding: 2.5rem 0;
    gap: 0.75rem;
  }
}

.c-minnade-ig__icon {
  width: 2.9375rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__icon {
    width: 2.6875rem;
  }
}

.c-minnade-ig__title {
  margin-top: 1.25rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  color: #726B53;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__title {
    display: none;
  }
}
.c-minnade-ig__title span {
  z-index: 1;
  position: relative;
}
.c-minnade-ig__title span::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.875rem;
  background-color: #FFF678;
  position: absolute;
  left: 0;
  bottom: 0.2em;
  z-index: -1;
}

.c-minnade-ig__title--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__title--sp {
    display: block;
    font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #726B53;
  }
  .c-minnade-ig__title--sp span {
    z-index: 1;
    position: relative;
  }
  .c-minnade-ig__title--sp span::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.625rem;
    background-color: #FFF678;
    position: absolute;
    left: 0;
    bottom: 0.2em;
    z-index: -1;
  }
}

@media screen and (max-width: 768px) {
  .c-minnade-ig__btn {
    margin-top: 0.5rem;
  }
}
.c-minnade-ig__btn .c-btn__link-text {
  color: #726B53;
  border-color: #DB8F00;
}
.c-minnade-ig__btn .c-btn__icon {
  background-color: #726B53;
  fill: #FBFAF3;
}

.c-minnade-ig__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.c-minnade-ig__bg img {
  width: 8.75rem;
  height: 8.75rem;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__bg img {
    width: 3.125rem;
    height: 3.125rem;
  }
}
.c-minnade-ig__bg img:nth-of-type(1) {
  top: 2.625rem;
  left: 3.1875rem;
  transform: rotate(-13deg);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__bg img:nth-of-type(1) {
    top: 0.8125rem;
    left: 0.625rem;
  }
}
.c-minnade-ig__bg img:nth-of-type(2) {
  top: 8.25rem;
  left: 10.6875rem;
  transform: rotate(7deg);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__bg img:nth-of-type(2) {
    top: 2.3125rem;
    left: 3rem;
  }
}
.c-minnade-ig__bg img:nth-of-type(3) {
  top: 8.25rem;
  right: 10rem;
  transform: rotate(-5deg);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__bg img:nth-of-type(3) {
    top: 2.375rem;
    right: 3.125rem;
  }
}
.c-minnade-ig__bg img:nth-of-type(4) {
  top: 2.625rem;
  right: 3.1875rem;
  transform: rotate(14deg);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .c-minnade-ig__bg img:nth-of-type(4) {
    top: 0.625rem;
    right: 0.4375rem;
  }
}

.c-minnade-access {
  display: grid;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-access {
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.c-minnade-access__title {
  display: grid;
  grid-template-columns: 13.625rem 1fr;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-access__title {
    grid-template-columns: 10.5rem 1fr;
  }
}
.c-minnade-access__title span {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  padding: 0.25rem 0 0.125rem;
  border: 1px solid;
  border-radius: 1.25rem;
  text-align: center;
}
.c-minnade-access__title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #372828;
}

.c-minnade-access__map {
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-access__map {
    gap: 1.25rem;
  }
}
.c-minnade-access__map iframe {
  width: 100%;
  aspect-ratio: 2/1;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-minnade-access__map iframe {
    aspect-ratio: 1/1;
  }
}

.c-minnade-access__info {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-access__info {
    gap: 1rem;
  }
}

.c-minnade-access__info-block {
  display: flex;
  min-width: 24rem;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-access__info-block {
    min-width: 0;
    gap: 0.25rem;
    flex-flow: column;
  }
}

.c-minnade-access__term {
  width: 5.4375rem;
  background-color: #F6F0E2;
  color: #726B53;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 0.5rem;
  padding: 0.125rem 0 0;
}

.c-minnade-access__application {
  background-color: #fff;
  padding: 1.875rem 0;
  border-radius: 1.25rem;
  display: grid;
  place-items: center;
  text-align: center;
}

.c-minnade-access__application-title {
  width: 5.4375rem;
  background-color: #FBFAF3;
  color: #726B53;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 0.5rem;
  padding: 0.125rem 0 0;
}

.c-minnade-access__tel {
  margin-top: 0.625rem;
  color: #726B53;
  font-size: 2.75rem;
  font-weight: 600;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}
.c-minnade-access__tel::after {
  width: 2rem !important;
  height: 2rem !important;
  margin-left: 0.375rem;
}
@media screen and (max-width: 768px) {
  .c-minnade-access__tel::after {
    width: 1.5rem !important;
    height: 1.5rem !important;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .c-minnade-access__tel {
    font-size: 1.6875rem;
  }
}

.c-minnade-access__application-note {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.c-news {
  display: grid;
  gap: 3.75rem 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .c-news {
    grid-template-columns: 1fr;
  }
}

.c-news__item {
  width: 100%;
}
.c-news__item a {
  display: grid;
  gap: 1.25rem;
  transition: color 0.3s;
}
.c-news__item a:hover, .c-news__item a:focus {
  color: #228C5B;
}
.c-news__item a:hover .c-news__img img, .c-news__item a:focus .c-news__img img {
  transform: scale(1.05);
}
.c-news__item a:hover .c-news__title span::after, .c-news__item a:focus .c-news__title span::after {
  transform: scaleX(1);
}
@media screen and (max-width: 768px) {
  .c-news__item a {
    gap: 1rem;
  }
}

.c-news__img {
  position: relative;
  border-radius: 1.25rem;
  aspect-ratio: 386/277;
  overflow: hidden;
}
.c-news__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s;
}

.c-news__category {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  color: #228C5B;
  border: 1px solid;
  padding: 0.3125rem 0.3125rem 0.1875rem;
  width: 6.5rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.4;
  border-radius: 0.5rem;
  display: grid;
  place-content: center;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 768px) {
  .c-news__category {
    padding: 0.25rem 0.25rem 0.125rem;
    font-size: 0.75rem;
    width: 5rem;
  }
}

.c-news__content {
  display: grid;
  gap: 0.5rem;
  padding: 0 0.5rem;
}

.c-news__title {
  position: relative;
  display: block;
  width: 100%;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-news__text {
  line-height: 1.6;
}

.c-news__data {
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.c-note__wrap {
  display: grid;
}

.c-note {
  display: block;
  font-size: 0.875rem;
  line-height: 1.6;
  padding-left: calc(1em + 0.125rem);
  position: relative;
}
.c-note::before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.c-page-kv {
  padding: 5.5rem 1.75rem;
}
@media screen and (max-width: 768px) {
  .c-page-kv {
    padding: 4.1875rem 0.75rem 2.5rem;
  }
}

.c-page-kv__img {
  -webkit-mask: url(../img/kv_mask.webp) center/contain no-repeat;
          mask: url(../img/kv_mask.webp) center/contain no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  height: calc(100svh - 6.75rem);
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-page-kv__img {
    -webkit-mask: url(../img/kv_mask--page-sp.webp) center/contain no-repeat;
            mask: url(../img/kv_mask--page-sp.webp) center/contain no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    height: 26.375rem;
  }
}
.c-page-kv__img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-page-kv__content {
  position: absolute;
  left: 6rem;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-page-kv__content {
    left: 2rem;
    top: auto;
    bottom: 3rem;
    place-content: center;
    gap: 1.25rem;
    transform: translateY(0);
    max-width: 17.75rem;
  }
}

.c-page-kv__headline {
  display: grid;
  gap: 0.5rem;
}

.c-page-kv__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 3rem;
  color: #fff;
  letter-spacing: 0.07em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-page-kv__title {
    font-size: 2rem;
  }
}

.c-page-kv__sub-title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  color: #FDFDF9;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-page-kv__sub-title {
    font-size: 0.875rem;
  }
}

.c-page-kv__sub-title--big {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  color: #FDFDF9;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-page-kv__sub-title--big {
    font-size: 1.25rem;
  }
}

.c-page-kv__targets {
  display: grid;
  gap: 0.625rem;
}

.c-page-kv__target {
  display: grid;
  grid-template-columns: auto auto;
  border-radius: 0.5rem;
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.c-page-kv__target-type {
  background-color: #F6F0E2;
  color: #228C5B;
  padding: 0.625rem 0.625rem 0.5rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-page-kv__target-type {
    font-size: 0.875rem;
  }
}

.c-page-kv__target-age {
  background-color: #228C5B;
  color: #FDFDF9;
  padding: 0.625rem 0.625rem 0.5rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-page-kv__target-age {
    font-size: 0.875rem;
  }
}

.c-page-kv__head-text {
  padding-top: 1.5rem;
  position: relative;
  color: #FDFDF9;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-page-kv__head-text {
    font-size: 0.9375rem;
  }
}
.c-page-kv__head-text::before {
  content: "";
  display: block;
  width: 21.875rem;
  height: 2px;
  background-color: currentColor;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
  position: absolute;
  top: -0.5rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .c-page-kv__head-text::before {
    width: 15rem;
  }
}

.c-page-kv__nav-wrap {
  display: grid;
  place-content: center;
}

.c-page-kv__nav {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
  background-color: #fff;
  padding: 0 1.75rem;
  border-radius: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-page-kv__nav {
    margin: 2.0625rem 0.5rem 0;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1.25rem 1.5rem;
    padding: 1.25rem;
    border-radius: 1rem;
  }
}

.c-page-kv__link {
  padding: 0.625rem 1.25rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-page-kv__link {
    padding: 0;
    font-size: 0.875rem;
  }
}
.c-page-kv__link:hover .c-page-kv__nav-icon {
  transform: scale(1.2);
}

.c-page-kv__nav-icon {
  background-color: #F6F0E2;
  fill: #228C5B;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 1.875rem;
  display: grid;
  place-content: center;
  transform-origin: center center;
  transition: transform 0.3s cubic-bezier(0, 0, 0.59, 1.74);
}
@media screen and (max-width: 768px) {
  .c-page-kv__nav-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.c-page-kv__nav-icon svg {
  width: 0.75rem;
  height: 0.75rem;
  transform: rotate(90deg);
}

.c-page-kv__lead-block {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 25rem 1fr;
  padding: 7.5rem 7.5rem 2.5rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-page-kv__lead-block {
    padding: 3.375rem 1.25rem 0;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.c-page-kv__lead {
  font-size: 2rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .c-page-kv__lead {
    font-size: 1.25rem;
  }
}

.c-page-kv__text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-page-kv__text {
    font-size: 1rem;
  }
}

.c-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5rem;
}

.c-pager__list {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-pager__list {
    gap: 0.5rem;
  }
}

.c-pager__link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #372828;
  width: 2rem;
  height: 2.625rem;
}
@media screen and (max-width: 768px) {
  .c-pager__link {
    width: 1.25rem;
    height: 2.125rem;
    font-size: 0.875rem;
  }
}
.c-pager__link:hover {
  opacity: 0.7;
}
.c-pager__link.is-current {
  color: #228C5B;
  border-bottom: 1px solid;
  pointer-events: none;
}

.c-pager__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.625rem;
  height: 2.625rem;
  background-color: #228C5B;
  border: none;
  border-radius: 2rem;
  opacity: 1;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-pager__arrow {
    width: 3.625rem;
    height: 1.625rem;
  }
}
.c-pager__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}
.c-pager__arrow svg {
  width: 0.75rem;
  fill: #FEFFCF;
  stroke: #FEFFCF;
}

.c-pager__arrow--prev svg {
  transform: scaleX(-1);
}

.c-schedule {
  padding: 10rem 10rem 0;
  display: grid;
  gap: 4.75rem;
}
@media screen and (max-width: 768px) {
  .c-schedule {
    padding: 7.5rem 1rem 0;
  }
}

.c-schedule-block {
  display: grid;
  gap: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .c-schedule-block {
    gap: 3.75rem;
  }
}

.c-schedule-block__block {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 37.5rem 1fr;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .c-schedule-block__block {
    grid-template-columns: 1fr;
  }
}
.c-schedule-block__block:last-of-type .c-schedule-block_text-block::before {
  display: none;
}

.c-schedule-block__img {
  display: grid;
  gap: 6.25rem;
}
@media screen and (max-width: 768px) {
  .c-schedule-block__img {
    grid-row: 2/3;
    gap: 2.5rem;
  }
}
.c-schedule-block__img img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.c-schedule-block__content {
  display: flex;
  flex-flow: column;
  gap: 0.625rem;
  min-height: 100%;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .c-schedule-block__content {
    display: contents;
  }
}

.c-schedule-block_text-block-inner {
  display: contents;
}
.c-schedule-block_text-block-inner:not(:first-child) {
  display: grid;
  gap: 0.625rem;
  margin-top: 1.5rem;
}

.c-schedule-block__time {
  display: flex;
  gap: 1rem;
  font-family: "Borel", cursive;
  font-size: 3rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-schedule-block__time {
    grid-row: 1/2;
    font-size: 2.25rem;
  }
}
.c-schedule-block__time img {
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-schedule-block__time img {
    width: 2rem;
    height: 2rem;
  }
}
.c-schedule-block__time span {
  border-bottom: 1px solid;
  margin-top: 0.3em;
}

.c-schedule-block_text-block {
  padding: 1.875rem 0 2.5rem 4.375rem;
  display: flex;
  flex-flow: column;
  gap: 0.75rem;
  align-items: flex-start;
  position: relative;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .c-schedule-block_text-block {
    padding: 0 1rem;
  }
}
.c-schedule-block_text-block::before {
  content: "";
  display: block;
  width: 0.375rem;
  height: 100%;
  border-radius: 0.375rem;
  background-color: #D4D0CA;
  position: absolute;
  top: 0;
  left: 1rem;
  transform: scaleY(var(--line-progress, 0));
  transform-origin: top;
}
@media screen and (max-width: 768px) {
  .c-schedule-block_text-block::before {
    display: none;
  }
}
.c-schedule-block_text-block img {
  margin: 3rem 0 0.5rem;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-schedule-block_text-block img {
    margin: 1.75rem 0 0.5rem;
  }
}

.c-schedule-block__lead {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.8;
  padding-left: 1.5rem;
  position: relative;
}
.c-schedule-block__lead::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: rgba(34, 140, 91, 0.3);
  position: absolute;
  top: 0.5rem;
  left: 0;
}
.c-schedule-block__lead + p:not(.c-schedule-block__lead) {
  padding-left: 1.5rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-schedule-block__lead + p:not(.c-schedule-block__lead) {
    padding: 0;
    font-size: 1rem;
  }
}

.c-section-title {
  display: grid;
  place-content: center;
}
.c-section-title span {
  background-color: #fff;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  padding: 0.25rem 2rem;
}
@media screen and (max-width: 768px) {
  .c-section-title span {
    padding: 0.25rem 1.25rem 0.125rem;
    font-size: 1.125rem;
  }
}

.c-slide-block {
  display: grid;
  grid-template-areas: "track track track" "prev pagination next";
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem 2.5rem;
}
.c-slide-block .splide__track {
  grid-area: track;
  border-radius: 1.25rem;
  overflow: hidden;
}
.c-slide-block .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
}
.c-slide-block .splide__arrows {
  display: contents;
}
.c-slide-block .splide__arrow {
  position: static;
  transform: none;
  width: 5.625rem;
  height: 2.625rem;
  background-color: #228C5B;
  opacity: 1;
  border-radius: 1.25rem;
}
.c-slide-block .splide__arrow:disabled {
  opacity: 0.3;
}
.c-slide-block .splide__arrow svg {
  width: 0.75rem;
  fill: #FEFFCF;
  stroke: #FEFFCF;
}
.c-slide-block .splide__arrow--prev {
  grid-area: prev;
  left: auto;
  margin-left: auto;
}
.c-slide-block .splide__arrow--prev svg {
  transform: none;
}
.c-slide-block .splide__arrow--next {
  grid-area: next;
  right: auto;
}
.c-slide-block .splide__arrow--next svg {
  transform: scaleX(-1);
}
.c-slide-block .splide__pagination {
  grid-area: pagination;
  position: static;
  justify-content: center;
  padding: 0;
}
.c-slide-block .splide__pagination__page {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0 0.1875rem;
  background-color: rgba(34, 140, 91, 0.3);
  opacity: 1;
  transition: width 0.2s, background-color 0.2s;
}
.c-slide-block .splide__pagination__page.is-active {
  width: 1.25rem;
  border-radius: 62.4375rem;
  background-color: #228C5B;
  transform: none;
}

.c-timeline {
  padding: 10rem 7.5rem 0;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .c-timeline {
    padding: 7.5rem 1.25rem 0;
  }
}

.c-timeline__content {
  display: grid;
  gap: 5rem;
  grid-template-columns: 37.5rem 1fr;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .c-timeline__content {
    grid-template-columns: 1fr;
  }
}

.c-timeline__imgs {
  display: grid;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .c-timeline__imgs {
    display: none;
  }
}
.c-timeline__imgs img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.c-timeline__list {
  display: grid;
  gap: 1.25rem;
}

.c-timeline__item {
  display: grid;
  grid-template-columns: 10rem 1fr;
  align-items: flex-start;
  position: relative;
  height: calc(var(--h) * 1rem / 16);
}
@media screen and (max-width: 768px) {
  .c-timeline__item {
    height: auto !important;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.c-timeline__item:last-child:after {
  display: none;
}
.c-timeline__item::after {
  content: "";
  display: block;
  width: 0.375rem;
  height: calc(100% - 3.875rem);
  border-radius: 0.375rem;
  background-color: #D4D0CA;
  position: absolute;
  top: 3.875rem;
  left: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .c-timeline__item::after {
    display: none;
  }
}

.c-timeline__time {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-family: "Borel", cursive;
  font-size: 2rem;
  line-height: 1;
}
.c-timeline__time img {
  width: 2rem;
  height: 2rem;
}
.c-timeline__time span {
  border-bottom: 1px solid;
  margin-top: 0.3em;
}

.c-timeline__time--2 {
  display: grid;
  gap: 0.875rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-timeline__time--2 {
    display: flex;
    align-items: baseline;
  }
}

span.c-timeline__time-split {
  margin: 1.8125rem 0 -2.0625rem -1.4375rem;
  border-bottom: none !important;
  transform: rotate(90deg);
}
@media screen and (max-width: 768px) {
  span.c-timeline__time-split {
    margin: 0;
    transform: rotate(0);
  }
}

.c-timeline__text-block {
  font-size: 1.125rem;
  line-height: 1.8;
  display: grid;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-timeline__text-block {
    padding: 0 0 2.5rem 0.75rem;
    font-size: 1rem;
  }
}

.c-timeline__lead {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.8;
  padding-left: 1.5rem;
  position: relative;
}
.c-timeline__lead::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: rgba(34, 140, 91, 0.3);
  position: absolute;
  top: 0.5rem;
  left: 0;
}
.c-timeline__lead + p {
  padding-left: 1.5rem;
}
.c-timeline__lead:not(:first-child) {
  margin-top: 2rem;
}

.c-timeline__block-img {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-timeline__block-img {
    display: block;
    margin: 1.5rem 0 0;
    border-radius: 1.25rem;
  }
}

.c-zoom-img {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
}

.c-zoom-img__icon {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-zoom-img__icon {
    display: block;
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    width: 2rem;
  }
}

.c-zoom-img__overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(62, 55, 42, 0.6);
  overflow: auto;
  padding: 3.5625rem 0;
}
.c-zoom-img__overlay.is-open {
  display: block;
}
.c-zoom-img__overlay img {
  display: block;
  height: 100dvh;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  background: url(../img/bg.webp);
  background-size: 5.1875rem;
}

.c-zoom-img__close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 1.8125rem;
  height: 1.8125rem;
  background: rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 50%;
  cursor: pointer;
}
.c-zoom-img__close::before, .c-zoom-img__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.8125rem;
  height: 0.125rem;
  border-radius: 0.125rem;
  background: #fff;
}
.c-zoom-img__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-zoom-img__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-access-facility {
  padding: 7.5rem 15rem;
}
@media screen and (max-width: 768px) {
  .p-access-facility {
    padding: 3.75rem 1.25rem 6.25rem;
  }
}

.p-access-facility {
  display: grid;
  gap: 10rem;
}
@media screen and (max-width: 768px) {
  .p-access-facility {
    gap: 5rem;
  }
}

.p-access-facility__block {
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-access-facility__block {
    gap: 0.5rem;
  }
}

.p-access-facility__map {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-access-facility__map {
    margin-top: 2rem;
  }
}
.p-access-facility__map iframe {
  width: 100%;
  aspect-ratio: 2/1;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-access-facility__map iframe {
    aspect-ratio: 4/3;
  }
}

.p-access-bus {
  padding: 2.5rem 15rem;
  display: grid;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-access-bus {
    padding: 0 1.25rem;
    gap: 2.5rem;
  }
}

.p-access-bus__content {
  display: grid;
  gap: 2.5rem;
}

.p-access-bus__lead {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-access-bus__lead {
    font-size: 1rem;
  }
}

.p-access-bus__area-list {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .p-access-bus__area-list {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

.p-access-bus__area-card {
  background-color: #FDFDF9;
  border-radius: 1.25rem;
  padding: 0.5rem;
}
.p-access-bus__area-card:nth-of-type(1) .p-access-bus__area-name {
  background-color: #B2E9B4;
}
.p-access-bus__area-card:nth-of-type(2) .p-access-bus__area-name {
  background-color: #6FC9C1;
}
.p-access-bus__area-card:nth-of-type(3) .p-access-bus__area-name {
  background-color: #CCCB66;
}

.p-access-bus__area-name {
  text-align: center;
  font-weight: 500;
  padding: 0.125rem 1rem 0;
  border-radius: 1.25rem;
}

.p-access-bus__area-text {
  padding: 1.25rem 0.75rem;
  line-height: 1.6;
}

.p-access-bnr {
  padding-top: 8.75rem;
  padding-bottom: 8.75rem;
}
@media screen and (max-width: 768px) {
  .p-access-bnr {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p-facility-three {
  padding: 2.5rem 6.375rem 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-facility-three {
    padding: 0 0 5rem;
  }
}

.p-facility-three__item-inner {
  padding: 2.5rem 2rem 5rem;
  display: grid;
  grid-template-columns: 37.1875rem 1fr;
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-facility-three__item-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 1.25rem;
  }
}

.p-facility-three__img {
  position: relative;
}

.p-facility-three__age {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  color: #228C5B;
  width: 15.1875rem;
  height: 7.9375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5625rem;
  font-weight: 500;
  position: absolute;
  top: -3.5rem;
  left: -4.5rem;
  background: url(../img/top_age-bg01.svg) no-repeat center/contain;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-facility-three__age {
    width: 10.375rem;
    height: 5.4375rem;
    font-size: 1.0625rem;
    gap: 0.3125rem;
    top: -4rem;
    left: -2rem;
    padding: 0.5rem 0 0;
  }
}
.p-facility-three__age span {
  font-family: "Borel", cursive;
  font-size: 2.5rem;
  line-height: 1;
  transform: translateY(0.25em);
}
@media screen and (max-width: 768px) {
  .p-facility-three__age span {
    font-size: 2.1875rem;
    transform: translateY(0.2em);
  }
}

.p-facility-three__texts {
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-facility-three__texts {
    gap: 1.25rem;
  }
}
.p-facility-three__texts .c-note-wrap {
  display: grid;
  gap: 0.5rem;
}

.p-facility-three__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}
.p-facility-three__title:not(:first-child) {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-facility-three__title {
    font-size: 1.375rem;
  }
}

.p-facility-three__title--sub {
  display: block;
  font-size: 0.875rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-facility-three__title--sub {
    font-size: 0.8125rem;
  }
}

.p-facility-three__text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-facility-three__text {
    font-size: 1rem;
  }
}

.p-facility-three-five__age {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  color: #228C5B;
  width: 15.1875rem;
  height: 7.9375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5625rem;
  font-weight: 500;
  position: absolute;
  top: -9.125rem;
  left: 5.75rem;
  background: url(../img/top_age-bg01.svg) no-repeat center/contain;
  z-index: 11;
}
@media screen and (max-width: 768px) {
  .p-facility-three-five__age {
    width: 10.375rem;
    height: 5.4375rem;
    font-size: 1.0625rem;
    gap: 0.3125rem;
    top: -8.625rem;
    left: -1.125rem;
    padding: 0.5rem 0 0;
  }
}
.p-facility-three-five__age span {
  font-family: "Borel", cursive;
  font-size: 2.5rem;
  line-height: 1;
  transform: translateY(0.25em);
}
@media screen and (max-width: 768px) {
  .p-facility-three-five__age span {
    font-size: 2.1875rem;
    transform: translateY(0.2em);
  }
}

.p-facility-farm {
  padding: 11.25rem 7.5rem 0;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-facility-farm {
    padding: 7.5rem 1rem 0;
    gap: 2.5rem;
  }
}

.p-facility-farm__content {
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-facility-farm__content {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.p-facility-farm__text-box {
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-facility-farm__text-box {
    gap: 1.25rem;
    padding: 0 1rem;
  }
}

.p-facility-farm__lead {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-facility-farm__lead {
    font-size: 1.25rem;
  }
}

.p-facility-farm__text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-facility-farm__text {
    font-size: 1rem;
  }
}

.p-facility-club {
  padding: 10rem 7.5rem 0;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-facility-club {
    padding: 7.5rem 1rem 0;
    gap: 2.5rem;
  }
}

.p-facility-club__content {
  display: grid;
  gap: 2.875rem;
}

.p-facility-club__lead {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-facility-club__lead {
    padding: 0 1rem;
    font-size: 1rem;
  }
}

.p-facility-club__list {
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-facility-club__list {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.p-facility-club__item {
  display: grid;
  gap: 1.25rem;
}

.p-facility-club__img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.p-facility-club__text-block {
  padding: 0 0.75rem;
  display: grid;
  gap: 0.625rem;
}

.p-facility-club__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-facility-club__title {
    font-size: 1.25rem;
  }
}

.p-facility-club__text {
  line-height: 1.8;
}

.p-facility__bnr {
  padding-top: 11.25rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 768px) {
  .p-facility__bnr {
    padding-top: 5rem;
    padding-bottom: 7.5rem;
  }
}

.p-info-wrap {
  padding: 2.5rem 15rem 3.75rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-info-wrap {
    font-size: 1rem;
    padding: 0 1.5rem;
  }
}

.p-info-list {
  display: grid;
  gap: 0.75rem;
  font-size: 1.0625rem;
}
@media screen and (max-width: 768px) {
  .p-info-list {
    font-size: 1rem;
  }
}

.p-info-list__title {
  font-weight: 500;
}

.p-info-list__list {
  display: grid;
  gap: 0.75rem;
}

.p-info-list__item {
  line-height: 1.6;
  padding-left: 1.125rem;
  position: relative;
}
.p-info-list__item::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background-color: #D4D0CA;
  border-radius: 50%;
  position: absolute;
  top: 0.375rem;
  left: 0;
}

.p-info-use {
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-info-use {
    gap: 2.5rem;
  }
}

.p-info-use__block {
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-info-use__block {
    gap: 1.25rem;
  }
}
.p-info-use__block:not(:first-of-type) {
  padding-top: 0.75rem;
}

.p-info-use__block-title {
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-info-use__block-title {
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
  }
}

.p-info-use__text {
  display: grid;
  gap: 1.25rem;
}

@media screen and (max-width: 768px) {
  .p-info-use__img {
    margin-bottom: 2.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-info-use__img img {
    width: 100%;
  }
}

.p-info-use__pdf-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}
.p-info-use__pdf-link:hover p {
  animation: u-pdf-underline 0.6s ease-in-out;
}
.p-info-use__pdf-link p {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom 0.25rem;
  background-size: 100% 1px;
}
.p-info-use__pdf-link img {
  width: 1.25rem;
  height: 1.25rem;
}

.p-info-time {
  padding: 10rem 0 0;
  display: grid;
  gap: 3rem;
}

.p-info-time__schedule-wrap {
  overflow: hidden;
  margin: 0 -1.5rem;
}

.p-info-time__schedule {
  padding: 0.75rem 0;
  position: relative;
  padding-left: 3.5625rem;
}
@media screen and (max-width: 768px) {
  .p-info-time__schedule {
    display: flex;
    overflow-x: scroll;
    padding-left: 0;
    margin-left: 0.5rem;
  }
}

.p-info-time__time {
  height: 40rem;
  position: absolute;
  bottom: 0.75rem;
  left: 0;
}
.p-info-time__time img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-info-time__time {
    position: sticky;
    bottom: auto;
    z-index: 1;
    flex-shrink: 0;
    padding: 0 0.5rem;
    background-color: #EEF0E2;
    height: 32.5rem;
  }
}

.p-info-time__schedule-texts {
  padding: 0 1.5rem 0 3.5625rem;
}

.p-info-time__text--min {
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .p-info-time__text--min {
    font-size: 0.9375rem;
  }
}

.p-info-time__timeline {
  height: 40rem;
  width: 58.9375rem;
}
.p-info-time__timeline img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-info-time__timeline {
    flex-shrink: 0;
    height: 32.5rem;
    width: 47.875rem;
  }
}

.p-info-time__block {
  display: grid;
  gap: 1.25rem;
}

.p-info-time__table img {
  width: calc(var(--w) / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .p-info-time__table img {
    width: 100%;
  }
}

.p-info-time__block-title {
  font-weight: 500;
  padding: 0.25rem 0.5rem 0.0625rem;
  border: 1px solid;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.25rem;
  line-height: 1.6;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .p-info-time__block-title {
    width: 100%;
    text-align: center;
  }
}

.p-info-time__group {
  display: grid;
  gap: 0.25rem;
}

.p-info-time__group--apple .p-info-time__img02-title--apple {
  margin-top: 2.25rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-info-time__group--apple .p-info-time__img02-title--apple {
    width: 100%;
    margin-top: 1rem;
    font-size: 0.9375rem;
  }
}

.p-info-time__group-title {
  font-weight: 500;
}

.p-info-time__group-title--min {
  font-weight: 500;
  font-size: 1rem;
}

.p-info-time__group-list-item {
  padding-left: 1em;
  line-height: 1.6;
  position: relative;
}
.p-info-time__group-list-item::before {
  content: "・";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.p-info-time__group-list-item--min {
  font-size: 1rem;
  padding-left: 1em;
  position: relative;
}
.p-info-time__group-list-item--min::before {
  content: "・";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

/*
.p-info-time__table{
    font-size: rem(14px);
    width: fit-content;
    justify-self: start;
    border-collapse: separate;
    border-spacing: 1px;
    th, td{
        background: $c-bg_default;
    }
    th{
        padding: rem(10px) rem(20px);
        background-color: $c-bg_table-th;    vertical-align: middle;
    }
    td{
        padding: rem(10px);
        background-color: $c-bg_table-td;    vertical-align: middle;
    }
}
*/
.p-info-map {
  padding: 10rem 0 0;
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-info-map {
    padding: 7.5rem 0 0;
  }
}

.p-info-map__text {
  margin-top: 1.25rem;
}

.p-info-uniform {
  padding: 10rem 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-info-uniform {
    padding: 5rem 1.25rem 0;
  }
}

.p-info-uniform__inner {
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 5rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-info-uniform__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    margin-top: 2.5rem;
  }
}

.p-info-uniform__img {
  border-radius: 1rem;
  overflow: hidden;
}

.p-info-uniform__textarea {
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-info-uniform__textarea {
    gap: 0.875rem;
  }
}

.p-info-uniform__lead {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.75rem;
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-info-uniform__lead {
    font-size: 1.25rem;
    line-height: 1.6;
  }
}

.p-info-uniform__text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-info-uniform__text {
    font-size: 1rem;
  }
}

.p-info-bnr {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-info-bnr {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.p-news-kv {
  padding: 15.3125rem 5rem 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-news-kv {
    padding: 6.5rem 1.5rem 1.5rem;
    display: grid;
    gap: 1rem;
  }
}

.p-news-kv__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 2.75rem;
  line-height: 1.2;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-news-kv__title {
    font-size: 2rem;
  }
}

.p-news-kv__categorys {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-news-kv__categorys {
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
  }
}

.p-news-kv__category-title {
  margin-right: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-news-kv__category-title {
    margin-right: 0;
    width: 100%;
  }
}

.p-news-kv__category {
  color: #228C5B;
  background-color: rgba(255, 255, 255, 0.8);
  min-width: 6.75rem;
  text-align: center;
  padding: 0.5rem 0.25rem 0.3125rem;
  border-radius: 1.5rem;
  border: 1px solid #228C5B;
  transition: background-color 0.3s;
}
.p-news-kv__category:hover, .p-news-kv__category:focus {
  background-color: rgba(34, 140, 91, 0.1);
}
@media screen and (max-width: 768px) {
  .p-news-kv__category {
    padding: 0.25rem 0.25rem 0.125rem;
    font-size: 0.75rem;
    min-width: 5rem;
  }
}
.p-news-kv__category.is-current {
  background-color: #228C5B;
  color: #fff;
}

.p-news__content {
  padding: 5rem 7.5rem 0;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-news__content {
    padding: 2.5rem 1.25rem 0;
  }
}

.p-news-bnr {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-news-bnr {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}

.p-preschool-news {
  padding: 10rem 7.5rem 7.5rem;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-news {
    padding: 2.5rem 1.25rem 5rem;
    gap: 2.5rem;
  }
}

.p-preschool-program {
  padding: 2.5rem 6.375rem 5rem;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-program {
    padding: 0;
    gap: 2.5rem;
  }
}

.p-preschool-program__content {
  display: grid;
  gap: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__content {
    gap: 5rem;
  }
}

.p-preschool-program__block-inner {
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__block-inner {
    gap: 1.25rem;
  }
}

.p-preschool-program__lead-block {
  padding: 3.75rem 3.75rem 2.5rem 2.5rem;
  display: grid;
  gap: 7.5rem;
  grid-template-columns: 35rem 1fr;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__lead-block {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 1.25rem 1.25rem 0;
  }
}

.p-preschool-program__img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.p-preschool-program__text-block {
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__text-block {
    gap: 1.25rem;
    padding: 0 0.75rem;
  }
}

.p-preschool-program__lead {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__lead {
    font-size: 1.375rem;
  }
}

.p-preschool-program__text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__text {
    font-size: 1rem;
  }
}

.p-preschool-program__info {
  padding: 0 10rem 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-program__info {
    padding: 0 1.25rem;
  }
}

.p-preschool-program__tel {
  color: #228C5B;
  font-size: 1.375rem;
  font-weight: 700;
}
.p-preschool-program__tel::after {
  width: 1rem !important;
  height: 1rem !important;
}

.p-preschool-bnr {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-preschool-bnr {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.p-single-kv {
  padding: 15.3125rem 7.5rem 5rem;
  display: grid;
  grid-template-columns: 37.375rem 1fr;
  gap: 6.25rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-single-kv {
    grid-template-columns: 1fr;
    padding: 6rem 1.25rem 1.5rem;
    gap: 1.5rem;
  }
}

.p-single-kv__img {
  -webkit-mask: url(../img/news_kv-mask.webp) center center/100% 100% no-repeat;
          mask: url(../img/news_kv-mask.webp) center center/100% 100% no-repeat;
  aspect-ratio: 386/277;
}
.p-single-kv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-single-kv__headline {
  display: grid;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-kv__headline {
    gap: 1rem;
  }
}

.p-single-kv__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-single-kv__title {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  .p-single-kv__data {
    font-size: 0.875rem;
  }
}

.p-single-kv__category {
  color: #228C5B;
  border: 1px solid;
  padding: 0.3125rem 0.3125rem 0.1875rem;
  width: 6.5rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.4;
  border-radius: 0.5rem;
  display: grid;
  place-content: center;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 768px) {
  .p-single-kv__category {
    padding: 0.25rem 0.25rem 0.125rem;
    font-size: 0.75rem;
    width: 5rem;
  }
}

.p-single__content {
  padding: 2.5rem 7.5rem;
  max-width: 72.5rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p-single__content {
    padding: 0 1.25rem 2.5rem;
  }
}
.p-single__content h2 {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: #228C5B;
  margin: 3em 0 2em;
  position: relative;
}
.p-single__content h2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: #C1C804;
  -webkit-mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
          mask: url(../img/dot_border.webp) repeat-x left center/auto 2px;
}
@media screen and (max-width: 768px) {
  .p-single__content h2 {
    font-size: 1.25rem;
  }
}
.p-single__content h3 {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 2em 0 0;
}
@media screen and (max-width: 768px) {
  .p-single__content h3 {
    font-size: 1.125rem;
  }
}
.p-single__content h4 {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  margin: 1.5em 0 0;
}
@media screen and (max-width: 768px) {
  .p-single__content h4 {
    font-size: 1.0625rem;
  }
}
.p-single__content p {
  margin: 1.5em 0 0;
}
.p-single__content img {
  margin: 2em 0 0;
  border-radius: 1.25rem;
}
.p-single__content ul {
  margin: 2em 0 0;
}
.p-single__content ul li {
  padding-left: 1.125em;
  position: relative;
}
.p-single__content ul li::before {
  content: "";
  display: block;
  width: 0.625em;
  height: 0.625em;
  background-color: rgba(34, 140, 91, 0.3);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.6em;
}
.p-single__content ol {
  margin: 2em 0 0;
  counter-reset: olcountor;
}
.p-single__content ol li {
  padding-left: 1.125em;
  position: relative;
  counter-increment: olcountor;
}
.p-single__content ol li::before {
  content: counter(olcountor);
  font-weight: 500;
  color: #228C5B;
  position: absolute;
  left: 0;
  top: 0;
}
.p-single__content blockquote {
  background-color: rgba(34, 140, 91, 0.1);
  padding: 1.25rem;
  border-left: 1px solid #228C5B;
  margin: 2em 0 0;
}
.p-single__content blockquote p {
  margin: 0;
}
.p-single__content strong {
  font-weight: 700;
}
.p-single__content a {
  color: #228C5B;
}

.p-single__application {
  display: block;
  margin-top: 2.5rem;
  padding: 1.5rem 1.25rem;
  background-color: #fff;
  max-width: 20rem;
  display: grid;
  grid-template-columns: 1fr 2.25rem;
  align-items: center;
  text-align: center;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  border-radius: 1.25rem;
}
.p-single__application:hover .p-single__application-icon {
  transform: scale(1.2);
}

.p-single__application-icon {
  background-color: #228C5B;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-content: center;
  transform-origin: center center;
  transition: transform 0.3s cubic-bezier(0, 0, 0.59, 1.74);
}
.p-single__application-icon svg {
  width: 1rem;
  height: 1rem;
  fill: #F5F5DB;
  transform: rotate(-45deg);
}

.p-single__btn {
  padding: 7.5rem 0 0;
  display: grid;
  place-content: center;
}
.p-single__btn a {
  flex-flow: row-reverse;
}
.p-single__btn a svg {
  transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .p-single__btn {
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-skill__kv .c-page-kv__content {
    bottom: 3.125rem;
  }
}

.p-skill-lead {
  padding: 6.25rem 7.5rem 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-skill-lead {
    padding: 3.75rem 1.25rem 6.625rem;
  }
}

.p-skill-lead__head {
  text-align: center;
}

.p-skill-lead__title {
  font-size: 3rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__title {
    font-size: 2.25rem;
  }
}
.p-skill-lead__title span {
  color: #228C5B;
  font-family: "Borel", cursive;
  font-size: 5.125rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__title span {
    font-size: 3.75rem;
  }
}

.p-skill-lead__sub-title {
  font-size: 1.25rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: #228C5B;
  margin-top: -1em;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__sub-title {
    font-size: 1rem;
  }
}

.p-skill-lead__head-text {
  margin-top: 2.5rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__head-text {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.p-skill-lead__list {
  display: grid;
  gap: 3.75rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 5.8125rem;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__list {
    grid-template-columns: 1fr;
    margin-top: 2.5rem;
  }
}

.p-skill-lead__item:nth-of-type(1) .p-skill-lead__no {
  background: url(../img/skills_no-bg01.webp) no-repeat center center/cover;
}
.p-skill-lead__item:nth-of-type(2) .p-skill-lead__no {
  background: url(../img/skills_no-bg02.webp) no-repeat center center/cover;
}
.p-skill-lead__item:nth-of-type(3) .p-skill-lead__no {
  background: url(../img/skills_no-bg03.webp) no-repeat center center/cover;
}

.p-skill-lead__img {
  position: relative;
}
.p-skill-lead__img img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.p-skill-lead__no {
  display: block;
  font-family: "Borel", cursive;
  font-size: 1.5rem;
  color: #fff;
  width: 4.6875rem;
  height: 4.6875rem;
  display: grid;
  place-content: center;
  position: absolute;
  top: -1.5625rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__no {
    top: -1.3125rem;
    left: -1.25rem;
  }
}
.p-skill-lead__no span {
  margin-top: 0.6em;
}

.p-skill-lead__item-title {
  background-color: #fff;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: #228C5B;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.25rem 0.125rem;
  margin: 2.5rem 0.75rem 0;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__item-title {
    font-size: 1.25rem;
    margin: 2rem 0 0;
  }
}

.p-skill-lead__item-text {
  line-height: 1.8;
  margin: 1.25rem 0.75rem 0;
}
@media screen and (max-width: 768px) {
  .p-skill-lead__item-text {
    margin: 0.75rem 0 0;
  }
}

.p-skill-self {
  padding: 6.25rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-skill-self {
    padding: 0;
  }
}

.p-skill-self__headline {
  text-align: center;
  color: #FDFDF9;
}

.p-skill-self__subtitle {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.6;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__subtitle {
    font-size: 1rem;
  }
}
.p-skill-self__subtitle::before, .p-skill-self__subtitle::after {
  content: "";
  display: block;
  width: 2px;
  height: 3.5rem;
  background-color: #F6F0E2;
  -webkit-mask: url(../img/dot_border-vertical.webp) repeat-y center top/2px auto;
          mask: url(../img/dot_border-vertical.webp) repeat-y center top/2px auto;
  opacity: 0;
}
.p-skill-self__subtitle::before {
  transform: rotate(-37deg) scale(0);
}
.p-skill-self__subtitle::after {
  transform: rotate(37deg) scale(0);
}
.p-skill-self__subtitle span {
  opacity: 0;
  transform: translateY(1.25rem);
}
.p-skill-self__subtitle.is-inview::before {
  animation: p-skill-self-subtitle-poyon-before 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.p-skill-self__subtitle.is-inview::after {
  animation: p-skill-self-subtitle-poyon-after 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.p-skill-self__subtitle.is-inview span {
  animation: p-skill-self-subtitle-text-in 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes p-skill-self-subtitle-text-in {
  0% {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes p-skill-self-subtitle-poyon-before {
  0% {
    transform: rotate(-37deg) scale(0);
    opacity: 0;
  }
  60% {
    transform: rotate(-37deg) scale(1.15);
    opacity: 1;
  }
  100% {
    transform: rotate(-37deg) scale(1);
    opacity: 1;
  }
}
@keyframes p-skill-self-subtitle-poyon-after {
  0% {
    transform: rotate(37deg) scale(0);
    opacity: 0;
  }
  60% {
    transform: rotate(37deg) scale(1.15);
    opacity: 1;
  }
  100% {
    transform: rotate(37deg) scale(1);
    opacity: 1;
  }
}
.p-skill-self__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 3rem;
  line-height: 1;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__title {
    font-size: 2.25rem;
    margin-top: 1.75rem;
  }
}
.p-skill-self__title span {
  font-family: "Borel", cursive;
  font-size: 5.125rem;
  color: #FEFFCF;
}
@media screen and (max-width: 768px) {
  .p-skill-self__title span {
    font-size: 3.75rem;
  }
}

.p-skill-self__links {
  padding: 2.9375rem 7.5rem 0;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 768px) {
  .p-skill-self__links {
    padding: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-skill-self__link {
  background-color: #F5F5DB;
  border-radius: 1.25rem;
  padding: 2rem 0.5rem 2.9375rem;
  height: 14.5rem;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.p-skill-self__link:hover .p-skill-self__link-icon, .p-skill-self__link:focus .p-skill-self__link-icon {
  transform: scale(1.2);
}
@media screen and (max-width: 768px) {
  .p-skill-self__link {
    padding: 1.5rem 0.5rem 2.625rem;
    height: 12.625rem;
  }
}

.p-skill-self__link-text {
  text-align: center;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  color: #228C5B;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-skill-self__link-text {
    font-size: 1rem;
    height: 3.0625rem;
    display: grid;
    place-content: center;
  }
}

.p-skill-self__link-img {
  width: 5.625rem;
  height: 5.625rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__link-img {
    width: 5rem;
    height: 5rem;
  }
}

.p-skill-self__link-icon {
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #228C5B;
  display: grid;
  place-content: center;
  bottom: 0.5rem;
  right: 0.5rem;
  transform-origin: center center;
  transition: transform 0.3s cubic-bezier(0, 0, 0.59, 1.74);
}
@media screen and (max-width: 768px) {
  .p-skill-self__link-icon {
    width: 1.5rem;
    height: 1.5rem;
    bottom: 0.5rem;
    right: 0.75rem;
  }
}
.p-skill-self__link-icon svg {
  fill: #FBFAF3;
  transform: rotate(90deg);
}
@media screen and (max-width: 768px) {
  .p-skill-self__link-icon svg {
    width: 0.75rem;
  }
}

.p-skill-self__content {
  position: relative;
  padding: 2.5rem 2.75rem;
  margin-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__content {
    margin-top: 7.5rem;
    padding: 0;
  }
}

.p-skill-self__frame {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}

.p-skill-self__frame-inner {
  position: sticky;
  width: 100%;
  height: 100vh;
  border-inline: 2.75rem solid #228C5B;
  border-block: 2.5rem solid #228C5B;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-skill-self__frame-inner {
    border: none;
    height: 100%;
  }
}

.p-skill-self__top,
.p-skill-self__bottom,
.p-skill-self__left,
.p-skill-self__right {
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.p-skill-self__top {
  top: -1px;
  left: 0;
  width: 100%;
  height: 3.625rem;
  background-image: url(../img/frame-fixed_top.svg);
}
@media screen and (max-width: 768px) {
  .p-skill-self__top {
    height: 1rem;
  }
}

.p-skill-self__bottom {
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 3.625rem;
  background-image: url(../img/frame-fixed_bottom.svg);
}
@media screen and (max-width: 768px) {
  .p-skill-self__bottom {
    height: 1rem;
  }
}

.p-skill-self__left {
  top: 0;
  left: -1rem;
  height: 100%;
  width: 3rem;
  background-image: url(../img/frame-fixed_left.svg);
}
@media screen and (max-width: 768px) {
  .p-skill-self__left {
    display: none;
  }
}

.p-skill-self__right {
  top: 0;
  right: -1rem;
  height: 100%;
  width: 3rem;
  background-image: url(../img/frame-fixed_right.svg);
}
@media screen and (max-width: 768px) {
  .p-skill-self__right {
    display: none;
  }
}

.p-skill-self__inner {
  background-color: #FFFBE2;
  padding: 5.625rem 2.5rem 9.6875rem;
  display: grid;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__inner {
    padding: 5rem 1.25rem;
  }
}

.p-skill-self__item {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}
.p-skill-self__item:nth-child(even) {
  flex-flow: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-skill-self__item {
    display: grid;
  }
}

.p-skill-self__img {
  width: 37.5rem;
  flex-shrink: 0;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-skill-self__img {
    width: 100%;
  }
}

.p-skill-self__text-block {
  padding: 0 2.5rem;
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__text-block {
    padding: 0;
    gap: 0.5rem;
  }
}

.p-skill-self__item-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-skill-self__item-title img {
  width: 4.75rem;
  height: 4.75rem;
  transform: scale(0);
}
@media screen and (max-width: 768px) {
  .p-skill-self__item-title img {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.p-skill-self__item-title span {
  background-color: #fff;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: #228C5B;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.25rem;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 768px) {
  .p-skill-self__item-title span {
    font-size: 1.25rem;
    padding: 0.25rem 0.5rem 0.125rem;
  }
}
.p-skill-self__item-title.is-inview img {
  animation: p-skill-self-item-icon-poyon 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.p-skill-self__item-title.is-inview span {
  animation: p-skill-self-item-text-reveal 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes p-skill-self-item-icon-poyon {
  0% {
    transform: scale(0.8);
  }
  60% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes p-skill-self-item-text-reveal {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0% 0 0);
            clip-path: inset(0 0% 0 0);
  }
}
.p-skill-self__item-text {
  font-size: 1.125rem;
  color: #372828;
}
@media screen and (max-width: 768px) {
  .p-skill-self__item-text {
    padding: 0 0.75rem;
    font-size: 1rem;
  }
}

.p-skill-self__btns {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-skill-self__btns {
    padding-top: 0;
  }
}

.p-skill-bnr {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-skill-bnr {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p-top-kv {
  padding: 5.5rem 1.75rem 1.75rem;
  position: relative;
  height: 100svh;
}
@media screen and (max-width: 768px) {
  .p-top-kv {
    padding: 3.5rem 0.75rem 0.75rem;
  }
}

.p-top-kv__inner {
  position: relative;
  height: 100%;
}

.p-top-kv__img {
  -webkit-mask: url(../img/kv_mask.webp) center/contain no-repeat;
          mask: url(../img/kv_mask.webp) center/contain no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-kv__img {
    -webkit-mask: url(../img/kv_mask--sp.webp) center/contain no-repeat;
            mask: url(../img/kv_mask--sp.webp) center/contain no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
  }
}
.p-top-kv__img .splide__track, .p-top-kv__img .splide__list, .p-top-kv__img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-kv__img .splide__slide {
  overflow: hidden;
}
.p-top-kv__img .splide__slide img {
  transform: scale(1);
}
.p-top-kv__img .splide__slide.is-kv-zoom img {
  animation: p-top-kv-zoom 7s linear forwards;
}

@keyframes p-top-kv-zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.08);
  }
}
.p-top-kv__title {
  font-size: 4.3125rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  position: absolute;
  bottom: 5.3125rem;
  left: 5.875rem;
}
.p-top-kv__title .p-top-kv__title-kern {
  margin-left: -0.4em;
}
@media screen and (max-width: 768px) {
  .p-top-kv__title {
    font-size: 2.3125rem;
    line-height: 1.27;
    bottom: 3.625rem;
    left: 1.75rem;
  }
  .p-top-kv__title .p-top-kv__title-kern {
    margin-left: 0;
  }
}

.p-top-kv__title--southern {
  font-size: 4.3125rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.56;
  letter-spacing: 0;
  color: #fff;
  text-shadow: 0px 0.25rem 1.875rem rgba(0, 0, 0, 0.05);
  position: absolute;
  top: 4.625rem;
  right: 2.6875rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__title--southern {
    font-size: 2.3125rem;
    line-height: 1.27;
    top: 3.125rem;
    right: 0;
  }
}

.p-top-lead {
  padding: 8rem 0 12.9375rem 10.0625rem;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-lead {
    padding: 3.75rem 2rem 8.3125rem;
    flex-direction: column;
    gap: 2.5rem;
    overflow: hidden;
  }
}

.p-top-lead__texts {
  flex-shrink: 0;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}

.p-top-lead__title {
  font-size: 2.25rem;
  line-height: 1.8;
  color: #228C5B;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-top-lead__title {
    font-size: 1.75rem;
  }
}

.p-top-lead__text {
  font-size: 1.125rem;
  margin-top: 3.75rem;
  display: grid;
  gap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-lead__text {
    font-size: 1rem;
    line-height: 2;
    gap: 1.75rem;
  }
}

@keyframes puyoPuyo {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.625rem);
  }
}
.p-top-lead__imgs {
  position: relative;
  width: 47.125rem;
  height: 50.0625rem;
}
.p-top-lead__imgs.splide {
  visibility: visible;
}
@media screen and (max-width: 768px) {
  .p-top-lead__imgs {
    width: calc(100% + 4rem);
    height: auto;
    margin: 0 -2rem;
  }
}
.p-top-lead__imgs::before {
  content: "";
  display: block;
  width: 22.125rem;
  height: 21.125rem;
  background: url(../img/top_lead-bg01.webp) no-repeat left center/contain;
  position: absolute;
  z-index: -1;
  left: -2.6875rem;
  bottom: 9.1875rem;
  transform-origin: center;
  animation: puyoPuyo 6s ease-in-out infinite alternate-reverse;
}
@media screen and (max-width: 768px) {
  .p-top-lead__imgs::before {
    width: 14.375rem;
    height: 13.625rem;
    left: -2.625rem;
    bottom: 8.6875rem;
  }
}
.p-top-lead__imgs::after {
  content: "";
  display: block;
  width: 12.75rem;
  height: 12.6875rem;
  background: url(../img/top_lead-bg02.webp) no-repeat left center/contain;
  position: absolute;
  z-index: -1;
  right: -1.9375rem;
  top: 7.625rem;
  transform-origin: center;
  animation: puyoPuyo 10s ease-in-out infinite alternate-reverse;
}
@media screen and (max-width: 768px) {
  .p-top-lead__imgs::after {
    width: 8.125rem;
    height: 8.125rem;
    background-size: cover;
    right: -3.4375rem;
    bottom: 38.5625rem;
  }
}
.p-top-lead__imgs .splide__slide {
  display: grid;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .p-top-lead__imgs .splide__slide {
    width: 15.9375rem;
  }
  .p-top-lead__imgs .splide__slide:nth-child(odd) {
    width: 12.75rem;
    margin-top: 3.5rem;
  }
  .p-top-lead__imgs .splide__slide:nth-child(even) {
    margin-bottom: 3.5rem;
  }
}

.p-top-lead__img {
  position: absolute;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-lead__img {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    flex-shrink: 0;
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .p-top-lead__imgs .splide__track,
  .p-top-lead__imgs .splide__list,
  .p-top-lead__imgs .splide__slide {
    display: contents;
  }
  .p-top-lead__imgs .splide__slide:nth-child(1) .p-top-lead__img {
    width: 16.25rem;
    height: 10.8125rem;
    top: 4.375rem;
    left: 0;
  }
  .p-top-lead__imgs .splide__slide:nth-child(2) .p-top-lead__img {
    width: 20rem;
    height: 13.25rem;
    top: 0;
    left: 18.3125rem;
  }
  .p-top-lead__imgs .splide__slide:nth-child(3) .p-top-lead__img {
    width: 15rem;
    height: 9.9375rem;
    top: 17.125rem;
    left: 11.625rem;
  }
  .p-top-lead__imgs .splide__slide:nth-child(4) .p-top-lead__img {
    width: 29.9375rem;
    height: 19.875rem;
    bottom: 0;
    left: 4.1875rem;
  }
}
.p-top-point {
  padding: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-point {
    padding: 0 0 3.3125rem;
  }
}

.p-top-point__list {
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-point__list {
    gap: 2.5rem;
  }
}

.p-top-point__item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-point__item {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.p-top-point__item:nth-child(even) .p-top-point__imgarea {
  grid-column: 2/3;
}
@media screen and (max-width: 768px) {
  .p-top-point__item:nth-child(even) .p-top-point__imgarea {
    grid-column: 1/2;
  }
}
.p-top-point__item:nth-child(even) .p-top-point__texts {
  grid-column: 1/2;
}
@media screen and (max-width: 768px) {
  .p-top-point__item:nth-child(even) .p-top-point__texts {
    grid-column: 1/2;
  }
}
.p-top-point__item:nth-child(1) .p-top-point__no {
  background: url(../img/top_point-bg01.webp) no-repeat center/contain;
}
.p-top-point__item:nth-child(2) .p-top-point__no {
  background: url(../img/top_point-bg02.webp) no-repeat center/contain;
}
.p-top-point__item:nth-child(3) .p-top-point__no {
  background: url(../img/top_point-bg03.webp) no-repeat center/contain;
}
.p-top-point__item:nth-child(4) .p-top-point__no {
  background: url(../img/top_point-bg04.webp) no-repeat center/contain;
}

.p-top-point__imgarea {
  position: relative;
  padding: 3.25rem 0 0 2.5rem;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media screen and (max-width: 768px) {
  .p-top-point__imgarea {
    padding: 1.9375rem 1.25rem 0;
    grid-column: 1/2;
  }
}

.p-top-point__img {
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-point__img {
    border-radius: 1rem;
  }
}

.p-top-point__no {
  font-family: "Borel", cursive;
  line-height: 1;
  font-size: 2.875rem;
  font-weight: 200;
  width: 6.875rem;
  height: 6.875rem;
  display: grid;
  place-content: center;
  position: absolute;
  top: 0;
  left: 0;
  color: #F5F5DB;
}
@media screen and (max-width: 768px) {
  .p-top-point__no {
    width: 4.375rem;
    height: 4.375rem;
    font-size: 1.5rem;
    left: 0.25rem;
  }
}
.p-top-point__no span {
  margin-top: 1.8125rem;
}
@media screen and (max-width: 768px) {
  .p-top-point__no span {
    margin-top: 0.75rem;
  }
}

.p-top-point__texts {
  padding: 3.25rem 3.5rem;
  grid-column: 2/3;
  grid-row: 1/2;
}
@media screen and (max-width: 768px) {
  .p-top-point__texts {
    padding: 0 1.5rem;
    grid-column: 1/2;
    grid-row: 2/3;
    line-height: 1.8;
  }
}

.p-top-point__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-size: 2rem;
  color: #228C5B;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-top-point__title {
    font-size: 1.3125rem;
  }
}

.p-top-point__title-line {
  display: inline-block;
  background-color: #F5F5DB;
  padding: 0.25rem 0 0 0.25rem;
}
@media screen and (max-width: 768px) {
  .p-top-point__title-line {
    padding: 0.125rem 0.25rem 0 0.25rem;
  }
}
.p-top-point__title-line:not(:first-child) {
  margin-top: 0.8125rem;
}

.p-top-point__text {
  font-size: 1.125rem;
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top-point__text {
    line-height: 1.6;
    margin-top: 1.5rem;
    font-size: 1rem;
  }
}

.p-top-policy {
  padding: 13.125rem 0 10rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top-policy {
    padding: 11.875rem 0 3.75rem;
  }
}

.p-top-policy__img {
  width: 25.375rem;
  height: 22.75rem;
  position: absolute;
  top: -6.25rem;
  left: 6.75rem;
  z-index: 11;
}
@media screen and (max-width: 768px) {
  .p-top-policy__img {
    width: 15.8125rem;
    height: 14.1875rem;
    top: -4.9375rem;
    left: -1.9375rem;
  }
}

.p-top-policy__inner {
  padding: 0 15.25rem;
  display: grid;
  gap: 3.75rem;
}
.p-top-policy__inner .c-definition-list__definition, .p-top-policy__inner .c-definition-list__term {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-top-policy__inner .c-definition-list__definition, .p-top-policy__inner .c-definition-list__term {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-policy__inner {
    padding: 0 1.5rem;
    gap: 1.25rem;
  }
}

.p-top-policy__slider {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-policy__slider {
    margin-top: 4.875rem;
  }
}
.p-top-policy__slider .splide__slide {
  border-radius: 1.25rem;
  overflow: hidden;
}
.p-top-policy__slider .splide__slide:nth-child(even) {
  margin-top: 2.5rem;
}
.p-top-policy__slider .splide__slide:nth-child(odd) {
  margin-bottom: 2.5rem;
}

.p-top-policy__facility {
  padding: 0;
  margin-top: 5rem;
}

.p-top-policy__facility-title {
  display: grid;
  grid-template-columns: 13.625rem 1fr;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-policy__facility-title {
    grid-template-columns: 10.625rem 1fr;
  }
}
.p-top-policy__facility-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #372828;
}
.p-top-policy__facility-title span {
  border: 1px solid;
  border-radius: 5rem;
  padding: 0.25rem 1rem 0.125rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top-policy__facility-title span {
    font-size: 0.875rem;
  }
}

.p-top-facility {
  padding: 2.5rem;
  display: grid;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facility {
    padding: 1.5rem 0;
  }
}

.p-top-facility__item:nth-of-type(1) .p-top-facility__age {
  background: url(../img/top_age-bg01.svg) no-repeat center/contain;
}
.p-top-facility__item:nth-of-type(2) .p-top-facility__age {
  padding-top: 1rem;
  background: url(../img/top_age-bg02.svg) no-repeat center/contain;
}

.p-top-facility__item-inner {
  padding: 2.5rem 2.25rem;
  display: grid;
  grid-template-columns: 37.1875rem 1fr;
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facility__item-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 1.25rem 1.25rem 1.75rem;
  }
}

.p-top-facility__img {
  position: relative;
}
.p-top-facility__img img {
  border-radius: 1.25rem;
}

.p-top-facility__age {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  color: #228C5B;
  width: 15.1875rem;
  height: 7.9375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5625rem;
  font-weight: 500;
  position: absolute;
  top: -2.1875rem;
  left: -2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facility__age {
    width: 10.375rem;
    height: 5.4375rem;
    font-size: 1.0625rem;
    gap: 0.3125rem;
    top: -4rem;
    left: -2rem;
    padding: 0.5rem 0 0;
  }
}
.p-top-facility__age span {
  font-family: "Borel", cursive;
  font-size: 2.5rem;
  line-height: 1;
  transform: translateY(0.25em);
}
@media screen and (max-width: 768px) {
  .p-top-facility__age span {
    font-size: 2.1875rem;
    transform: translateY(0.2em);
  }
}

@media screen and (max-width: 768px) {
  .p-top-facility__texts {
    padding: 0 0.75rem;
  }
}

.p-top-facility__title {
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}
.p-top-facility__title:not(:first-child) {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top-facility__title {
    font-size: 1.375rem;
  }
}

.p-top-facility__title--sub {
  display: block;
  font-size: 0.875rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-top-facility__title--sub {
    font-size: 0.8125rem;
  }
}

.p-top-facility__text {
  font-size: 1.125rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facility__text {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.p-top-facility__links {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-facility__links {
    margin-top: 1.25rem;
    gap: 0.75rem;
  }
}

.p-top-interval {
  margin: -3.4375rem 0;
  width: 100%;
  height: 51.75rem;
  overflow: hidden;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .p-top-interval {
    height: 26.4375rem;
  }
}
.p-top-interval img {
  display: block;
  will-change: transform;
  width: 100%;
  height: 62.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top-interval img {
    height: 30.25rem;
  }
}

.p-top-bnr {
  padding-top: 10rem;
  padding-bottom: 8.9375rem;
}
@media screen and (max-width: 768px) {
  .p-top-bnr {
    padding-top: 1.5rem;
    padding-bottom: 5rem;
  }
}

.p-top-access {
  padding: 2.5rem 7.5rem 7.5rem;
  display: flex;
  flex-flow: column;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-access {
    padding: 0 1.25rem 0.125rem;
  }
}

.p-top-access__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-access__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

.p-top-access__img {
  border-radius: 1.25rem;
  overflow: hidden;
}

.p-top-access__texts {
  display: grid;
  gap: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .p-top-access__texts {
    gap: 2rem;
    padding: 0 0.75rem;
  }
}

.p-top-access__text {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-top-access__text {
    font-size: 1rem;
  }
}

.p-top-news {
  position: relative;
  padding: 13.9375rem 13.75rem 15rem;
}
@media screen and (max-width: 768px) {
  .p-top-news {
    padding: 10rem 1.25rem 5rem;
  }
}

.p-top-news__img {
  position: absolute;
  top: -6.25rem;
  left: 6.5625rem;
  width: 25.375rem;
  height: 22.75rem;
  z-index: 11;
}
@media screen and (max-width: 768px) {
  .p-top-news__img {
    width: 12.3125rem;
    height: 11rem;
    top: -1.75rem;
    left: -1.125rem;
  }
}

.p-top-news__btn {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.5rem;
}

.p-top-news__list {
  margin-top: 2.5rem;
}

.p-top-news__item a {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .p-top-news__item a {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem 1.25rem;
    padding: 1.5rem 0;
  }
}
.p-top-news__item a:hover .p-top-news__title, .p-top-news__item a:focus .p-top-news__title {
  color: #228C5B;
}
.p-top-news__item a:hover .p-top-news__title::after, .p-top-news__item a:focus .p-top-news__title::after {
  width: 100%;
}
.p-top-news__item a:hover .p-top-news__data, .p-top-news__item a:focus .p-top-news__data {
  color: #228C5B;
}

.p-top-news__category {
  background-color: #fff;
  width: 8.9375rem;
  flex-shrink: 0;
  display: grid;
  place-content: center;
  font-size: 0.875rem;
  font-family: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: #228C5B;
  border: 1px solid #228C5B;
  border-radius: 0.5rem;
  padding: 0.25rem 0.25rem 0.125rem;
}

.p-top-news__data {
  font-family: "Nunito Sans", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.02em;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top-news__data {
    font-size: 0.875rem;
  }
}

.p-top-news__title {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: color 0.3s;
}
.p-top-news__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top-news__title {
    grid-column: 1/3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    white-space: wrap;
  }
}

.u-align-center {
  text-align: center;
}

@media screen and (max-width: 1200px) {
  .u-xlUp {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .u-lgUp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .u-mdUp {
    display: none;
  }
}

@media screen and (max-width: 576px) {
  .u-smUp {
    display: none;
  }
}

.u-xlUnder {
  display: none;
}
@media screen and (max-width: 1200px) {
  .u-xlUnder {
    display: block;
  }
}

.u-lgUnder {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-lgUnder {
    display: block;
  }
}

.u-mdUnder {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-mdUnder {
    display: block;
  }
}

.u-smUnder {
  display: none;
}
@media screen and (max-width: 576px) {
  .u-smUnder {
    display: block;
  }
}

.u-hidden {
  display: none;
  visibility: hidden;
}

.u-display-none {
  display: none;
}

.u-frame {
  margin: 2.75rem 3.4375rem;
  position: relative;
  background-color: #FFFBE2;
  color: #372828;
}
@media screen and (max-width: 768px) {
  .u-frame {
    margin: 2.75rem 0;
  }
}
.u-frame::before, .u-frame::after {
  content: "";
  display: block;
  width: 100%;
  height: 3.4375rem;
  position: absolute;
  left: 0;
}
.u-frame::before {
  background: url(../img/frame_top.webp) no-repeat center/100% 100%;
  top: -3.375rem;
}
@media screen and (max-width: 768px) {
  .u-frame::before {
    background-size: 160% 100%;
  }
}
.u-frame::after {
  background: url(../img/frame_bottom.webp) no-repeat center/100% 100%;
  bottom: -3.375rem;
}
@media screen and (max-width: 768px) {
  .u-frame::after {
    background-size: 160% 100%;
  }
}

.u-frame__inner {
  position: relative;
}
.u-frame__inner::before, .u-frame__inner::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 100%;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 768px) {
  .u-frame__inner::before, .u-frame__inner::after {
    display: none;
  }
}
.u-frame__inner::before {
  background: url(../img/frame_left.webp) no-repeat center/100% 100%;
  left: -2.75rem;
}
.u-frame__inner::after {
  background: url(../img/frame_right.webp) no-repeat center/100% 100%;
  right: -2.75rem;
}

.u-helf-start {
  -webkit-margin-start: -0.3em;
          margin-inline-start: -0.3em;
}

.u-helf-end {
  -webkit-margin-end: -0.3em;
          margin-inline-end: -0.3em;
}

.u-helf {
  margin-inline: -0.3em;
}

.u-indent {
  display: inline-block;
  text-indent: inherit;
}
.u-indent::after {
  content: ".";
  display: inline-block;
  width: 0;
  color: transparent;
  pointer-events: none;
}

.u-mb-0 {
  margin-bottom: 0px;
}

.u-mb-8 {
  margin-bottom: 8px;
}

.u-mb-16 {
  margin-bottom: 16px;
}

.u-mb-24 {
  margin-bottom: 24px;
}

.u-mb-32 {
  margin-bottom: 32px;
}

.u-mb-40 {
  margin-bottom: 40px;
}

.u-mb-48 {
  margin-bottom: 48px;
}

.u-mb-56 {
  margin-bottom: 56px;
}

.u-mb-64 {
  margin-bottom: 64px;
}

.u-mb-72 {
  margin-bottom: 72px;
}

.u-mb-80 {
  margin-bottom: 80px;
}

.u-mt-0 {
  margin-top: 0px;
}

.u-mt-8 {
  margin-top: 8px;
}

.u-mt-16 {
  margin-top: 16px;
}

.u-mt-24 {
  margin-top: 24px;
}

.u-mt-32 {
  margin-top: 32px;
}

.u-mt-40 {
  margin-top: 40px;
}

.u-mt-48 {
  margin-top: 48px;
}

.u-mt-56 {
  margin-top: 56px;
}

.u-mt-64 {
  margin-top: 64px;
}

.u-mt-72 {
  margin-top: 72px;
}

.u-mt-80 {
  margin-top: 80px;
}

.u-ml-0 {
  margin-left: 0px;
}

.u-ml-8 {
  margin-left: 8px;
}

.u-ml-16 {
  margin-left: 16px;
}

.u-ml-24 {
  margin-left: 24px;
}

.u-ml-32 {
  margin-left: 32px;
}

.u-ml-40 {
  margin-left: 40px;
}

.u-ml-48 {
  margin-left: 48px;
}

.u-ml-56 {
  margin-left: 56px;
}

.u-ml-64 {
  margin-left: 64px;
}

.u-ml-72 {
  margin-left: 72px;
}

.u-ml-80 {
  margin-left: 80px;
}

.u-mr-0 {
  margin-right: 0px;
}

.u-mr-8 {
  margin-right: 8px;
}

.u-mr-16 {
  margin-right: 16px;
}

.u-mr-24 {
  margin-right: 24px;
}

.u-mr-32 {
  margin-right: 32px;
}

.u-mr-40 {
  margin-right: 40px;
}

.u-mr-48 {
  margin-right: 48px;
}

.u-mr-56 {
  margin-right: 56px;
}

.u-mr-64 {
  margin-right: 64px;
}

.u-mr-72 {
  margin-right: 72px;
}

.u-mr-80 {
  margin-right: 80px;
}

@media screen and (max-width: 768px) {
  .u-mb-md-0 {
    margin-bottom: 0px;
  }
  .u-mb-md-8 {
    margin-bottom: 8px;
  }
  .u-mb-md-16 {
    margin-bottom: 16px;
  }
  .u-mb-md-24 {
    margin-bottom: 24px;
  }
  .u-mb-md-32 {
    margin-bottom: 32px;
  }
  .u-mb-md-40 {
    margin-bottom: 40px;
  }
  .u-mb-md-48 {
    margin-bottom: 48px;
  }
  .u-mb-md-56 {
    margin-bottom: 56px;
  }
  .u-mb-md-64 {
    margin-bottom: 64px;
  }
  .u-mb-md-72 {
    margin-bottom: 72px;
  }
  .u-mb-md-80 {
    margin-bottom: 80px;
  }
  .u-mt-md-0 {
    margin-top: 0px;
  }
  .u-mt-md-8 {
    margin-top: 8px;
  }
  .u-mt-md-16 {
    margin-top: 16px;
  }
  .u-mt-md-24 {
    margin-top: 24px;
  }
  .u-mt-md-32 {
    margin-top: 32px;
  }
  .u-mt-md-40 {
    margin-top: 40px;
  }
  .u-mt-md-48 {
    margin-top: 48px;
  }
  .u-mt-md-56 {
    margin-top: 56px;
  }
  .u-mt-md-64 {
    margin-top: 64px;
  }
  .u-mt-md-72 {
    margin-top: 72px;
  }
  .u-mt-md-80 {
    margin-top: 80px;
  }
  .u-ml-md-0 {
    margin-left: 0px;
  }
  .u-ml-md-8 {
    margin-left: 8px;
  }
  .u-ml-md-16 {
    margin-left: 16px;
  }
  .u-ml-md-24 {
    margin-left: 24px;
  }
  .u-ml-md-32 {
    margin-left: 32px;
  }
  .u-ml-md-40 {
    margin-left: 40px;
  }
  .u-ml-md-48 {
    margin-left: 48px;
  }
  .u-ml-md-56 {
    margin-left: 56px;
  }
  .u-ml-md-64 {
    margin-left: 64px;
  }
  .u-ml-md-72 {
    margin-left: 72px;
  }
  .u-ml-md-80 {
    margin-left: 80px;
  }
  .u-mr-md-0 {
    margin-right: 0px;
  }
  .u-mr-md-8 {
    margin-right: 8px;
  }
  .u-mr-md-16 {
    margin-right: 16px;
  }
  .u-mr-md-24 {
    margin-right: 24px;
  }
  .u-mr-md-32 {
    margin-right: 32px;
  }
  .u-mr-md-40 {
    margin-right: 40px;
  }
  .u-mr-md-48 {
    margin-right: 48px;
  }
  .u-mr-md-56 {
    margin-right: 56px;
  }
  .u-mr-md-64 {
    margin-right: 64px;
  }
  .u-mr-md-72 {
    margin-right: 72px;
  }
  .u-mr-md-80 {
    margin-right: 80px;
  }
}
@media screen and (min-width: 769px) {
  .u-mb-mdOver-0 {
    margin-bottom: 0px;
  }
  .u-mb-mdOver-8 {
    margin-bottom: 8px;
  }
  .u-mb-mdOver-16 {
    margin-bottom: 16px;
  }
  .u-mb-mdOver-24 {
    margin-bottom: 24px;
  }
  .u-mb-mdOver-32 {
    margin-bottom: 32px;
  }
  .u-mb-mdOver-40 {
    margin-bottom: 40px;
  }
  .u-mb-mdOver-48 {
    margin-bottom: 48px;
  }
  .u-mb-mdOver-56 {
    margin-bottom: 56px;
  }
  .u-mb-mdOver-64 {
    margin-bottom: 64px;
  }
  .u-mb-mdOver-72 {
    margin-bottom: 72px;
  }
  .u-mb-mdOver-80 {
    margin-bottom: 80px;
  }
  .u-mt-mdOver-0 {
    margin-top: 0px;
  }
  .u-mt-mdOver-8 {
    margin-top: 8px;
  }
  .u-mt-mdOver-16 {
    margin-top: 16px;
  }
  .u-mt-mdOver-24 {
    margin-top: 24px;
  }
  .u-mt-mdOver-32 {
    margin-top: 32px;
  }
  .u-mt-mdOver-40 {
    margin-top: 40px;
  }
  .u-mt-mdOver-48 {
    margin-top: 48px;
  }
  .u-mt-mdOver-56 {
    margin-top: 56px;
  }
  .u-mt-mdOver-64 {
    margin-top: 64px;
  }
  .u-mt-mdOver-72 {
    margin-top: 72px;
  }
  .u-mt-mdOver-80 {
    margin-top: 80px;
  }
  .u-ml-mdOver-0 {
    margin-left: 0px;
  }
  .u-ml-mdOver-8 {
    margin-left: 8px;
  }
  .u-ml-mdOver-16 {
    margin-left: 16px;
  }
  .u-ml-mdOver-24 {
    margin-left: 24px;
  }
  .u-ml-mdOver-32 {
    margin-left: 32px;
  }
  .u-ml-mdOver-40 {
    margin-left: 40px;
  }
  .u-ml-mdOver-48 {
    margin-left: 48px;
  }
  .u-ml-mdOver-56 {
    margin-left: 56px;
  }
  .u-ml-mdOver-64 {
    margin-left: 64px;
  }
  .u-ml-mdOver-72 {
    margin-left: 72px;
  }
  .u-ml-mdOver-80 {
    margin-left: 80px;
  }
  .u-mr-mdOver-0 {
    margin-right: 0px;
  }
  .u-mr-mdOver-8 {
    margin-right: 8px;
  }
  .u-mr-mdOver-16 {
    margin-right: 16px;
  }
  .u-mr-mdOver-24 {
    margin-right: 24px;
  }
  .u-mr-mdOver-32 {
    margin-right: 32px;
  }
  .u-mr-mdOver-40 {
    margin-right: 40px;
  }
  .u-mr-mdOver-48 {
    margin-right: 48px;
  }
  .u-mr-mdOver-56 {
    margin-right: 56px;
  }
  .u-mr-mdOver-64 {
    margin-right: 64px;
  }
  .u-mr-mdOver-72 {
    margin-right: 72px;
  }
  .u-mr-mdOver-80 {
    margin-right: 80px;
  }
}
.u-pdf {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom 0.25rem;
  background-size: 100% 1px;
  transition: background-size 0.3s ease, background-position 0.3s ease;
}
.u-pdf:hover {
  animation: u-pdf-underline 0.6s ease-in-out;
}
.u-pdf::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/icon_pdf.webp) no-repeat center center/contain;
  margin-bottom: 0.1em;
}

@keyframes u-pdf-underline {
  0% {
    background-position: right bottom 0.25rem;
    background-size: 100% 1px;
  }
  49% {
    background-position: right bottom 0.25rem;
    background-size: 0% 1px;
  }
  50% {
    background-position: left bottom 0.25rem;
    background-size: 0% 1px;
  }
  100% {
    background-position: left bottom 0.25rem;
    background-size: 100% 1px;
  }
}
.u-section-dark {
  background-color: #228C5B;
  color: #F5F5DB;
}
.u-section-dark .c-section-title {
  color: #372828;
}

.u-section-light {
  background-color: #F5F5DB;
}

.u-section-main-light {
  background-color: #EEF0E2;
}

.u-section-switching {
  margin: 6.625rem 0;
  position: relative;
}
.u-section-switching::before, .u-section-switching::after {
  content: "";
  display: block;
  width: 100%;
  height: 6.625rem;
  background-color: inherit;
  -webkit-mask: url(../img/section-border.webp) center left/cover no-repeat;
          mask: url(../img/section-border.webp) center left/cover no-repeat;
  position: absolute;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .u-section-switching::before, .u-section-switching::after {
    -webkit-mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
            mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
  }
}
.u-section-switching::before {
  top: -6.5625rem;
}
.u-section-switching::after {
  bottom: -6.5625rem;
  transform: scale(1, -1);
}

.u-section-switching--before {
  margin: 6.625rem 0 0;
  position: relative;
}
.u-section-switching--before::before {
  content: "";
  display: block;
  width: 100%;
  height: 6.625rem;
  background-color: inherit;
  -webkit-mask: url(../img/section-border.webp) center left/cover no-repeat;
          mask: url(../img/section-border.webp) center left/cover no-repeat;
  position: absolute;
  left: 0;
  z-index: 10;
  top: -6.5625rem;
}
@media screen and (max-width: 768px) {
  .u-section-switching--before::before {
    -webkit-mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
            mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
  }
}

.u-section-switching--after {
  margin: 0 0 6.625rem;
  position: relative;
}
.u-section-switching--after::after {
  content: "";
  display: block;
  width: 100%;
  height: 6.625rem;
  background-color: inherit;
  -webkit-mask: url(../img/section-border.webp) center/cover no-repeat;
          mask: url(../img/section-border.webp) center/cover no-repeat;
  position: absolute;
  left: 0;
  z-index: 10;
  bottom: -6.5625rem;
  transform: scale(1, -1);
}
@media screen and (max-width: 768px) {
  .u-section-switching--after::after {
    -webkit-mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
            mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
  }
}

.u-section-switching--bg {
  margin: 6.625rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .u-section-switching--bg {
    margin: 3.3125rem 0;
  }
}
.u-section-switching--bg::before, .u-section-switching--bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 6.625rem;
  background: url(../img/bg.webp);
  background-size: 5.1875rem;
  -webkit-mask: url(../img/section-border.webp) center left/cover no-repeat;
          mask: url(../img/section-border.webp) center left/cover no-repeat;
  position: absolute;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .u-section-switching--bg::before, .u-section-switching--bg::after {
    height: 3.3125rem;
  }
}
.u-section-switching--bg::before {
  top: -6.5625rem;
}
@media screen and (max-width: 768px) {
  .u-section-switching--bg::before {
    top: -3.25rem;
  }
}
.u-section-switching--bg::after {
  bottom: -6.5625rem;
  transform: scale(1, -1);
}
@media screen and (max-width: 768px) {
  .u-section-switching--bg::after {
    bottom: -3.1875rem;
  }
}

.u-section-switching--bg-before {
  margin: 6.625rem 0 0;
  position: relative;
}
.u-section-switching--bg-before::before {
  content: "";
  display: block;
  width: 100%;
  height: 6.625rem;
  background: url(../img/bg.webp);
  background-size: 5.1875rem;
  -webkit-mask: url(../img/section-border.webp) center left/cover no-repeat;
          mask: url(../img/section-border.webp) center left/cover no-repeat;
  position: absolute;
  left: 0;
  z-index: 10;
  top: -6.5625rem;
}
@media screen and (max-width: 768px) {
  .u-section-switching--bg-before::before {
    -webkit-mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
            mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
  }
}

.u-section-switching--bg-after {
  margin: 0 0 6.625rem;
  position: relative;
}
.u-section-switching--bg-after::after {
  content: "";
  display: block;
  width: 100%;
  height: 6.625rem;
  background: url(../img/bg.webp);
  background-size: 5.1875rem;
  -webkit-mask: url(../img/section-border.webp) center/cover no-repeat;
          mask: url(../img/section-border.webp) center/cover no-repeat;
  position: absolute;
  left: 0;
  z-index: 10;
  bottom: -6.5625rem;
  transform: scale(1, -1);
}
@media screen and (max-width: 768px) {
  .u-section-switching--bg-after::after {
    -webkit-mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
            mask: url(../img/section-border--sp.webp) top left/cover no-repeat;
  }
}

.u-tel, .u-tel--before-text {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
}
.u-tel::after, .u-tel--before-text::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url(../img/tel_icon.svg) no-repeat center center/contain;
          mask: url(../img/tel_icon.svg) no-repeat center center/contain;
  margin-bottom: 0.1em;
}
.u-tel:hover .u-tel__num, .u-tel--before-text:hover .u-tel__num {
  animation: u-tel-underline 0.6s ease-in-out;
}

.u-tel--before-text::before {
  content: "TEL:";
}

.u-tel__num {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom 0.25rem;
  background-size: 100% 1px;
  transition: background-size 0.3s ease, background-position 0.3s ease;
}

@keyframes u-tel-underline {
  0% {
    background-position: right bottom 0.25rem;
    background-size: 100% 1px;
  }
  49% {
    background-position: right bottom 0.25rem;
    background-size: 0% 1px;
  }
  50% {
    background-position: left bottom 0.25rem;
    background-size: 0% 1px;
  }
  100% {
    background-position: left bottom 0.25rem;
    background-size: 100% 1px;
  }
}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}