@charset "UTF-8";
/*
Theme Name: theme LOC
Author: LOC
Version: 1.0
*/
html {
  font-size: 16px;
}

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

body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, figure {
  margin: 0;
  padding: 0;
}

body {
  color: #44311A;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  /* view 375px to 1440px size 10px to 18px */
  font-size: clamp(0.625rem, 0.449rem + 0.75vw, 1.125rem);
  font-weight: 500;
  line-height: 1;
  background-color: #F8F2E5;
  opacity: 0;
  transition: opacity 0.2s;
}

body.loaded {
  opacity: 1;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
}

button {
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  border: none;
  background: none;
  cursor: pointer;
}

main {
  overflow: clip;
}

dl {
  margin: 0;
}
dl dd {
  margin: 0;
}

header {
  width: 100%;
  background-color: #F8F2E5;
  position: sticky;
  top: 0;
  z-index: 1000;
}
body.page-all-with header {
  background-color: #fff;
}

.header_container {
  height: 6em;
  padding: 0 1.4em 0 2.3em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .header_container {
    max-width: 80%;
    min-width: 950px;
    padding: 0;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0 2em;
  }
}

.header_logo a img {
  width: 11.8em;
}

.floating_button--box {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
}
@media screen and (min-width: 768px) {
  .floating_button--box {
    width: auto;
    display: flex;
    gap: 0 1em;
    position: relative;
  }
}

a.floating_button {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  height: 3.4em;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  a.floating_button {
    font-size: 0.95em;
    height: 2.8em;
    padding: 0 1.5em;
    border-radius: 5em;
  }
}
a.floating_button:first-of-type {
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  a.floating_button:first-of-type {
    border: 1px solid #000;
  }
}
a.floating_button:last-of-type {
  background-color: #44311A;
}

button.header_menu--button {
  width: 3.4em;
  background: #1B9143;
  border: 1px solid #44311A;
  border-radius: 50%;
  position: relative;
  transition: all 0.4s;
  z-index: 30;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  button.header_menu--button {
    width: 2.8em;
  }
}
button.header_menu--button {
  cursor: pointer;
}
body.open_menu button.header_menu--button::before {
  opacity: 1;
}
button.header_menu--button div {
  width: 45%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: all 0.4s;
}
button.header_menu--button div:first-of-type {
  transform: translate(-50%, calc(-50% - 6px)) rotate(0deg) scaleX(1);
}
body.open_menu button.header_menu--button div:first-of-type {
  transform: translate(-50%, -50%) rotate(35deg) scaleX(1.2);
}
button.header_menu--button div:nth-of-type(2) {
  transform: translate(-50%, -50%) scaleX(1);
  transform-origin: left;
}
body.open_menu button.header_menu--button div:nth-of-type(2) {
  transform: translate(-50%, -50%) scaleX(0);
}
button.header_menu--button div:nth-of-type(3) {
  transform: translate(-50%, calc(-50% + 6px)) rotate(0deg);
  transform-origin: left;
}
body.open_menu button.header_menu--button div:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-35deg) scaleX(1.2);
  transform-origin: center;
}

.header_menu--container {
  width: 100%;
  height: 100%;
  background-color: #1B9143;
  opacity: 0;
  overflow-y: scroll;
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  transition: all 0.4s;
}
.open_menu .header_menu--container {
  opacity: 1;
  pointer-events: auto;
}
.header_menu--container .menu_container {
  padding: 7em 0 9em;
}
@media screen and (min-width: 768px) {
  .header_menu--container .menu_container {
    padding: 7em 0 4em;
  }
}

section {
  position: relative;
}

.FP_header {
  height: calc(100svh - 11.1em);
}
@media screen and (min-width: 768px) {
  .FP_header {
    height: auto;
  }
}
.FP_header h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

.FP_header--container {
  height: 100%;
}

.FP_header--swiper {
  max-width: 1170px;
  height: 100%;
  margin-inline: auto;
}

.FP_header--swiperItem img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .FP_header--swiperItem img {
    max-height: 30em;
    -o-object-position: 50% 40%;
       object-position: 50% 40%;
  }
}

hgroup.FP_hgroup h2.FP_h2 {
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  hgroup.FP_hgroup h2.FP_h2 {
    font-size: 2.9em;
  }
}
@media screen and (min-width: 768px) {
  hgroup.FP_hgroup h2.FP_h2 br {
    display: none;
  }
}
hgroup.FP_hgroup p.text {
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  hgroup.FP_hgroup p.text {
    font-size: 0.95em;
  }
}

a.FP_common--button {
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  a.FP_common--button {
    font-size: 0.95em;
    width: 12em;
    height: 2.8em;
  }
}
a.FP_common--button.bg_white {
  color: #2C8031;
  background-color: #fff;
}
a.FP_common--button.bg_green {
  color: #fff;
  background-color: #1B9143;
}

section.FP_section.news_section {
  padding: 5em 0 9em;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section {
    padding: 3em 0 6em;
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
section.FP_section.news_section .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
section.FP_section.news_section .wave svg {
  width: 100%;
  height: 100%;
}
section.FP_section.news_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2em 0;
  }
}
section.FP_section.news_section .section_container hgroup.FP_hgroup {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container hgroup.FP_hgroup {
    display: flex;
    align-items: center;
    gap: 0 2em;
    margin: 0;
  }
}
section.FP_section.news_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #1B9143;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container hgroup.FP_hgroup h2.FP_h2 {
    margin: 0;
  }
}
section.FP_section.news_section .section_container hgroup.FP_hgroup p.text {
  color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container hgroup.FP_hgroup p.text br {
    display: none;
  }
}
section.FP_section.news_section .section_container a.FP_common--button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container a.FP_common--button {
    grid-row: 1/2;
    grid-column: 2/3;
  }
}

.FP_news_section--swiperBox {
  width: 71%;
  margin: 0 auto 3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_news_section--swiperBox {
    width: 100%;
    min-width: 100%;
    margin: 0;
    grid-column: span 2;
  }
}

.FP_news_section--swiper {
  overflow: hidden;
}

.FP_news_section--swiperItem .item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.FP_news_section--swiperItem .item .thumbnail {
  margin-bottom: 1.1em;
  border-radius: 20px;
  grid-column: span 2;
}
.FP_news_section--swiperItem .item .thumbnail img {
  width: 100%;
  height: 15em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .FP_news_section--swiperItem .item .thumbnail img {
    height: 8.2em;
  }
}
.FP_news_section--swiperItem .item p.tag {
  color: #fff;
  font-size: 1.3em;
  padding: 0.8em 1.3em;
  background-color: #FF6C20;
}
@media screen and (min-width: 768px) {
  .FP_news_section--swiperItem .item p.tag {
    font-size: 0.7em;
  }
}
.FP_news_section--swiperItem .item p.date {
  text-align: right;
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .FP_news_section--swiperItem .item p.date {
    text-align: left;
    font-size: 0.7em;
    padding-left: 1em;
  }
}
.FP_news_section--swiperItem .item p.text {
  font-size: 1.6em;
  line-height: 1.4;
  margin-top: 1.2em;
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  .FP_news_section--swiperItem .item p.text {
    font-size: 0.8em;
  }
}

.FP_news_section--swiperButton.swiper-button-prev, .FP_news_section--swiperButton.swiper-button-next {
  width: 3.9em;
  height: auto;
  margin: 0;
  background-color: #44311A;
  border-radius: 50%;
  top: 7.5em;
  aspect-ratio: 1;
}
.FP_news_section--swiperButton.swiper-button-prev.swiper-button-disabled, .FP_news_section--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.FP_news_section--swiperButton.swiper-button-prev::after, .FP_news_section--swiperButton.swiper-button-next::after {
  color: #fff;
  font-size: 2em;
}
.FP_news_section--swiperButton.swiper-button-prev {
  left: 0;
  translate: -150% -50%;
}
.FP_news_section--swiperButton.swiper-button-next {
  right: 0;
  translate: 150% -50%;
}

section.FP_section.media_section {
  padding: 1em 0 4em;
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.FP_section.media_section {
    padding: 1em 0 3em;
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
section.FP_section.media_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.media_section .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2em 0;
  }
}
section.FP_section.media_section .section_container hgroup.FP_hgroup {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.media_section .section_container hgroup.FP_hgroup {
    display: flex;
    align-items: center;
    gap: 0 2em;
    margin: 0;
  }
}
section.FP_section.media_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #fff;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.media_section .section_container hgroup.FP_hgroup h2.FP_h2 {
    margin: 0;
  }
}
section.FP_section.media_section .section_container hgroup.FP_hgroup p.text {
  color: #fff;
}
section.FP_section.media_section .section_container a.FP_common--button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.media_section .section_container a.FP_common--button {
    grid-row: 1/2;
    grid-column: 2/3;
  }
}

.FP_media_section--swiperBox {
  width: 71%;
  margin: 0 auto 3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_media_section--swiperBox {
    width: 100%;
    min-width: 100%;
    margin: 0;
    grid-column: span 2;
  }
}

.FP_media_section--swiper {
  overflow: hidden;
}

.FP_media_section--swiperItem a .thumbnail {
  margin-bottom: 1.1em;
  border-radius: 20px;
}
.FP_media_section--swiperItem a .thumbnail img {
  width: 100%;
  height: 15em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .FP_media_section--swiperItem a .thumbnail img {
    height: 8.2em;
  }
}
.FP_media_section--swiperItem a p.category {
  color: #2C8031;
  font-size: 1.3em;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 0.8em 1.3em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .FP_media_section--swiperItem a p.category {
    font-size: 0.7em;
  }
}
.FP_media_section--swiperItem a p.title {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.4;
  margin-top: 1.2em;
}
@media screen and (min-width: 768px) {
  .FP_media_section--swiperItem a p.title {
    font-size: 0.8em;
  }
}

.FP_media_section--swiperButton.swiper-button-prev, .FP_media_section--swiperButton.swiper-button-next {
  width: 3.9em;
  height: auto;
  margin: 0;
  background-color: #44311A;
  border-radius: 50%;
  top: 7.5em;
  aspect-ratio: 1;
}
.FP_media_section--swiperButton.swiper-button-prev.swiper-button-disabled, .FP_media_section--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.FP_media_section--swiperButton.swiper-button-prev::after, .FP_media_section--swiperButton.swiper-button-next::after {
  color: #fff;
  font-size: 2em;
}
.FP_media_section--swiperButton.swiper-button-prev {
  left: 0;
  translate: -150% -50%;
}
.FP_media_section--swiperButton.swiper-button-next {
  right: 0;
  translate: 150% -50%;
}

section.FP_section.happiness_section {
  padding: 5em 0 9em;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section {
    padding: 5em 0;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto auto 1fr/1fr 46%;
    gap: 0 2em;
  }
}
section.FP_section.happiness_section .section_container hgroup.FP_hgroup {
  margin-bottom: 3.6em;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container hgroup.FP_hgroup {
    margin-bottom: 2em;
    grid-row: 1/3;
    grid-column: 1/3;
  }
}
section.FP_section.happiness_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #1B9143;
  width: 84%;
  margin: 0 auto 0.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container hgroup.FP_hgroup h2.FP_h2 {
    width: 100%;
    margin: 0 auto 0.5em;
  }
}
section.FP_section.happiness_section .section_container hgroup.FP_hgroup p.text {
  color: #1B9143;
  font-size: 2.4em;
  line-height: 1.6;
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container hgroup.FP_hgroup p.text {
    width: 100%;
  }
}
section.FP_section.happiness_section .section_container .img {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container .img {
    margin: 0;
    grid-row: 2/4;
    grid-column: 2/3;
  }
}
section.FP_section.happiness_section .section_container .img img {
  width: 100%;
  height: 25em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container .img img {
    height: 20em;
  }
}
section.FP_section.happiness_section .section_container .text_box {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container .text_box {
    width: 100%;
    max-width: 530px;
    margin: 0;
    grid-row: 3/4;
  }
}
section.FP_section.happiness_section .section_container .text_box p {
  font-size: 1.6em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.FP_section.happiness_section .section_container .text_box p {
    font-size: 0.9em;
  }
}
section.FP_section.happiness_section .section_container .text_box a.FP_common--button {
  margin-top: 2em;
}

section.FP_section.features_section {
  padding: 0 0 8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section {
    padding: 0 0 7em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 46% 1fr;
    gap: 0 2em;
  }
}
section.FP_section.features_section .section_container hgroup.FP_hgroup {
  margin-bottom: 3.6em;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container hgroup.FP_hgroup {
    width: 100%;
    max-width: 538px;
    margin: 0 0 2em auto;
  }
}
section.FP_section.features_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #1B9143;
  width: 84%;
  margin: 0 auto 0.3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container hgroup.FP_hgroup h2.FP_h2 {
    width: 100%;
    margin: 0 auto;
  }
}
section.FP_section.features_section .section_container hgroup.FP_hgroup p.text {
  color: #1B9143;
  font-size: 2.4em;
  line-height: 1.6;
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container hgroup.FP_hgroup p.text {
    width: 100%;
  }
}
section.FP_section.features_section .section_container > p.text br {
  display: block;
}
section.FP_section.features_section .section_container .img {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container .img {
    margin: 0;
    grid-column: 1/2;
    grid-row: 1/3;
  }
}
section.FP_section.features_section .section_container .img img {
  width: 100%;
  height: 25em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container .img img {
    height: 20.5em;
  }
}
section.FP_section.features_section .section_container .text_box {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container .text_box {
    width: 100%;
    max-width: 538px;
    margin: 0 0 0 auto;
  }
}
section.FP_section.features_section .section_container .text_box p {
  font-size: 1.6em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.FP_section.features_section .section_container .text_box p {
    font-size: 0.9em;
  }
}
section.FP_section.features_section .section_container .text_box a.FP_common--button {
  margin-top: 2em;
}

