@charset "UTF-8";
/* ポップアップ表示時は背景を固定（黒オーバーレイを綺麗に表示） */
body.is-popup-open {
  left: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  width: min(100%,1920px);
  margin-inline: auto;
}

/* ポップアップのグレー背景を画面全体に（レスポンシブでも途切れない） */
.p-interview .p-interview__popup,
.p-member .p-member__popup {
  height: 100dvh;
  inset: 0;
  width: 100vw;
}

@keyframes scroll-left {

  from {
    transform: translateX(0);
  }
  
  to {
    transform: translateX(-100%);
  }
  
}

@keyframes scroll-right-vision {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}



/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {  
body.index-bg:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100vh;
  background: url(../images/index/bottom_bg.jpg) bottom center no-repeat;
  background-size: contain;
  max-width: 1920px;
  transform: translate(-50%);
}

.p-fv {
  background: url(../images/index/fv_bg.png) no-repeat top 72px center/contain;
  margin-inline: auto;
  max-width: 1920px;
  width: 100%;
  margin-block: -84px 0;
}

.p-fv .l-inner.l-fv {
  padding-block: 0 248px;
}

.p-fv .p-fv__img {
  margin-bottom: -272px;
  padding-inline: 0 42px;
  text-align: right;
}

.p-fv .p-fv__ttl {
  display: grid;
  gap: 37px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-inline: 159px 0;
}

