@charset "UTF-8";
/* リキッドレイアウト対応のための設定 */
body {
  color: #333333;
}

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

/*  PCとSPの表示非表示の切り替え */
/*780px以上で表示*/
.pc-only {
  display: none;
}

.tb-only {
  display: block;
}

/*モバイルのみ表示*/
/*780以下でのみ表示*/
.sp-only {
  display: block;
}

/*900px以下でのみ表示*/
.lg-down-only {
  display: block;
}

/*画像の縦横比設定*/
img {
  display: block;
  width: 100%;
  height: auto;
}

/* aタグのスタイルリセット*/
a {
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.8;
}

/*PC時電話発信しない*/

/*main*/
main {
  overflow: visible;
}

address {
  font-style: normal;
}

body {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 16px;
  line-height: 1.6;
  scroll-behavior: auto;
}

html {
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 16px;
}

body {
  scroll-behavior: auto;
}

.fixed-element {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Set core html defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  font: inherit;
}

textarea {
  resize: vertical;
}

input[type=checkbox] {
  display: none;
}

/* Contact Form 7のacceptanceフィールドのチェックボックスは表示する */
.wpcf7-acceptance input[type=checkbox] {
  display: inline-block;
  width: auto;
  height: auto;
  margin-right: 0.5em;
}

input[type=radio] {
  display: inline-block; /* 元に戻す */
  width: auto; /* 必要なら明示的にサイズを調整 */
  height: auto;
  margin-right: 0.5em; /* ラベルとの間にスペースを追加 */
}