section.FP_section.recruit_section {
  padding: 0 0 8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section {
    padding: 0 0 7em;
  }
}
section.FP_section.recruit_section .section_container {
  width: 84%;
  padding: 3em;
  margin-inline: auto;
  background-color: #1B9143;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container {
    width: 98%;
    max-width: 1170px;
    padding: 1em 2em;
    display: grid;
    grid-template: auto auto/auto auto;
    align-items: center;
    gap: 0 1em;
  }
}
section.FP_section.recruit_section .section_container hgroup.FP_hgroup {
  margin-bottom: 3.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container hgroup.FP_hgroup {
    margin-bottom: 1em;
  }
}
section.FP_section.recruit_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #fff;
}
section.FP_section.recruit_section .section_container .text_box {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container .text_box {
    padding-bottom: 1.5em;
    margin: 0;
  }
}
section.FP_section.recruit_section .section_container .text_box p {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.8;
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container .text_box p {
    font-size: 0.95em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container .img_box {
    width: -moz-max-content;
    width: max-content;
    display: flex;
    grid-row: 1/3;
    grid-column: 2/3;
    gap: 0.85em;
  }
}
section.FP_section.recruit_section .section_container .img_box .img {
  text-align: center;
}
section.FP_section.recruit_section .section_container .img_box .img:not(:last-of-type) {
  display: none;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container .img_box .img:not(:last-of-type) {
    display: block;
  }
}
section.FP_section.recruit_section .section_container .img_box .img img {
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container .img_box .img img {
    width: 10em;
  }
}

section.FP_section.pickup_section {
  padding: 0 0 5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.pickup_section {
    padding: 0 0 4em;
  }
}
section.FP_section.pickup_section h2 {
  text-align: center;
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  margin-bottom: 0.7em;
}
@media screen and (min-width: 768px) {
  section.FP_section.pickup_section h2 {
    font-size: 1.45em;
  }
}
section.FP_section.pickup_section .section_container {
  padding: 3em 0;
  background-color: #44311A;
}
@media screen and (min-width: 768px) {
  section.FP_section.pickup_section .section_container {
    padding: 2.5em 0;
  }
}
section.FP_section.pickup_section .section_container .item_box {
  width: 84%;
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  section.FP_section.pickup_section .section_container .item_box {
    width: 98%;
    max-width: 1170px;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.85em;
  }
}
section.FP_section.nursery_section {
  padding: 0 0 7em;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section {
    padding: 0 0 4em;
  }
}
section.FP_section.nursery_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.FP_section.nursery_section .section_container hgroup.FP_hgroup {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container hgroup.FP_hgroup {
    margin-bottom: 2em;
  }
}
section.FP_section.nursery_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #1B9143;
  margin-bottom: 0.2em;
}
section.FP_section.nursery_section .section_container hgroup.FP_hgroup p.text {
  color: #1B9143;
}
section.FP_section.nursery_section .section_container ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4em 2.4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3em 0.85em;
  }
}
section.FP_section.nursery_section .section_container ul li {
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container ul li {
    width: calc((100% - 3.4em) / 5);
  }
}
section.FP_section.nursery_section .section_container ul li .img {
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container ul li .img {
    margin-bottom: 0.8em;
  }
}
section.FP_section.nursery_section .section_container ul li p {
  font-size: 1.6em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container ul li p {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container ul li p span {
    font-size: 1.05em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.nursery_section .section_container ul li p br.br_sp {
    display: none;
  }
}

section.FP_section.child_section {
  padding: 0 0 7em;
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section {
    padding: 0 0 4em;
  }
}
section.FP_section.child_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.FP_section.child_section .section_container hgroup.FP_hgroup {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section .section_container hgroup.FP_hgroup {
    margin-bottom: 2em;
  }
}
section.FP_section.child_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #1B9143;
  margin-bottom: 0.2em;
}
section.FP_section.child_section .section_container hgroup.FP_hgroup p.text {
  color: #1B9143;
}
section.FP_section.child_section .section_container ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4em 2.4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section .section_container ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3em 0.85em;
  }
}
section.FP_section.child_section .section_container ul li {
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section .section_container ul li {
    width: calc((100% - 3.4em) / 5);
  }
}
section.FP_section.child_section .section_container ul li .img {
  margin-bottom: 1.4em;
}
section.FP_section.child_section .section_container ul li p {
  font-size: 1.6em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section .section_container ul li p {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.child_section .section_container ul li p span {
    font-size: 1.05em;
  }
}

section.FP_section.corporate_section {
  padding: 0 0 10em;
}
section.FP_section.corporate_section .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
section.FP_section.corporate_section .wave svg {
  width: 100%;
  height: 100%;
}
section.FP_section.corporate_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container {
    width: 98%;
    max-width: 1170px;
    margin: 0 auto 4em;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
section.FP_section.corporate_section .section_container hgroup.FP_hgroup {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container hgroup.FP_hgroup {
    margin-bottom: 2em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container hgroup.FP_hgroup:first-of-type {
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0 0.7em 0 auto;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container hgroup.FP_hgroup:nth-of-type(2) {
    max-width: -moz-max-content;
    max-width: max-content;
    margin-left: 5em;
  }
}
section.FP_section.corporate_section .section_container hgroup.FP_hgroup h2.FP_h2 {
  color: #1B9143;
  margin-bottom: 0.2em;
}
section.FP_section.corporate_section .section_container hgroup.FP_hgroup p.text {
  color: #1B9143;
}
section.FP_section.corporate_section .section_container ul:first-of-type {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul:first-of-type {
    margin: 0;
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul:first-of-type li {
    margin-left: calc((100% - 1.7em) / 2.5 + 0.85em);
  }
}
section.FP_section.corporate_section .section_container ul:nth-of-type(2) {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul:nth-of-type(2) {
    margin: 0;
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul:nth-of-type(2) li {
    margin: 0 calc((100% - 1.7em) / 2.5 + 0.85em) 0 auto;
  }
}
section.FP_section.corporate_section .section_container ul li {
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul li {
    width: calc((100% - 1.7em) / 2.5);
  }
}
section.FP_section.corporate_section .section_container ul li .img {
  margin-bottom: 1.4em;
}
section.FP_section.corporate_section .section_container ul li p {
  font-size: 1.6em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul li p {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.corporate_section .section_container ul li p span {
    font-size: 1.05em;
  }
}
section.FP_section.corporate_section a {
  margin-inline: auto;
}

section.pickup_section {
  padding-bottom: 9em;
}
@media screen and (min-width: 768px) {
  section.pickup_section {
    padding-bottom: 14em;
  }
}
section.pickup_section .section_container h2 {
  text-align: center;
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.pickup_section .section_container h2 {
    font-size: 1.45em;
    margin-bottom: 1.2em;
  }
}
section.pickup_section .section_container .item_box {
  width: 84%;
  margin-inline: auto;
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  section.pickup_section .section_container .item_box {
    width: 98%;
    max-width: 1170px;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.85em;
  }
}
section.pickup_section .section_container .item_box .item:first-of-type a {
  pointer-events: none;
}
section.pickup_section .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
section.pickup_section .wave svg {
  width: 100%;
  height: 100%;
}

.contact_box {
  width: 93%;
  padding: 3em 2.5em;
  margin-inline: auto;
  border: 1px solid #1B9143;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .contact_box {
    width: 98%;
    max-width: 1170px;
    padding: 3em 4.5em 1.5em 3em;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}
.contact_box > p {
  text-align: center;
  color: #1B9143;
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  .contact_box > p {
    font-size: 1.4em;
    margin: 0 0 1em;
    justify-self: left;
    grid-row: span 2;
  }
}
@media screen and (min-width: 768px) {
  .contact_box > p br {
    display: none;
  }
}
.contact_box a {
  max-width: 30em;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 0 1.8em;
}
@media screen and (min-width: 768px) {
  .contact_box a {
    gap: 0 0.9em;
  }
}
.contact_box a.line {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  .contact_box a.line {
    margin-bottom: 1.5em;
  }
}
.contact_box a.line .img {
  width: 6em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .contact_box a.line .img {
    width: 3.4em;
  }
}
.contact_box a.line .img p {
  font-size: 1.4em;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -150%;
}
@media screen and (min-width: 768px) {
  .contact_box a.line .img p {
    font-size: 1em;
  }
}
.contact_box a.line > p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .contact_box a.line > p {
    font-size: 0.8em;
  }
}
.contact_box a.line > p i {
  font-size: 0.8em;
  margin-left: 0.4em;
  translate: 0 -10%;
}
@media screen and (min-width: 768px) {
  .contact_box a.line > p br.br_sp {
    display: none;
  }
}
.contact_box a.tel i {
  font-size: 3em;
  color: #fff;
  width: 2em;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #53AC71;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .contact_box a.tel i {
    font-size: 1.7em;
  }
}
.contact_box a.tel p span {
  line-height: 1.1;
  display: inline-block;
}
.contact_box a.tel p span.text {
  font-size: 1.6em;
}
@media screen and (min-width: 768px) {
  .contact_box a.tel p span.text {
    font-size: 1em;
  }
}
.contact_box a.tel p span.tel {
  font-size: 4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .contact_box a.tel p span.tel {
    font-size: 1.7em;
  }
}
.contact_box a.tel p span.small {
  font-size: 1.4em;
}
@media screen and (min-width: 768px) {
  .contact_box a.tel p span.small {
    font-size: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .contact_box a.tel p br.br_sp {
    display: none;
  }
}

.P_our_dream--header {
  padding: 6em 0;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_our_dream--header {
    height: calc(100svh - 6em);
    min-height: -moz-max-content;
    min-height: max-content;
    padding: 0;
    display: flex;
    align-items: end;
  }
}
.P_our_dream--header::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
}

.P_our_dream_header--container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_our_dream_header--container {
    width: 98%;
    max-width: 1170px;
    padding: 6em 0;
  }
}
.P_our_dream_header--container hgroup {
  margin-bottom: 3em;
}
.P_our_dream_header--container hgroup h1 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_our_dream_header--container hgroup h1 {
    font-size: 2.8em;
  }
}
.P_our_dream_header--container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_our_dream_header--container hgroup p {
    font-size: 2.3em;
  }
}
.P_our_dream_header--container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .P_our_dream_header--container > p {
    font-size: 0.95em;
    width: 50%;
    line-height: 1.6;
  }
}

section.P_our_dream--section.blue_section {
  background-color: #3399FF;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_our_dream--section.blue_section .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container hgroup {
    margin-bottom: 2em;
  }
}
section.P_our_dream--section.blue_section .section_container hgroup h2 {
  color: #fff;
  text-align: center;
  font-size: 2.4em;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container hgroup h2 {
    text-align: left;
    font-size: 2.3em;
    margin-bottom: 1em;
  }
}
section.P_our_dream--section.blue_section .section_container hgroup p {
  color: #fff;
  text-align: center;
  font-size: 1.8em;
  line-height: 1.4;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container hgroup p {
    font-size: 1.3em;
    margin: 0 0 0 1.5em;
  }
}
section.P_our_dream--section.blue_section .section_container hgroup p::before, section.P_our_dream--section.blue_section .section_container hgroup p::after {
  content: "";
  width: 1em;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
section.P_our_dream--section.blue_section .section_container hgroup p::before {
  left: -1.5em;
}
section.P_our_dream--section.blue_section .section_container hgroup p::after {
  right: -1.5em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container hgroup p br {
    display: none;
  }
}
section.P_our_dream--section.blue_section .section_container .text_box {
  width: 84%;
  margin: 0 auto 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container .text_box {
    width: 100%;
    margin: 0;
  }
}
section.P_our_dream--section.blue_section .section_container .text_box p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container .text_box p {
    font-size: 0.95em;
    line-height: 1.6;
  }
}
section.P_our_dream--section.blue_section .section_container .text_box p:not(:last-of-type) {
  margin-bottom: 1.8em;
}
section.P_our_dream--section.blue_section .section_container .img_box {
  display: grid;
  gap: 2.5em 0;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.blue_section .section_container .img_box {
    gap: 1.5em 0;
  }
}

section.P_our_dream--section.section01 {
  padding: 8em 0;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section01 {
    padding: 6em 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section01 .section_container .img_box {
    grid-row: 1/3;
  }
}
section.P_our_dream--section.section01 .section_container .img_box .img img {
  border-radius: 20px;
}

section.P_our_dream--section.section02 {
  padding: 0 0 8em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section02 .section_container .img_box {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
section.P_our_dream--section.section02 .section_container .img_box .img img {
  border-radius: 20px;
}

section.P_our_dream--section.section03 {
  padding: 5em 0 9em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section03 {
    padding: 5em 0 6em;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
  }
}
section.P_our_dream--section.section03 .section_container hgroup {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section03 .section_container hgroup {
    margin-bottom: 3em;
  }
}
section.P_our_dream--section.section03 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_our_dream--section.section03 .section_container hgroup p {
  color: #3399FF;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section03 .section_container hgroup p {
    font-size: 1em;
  }
}
section.P_our_dream--section.section03 .section_container > P {
  text-align: center;
  font-size: 2em;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section03 .section_container > P {
    margin-bottom: 1.2em;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section03 .section_container > P br {
    display: none;
  }
}

ul.P_our_dream_section03--ul {
  width: 84%;
  margin-inline: auto;
  display: grid;
  gap: 5em 0;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section03--ul {
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 1.6em;
  }
}
ul.P_our_dream_section03--ul li {
  list-style: none;
}
ul.P_our_dream_section03--ul li .box {
  text-align: center;
  width: 71%;
  padding: 11.5em 0 8.8em;
  margin: 0 auto 3em;
  border-radius: 50% 50% 20px 20px/45% 45% 20px 20px;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section03--ul li .box {
    width: 100%;
    padding: 7.5em 0 5.5em;
    margin: 0 auto 1.6em;
    border-radius: 50% 50% 20px 20px/40% 40% 20px 20px;
  }
}
ul.P_our_dream_section03--ul li .box p {
  color: #fff;
}
ul.P_our_dream_section03--ul li .box p.eng {
  font-size: 1.5em;
  font-family: "Caveat Brush", cursive;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section03--ul li .box p.eng {
    font-size: 1.2em;
    margin-bottom: 1.6em;
  }
}
ul.P_our_dream_section03--ul li .box p.ja {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section03--ul li .box p.ja {
    font-size: 2em;
    letter-spacing: 0.1em;
  }
}
ul.P_our_dream_section03--ul li:first-of-type .box {
  background-color: #1B9143;
}
ul.P_our_dream_section03--ul li:nth-of-type(2) .box {
  background-color: #3399FF;
}
ul.P_our_dream_section03--ul li:nth-of-type(3) .box {
  background-color: #FFCC00;
}
ul.P_our_dream_section03--ul li:nth-of-type(4) .box {
  background-color: #FF6600;
}
ul.P_our_dream_section03--ul li > p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section03--ul li > p {
    font-size: 0.9em;
  }
}

section.P_our_dream--section.section04 {
  padding: 0 0 8em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 {
    padding: 0 0 6em;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_our_dream--section.section04 .section_container hgroup {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 .section_container hgroup {
    text-align: left;
    margin-bottom: 2em;
  }
}
section.P_our_dream--section.section04 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_our_dream--section.section04 .section_container hgroup p {
  color: #3399FF;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 .section_container hgroup p {
    font-size: 1em;
  }
}
section.P_our_dream--section.section04 .section_container > P {
  text-align: center;
  font-size: 2em;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 .section_container > P {
    text-align: left;
    margin-bottom: 1em;
  }
}
section.P_our_dream--section.section04 .section_container .text_box {
  width: 84%;
  margin: 0 auto 4em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 .section_container .text_box {
    width: 100%;
    margin: 0;
  }
}
section.P_our_dream--section.section04 .section_container .text_box p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section04 .section_container .text_box p {
    font-size: 0.95em;
  }
}
section.P_our_dream--section.section04 .section_container .text_box p span {
  padding: 0em 0 0.1em;
  background: linear-gradient(transparent 50%, rgba(255, 204, 1, 0.5) 0%);
}

ul.P_our_dream_section04--ul {
  width: 35em;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: space-between;
  gap: 2em 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul {
    width: auto;
    margin: 0 0 0 auto;
    grid-row: 1/4;
    grid-column: 2/3;
    gap: 0 1.5em;
  }
}
ul.P_our_dream_section04--ul::before {
  content: "";
  width: 71%;
  border: 3em solid #FFCC00;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul::before {
    width: 75%;
    border: 2.5em solid #FFCC00;
    translate: -50% -40%;
  }
}
ul.P_our_dream_section04--ul li {
  text-align: center;
  width: 16em;
  border-radius: 50%;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul li {
    width: 14em;
  }
}
ul.P_our_dream_section04--ul li:first-of-type {
  background-color: #1B9143;
  grid-column: span 2;
  justify-self: center;
}
ul.P_our_dream_section04--ul li:nth-of-type(2) {
  background-color: #FF6600;
}
ul.P_our_dream_section04--ul li:nth-of-type(2) p.text {
  font-size: 1.2em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul li:nth-of-type(2) p.text {
    font-size: 1em;
  }
}
ul.P_our_dream_section04--ul li:nth-of-type(3) {
  background-color: #3399FF;
}
ul.P_our_dream_section04--ul li:nth-of-type(3) p.text {
  font-size: 1.2em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul li:nth-of-type(3) p.text {
    font-size: 1em;
  }
}
ul.P_our_dream_section04--ul li p {
  color: #fff;
}
ul.P_our_dream_section04--ul li p.eng {
  font-size: 1.5em;
  font-family: "Caveat Brush", cursive;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul li p.eng {
    font-size: 1.2em;
    margin-bottom: 1.5em;
  }
}
ul.P_our_dream_section04--ul li p.ja {
  font-size: 2.4em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul li p.ja {
    font-size: 2em;
    letter-spacing: 0.1em;
  }
}
ul.P_our_dream_section04--ul li p.text {
  font-size: 1.5em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section04--ul li p.text {
    font-size: 1em;
  }
}

section.P_our_dream--section.section05 {
  padding-bottom: 10em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section05 {
    padding-bottom: 6em;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section05 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
  }
}
section.P_our_dream--section.section05 .section_container hgroup {
  text-align: center;
  margin-bottom: 4em;
}
section.P_our_dream--section.section05 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_our_dream--section.section05 .section_container hgroup p {
  color: #3399FF;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section05 .section_container hgroup p {
    font-size: 1em;
  }
}
section.P_our_dream--section.section05 .section_container .img {
  width: 88%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section05 .section_container .img {
    width: 100%;
  }
}

ul.P_our_dream_section05--ul {
  margin: 0 auto 8em;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 1em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section05--ul {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 1.6em;
  }
}
ul.P_our_dream_section05--ul li {
  text-align: center;
  width: 16em;
  border-radius: 50%;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section05--ul li {
    width: auto;
    padding-bottom: 2em;
  }
}
ul.P_our_dream_section05--ul li:first-of-type {
  background-color: #FF6600;
}
ul.P_our_dream_section05--ul li:nth-of-type(2) {
  background-color: #FFCC01;
}
ul.P_our_dream_section05--ul li:nth-of-type(3) {
  background-color: #3399FF;
}
ul.P_our_dream_section05--ul li:nth-of-type(4) {
  background-color: #1B9143;
}
ul.P_our_dream_section05--ul li p {
  color: #fff;
}
ul.P_our_dream_section05--ul li p.eng {
  font-size: 1.5em;
  font-family: "Caveat Brush", cursive;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section05--ul li p.eng {
    font-size: 1.2em;
    margin-bottom: 1.5em;
  }
}
ul.P_our_dream_section05--ul li p.ja {
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_our_dream_section05--ul li p.ja {
    font-size: 1.8em;
    letter-spacing: 0.05em;
  }
}

section.P_our_dream--section.section06 {
  padding-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section06 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 3em 5em;
  }
}
section.P_our_dream--section.section06 .section_container > p {
  color: #3399FF;
  font-size: 3em;
  font-family: "Caveat Brush", cursive;
  width: 88%;
  margin: 0 auto 1.4em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section06 .section_container > p {
    width: 100%;
    margin: 0;
  }
}
section.P_our_dream--section.section06 .section_container hgroup {
  width: 88%;
  margin: 0 auto 3em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section06 .section_container hgroup {
    width: 100%;
    margin: 0;
  }
}
section.P_our_dream--section.section06 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 2em;
  font-weight: 500;
  font-family: "Caveat Brush", cursive;
  width: 88%;
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section06 .section_container hgroup h2 {
    font-size: 1.7em;
    margin-bottom: 0.3em;
  }
}
section.P_our_dream--section.section06 .section_container hgroup p {
  font-size: 2em;
  line-height: 1.6;
  font-weight: 600;
}
section.P_our_dream--section.section06 .section_container .text_box {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section06 .section_container .text_box {
    width: 100%;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_our_dream--section.section06 .section_container .text_box p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section06 .section_container .text_box p {
    font-size: 0.95em;
  }
}
section.P_our_dream--section.section06 .section_container .text_box p span {
  padding: 0em 0 0.1em;
  background: linear-gradient(transparent 50%, rgba(255, 204, 1, 0.5) 0%);
}

.P_our_dream--swiper .swiper-wrapper {
  transition-timing-function: linear;
}

section.P_our_dream--section.section07 {
  padding: 4em 0 8em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 {
    padding: 5em 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 1.6em 5em;
  }
}
section.P_our_dream--section.section07 .section_container hgroup {
  width: 88%;
  margin: 0 auto 3em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container hgroup {
    width: 100%;
    margin: 0;
  }
}
section.P_our_dream--section.section07 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 2em;
  font-weight: 500;
  font-family: "Caveat Brush", cursive;
  width: 88%;
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container hgroup h2 {
    font-size: 1.7em;
    margin-bottom: 0.3em;
  }
}
section.P_our_dream--section.section07 .section_container hgroup p {
  font-size: 2em;
  line-height: 1.6;
  font-weight: 600;
}
section.P_our_dream--section.section07 .section_container .text_box {
  width: 84%;
  margin: 0 auto 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container .text_box {
    width: 100%;
    margin: 0;
  }
}
section.P_our_dream--section.section07 .section_container .text_box p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container .text_box p {
    font-size: 0.95em;
  }
}
section.P_our_dream--section.section07 .section_container .text_box p span {
  padding: 0em 0 0.1em;
  background: linear-gradient(transparent 50%, rgba(255, 204, 1, 0.5) 0%);
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container .img {
    margin-top: 2.5em;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_our_dream--section.section07 .section_container .img img {
  width: 100%;
  height: 25em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section07 .section_container .img img {
    height: 20em;
  }
}

section.P_our_dream--section.section08 {
  padding-bottom: 8em;
}
section.P_our_dream--section.section08 .section_container h2 {
  text-align: center;
  font-size: 1.7em;
  line-height: 1.6;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section08 .section_container h2 {
    font-size: 2.2em;
    margin-bottom: 1.2em;
  }
}
section.P_our_dream--section.section08 .section_container .box {
  width: 84%;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section08 .section_container .box {
    justify-content: center;
  }
}
section.P_our_dream--section.section08 .section_container .box a {
  font-size: 1.6em;
  font-weight: bold;
  border-bottom: 1px solid;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section08 .section_container .box a {
    font-size: 1.7em;
  }
}
section.P_our_dream--section.section08 .section_container .box span {
  font-size: 1.6em;
  font-weight: bold;
}

section.P_our_dream--section.section09 {
  padding-bottom: 9em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 {
    padding-bottom: 6em;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    position: relative;
  }
}
section.P_our_dream--section.section09 .section_container h2 {
  color: #1B9143;
  text-align: center;
  font-size: 1.7em;
  line-height: 1.6;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container h2 {
    font-size: 1.5em;
    margin-bottom: 0.8em;
  }
}
section.P_our_dream--section.section09 .section_container .img {
  width: 15em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container .img {
    margin: 0;
    position: absolute;
    top: 0;
  }
}
section.P_our_dream--section.section09 .section_container .img.img01 {
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container .img.img01 {
    width: 14.5em;
    margin: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container .img.img02 {
    width: 15.8em;
    right: 0;
  }
}
section.P_our_dream--section.section09 .section_container .img img {
  width: 100%;
}
section.P_our_dream--section.section09 .section_container .text_box {
  text-align: center;
  margin-bottom: 3.5em;
}
section.P_our_dream--section.section09 .section_container .text_box p {
  font-size: 1.6em;
  line-height: 1.8;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container .text_box p {
    font-size: 0.95em;
  }
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container .text_box p br.br_sp {
    display: none;
  }
}
section.P_our_dream--section.section09 .section_container .text_box a {
  font-size: 1.6em;
  border-bottom: 1px solid;
}
@media screen and (min-width: 768px) {
  section.P_our_dream--section.section09 .section_container .text_box a {
    font-size: 1em;
  }
}

section.P_program--section.green_section {
  background-color: #1B9143;
}
section.P_program--section.green_section h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

section.P_program--section.section01 {
  padding: 3em 0 4.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 {
    padding: 6em 0 4em;
  }
}
section.P_program--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 2.2em 5em;
  }
}
section.P_program--section.section01 .section_container .img {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 .section_container .img {
    margin: 0;
    grid-row: 1/3;
  }
}
section.P_program--section.section01 .section_container .img img {
  border-radius: 20px;
}
section.P_program--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 .section_container hgroup {
    margin: 0;
  }
}
section.P_program--section.section01 .section_container hgroup h2 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 .section_container hgroup h2 {
    font-size: 2.8em;
  }
}
section.P_program--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_program--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section01 .section_container > p {
    font-size: 0.95em;
  }
}