.p-fv .p-fv__ttl span {
  color: #ffffff;
  font-size: 78px;
  font-size: clamp(2rem, 0.083rem + 3.99vw, 4.875rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 0.858974359;
}

.p-fv .p-fv__ttl .char {
  opacity: 0;
}

.p-nanairo .l-inner.l-nanairo {
  margin-inline: auto;
  padding-block: 120px 0;
  position: relative;
  width: min(95%, 1518px);
}

.p-nanairo .p-nanairo__img01 {
  position: absolute;
  right: 0;
  top: 0;
}

.p-nanairo .p-nanairo__img02 {
  left: 0;
  position: absolute;
  top: 318px;
}

.p-nanairo .p-nanairo__ttl {
  color: #67A163;
  font-size: 30px;
  font-size: clamp(1.125rem, 0.625rem + 1.04vw, 1.875rem);
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 2.0666666667;
  margin-bottom: 49px;
  text-align: center;
}

.p-nanairo .p-nanairo__txt {
  margin-bottom: 125px;
  text-align: center;
}

.p-nanairo .p-nanairo__txt p {
  font-size: 18px;
  font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 1.8px;
  line-height: 3.4444444444;
  margin-bottom: 30px;
}

.p-nanairo .p-nanairo__txt p.bottom {
  font-size: 24px;
  font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 2.4px;
  line-height: 2.5833333333;
  margin-block: 50px 0;
}

.p-nanairo .p-nanairo__en {
  margin-bottom: 104px;
  text-align: center;
}

.p-nanairo .p-nanairo__img {
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-nanairo .p-nanairo__loop {
  position: relative;
  z-index: 10;
  width: min(100%,1920px);
  margin-inline: auto;
  
}

.p-nanairo .l-inner.l-loop {
  overflow: hidden;
}

.p-nanairo .p-nanairo__loop-wrap {
  display: flex;
  align-items: center;
  gap: 0 28px;
  width: 200%;
}

.p-nanairo .p-nanairo__slider {
  animation: scroll-left 60s linear infinite;
}

.p-nanairo .p-nanairo__slider img {
      
}

.p-aboutus {
  background: #F6F6EE;
  position: relative;
}

.p-aboutus:before {
  background: url(../images/index/aboutus_bg.png) no-repeat bottom center/contain;
  content: "";
  height: 572px;
  left: 50%;
  position: absolute;
  top: -572px;
  transform: translateX(-50%);
  width: 100%;
}

.p-aboutus .l-inner.l-aboutus {
  align-items: flex-start;
  display: grid;
  gap: 0 144px;
  grid-template-columns: minmax(0, 1fr) 162px;
  padding-block: 167px 270px;
  padding-inline: 0px 116px;
}

.p-aboutus .p-aboutus__items-box {
  order: 1;
  position: relative;
  top: 40px;
}

.p-aboutus .p-aboutus__items {
  display: grid;
  gap: 62px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  position: relative;
}

.p-aboutus .p-aboutus__items .slide-dots {
  margin: 0;
  padding: 0;
  position: absolute;
  right: -9px;
  text-align: center;
  top: -65px;
}

.p-aboutus .p-aboutus__items .slide-dots li {
  display: inline-block;
  margin: 0 14px;
}

.p-aboutus .p-aboutus__items .slide-dots li button {
  position: relative;
  text-indent: -9999px;
}

.p-aboutus .p-aboutus__items .slide-dots li button::before {
  background: #C8D8C7;
  border-radius: 18px;
  content: "";
  cursor: pointer;
  height: 18px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 24px;
  width: 18px;
}

.p-aboutus .p-aboutus__items .slide-dots li.slick-active button::before {
  background: #67A163;
}

.p-aboutus .p-aboutus__items button {
  background: none;
  border: none;
  outline: none;
  padding: 0 7px;
}

.p-aboutus .p-aboutus__item {
  align-items: center;
  display: grid;
  gap: 0 80px;
  grid-template-columns: 789px 570px;
  padding-inline: 32px 0px;
}

.p-aboutus .p-aboutus__item-list {

}

.p-aboutus .slick-list {
  border-radius: 20px;
}

.p-aboutus .p-aboutus__item-list img {
  border-radius: 20px;
  height: auto;
  width: 100%;
}

.p-aboutus .p-aboutus__item-con {
}

.p-aboutus .p-aboutus__item-con-num {
  margin-bottom: 9px;
}

.p-aboutus .p-aboutus__item-ttl {
  font-size: 46px;
  font-size: clamp(1.5rem, 0.583rem + 1.91vw, 2.875rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.4782608696;
  margin-bottom: 20px;
}

.p-aboutus .p-aboutus__item-txt {
  font-size: 20px;
  font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 2.4;
}

.p-aboutus .p-aboutus__item-left {
  height: -moz-fit-content;
  height: fit-content;
  order: 2;
  position: sticky;
  right: 0px;
  top: 0;
  padding-block: 80px 0;
  
}

.p-aboutus .p-aboutus__ttl-wrap {
  display: flex;
  gap: 0px 18px;
  margin-bottom: 90px;
}

.p-aboutus .p-aboutus__ttl {
  font-size: 26px;
  font-size: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.4em;
  line-height: 1.3846153846;
  writing-mode: vertical-rl;
  color: #67A163;
}

.p-aboutus .p-aboutus__nav-list {
  display: grid;
  gap: 55px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  position: relative;
}

.p-aboutus .p-aboutus__nav-list::after {
  background: #C8D8C7;
  content: "";
  height: 150px;
  left: 8px;
  position: absolute;
  top: 2px;
  width: 1px;
}

.p-aboutus .p-aboutus__nav-list a {
  color: #67A163;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1;
  padding-inline: 32px 0;
  position: relative;
  z-index: 1;
}

.p-aboutus .p-aboutus__nav-list a.is-active::before {
  background: #67A163;
}

.p-aboutus .p-aboutus__img {
  text-align: center;
}

.p-aboutus .p-aboutus__nav-list a:before {
  background: #C8D8C7;
  border-radius: 50%;
  content: "";
  height: 16px;
  left: 0;
  position: absolute;
  top: 3px;
  width: 16px;
}

.p-parallax {
  background: #F6F6EE;
}

.p-parallax .l-inner.l-parallax {
}

.p-parallax .p-parallax__box {
  clip-path: inset(0);  /* ← これだけ追加 */
}

.p-parallax .p-parallax__con {
  height: 780px;
  position: relative;
  z-index: 10;
}

.p-parallax .p-parallax__con::before{

}

.p-parallax .p-parallax__con.bg::before {
  background: url(../images/index/aboutus_img.png) no-repeat top center / auto;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
  content: "";
  height: 780px;
  z-index: -1;
  position: absolute;
  content: "";
  left: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: -1;
}

.p-event {
  padding-block: 179px 0;
  background: #fff;
}

.p-event .l-inner.l-event {
  margin-inline: auto;
  width: min(95%, 1600px);
  position: relative;
  z-index: 10;
}

.p-event .p-event__en {
  margin-bottom: 40px;
}

.p-event .p-event__ttl-wrap {
  align-items: flex-end;
  display: flex;
  margin-bottom: 44px;
}

.p-event .p-event__ttl {
  color: #67A163;
  font-size: 36px;
  font-size: clamp(1.5rem, 1rem + 1.04vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-right: 44px;  
}

.p-event .p-event__txt {
  font-size: 18px;
  font-size: clamp(0.625rem, 0.292rem + 0.69vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.9px;
  line-height: 1.8888888889;
  margin-right: 245px;
  margin-right: clamp(1.5rem, -7.708rem + 19.18vw, 15.313rem);
  padding-block: 0 7px;
}

.p-event .p-event__btn {
  position: relative;
  top: -21px;
}

.p-event .p-event__btn a {
  background: #FFF;
  border: 1px solid #67A163;
  border-radius: 40px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.0012em;
  line-height: 2.9333333333;
  padding-block: 24px;
  padding-inline: 33px 134px;
  padding-inline: 33px clamp(4.375rem, 1.708rem + 5.56vw, 8.375rem);
  position: relative;
}

.p-event .p-event__btn a::after {
  background: url(../images/index/event_btn.svg) no-repeat center center/contain;
  content: "";
  height: 40px;
  position: absolute;
  right: 12px;
  top: 16px;
  width: 40px;
}

.p-event .p-event__lists {
  display: grid;
  gap: 0 50px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-event .p-event__list-box {
  position: relative;
}

.p-event .p-event__pic {
  margin-bottom: 10px;
}

.p-event .p-event__pic img {
  border-radius: 10px;
  height: 280px;
  width: 100%;
}

.p-event .p-event__system-category {
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  left: 0;
  position: absolute;
}

.p-event .p-event__system-category span {
  background: #67A163;
  border-radius: 0 0 0 10px;
  color: #ffffff;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5714285714;
  padding-block: 8px;
  padding-inline: 14px;
}

.p-event .p-event__system-date {
  color: #ADADAD;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-bottom: 15px;
}

.p-event .p-event__system-ttl {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.001em;
  line-height: 1.3;
  margin-bottom: 9px;
}

.p-event .p-event__system-txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.0008em;
  line-height: 1.625;
}

.p-interview {
  background: #F5F4F0;
  margin-block: -231px -617px;
}

.p-interview .l-inner.l-interview {
  padding-block: 201px 550px;
}

.p-interview .p-interview__en {
  margin-bottom: -65px;
  text-align: center;
  padding-block: 148px 0;
}

.p-interview .p-interview__ttl {
  color: #67A163;
  font-size: 34px;
  font-size: clamp(1.125rem, 0.458rem + 1.39vw, 2.125rem);
  font-weight: 700;
  letter-spacing: 2.72px;
  line-height: 1.2058823529;
  margin-bottom: 111px;
  text-align: center;
}

.p-interview .p-interview__list {
  background: #ffffff;
  border-radius: 15px;
  margin-inline: 15px;
  padding-block: 44px 44px;
  padding-inline: 35px;
}

.p-interview .p-interview__list:hover {
  cursor: pointer;
}

.p-interview .p-interview__pic {
  margin-bottom: 24px;
  text-align: center;
}

.p-interview .p-interview__pic img {
  border-radius: 50%;
  height: 160px;
  margin-inline: auto;
  width: 160px;
}

.p-interview .p-interview__system-ttl {
  font-size: 18px;
  font-size: clamp(1rem, 0.917rem + 0.17vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.8888888889;
  margin-bottom: 4px;
}

.p-interview .p-interview__system-date {
  color: #ADADAD;
  font-size: 16px;
  font-size: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
  margin-bottom: 18px;
}

.p-interview .p-interview__system-txt {
  font-size: 16px;
  font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.75;
}

.p-interview .slick-track {
  display: flex;
}

.p-interview .slick-slide {
  height: auto !important;
}

.p-interview .prev-arrow {
  left: calc(50% + 648px);
  position: absolute;
  top: -148px;
  width: 62px;
  z-index: 11;
}

.p-interview .next-arrow {
  left: calc(50% + 738px);
  position: absolute;
  top: -150px;
  width: 62px;
  z-index: 11;
}

.p-interview .slick-next:before {
  content: none;
}

.p-interview .slick-prev:before {
  content: none;
}

.p-interview .p-interview__list.js-interview-open {
  cursor: pointer;
}

.p-interview .p-interview__popup {
  background: rgba(58, 58, 58, 0.4);
  display: grid;
  place-items: center;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.3s all ease-in-out;
  visibility: hidden;
  z-index: 9999;
  height: 100dvh;
  inset: 0;
  width: 100vw;
  top: 201px;
}

.p-interview .p-interview__popup.-on {
  opacity: 1;
  visibility: visible;
}

.p-interview .p-interview__popup-inner {
  background: #F5F4F0;
  margin-inline: auto;
  overflow-y: auto;
  padding: 0rem;
  position: relative;
  width: min(95%, 1400px);
  max-height: 680px;
  height: 80%;
}

.p-interview .p-interview__popup-close {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #67A163;
  border-radius: 0 0 0 20px;
  height: 76px;
  position: absolute;
  right: 0px;
  top: 0px;
  transition: 0.3s all ease-in-out;
  width: 76px;
}

.p-interview .p-interview__popup-close::before,
.p-interview .p-interview__popup-close::after {
  background: #fff;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  width: 28px;
}

.p-interview .p-interview__popup-close::before {
  transform: rotate(45deg);
}

.p-interview .p-interview__popup-close::after {
  transform: rotate(-45deg);
}

.p-interview .p-interview__popup-item {
  display: none;
}

.p-interview .p-interview__popup-item.is-hidden {
  display: none !important;
}

.p-interview .p-interview__popup-item:not(.is-hidden) {
  display: grid;
  gap: 0 60px;
  grid-template-columns: minmax(0, 1fr) 522px;
  margin-inline: auto;
  padding-block: 156px 157px;
  width: min(95%, 1167px);
}

.p-interview .p-interview__popup-pic img {
  height: 367px;
  width: 100%;
}

.p-interview .p-interview__popup-ttl {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.00176em;
  line-height: 1.7272727273;
  margin-bottom: 8px;
}

.p-interview .p-interview__popup-date {
  color: #ADADAD;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
  margin-bottom: 21px;
}

.p-interview .wysiwyg p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.75;
}

.p-interview__lists.is-no-slider {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.p-interview__lists.is-no-slider .p-interview__list {
  width: 21%;
}

.p-interview__coming-soon{ text-align: center;}


.p-vision {
  color: #3A3A3A;
}

.l-inner.l-vision {
  position: relative;
  top: 185px;
  margin-bottom: 130px;
}

.p-vision .p-vision__con {
  padding-block: 58px 215px;
  background: #EDECDE;
  position: relative;
}

.p-vision .p-vision__con:before {
  position: absolute;
  content: "";
  background: url(../images/index/vision_bg.png) no-repeat top center / auto;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
  height: 341px;        
  top: -341px;
  left: 50%;
  transform: translateX(-50%);
}


.p-vision .p-vision__en {
  margin-block: 0px 18px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-vision .p-vision__ttl {
  font-size: 48px;
  font-size: clamp(2rem, 1.333rem + 1.39vw, 3rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5833333333;
  margin-bottom: 49px;
  text-align: center;
}

.p-vision .p-vision__txt {
  font-size: 20px;
  font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 1.6px;
  line-height: 2.2;
  margin-bottom: 80px;
  text-align: center;
}

.p-vision .p-vision__img {
  text-align: center;
  position: relative;
}

/* p-vision 無限スライダー（右方向） */
.p-vision .p-vision__loop {
  position: relative;
  z-index: 10;
  width: min(100%, 1920px);
  margin-inline: auto;
}

.p-vision .l-inner.l-loop {
  overflow: hidden;
}

.p-vision .p-vision__loop-wrap {
  display: flex;
  align-items: center;
  gap: 0px;
  width: 200%;
}

.p-vision .p-vision__slider {
  animation: scroll-right-vision 60s linear infinite;
}

.p-vision .p-vision__slider img {
  width: 100%;
  height: auto;
}

.p-vision .p-vision__loop-en {
  text-align: right;
  position: absolute;
  bottom: 0px;
  right: 0;
  z-index: 10;
}

.p-member {
  background: #EDECDE;
  padding-block: 168px 0;
  position: relative;
}

.p-member .l-inner.l-member {
  padding-block: 112px 127px;
  position: relative;
}

.p-member .p-member__icon01 {
  position: absolute;
  right: 0;
  top: 0;
}

.p-member .p-member__icon02 {
  left: 0;
  position: absolute;
  top: 100px;
}

.p-member .p-member__en {
  margin-bottom: 30px;
  text-align: center;
}

.p-member .p-member__ttl {
  color: #67A163;
  font-size: 30px;
  font-size: clamp(1.375rem, 1.042rem + 0.69vw, 1.875rem);
  font-weight: 600;
  letter-spacing: 2.4px;
  line-height: 1.6666666667;
  margin-bottom: 30px;
  text-align: center;
}

.p-member .p-member__txt {
  color: #3A3A3A;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1.28px;
  line-height: 2;
  margin-bottom: 64px;
  text-align: center;
}

.p-member .p-member__list {
  margin-inline: auto;
  width: 456px;
}

.p-member .p-member__list-box {
  position: relative;
}

.p-member .p-member__pic {
  text-align: center;
}

.p-member .p-member__pic img {
  display: inline-block;
  height: 477px;
  width: 456px;
}

.p-member .p-member__list-ttl {
  background: #EDECDE;
  color: #78643F; /* Safari用 */
  font-size: 26px;
  font-size: clamp(1rem, 0.583rem + 0.87vw, 1.625rem);
  font-weight: 500;
  height: -moz-fit-content;
  height: fit-content;
  letter-spacing: 0.32em;
  line-height: 1.2307692308;
  padding: 16px 9px 4px;
  position: absolute;
  right: 88px;
  text-align: center;
  text-orientation: upright;
  top: 217px;
  width: -moz-fit-content;
  width: fit-content;
  writing-mode: vertical-rl;
}

.p-member .p-member__list-txt {
  color: #3A3A3A;
  font-size: 18px;
  font-size: clamp(1rem, 0.917rem + 0.17vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.00144em;
  line-height: 1.7777777778;
  margin-block: 26px 27px;
  margin-inline: auto;
  text-align: left;
  width: 397px;
}

.p-member .p-member__list-link {
  border-bottom: 1px solid #78643F;
  color: #78643F;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.00144em;
  line-height: 1.7777777778;
  margin-inline: auto;
  padding-block: 0 5px;
  padding-inline: 0 123px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.p-member .p-member__list-link::after {
  background: url(../images/index/member_arrow.svg) no-repeat center center/contain;
  content: "";
  height: 15px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.p-member .p-member__list.js-member-open {
  cursor: pointer;
}

.p-member .p-member__popup {
  background: rgba(58, 58, 58, 0.4);
  display: grid;
  place-items: center;
  opacity: 0;
  position: fixed;
  transition: 0.3s all ease-in-out;
  visibility: hidden;
  z-index: 9999;
  height: 100dvh;
  inset: 0;
  width: 100vw;
  top: -10px;
}

.p-member .p-member__popup.-on {
  opacity: 1;
  visibility: visible;
}

.p-member .p-member__popup-inner {
  background: #F5F4F0;
  margin-inline: auto;
  position: relative;
  width: min(95%, 1400px);
}

.p-member .p-member__popup-close {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #67A163;
  border-radius: 0 0 0 20px;
  height: 76px;
  position: absolute;
  right: 0;
  top: 0;
  transition: 0.3s all ease-in-out;
  width: 76px;
}

.p-member .p-member__popup-close::before,
.p-member .p-member__popup-close::after {
  background: #fff;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  width: 28px;
}

.p-member .p-member__popup-close::before {
  transform: rotate(45deg);
}

.p-member .p-member__popup-close::after {
  transform: rotate(-45deg);
}

.p-member .p-member__popup-item {
  display: none;
}

.p-member .p-member__popup-item.is-hidden {
  display: none !important;
}

.p-member .p-member__popup-item:not(.is-hidden) {
  align-items: center;
  color: #3A3A3A;
  display: grid;
  gap: 0 30px;
  grid-template-columns: minmax(0, 1fr) 604px;
  margin-inline: auto;
  padding-block: 90px 0px;
  width: min(95%, 1167px);
}

.p-member .p-member__popup-ttl {
  font-size: 36px;
  font-size: clamp(1.25rem, 0.583rem + 1.39vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 0.8888888889;
  margin-bottom: 24px;
}

.p-member .p-member__popup-txt {
  font-size: 22px;
  font-size: clamp(1rem, 0.75rem + 0.52vw, 1.375rem);
  font-weight: 500;
  letter-spacing: 0.00176em;
  line-height: 1.7272727273;
  margin-bottom: 30px;
}

.p-member .p-member__popup-body {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.00128em;
  line-height: 2;
}

.p-member .wysiwyg p {
  font-size: 16px;
  font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.00128em;
  line-height: 2;
}

.p-member .p-member__popup-pic {
  position: relative;
  text-align: center;
}

.p-member .p-member__popup-pic::after {
  background: url(../images/index/banana.png) no-repeat center center/contain;
  bottom: 0;
  content: "";
  height: 98px;
  position: absolute;
  right: 60px;
  width: 128px;
}

.p-member .p-member__popup-pic img {
  height: auto;
  width: 407px;
}

.p-member .p-member__popup-pic-en {
  color: #EDECDE;
  font-size: 140px;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 0.7857142857;
}

.p-mission {
  background: #EDECDE;
  position: relative;
  z-index: 1;
}

.l-inner.l-inner-mission {
  margin-inline: auto;
  width: min(95%, 1598px);
}

.p-mission__ttl-wrap {
  align-items: center;
  display: flex;
  gap: 0 30px;
  margin-bottom: 129px;
}

.p-mission__en {
  color: #78643F;
  font-size: 92px;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1;
}

.p-mission__ttl {
  color: #3A3A3A;
  font-size: 20px;
  font-size: clamp(0.938rem, 0.729rem + 0.43vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 1.6px;
  line-height: 1.8;
}

.p-mission__items {
  display: flex;
  flex-wrap: wrap;
  gap: 63px 25px;
  justify-content: center;
}

.p-mission__item {
  background: #ffffff;
  border-radius: 20px;
  padding-block: 0 40px;
  padding-inline: 34px 22px;
  width: 32.2%;
}

.p-mission__item .num {
  margin-bottom: -24px;
  position: relative;
  top: -25px;
  left: -10px;
}

.p-mission__item .icon {
  margin-bottom: -30px;
  text-align: right;
}

.p-mission__item h3 {
  font-size: 28px;
  font-size: clamp(1.125rem, 0.708rem + 0.87vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.0714285714;
  margin-bottom: 25px;
}

.p-mission__item:last-child .num {
  margin-bottom: -19px;
  position: relative;
  top: -25px;
  left: 2px;
}

.p-mission__item:last-child .icon {
  margin-bottom: -37px;
  text-align: right;
}

.p-mission__item:last-child h3 {
  font-size: 28px;
  font-size: clamp(1.125rem, 0.708rem + 0.87vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.0714285714;
  margin-bottom: 25px;
}

.p-mission__item h3.num01 {
  color: #67A163;
}

.p-mission__item h3.num02 {
  color: #9575A9;
}

.p-mission__item h3.num03 {
  color: #EA5F4E;
}

.p-mission__item h3.num04 {
  color: #E88C34;
}

.p-mission__item h3.num05 {
  color: #CDB302;
}

.p-mission__item h3.num06 {
  color: #7EB0DA;
}

.p-mission__item h3.num07 {
  color: #687BB4;
}

.p-mission__item p {
  color: #3A3A3A;
  font-size: 18px;
  font-size: clamp(0.75rem, 0.5rem + 0.52vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 1.44px;
  line-height: 2;
  padding-inline: 0 22px;
}

.p-mission__item:last-child {
  width: 50%;
  padding-inline: 49px 28px;
}

.p-seo {
  background: #5B5959;
  padding-block: 51px 78px;
  position: relative;
}

.p-seo p {
  color: #B3B1B1;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 1.05px;
  line-height: 2.5333333333;
  margin-inline: auto;
  text-align: left;
  width: min(95%, 1439px);
}

.l-inner {
  margin-inline: auto;
  width: min(100%, 1920px);
}

.p-bottom {
  position: relative;
  padding-block: 0 80px;  
}

.p-bottom::after {
  content: "";
  position: absolute;
  background: #EDECDE;
  width: min(100%,1920px);
  margin-inline: auto;
  height: 80px;
  bottom: 0px;
  left: 0;
  z-index: 1;
}

.p-bottom .l-inner.l-bottom {

}

.p-bottom .p-bottom__txt {
  display: grid;
  gap: 20px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-bottom: 34px;
  place-items: center;
  position: relative;
  z-index: 1;
  background: #EDECDE;
}

.p-bottom .p-bottom__txt span.bottom {
  color: #67A163;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 2.08px;
  line-height: 2.1538461538;
  text-align: center;
  position: relative;
}

.p-bottom .p-bottom__img {
  text-align: center;  
  position: relative;
}


.p-bottom .p-bottom__img img {

}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
.p-fv .p-fv__img img {
  width: 83.5%;
}

.p-fv .p-fv__img {
  margin-bottom: -14.174vw;
  padding-inline: 0 2.189vw;
  text-align: right;
}

.p-fv .p-fv__ttl {
  display: grid;
  gap: 1.928vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-inline: 8.286vw 0;
}

.p-nanairo .p-nanairo__en {
  margin-bottom: 104px;
  text-align: center;
}

.p-nanairo .p-nanairo__en img {
  height: auto;
  width: 88.327vw;
}

.p-nanairo .p-nanairo__img img {
  width: 95%;
  height: auto;
}

.p-aboutus .p-aboutus__img img {
  width: 100%;
  height: auto;        
}

.p-vision .p-vision__img img {
  width: 100%;
  height: auto;        
}

.p-bottom .p-bottom__img img {
  width: 100%;
  height: auto;        
}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1800px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1800px) {
.p-aboutus .l-inner.l-aboutus {
  align-items: flex-start;
  display: grid;
  gap: 0 8vw;
  grid-template-columns: minmax(0, 1fr) 9vw;
  padding-block: 9.278vw 15vw;
  padding-inline: 0px 6.444vw;
}

.p-aboutus .p-aboutus__en img {
  width: 4vw;
  height: auto;
}


.p-aboutus .p-aboutus__item {
  align-items: center;
  display: grid;
  gap: 0 4.444vw;
  grid-template-columns: 43.833vw 31.667vw;
  padding-inline: 1.778vw 0px;
}

.p-aboutus .p-aboutus__ttl-wrap {
  display: flex;
  gap: 0px 1vw;
  margin-bottom: 5vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1700px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1700px) {
.p-event .p-event__ttl {
  margin-right: 2.588vw;
}

.p-event .p-event__txt {
  padding-block: 0 0.412vw;
}

.p-event .p-event__btn {
  position: relative;
  top: -1.235vw;
}

.p-event .p-event__btn a {
  white-space: nowrap;
}

.p-event .p-event__ttl {
  margin-right: 2.588vw;
  white-space: nowrap;
}

.p-interview .p-interview__en {
  margin-bottom: -3.824vw;
  text-align: center;
  padding-block: 8.706vw 0;
}

.p-interview .p-interview__en img {
  height: auto;
  width: 49.059vw;
}

.p-interview .p-interview__ttl {
  margin-bottom: 6.529vw;
}

.p-member .p-member__pic img {
  display: inline-block;
  height: 28.059vw;
  width: 26.824vw;
}

.p-member .p-member__list-ttl {
  padding: 0.941vw 0.529vw 0.235vw;
  right: 5.176vw;
  top: 12.765vw;
}

.p-member .p-member__list-txt {
  width: 23.353vw;
}
  
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1650px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1650px) {
.p-interview .prev-arrow {
  left: calc(50% + 39.273vw);
  position: absolute;
  top: -8.97vw;
  width: 3.758vw;
  z-index: 11;
}

.p-interview .prev-arrow img {
  width: 3.758vw;
  height: auto;
}

.p-interview .next-arrow {
  left: calc(50% + 44.727vw);
  position: absolute;
  top: -9.091vw;
  width: 3.758vw;
  z-index: 11;
}

.p-interview .next-arrow img {
  width: 3.758vw;
  height: auto;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1600px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1600px) {
.p-vision .p-vision__en {
  margin-block: 0px 1.125vw;
}

.p-vision .p-vision__en img {
  height: auto;
  width: 91vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1550px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1550px) {
.p-fv {
  background: url(../images/index/fv_bg.png) no-repeat top 72px center/contain;
  margin-inline: auto;
  max-width: 123.871vw;
  width: 100%;
  margin-block: -5.419vw 0;
}

.p-nanairo .p-nanairo__img01 img {
  width: 22.516vw;
  height: auto;
}

.p-nanairo .p-nanairo__img02 img {
  width: 19.419vw;
  height: auto;
}

.p-nanairo .p-nanairo__img02 {
  left: 0;
  position: absolute;
  top: 20.516vw;
}

.p-mission__items {
  display: flex;
  flex-wrap: wrap;
  gap: 4.065vw 1.613vw;
  justify-content: center;
}

.p-mission__item {
  width: 31.2%;
}

.p-mission__item .num {
  margin-bottom: -1.548vw;
  position: relative;
  top: -1.613vw;
  left: -0.645vw;
}

.p-mission__item .num img {
  height: auto;
  width: 3.935vw;
}

.p-mission__item .icon {
  margin-bottom: -1.935vw;
  text-align: right;
}

.p-mission__item .icon img {
  height: auto;
  width: 5.161vw;
}

.p-mission__item h3 {
  padding-inline: 0 5.161vw;
  line-height: 1.6;
}

.p-mission__item:last-child .num {
  margin-bottom: -1.226vw;
  position: relative;
  top: -1.613vw;
  left: 0.129vw;
}

.p-mission__item:last-child .icon {
  margin-bottom: -2.387vw;
  text-align: right;
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.p-member .p-member__icon01 img {
  width: 17.185vw;
  height: auto;
} 

.p-member .p-member__icon02 img {
  width: 17.778vw;
  height: auto;
} 
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1300px) {
.p-interview .p-interview__popup-item:not(.is-hidden) {
  display: grid;
  gap: 0 4.615vw;
  grid-template-columns: minmax(0, 1fr) 40.1vw;
  margin-inline: auto;
  padding-block: 12vw 12.077vw;
  width: min(95%, 1167px);
}

.p-interview .p-interview__popup-pic img {
  height: 28.231vw;
  width: 100%;
}

.p-member .p-member__popup-pic::after {
  background: url(../images/index/banana.png) no-repeat center center/contain;
  bottom: 0;
  content: "";
  height: 7.538vw;
  position: absolute;
  right: 4.615vw;
  width: 9.846vw;
}

.p-member .p-member__popup-pic img {
  height: auto;
  width: 31.308vw;
}

.p-member .p-member__popup-pic-en {
  color: #EDECDE;
  font-size: 10.769vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 0.7857142857;
}

.p-member .p-member__popup-item:not(.is-hidden) {
  align-items: center;
  color: #3A3A3A;
  display: grid;
  gap: 0 2.308vw;
  grid-template-columns: minmax(0, 1fr) 46.4vw;
  margin-inline: auto;
  padding-block: 6.923vw 0px;
  width: min(95%, 1167px);
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1280px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1280px) {
.p-nanairo .p-nanairo__img02 {
  top: clamp(10.188rem, 8.125rem + 4.3vw, 11.563rem);
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
.p-interview .p-interview__pic img {
  border-radius: 50%;
  height: 10vw;
  margin-inline: auto;
  width: 10vw;
}

.p-interview .p-interview__list {
  background: #ffffff;
  border-radius: 1.25vw;
  margin-inline: 1.25vw;
  padding-block: 3.667vw 3.667vw;
  padding-inline: 2.917vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
.p-event .p-event__pic img {
  border-radius: 0.909vw;
  height: 25.455vw;
  width: 100%;
}
}

/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
body.index-bg:before {
  content: "";
  display: block;
  position: fixed;
  bottom: 0;
  left: 50%;
  width: 100%;
  height: 100vh;
  background: url(../images/index/bottom_bg_sp.jpg) bottom center no-repeat;
  background-size: cover;
  transform: translate(-50%);
}


.p-fv {
  background: url(../images/index/fv_bg_sp.png) no-repeat top 13vw center/contain;
  margin-block: 4.246vw 2vw;
  margin-inline: auto;
  width: 100%;
}

.p-fv .l-inner.l-fv {
  padding-block: 0 24.638vw;
}

.p-fv .p-fv__img {
  margin-bottom: 6.831vw;
  padding-inline: 3.8vw;
  text-align: center;
}

.p-fv .p-fv__ttl {
  display: grid;
  gap: 2.415vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-inline: 4.28vw;
}

.p-fv .p-fv__ttl span {
  color: #ffffff;
  font-size: 8.696vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1;
}

.p-fv .p-fv__ttl .char {
  opacity: 0;
}

.p-nanairo .l-inner.l-nanairo {
  margin-inline: auto;
  padding-block: 11.836vw 0;
  position: relative;
  width: min(95%, 86.9vw);
}

.p-nanairo .p-nanairo__img01 {
  position: absolute;
  right: -3vw;
  top: 152.401vw;
}

.p-nanairo .p-nanairo__img01 img {
  height: auto;
  width: 32.609vw;
}

.p-nanairo .p-nanairo__img02 {
  left: 0;
  position: absolute;
  top: 165.589vw;
}

.p-nanairo .p-nanairo__img02 img {
  height: auto;
  width: 34.783vw;
}

.p-nanairo .p-nanairo__ttl {
  color: #67A163;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 1.8px;
  line-height: 2;
  margin-bottom: 7.246vw;
  text-align: left;
}

.p-nanairo .p-nanairo__txt {
  margin-bottom: 77.295vw;
  text-align: left;
}

.p-nanairo .p-nanairo__txt p {
  font-size: 3.623vw;
  font-weight: 500;
  letter-spacing: 1.5px;
  line-height: 2.4;
  margin-bottom: 4.246vw;
}

.p-nanairo .p-nanairo__txt p.bottom {
  font-size: 3.865vw;
  font-weight: 600;
  letter-spacing: 1.6px;
  line-height: 2.5;
  margin-block: 0;
}

.p-nanairo .p-nanairo__en {
  margin-bottom: 14.493vw;
  text-align: center;
}

.p-nanairo .p-nanairo__en img {
  height: auto;
  width: 79.469vw;
}

.p-nanairo .p-nanairo__img {
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-nanairo .p-nanairo__loop {
  position: relative;
  z-index: 10;  
}

.p-nanairo .l-inner.l-loop {
  overflow: hidden;
}

.p-nanairo .p-nanairo__loop-wrap {
  display: flex;
  align-items: center;
  gap: 0 3.623vw;
  width: 473.43vw;
}

.p-nanairo .p-nanairo__slider {
  animation: scroll-left 60s linear infinite;
}

.p-nanairo .p-nanairo__slider img {
  width: 100%;
  height: 49.275vw;       
  object-fit: cover;
}

.p-aboutus {
  background: #F6F6EE;
  position: relative;
}

.p-aboutus:before {
  background: url(../images/index/aboutus_bg_sp.png) no-repeat bottom center/contain;
  content: "";
  height: 26.57vw;
  left: 50%;
  position: absolute;
  top: -26.57vw;
  transform: translateX(-50%);
  width: 100%;
}

.p-aboutus .l-inner.l-aboutus {
  align-items: flex-start;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-block: 14.937vw 23.155vw;
  padding-inline: 4.106vw;
}

.p-aboutus .p-aboutus__items-box {
  order: 2;
}

.p-aboutus .p-aboutus__items {
  display: grid;
  gap: 20vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-aboutus .p-aboutus__items .slide-dots {
  left: 50%;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  top: 63.633vw;
  transform: translateX(-50%);
}

.p-aboutus .p-aboutus__items .slide-dots li {
  display: inline-block;
  margin: 0 1.5vw;
}

.p-aboutus .p-aboutus__items .slide-dots li button {
  position: relative;
  text-indent: -2415.217vw;
}

.p-aboutus .p-aboutus__items .slide-dots li button::before {
  background: #C8D8C7;
  border-radius: 2.657vw;
  content: "";
  cursor: pointer;
  height: 2.657vw;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 5.797vw;
  width: 2.657vw;
}

.p-aboutus .p-aboutus__items .slide-dots li.slick-active button::before {
  background: #67A163;
}

.p-aboutus .p-aboutus__items button {
  background: none;
  border: none;
  outline: none;
  padding: 0 1.691vw;
}

.p-aboutus .slick-dotted.slick-slider {
  margin-bottom: 6vw;
}

.p-aboutus .p-aboutus__item {
  display: grid;
  gap: 0vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-inline: 0;
}

.p-aboutus .p-aboutus__item-list img {
  border-radius: 2.415vw;
  height: auto;
  width: 100%;
}

.p-aboutus .p-aboutus__item-con {
  padding-block: 0;
  padding-inline: 2vw;
}

.p-aboutus .p-aboutus__item-con-num {
  margin-bottom: 5.449vw;
}

.p-aboutus .p-aboutus__item-con-num img {
  height: auto;
  width: 10.628vw;
}

.p-aboutus .p-aboutus__item-ttl {
  font-size: 6.763vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-bottom: 2.899vw;
}

.p-aboutus .p-aboutus__item-txt {
  font-size: 3.623vw;
  font-weight: 500;
  letter-spacing: 0.75px;
  line-height: 2.1333333333;
  padding-inline: 0 1vw;
}

.p-aboutus .p-aboutus__item-left {
  margin-bottom: 12.662vw;
  order: 1;
}

.p-aboutus .p-aboutus__ttl-wrap {
  display: grid;
  gap: 4.449vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 7.662vw;
}

.p-aboutus .p-aboutus__ttl {
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.1111111111;
  order: 1;
  writing-mode: horizontal-tb;
  color: #67A163;
}

.p-aboutus .p-aboutus__nav-list {
  align-items: center;
  display: flex;
  gap: 0 9.56vw;
  position: relative;
}

.p-aboutus .p-aboutus__nav-list::after {
  background: #C8D8C7;
  content: "";
  height: 0.242vw;
  left: -0.068vw;
  position: absolute;
  top: 7.179vw;
  width: 27.918vw;
}

.p-aboutus .p-aboutus__nav-list a {
  color: #67A163;
  font-size: 3.382vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1;
  padding-block: 0 2.174vw;
  padding-inline: 0px 0;
  position: relative;
  z-index: 1;
}

.p-aboutus .p-aboutus__nav-list a.is-active::before {
  background: #67A163;
}

.p-aboutus .p-aboutus__nav-list a:before {
  background: #C8D8C7;
  border-radius: 50%;
  content: "";
  height: 2.657vw;
  left: 0;
  position: absolute;
  top: 5.729vw;
  width: 2.657vw;
}

.p-parallax {
  background: #F6F6EE;
}

.p-parallax .l-inner.l-parallax {
}

.p-parallax .p-parallax__box {
  clip-path: inset(0);  /* ← これだけ追加 */
}

.p-parallax .p-parallax__con {
  height: 40vw;
  position: relative;
  z-index: 10;
}

.p-parallax .p-parallax__con::before{

}

.p-parallax .p-parallax__con.bg::before {
  background: url(../images/index/aboutus_img_sp.png) no-repeat top center / contain;
  width: 100%;
  margin-inline: auto;
  content: "";
  height: 74.155vw;
  z-index: -1;
  position: absolute;
  content: "";
  left: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: -1;
}


.p-event {
  margin-block: 0 19.324vw;
  padding-block: 16.493vw 0;
}

.p-event .l-inner.l-event {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 90vw);
}

.p-event .p-event__en {
  margin-bottom: 6.348vw;
  order: 1;
}

.p-event .p-event__en img {
  height: auto;
  width: 32.609vw;
}

.p-event .p-event__ttl-wrap {
  display: contents;
}

.p-event .p-event__ttl {
  color: #67A163;
  font-size: 5.314vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.6363636364;
  margin-bottom: 6.28vw;
  margin-right: 0;
  order: 2;
}

.p-event .p-event__txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.8px;
  line-height: 2;
  margin-bottom: 12.077vw;
  margin-right: 0;
  order: 3;
}

.p-event .p-event__btn {
  order: 5;
  text-align: center;
}

.p-event .p-event__btn a {
  background: #FFF;
  border: 1px solid #67A163;
  border-radius: 9.662vw;
  font-size: 3.623vw;
  font-weight: 600;
  letter-spacing: 0.0012em;
  line-height: 2.9333333333;
  padding-block: 5.865vw;
  padding-inline: 7.971vw 32.126vw;
  position: relative;
}

.p-event .p-event__btn a::after {
  background: url(../images/index/event_btn.svg) no-repeat center center/contain;
  content: "";
  height: 9.662vw;
  position: absolute;
  right: 3vw;
  top: 3.449vw;
  width: 9.662vw;
}

.p-event .p-event__lists {
  display: grid;
  gap: 4.662vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 8.662vw;
  order: 4;
}

.p-event .p-event__list-box {
  position: relative;
}

.p-event .p-event__pic {
  margin-bottom: 2.415vw;
}

.p-event .p-event__pic img {
  border-radius: 2.415vw;
  height: 48.792vw;
  width: 100%;
}

.p-event .p-event__system-category {
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.932vw;
  left: 0;
  position: absolute;
}

.p-event .p-event__system-category span {
  background: #67A163;
  border-radius: 0 0 0 2.415vw;
  color: #ffffff;
  display: inline-block;
  font-size: 3.382vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5714285714;
  padding-block: 1vw;
  padding-inline: 3.382vw;
}

.p-event .p-event__system-date {
  color: #ADADAD;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-bottom: 2.415vw;
}

.p-event .p-event__system-ttl {
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.9px;
  line-height: 1.3333333333;
  margin-bottom: 2.415vw;
}

.p-event .p-event__system-txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.7px;
  line-height: 1.7142857143;
}

.p-interview {
  background: #F5F4F0;
  margin-bottom: -9.309vw;
}

.p-interview .l-inner.l-interview {
  padding-block: 0 43.478vw;
}

.p-interview .p-interview__en {
  padding-block: 14.493vw 0;
  margin-bottom: -5.797vw;
  text-align: center;
}

.p-interview .p-interview__en img {
  height: auto;
  width: 81.401vw;
}

.p-interview .p-interview__ttl {
  color: #67A163;
  font-size: 4.831vw;
  font-weight: 600;
  letter-spacing: 1.6px;
  line-height: 0.8;
  margin-bottom: 8.696vw;
  text-align: center;
}

.p-interview .p-interview__list {
  background: #ffffff;
  border-radius: 3.14vw;
  margin-inline: 7.246vw;
  padding-block: 9.246vw 10.628vw;
  padding-inline: 6.28vw;
}

.p-interview .p-interview__pic {
  margin-bottom: 5.797vw;
  text-align: center;
}

.p-interview .p-interview__pic img {
  border-radius: 50%;
  height: 34.541vw;
  margin-inline: auto;
  width: 34.541vw;
}

.p-interview .p-interview__system-ttl {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.875;
  margin-bottom: 1.415vw;
}

.p-interview .p-interview__system-date {
  color: #ADADAD;
  font-size: 3.382vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1;
  margin-bottom: 4.415vw;
}

.p-interview .p-interview__system-txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.7857142857;
}

.p-interview .slick-track {
  display: flex;
}

.p-interview .slick-slide {
  height: auto !important;
}

.p-interview .prev-arrow {
  left: 2vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 9.662vw;
  z-index: 11;
}

.p-interview .next-arrow {
  position: absolute;
  right: 2vw;
  top: 50%;
  transform: translateY(-50%);
  width: 9.662vw;
  z-index: 11;
}

.p-interview .slick-next:before {
  content: none;
}

.p-interview .slick-prev:before {
  content: none;
}

.p-interview .p-interview__list.js-interview-open {
  cursor: pointer;
}

.p-interview .p-interview__popup {
  align-items: center;
  background: rgba(58, 58, 58, 0.4);
  display: flex;
  justify-content: center;
  opacity: 0;
  padding: 0;
  position: fixed;
  top: 0;       /* ← 追加 */
  left: 0;      /* ← 追加 */
  width: 100%;  /* ← 追加 */
  height: 100vh; /* ← 追加 */
  transition: 0.3s all ease-in-out;
  visibility: hidden;
  z-index: 9999;
}

.p-interview .p-interview__popup.-on {
  opacity: 1;
  visibility: visible;
}

.p-interview .p-interview__popup-inner {
  position: relative;
  background: #F5F4F0;
  max-height: calc(100vh - 56vw);
  margin-inline: auto;
  overflow-y: auto;
  padding: 0rem;
  width: min(95%, 91.7vw);
  top: -3vw;
}

.p-interview .p-interview__popup-close {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #67A163;
  border-radius: 0 0 0 3.203vw;
  height: 11.111vw;
  position: absolute;
  right: 0px;
  top: 0px;
  transition: 0.3s all ease-in-out;
  width: 12.077vw;
}

.p-interview .p-interview__popup-close::before,
.p-interview .p-interview__popup-close::after {
  background: #fff;
  content: "";
  display: block;
  height: 0.242vw;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: calc(50% - 0.242vw);
  width: 4.348vw;
}

.p-interview .p-interview__popup-close::before {
  transform: rotate(45deg);
}

.p-interview .p-interview__popup-close::after {
  transform: rotate(-45deg);
}

.p-interview .p-interview__popup-item {
  display: none;
}

.p-interview .p-interview__popup-item.is-hidden {
  display: none !important;
}

.p-interview .p-interview__popup-item:not(.is-hidden) {
  display: grid;
  gap: 4.106vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  padding-block: 16.908vw 19.324vw;
  width: min(95%, 75.845410628vw);
}

.p-interview .p-interview__popup-item-box {
  order: 2;
}

.p-interview .p-interview__popup-pic {
  order: 1;
}

.p-interview .p-interview__popup-pic img {
  height: 48.309vw;
  width: 100%;
}

.p-interview .p-interview__popup-ttl {
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.00144em;
  line-height: 1.6666666667;
  margin-bottom: 1.932vw;
}

.p-interview .p-interview__popup-date {
  color: #ADADAD;
  font-size: 3.865vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1;
  margin-bottom: 2.415vw;
}

.p-interview .wysiwyg p {
  font-size: 3.382vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 2;
}

.p-interview__coming-soon{ text-align: center;}


.p-vision {
  color: #3A3A3A;
  padding-block: 4vw 0;
  
}

.p-vision .p-vision__con {
  background: #EDECDE;
  padding-block: 22vw 19.908vw;
  position: relative;
}

.p-vision .p-vision__con:before {
  background: url(../images/index/vision_bg_sp.png) no-repeat center center/contain;
  content: "";
  height: 22.464vw;
  left: 0;
  position: absolute;
  top: -22.464vw;
  width: 100%;
}

.p-vision .p-vision__en {
  margin-bottom: -9.923vw;
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-vision .p-vision__en img {
  height: auto;
  width: 78.261vw;
}

.p-vision .p-vision__ttl {
  font-size: 7.246vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-bottom: 7.246vw;
  text-align: center;
}

.p-vision .p-vision__txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 1.28px;
  line-height: 2;
  margin-bottom: 12.077vw;
  margin-inline: auto;
  text-align: left;
  width: min(95%, 85.5vw);
}

.p-vision .p-vision__img {
  text-align: center;
  position: relative;
}

/* p-vision 無限スライダー（右方向） 767px以下 */
.p-vision .p-vision__loop {
  position: relative;
  z-index: 10;
  width: min(100%, 1920px);
  margin-inline: auto;
}

.p-vision .l-inner.l-loop {
  overflow: hidden;
}

.p-vision .p-vision__loop-wrap {
  display: flex;
  align-items: center;
  width: 642vw;
}

.p-vision .p-vision__slider {
  animation: scroll-right-vision 60s linear infinite;
}

.p-vision .p-vision__slider img {
  width: 100%;
  height: auto;
}

.p-vision .p-vision__loop-en {
  text-align: right;
  position: absolute;
  bottom: 0px;
  right: 0;
  z-index: 10;
}

.p-vision .p-vision__loop-en img {
  width: 55.556vw;
  height: auto;
}

body.is-popup-open .p-vision{
  z-index: -1;
  position: relative;
}

.p-member {
  background: #EDECDE;
  position: relative;
}

.p-member .l-inner.l-member {
  padding-block: 14vw 24.155vw;
  position: relative;
}

.p-member .p-member__icon01 {
  position: absolute;
  right: 0;
  top: 0;
}

.p-member .p-member__icon01 img {
  height: auto;
  width: 16.324vw;
}

.p-member .p-member__icon02 {
  left: 0;
  position: absolute;
  top: 82.386vw;
}

.p-member .p-member__icon02 img {
  height: auto;
  width: 16.29vw;
}

.p-member .p-member__en {
  margin-bottom: 6.831vw;
  text-align: center;
}

.p-member .p-member__en img {
  height: auto;
  width: 49.5vw;
}

.p-member .p-member__ttl {
  color: #67A163;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 1.44px;
  line-height: 1.7777777778;
  margin-bottom: 4.831vw;
  text-align: center;
}

.p-member .p-member__txt {
  color: #3A3A3A;
  font-size: 3.623vw;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 1.8666666667;
  margin-bottom: 16.594vw;
  margin-inline: auto;
  text-align: left;
  text-align: center;
  width: min(95%, 75.845410628vw);
}

.p-member .p-member__list {
  margin-inline: auto;
  width: 69.324vw;
}

.p-member .p-member__list-box {
  position: relative;
}

.p-member .p-member__pic img {
  display: inline-block;
  height: 91.787vw;
  width: 86.473vw;
}

.p-member .p-member__list-ttl {
  background: #EDECDE;
  color: #78643F; /* Safari用 */
  font-size: 4.83vw;
  font-weight: 600;
  height: -moz-fit-content;
  height: fit-content;
  letter-spacing: 0.2em;
  line-height: 1.2777777778;
  padding: 3.623vw 0.966vw;
  position: absolute;
  right: 11.594vw;
  text-align: center;
  text-orientation: upright;
  bottom: 13vw;
  width: -moz-fit-content;
  width: fit-content;
  writing-mode: vertical-rl;
}

.p-member .p-member__list-txt {
  color: #3A3A3A;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.00112em;
  line-height: 1.8571428571;
  margin-block: 9.662vw 6.28vw;
  margin-inline: auto;
  text-align: left;
  width: 76.812vw;
}

.p-member .p-member__list-link {
  border-bottom: 1px solid #78643F;
  color: #78643F;
  font-size: 3.865vw;
  font-weight: 600;
  letter-spacing: 0.001302em;
  line-height: 1.75;
  margin-inline: auto;
  padding-block: 0 1.208vw;
  padding-inline: 0 17.391vw;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.p-member .p-member__list-link::after {
  background: url(../images/index/member_arrow.svg) no-repeat center center/contain;
  content: "";
  height: 3.14vw;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.449vw;
}

.p-member .p-member__list.js-member-open {
  cursor: pointer;
}

.p-member .p-member__popup {
  align-items: center;
  background: rgba(58, 58, 58, 0.4);
  display: flex;
  justify-content: center;
  opacity: 0;
  padding: 0;
  position: fixed;
  transition: 0.3s all ease-in-out;
  visibility: hidden;
  z-index: 9999;
}

.p-member .p-member__popup.-on {
  opacity: 1;
  visibility: visible;
}

.p-member .p-member__popup-inner {
  position: relative;
  top: -3vw;
  background: #F5F4F0;
  max-height: calc(100vh - 56vw);
  margin-inline: auto;
  overflow-y: auto;
  padding: 0rem;
  width: min(95%, 91.7vw);
}

.p-member .p-member__popup-content {

}

.p-member .p-member__popup-close {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #67A163;
  border-radius: 0 0 0 3.203vw;
  height: 11.111vw;
  position: absolute;
  right: 0px;
  top: 0px;
  transition: 0.3s all ease-in-out;
  width: 12.077vw;
}

.p-member .p-member__popup-close::before,
.p-member .p-member__popup-close::after {
  background: #fff;
  content: "";
  display: block;
  height: 0.242vw;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: calc(50% - 0.242vw);
  width: 4.348vw;
}

.p-member .p-member__popup-close::before {
  transform: rotate(45deg);
}

.p-member .p-member__popup-close::after {
  transform: rotate(-45deg);
}

.p-member .p-member__popup-item {
  display: none;
}

.p-member .p-member__popup-item.is-hidden {
  display: none !important;
}

.p-member .p-member__popup-item:not(.is-hidden) {
  display: grid;
  gap: 7.729vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  padding-block: 2.415vw 14.493vw;
  width: min(95%, 75.845410628vw);
}

.p-member .p-member__popup-item-box {
  order: 3;
}

.p-member .p-member__popup-ttl {
  font-size: 5.314vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.4545454545;
  margin-bottom: 2.415vw;
}

.p-member .p-member__popup-txt {
  font-size: 3.865vw;
  font-weight: 600;
  letter-spacing: 0.00128em;
  line-height: 1.625;
  margin-bottom: 4.831vw;
}

.p-member .p-member__popup-body {
  font-size: 3.382vw;
  font-weight: 600;
  letter-spacing: 0.00112em;
  line-height: 2;
}

.p-member .wysiwyg p {
  font-size: 3.382vw;
  font-weight: 600;
  letter-spacing: 0.00112em;
  line-height: 2;
}

.p-member .p-member__popup-item-pic {
  display: contents;
}

.p-member .p-member__popup-pic {
  order: 2;
  position: relative;
  text-align: center;
}

.p-member .p-member__popup-pic::after {
  background: url(../images/index/banana_sp.png) no-repeat center center/contain;
  bottom: 0;
  content: "";
  height: 11.836vw;
  position: absolute;
  right: 7.246vw;
  width: 15.459vw;
}

.p-member .p-member__popup-pic img {
  height: auto;
  width: 50.966vw;
}

.p-member .p-member__popup-pic-en {
  color: #EDECDE;
  font-size: 16.667vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.2898550725;
  margin-bottom: -24.155vw;
  order: 1;
}

.p-mission {
  background: #EDECDE;
}

.l-inner.l-inner-mission {
  margin-inline: auto;
  padding-block: 0 17.155vw;
  width: min(95%, 92.0289855072vw);
}

.p-mission__ttl-wrap {
  display: grid;
  gap: 4.415vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 14.937vw;
}

.p-mission__en {
  color: #78643F;
  font-size: 12.56vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
}

.p-mission__ttl {
  color: #3A3A3A;
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 1.28px;
  line-height: 2;
}

.p-mission__items {
  display: grid;
  gap: 12vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-mission__item {
  border-radius: 3.382vw;
  padding-block: 0 7.246vw;
  padding-inline: 6.039vw 3.5vw;
  width: 100%;
  background: #fff;
}

.p-mission__item .num {
  margin-bottom: -4vw;
  position: relative;
  top: -5vw;
  left: -1vw;
}

.p-mission__item .num img {
  height: auto;
  width: 12.353vw;
}

.p-mission__item .icon {
  margin-bottom: -5.797vw;
  text-align: right;
}

.p-mission__item .icon img {
  height: auto;
  width: 13.043vw;
}

.p-mission__item h3 {
  font-size: 4.831vw;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.1;
  margin-bottom: 4.865vw;
}

.p-mission__item h3.num01 {
  color: #67A163;
}

.p-mission__item h3.num02 {
  color: #9575A9;
}

.p-mission__item h3.num03 {
  color: #EA5F4E;
}

.p-mission__item h3.num04 {
  color: #E88C34;
}

.p-mission__item h3.num05 {
  color: #CDB302;
}

.p-mission__item h3.num06 {
  color: #7EB0DA;
}

.p-mission__item h3.num07 {
  color: #687BB4;
}

.p-mission__item p {
  color: #3A3A3A;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 1.12px;
  line-height: 1.8571428571;
  padding-inline: 0 3.865vw;
}

.p-mission__item:last-child {
  width: 100%;
}

.p-seo {
  background: #5B5959;
  padding-block: 12.077vw 14.493vw;
  position: relative;
}

.p-seo p {
  color: #B3B1B1;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.00098em;
  line-height: 2;
  margin-inline: auto;
  text-align: left;
  width: min(95%, 86.9vw);
}

.p-bottom {
  padding-block: 0 14.493vw;
  position: relative;
}

.p-bottom::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 14.493vw;
  background: #EDECDE;
  width: 100%;
  z-index: 2;
}

.p-bottom .l-inner.l-bottom {
  
}

.p-bottom .p-bottom__txt {
  display: grid;
  gap: 4.831vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-bottom: 4.831vw;
  place-items: center;
  background: #EDECDE;
  position: relative;
  z-index: 1;
}

.p-bottom .p-bottom__txt span.top img {
  height: auto;
  width: 86.957vw;
}

.p-bottom .p-bottom__txt span.bottom {
  color: #67A163;
  font-size: 4.348vw;
  font-weight: 600;
  letter-spacing: 0.00144em;
  line-height: 2.1111111111;
  text-align: center;
}

.p-bottom .p-bottom__img {
  text-align: center;
}

.p-bottom .p-bottom__img img {
  height: auto;
  width: 100%;
}

.p-bottom .p-bottom__img {
  position: relative;
  z-index: 1;
  text-align: center;
}


.p-bottom .p-bottom__img img {


}

}