input[type=radio]:checked {
  accent-color: #007BFF; /* チェック時の色をカスタマイズ */
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.inner {
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.under-page-inner {
  padding: 2.625rem 1rem;
}

.under-page-inner--white {
  width: 90%;
  margin-inline: auto;
  padding-top: 3.5rem;
  padding-right: 1rem;
  padding-bottom: 2.625rem;
  padding-left: 1rem;
  border-radius: 0.625rem;
  background-color: #FFFFFF;
}

.about-us-page__inner {
  padding: 2.625rem 2rem;
  border-radius: 0.625rem;
  background-color: #FFFFFF;
}

.office-page__inner {
  padding: 2.625rem 2rem;
  border-radius: 0.625rem;
  background-color: #FFFFFF;
}

.not-found-page__inner {
  padding-top: 6.25rem;
  padding-bottom: 1.5rem;
}

.services-page__inner {
  padding: 2.625rem 2rem;
  border-radius: 0.625rem;
  background-color: #FFFFFF;
}

.sand-back {
  background-image: url(../images/common/sand-back.webp);
  background-size: contain;
  background-repeat: repeat;
}

.visually-hidden {
  display: none;
}

.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 9997;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 0.5rem 1.5625rem;
}

.header__logo {
  width: 31.4666666667%;
  max-width: 9.375rem;
  height: auto;
}

.header__nav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.header__nav-item {
  position: relative;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.625;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.header__nav-item:not(:last-child)::before {
  position: absolute;
  top: 0.1875rem;
  right: 0;
  width: 0.125rem;
  height: 1.25rem;
  background-color: #FFFFFF;
  content: "";
}

.header__nav-link {
  display: grid;
  place-items: center;
  width: 100%;
  height: inherit;
  padding: 0 1rem 2.375rem 1rem;
  color: #FFFFFF;
  cursor: pointer;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.under-page-fv {
  position: relative;
}

.under-page-fv__image {
  position: absolute;
  bottom: -17%;
  left: 17%;
  width: 12.8472222222vw;
  height: 10.9027777778vw;
}

.fv__video-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.fv__video {
  display: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv {
  position: relative;
}

.fv__under-illustration {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: auto;
  margin-bottom: -0.0625rem;
}

.fv__under-worker {
  position: absolute;
  position: absolute;
  bottom: -17%;
  left: 3%;
  width: 27.7333333333vw;
  height: auto;
}

.hamburger {
  z-index: 9999;
  width: 2.1875rem;
  height: 3.1875rem;
  padding: 0;
  cursor: pointer;
}

.hamburger span {
  display: block;
  position: relative;
  width: 100%;
  height: 0.1875rem;
  background: #FFFFFF;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.hamburger.is-openSP {
  width: 3.0625rem;
  border-radius: 0.625rem;
  background-color: #FFFFFF;
}

.hamburger.is-openSP span {
  background: #95aa53;
}

.hamburger span:nth-child(2) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.hamburger.is-openSP span:nth-child(1) {
  -webkit-transform: translateY(20px) rotate(-315deg);
  width: 3.0625rem;
  transform: translateY(20px) rotate(-315deg);
}

.hamburger.is-openSP span:nth-child(2) {
  margin-top: 1.0625rem;
  margin-bottom: 1.0625rem;
  opacity: 0;
}

.hamburger.is-openSP span:nth-child(3) {
  -webkit-transform: translateY(-20px) rotate(315deg);
  width: 3.0625rem;
  transform: translateY(-20px) rotate(315deg);
}

.sp-nav {
  z-index: 9998;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  background: #fff;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.sp-nav.panelactive {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/*ナビゲーションの縦スクロール*/
.sp-nav__scroll {
  display: none; /*はじめは表示なし*/
  z-index: 999;
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.sp-nav.panelactive .sp-nav__scroll {
  display: block; /*クラスが付与されたら出現*/
}

.sp-nav.sp-nav__scroll {
  z-index: 999;
  /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0; /*はじめは透過0*/
}

/*背景が出現後にナビゲーションを表示*/
.sp-nav.panelactive .sp-nav__scroll {
  opacity: 1;
}

.sp-nav__logo {
  width: 40vw;
  max-width: 8.125rem;
  height: auto;
  margin: 0.5rem 1.5625rem;
}

.sp-nav__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 1rem;
  background-color: #84A870;
}

.sp-nav__title-icon {
  width: 2.5625rem;
  height: auto;
  margin-right: 0.75rem;
}

.sp-nav__title span {
  height: inherit;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: center;
}

.sp-nav__sub-titles {
  display: grid;
  grid-template-columns: 1fr;
}

.sp-nav__sub-titles li {
  border-bottom: 0.0625rem solid #555555;
}
.sp-nav__sub-titles li:last-child {
  border-bottom: none;
}

.sp-nav__link {
  display: block;
  position: relative;
  padding: 0.75rem 2rem;
  background-color: #9FB87C;
  color: #333333;
  font-weight: 600;
  font-size: 1rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-shadow: -0.0625rem -0.0625rem 0 #FFFFFF, 0.0625rem -0.0625rem 0 #FFFFFF, -0.0625rem 0.0625rem 0 #FFFFFF, 0.0625rem 0.0625rem 0 #FFFFFF;
}

.sp-nav__deco {
  width: 93.3333333333vw;
  max-width: 31.25rem;
  height: auto;
  margin-top: -15%;
  margin-left: -5%;
}

.sp-nav__title-icon--blog {
  width: auto;
  height: 2.5rem;
}

.footer {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  padding: 0 15px;
  overflow-x: hidden;
}

.footer__logo--SP {
  width: 60.5333333333%;
  height: auto;
  margin: 0 auto;
}

.footer__info-card--SP {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 14.1875rem;
  height: auto;
  margin: 0 auto;
  margin-top: 1.5rem;
  padding: 2rem;
  gap: 1rem;
  border-radius: 10px;
  background-color: #FFFEF9;
  text-align: center;
}

.footer__contact-card--SP {
  color: #333333;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.2777777778;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.footer__info-tel {
  color: #333333;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.2777777778;
  font-family: "Lato", sans-serif;
}

.footer__info-tel::before {
  padding-left: 1.625rem;
  background-image: url(../images/common/tel-icon@2x.webp);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.footer__info-fax {
  margin-top: 0.5rem;
  color: #333333;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.2777777778;
  font-family: "Lato", sans-serif;
}

.footer__info-fax::before {
  padding-left: 1.625rem;
  background-image: url(../images/common/fax-icon@2x.webp);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.footer__info-comment--SP {
  color: #333333;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.2777777778;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: center;
}

.footer__info--PC {
  position: absolute;
  top: 35%;
  left: 50%;
  width: 35.4166666667%;
  max-width: 31.875rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.footer__info--PC-inner {
  position: relative;
  height: auto;
  margin: 0 auto;
  padding: 1.75rem 2rem;
  border-radius: 10px;
  background-color: #FFFEF9;
}

.footer__logo--PC {
  width: 48.085106383%;
  height: auto;
  margin: 0 auto;
}

.footer__worker-illust {
  position: absolute;
  bottom: -15%;
  left: -15%;
  width: 25.3191489362%;
  height: auto;
}

.footer__maruta-illust {
  position: absolute;
  right: -5%;
  bottom: -2%;
  width: 15.5319148936%;
  height: auto;
}

.footer__contact-card--PC {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  text-align: center;
}

.footer__contact--PC {
  color: #333333;
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.1818181818;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
}

.footer__contact--PC span {
  color: #333333;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.375;
  font-family: "Lato", sans-serif;
}

.footer__address {
  color: #333333;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4375;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.footer__animals-wrapper {
  z-index: 1;
  position: relative;
  width: 100vw;
  height: auto;
  margin-top: 2.625rem;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.footer__animals {
  width: 100vw;
}

.footer__nav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.footer__nav-item {
  position: relative;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.4166666667;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  white-space: nowrap;
}
.footer__nav-item:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.0625rem;
  height: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #FFFFFF;
  content: "";
}

.footer__nav {
  z-index: 10;
  position: absolute;
  bottom: 4.125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.footer__nav-link {
  padding: 1rem;
  color: #FFFFFF;
}
.footer__copy {
  margin-top: 1rem;
  color: #FFFFFF;
  font-weight: 300;
  font-size: 0.75rem;
  line-height: 1.1666666667;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: center;
}

.footer__button {
  margin-top: 1rem;
}

.section-footer {
  padding-top: 5rem;
}

.section-title {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}

.section-title__inside {
  position: relative;
}

.section-title__sub {
  position: relative;
}

.section-title__en--sp {
  background: linear-gradient(82.4deg, #5E854B 6.4%, #D5D75C 96.75%);
  font-weight: 800;
  font-size: 2.875rem;
  line-height: 1.1956521739;
  font-family: "Lato", sans-serif;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.01em;
  text-transform: capitalize;
  white-space: nowrap;
}

.section-title__en--pc {
  position: absolute;
  right: 5%;
  width: clamp(3.125rem, 7vw, 10rem);
  height: auto;
}

.section-title__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.section-title__ja {
  color: #333333;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  white-space: nowrap;
}

.section-title__icon {
  width: 4.3125rem;
  height: auto;
  margin-left: -0.5rem;
}

.section-title__icon--en {
  position: absolute;
  top: -45%;
  right: 5%;
  width: 3.4375rem;
  height: auto;
}

.section-title--news {
  margin-top: 2.5rem;
}

.section-title--contact {
  margin-top: 2.5rem;
}

.section-title__en--left {
  top: 5%;
  left: 0;
}

.section-title__en--right {
  top: 0;
  right: 0;
}

.btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.75rem;
  padding-right: 2rem;
  padding-bottom: 0.75rem;
  padding-left: 2rem;
  gap: 0.625rem;
  border: 3px solid #E49432;
  border-radius: 3.4375rem;
  background-color: #E49432;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.btn:hover {
  border-color: #E49432;
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 16px 20px -8px rgba(0, 0, 0, 0.4);
          box-shadow: 0 16px 20px -8px rgba(0, 0, 0, 0.4);
}

.btn__text {
  display: block;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1rem;
  white-space: nowrap;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.btn:hover .btn__text {
  color: #E49432;
}

.btn__icon {
  display: block;
  width: 100%;
  max-width: 1.25rem;
}

.btn-arrow-svg {
  stroke: #FFFFFF;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.btn:hover .btn-arrow-svg {
  stroke: #E49432;
}

.btn--center {
  margin-top: 3.5rem;
  text-align: center;
}

.under-page-headline {
  position: relative;
  width: 100%;
  padding: 0.75rem 2rem;
  overflow: hidden;
  border-radius: 0.625rem;
  background: linear-gradient(82.4deg, #5E854B 6.4%, #D5D75C 96.75%);
  text-align: left;
}

.under-page-headline__title {
  z-index: 2;
  position: relative;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.4375;
}

.under-page-headline img {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 2%;
  width: 15.6875rem;
  height: 4.25rem;
}

.under-page-sub-headline {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  border-bottom: 0.0625rem dashed #91A853;
}

.under-page-sub-headline img {
  width: 1.6875rem;
  height: 2.5rem;
}

.under-page-sub-headline__title {
  color: #333333;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.4375;
}

.pankuzu {
  padding: 2.625rem 0;
}

.pankuzu__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.pankuzu img {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.125rem;
  margin-left: 0.125rem;
}

.pankuzu span {
  color: #333333;
  font-size: 0.875rem;
}

.section-news {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

.section-news__table-wrapper {
  width: 100%;
  margin-top: 3.5rem;
  margin-inline: auto;
}

.section-news__en-title {
  width: 100%;
  max-width: 12rem;
  height: auto;
}

.section-news__button {
  margin-top: 3.5rem;
  text-align: center;
}

.section-news__content--link {
  display: grid;
  grid-template-columns: 1fr;
  padding: 1rem;
  gap: 1.5rem;
  border-radius: 0.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.section-news__content--head {
  display: grid;
  grid-template-columns: 1fr;
}
.blog-card__item:not(:first-child) {
  margin-top: 1.5rem;
  padding-bottom: 2rem;
}

.blog-card__item {
  padding-bottom: 2rem;
  border-bottom: 1px dashed #9AAE54;
}

.blog-card__link {
  display: grid;
  grid-template-columns: 1fr;
  padding: 1rem;
  gap: 1.5rem;
  border-radius: 0.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.blog-card__title {
  color: #333333;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.4583333333;
}

.blog-card__title-link {
  color: #333333;
}

.blog-card__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1rem;
  gap: 1rem;
}

.blog-card__day {
  color: #9AAE54;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  font-family: "Lato", sans-serif;
}

.blog-card__category {
  display: inline-block;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background-color: #E49432;
  color: #FFFFFF;
  font-size: 0.75rem;
  pointer-events: none;
}

.blog-card__body--wrapper {
  display: grid;
  grid-template-columns: 1fr 2.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}

.blog-card__text {
  margin-top: 0.5rem;
  color: #333333;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

.blog-card__text-link {
  color: #333333;
}

.blog-card__thumbnail {
  aspect-ratio: 300/200;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.blog-card__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.blog-cards--archive {
  margin-top: 5rem;
}

.blog-card__link:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  background-color: rgba(154, 174, 84, 0.05);
  -webkit-box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
}

.blog-card__click-icon {
  width: 2.25rem;
  height: 2.25rem;
}
.blog-card__click-icon img {
  width: 100% !important;
  height: 100% !important;
}

.pagination {
  padding-top: 5rem;
  background-image: url(../images/common/sand-back.webp);
  background-size: contain;
  background-repeat: repeat;
}

.simple-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.75rem;
  gap: 3.75rem;
}

.simple-pagination__item {
  width: 2.75rem;
  height: 2.75rem;
}

.simple-pagination__item-image {
  width: 100%;
  height: 100%;
}

/* WP-PageNavi カスタマイズ */
.wp-pagenavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
}

.wp-pagenavi a,
.wp-pagenavi span {
  padding: 0.25rem 0.75rem;
  border-radius: 6.25rem;
  color: #333333;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Lato", sans-serif;
  text-decoration: none;
}

.wp-pagenavi .current {
  border-color: #E49432;
  background-color: #E49432;
  color: #fff;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.wp-pagenavi .pagination__item-image {
  width: 2.75rem;
}

.wp-pagenavi .pagination__item-image img {
  width: 100%;
  height: 100%;
}

.p-sidebar__title {
  border-bottom: 1px solid #e0e0e0;
  font-weight: bold;
  font-size: 18px;
}
.p-sidebar__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  gap: 0.5rem;
}
.p-sidebar__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.p-sidebar__item:hover {
  opacity: 0.7;
}
.p-sidebar__link {
  color: inherit;
  text-decoration: none;
}
.p-sidebar__img {
  aspect-ratio: 375/250;
  width: 100%;
  height: 7.8125rem;
  overflow: hidden;
}
.p-sidebar__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-sidebar__content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-sidebar__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 0.5rem;
}
.p-sidebar__category {
  display: inline-block;
  margin-right: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  background-color: #E49432;
  color: #FFFFFF;
  font-size: 0.75rem;
}
.p-sidebar__date {
  display: block;
  color: #9AAE54;
  font-weight: 500;
  font-size: 0.875rem;
}
.p-sidebar__item-title {
  display: -webkit-box;
  font-size: 0.875rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 0.5rem;
  overflow: hidden;
}
.p-sidebar__content-text {
  display: -webkit-box;
  margin-top: 0.5rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.section-mission {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.floating {
  z-index: 10;
  position: fixed;
  bottom: 0;
  left: 0;
}

.floating__link {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17.4375rem;
  height: 3.5rem;
  border-bottom: 3px solid #9AAE54;
  border-radius: 10px 10px 0px 0px;
  background: #FFFFFF;
  -webkit-box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.2;
  text-align: center;
}

.floating__link:hover {
  opacity: 1;
}

.floating__link:hover .floating__text {
  color: #9AAE54;
}

.floating__link::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px 10px 0px 0px;
  background: linear-gradient(4.74deg, #5B834B 2.66%, #95AA53 53.55%, #D5D75C 92.73%);
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.floating__link:hover {
  -webkit-box-shadow: -4px 4px 4px 0px rgba(0, 0, 0, 0.25);
          box-shadow: -4px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.floating__link:hover::before {
  opacity: 0;
}

.floating__link span {
  position: relative;
}
.floating__icon::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.75rem;
  height: 1.4375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../images/common/mail-icon-white.webp);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.floating__link:hover .floating__icon::before {
  background-image: url(../images/common/mail-icon-green.webp);
}

.floating__text {
  margin-right: 0.5rem;
  margin-left: -1.875rem;
}

.main-menu {
  padding-top: 4rem;
}

.main-menu__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}

.main-menu__item {
  display: grid;
  position: relative;
  place-items: center;
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  padding: 0.125rem;
  gap: 0.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.main-menu__icon {
  width: 3.125rem;
  height: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.main-menu__ja {
  color: #333333;
  font-weight: 500;
  font-size: clamp(0.9rem, 1.6vw, 1.2rem);
  line-height: 1.4444444444;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: center;
  white-space: nowrap;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.main-menu__en {
  background: -webkit-gradient(linear, left top, right top, from(#5b834b), to(#95aa53));
  background: linear-gradient(90deg, #5b834b 0%, #95aa53 100%);
  font-weight: 600;
  font-size: clamp(0.6rem, 1.5vw, 0.8rem);
  line-height: 1.2142857143;
  font-family: "Lato", sans-serif;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.main-menu__item:hover .main-menu__icon {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.main-menu__item:hover .main-menu__ja {
  background: -webkit-gradient(linear, left top, right top, from(#5b834b), to(#95aa53));
  background: linear-gradient(90deg, #5b834b 0%, #95aa53 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.main-menu__submenu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  z-index: 100;
  position: absolute;
  top: 110%;
  left: 50%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem;
  gap: 0.5rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 4px 4px 4px 4px;
  background-image: url(../images/common/wood-back.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.main-menu__submenu::after {
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: transparent transparent #FEDFB9 transparent;
  content: "";
}

.main-menu__submenu-item {
  text-align: center;
  white-space: nowrap;
}

.main-menu__submenu-item a {
  display: block;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  color: #333333;
  text-align: center;
  text-shadow: -0.0625rem -0.0625rem 0 #FFFFFF, 0.0625rem -0.0625rem 0 #FFFFFF, -0.0625rem 0.0625rem 0 #FFFFFF, 0.0625rem 0.0625rem 0 #FFFFFF;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.main-menu__submenu-item a:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background: rgba(255, 255, 255, 0.3);
}

.main-menu__item:hover .main-menu__submenu {
  visibility: visible;
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.main-menu__submenu {
  -webkit-transform: translateX(-50%) translateY(-10px);
          transform: translateX(-50%) translateY(-10px);
}

.main-menu__icon--blog {
  width: auto;
  height: 3.125rem;
}

.scroll-menu {
  z-index: 100;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.scroll-menu__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
  padding: 0.5rem 1.5625rem;
  gap: 2rem;
}

.scroll-menu__logo {
  width: 32vw;
  max-width: 7.5rem;
  height: auto;
}

.scroll-menu__logo-link {
  display: block;
  width: 100%;
  min-width: 6.6875rem;
  height: 100%;
}

.scroll-menu__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

.scroll-menu__item {
  position: relative;
  height: 100%;
  padding: clamp(16px, 2vw, 24px);
}

.scroll-menu__item:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -1.25rem;
  width: 2.5rem;
  height: 0.0625rem;
  -webkit-transform: translateY(-50%) rotate(111.54deg);
          transform: translateY(-50%) rotate(111.54deg);
  background: #9AAE54;
  content: "";
}

.scroll-menu__hamburger span {
  background: #95aa53;
}

.mission {
  overflow: hidden;
}

.mission__images {
  margin-top: 5rem;
}

.mission__image:nth-child(1) {
  z-index: 0;
  position: relative;
  width: 72.2666666667%;
  margin-right: calc(50% - 50vw);
  margin-left: auto;
}

.mission__image:nth-child(2) {
  z-index: 0;
  position: relative;
  width: 62.6666666667%;
  margin-top: 5.9375rem;
  margin-right: auto;
  margin-left: calc(50% - 50vw);
}

.mission__image:nth-child(3) {
  z-index: 0;
  position: relative;
  width: 62.6666666667%;
  margin-top: 5.9375rem;
  margin-right: calc(50% - 50vw);
  margin-left: auto;
}

.mission__image:nth-child(1) .mission__image-text {
  position: absolute;
  top: 2760px;
  left: 1110px;
  font-weight: 300;
  font-size: 11.0625rem;
}

.mission__content {
  width: 100%;
  margin-top: 2.5rem;
}

.mission__text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.8;
}

.mission__text:not(:first-child) {
  margin-top: 1.75rem;
}

.mission__button {
  margin-top: 3.25rem;
  text-align: center;
}

.mission__inoshishi-footprint {
  position: absolute;
  top: -23%;
  left: -64%;
  width: 71.9557195572%;
}

.mission__bird-footprint {
  position: absolute;
  right: -10%;
  bottom: -2%;
  width: 53.8666666667%;
}

.mission__fox {
  z-index: 2;
  position: absolute;
  right: 20%;
  bottom: -9%;
  width: 51.0835913313%;
}

.mission__trees-and-river {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: absolute;
  right: 10%;
  bottom: -72%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 91.0638297872%;
  gap: 0.5rem;
}

.mission__trees {
  width: 59.8130841121%;
}
.mission__river {
  z-index: -1;
  width: 90.6542056075%;
}
.mission__en-title {
  position: absolute;
  top: 0;
  right: 0;
}

.skeleton-box {
  position: relative;
  width: 100%;
  height: 25rem;
}

.skeleton-box__image {
  z-index: -2;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.skeleton-box__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.body-color {
  background: #FFFFFF;
}

.section-service {
  position: relative;
  max-width: 100%;
  padding: 5rem 0;
  overflow-x: hidden;
}

.service {
  overflow: hidden;
}

.service__inner {
  max-width: 31.25rem;
  margin-right: auto;
  margin-left: auto;
}

.service__en-title {
  position: absolute;
  top: 0;
  left: 0;
}

.service__list {
  margin-top: 3.5rem;
}

.service__item:not(:nth-child(1)) {
  margin-top: 3.5rem;
}

.service__item:nth-child(3) {
  position: relative;
}

.service__bird-illust {
  position: absolute;
  top: -9%;
  left: 0;
  width: 35.1449275362%;
}

.service__button {
  margin-top: 2.5rem;
  text-align: center;
}

.service__title {
  color: #9AAE54;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.2083333333;
  text-align: center;
}

.service__text {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
}

.service__image {
  aspect-ratio: 400/300;
  margin-top: 2rem;
}

.service__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.service__bird-footprint {
  position: absolute;
  top: -2%;
  left: -10%;
  width: 53.8666666667%;
}

.section-forest-cycle {
  position: relative;
  padding: 5rem 0;
  background-color: #FFFFFF;
}

.forest-cycle__en-title {
  top: 0;
  right: 0;
}

.forest-cycle__content {
  margin-top: 2.5rem;
}

.forest-cycle__text:not(:first-child) {
  margin-top: 1.5rem;
}

.forest-cycle__image {
  aspect-ratio: 805/604;
  margin-top: 2.5rem;
}

.forest-cycle__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.forest-cycle__button {
  margin-top: 2.5rem;
  text-align: center;
}

.section-information {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 1.5rem;
}

.information__en-title-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 9.7222222222%;
  max-width: 8.75rem;
  height: auto;
}

.information__en-title {
  position: relative;
  width: 100%;
}

.information__box {
  display: grid;
  grid-template-columns: 1fr;
  width: 90%;
  max-width: 25rem;
  margin-top: 2.625rem;
  margin-inline: auto;
  padding: 0.9375rem;
  background-color: #FFFFFF;
}

.information__tel-wrapper {
  padding: 0.9375rem;
  border-bottom: 1px dashed #9AAE54;
}

.information__mail-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 0.9375rem;
  padding: 0.9375rem;
  gap: 0.625rem;
}

.information__label {
  color: #9AAE54;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  text-align: center;
}

.information__tel-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1.25rem;
  margin-right: 0.625rem;
  gap: 0.625rem;
}

.information__phone {
  color: #333333;
  font-weight: 500;
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-family: "Lato", sans-serif;
  white-space: nowrap;
}

.information__fax {
  color: #333333;
  font-weight: 500;
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-family: "Lato", sans-serif;
  white-space: nowrap;
}

.information__icon {
  display: block;
  width: 1.5625rem;
  height: 1.5625rem;
  margin-right: 0.625rem;
}

.information__phone-wrapper,
.information__fax-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
}

.information__time {
  margin-top: 0.25rem;
  margin-bottom: 0.9375rem;
  color: #333333;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  text-align: center;
}

.information__note {
  margin-top: 1.25rem;
  color: #333333;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.4375;
}
.information__mail-button-wrapper {
  margin-top: 1.5rem;
  margin-inline: auto;
}

.information__mail-button-text {
  display: inline-block;
}

.contact-form {
  max-width: 43.75rem;
  margin: 0 auto;
  padding: 2.5rem 0;
}
.contact-form__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-top: 2.5rem;
}
.contact-form__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 0.5rem;
}
.contact-form__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  gap: 0.5rem;
  font-weight: 700;
}
.contact-form__required {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  background-color: #E49432;
  color: #fff;
  font-size: 0.875rem;
}
.contact-form__privacy {
  margin-top: 2rem;
}
.contact-form__privacy-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5rem;
  cursor: pointer;
}
.contact-form__privacy-label .wpcf7-acceptance input[type=checkbox] {
  display: inline-block !important;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  cursor: pointer;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
  border: 1px solid #ccc;
  border-radius: 2px;
  background-color: #fff;
}
.contact-form__privacy-label .wpcf7-acceptance input[type=checkbox]:checked {
  border-color: #007bff;
  background-color: #007bff;
}
.contact-form__privacy-label a {
  color: var(--color-accent);
  text-decoration: underline;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.contact-form__privacy-label a:hover {
  opacity: 0.7;
}
.contact-form__btn-wrap {
  margin-top: 2.5rem;
  text-align: center;
}
.contact-form__btn {
  display: inline-block;
  padding: 0.625rem 1.25rem;
  border: none;
  border-radius: 6.25rem;
  background-color: #E49432;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.contact-form__btn:hover {
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  opacity: 0.8;
}

.contact-form__choice {
  width: 100%;
  padding: 0.5rem 1rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.25rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#F9F9F9), to(#DCDCDC));
  background: linear-gradient(180deg, #F9F9F9 0%, #DCDCDC 100%);
}

.wpcf7-text {
  width: 100%;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  background-color: #FFFFFF;
}

.wpcf7-textarea {
  width: 100%;
  min-height: 12.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  background-color: #FFFFFF;
}

.btn--contact {
  color: #fff;
}

.contact-form__btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.5rem;
  gap: 1.5rem;
}

.wpcf7-spinner {
  display: none;
}

/*確認画面全体を隠しておく*/
.confirm-area {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.access {
  margin-top: 5rem;
}
.access__address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.5rem;
}

.access__icon--map {
  display: inline-block;
  width: 1.5rem;
  height: 2.25rem;
  margin-right: 0.625rem;
}

.access__address-text {
  color: #333333;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.access__map {
  position: relative;
  width: 90%;
  max-width: 25rem;
  height: 15.625rem;
  margin-top: 1.5rem;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 0.625rem;
}
.access__map iframe {
  width: 100%;
  height: 450px;
  border: 0;
  border-radius: 0.625rem;
}

.access__info {
  margin-top: 1.5rem;
}

.access__note {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.access__note-icon {
  display: inline-block;
  width: 1.5625rem;
  height: 1.6875rem;
  margin-right: 0.625rem;
}

.access__details {
  margin-top: 1.5rem;
  color: #333333;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}

.access__button {
  margin-top: 2.5rem;
  text-align: center;
}

.blog-detail-page__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 2.5rem;
  gap: 2rem;
}

.blog-detail-page__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.blog-detail-page__category {
  color: #FFFFFF;
  text-decoration: none;
  pointer-events: auto;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.blog-detail-page__category:hover {
  opacity: 0.8;
}

.section-greeting__image {
  aspect-ratio: 200/200;
  width: 100%;
}

.section-greeting__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.section-greeting__content {
  margin-top: 1.5rem;
}

.section-greeting__text:not(:first-child) {
  margin-top: 0.75rem;
  color: #333333;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}
.section-greeting__name {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.5rem;
  margin-left: auto;
  color: #333333;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: center;
}
.section-greeting__name p {
  margin-top: 0.5rem;
}

.section-philosophy {
  color: #333333;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: center;
}

.section-philosophy__text:not(:first-child) {
  margin-top: 1.5rem;
}

.company-info__item {
  display: grid;
  grid-template-columns: 1fr;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.company-info__item:not(:first-child) {
  margin-top: 1.125rem;
}
.company-info__label {
  white-space: nowrap;
}

.office-info__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-top: 2rem;
  gap: 2rem;
}

.office-info__details {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  color: #333333;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  white-space: nowrap;
}

.office-info__address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}

.office-info__contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}

.office-info__hours {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}

.office-info__map-link-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.125rem;
}

.office-info__map-link-wrapper img {
  width: 0.875rem;
  height: 1rem;
}

.office-info__map-link {
  border-bottom: 1px solid #E49432;
  color: #E49432;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.office-info__image {
  aspect-ratio: 375/250;
  width: 100%;
}

.office-info__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.office-info__map {
  width: 100%;
  height: 18.75rem;
  margin-top: 2rem;
}

.office-info__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.section-office {
  margin-top: 2.5rem;
}

.mission-statement__text {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 2.3;
  text-align: center;
}

.initiatives__item {
  margin-top: 2.5rem;
}

.initiatives__item-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.initiatives__number {
  color: #9AAE54;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.35;
}

.initiatives__title {
  color: #9AAE54;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.35;
}

.initiatives__description {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4375;
}

.work-details {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}

.work-details__title {
  color: #9AAE54;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.8;
}

.work-details__content {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px dashed #9AAE54;
}

.work-details__item:not(:first-child) {
  margin-top: 1.25rem;
}

.work-details__description {
  margin-top: 1.5rem;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.8;
}

.work-details__image {
  aspect-ratio: 375/250;
  margin-top: 1.5rem;
}
.work-details__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.not-found-page__inside {
  background-image: url(../images/common/sand-back.webp);
  background-size: contain;
  background-repeat: repeat;
}

.not-found-page__image {
  position: relative;
  width: 75%;
  max-width: 23.4375rem;
  margin: auto auto;
}

.not-found-page__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.not-found-page__image-bird {
  position: absolute;
  top: -16%;
  left: -13%;
  width: 30%;
  max-width: 9.375rem;
  height: auto;
}

.not-found-page__image-bird img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.privacy-policy__text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.625;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.privacy-policy__item {
  margin-top: 1.5rem;
}

.privacy-policy__title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.625;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.privacy-policy__description {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.625;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.sitemap-page__inner {
  width: 100%;
  min-width: 13.75rem;
  max-width: 18.75rem;
  margin: 0 auto;
}

.section-sitemap {
  margin-top: 2.5rem;
}

.sitemap-nav__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.sitemap-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.sitemap-nav__title {
  color: #6b6352;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.3333333333;
  text-align: center;
}

.sitemap-nav__sublist {
  margin-top: 1rem;
}

.sitemap-nav__subitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.375rem;
}

.sitemap-nav__subitem img {
  width: 0.6875rem;
  height: 1.1875rem;
  margin-right: 0.5rem;
}

.sitemap-nav__link {
  color: #788D35;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

.purchase-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.purchase-info__text {
  font-size: 1rem;
  line-height: 1.5;
}

.purchase-info__image {
  aspect-ratio: 300/200;
  width: 100%;
}

.purchase-info__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.interview {
  padding-bottom: 3.25rem;
}

.interview:not(:first-child) {
  margin-top: 3.25rem;
}

.interview:not(:last-child) {
  border-bottom: 3px dashed #9AAE54;
}

.interview:nth-child(odd) .interview__wrapper01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.interview:nth-child(even) .interview__wrapper01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.interview__image-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  width: 80%;
  margin-inline: auto;
  gap: 1rem;
}

.interview__image {
  aspect-ratio: 310/325;
  overflow: hidden;
}

.interview__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.interview__name {
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}

.interview:nth-child(odd) .interview__name {
  margin-left: 10%;
}

.interview:nth-child(even) .interview__name {
  margin-right: 10%;
}

.interview__qa {
  margin-top: 1.5rem;
}

.interview__question {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.2777777778;
}

.interview__answer {
  margin-top: 0.5rem;
  padding: 1rem;
  border: 2px dashed #9AAE54;
  border-radius: 1.5rem;
  background-color: #FFFFFF;
  font-size: 1rem;
  line-height: 1.4375;
}

.forest-maintenance-division__item {
  margin-top: 2rem;
}

.forest-maintenance-division__title {
  display: inline-block;
  margin-inline: auto;
  padding: 0.5rem 1rem;
  border-radius: 0.625rem;
  background-image: url(../images/common/wood-back.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #634a15;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
}

.forest-maintenance-division__description {
  margin-top: 1rem;
  font-weight: 400;
  font-size: 1rem;
  line-height: 2;
}

.guidance-division {
  margin-top: 2.625rem;
}

.guidance-division__intro {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  text-align: center;
}

.guidance-division__content {
  margin-top: 2rem;
}

.guidance-division__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.guidance-division__subtitle {
  display: inline-block;
  margin-inline: auto;
  padding: 0.5rem 1rem;
  border-radius: 0.625rem;
  background-image: url(../images/common/wood-back.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #634a15;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
}

.guidance-division__description {
  margin-top: 1rem;
  font-weight: 400;
  font-size: 1rem;
  line-height: 2;
}

.corporate-collaboration {
  margin-top: 2.625rem;
}

.corporate-collaboration__intro {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  text-align: center;
}

.corporate-collaboration__project {
  margin-top: 2rem;
}

.corporate-collaboration__project-title {
  font-size: 1.25rem;
  line-height: 1.5;
}

.corporate-collaboration__description {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.8;
}

.corporate-collaboration__description:not(:first-child) {
  margin-top: 1rem;
}

.corporate-collaboration__project-title {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background-image: url(../images/service/suntory-back.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #635946;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2;
}

.corporate-collaboration__project-items {
  margin-top: 2rem;
}

.corporate-collaboration__project-image {
  width: 100%;
}

.corporate-collaboration__project-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.corporate-collaboration__project-content {
  width: 100%;
  margin-top: 1rem;
}

.suntory-site-button {
  margin-top: 2rem;
  text-align: center;
}

.section-organization__image {
  aspect-ratio: 775/748;
  width: 100%;
}

.section-organization__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv__catch-copy-wrapper {
  z-index: 1;
  position: absolute;
  bottom: 28%;
  left: 50%;
  width: 46.9333333333%;
  max-width: 200px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.fv__catch-copy {
  position: relative;
}

.fv__catch-copy-image {
  width: 100%;
  height: auto;
}

.scroll_down {
  position: absolute;
  bottom: -10.625rem;
  left: 50%;
}

.scroll_down a {
  position: absolute;
  bottom: 87px;
  left: 10px;
  color: #fff;
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.09375rem;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}

.scroll_down:before {
  position: absolute;
  bottom: 0;
  left: -0.25rem;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
  background: #fff;
  content: "";
  -webkit-animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
          animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

@-webkit-keyframes circlemove {
  0% {
    bottom: 9.0625rem;
  }
  100% {
    bottom: 4.0625rem;
  }
}

@keyframes circlemove {
  0% {
    bottom: 9.0625rem;
  }
  100% {
    bottom: 4.0625rem;
  }
}
@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.scroll_down:after {
  position: absolute;
  bottom: 4.375rem;
  left: 0;
  width: 0.125rem;
  height: 4.875rem;
  background: #fff;
  content: "";
}

.fade-in-animation {
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
.fade-in-animation.is-visible {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.thanks-page__inside {
  padding-bottom: 1.5rem;
}

.thanks-page__content {
  margin-top: 2.5rem;
}

.thanks-page__note {
  font-size: 1rem;
  line-height: 2;
  text-align: center;
}

.thanks-page__button {
  margin-top: 3.75rem;
  text-align: center;
}

.page-top {
  z-index: 3;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 3.875rem;
  height: 3.875rem;
}

.page-top__link {
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.about-us-page__inside {
  position: relative;
  padding-top: 2.5rem;
}

.about-us-page__content {
  margin-top: 2.5rem;
}

.news-detail-page {
  padding-bottom: 1.5rem;
}

.news-detail-page__inside {
  position: relative;
}

.news-archive-page__inside {
  position: relative;
}

.forest-blog-archive-page__inside {
  position: relative;
}

.forest-blog-detail-page {
  padding-bottom: 5rem;
}

.forest-blog-detail-page__inside {
  position: relative;
  margin-top: 3.25rem;
}

.contact-page__note {
  margin-top: 2.5rem;
  font-weight: 400;
  font-size: 0.875rem;
  text-align: center;
}

.office-page__inside {
  position: relative;
}

.not-found-page__inside {
  padding-top: 2.5rem;
  padding-bottom: 7.5rem;
}

.privacy-policy-page__inside {
  position: relative;
}

.sitemap-page__inside {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.purchase-page__inside {
  position: relative;
}

.purchase-page__content {
  margin-top: 2.625rem;
}

.no-purchase {
  margin-top: 6.25rem;
  margin-bottom: 6.25rem;
  color: #333333;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}

.recruit-page__inside {
  position: relative;
  padding-top: 2.5rem;
}

.recruit-page__content {
  margin-top: 2.5rem;
}

.services-page__inside {
  position: relative;
  padding-top: 2.5rem;
}

.services-page__content {
  margin-top: 2.5rem;
}

.work-details-page__inside {
  position: relative;
  padding-top: 2.5rem;
}

.work-details-page__content {
  margin-top: 2.5rem;
}

.activity-page__inside {
  position: relative;
}

.activity-page__content {
  margin-top: 2.5rem;
}

@media (min-width: 376px) and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 550px) {
  .tb-only {
    display: none;
  }
}

@media (min-width: 768px) {
  .inner {
    max-width: 1130px;
    padding-inline: 25px;
  }
  .under-page-inner--white {
    padding: 5rem 2rem;
  }
  .fv__under-worker {
    left: 17%;
    width: 12.8472222222vw;
  }
  .footer__nav-item {
    font-size: 0.875rem;
    line-height: 1.6428571429;
  }
  .footer__copy {
    font-size: 0.875rem;
    line-height: 1.2142857143;
  }
  .footer__button {
    margin-top: 1rem;
  }
  .section-footer {
    padding-top: 7.5rem;
  }
  .section-title__ja {
    font-size: 2.5rem;
    line-height: 1.45;
  }
  .btn--center {
    margin-top: 4rem;
  }
  .section-news {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
  .section-news__button {
    margin-top: 4rem;
  }
  .blog-card__body--wrapper {
    grid-template-columns: 1fr 3.125rem;
  }
  .p-sidebar__items {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .section-mission {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
  .floating {
    right: 0;
    bottom: 18.75rem;
    left: auto;
  }
  .floating__link {
    width: 4.125rem;
    height: 21.875rem;
    border-right: 5px solid #9AAE54;
    border-bottom: none;
    border-radius: 10px 0px 0px 10px;
    background: #FFFFFF;
    color: #FFFFFF;
    font-size: 1.5rem;
    line-height: 1.4166666667;
    letter-spacing: 0.2em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .floating__link::before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px 0px 0px 10px;
    background: linear-gradient(4.74deg, #5B834B 2.66%, #95AA53 53.55%, #D5D75C 92.73%);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .floating__icon::before {
    top: 0;
    left: 50%;
    width: 2rem;
    height: 1.6875rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-image: url(../images/common/mail-icon-white.webp);
  }
  .floating__text {
    margin-top: -1.25rem;
    margin-right: 0;
    margin-bottom: 0.5rem;
    margin-left: 0;
  }
  .mission__images {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 5.625rem;
    gap: 2.875rem;
  }
  .mission__image:nth-child(1) {
    width: 36.4971751412%;
    max-width: 20.1875rem;
    margin-right: initial;
    margin-left: initial;
  }
  .mission__image:nth-child(2) {
    z-index: 0;
    position: relative;
    width: 26.5536723164%;
    max-width: 14.6875rem;
    margin-right: initial;
    margin-bottom: -1.5rem;
    margin-left: initial;
  }
  .mission__image:nth-child(3) {
    position: relative;
    width: 26.5536723164%;
    max-width: 14.6875rem;
    margin-right: initial;
    margin-bottom: 2.375rem;
    margin-left: initial;
  }
  .mission__content {
    position: relative;
    width: 49.6527777778%;
    min-width: 44.6875rem;
    margin-top: 6.4375rem;
    margin-inline: auto;
  }
  .mission__text {
    font-size: 1.125rem;
  }
  .mission__text:not(:first-child) {
    margin-top: 2.25rem;
  }
  .mission__button {
    margin-top: 4rem;
  }
  .mission__inoshishi-footprint {
    top: -100%;
    left: -50%;
    width: 180.8510638298%;
    max-width: 26.5625rem;
  }
  .mission__bird-footprint {
    right: -1%;
    bottom: -7%;
    width: 33.125%;
    max-width: 29.8125rem;
  }
  .mission__fox {
    z-index: 2;
    position: absolute;
    right: -10%;
    bottom: -10%;
    width: 70.2127659574%;
  }
  .mission__trees-and-river {
    right: 5%;
    bottom: -91%;
    width: 111.0638297872%;
  }
  .skeleton-box {
    height: 35.625rem;
  }
  .section-service {
    padding: 8.75rem 0;
  }
  .service__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 3.25rem;
    gap: 3.25rem;
  }
  .service__item {
    width: 30%;
  }
  .service__item:nth-child(2) {
    margin-top: 4.5rem;
  }
  .service__item:nth-child(3) {
    margin-top: 9rem;
  }
  .service__content {
    margin-top: 2.5rem;
  }
  .service__text {
    margin-top: 1.5rem;
  }
  .service__image {
    width: 100%;
    height: auto;
    margin-top: 0;
  }
  .service__bird-footprint {
    top: -6%;
    left: 3%;
    width: 33.125%;
    max-width: 29.8125rem;
  }
  .section-forest-cycle {
    padding: 7.5rem 0;
  }
  .forest-cycle__content {
    margin-top: 5rem;
  }
  .forest-cycle__image {
    margin-top: 5rem;
  }
  .forest-cycle__button {
    margin-top: 5rem;
  }
  .section-information {
    padding-top: 7.5rem;
    padding-bottom: 1.5rem;
  }
  .information__box {
    grid-template-columns: 1fr 1fr;
    width: 80%;
    max-width: initial;
    border-radius: 0.625rem;
  }
  .information__tel-wrapper {
    margin: 0;
    border-right: 1px dashed #9AAE54;
    border-bottom: none;
  }
  .information__mail-wrapper {
    margin-top: 0;
  }
  .information__phone {
    font-size: clamp(1.5rem, 4vw, 2.375rem);
    line-height: 1.2631578947;
  }
  .information__fax {
    font-size: clamp(1.5rem, 4vw, 2.375rem);
    line-height: 1.2631578947;
  }
  .information__icon {
    width: 2rem;
    height: 2rem;
  }
  .information__time {
    margin-bottom: 0;
    font-size: 1.25rem;
    line-height: 1.2;
  }
  .access__map {
    width: 80%;
    max-width: initial;
  }
  .section-greeting__image {
    width: 37.7427184466%;
    margin-right: 1.5rem;
    float: left;
  }
  .section-greeting__content {
    margin-top: 0;
  }
  .company-info__item {
    grid-template-columns: 0.3fr 1.7fr;
    gap: 1rem;
  }
  .office-info__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
    -webkit-flex-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 2rem;
    gap: 2.5rem;
  }
  .office-info__image {
    width: 60%;
  }
  .work-details__content {
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap: 1.25rem;
    border-top: 1px dashed #9AAE54;
  }
  .work-details__item:not(:first-child) {
    margin-top: 1rem;
  }
  .not-found-page__image {
    position: relative;
    width: 32.9861111111%;
    min-width: 23.4375rem;
    max-width: 29.6875rem;
    margin: auto auto;
  }
  .sitemap-nav__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8.75rem;
  }
  .purchase-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  .interview:nth-child(odd) .interview__wrapper01 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
  }
  .interview:nth-child(even) .interview__wrapper01 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 2.25rem;
  }
  .interview__image-wrapper {
    width: 33.7378640777%;
    min-width: 17.375rem;
    margin-inline: initial;
  }
  .corporate-collaboration__project-items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-top: 2rem;
    gap: 2rem;
  }
  .corporate-collaboration__project-image {
    width: 40%;
  }
  .corporate-collaboration__project-content {
    width: 60%;
    margin-top: 0;
  }
  .suntory-site-button {
    margin-top: 2rem;
  }
  .section-organization__image {
    width: 75%;
    height: auto;
    margin-inline: auto;
  }
  .page-top {
    bottom: 12.5rem;
    width: 4.125rem;
    height: 4.125rem;
  }
  .activity-page__content {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .header__inner {
    max-width: none;
  }
  .header__logo {
    width: 14.2361111111%;
    min-width: 9.375rem;
    max-width: 12.8125rem;
  }
  .pankuzu span {
    font-size: 1rem;
  }
  .blog-card__link {
    grid-template-columns: 1fr 60%;
  }
  .pagination {
    padding-top: 6.25rem;
  }
  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.45;
  }
  .scroll-menu__inner {
    padding: 0.25rem 1.5625rem;
  }
  .blog-detail-page__wrapper {
    grid-template-columns: 1fr 20%;
    margin-top: 5rem;
  }
  .forest-blog-detail-page {
    padding-bottom: 2.5rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__video--tablet {
    display: block;
  }
}

@media (min-width: 780px) {
  .fv__catch-copy-wrapper {
    bottom: 40%;
    left: 76%;
    width: 36.8055555556%;
    max-width: 530px;
  }
  .scroll_down {
    bottom: -10.625rem;
  }
}

@media screen and (min-width: 780px) {
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  .mission-statement__text {
    line-height: 2;
  }
}

@media (min-width: 800px) {
  .section-news__table-wrapper {
    display: grid;
    grid-template-columns: 1fr 4fr;
    margin-top: 4rem;
    gap: 1.25rem;
  }
}

@media screen and (min-width: 900px) {
  .lg-down-only {
    display: none;
  }
}

@media (min-width: 1000px) {
  .main-menu__list {
    gap: 3rem;
  }
}

@media screen and (min-width: 1025px) {
  .fv__video--pc {
    display: block;
  }
}

@media (min-width: 1080px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 1200px) {
  .service__bird-illust {
    top: -14%;
  }
}

@media (max-width: 1270px) {
  .section-title__en--pc {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .fv__video--sp {
    display: block;
  }
}

@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

@media screen and (max-width: 780) {
  html {
    font-size: 1.4814814815vw;
  }
}
/*# sourceMappingURL=map/styles.css.map */