section.P_program--section.section02 {
  padding-bottom: 5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section02 {
    padding-bottom: 7em;
  }
}
section.P_program--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 2.2em 5em;
    align-items: start;
  }
}
section.P_program--section.section02 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section02 .section_container hgroup {
    margin: 0;
  }
}
section.P_program--section.section02 .section_container hgroup h2 {
  color: #FFCC01;
  font-size: 2em;
  font-family: "Caveat Brush", cursive;
  font-weight: 500;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section02 .section_container hgroup h2 {
    font-size: 1.6em;
    margin-bottom: 0.5em;
  }
}
section.P_program--section.section02 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
section.P_program--section.section02 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section02 .section_container > p {
    font-size: 0.95em;
    margin: 0;
  }
}
section.P_program--section.section02 .section_container > p span {
  padding: 0em 0 0.1em;
  background: linear-gradient(transparent 50%, rgba(255, 204, 1, 0.5) 0%);
}

dl.P_program_section--dl {
  border: 1px solid #fff;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  dl.P_program_section--dl {
    margin: 2.4em 0 0;
    display: grid;
    grid-template-columns: 8em 1fr;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
dl.P_program_section--dl dt {
  text-align: center;
  color: #fff;
  font-size: 1.6em;
  font-weight: 500;
  padding: 1.2em 0;
  background-color: #44311A;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  dl.P_program_section--dl dt {
    font-size: 1em;
    padding: 1.5em 0;
    border-right: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
dl.P_program_section--dl dd {
  color: #fff;
  text-align: center;
  font-size: 1.4em;
  line-height: 1.6;
  padding: 1.1em 0;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  dl.P_program_section--dl dd {
    font-size: 0.9em;
    text-align: left;
    padding: 1em;
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  dl.P_program_section--dl dd br {
    display: none;
  }
}

section.P_program--section.section03 {
  padding: 5em 0 9.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 {
    padding: 6em 0 7.5em;
  }
}
section.P_program--section.section03 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 2.7em 5em;
  }
}
section.P_program--section.section03 .section_container:not(:last-of-type) {
  margin-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container:not(:last-of-type) {
    margin-bottom: 4.5em;
  }
}
section.P_program--section.section03 .section_container hgroup {
  text-align: center;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container hgroup {
    text-align: left;
    margin: 0;
  }
}
section.P_program--section.section03 .section_container hgroup h2 {
  color: #2C8031;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container hgroup h2 {
    font-size: 2.8em;
  }
}
section.P_program--section.section03 .section_container hgroup p {
  color: #2C8031;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container hgroup p {
    font-size: 1em;
  }
}
section.P_program--section.section03 .section_container > P {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container > P {
    font-size: 0.95em;
    margin: 0;
  }
}
section.P_program--section.section03 .section_container > P span {
  padding: 0em 0 0.1em;
  background: linear-gradient(transparent 50%, rgba(255, 204, 1, 0.5) 0%);
}
section.P_program--section.section03 .section_container figure img {
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container:nth-of-type(odd) figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
@media screen and (min-width: 768px) {
  section.P_program--section.section03 .section_container:nth-of-type(even) figure {
    grid-row: 1/3;
    grid-column: 1/2;
  }
}

section.P_program--section.section04 {
  padding-bottom: 8.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section04 {
    padding-bottom: 7.5em;
  }
}
section.P_program--section.section04 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section04 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_program--section.section04 .section_container h2 {
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section04 .section_container h2 {
    margin-bottom: 2.8em;
  }
}
section.P_program--section.section04 .section_container h2 img {
  width: 100%;
}
section.P_program--section.section04 .section_container .text_box {
  margin-bottom: 8.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section04 .section_container .text_box {
    margin-bottom: 4.5em;
  }
}
section.P_program--section.section04 .section_container .text_box p.large_text {
  text-align: center;
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section04 .section_container .text_box p.large_text {
    margin-bottom: 1em;
  }
}
section.P_program--section.section04 .section_container .text_box p.small_text {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_program--section.section04 .section_container .text_box p.small_text {
    font-size: 0.95em;
    max-width: 32em;
    margin-inline: auto;
  }
}

ul.P_program_section04--ul {
  display: grid;
  gap: 7em 0;
}
@media screen and (min-width: 768px) {
  ul.P_program_section04--ul {
    grid-template-columns: 1fr 1fr;
    gap: 5em;
  }
}
ul.P_program_section04--ul li {
  list-style: none;
}
ul.P_program_section04--ul li h3 {
  text-align: center;
  font-size: 2em;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  ul.P_program_section04--ul li h3 {
    font-size: 2.9em;
    margin-bottom: 0.5em;
  }
}
ul.P_program_section04--ul li h3 img {
  height: 1em;
}
ul.P_program_section04--ul li .img {
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  ul.P_program_section04--ul li .img {
    margin-bottom: 1.4em;
  }
}
ul.P_program_section04--ul li .img img {
  border-radius: 20px;
}
ul.P_program_section04--ul li h4 {
  text-align: center;
  font-size: 2em;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  ul.P_program_section04--ul li h4 {
    margin-bottom: 0.5em;
  }
}
ul.P_program_section04--ul li p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_program_section04--ul li p {
    font-size: 0.95em;
    max-width: 85%;
    margin-inline: auto;
  }
}

.P_facility--header {
  padding: 6em 0;
  height: calc(100svh - 6em);
  min-height: -moz-max-content;
  min-height: max-content;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_facility--header {
    height: auto;
    padding: 5.5em 0 26em;
  }
}
.P_facility--header::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
}

.P_facility_header--container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_facility_header--container {
    width: 98%;
    max-width: 1170px;
  }
}
.P_facility_header--container hgroup h1 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_facility_header--container hgroup h1 {
    font-size: 2.8em;
  }
}
.P_facility_header--container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_facility_header--container hgroup p {
    font-size: 2.3em;
  }
}

section.P_facility--section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_facility--section .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 5em;
  }
}
section.P_facility--section .section_container h2 {
  text-align: center;
  color: #2C8031;
  font-size: 3em;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  section.P_facility--section .section_container h2 {
    margin: 0;
  }
}
section.P_facility--section .section_container .box:not(:last-of-type) {
  margin-bottom: 8em;
}
@media screen and (min-width: 768px) {
  section.P_facility--section .section_container .box:not(:last-of-type) {
    margin-bottom: 6em;
  }
}
section.P_facility--section .section_container .box h3 {
  font-size: 2em;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.P_facility--section .section_container .box h3 {
    text-align: center;
    font-size: 2.4em;
  }
}

section.P_facility--section.section01 {
  padding: 5.5em 0;
}
@media screen and (min-width: 768px) {
  section.P_facility--section.section01 {
    padding: 3.5em 0 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_facility--section.section01 .section_container h2 {
    margin-bottom: 2em;
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_facility--section.section01 .section_container .box:first-of-type {
    grid-column: span 2;
  }
}

section.P_facility--section.section02 {
  padding-bottom: 5.5em;
}
@media screen and (min-width: 768px) {
  section.P_facility--section.section02 .section_container h2 {
    margin-bottom: 1em;
    grid-column: span 2;
  }
}
section.P_facility--section.section02 .section_container .box {
  grid-column: span 2;
}

section.P_facility--section.section03 {
  padding-bottom: 13em;
}
@media screen and (min-width: 768px) {
  section.P_facility--section.section03 {
    padding-bottom: 7.5em;
  }
}
section.P_facility--section.section03 .section_container {
  grid-template: auto auto/1fr 1fr;
  grid-auto-flow: column;
}
@media screen and (min-width: 768px) {
  section.P_facility--section.section03 .section_container h2 {
    margin-bottom: 1em;
  }
}

ul.P_facility--ul {
  display: grid;
  gap: 5em 0;
}
@media screen and (min-width: 768px) {
  ul.P_facility--ul:has(li:nth-of-type(2)) {
    grid-template-columns: 1fr 1fr;
    gap: 3em 5em;
  }
}
ul.P_facility--ul li {
  list-style: none;
}
ul.P_facility--ul li .img {
  margin-bottom: 2em;
}
ul.P_facility--ul li .img img {
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  ul.P_facility--ul li .text_box {
    display: grid;
    grid-template-columns: auto auto;
  }
}
ul.P_facility--ul li .text_box p {
  font-size: 1.4em;
  line-height: 1.4;
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  ul.P_facility--ul li .text_box p {
    font-size: 1em;
    line-height: 1.6;
    max-width: 70%;
    margin: 0;
    grid-row: 1/2;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 1025px) {
  ul.P_facility--ul li .text_box p {
    width: 100%;
  }
}
ul.P_facility--ul li .text_box a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.P_facility--ul li .text_box a {
    font-size: 1em;
    width: 9.5em;
    height: 3em;
    grid-row: 1/2;
    grid-column: 1/3;
    justify-self: right;
    align-self: end;
  }
}
@media screen and (min-width: 768px) {
  ul.P_facility--ul.ul01 li:nth-of-type(3) {
    width: calc(50% - 2.5em);
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  ul.P_facility--ul.ul05 li:first-of-type {
    width: calc(50% - 2.5em);
    margin-inline: auto;
  }
}

section.P_schedule--section.section01 {
  padding: 4.5em 0;
  background-color: #FF6600;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 {
    padding: 5em 0 5em;
  }
}
section.P_schedule--section.section01 h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
section.P_schedule--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_schedule--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_schedule--section.section01 .section_container hgroup h2 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container hgroup h2 {
    font-size: 2.8em;
  }
}
section.P_schedule--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_schedule--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container > p {
    font-size: 0.95em;
    margin-bottom: 1.5em;
  }
}
section.P_schedule--section.section01 .section_container a {
  color: #fff;
  font-weight: bold;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-bottom: 2em;
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container a {
    font-size: 0.95em;
    margin: 0;
    gap: 0 1.2em;
  }
}
section.P_schedule--section.section01 .section_container a > i {
  font-size: 2em;
  width: 2em;
  background-color: #53AC71;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container a > i {
    font-size: 2.2em;
  }
}
section.P_schedule--section.section01 .section_container a p {
  font-size: 1.6em;
  display: flex;
  gap: 0 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container a p {
    font-size: 0.95em;
  }
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container figure {
    grid-row: 1/4;
    grid-column: 2/3;
  }
}
section.P_schedule--section.section01 .section_container figure img {
  margin-bottom: 1.5em;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container figure img {
    margin-bottom: 1em;
  }
}
section.P_schedule--section.section01 .section_container figure figcaption {
  color: #fff;
  font-size: 1.2em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section01 .section_container figure figcaption {
    font-size: 0.9em;
  }
}

section.P_schedule--section.section02 {
  padding: 3.5em 0 9.5em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section02 {
    padding: 5em 0 6em;
  }
}
section.P_schedule--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}

.P_schedule--tabBox {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  .P_schedule--tabBox {
    margin-bottom: 4em;
  }
}
.P_schedule--tabBox ul {
  text-align: center;
  border-bottom: 1px solid #FF6600;
  display: grid;
  grid-template-columns: 10em 10em;
  justify-content: center;
  gap: 0 3.5em;
}
@media screen and (min-width: 768px) {
  .P_schedule--tabBox ul {
    grid-template-columns: 15em 15em;
    gap: 0 2em;
  }
}
.P_schedule--tabBox ul li {
  list-style: none;
}

button.P_schedule--tabButton {
  color: #fff;
  font-size: 1.4em;
  font-weight: 600;
  width: 100%;
  padding: 0.5em 0;
  background-color: #FF6600;
  border: 1px solid #FF6600;
  border-bottom: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  button.P_schedule--tabButton {
    font-size: 1em;
    padding: 1em 0;
  }
}
button.P_schedule--tabButton.active {
  color: #FF6600;
  background-color: transparent;
}
button.P_schedule--tabButton.active::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #F8F2E5;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 50%;
}
@media screen and (min-width: 768px) {
  button.P_schedule--tabButton br {
    display: none;
  }
}

.P_schedule--tabContents {
  display: none;
}
.P_schedule--tabContents.active {
  display: block;
}
.P_schedule--tabContents hgroup {
  text-align: center;
  margin-bottom: 3em;
}
.P_schedule--tabContents hgroup h2 {
  color: #FF6600;
  font-size: 3em;
  margin-bottom: 0.5em;
}
.P_schedule--tabContents hgroup p {
  color: #FF6600;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_schedule--tabContents hgroup p {
    font-size: 1em;
  }
}
.P_schedule--tabContents .text_box {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .P_schedule--tabContents .text_box {
    max-width: 30em;
    margin: 0 auto 3em;
  }
}
.P_schedule--tabContents .text_box p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_schedule--tabContents .text_box p {
    font-size: 0.95em;
  }
}
.P_schedule--tabContents .text_box ul li {
  font-size: 1.4em;
  line-height: 1.6;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .P_schedule--tabContents .text_box ul li {
    font-size: 0.95em;
  }
}

@media screen and (min-width: 768px) {
  dl.P_schedule_event--dl {
    display: grid;
    grid-template-columns: 11em 1fr;
  }
}
dl.P_schedule_event--dl dt {
  text-align: center;
  color: #fff;
  font-size: 1.6em;
  font-weight: bold;
  padding: 1em 0;
  background-color: #44311A;
}
@media screen and (min-width: 768px) {
  dl.P_schedule_event--dl dt {
    font-size: 0.95em;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  dl.P_schedule_event--dl dt:not(:last-of-type) {
    border-bottom: 1px solid #fff;
  }
}
dl.P_schedule_event--dl dd {
  text-align: center;
  font-size: 1.4em;
  line-height: 1.4;
  padding: 1.3em 0;
  border: 1px solid #44311A;
}
@media screen and (min-width: 768px) {
  dl.P_schedule_event--dl dd {
    text-align: left;
    font-size: 0.9em;
    padding: 1.3em 1.8em;
  }
}
@media screen and (min-width: 768px) {
  dl.P_schedule_event--dl dd br {
    display: none;
  }
}

section.P_schedule--section.section03 {
  padding: 0 0 10em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section03 {
    padding: 0 0 9em;
  }
}
section.P_schedule--section.section03 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 5em;
  }
}
section.P_schedule--section.section03 .section_container hgroup {
  text-align: center;
  margin-bottom: 5.8em;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section03 .section_container hgroup {
    margin-bottom: 3em;
    grid-column: span 2;
  }
}
section.P_schedule--section.section03 .section_container hgroup h2 {
  color: #FF6600;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_schedule--section.section03 .section_container hgroup p {
  color: #FF6600;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_schedule--section.section03 .section_container hgroup p {
    font-size: 1em;
  }
}

.P_schedule--dayContents:not(:last-of-type) {
  margin-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  .P_schedule--dayContents:not(:last-of-type) {
    margin: 0;
  }
}
.P_schedule--dayContents h3 {
  text-align: center;
  font-size: 2em;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .P_schedule--dayContents h3 {
    font-size: 2.5em;
    margin-bottom: 1.1em;
  }
}

ul.P_schedule_day--ul > li {
  padding-bottom: 2em;
  margin: 2em 0;
  list-style: none;
  border-bottom: 1px solid #44311A;
  display: grid;
  grid-template-columns: 4em 1fr;
  align-items: start;
  gap: 0 1.5em;
}
@media screen and (min-width: 768px) {
  ul.P_schedule_day--ul > li {
    padding: 0 0 1.8em 1.8em;
    margin: 1.8em 0;
    grid-template-columns: 3.2em 1fr;
    gap: 0 1.8em;
  }
}
ul.P_schedule_day--ul > li:last-of-type {
  margin-bottom: 0;
}
ul.P_schedule_day--ul > li p.time {
  text-align: center;
  color: #fff;
  font-size: 1.4em;
  padding: 0.5em 0;
  background-color: #44311A;
}
@media screen and (min-width: 768px) {
  ul.P_schedule_day--ul > li p.time {
    font-size: 1.1em;
    padding: 0.3em 0;
  }
}
ul.P_schedule_day--ul > li ul {
  padding-top: 0.2em;
}
@media screen and (min-width: 768px) {
  ul.P_schedule_day--ul > li ul {
    padding-top: 0.15em;
  }
}
ul.P_schedule_day--ul > li ul li {
  font-size: 1.4em;
  line-height: 1.6;
  list-style: none;
}
ul.P_schedule_day--ul > li ul li:not(:last-of-type) {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  ul.P_schedule_day--ul > li ul li:not(:last-of-type) {
    margin-bottom: 0.3em;
  }
}
@media screen and (min-width: 768px) {
  ul.P_schedule_day--ul > li ul li {
    font-size: 0.9em;
  }
}

section.P_visit--section.section01 {
  padding: 4.5em 0;
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 {
    padding: 5em 0 7em;
  }
}
section.P_visit--section.section01 h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
section.P_visit--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_visit--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_visit--section.section01 .section_container hgroup h2 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 .section_container hgroup h2 {
    font-size: 2.8em;
  }
}
section.P_visit--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_visit--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 .section_container > p {
    font-size: 0.95em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_visit--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_visit--section.section02 {
  padding: 4em 0 5.5em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 {
    padding: 4em 0 5em;
  }
}
section.P_visit--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto auto/1fr 1fr;
    grid-auto-flow: column;
    gap: 0 5em;
  }
}
section.P_visit--section.section02 .section_container h2 {
  font-size: 3em;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 .section_container h2 {
    font-size: 2.4em;
    margin-bottom: 0.6em;
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 .section_container h2 br {
    display: none;
  }
}
section.P_visit--section.section02 .section_container .box:not(:last-of-type) {
  margin-bottom: 9em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 .section_container .box:not(:last-of-type) {
    margin: 0;
  }
}
section.P_visit--section.section02 .section_container .box > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 .section_container .box > p {
    font-size: 0.95em;
    font-size: 0.9em;
  }
}
section.P_visit--section.section02 .section_container .box > p span {
  background: linear-gradient(transparent 50%, rgba(255, 204, 1, 0.5) 0%);
}
section.P_visit--section.section02 .section_container .box > a {
  color: #1B9143;
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 2em;
  display: flex;
  gap: 0 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section02 .section_container .box > a {
    font-size: 1em;
    margin-bottom: 1.5em;
  }
}

.P_visit_contactBox a {
  max-width: 31.5em;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 0 1.8em;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a {
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0;
    gap: 0 1.2em;
  }
}
.P_visit_contactBox a.line {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a.line {
    margin-bottom: 1.2em;
  }
}
.P_visit_contactBox a.line .img {
  width: 6em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a.line .img {
    width: 3.4em;
  }
}
.P_visit_contactBox a.line > p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a.line > p {
    font-size: 0.9em;
  }
}
.P_visit_contactBox a.line > p i {
  font-size: 0.8em;
  margin-left: 0.4em;
  translate: 0 -10%;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a.line > p br.br_sp {
    display: none;
  }
}
.P_visit_contactBox a.tel i {
  color: #fff;
  font-size: 3em;
  width: 2em;
  background-color: #53AC71;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a.tel i {
    font-size: 1.7em;
  }
}
.P_visit_contactBox a.tel p {
  font-size: 4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_visit_contactBox a.tel p {
    font-size: 3em;
  }
}

section.P_visit--section.section03 {
  padding-bottom: 9em;
}
section.P_visit--section.section03 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
  display: grid;
  gap: 6em 0;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
    grid-template-columns: 1fr 1fr;
    gap: 3.5em 2.5em;
  }
}
section.P_visit--section.section03 .section_container p.note {
  color: #1B9143;
  font-size: 1.4em;
  line-height: 1.6;
  padding-left: 1.1em;
  margin-bottom: 1.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container p.note {
    font-size: 0.95em;
    margin: 0 auto;
    margin-inline: auto;
    grid-column: span 2;
  }
}
section.P_visit--section.section03 .section_container p.note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box:has(.columns_02) {
    grid-column: span 2;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box:has(.text) {
    grid-column: span 2;
    grid-template-columns: 1fr 1fr;
  }
}
section.P_visit--section.section03 .section_container .box h2 {
  text-align: center;
  font-size: 3em;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box h2 {
    font-size: 2.4em;
    margin-bottom: 0.6em;
  }
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box h2.columns_02 {
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box h2 br {
    display: none;
  }
}
section.P_visit--section.section03 .section_container .box > p {
  text-align: center;
  font-size: 1.4em;
  line-height: 1.4;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box > p {
    font-size: 0.95em;
  }
}
section.P_visit--section.section03 .section_container .box > p br {
  display: none;
}
section.P_visit--section.section03 .section_container .box > a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_visit--section.section03 .section_container .box > a {
    font-size: 1em;
    width: 9.5em;
    height: 3em;
  }
}

ul.P_visit_tel--ul {
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul.columns_02 {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
  }
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul.columns_02:not(:has(:nth-of-type(2))) {
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul.columns_02 li {
    width: calc(50% - 1em);
  }
}
ul.P_visit_tel--ul li {
  padding: 2em 0 2.2em;
  border: 1px solid #44311A;
  border-radius: 20px;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul li {
    padding: 1.2em 0 2.5em;
  }
}
ul.P_visit_tel--ul li > p {
  text-align: center;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul li > p {
    font-size: 0.9em;
    height: 1.4em;
    margin-bottom: 2.5em;
  }
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul li > p br.br_sp {
    display: none;
  }
}
ul.P_visit_tel--ul li a {
  max-width: -moz-max-content;
  max-width: max-content;
  margin-left: 15%;
  position: relative;
  padding-left: 5em;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul li a {
    padding-left: 5.7em;
    margin-left: 13%;
  }
}
ul.P_visit_tel--ul li a > i {
  color: #fff;
  font-size: 2em;
  width: 2em;
  background-color: #53AC71;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -45%;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  ul.P_visit_tel--ul li a > i {
    font-size: 2.2em;
  }
}
ul.P_visit_tel--ul li a p {
  font-size: 3em;
  font-weight: bold;
}
section.P_faq--section.section01 {
  padding: 4.5em 0;
  background-color: #FF6600;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 {
    padding: 5em 0;
  }
}
section.P_faq--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_faq--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_faq--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_faq--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_faq--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_faq--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_faq--section.section02 {
  padding: 7em 0 10em;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section02 {
    padding: 5.5em 0 10em;
  }
}
section.P_faq--section.section02 .section_container {
  width: 88%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_faq--section.section02 .section_container {
    width: 98%;
    max-width: 700px;
  }
}

.P_faq--tabBox {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  .P_faq--tabBox {
    margin-bottom: 4em;
  }
}
.P_faq--tabBox ul {
  text-align: center;
  border-bottom: 1px solid #FF6600;
  display: grid;
  grid-template-columns: 10em 10em;
  justify-content: center;
  gap: 0 3.5em;
}
@media screen and (min-width: 768px) {
  .P_faq--tabBox ul {
    grid-template-columns: 15em 15em;
    gap: 0 2em;
  }
}
.P_faq--tabBox ul li {
  list-style: none;
}

button.P_faq--tabButton {
  color: #fff;
  font-size: 1.4em;
  font-weight: 600;
  width: 100%;
  padding: 0.5em 0;
  background-color: #FF6600;
  border: 1px solid #FF6600;
  border-bottom: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  button.P_faq--tabButton {
    font-size: 1em;
    padding: 1em 0;
  }
}
button.P_faq--tabButton.active {
  color: #FF6600;
  background-color: transparent;
}
button.P_faq--tabButton.active::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #F8F2E5;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 50%;
}
@media screen and (min-width: 768px) {
  button.P_faq--tabButton br {
    display: none;
  }
}

.P_faq--tabContents {
  display: none;
}
.P_faq--tabContents.active {
  display: block;
}
.P_faq--tabContents hgroup {
  text-align: center;
  margin-bottom: 3em;
}
.P_faq--tabContents hgroup h2 {
  color: #FF6600;
  font-size: 3em;
  margin-bottom: 0.5em;
}
.P_faq--tabContents hgroup p {
  color: #FF6600;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_faq--tabContents hgroup p {
    font-size: 1em;
  }
}
.P_faq--tabContents .text_box {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .P_faq--tabContents .text_box {
    max-width: 30em;
    margin: 0 auto 3em;
  }
}
.P_faq--tabContents .text_box p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_faq--tabContents .text_box p {
    font-size: 0.95em;
  }
}
.P_faq--tabContents .text_box ul li {
  font-size: 1.4em;
  line-height: 1.6;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .P_faq--tabContents .text_box ul li {
    font-size: 0.95em;
  }
}

dl.P_faq_accordion--dl {
  border-bottom: 1px solid #44311A;
}
dl.P_faq_accordion--dl dt {
  border-top: 1px solid #44311A;
  position: relative;
}
dl.P_faq_accordion--dl dt p {
  font-size: 1.5em;
  line-height: 1.4;
  padding: 1.5em 1em;
}
@media screen and (min-width: 768px) {
  dl.P_faq_accordion--dl dt p {
    font-size: 0.9em;
  }
}
dl.P_faq_accordion--dl dd {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
dl.P_faq_accordion--dl dd p {
  font-size: 1.5em;
  line-height: 1.6;
  padding: 0 1em 1.5em;
}
@media screen and (min-width: 768px) {
  dl.P_faq_accordion--dl dd p {
    font-size: 0.9em;
  }
}

button.P_faq--accordionButton {
  height: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  aspect-ratio: 1/1.4;
  cursor: pointer;
}
button.P_faq--accordionButton::before, button.P_faq--accordionButton::after {
  content: "";
  width: 45%;
  height: 2px;
  background-color: #FF6600;
  border-radius: 2px;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
button.P_faq--accordionButton::after {
  rotate: 90deg;
  transition: all 0.3s;
}
.open button.P_faq--accordionButton::after {
  rotate: 0deg;
}

article.S_facility--article {
  padding: 4em 0 5.5em;
}
@media screen and (min-width: 768px) {
  article.S_facility--article {
    padding: 4.5em 0 5.5em;
  }
}
article.S_facility--article .article_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  article.S_facility--article .article_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto auto 1fr auto/1fr 1fr;
    gap: 0 5em;
  }
}
article.S_facility--article .article_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  article.S_facility--article .article_container hgroup {
    margin-bottom: 1.2em;
  }
}
article.S_facility--article .article_container hgroup p.area {
  color: #1B9143;
  font-size: 3em;
  font-family: "Figtree";
  font-weight: 600;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  article.S_facility--article .article_container hgroup p.area {
    font-size: 2.8em;
    margin-bottom: 0.3em;
  }
}
article.S_facility--article .article_container hgroup h1 {
  font-size: 2.5em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  article.S_facility--article .article_container hgroup h1 {
    font-size: 2.3em;
  }
}
article.S_facility--article .article_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  article.S_facility--article .article_container p.text {
    font-size: 1em;
    margin: 0;
  }
}

.S_facility_img--swiper {
  margin-bottom: 3em;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .S_facility_img--swiper {
    margin: 0;
    grid-column: 2/3;
    grid-row: 1/3;
    align-self: start;
  }
}
.S_facility_img--swiper .swiper-wrapper .swiper-slide img {
  border-radius: 2.5em;
}
@media screen and (min-width: 768px) {
  .S_facility_img--swiper .swiper-wrapper .swiper-slide img {
    border-radius: 1.5em;
  }
}

.S_facility_img_swiper--pagination {
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
}
.S_facility_img_swiper--pagination span.swiper-pagination-bullet-active {
  background-color: #1B9143;
}

@media screen and (min-width: 768px) {
  dl.S_facility--dl {
    margin-top: 4em;
    display: grid;
    grid-template-columns: 13em 1fr;
    grid-column: span 2;
  }
}
dl.S_facility--dl dt {
  text-align: center;
  color: #fff;
  font-size: 1.6em;
  font-weight: bold;
  padding: 1em 0;
  background-color: #44311A;
}
@media screen and (min-width: 768px) {
  dl.S_facility--dl dt {
    font-size: 1em;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  dl.S_facility--dl dt:not(:last-of-type) {
    border-bottom: 1px solid #fff;
  }
}
dl.S_facility--dl dd {
  font-size: 1.4em;
  line-height: 1.4;
  padding: 1.3em;
  border: 1px solid #44311A;
}
@media screen and (min-width: 768px) {
  dl.S_facility--dl dd {
    font-size: 1em;
    padding: 1.3em 1.8em;
  }
}
@media screen and (min-width: 768px) {
  dl.S_facility--dl dd br {
    display: none;
  }
}

h2.S_facility_section--h2 {
  color: #1B9143;
  font-size: 3em;
}

section.S_facility--section.section01 {
  padding-bottom: 5.5em;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
  }
}
section.S_facility--section.section01 .section_container h2.S_facility_section--h2 {
  width: 84%;
  margin: 0 auto 1.4em;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section01 .section_container h2.S_facility_section--h2 {
    width: 100%;
    margin: 0 auto 1.1em;
  }
}
section.S_facility--section.section01 .section_container .map iframe {
  width: 100%;
  height: 35em;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section01 .section_container .map iframe {
    height: 25em;
  }
}

section.S_facility--section.section02 {
  padding-bottom: 11em;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section02 {
    padding-bottom: 9em;
  }
}
section.S_facility--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 3em 0;
  }
}
section.S_facility--section.section02 .section_container h2.S_facility_section--h2 {
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section02 .section_container h2.S_facility_section--h2 {
    margin: 0;
  }
}
section.S_facility--section.section02 .section_container a.FP_common--button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.S_facility--section.section02 .section_container a.FP_common--button {
    grid-row: 1/2;
    grid-column: 2/3;
  }
}

.S_facility_section--swiperBox {
  width: 71%;
  margin: 0 auto 5.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .S_facility_section--swiperBox {
    width: 100%;
    min-width: 100%;
    margin: 0;
    grid-column: span 2;
  }
}

.S_facility_section--swiper {
  overflow: hidden;
}

.S_facility_section--swiperItem .thumbnail {
  margin-bottom: 1.1em;
  border-radius: 20px;
  grid-column: span 2;
}
.S_facility_section--swiperItem .thumbnail img {
  width: 100%;
  height: 15em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .S_facility_section--swiperItem .thumbnail img {
    height: 8.2em;
  }
}
.S_facility_section--swiperItem p.date {
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .S_facility_section--swiperItem p.date {
    text-align: left;
    font-size: 0.7em;
  }
}
.S_facility_section--swiperItem p.text {
  font-size: 1.6em;
  line-height: 1.4;
  margin-top: 1.2em;
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  .S_facility_section--swiperItem p.text {
    font-size: 0.8em;
  }
}

.S_facility_section--swiperButton.swiper-button-prev, .S_facility_section--swiperButton.swiper-button-next {
  width: 3.9em;
  height: auto;
  margin: 0;
  background-color: #44311A;
  border-radius: 50%;
  top: 7.5em;
  aspect-ratio: 1;
}
.S_facility_section--swiperButton.swiper-button-prev.swiper-button-disabled, .S_facility_section--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.S_facility_section--swiperButton.swiper-button-prev::after, .S_facility_section--swiperButton.swiper-button-next::after {
  color: #fff;
  font-size: 2em;
}
.S_facility_section--swiperButton.swiper-button-prev {
  left: 0;
  translate: -150% -50%;
}
.S_facility_section--swiperButton.swiper-button-next {
  right: 0;
  translate: 150% -50%;
}

section.P_blog--section.section01 {
  padding: 4em 0 13.5em;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 {
    padding: 4.5em 0 9em;
  }
}
section.P_blog--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto auto 1fr auto/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_blog--section.section01 .section_container > hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 .section_container > hgroup {
    margin-bottom: 1.2em;
  }
}
section.P_blog--section.section01 .section_container > hgroup h1 {
  color: #1B9143;
  font-size: 3em;
  font-family: "Figtree";
  font-weight: 600;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 .section_container > hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_blog--section.section01 .section_container > hgroup p {
  font-size: 2.4em;
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 .section_container > hgroup p {
    font-size: 2.3em;
  }
}
section.P_blog--section.section01 .section_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 .section_container p.text {
    font-size: 1em;
    margin: 0;
  }
}
section.P_blog--section.section01 .section_container .img {
  margin-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  section.P_blog--section.section01 .section_container .img {
    margin: 0;
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
section.P_blog--section.section01 .section_container .img img {
  border-radius: 20px;
}

ul.P_blog--ul {
  display: grid;
  gap: 7em 0;
}
@media screen and (min-width: 768px) {
  ul.P_blog--ul {
    margin-top: 5em;
    grid-template-columns: 1fr 1fr;
    grid-column: span 2;
    gap: 5em 0;
  }
}
ul.P_blog--ul li {
  text-align: center;
  list-style: none;
}
ul.P_blog--ul li hgroup {
  margin-bottom: 3em;
}
ul.P_blog--ul li hgroup h2 {
  font-size: 2.4em;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  ul.P_blog--ul li hgroup h2 {
    font-size: 1.7em;
  }
}
ul.P_blog--ul li hgroup p {
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  ul.P_blog--ul li hgroup p {
    font-size: 1.2em;
  }
}
ul.P_blog--ul li.blue h2 {
  color: #1D2087;
}
ul.P_blog--ul li.green h2 {
  color: #1B9143;
}
ul.P_blog--ul li.orange h2 {
  color: #FF6600;
}
ul.P_blog--ul li.light_blue h2 {
  color: #3399FF;
}
ul.P_blog--ul li .button_box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2em;
}
@media screen and (min-width: 768px) {
  ul.P_blog--ul li .button_box {
    gap: 0 1em;
  }
}
ul.P_blog--ul li .button_box a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.P_blog--ul li .button_box a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}
ul.P_blog--ul li.blue .button_box a {
  background-color: #1D2087;
}
ul.P_blog--ul li.green .button_box a {
  background-color: #1B9143;
}
ul.P_blog--ul li.orange .button_box a {
  background-color: #FF6600;
}
ul.P_blog--ul li.light_blue .button_box a {
  background-color: #3399FF;
}

section.A_post--section {
  padding: 4em 0 10em;
}
@media screen and (min-width: 768px) {
  section.A_post--section {
    padding: 4.5em 0 9em;
  }
}
section.A_post--section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.A_post--section .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr 14.5em;
    gap: 0 1.3em;
  }
}
section.A_post--section .section_container hgroup {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  section.A_post--section .section_container hgroup {
    margin-bottom: 4.5em;
    grid-column: span 2;
  }
}
section.A_post--section .section_container hgroup p {
  font-size: 3em;
  font-weight: 600;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.A_post--section .section_container hgroup p {
    font-size: 2.8em;
    margin-bottom: 0.3em;
  }
}
section.A_post--section .section_container hgroup.headquarters p {
  color: #1D2087;
}
section.A_post--section .section_container hgroup.kakuozan p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.shiogamaguchi p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.uedayama p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.nagakute p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.kachigawa p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.kachigawa-minami p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.kariya p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup.tokugawaen p {
  color: #FF6600;
}
section.A_post--section .section_container hgroup.honamien p {
  color: #FF6600;
}
section.A_post--section .section_container hgroup.kinnzyouen p {
  color: #FF6600;
}
section.A_post--section .section_container hgroup.aoien p {
  color: #FF6600;
}
section.A_post--section .section_container hgroup.kachigawaen p {
  color: #FF6600;
}
section.A_post--section .section_container hgroup.tokugawaen2 p {
  color: #FF6600;
}
section.A_post--section .section_container hgroup.after-kachigawa p {
  color: #3399FF;
}
section.A_post--section .section_container hgroup.news p {
  color: #1B9143;
}
section.A_post--section .section_container hgroup h1 {
  font-size: 2.4em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.A_post--section .section_container hgroup h1 {
    font-size: 2.3em;
  }
}

.A_post--articleBox {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  .A_post--articleBox {
    margin-bottom: 2.5em;
  }
}

article.A_post--article {
  padding: 2em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  article.A_post--article {
    padding: 2.2em;
  }
}
article.A_post--article:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  article.A_post--article:not(:last-of-type) {
    margin-bottom: 3em;
  }
}
article.A_post--article p.date {
  font-size: 1.4em;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  article.A_post--article p.date {
    font-size: 0.9em;
    margin-bottom: 1.6em;
  }
}
article.A_post--article h2 {
  font-size: 1.7em;
  line-height: 1.4;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  article.A_post--article h2 {
    font-size: 1.2em;
  }
}
article.A_post--article .content p {
  font-size: 1.4em;
  line-height: 1.63;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  article.A_post--article .content p {
    font-size: 0.9em;
    margin-bottom: 1em;
  }
}
article.A_post--article .content img {
  max-width: 600px;
  display: block;
}
article.A_post--article .content img.is-gif {
  width: auto;
  display: inline;
}

.A_post--pagination {
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto 7em;
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media screen and (min-width: 768px) {
  .A_post--pagination {
    margin: 0 auto;
    gap: 0 0.6em;
  }
}
.A_post--pagination span.page-numbers.current {
  color: #fff;
  font-size: 2em;
  width: 1.5em;
  padding-bottom: 0.1em;
  background-color: #1B9143;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .A_post--pagination span.page-numbers.current {
    font-size: 1.1em;
  }
}
.A_post--pagination a.page-numbers {
  font-size: 2em;
  width: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1.5;
}
@media screen and (min-width: 768px) {
  .A_post--pagination a.page-numbers {
    font-size: 1.1em;
  }
}
.A_post--pagination a.prev.page-numbers, .A_post--pagination a.next.page-numbers {
  color: #1B9143;
  font-size: 1.5em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .A_post--pagination a.prev.page-numbers, .A_post--pagination a.next.page-numbers {
    font-size: 1em;
  }
}

aside.A_post--aside {
  padding: 2.5em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  aside.A_post--aside {
    padding: 1.4em 1.4em 2em;
    align-self: start;
    grid-column: 2/3;
    grid-row: 2/4;
  }
}
aside.A_post--aside h2 {
  color: #1B9143;
  font-size: 2.4em;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  aside.A_post--aside h2 {
    font-size: 1.7em;
  }
}

ul.A_post_aside--ul li {
  list-style: none;
}
ul.A_post_aside--ul li:not(:last-of-type) {
  margin-bottom: 1em;
}
ul.A_post_aside--ul li a {
  font-size: 1.6em;
  max-width: -moz-max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media screen and (min-width: 768px) {
  ul.A_post_aside--ul li a {
    font-size: 1em;
  }
}
ul.A_post_aside--ul li a i {
  color: #fff;
  font-size: 0.7em;
  width: 1.6em;
  background-color: #2C8031;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}

section.S_post--section {
  padding: 4em 0 10em;
}
@media screen and (min-width: 768px) {
  section.S_post--section {
    padding: 4.5em 0 9em;
  }
}
section.S_post--section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.S_post--section .section_container {
    width: 98%;
    max-width: 1170px;
  }
}

article.S_post--article {
  padding: 2em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  article.S_post--article {
    padding: 2.2em;
  }
}
article.S_post--article:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  article.S_post--article:not(:last-of-type) {
    margin-bottom: 3em;
  }
}
article.S_post--article p.date {
  font-size: 1.4em;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  article.S_post--article p.date {
    font-size: 0.9em;
    margin-bottom: 1.6em;
  }
}
article.S_post--article h2 {
  font-size: 1.7em;
  line-height: 1.4;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  article.S_post--article h2 {
    font-size: 1.2em;
  }
}
article.S_post--article .content p {
  font-size: 1.4em;
  line-height: 1.63;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  article.S_post--article .content p {
    font-size: 0.9em;
    margin-bottom: 1em;
  }
}
article.S_post--article .content img {
  max-width: 600px;
  display: block;
}
article.S_post--article .content img.is-gif {
  width: auto;
  display: inline;
}

section.P_contact--section.section01 {
  padding: 4.5em 0;
  background-color: #3399FF;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 {
    padding: 5em 0;
  }
}
section.P_contact--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_contact--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_contact--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_contact--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_contact--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_contact--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_contact--section.section02 {
  padding: 5em 0 12em;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section02 {
    padding: 4.5em 0 12em;
  }
}
section.P_contact--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_contact--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}

ul.P_contact--ul {
  display: grid;
  gap: 6em 0;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul {
    grid-template-columns: 1fr 1fr;
    gap: 8em 5em;
  }
}
ul.P_contact--ul li {
  list-style: none;
}
ul.P_contact--ul li h3 {
  font-size: 3em;
  font-weight: 500;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li h3 {
    font-size: 2.2em;
    margin-bottom: 1.2em;
  }
}
ul.P_contact--ul li > p {
  font-size: 1.4em;
  line-height: 1.8;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li > p {
    font-size: 1em;
    margin-bottom: 2.5em;
  }
}
ul.P_contact--ul li a.button {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li a.button {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}
ul.P_contact--ul li a.line {
  max-width: -moz-max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  gap: 0 1.8em;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li a.line {
    gap: 0 0.9em;
  }
}
ul.P_contact--ul li a.line img {
  width: 6em;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li a.line img {
    width: 3.4em;
  }
}
ul.P_contact--ul li a.line p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li a.line p {
    font-size: 0.8em;
  }
}
ul.P_contact--ul li a.line p i {
  font-size: 0.8em;
  margin-left: 0.4em;
  translate: 0 -10%;
}
@media screen and (min-width: 768px) {
  ul.P_contact--ul li a.line p br.br_sp {
    display: none;
  }
}

section.P_contact-facility--section.section01 {
  padding: 4.5em 0;
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 {
    padding: 5em 0 4.5em;
  }
}
section.P_contact-facility--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_contact-facility--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_contact-facility--section.section01 .section_container hgroup h1 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_contact-facility--section.section01 .section_container hgroup p {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_contact-facility--section.section01 .section_container > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_contact-facility--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_contact-facility--section.section01 .section_container figure img {
  border-radius: 20px;
}

.P_contact-facility--contents {
  padding-bottom: 10em;
}
@media screen and (min-width: 768px) {
  .P_contact-facility--contents {
    padding-bottom: 8em;
  }
}
.P_contact-facility--contents .contents_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contact-facility--contents .contents_container {
    width: 98%;
    max-width: 1170px;
  }
}
.P_contact-facility--contents .contents_container > p {
  font-size: 1.4em;
  line-height: 1.8;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  .P_contact-facility--contents .contents_container > p {
    font-size: 1em;
    margin-bottom: 6em;
  }
}

dl.form_dl {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  dl.form_dl {
    max-width: 820px;
    margin: 0 auto 2.2em;
    display: grid;
    grid-template-columns: 14em 1fr;
  }
}
dl.form_dl dt, dl.form_dl dd {
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt, dl.form_dl dd {
    font-size: 1em;
  }
}
dl.form_dl dt {
  line-height: 1.4;
  margin-bottom: 0.8em;
  position: relative;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt {
    padding: 0.6em 0 0.6em 3.5em;
    margin-bottom: 1.7em;
  }
  .P_contact-english--contents dl.form_dl dt {
    padding: 0.6em 0 0.6em 4.5em;
  }
}
dl.form_dl dt.must {
  display: flex;
  align-items: center;
  gap: 0 0.7em;
}
dl.form_dl dt.must::before {
  content: "必須";
  color: #fff;
  font-size: 0.7em;
  font-weight: bold;
  padding: 0.5em;
  background-color: #E64444;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt.must::before {
    padding: 0.6em 0.8em;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
  }
}
dl.form_dl dt.must.eng::before {
  content: "Required";
}
dl.form_dl dd {
  position: relative;
}
dl.form_dl dd:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd:not(:last-of-type) {
    margin-bottom: 1.7em;
  }
}
dl.form_dl dd.time {
  display: grid;
  grid-template-columns: 7em 7em;
  gap: 0 1em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd.time {
    grid-template-columns: 6em 6em;
  }
}
dl.form_dl dd.time > span {
  display: flex;
  align-items: end;
  gap: 0 0.5em;
}
dl.form_dl dd.time > span span.wpcf7-form-control-wrap {
  height: 100%;
}
dl.form_dl dd input[type=text], dl.form_dl dd input[type=email], dl.form_dl dd textarea, dl.form_dl dd select {
  width: 100%;
  height: 100%;
  padding: 0.8em;
  border: none;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd input[type=text], dl.form_dl dd input[type=email], dl.form_dl dd textarea, dl.form_dl dd select {
    padding: 0 0.8em;
  }
}
dl.form_dl dd select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd select {
    max-width: 50%;
  }
}
dl.form_dl dd span.wpcf7-radio {
  padding: 1em 0;
  display: inline-block;
}
dl.form_dl dd span.wpcf7-radio span.wpcf7-list-item {
  margin: 0 1em 0 0;
}
dl.form_dl dd.select::before, dl.form_dl dd.select::after {
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd.select::before, dl.form_dl dd.select::after {
    right: 50%;
  }
}
dl.form_dl dd.select::before {
  background-color: #B5B5B5;
  top: 0;
  pointer-events: none;
  z-index: 1;
}
dl.form_dl dd.select::after {
  background-color: #fff;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  top: 50%;
  translate: 0 -50%;
  scale: 0.4 0.35;
  z-index: 2;
}

.form_button input {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .form_button input {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}
.form_button span.wpcf7-spinner {
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 0;
}

section.P_recruitment-inquiries--section.section01 {
  padding: 4.5em 0;
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 {
    padding: 5em 0 4.5em;
  }
}
section.P_recruitment-inquiries--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_recruitment-inquiries--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_recruitment-inquiries--section.section01 .section_container hgroup h1 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_recruitment-inquiries--section.section01 .section_container hgroup p {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_recruitment-inquiries--section.section01 .section_container > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruitment-inquiries--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_recruitment-inquiries--section.section01 .section_container figure img {
  border-radius: 20px;
}

.P_recruitment-inquiries--contents {
  padding-bottom: 10em;
}
@media screen and (min-width: 768px) {
  .P_recruitment-inquiries--contents {
    padding-bottom: 8em;
  }
}
.P_recruitment-inquiries--contents .contents_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_recruitment-inquiries--contents .contents_container {
    width: 98%;
    max-width: 1170px;
  }
}
.P_recruitment-inquiries--contents .contents_container > p {
  font-size: 1.4em;
  line-height: 1.8;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  .P_recruitment-inquiries--contents .contents_container > p {
    font-size: 1em;
    margin-bottom: 6em;
  }
}

section.P_contact-english--section.section01 {
  padding: 4.5em 0;
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 {
    padding: 5em 0 4.5em;
  }
}
section.P_contact-english--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_contact-english--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_contact-english--section.section01 .section_container hgroup h1 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_contact-english--section.section01 .section_container hgroup p {
  font-size: 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_contact-english--section.section01 .section_container > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_contact-english--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_contact-english--section.section01 .section_container figure img {
  border-radius: 20px;
}

.P_contact-english--contents {
  padding-bottom: 10em;
}
@media screen and (min-width: 768px) {
  .P_contact-english--contents {
    padding-bottom: 8em;
  }
}
.P_contact-english--contents .contents_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contact-english--contents .contents_container {
    width: 98%;
    max-width: 1170px;
  }
}
.P_contact-english--contents .contents_container > p {
  font-size: 1.4em;
  line-height: 1.8;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  .P_contact-english--contents .contents_container > p {
    font-size: 1em;
    margin-bottom: 6em;
  }
}

section.P_prospective--section.section01 {
  padding: 4.5em 0;
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 {
    padding: 5em 0;
  }
}
section.P_prospective--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_prospective--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_prospective--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_prospective--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_prospective--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_prospective--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_prospective--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_prospective--section.section02 {
  padding: 4em 0 11em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section02 {
    padding: 3.5em 0 6em;
  }
}
section.P_prospective--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section02 .section_container {
    width: 98%;
    max-width: 1130px;
  }
}
section.P_prospective--section.section02 .section_container hgroup {
  text-align: center;
  margin-bottom: 3.6em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section02 .section_container hgroup {
    margin-bottom: 2.5em;
  }
}
section.P_prospective--section.section02 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_prospective--section.section02 .section_container hgroup p {
  color: #3399FF;
  font-size: 1.4em;
  font-weight: bold;
}
section.P_prospective--section.section02 .section_container h3 {
  text-align: center;
  font-size: 2.4em;
  font-weight: 500;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section02 .section_container h3 {
    font-size: 2.2em;
  }
}
section.P_prospective--section.section02 .section_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section02 .section_container p.text {
    font-size: 1em;
    max-width: 1040px;
    margin: 0 auto 3.3em;
  }
}
section.P_prospective--section.section02 .section_container > a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  margin: 0 auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section02 .section_container > a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}

ul.P_prospective--ul {
  margin-bottom: 5em;
  display: grid;
  gap: 6.5em 0;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul {
    margin-bottom: 2.5em;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 2.6em 0;
  }
}
ul.P_prospective--ul li {
  padding: 2em;
  list-style: none;
  border: 1px solid #1B9143;
  border-radius: 20px;
  position: relative;
  counter-increment: number;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul li {
    padding: 1.5em 2.4em 2.4em;
  }
}
ul.P_prospective--ul li:not(:last-of-type)::before {
  content: "";
  width: 3.6em;
  height: 1.6em;
  background-color: #FFCC01;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  left: 50%;
  bottom: -4.2em;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul li:not(:last-of-type)::before {
    width: 2em;
    height: 0.9em;
    bottom: -1.8em;
  }
}
ul.P_prospective--ul li h4 {
  color: #1B9143;
  font-size: 2.2em;
  margin-bottom: 1.3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul li h4 {
    font-size: 1.4em;
    margin-bottom: 1em;
  }
}
ul.P_prospective--ul li h4::before {
  content: "0" counter(number) ".";
  font-size: 1.2em;
}
ul.P_prospective--ul li p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul li p {
    font-size: 1em;
  }
}
ul.P_prospective--ul li a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin: 2em auto 0;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul li a {
    font-size: 1em;
    width: 10.7em;
    height: 2.9em;
    margin: 2em 0 0;
  }
}
ul.P_prospective--ul li figure {
  margin-top: 3.5em;
}
@media screen and (min-width: 768px) {
  ul.P_prospective--ul li figure {
    height: 70%;
    margin: 0;
    position: absolute;
    right: 2.6em;
    top: 50%;
    translate: 0 -50%;
  }
}
ul.P_prospective--ul li figure img {
  height: 100%;
  border-radius: 20px;
}

section.P_prospective--section.section03 {
  padding: 0 0 10em;
}
section.P_prospective--section.section03 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_prospective--section.section03 .section_container hgroup {
  text-align: center;
  margin-bottom: 3.6em;
}
section.P_prospective--section.section03 .section_container hgroup h2 {
  color: #3399FF;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_prospective--section.section03 .section_container hgroup p {
  color: #3399FF;
  font-size: 1.4em;
  font-weight: bold;
}
section.P_prospective--section.section03 .section_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section03 .section_container p.text {
    font-size: 1em;
    max-width: 1040px;
    margin: 0 auto 3.3em;
  }
}
section.P_prospective--section.section03 .section_container > a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  margin: 0 auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_prospective--section.section03 .section_container > a {
    font-size: 1em;
    width: 9.5em;
    height: 3em;
    grid-row: 1/2;
    grid-column: 1/3;
    justify-self: right;
    align-self: end;
  }
}

section.P_parents--section.section01 {
  padding: 4.5em 0;
  background-color: #3399FF;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 {
    padding: 5em 0;
  }
}
section.P_parents--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_parents--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_parents--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_parents--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_parents--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_parents--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_parents--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_parents--section.section02 {
  padding: 3em 0 6em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section02 {
    padding: 3em 0 6em;
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
section.P_parents--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2em 0;
  }
}
section.P_parents--section.section02 .section_container hgroup {
  margin-bottom: 3.6em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section02 .section_container hgroup {
    display: flex;
    align-items: center;
    gap: 0 2em;
    margin: 0;
  }
}
section.P_parents--section.section02 .section_container hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_parents--section.section02 .section_container hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section02 .section_container hgroup p {
    font-size: 1em;
  }
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section02 .section_container hgroup p br {
    display: none;
  }
}
section.P_parents--section.section02 .section_container > a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section02 .section_container > a {
    font-size: 0.95em;
    width: 12em;
    height: 2.8em;
    grid-row: 1/2;
    grid-column: 2/3;
  }
}

.P_parents_section--swiperBox {
  width: 71%;
  margin: 0 auto 3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_parents_section--swiperBox {
    width: 100%;
    min-width: 100%;
    margin: 0;
    grid-column: span 2;
  }
}

.P_parents_section--swiper {
  overflow: hidden;
}

.P_parents_section--swiperItem a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.P_parents_section--swiperItem a .thumbnail {
  margin-bottom: 1.1em;
  border-radius: 20px;
  grid-column: span 2;
}
.P_parents_section--swiperItem a .thumbnail img {
  width: 100%;
  height: 15em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .P_parents_section--swiperItem a .thumbnail img {
    height: 8.2em;
  }
}
.P_parents_section--swiperItem a p.tag {
  color: #fff;
  font-size: 1.3em;
  padding: 0.8em 1.3em;
  background-color: #FF6C20;
}
@media screen and (min-width: 768px) {
  .P_parents_section--swiperItem a p.tag {
    font-size: 0.7em;
  }
}
.P_parents_section--swiperItem a p.date {
  text-align: right;
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .P_parents_section--swiperItem a p.date {
    text-align: left;
    font-size: 0.7em;
    padding-left: 1em;
  }
}
.P_parents_section--swiperItem a p.text {
  font-size: 1.6em;
  line-height: 1.4;
  margin-top: 1.2em;
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  .P_parents_section--swiperItem a p.text {
    font-size: 0.8em;
  }
}

.P_parents_section--swiperButton.swiper-button-prev, .P_parents_section--swiperButton.swiper-button-next {
  width: 3.9em;
  height: auto;
  margin: 0;
  background-color: #44311A;
  border-radius: 50%;
  top: 7.5em;
  aspect-ratio: 1;
}
.P_parents_section--swiperButton.swiper-button-prev.swiper-button-disabled, .P_parents_section--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.P_parents_section--swiperButton.swiper-button-prev::after, .P_parents_section--swiperButton.swiper-button-next::after {
  color: #fff;
  font-size: 2em;
}
.P_parents_section--swiperButton.swiper-button-prev {
  left: 0;
  translate: -150% -50%;
}
.P_parents_section--swiperButton.swiper-button-next {
  right: 0;
  translate: 150% -50%;
}

section.P_parents--section.section03 {
  padding-bottom: 7em;
}
section.P_parents--section.section03 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_parents--section.section03 .section_container hgroup {
  margin-bottom: 2.8em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section03 .section_container hgroup {
    margin-bottom: 1.8em;
  }
}
section.P_parents--section.section03 .section_container hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_parents--section.section03 .section_container hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
}
section.P_parents--section.section03 .section_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_parents--section.section03 .section_container p.text {
    font-size: 1em;
  }
}
section.P_parents--section.section03 .section_container a {
  max-width: 390px;
  display: block;
}

section.P_download--section.section01 {
  padding: 4.5em 0;
  background-color: #FF6600;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 {
    padding: 5em 0;
  }
}
section.P_download--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_download--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_download--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_download--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_download--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_download--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_download--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_download--section.section02 {
  padding: 4.5em 0 12em;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section02 {
    padding: 5em 0 9em;
  }
}
section.P_download--section.section02 .section_container {
  text-align: center;
  width: 83%;
  padding: 3.5em 0;
  margin-inline: auto;
  border: 1px solid #44311A;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section02 .section_container {
    width: 98%;
    max-width: 590px;
    padding: 2em 0;
  }
}
section.P_download--section.section02 .section_container h2 {
  color: #1D2087;
  font-size: 2.4em;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section02 .section_container h2 {
    font-size: 1.7em;
    margin-bottom: 0.5em;
  }
}
section.P_download--section.section02 .section_container p {
  font-size: 1.4em;
  margin-bottom: 2em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section02 .section_container p {
    font-size: 1.2em;
    margin-bottom: 1.8em;
  }
}
section.P_download--section.section02 .section_container a {
  color: #fff;
  font-size: 1.5em;
  width: 12.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1D2087;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_download--section.section02 .section_container a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}

section.P_privacy--section.section01 {
  padding: 4.5em 0 7em;
}
@media screen and (min-width: 768px) {
  section.P_privacy--section.section01 {
    padding: 5em 0 8em;
  }
}
section.P_privacy--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_privacy--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_privacy--section.section01 .section_container hgroup {
  margin-bottom: 5em;
}
section.P_privacy--section.section01 .section_container hgroup h1 {
  color: #1D2087;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_privacy--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_privacy--section.section01 .section_container hgroup p {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_privacy--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_privacy--section.section01 .section_container > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  section.P_privacy--section.section01 .section_container > p {
    font-size: 1em;
  }
}

ul.P_privacy--ul > li {
  list-style: none;
}
ul.P_privacy--ul > li h2 {
  font-size: 1.4em;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_privacy--ul > li h2 {
    font-size: 1em;
  }
}
ul.P_privacy--ul > li p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_privacy--ul > li p {
    font-size: 1em;
  }
}
ul.P_privacy--ul > li ul li {
  font-size: 1.4em;
  line-height: 1.6;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.P_privacy--ul > li ul li {
    font-size: 1em;
  }
}
ul.P_privacy--ul .margin_bottom {
  margin-bottom: 2em;
}

section.P_site-map--section.section01 {
  padding: 4.5em 0 15em;
}
@media screen and (min-width: 768px) {
  section.P_site-map--section.section01 {
    padding: 5em 0 10em;
  }
}
section.P_site-map--section.section01 .section_container hgroup {
  width: 84%;
  margin: 0 auto 6em;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_site-map--section.section01 .section_container hgroup {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_site-map--section.section01 .section_container hgroup h1 {
  color: #1D2087;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_site-map--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_site-map--section.section01 .section_container hgroup p {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_site-map--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}

ul.P_site-map--ul {
  width: 88%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul {
    width: 98%;
    max-width: 1170px;
  }
}
ul.P_site-map--ul > li {
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li {
    display: grid;
    grid-template-columns: auto auto;
    align-items: start;
    gap: 1.2em 0;
  }
}
ul.P_site-map--ul > li > a {
  font-size: 1.8em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li > a {
    font-size: 1em;
    grid-column: span 2;
  }
}

ul.P_site-map--ul > li > ul {
  margin: 2.5em 0 0 2em;
  display: grid;
  gap: 2.5em 0;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li > ul {
    margin: 0 0 0 1.2em;
    gap: 1.2em 0;
  }
}
ul.P_site-map--ul > li > ul:nth-of-type(2) {
  margin-top: 5em;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li > ul:nth-of-type(2) {
    margin: 0;
  }
}
ul.P_site-map--ul > li > ul > li {
  list-style: none;
}
ul.P_site-map--ul > li > ul > li a {
  font-size: 1.5em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li > ul > li a {
    font-size: 0.85em;
  }
}

ul.P_site-map--ul > li > ul li ul {
  margin: 2.5em 0 2.5em 1.5em;
  display: grid;
  gap: 1.2em 0;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li > ul li ul {
    margin: 1.2em 0 1em 1em;
    gap: 0.8em 0;
  }
}
ul.P_site-map--ul > li > ul li ul li {
  list-style: none;
}
ul.P_site-map--ul > li > ul li ul li a {
  font-size: 1.5em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_site-map--ul > li > ul li ul li a {
    font-size: 0.85em;
  }
}

section.P_school-tours--section.section01 {
  padding: 4.5em 0;
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 {
    padding: 5em 0;
  }
}
section.P_school-tours--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_school-tours--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_school-tours--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_school-tours--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_school-tours--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_school-tours--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_school-tours--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_school-tours--section.section02 {
  padding: 3em 0 9em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section02 {
    padding: 3.5em 0 6em;
  }
}
section.P_school-tours--section.section02 .section_container {
  width: 84%;
  margin: 0 auto 6em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
    margin: 0 auto 3.5em;
  }
}
section.P_school-tours--section.section02 .section_container hgroup {
  margin-bottom: 3.6em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section02 .section_container hgroup {
    margin-bottom: 2.7em;
  }
}
section.P_school-tours--section.section02 .section_container hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section02 .section_container hgroup h2 {
    margin-bottom: 0.3em;
  }
}
section.P_school-tours--section.section02 .section_container hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
section.P_school-tours--section.section02 .section_container a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section02 .section_container a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}

ul.P_school-tours--ul {
  width: 72%;
  margin: 0 auto 5em;
  display: grid;
  gap: 8em 0;
}
@media screen and (min-width: 768px) {
  ul.P_school-tours--ul {
    width: 100%;
    margin: 0 auto 2em;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 4.5em;
  }
}
ul.P_school-tours--ul li {
  list-style: none;
  position: relative;
  counter-increment: number;
}
ul.P_school-tours--ul li:not(:last-of-type)::before {
  content: "";
  width: 3.6em;
  height: 1.6em;
  background-color: #FFCC01;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  left: 50%;
  bottom: -4.8em;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.P_school-tours--ul li:not(:last-of-type)::before {
    width: 2em;
    height: 0.9em;
    rotate: -90deg;
    left: auto;
    right: -3.2em;
    bottom: 62%;
    translate: 0 0;
  }
}
ul.P_school-tours--ul li .img {
  margin-bottom: 1.5em;
}
ul.P_school-tours--ul li .img img {
  border-radius: 20px;
  aspect-ratio: 1/1.2;
  -o-object-fit: cover;
     object-fit: cover;
}
ul.P_school-tours--ul li h3 {
  color: #1B9143;
  font-size: 1.8em;
  margin-bottom: 1.3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_school-tours--ul li h3 {
    font-size: 1em;
    margin-bottom: 1em;
  }
}
ul.P_school-tours--ul li h3::before {
  content: "0" counter(number) ".";
  font-size: 1.35em;
}
ul.P_school-tours--ul li p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_school-tours--ul li p {
    font-size: 0.8em;
  }
}

section.P_school-tours--section.section03 {
  padding: 0 0 12em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 {
    padding: 0 0 8em;
  }
}
section.P_school-tours--section.section03 .section_container {
  width: 84%;
  margin: 0 auto 6em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
    margin: 0 auto 4em;
    display: grid;
    grid-template: auto auto 1fr/1fr 1fr;
    gap: 0 4.5em;
  }
}
section.P_school-tours--section.section03 .section_container hgroup {
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 .section_container hgroup {
    margin-bottom: 2.5em;
    grid-column: span 2;
  }
}
section.P_school-tours--section.section03 .section_container hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
section.P_school-tours--section.section03 .section_container hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
section.P_school-tours--section.section03 .section_container .text_box {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 .section_container .text_box {
    margin-bottom: 2.8em;
  }
}
section.P_school-tours--section.section03 .section_container .text_box p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 .section_container .text_box p {
    font-size: 1em;
  }
}
section.P_school-tours--section.section03 .section_container .text_box p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
section.P_school-tours--section.section03 .section_container .img {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 .section_container .img {
    margin: 0;
    grid-row: span 2;
  }
}
section.P_school-tours--section.section03 .section_container .img img {
  border-radius: 20px;
}
section.P_school-tours--section.section03 .section_container a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section03 .section_container a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
    margin: 0;
  }
}

section.P_school-tours--section.section04 {
  padding-bottom: 5.5em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section04 {
    padding-bottom: 6em;
  }
}
section.P_school-tours--section.section04 h2 {
  text-align: center;
  color: #44311A;
  font-size: 1.6em;
  font-weight: 500;
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section04 h2 {
    font-size: 1.1em;
    margin-bottom: 1.8em;
  }
}
section.P_school-tours--section.section04 .section_container {
  padding: 6.5em 0;
  background-color: #44311A;
}
@media screen and (min-width: 768px) {
  section.P_school-tours--section.section04 .section_container {
    padding: 2.3em 0;
  }
}

.P_school-tours_section04--swiperBox {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_school-tours_section04--swiperBox {
    width: 98%;
    max-width: 1170px;
  }
}

.P_school-tours_section04--swiper {
  width: 72%;
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .P_school-tours_section04--swiper {
    width: 100%;
  }
}

.P_school-tours_section04--swiperItem a img {
  width: 100%;
  height: 28.3em;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .P_school-tours_section04--swiperItem a img {
    height: 15.8em;
  }
}

.P_school-tours_section04--swiperButton.swiper-button-prev, .P_school-tours_section04--swiperButton.swiper-button-next {
  width: 3em;
  height: auto;
  margin: 0;
  background-color: #fff;
  border-radius: 50%;
  top: 50%;
  aspect-ratio: 1;
}
.P_school-tours_section04--swiperButton.swiper-button-prev.swiper-button-disabled, .P_school-tours_section04--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.P_school-tours_section04--swiperButton.swiper-button-prev::after, .P_school-tours_section04--swiperButton.swiper-button-next::after {
  content: none;
}
.P_school-tours_section04--swiperButton.swiper-button-prev {
  left: 0;
  translate: 0 -50%;
}
.P_school-tours_section04--swiperButton.swiper-button-next {
  right: 0;
  translate: 0 -50%;
}
.P_school-tours_section04--swiperButton i {
  font-size: 1.5em;
}

section.P_online--section.section01 {
  padding: 4.5em 0;
  background-color: #FF6600;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 {
    padding: 5em 0;
  }
}
section.P_online--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_online--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_online--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_online--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_online--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_online--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_online--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_online--section.section01 .section_container figure img {
  border-radius: 20px;
}

.P_online--contents {
  padding: 3.7em 0 9em;
}
@media screen and (min-width: 768px) {
  .P_online--contents {
    padding: 3.9em 0 10em;
  }
}
.P_online--contents .contents_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_online--contents .contents_container {
    width: 98%;
    max-width: 1170px;
  }
}

ul.P_online--ul li {
  border-radius: 20px;
  list-style: none;
}
ul.P_online--ul li:not(:last-of-type) {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  ul.P_online--ul li:not(:last-of-type) {
    margin-bottom: 2.8em;
  }
}
ul.P_online--ul li h2 {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.4;
  padding: 1.2em 1em;
  background-color: #44311A;
  border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 768px) {
  ul.P_online--ul li h2 {
    font-size: 1.2em;
    padding: 1em 2em;
  }
}

.P_online_ul--box {
  padding: 1.6em 2em 3.2em;
  background-color: #fff;
  border-radius: 0 0 20px 20px;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box {
    padding: 2.2em;
    display: grid;
    grid-template-columns: 24.4% 1fr auto;
    gap: 0 1.9em;
  }
}
.P_online_ul--box .img {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box .img {
    margin: 0;
    grid-row: span 4;
  }
}
.P_online_ul--box .img img {
  border-radius: 20px;
}
.P_online_ul--box .tag_box {
  margin-bottom: 2em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box .tag_box {
    margin-bottom: 1.7em;
    grid-column: span 2;
    gap: 0.6em;
  }
}
.P_online_ul--box .tag_box p {
  color: #fff;
  font-size: 1.2em;
  font-weight: 400;
  letter-spacing: 0.05em;
  background-color: #FF6C20;
  padding: 0.5em 1em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box .tag_box p {
    font-size: 0.7em;
    padding: 0.8em 1.2em;
  }
}
.P_online_ul--box dl {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box dl {
    margin-bottom: 2.5em;
    display: grid;
    grid-template-columns: 5em 1fr;
    grid-column: span 2;
  }
}
.P_online_ul--box dl dt, .P_online_ul--box dl dd {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box dl dt, .P_online_ul--box dl dd {
    font-size: 0.9em;
  }
}
.P_online_ul--box dl dt {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box dl dt {
    margin: 0;
  }
}
.P_online_ul--box dl dd:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box dl dd:not(:last-of-type) {
    margin: 0;
  }
}
.P_online_ul--box p.text {
  color: #1B9143;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box p.text {
    font-size: 0.9em;
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0 0 0 auto;
  }
}
.P_online_ul--box p.text br {
  display: none;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box p.text br {
    display: block;
  }
}
.P_online_ul--box a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .P_online_ul--box a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
    margin: 0;
  }
}

section.P_experience--section.section01 {
  padding: 4.5em 0;
  background-color: #3399FF;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 {
    padding: 5em 0;
  }
}
section.P_experience--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_experience--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_experience--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_experience--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_experience--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_experience--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_experience--section.section01 .section_container figure img {
  border-radius: 20px;
}

section.P_experience--section.section02 {
  padding: 3em 0 9em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 {
    padding: 3.5em 0 11em;
  }
}
section.P_experience--section.section02 .section_container {
  width: 84%;
  margin: 0 auto 6em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
    margin: 0 auto 3.5em;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0 6em;
  }
}
section.P_experience--section.section02 .section_container hgroup {
  margin-bottom: 3.6em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container hgroup {
    margin-bottom: 2.7em;
    grid-column: span 2;
  }
}
section.P_experience--section.section02 .section_container hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container hgroup h2 {
    margin-bottom: 0.3em;
  }
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container hgroup h2 br {
    display: none;
  }
}
section.P_experience--section.section02 .section_container hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container hgroup p {
    font-size: 1.2em;
  }
}
section.P_experience--section.section02 .section_container > p {
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container > p {
    font-size: 1.2em;
    margin-bottom: 1.6em;
    grid-column: span 2;
  }
}
section.P_experience--section.section02 .section_container .img {
  margin-bottom: 6.5em;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container .img {
    margin: 0;
  }
}
section.P_experience--section.section02 .section_container a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_experience--section.section02 .section_container a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
    margin: 4.5em auto 0;
    grid-column: span 2;
  }
}

ul.P_experience--ul01 {
  margin-bottom: 6.5em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em 2em;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul01 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 3.5em;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 1em;
    grid-column: span 2;
  }
}
ul.P_experience--ul01 li {
  text-align: center;
  padding-bottom: 1em;
  border-radius: 50%;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5em 0;
  aspect-ratio: 1;
}
ul.P_experience--ul01 li:first-of-type {
  background-color: #1B9143;
}
ul.P_experience--ul01 li:nth-of-type(2) {
  background-color: #3399FF;
}
ul.P_experience--ul01 li:nth-of-type(3) {
  background-color: #FF6600;
}
ul.P_experience--ul01 li:nth-of-type(4) {
  background-color: #FFCC01;
}
ul.P_experience--ul01 li span {
  color: #fff;
  font-size: 1.5em;
  font-family: "Caveat Brush", cursive;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul01 li span {
    font-size: 1.05em;
  }
}
ul.P_experience--ul01 li p {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul01 li p {
    font-size: 1.1em;
  }
}

ul.P_experience--ul02 {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 {
    width: -moz-max-content;
    width: max-content;
    margin: 0;
  }
}
ul.P_experience--ul02 li {
  list-style: none;
  padding: 0 0 3em 4.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 li {
    padding: 0 0 3.5em 3em;
  }
}
ul.P_experience--ul02 li:last-of-type {
  padding-bottom: 0;
}
ul.P_experience--ul02 li::before, ul.P_experience--ul02 li::after {
  content: "";
  background-color: #1B9143;
  position: absolute;
}
ul.P_experience--ul02 li::before {
  width: 2.5em;
  border-radius: 50%;
  aspect-ratio: 1;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 li::before {
    width: 1.7em;
    top: 0.3em;
  }
}
ul.P_experience--ul02 li:not(:last-of-type)::after {
  width: 1px;
  height: 100%;
  left: 1.25em;
  top: 0;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 li:not(:last-of-type)::after {
    left: 0.85em;
    top: 0.3em;
  }
}
ul.P_experience--ul02 li h3 {
  color: #1B9143;
  font-size: 1.8em;
  font-weight: bold;
  margin-bottom: 1.2em;
  display: flex;
  gap: 0 1em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 li h3 {
    font-size: 1.4em;
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 li h3 br {
    display: none;
  }
}
ul.P_experience--ul02 li p {
  font-size: 1.5em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_experience--ul02 li p {
    font-size: 1em;
  }
}

section.P_internships--section.section01 {
  padding: 4.5em 0;
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 {
    padding: 5em 0;
  }
}
section.P_internships--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.P_internships--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.P_internships--section.section01 .section_container hgroup h1 {
  color: #fff;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 0.5em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.P_internships--section.section01 .section_container hgroup p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.P_internships--section.section01 .section_container > p {
  color: #fff;
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
section.P_internships--section.section01 .section_container > p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_internships--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.P_internships--section.section01 .section_container figure img {
  border-radius: 20px;
}

.P_internships--contents {
  padding: 3.7em 0 9em;
}
@media screen and (min-width: 768px) {
  .P_internships--contents {
    padding: 3.9em 0 10em;
  }
}
.P_internships--contents .contents_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_internships--contents .contents_container {
    width: 98%;
    max-width: 1170px;
  }
}

ul.P_internships--ul li {
  border-radius: 20px;
  list-style: none;
}
ul.P_internships--ul li:not(:last-of-type) {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  ul.P_internships--ul li:not(:last-of-type) {
    margin-bottom: 2.8em;
  }
}
ul.P_internships--ul li h2 {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.4;
  padding: 1.2em 1em;
  background-color: #44311A;
  border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 768px) {
  ul.P_internships--ul li h2 {
    font-size: 1.2em;
    padding: 1em 2em;
  }
}

.P_internships_ul--box {
  padding: 1.6em 2em 3.2em;
  background-color: #fff;
  border-radius: 0 0 20px 20px;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box {
    padding: 2.2em;
    display: grid;
    grid-template-columns: 24.4% 1fr auto;
    gap: 0 1.9em;
  }
}
.P_internships_ul--box .img {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box .img {
    margin: 0;
    grid-row: span 4;
  }
}
.P_internships_ul--box .img img {
  border-radius: 20px;
}
.P_internships_ul--box .tag_box {
  margin-bottom: 2em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box .tag_box {
    margin-bottom: 1.7em;
    grid-column: span 2;
    gap: 0.6em;
  }
}
.P_internships_ul--box .tag_box p {
  color: #fff;
  font-size: 1.2em;
  font-weight: 400;
  letter-spacing: 0.05em;
  background-color: #FF6C20;
  padding: 0.5em 1em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box .tag_box p {
    font-size: 0.7em;
    padding: 0.8em 1.2em;
  }
}
.P_internships_ul--box dl {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box dl {
    margin-bottom: 2.5em;
    display: grid;
    grid-template-columns: 5em 1fr;
    grid-column: span 2;
  }
}
.P_internships_ul--box dl dt, .P_internships_ul--box dl dd {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box dl dt, .P_internships_ul--box dl dd {
    font-size: 0.9em;
  }
}
.P_internships_ul--box dl dt {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box dl dt {
    margin: 0;
  }
}
.P_internships_ul--box dl dd:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box dl dd:not(:last-of-type) {
    margin: 0;
  }
}
.P_internships_ul--box p.text {
  color: #1B9143;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box p.text {
    font-size: 0.9em;
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0 0 0 auto;
  }
}
.P_internships_ul--box p.text br {
  display: none;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box p.text br {
    display: block;
  }
}
.P_internships_ul--box a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  width: 12.5em;
  height: 3.4em;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .P_internships_ul--box a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
    margin: 0;
  }
}

section.A_recruit--section.section01 {
  padding: 4em 0 6em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 {
    padding: 4.5em 0 7em;
  }
}
section.A_recruit--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto auto 1fr auto/1fr 1fr;
    gap: 0 5em;
  }
}
section.A_recruit--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 .section_container hgroup {
    margin-bottom: 1.2em;
  }
}
section.A_recruit--section.section01 .section_container hgroup p.area {
  color: #1B9143;
  font-size: 3em;
  font-family: "Figtree";
  font-weight: 600;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 .section_container hgroup p.area {
    font-size: 2.8em;
    margin-bottom: 0.3em;
  }
}
section.A_recruit--section.section01 .section_container hgroup h1 {
  font-size: 2.5em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 .section_container hgroup h1 {
    font-size: 2.3em;
  }
}
section.A_recruit--section.section01 .section_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 .section_container p.text {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section01 .section_container .img {
    grid-column: 2/3;
    grid-row: 1/4;
  }
}

section.A_recruit--section.section02 {
  padding-bottom: 10em;
}
section.A_recruit--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.A_recruit--section.section02 .section_container p.text {
  font-size: 1.8em;
  line-height: 1.6;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section02 .section_container p.text {
    font-size: 1.3em;
    margin-bottom: 3.5em;
  }
}
section.A_recruit--section.section02 .section_container h2 {
  color: #2C8031;
  font-size: 3em;
  line-height: 1.4;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section02 .section_container h2 {
    font-size: 2.8em;
    margin-bottom: 1.5em;
  }
}
section.A_recruit--section.section02 .section_container p.no_item {
  font-size: 1.6em;
}
@media screen and (min-width: 768px) {
  section.A_recruit--section.section02 .section_container p.no_item {
    font-size: 1em;
  }
}
section.A_recruit--section.section02 .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
section.A_recruit--section.section02 .wave svg {
  width: 100%;
  height: 100%;
}

ul.A_recruit--ul {
  display: grid;
  gap: 3em 0;
}
@media screen and (min-width: 768px) {
  ul.A_recruit--ul {
    grid-template-columns: 1fr 1fr;
    gap: 2em;
  }
}
ul.A_recruit--ul li {
  text-align: center;
  padding: 2.8em 0 2.6em;
  border: 1px solid #44311A;
  border-radius: 20px;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.A_recruit--ul li {
    padding: 2.2em 0 2em;
  }
}
ul.A_recruit--ul li h3 {
  font-size: 1.6em;
  margin-bottom: 1.3em;
}
@media screen and (min-width: 768px) {
  ul.A_recruit--ul li h3 {
    font-size: 1.2em;
    margin-bottom: 1.5em;
  }
}
ul.A_recruit--ul li a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.A_recruit--ul li a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}

section.S_recruitment--section {
  padding: 4em 0 6em;
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section {
    padding: 4.5em 0 3em;
  }
}
section.S_recruitment--section .section_container {
  width: 84%;
  margin: 0 auto 6em;
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section .section_container {
    width: 98%;
    max-width: 1170px;
    margin: 0 auto 4em;
    display: grid;
    grid-template: auto auto 1fr auto/1fr 1fr;
    gap: 0 5em;
  }
}
section.S_recruitment--section .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section .section_container hgroup {
    margin-bottom: 1.2em;
  }
}
section.S_recruitment--section .section_container hgroup p.area {
  color: #1B9143;
  font-size: 3em;
  font-family: "Figtree";
  font-weight: 600;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section .section_container hgroup p.area {
    font-size: 2.8em;
    margin-bottom: 0.3em;
  }
}
section.S_recruitment--section .section_container hgroup h1 {
  font-size: 2.5em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section .section_container hgroup h1 {
    font-size: 2.3em;
  }
}
section.S_recruitment--section .section_container p.text {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section .section_container p.text {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.S_recruitment--section .section_container .img {
    grid-column: 2/3;
    grid-row: 1/4;
  }
}

article.S_recruitment--article {
  padding-bottom: 10em;
  position: relative;
}
article.S_recruitment--article .article_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  article.S_recruitment--article .article_container {
    width: 98%;
    max-width: 1170px;
  }
}
article.S_recruitment--article .article_container hgroup {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  article.S_recruitment--article .article_container hgroup {
    margin-bottom: 5.5em;
  }
}
article.S_recruitment--article .article_container hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  font-family: "Figtree";
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 0.7em;
}
@media screen and (min-width: 768px) {
  article.S_recruitment--article .article_container hgroup h2 {
    font-size: 2.8em;
    margin-bottom: 0.2em;
  }
}
article.S_recruitment--article .article_container hgroup p {
  font-size: 2em;
}
@media screen and (min-width: 768px) {
  article.S_recruitment--article .article_container hgroup p {
    font-size: 1.3em;
  }
}
article.S_recruitment--article .article_container a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 12.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  article.S_recruitment--article .article_container a {
    font-size: 1em;
    width: 8.9em;
    height: 2.9em;
  }
}
article.S_recruitment--article .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
article.S_recruitment--article .wave svg {
  width: 100%;
  height: 100%;
}

dl.S_recruitment--dl {
  margin-bottom: 5em;
  border-top: 1px solid #44311A;
  display: grid;
  grid-template-columns: auto 1fr;
}
@media screen and (min-width: 768px) {
  dl.S_recruitment--dl {
    margin-bottom: 3em;
  }
}
dl.S_recruitment--dl dt, dl.S_recruitment--dl dd {
  font-size: 1.4em;
  line-height: 1.6;
  padding-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  dl.S_recruitment--dl dt, dl.S_recruitment--dl dd {
    font-size: 0.85em;
    padding: 2em 0;
  }
}
dl.S_recruitment--dl dt {
  font-weight: bold;
  padding-top: 1.7em;
}
@media screen and (min-width: 768px) {
  dl.S_recruitment--dl dt {
    padding: 2em 8em 2em 0;
    border-bottom: 1px solid #44311A;
  }
}
dl.S_recruitment--dl dd {
  border-bottom: 1px solid #44311A;
}

.P_recruit--header h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

hgroup.P_recruit--hgroup h2 {
  color: #1B9143;
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  hgroup.P_recruit--hgroup h2 {
    font-size: 2.9em;
  }
}
@media screen and (min-width: 768px) {
  hgroup.P_recruit--hgroup h2 br {
    display: none;
  }
}
hgroup.P_recruit--hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  hgroup.P_recruit--hgroup p {
    font-size: 0.95em;
  }
}

section.P_recruit--section.news_section {
  padding: 3.5em 0 6em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.news_section {
    padding: 3em 0;
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
section.P_recruit--section.news_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.news_section .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2em 0;
  }
}
section.P_recruit--section.news_section .section_container hgroup.P_recruit--hgroup {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.news_section .section_container hgroup.P_recruit--hgroup {
    display: flex;
    align-items: center;
    gap: 0 2em;
    margin: 0;
  }
}
section.P_recruit--section.news_section .section_container hgroup.P_recruit--hgroup h2.FP_h2 {
  color: #1B9143;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.news_section .section_container hgroup.P_recruit--hgroup h2.FP_h2 {
    margin: 0;
  }
}
section.P_recruit--section.news_section .section_container hgroup.P_recruit--hgroup p.text {
  color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.news_section .section_container hgroup.P_recruit--hgroup p.text br {
    display: none;
  }
}
section.P_recruit--section.news_section .section_container > a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 15.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.news_section .section_container > a {
    font-size: 0.95em;
    width: 15em;
    height: 2.8em;
    grid-row: 1/2;
    grid-column: 2/3;
  }
}

.P_recruit_section--swiperBox {
  width: 71%;
  margin: 0 auto 3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_recruit_section--swiperBox {
    width: 100%;
    min-width: 100%;
    margin: 0;
    grid-column: span 2;
  }
}

.P_recruit_news--swiper {
  overflow: hidden;
}

.P_recruit_blog--swiper {
  overflow: hidden;
}

.P_recruit_section--swiperItem a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.P_recruit_section--swiperItem a .thumbnail {
  margin-bottom: 1.1em;
  border-radius: 20px;
  grid-column: span 2;
}
.P_recruit_section--swiperItem a .thumbnail img {
  width: 100%;
  height: 15em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .P_recruit_section--swiperItem a .thumbnail img {
    height: 8.2em;
  }
}
.P_recruit_section--swiperItem a p.tag {
  color: #fff;
  font-size: 1.3em;
  padding: 0.8em 1.3em;
  background-color: #FF6C20;
}
@media screen and (min-width: 768px) {
  .P_recruit_section--swiperItem a p.tag {
    font-size: 0.7em;
  }
}
.P_recruit_section--swiperItem a p.date {
  text-align: right;
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .P_recruit_section--swiperItem a p.date {
    text-align: left;
    font-size: 0.7em;
    padding-left: 1em;
  }
}
.P_recruit_section--swiperItem a p.text {
  font-size: 1.6em;
  line-height: 1.4;
  margin-top: 1.2em;
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  .P_recruit_section--swiperItem a p.text {
    font-size: 0.8em;
  }
}

.P_recruit_section--swiperButton.swiper-button-prev, .P_recruit_section--swiperButton.swiper-button-next {
  width: 3.9em;
  height: auto;
  margin: 0;
  background-color: #44311A;
  border-radius: 50%;
  top: 7.5em;
  aspect-ratio: 1;
}
.P_recruit_section--swiperButton.swiper-button-prev.swiper-button-disabled, .P_recruit_section--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.P_recruit_section--swiperButton.swiper-button-prev::after, .P_recruit_section--swiperButton.swiper-button-next::after {
  color: #fff;
  font-size: 2em;
}
.P_recruit_section--swiperButton.swiper-button-prev {
  left: 0;
  translate: -150% -50%;
}
.P_recruit_section--swiperButton.swiper-button-next {
  right: 0;
  translate: 150% -50%;
}

section.P_recruit--section.blog_section {
  padding: 0 0 7em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.blog_section {
    padding: 0 0 6em;
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
section.P_recruit--section.blog_section .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
section.P_recruit--section.blog_section .wave svg {
  width: 100%;
  height: 100%;
}
section.P_recruit--section.blog_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.blog_section .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2em 0;
  }
}
section.P_recruit--section.blog_section .section_container hgroup.P_recruit--hgroup {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.blog_section .section_container hgroup.P_recruit--hgroup {
    display: flex;
    align-items: center;
    gap: 0 2em;
    margin: 0;
  }
}
section.P_recruit--section.blog_section .section_container hgroup.P_recruit--hgroup h2.FP_h2 {
  color: #1B9143;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.blog_section .section_container hgroup.P_recruit--hgroup h2.FP_h2 {
    margin: 0;
  }
}
section.P_recruit--section.blog_section .section_container hgroup.P_recruit--hgroup p.text {
  color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.blog_section .section_container hgroup.P_recruit--hgroup p.text br {
    display: none;
  }
}
section.P_recruit--section.blog_section .section_container > a {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  width: 15.5em;
  height: 3.4em;
  margin-inline: auto;
  background-color: #1B9143;
  border: 1px solid #44311A;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.blog_section .section_container > a {
    font-size: 0.95em;
    width: 15em;
    height: 2.8em;
    grid-row: 1/2;
    grid-column: 2/3;
  }
}

section.P_recruit--section.happiness_section {
  padding: 4em 0 7em;
  background-color: #1B9143;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section {
    padding: 3em 0 4em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto auto 1fr/1fr 46%;
    gap: 0 2em;
  }
}
section.P_recruit--section.happiness_section .section_container h2 {
  color: #fff;
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  line-height: 1.5;
  width: 84%;
  margin: 0 auto 0.8em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container h2 {
    font-size: 2.9em;
    width: auto;
    margin: 0 auto 1em;
    grid-column: span 2;
  }
}
section.P_recruit--section.happiness_section .section_container > p {
  color: #fff;
  font-size: 2.4em;
  font-weight: bold;
  line-height: 1.6;
  width: 84%;
  margin: 0 auto 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container > p {
    width: 100%;
    margin: 0 auto 0.5em;
  }
}
section.P_recruit--section.happiness_section .section_container .img {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .img {
    margin: 0;
    grid-row: 2/4;
    grid-column: 2/3;
  }
}
section.P_recruit--section.happiness_section .section_container .img img {
  width: 100%;
  height: 25em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 0%;
     object-position: 50% 0%;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .img img {
    height: 100%;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box {
    width: 100%;
    max-width: 545px;
    margin: 0;
    grid-row: 3/4;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box > p {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box > p {
    font-size: 0.9em;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box a {
  max-width: -moz-max-content;
  max-width: max-content;
  margin-top: 3.5em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.5em 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box a {
    margin-top: 2.5em;
    gap: 0 0.9em;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box a > i {
  color: #fff;
  font-size: 3em;
  width: 2em;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #53AC71;
  grid-row: span 2;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box a > i {
    font-size: 2em;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box a p {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.2;
  max-width: -moz-max-content;
  max-width: max-content;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box a p {
    font-size: 0.9em;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box a p.text02 {
  padding-right: 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box a p.text02 {
    padding-right: 1.5em;
  }
}
section.P_recruit--section.happiness_section .section_container .text_box a p i {
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.happiness_section .section_container .text_box a p br {
    display: none;
  }
}

section.P_recruit--section.contact_section {
  padding: 4.5em 0 8em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section {
    padding: 6em 0 6em;
  }
}
section.P_recruit--section.contact_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container {
    width: 98%;
    max-width: 1170px;
    margin-inline: auto;
    display: grid;
    grid-template: auto auto 1fr/1fr 46%;
    gap: 0 5em;
  }
}
section.P_recruit--section.contact_section .section_container h2 {
  text-align: center;
  color: #1B9143;
  font-size: 3em;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container h2 {
    margin-bottom: 0.6em;
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container h2 br {
    display: none;
  }
}
section.P_recruit--section.contact_section .section_container > p {
  font-size: 1.6em;
  line-height: 1.8;
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container > p {
    font-size: 0.9em;
    margin: 0;
  }
}
section.P_recruit--section.contact_section .section_container .box h3 {
  font-size: 3em;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container .box h3 {
    font-size: 2.4em;
    margin-bottom: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container .box h3 br {
    display: none;
  }
}
section.P_recruit--section.contact_section .section_container .box > p {
  font-size: 1.6em;
  line-height: 1.8;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container .box > p {
    font-size: 0.9em;
  }
}
section.P_recruit--section.contact_section .section_container .box > a {
  color: #1B9143;
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 2em;
  display: flex;
  gap: 0 0.5em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.contact_section .section_container .box > a {
    font-size: 1em;
    margin-bottom: 1.5em;
  }
}

.P_recruit_contactBox a {
  max-width: 31.5em;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 0 1.8em;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a {
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0;
    gap: 0 1.2em;
  }
}
.P_recruit_contactBox a.line {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a.line {
    margin-bottom: 1.2em;
  }
}
.P_recruit_contactBox a.line .img {
  width: 6em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a.line .img {
    width: 3.4em;
  }
}
.P_recruit_contactBox a.line > p {
  font-size: 1.4em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a.line > p {
    font-size: 0.9em;
  }
}
.P_recruit_contactBox a.line > p i {
  font-size: 0.8em;
  margin-left: 0.4em;
  translate: 0 -10%;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a.line > p br.br_sp {
    display: none;
  }
}
.P_recruit_contactBox a.tel i {
  color: #fff;
  font-size: 3em;
  width: 2em;
  background-color: #53AC71;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a.tel i {
    font-size: 1.7em;
  }
}
.P_recruit_contactBox a.tel p {
  font-size: 4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_recruit_contactBox a.tel p {
    font-size: 3em;
  }
}

section.P_recruit--section.pickup_section {
  padding: 0;
}
section.P_recruit--section.pickup_section h2 {
  text-align: center;
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  margin-bottom: 0.7em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.pickup_section h2 {
    font-size: 1.45em;
  }
}
section.P_recruit--section.pickup_section .section_container {
  padding: 3em 0;
  background-color: #44311A;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.pickup_section .section_container {
    padding: 2.5em 0;
  }
}
section.P_recruit--section.pickup_section .section_container .item_box {
  margin-bottom: 6em;
  gap: 1.5em 0;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.pickup_section .section_container .item_box {
    width: 98%;
    max-width: 1170px;
    margin-bottom: 2.5em;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.85em;
  }
}

.P_recruit_pickup--swiperBox {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_recruit_pickup--swiperBox {
    width: 98%;
    max-width: 1170px;
  }
}

.P_recruit_pickup--swiper {
  width: 72%;
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .P_recruit_pickup--swiper {
    width: 100%;
  }
}

.P_recruit_pickup--swiperItem a img {
  width: 100%;
  height: 28.3em;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .P_recruit_pickup--swiperItem a img {
    height: 15.8em;
  }
}

.P_recruit_pickup--swiperButton.swiper-button-prev, .P_recruit_pickup--swiperButton.swiper-button-next {
  width: 3em;
  height: auto;
  margin: 0;
  background-color: #fff;
  border-radius: 50%;
  top: 50%;
  aspect-ratio: 1;
}
.P_recruit_pickup--swiperButton.swiper-button-prev.swiper-button-disabled, .P_recruit_pickup--swiperButton.swiper-button-next.swiper-button-disabled {
  opacity: 1;
  background-color: #BABABA;
}
.P_recruit_pickup--swiperButton.swiper-button-prev::after, .P_recruit_pickup--swiperButton.swiper-button-next::after {
  content: none;
}
.P_recruit_pickup--swiperButton.swiper-button-prev {
  left: 0;
  translate: 0 -50%;
}
.P_recruit_pickup--swiperButton.swiper-button-next {
  right: 0;
  translate: 0 -50%;
}
.P_recruit_pickup--swiperButton i {
  font-size: 1.5em;
}

section.P_recruit--section.info_section {
  padding: 4em 0 10em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.info_section {
    padding: 7em 0 11em;
  }
}
section.P_recruit--section.info_section .wave {
  width: 240%;
  height: 3em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -35% 1%;
  z-index: 1;
}
section.P_recruit--section.info_section .wave svg {
  width: 100%;
  height: 100%;
}
section.P_recruit--section.info_section .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.info_section .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_recruit--section.info_section .section_container h2 {
  text-align: center;
  font-size: 3em;
  font-weight: bold;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.info_section .section_container h2 {
    margin-bottom: 0.7em;
  }
}
section.P_recruit--section.info_section .section_container > p {
  font-size: 1.6em;
  line-height: 1.6;
  margin-bottom: 3.2em;
}
@media screen and (min-width: 768px) {
  section.P_recruit--section.info_section .section_container > p {
    text-align: center;
    font-size: 0.9em;
    margin-bottom: 2.8em;
  }
}

section.P_recruit_info--section:not(:last-of-type) {
  margin-bottom: 7em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section:not(:last-of-type) {
    margin-bottom: 3.5em;
  }
}
section.P_recruit_info--section.corporate_section {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
section.P_recruit_info--section hgroup {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section hgroup {
    margin-bottom: 1.5em;
  }
}
section.P_recruit_info--section hgroup h3 {
  color: #1B9143;
  font-size: 3em;
  font-weight: 600;
  font-family: "Figtree";
  line-height: 1.5;
  margin-bottom: 0.2em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section hgroup h3 {
    font-size: 2.9em;
  }
}
section.P_recruit_info--section hgroup p {
  color: #1B9143;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section hgroup p {
    font-size: 0.95em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section hgroup:first-of-type {
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0 0.7em 0 auto;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section hgroup:nth-of-type(2) {
    max-width: -moz-max-content;
    max-width: max-content;
    margin-left: 5em;
  }
}
section.P_recruit_info--section ul li {
  list-style: none;
}
section.P_recruit_info--section ul li .img {
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section ul li .img {
    margin-bottom: 0.8em;
  }
}
section.P_recruit_info--section ul li p {
  font-size: 1.6em;
  line-height: 1.4;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section ul li p {
    font-size: 0.9em;
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section ul li p span {
    font-size: 1.05em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section ul li p br.br_sp {
    display: none;
  }
}
section.P_recruit_info--section ul li a {
  color: #1B9143;
  font-size: 1.5em;
  display: flex;
  align-items: center;
  gap: 0 0.3em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section ul li a {
    font-size: 0.95em;
  }
}
section.P_recruit_info--section ul li a i {
  color: #fff;
  font-size: 0.8em;
  width: 1.7em;
  background-color: #1B9143;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  translate: 0 5%;
  aspect-ratio: 1;
}
section.P_recruit_info--section.nursery_section ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4em 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.nursery_section ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5em 0.85em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.nursery_section ul li {
    width: calc((100% - 3.4em) / 5);
  }
}
section.P_recruit_info--section.child_section ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4em 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.child_section ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5em 0.85em;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.child_section ul li {
    width: calc((100% - 3.4em) / 5);
  }
}
section.P_recruit_info--section.corporate_section ul:first-of-type {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section ul:first-of-type {
    margin: 0;
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section ul:first-of-type li {
    margin-left: calc((100% - 1.7em) / 2.5 + 0.85em);
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section ul:nth-of-type(2) {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section ul:nth-of-type(2) li {
    margin: 0 calc((100% - 1.7em) / 2.5 + 0.85em) 0 auto;
  }
}
@media screen and (min-width: 768px) {
  section.P_recruit_info--section.corporate_section ul li {
    width: calc((100% - 1.7em) / 2.5);
  }
}

body.page-all-with {
  background-color: #fff;
}

.P_all-with--header h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
.P_all-with--header .img {
  height: calc(100svh - 11.1em);
}
@media screen and (min-width: 768px) {
  .P_all-with--header .img {
    max-width: 1170px;
    height: 30em;
    margin-inline: auto;
  }
}
.P_all-with--header .img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

section.P_all-with--section.section01 {
  padding: 5.5em 0 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 {
    padding: 3em 0 2em;
  }
}
section.P_all-with--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto auto 1fr/1fr 46%;
    gap: 0 5em;
  }
}
section.P_all-with--section.section01 .section_container h2 {
  color: #1D2087;
  font-size: 2.2em;
  line-height: 1.4;
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container h2 {
    font-size: 2.4em;
    margin-bottom: 0.6em;
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container h2 br {
    display: none;
  }
}
section.P_all-with--section.section01 .section_container p.text01 {
  font-size: 1.6em;
  line-height: 1.6;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container p.text01 {
    font-size: 0.9em;
    line-height: 1.8;
  }
}
section.P_all-with--section.section01 .section_container .img {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container .img {
    margin-bottom: 5em;
  }
}
section.P_all-with--section.section01 .section_container .img img {
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1.5/1;
}
section.P_all-with--section.section01 .section_container p.text02 {
  text-align: center;
  font-size: 1.6em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container p.text02 {
    font-size: 0.9em;
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section01 .section_container p.text02 br {
    display: none;
  }
}

section.P_all-with--section.section02 {
  padding: 5em 0;
  background-color: #1D2087;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 {
    padding: 3em 0;
  }
}
section.P_all-with--section.section02 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}
section.P_all-with--section.section02 .section_container h2 {
  text-align: center;
  color: #fff;
  font-size: 2.4em;
  line-height: 1.2;
  margin-bottom: 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container h2 {
    font-size: 1.6em;
    margin-bottom: 1.5em;
  }
}
section.P_all-with--section.section02 .section_container h2 span {
  display: block;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container h2 span {
    margin-left: 1em;
    display: inline;
  }
}
section.P_all-with--section.section02 .section_container h3 {
  text-align: center;
  color: #fff;
  font-size: 2em;
  font-weight: 500;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container h3 {
    font-size: 1.4em;
  }
}
section.P_all-with--section.section02 .section_container ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4em 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5em 0.85em;
  }
}
section.P_all-with--section.section02 .section_container ul li {
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container ul li {
    width: calc((100% - 3.4em) / 5);
  }
}
section.P_all-with--section.section02 .section_container ul li .img {
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container ul li .img {
    margin-bottom: 0.8em;
  }
}
section.P_all-with--section.section02 .section_container ul li p {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container ul li p {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container ul li p span {
    font-size: 1.05em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section02 .section_container ul li p br.br_sp {
    display: none;
  }
}

section.P_all-with--section.section03 {
  padding: 5em 0 7em;
  background-color: #7687DC;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 {
    padding: 3em 0;
  }
}
section.P_all-with--section.section03 .section_container {
  width: 84%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0 0.85em;
  }
}
section.P_all-with--section.section03 .section_container h2 {
  text-align: center;
  color: #fff;
  font-size: 2.4em;
  line-height: 1.2;
  margin-bottom: 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container h2 {
    font-size: 1.6em;
    margin-bottom: 1.5em;
    grid-column: span 5;
  }
}
section.P_all-with--section.section03 .section_container h2 span {
  display: block;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container h2 span {
    margin-left: 1em;
    display: inline;
  }
}
section.P_all-with--section.section03 .section_container h3 {
  text-align: center;
  color: #fff;
  font-size: 2em;
  font-weight: 500;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container h3 {
    font-size: 1.2em;
    margin-bottom: 1.2em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container h3:first-of-type {
    grid-column: span 5;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container h3:nth-of-type(2) {
    grid-column: 2/3;
    grid-row: 4/5;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container h3:nth-of-type(3) {
    grid-column: 4/5;
    grid-row: 4/5;
  }
}
section.P_all-with--section.section03 .section_container ul:first-of-type {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:first-of-type {
    margin-bottom: 3em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:first-of-type {
    grid-column: span 5;
  }
}
section.P_all-with--section.section03 .section_container ul:nth-of-type(2) {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:nth-of-type(2) {
    margin: 0;
    grid-column: 2/3;
    grid-row: 5/6;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:nth-of-type(3) {
    grid-column: 4/5;
    grid-row: 5/6;
  }
}
section.P_all-with--section.section03 .section_container ul li {
  list-style: none;
}
section.P_all-with--section.section03 .section_container ul li .img {
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul li .img {
    margin-bottom: 0.8em;
  }
}
section.P_all-with--section.section03 .section_container ul li p {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul li p {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul li p span {
    font-size: 1.05em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul li p br.br_sp {
    display: none;
  }
}
section.P_all-with--section.section03 .section_container ul li a {
  color: #1B9143;
  font-size: 1.5em;
  display: flex;
  align-items: center;
  gap: 0 0.3em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul li a {
    font-size: 0.95em;
  }
}
section.P_all-with--section.section03 .section_container ul li a i {
  color: #fff;
  font-size: 0.8em;
  width: 1.7em;
  background-color: #1B9143;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  translate: 0 5%;
  aspect-ratio: 1;
}
section.P_all-with--section.section03 .section_container ul:first-of-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4em 2.4em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:first-of-type {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5em 0.85em;
  }
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:first-of-type li {
    width: calc((100% - 3.4em) / 5);
  }
}
section.P_all-with--section.section03 .section_container ul:nth-of-type(2) li .img {
  width: calc(50% - 1.2em);
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:nth-of-type(2) li .img {
    width: 100%;
  }
}
section.P_all-with--section.section03 .section_container ul:nth-of-type(3) li .img {
  width: calc(50% - 1.2em);
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section03 .section_container ul:nth-of-type(3) li .img {
    width: 100%;
  }
}

section.P_all-with--section.section04 {
  padding: 7.5em 0 10em;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section04 {
    padding: 5.5em 0 6em;
  }
}
section.P_all-with--section.section04 .section_container {
  width: 83%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.P_all-with--section.section04 .section_container {
    width: 98%;
    max-width: 1170px;
  }
}

.P_all-with--tabBox {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabBox {
    margin-bottom: 4em;
  }
}
.P_all-with--tabBox ul {
  text-align: center;
  border-bottom: 1px solid #1D2087;
  display: grid;
  grid-template-columns: 13em 13em;
  justify-content: center;
  gap: 0 3.5em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabBox ul {
    grid-template-columns: 15em 15em;
    gap: 0 2em;
  }
}
.P_all-with--tabBox ul li {
  list-style: none;
}

button.P_all-with--tabButton {
  color: #fff;
  font-size: 1.4em;
  font-weight: 600;
  width: 100%;
  padding: 0.5em 0;
  background-color: #1D2087;
  border: 1px solid #1D2087;
  border-bottom: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  button.P_all-with--tabButton {
    font-size: 1em;
    padding: 1em 0;
  }
}
button.P_all-with--tabButton.active {
  color: #1D2087;
  background-color: transparent;
}
button.P_all-with--tabButton.active::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 50%;
}
@media screen and (min-width: 768px) {
  button.P_all-with--tabButton br {
    display: none;
  }
}

.P_all-with--tabContents {
  display: none;
}
.P_all-with--tabContents.active {
  display: block;
}
.P_all-with--tabContents hgroup {
  text-align: center;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents hgroup {
    margin-bottom: 2em;
  }
}
.P_all-with--tabContents hgroup h2 {
  color: #1D2087;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents hgroup h2 {
    margin-bottom: 0.4em;
  }
}
.P_all-with--tabContents hgroup p {
  color: #1D2087;
  font-size: 1.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents hgroup p {
    font-size: 1em;
  }
}
.P_all-with--tabContents dl.profile_dl {
  text-align: center;
  margin-bottom: 7em;
  border: 1px solid #E5E4E4;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.profile_dl {
    text-align: left;
    margin-bottom: 5em;
    display: grid;
    grid-template-columns: 18em 1fr;
  }
}
.P_all-with--tabContents dl.profile_dl > dt, .P_all-with--tabContents dl.profile_dl > dd {
  line-height: 1.4;
  border-bottom: 1px solid #E5E4E4;
}
.P_all-with--tabContents dl.profile_dl > dt {
  font-size: 1.6em;
  padding: 1em 0;
  background-color: #F2F1F1;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.profile_dl > dt {
    font-size: 0.95em;
    padding: 1em 1.5em;
  }
}
.P_all-with--tabContents dl.profile_dl > dd {
  font-size: 1.4em;
  padding: 1.25em 1em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.profile_dl > dd {
    font-size: 0.9em;
    padding: 1.25em 1.5em;
  }
}
.P_all-with--tabContents dl.profile_dl > dd a {
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0.5em auto 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.profile_dl > dd a {
    margin-left: 1em;
    display: inline;
  }
}
.P_all-with--tabContents dl.profile_dl > dd a span {
  text-decoration: underline;
}
.P_all-with--tabContents dl.profile_dl > dd dl dd:not(:last-of-type) {
  margin-bottom: 2em;
}
.P_all-with--tabContents dl.history_dl {
  margin: 5em 0 9em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.history_dl {
    margin: 0 0 4em;
    display: grid;
    grid-template-columns: 18em 1fr;
  }
}
.P_all-with--tabContents dl.history_dl > dt, .P_all-with--tabContents dl.history_dl > dd {
  line-height: 1.4;
}
.P_all-with--tabContents dl.history_dl > dt {
  font-size: 1.6em;
  padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.history_dl > dt {
    font-size: 0.95em;
    padding: 1.3em 1.5em;
    border-bottom: 1px solid #E5E4E4;
  }
}
.P_all-with--tabContents dl.history_dl > dd {
  font-size: 1.4em;
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  border-bottom: 1px solid #E5E4E4;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents dl.history_dl > dd {
    font-size: 0.9em;
    padding: 1.3em 1.5em;
    margin: 0;
  }
}
.P_all-with--tabContents dl.history_dl > dd a {
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0.5em auto 0;
  display: block;
}
.P_all-with--tabContents dl.history_dl > dd a span {
  text-decoration: underline;
}
.P_all-with--tabContents > h2 {
  text-align: center;
  color: #1D2087;
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents > h2 {
    font-size: 0.9em;
  }
}
.P_all-with--tabContents p.preparation {
  text-align: center;
  font-size: 1.4em;
}
@media screen and (min-width: 768px) {
  .P_all-with--tabContents p.preparation {
    font-size: 0.9em;
  }
}

section.A_media-news--section.section01 {
  padding: 4.5em 0;
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 {
    padding: 5em 0 4.5em;
  }
}
section.A_media-news--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.A_media-news--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.A_media-news--section.section01 .section_container hgroup h1 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.A_media-news--section.section01 .section_container hgroup p {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.A_media-news--section.section01 .section_container > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.A_media-news--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.A_media-news--section.section01 .section_container figure img {
  border-radius: 20px;
}

.A_media-news--contents {
  width: 60%;
  padding-bottom: 11em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .A_media-news--contents {
    width: 98%;
    max-width: 1170px;
    padding-bottom: 8em;
  }
}

.A_media-news--ul {
  margin: 0 auto 7em;
  display: grid;
  gap: 7em 0;
}
@media screen and (min-width: 768px) {
  .A_media-news--ul {
    margin: 0 auto 4em;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5em 3.9em;
  }
}
.A_media-news--ul li {
  list-style: none;
}
.A_media-news--ul li a .img {
  margin-bottom: 1em;
}
.A_media-news--ul li a .img img {
  height: 15em;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
@media screen and (min-width: 768px) {
  .A_media-news--ul li a .img img {
    height: 13em;
  }
}
.A_media-news--ul li a p.category {
  color: #2C8031;
  font-size: 1.3em;
  letter-spacing: 0.1em;
  background-color: #fff;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 0.8em 1em;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .A_media-news--ul li a p.category {
    font-size: 0.7em;
  }
}
.A_media-news--ul li a p.title {
  font-size: 1.6em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .A_media-news--ul li a p.title {
    font-size: 0.9em;
  }
}

.A_media-news--pagination {
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media screen and (min-width: 768px) {
  .A_media-news--pagination {
    gap: 0 0.6em;
  }
}
.A_media-news--pagination span.page-numbers.current {
  color: #fff;
  font-size: 2em;
  width: 1.5em;
  padding-bottom: 0.1em;
  background-color: #1B9143;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .A_media-news--pagination span.page-numbers.current {
    font-size: 1.1em;
  }
}
.A_media-news--pagination a.page-numbers {
  font-size: 2em;
  width: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1.5;
}
@media screen and (min-width: 768px) {
  .A_media-news--pagination a.page-numbers {
    font-size: 1.1em;
  }
}
.A_media-news--pagination a.prev.page-numbers, .A_media-news--pagination a.next.page-numbers {
  color: #1B9143;
  font-size: 1.5em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .A_media-news--pagination a.prev.page-numbers, .A_media-news--pagination a.next.page-numbers {
    font-size: 1em;
  }
}

section.S_media-news--section.section01 {
  padding: 4.5em 0;
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 {
    padding: 5em 0 4.5em;
  }
}
section.S_media-news--section.section01 .section_container {
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 .section_container {
    width: 98%;
    max-width: 1170px;
    display: grid;
    grid-template: auto 1fr/1fr 1fr;
    gap: 0 5em;
  }
}
section.S_media-news--section.section01 .section_container hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 .section_container hgroup {
    margin-bottom: 2.2em;
  }
}
section.S_media-news--section.section01 .section_container hgroup h1 {
  color: #1B9143;
  font-size: 3em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 .section_container hgroup h1 {
    font-size: 2.8em;
  }
}
section.S_media-news--section.section01 .section_container hgroup p {
  font-size: 2.4em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 .section_container hgroup p {
    font-size: 2.3em;
  }
}
section.S_media-news--section.section01 .section_container > p {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 .section_container > p {
    font-size: 1em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  section.S_media-news--section.section01 .section_container figure {
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
section.S_media-news--section.section01 .section_container figure img {
  border-radius: 20px;
}

.S_media-news--articleBox {
  width: 84%;
  padding-bottom: 11em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .S_media-news--articleBox {
    width: 98%;
    max-width: 1170px;
    padding-bottom: 8em;
  }
}
.S_media-news--articleBox > a {
  color: #1B9143;
  font-size: 1.5em;
  font-weight: bold;
  margin-inline: auto;
  display: block;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (min-width: 768px) {
  .S_media-news--articleBox > a {
    font-size: 1.1em;
    margin: 0 auto;
  }
}
.S_media-news--articleBox > a::before {
  content: "＜";
  margin-right: 1em;
}

article.S_media-news--article {
  padding: 2em;
  margin-bottom: 3.5em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  article.S_media-news--article {
    padding: 2.2em;
    margin-bottom: 3.1em;
  }
}
article.S_media-news--article h2 {
  font-size: 1.7em;
  line-height: 1.4;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  article.S_media-news--article h2 {
    font-size: 1.2em;
  }
}
article.S_media-news--article .content p {
  font-size: 1.4em;
  line-height: 1.63;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  article.S_media-news--article .content p {
    font-size: 0.9em;
    margin-bottom: 1em;
  }
}
article.S_media-news--article .content img {
  max-width: 600px;
  display: block;
}
article.S_media-news--article .content img.is-gif {
  width: auto;
  display: inline;
}

aside.S_media-news--aside {
  padding: 2.5em;
  background-color: #fff;
  display: none;
}
@media screen and (min-width: 768px) {
  aside.S_media-news--aside {
    padding: 1.4em 1.4em 2em;
    align-self: start;
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
aside.S_media-news--aside h2 {
  color: #1B9143;
  font-size: 2.4em;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  aside.S_media-news--aside h2 {
    font-size: 1.7em;
  }
}

ul.S_media-news_aside--ul li {
  list-style: none;
}
ul.S_media-news_aside--ul li:not(:last-of-type) {
  margin-bottom: 1em;
}
ul.S_media-news_aside--ul li a {
  font-size: 1.6em;
  max-width: -moz-max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media screen and (min-width: 768px) {
  ul.S_media-news_aside--ul li a {
    font-size: 1em;
  }
}
ul.S_media-news_aside--ul li a i {
  color: #fff;
  font-size: 0.7em;
  width: 1.6em;
  background-color: #2C8031;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}

footer {
  padding: 4em 0 5.1em;
  background-color: #1B9143;
  position: relative;
}
@media screen and (min-width: 768px) {
  footer {
    padding: 4em 0 0;
  }
}
footer .wave {
  width: 300%;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -57% 99%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  footer .wave {
    width: 230%;
    transform: scaleY(0.5);
    transform-origin: top;
    translate: -62% 99%;
  }
}

.menu_container {
  width: 84%;
  padding-bottom: 4em;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .menu_container {
    width: 80%;
    min-width: 950px;
    padding-bottom: 3em;
    display: flex;
    justify-content: space-between;
  }
}

.menu_nav--container {
  margin-bottom: 5em;
}
@media screen and (min-width: 1025px) {
  .menu_nav--container {
    margin: 0;
  }
}

nav.menu_nav {
  display: grid;
  gap: 4em 0;
}
@media screen and (min-width: 768px) {
  nav.menu_nav {
    display: flex;
    gap: 0 4em;
  }
}

ul.menu_nav--ul01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.2em 0;
}
@media screen and (min-width: 768px) {
  ul.menu_nav--ul01 {
    grid-template-columns: auto;
    gap: 1.2em 0;
  }
}
ul.menu_nav--ul01 li {
  list-style: none;
}
ul.menu_nav--ul01 li a {
  color: #fff;
  font-size: 1.5em;
  font-weight: 400;
  padding-left: 1.7em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.menu_nav--ul01 li a {
    font-size: 0.95em;
  }
}
ul.menu_nav--ul01 li a::before {
  content: "\f054";
  color: #1B9143;
  font-size: 0.7em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  background-color: #fff;
  border-radius: 50%;
  width: 1.9em;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -45%;
}

ul.menu_nav--ul02 {
  display: grid;
  gap: 2.2em 0;
}
@media screen and (min-width: 768px) {
  ul.menu_nav--ul02 {
    grid-template-columns: auto;
    gap: 1.2em 0;
  }
}
ul.menu_nav--ul02 li {
  list-style: none;
}
ul.menu_nav--ul02 li a {
  color: #fff;
  font-size: 1.5em;
  font-weight: 400;
  padding-left: 1.7em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.menu_nav--ul02 li a {
    font-size: 0.95em;
  }
}
ul.menu_nav--ul02 li a::before {
  content: "\f054";
  color: #fff;
  font-size: 0.7em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  width: 1.9em;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -45%;
}

.menu_info--box .footer_logo {
  width: 12em;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  .menu_info--box .footer_logo {
    margin-bottom: 1.6em;
  }
}
.menu_info--box .footer_logo img {
  width: 100%;
}
.menu_info--box p.follow {
  color: #fff;
  font-size: 2em;
  font-family: "Figtree";
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .menu_info--box p.follow {
    font-size: 1.45em;
    margin-bottom: 0.8em;
  }
}
.menu_info--box .box {
  display: grid;
  gap: 1.2em 0;
}
@media screen and (min-width: 768px) {
  .menu_info--box .box {
    display: flex;
    align-items: center;
    gap: 0 2em;
  }
}
.menu_info--box .box.sns_box {
  margin-bottom: 2em;
}
.menu_info--box .box p {
  color: #fff;
  font-size: 1.5em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .menu_info--box .box p {
    font-size: 0.9em;
  }
}
.menu_info--box .box .icon_box {
  display: flex;
  align-items: center;
  gap: 0 1.2em;
}
.menu_info--box .box .icon_box > i {
  color: #fff;
  font-size: 1.3em;
}
@media screen and (min-width: 768px) {
  .menu_info--box .box .icon_box > i {
    font-size: 1em;
  }
}
.menu_info--box .box .icon_box a {
  width: 4em;
  background-color: #53AC71;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .menu_info--box .box .icon_box a {
    width: 2.6em;
  }
}
.menu_info--box .box .icon_box a i {
  color: #fff;
  font-size: 1.9em;
}
@media screen and (min-width: 768px) {
  .menu_info--box .box .icon_box a i {
    font-size: 1.3em;
  }
}

.footer_copyright {
  text-align: center;
  padding: 2em 0;
  background-color: #00662D;
}
@media screen and (min-width: 768px) {
  .footer_copyright {
    padding: 1.5em 0;
  }
}
.footer_copyright p {
  color: #fff;
  font-family: "Figtree";
}
@media screen and (min-width: 768px) {
  .footer_copyright p {
    font-size: 0.95em;
  }
}