@charset "UTF-8";
/*
Theme Name:ascend_premium_child
Template:ascend_premium
*/
body, h1, h2, h3, h4, h5, h6, p, span, a, th, td, li, strong {
  font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif !important;
}

.ubuntu {
  font-family: "Ubuntu", sans-serif;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

body {
  opacity: 0;
  transition: opacity 0.2s;
}
body.loaded {
  opacity: 1;
}

.container {
  font-size: clamp(12px, 9.888px + 0.564vw, 18px);
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  font-size: inherit;
  margin: 0;
  line-height: 1;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  line-height: 1;
}

p, span {
  font-weight: 500;
  line-height: 1;
}

.entry-content p {
  margin: 0;
}

p:empty {
  display: none;
}

br {
  display: none !important;
}

.entry-content table tr:nth-child(even),
.modal-body table tr:nth-child(even) {
  background: none;
}

button {
  line-height: 1;
  padding: 0;
  box-shadow: none !important;
  text-shadow: none;
}

table tr:nth-child(even) {
  background: none !important;
}

ul, li, dl, dt, dd {
  line-height: 1;
  padding: 0;
  margin: 0;
}

.entry-content li {
  padding: 0;
  margin: 0;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  max-width: none;
}

a {
  border: none !important;
}
a:hover {
  border: none !important;
}

.container.single-staff {
  width: 100%;
}

input {
  box-shadow: none !important;
}
input:hover {
  box-shadow: none !important;
}

#kad-mobile-banner-sticky-wrapper {
  display: none;
}

#sticky-wrapper.sticky-wrapper {
  height: 0 !important;
}

.kad-header-menu-outer.headerclass, .mobile-headerclass {
  background: transparent;
}

#kad-mobile-banner #mobile-logo a {
  width: -moz-max-content;
  width: max-content;
}

.kad-header-menu-inner.container {
  width: 98%;
  padding: 0;
}

.meinan_header {
  font-size: clamp(12px, 9.888px + 0.564vw, 18px);
  width: 100%;
  height: 4.2em;
  padding-left: 1em;
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  position: fixed;
  top: 0;
  gap: 0 1.7em;
  z-index: 1010;
}
@media screen and (min-width: 1025px) {
  .meinan_header {
    height: 5em;
    padding-left: 2.5em;
    grid-template-columns: 1fr auto auto;
  }
}
body.scroll .meinan_header::before {
  opacity: 1;
}

.header_logo {
  width: 5.9em;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1025px) {
  .header_logo {
    width: 6.2em;
  }
}

.header_menu--langButton {
  height: 2.3em;
  padding: 0.3em;
  background-color: #F4F4F4;
  border-radius: 5em;
  display: flex;
  gap: 0 0.3em;
  display: none;
}
@media screen and (min-width: 1025px) {
  .header_menu--langButton {
    height: 2em;
    order: 3;
  }
}
.header_menu--langButton a {
  color: #262626;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1;
  width: 3.5em;
  height: 100%;
  border-radius: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .header_menu--langButton a {
    font-size: 0.7em;
    width: 3.2em;
  }
}
.header_menu--langButton a.active {
  color: #fff;
  background-color: #14641E;
}

button.header_menu--button {
  height: 100%;
  background: #14641E;
  position: relative;
  aspect-ratio: 1;
  transition: all 0.4s;
  z-index: 30;
  cursor: pointer;
}
@media screen and (min-width: 1025px) {
  button.header_menu--button {
    display: none;
  }
}
body.open_menu button.header_menu--button::before {
  opacity: 1;
}
button.header_menu--button div {
  width: 45%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: all 0.4s;
}
button.header_menu--button div:first-of-type {
  transform: translate(-50%, calc(-50% - 10px)) rotate(0deg) scaleX(1);
}
body.open_menu button.header_menu--button div:first-of-type {
  transform: translate(-50%, -50%) rotate(35deg) scaleX(1.2);
}
button.header_menu--button div:nth-of-type(2) {
  transform: translate(-50%, -50%) scaleX(1);
  transform-origin: left;
}
body.open_menu button.header_menu--button div:nth-of-type(2) {
  transform: translate(-50%, -50%) scaleX(0);
}
button.header_menu--button div:nth-of-type(3) {
  transform: translate(-50%, calc(-50% + 10px)) rotate(0deg);
  transform-origin: left;
}
body.open_menu button.header_menu--button div:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-35deg) scaleX(1.2);
  transform-origin: center;
}

.header_menu--container {
  width: 100%;
  height: calc(100dvh - 4.2em);
  padding: 1.25em 0;
  background-color: #14641E;
  opacity: 0;
  position: fixed;
  left: 0;
  top: 4.2em;
  transition: all 0.4s;
  pointer-events: none;
  z-index: -1;
}
@media screen and (min-width: 1025px) {
  .header_menu--container {
    width: auto;
    height: auto;
    padding: 0;
    background: none;
    opacity: 1;
    display: flex;
    align-items: center;
    pointer-events: auto;
    position: relative;
    top: auto;
    order: 2;
  }
}
.open_menu .header_menu--container {
  opacity: 1;
  pointer-events: auto;
  z-index: 999;
}

.header_menu--box {
  width: 92%;
  height: 100%;
  padding: 2.5em 0;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 20px;
  overflow-y: scroll;
}
@media screen and (min-width: 1025px) {
  .header_menu--box {
    width: auto;
    padding: 0;
    overflow: inherit;
  }
}

nav.header_menu--nav {
  width: 82%;
  margin: 0 auto 2em;
}
@media screen and (min-width: 1025px) {
  nav.header_menu--nav {
    width: auto;
    margin: 0;
  }
}

ul.header_menu--ul {
  border-top: 1px solid #96B99B;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul {
    border: none;
    display: flex;
    gap: 0 1.4em;
  }
}
ul.header_menu--ul > li {
  list-style: none;
  padding: 1.5em 0;
  border-bottom: 1px solid #96B99B;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li {
    padding: 0;
    border: none;
    overflow: inherit;
  }
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li.menu-item-6590 {
    display: none;
  }
}
ul.header_menu--ul > li button {
  display: none;
}
ul.header_menu--ul > li > a {
  color: #14641E;
  font-size: 1.15em;
  font-weight: bold;
  width: -moz-max-content;
  width: max-content;
  display: block;
  position: relative;
  transition: all 0.4s;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > a {
    color: #262626;
    font-size: 0.75em;
    padding: 0;
  }
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > a:hover {
    opacity: 0.7;
  }
}
ul.header_menu--ul > li > a i {
  font-size: 0.9em;
  margin-left: 0.7em;
}
ul.header_menu--ul > li.menu-item-has-children > button {
  width: 1.85em;
  height: 4em;
  background: none;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-has-children > button {
    display: none;
  }
}
ul.header_menu--ul > li.menu-item-has-children > button::before, ul.header_menu--ul > li.menu-item-has-children > button::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #262626;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
ul.header_menu--ul > li.menu-item-has-children > button::after {
  rotate: 90deg;
  transition: rotate 0.3s;
}
ul.header_menu--ul > li.menu-item-has-children > button.active::after {
  rotate: 0deg;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-has-children:hover > a::before {
    content: "";
    width: 200%;
    height: 7em;
    position: absolute;
    right: 50%;
    top: -2em;
    translate: 50% 0;
    background: none;
    pointer-events: none;
  }
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-has-children:hover > a:hover::before {
    pointer-events: auto;
  }
}

ul.header_menu--ul > li > ul.sub-menu {
  height: 0;
  padding: 0;
  transition: all 0.4s;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu {
    width: -moz-max-content;
    width: max-content;
    height: auto;
    padding: 1.6em 2.6em 1.7em;
    background-color: #14641E;
    border-radius: 10px;
    opacity: 0;
    display: flex;
    gap: 0 1.5em;
    position: absolute;
    left: 50%;
    top: 2em;
    transform: translate(-50%, 0);
    pointer-events: none;
  }
}
ul.header_menu--ul > li > ul.sub-menu:hover {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu::before {
    content: "";
    width: 1.3em;
    background-color: #14641E;
    border-radius: 3px;
    position: absolute;
    left: 50%;
    top: 3px;
    translate: -50% -50%;
    rotate: 45deg;
    transform: skew(10deg, 10deg);
    aspect-ratio: 1;
  }
}
ul.header_menu--ul > li > ul.sub-menu > li {
  padding-left: 1em;
  list-style: none;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu > li {
    padding: 0;
    margin: 0;
    border: none;
    position: relative;
  }
}
ul.header_menu--ul > li > ul.sub-menu > li:first-of-type {
  padding-top: 2.5em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu > li:first-of-type {
    padding: 0;
  }
}
ul.header_menu--ul > li > ul.sub-menu > li:last-of-type {
  margin-bottom: 1em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu > li:last-of-type {
    margin: 0;
  }
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu > li:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
}
ul.header_menu--ul > li > ul.sub-menu > li a {
  color: inherit;
  font-weight: 500;
  position: relative;
  transition: all 0.4s;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li > ul.sub-menu > li a {
    color: #fff;
    font-size: 0.7em;
    width: -moz-max-content;
    width: max-content;
    padding: 0;
  }
}
ul.header_menu--ul > li > ul.sub-menu > li a::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  scale: 0;
  transform-origin: left;
  transition: all 0.4s;
}
ul.header_menu--ul > li > ul.sub-menu > li a:hover::before {
  scale: 1;
}

@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li:hover ul.sub-menu {
    opacity: 1;
    pointer-events: auto;
  }
}

ul.header_menu--ul > li.menu-item-6588 > ul.sub-menu > li:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6588 > ul.sub-menu > li:not(:last-of-type) {
    margin: 0;
  }
}

ul.header_menu--ul > li.menu-item-6588 > a.active + ul.sub-menu {
  height: 13.5em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6588 > a.active + ul.sub-menu {
    height: auto;
  }
}

ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu {
  display: grid;
  grid-template: auto auto auto auto 1fr/auto 1fr;
  gap: 0 3em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu {
    grid-template: auto auto/auto auto auto auto auto;
    gap: 0 2em;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li:first-of-type {
  grid-row: span 6;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li:first-of-type {
    grid-row: span 1;
    grid-column: span 6;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li:nth-of-type(2) {
  padding-top: 2.5em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li:nth-of-type(2) {
    padding: 0;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li:not(:first-of-type):not(:last-of-type) {
    margin: 0;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul {
  padding-left: 2em;
  margin-top: 2em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul {
    padding-left: 1.5em;
    margin: 1em 0 0 0.5em;
    display: flex;
    gap: 0 1.2em;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li {
  list-style: none;
  position: relative;
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:not(:last-of-type) {
    margin: 0;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li::before, ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li::after {
  content: "";
  height: 1px;
  background-color: #707070;
  position: absolute;
  left: -1.5em;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li::before, ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li::after {
    content: none;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li::before {
  width: 1em;
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li::after {
  width: 2.5em;
  rotate: -90deg;
  transform-origin: left top;
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:first-of-type::before, ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:first-of-type::after {
  content: "";
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:first-of-type::before, ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:first-of-type::after {
    background-color: #fff;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:first-of-type::after {
  width: 1.5em;
}
@media screen and (min-width: 1025px) {
  ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li:first-of-type::after {
    width: 1em;
  }
}
ul.header_menu--ul > li.menu-item-6589 > ul.sub-menu > li ul li a {
  font-weight: 500;
}

ul.header_menu--ul > li.menu-item-6589 > a.active + ul.sub-menu {
  height: 19.5em;
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li.menu-item-6589 > a.active + ul.sub-menu {
    height: auto;
  }
}

.header_menu--infoBox {
  width: 82%;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .header_menu--infoBox {
    display: none;
  }
}
.header_menu--infoBox p {
  line-height: 1.6;
}
.header_menu--infoBox p.name {
  font-size: 1.5em;
  margin-bottom: 1em;
}
.header_menu--infoBox p.address {
  margin-bottom: 1.5em;
}
.header_menu--infoBox p.address a {
  color: #707070;
  margin-left: 0.5em;
  border-bottom: 1px solid !important;
}
.header_menu--infoBox p br {
  display: block !important;
}

a.header_contact {
  display: none;
}
@media screen and (min-width: 1025px) {
  a.header_contact {
    width: 6.5em;
    height: 100%;
    background-color: #14641E;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.8em 0;
    order: 4;
  }
}
a.header_contact:hover {
  opacity: 0.7;
}
a.header_contact img {
  width: 1.3em;
}
a.header_contact span {
  color: #fff;
  font-size: 0.65em;
  font-weight: 400;
}

#wrapper.container {
  overflow: clip;
}

#inner-wrap {
  position: relative;
  z-index: 1;
}
#inner-wrap .main {
  overflow: clip;
}

section {
  position: relative;
}

.anchor {
  padding-top: 5em;
  margin-top: -5em;
  position: absolute;
  top: 0;
}
@media screen and (min-width: 768px) {
  .anchor {
    padding-top: 6em;
    margin-top: -6em;
  }
}

.FP_header {
  height: calc(100svh - 4.2em);
  margin-top: 4.2em;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_header {
    min-height: 700px;
  }
}
.FP_header h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
.FP_header .movie {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.FP_header .movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}
.FP_header .bg_img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 35% 50%;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .FP_header .bg_img {
    background-position: center;
  }
}
.FP_header .bg_img::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
}
.FP_header .scroll_down {
  padding-bottom: 3.5em;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  .FP_header .scroll_down {
    padding-bottom: 4.5em;
  }
}
.FP_header .scroll_down::before, .FP_header .scroll_down::after {
  content: "";
  width: 1px;
  height: 55%;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  .FP_header .scroll_down::before, .FP_header .scroll_down::after {
    height: 45%;
  }
}
.FP_header .scroll_down::before {
  background: #ddd;
}
.FP_header .scroll_down::after {
  background: #000;
  animation: scroll_down 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
.FP_header .scroll_down span {
  color: #fff;
  font-size: 0.9em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .FP_header .scroll_down span {
    font-size: 0.7em;
  }
}

@keyframes scroll_down {
  0% {
    scale: 1 0;
    transform-origin: 0 0;
  }
  50% {
    scale: 1 1;
    transform-origin: 0 0;
  }
  50.1% {
    scale: 1 1;
    transform-origin: 0 100%;
  }
  100% {
    scale: 1 0;
    transform-origin: 0 100%;
  }
}
.FP_header--container {
  width: 81.5%;
  padding-top: 5em;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_header--container {
    padding-top: 7em;
  }
}
.FP_header--container p.text01 {
  font-size: 3.4em;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 400;
  margin-bottom: 0.7em;
}
@media screen and (min-width: 768px) {
  .FP_header--container p.text01 {
    font-size: 4.4em;
    margin-bottom: 0.3em;
  }
}
.FP_header--container p.text02 {
  font-size: 1.5em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .FP_header--container p.text02 {
    font-size: 2em;
  }
}
.FP_header--container p.text02 br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .FP_header--container p.text02 br {
    display: none !important;
  }
}

hgroup.section_hgroup {
  margin-bottom: 1em;
  opacity: 0;
  translate: -30px 0;
  transition: all 0.4s;
}
hgroup.section_hgroup.show {
  opacity: 1;
  translate: 0 0;
}
hgroup.section_hgroup h2 {
  font-size: 2.1em;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 0.4em;
}
@media screen and (min-width: 768px) {
  hgroup.section_hgroup h2 {
    font-size: 1.8em;
    margin-bottom: 0.7em;
  }
}
hgroup.section_hgroup p {
  color: #14641E;
  font-size: 0.8em;
  font-weight: 400;
}

a.common_button {
  text-align: center;
  color: #fff;
  font-weight: 500;
  width: 24.2em;
  padding: 1.2em 0;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 50%, rgb(20, 100, 30) 100%) 0 50%/200% 100%;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.8em;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  a.common_button {
    font-size: 0.85em;
    width: 16.1em;
    padding: 0.9em 0;
  }
}
a.common_button:hover {
  background-position: 100% 50%;
}
a.common_button i {
  font-size: 0.9em;
  width: 2em;
  border: 1px solid;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  a.common_button i {
    font-size: 0.8em;
  }
}

section.FP_section.news_section {
  padding: 4em 0 5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section {
    padding: 3em 0 5em;
  }
}
section.FP_section.news_section .section_container {
  width: 88%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container {
    width: 95%;
    max-width: 1200px;
    display: grid;
  }
}
section.FP_section.news_section .section_container hgroup.section_hgroup {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.news_section .section_container hgroup.section_hgroup {
    margin-bottom: 2em;
  }
}

ul.FP_section_news--ul {
  margin-bottom: 3.5em;
  border-top: 1px solid #707070;
}
@media screen and (min-width: 768px) {
  ul.FP_section_news--ul {
    margin: 0;
    grid-column: span 2;
  }
}

li.FP_section_news--li {
  list-style: none;
  border-bottom: 1px solid #707070;
}
li.FP_section_news--li a {
  color: inherit;
  padding: 2em 0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a {
    grid-template-columns: 5.2em auto 1fr;
  }
}
li.FP_section_news--li a::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(140deg, rgb(228, 255, 208) 0%, rgb(239, 250, 231) 100%);
  position: absolute;
  left: 0;
  top: 0;
  scale: 0 1;
  transition: 0.4s;
  transform-origin: left;
}
li.FP_section_news--li a:hover::before {
  scale: 1 1;
}
li.FP_section_news--li a p.date {
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a p.date {
    font-size: 0.85em;
  }
}
li.FP_section_news--li a:hover p.date {
  translate: 20px 0;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a:hover p.date {
    translate: 3em 0;
  }
}
li.FP_section_news--li a span.tag {
  color: #fff;
  font-size: 0.8em;
  letter-spacing: 0.05em;
  padding: 0.65em 0.8em;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 100%);
  border-radius: 3px;
  justify-self: left;
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a span.tag {
    padding: 0.65em 2.2em;
  }
}
li.FP_section_news--li a:hover span.tag {
  translate: 20px 0;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a:hover span.tag {
    translate: 3em 0;
  }
}
li.FP_section_news--li a p.title {
  font-size: 1.1em;
  grid-column: span 2;
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a p.title {
    font-size: 0.9em;
    margin-left: 1em;
    grid-column: span 1;
  }
}
li.FP_section_news--li a:hover p.title {
  translate: 20px 0;
}
@media screen and (min-width: 768px) {
  li.FP_section_news--li a:hover p.title {
    translate: 3em 0;
  }
}
li.FP_section_news--li a i {
  color: #14641E;
  padding: 0.5em;
  border: 1px solid #14641E;
  border-radius: 50%;
  position: absolute;
  right: 2em;
  top: 50%;
  translate: 0 -50%;
  transition: 0.4s;
}
li.FP_section_news--li a i::before {
  position: relative;
  z-index: 1;
}
li.FP_section_news--li a i::after {
  content: "";
  width: 110%;
  height: 110%;
  background-color: #14641E;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  scale: 0;
  transition: 0.4s;
}
li.FP_section_news--li a:hover i {
  color: #fff;
}
li.FP_section_news--li a:hover i::after {
  scale: 1;
}

a.FP_section_news--button {
  color: #868686;
  line-height: 1;
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
  border-bottom: 1px solid !important;
  display: block;
  position: relative;
  translate: -1.3em 0;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  a.FP_section_news--button {
    font-size: 0.9em;
    margin: 0 1.5em 0 auto;
    grid-row: 1/2;
    grid-column: 2/3;
    align-self: center;
  }
}
a.FP_section_news--button:hover {
  color: #14641E;
}
a.FP_section_news--button::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
a.FP_section_news--button i {
  width: 2em;
  border: 1px solid;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: -2.6em;
  top: 50%;
  translate: 0 -50%;
  transition: 0.2s;
  aspect-ratio: 1;
}
a.FP_section_news--button:hover i {
  color: #14641E;
}

.FP_gradient {
  background: linear-gradient(90deg, rgb(228, 255, 208) 0%, rgb(239, 250, 231) 100%);
}
.FP_gradient .img {
  width: 100%;
  height: 25.8em;
  background-size: cover;
  background-position: center;
  opacity: 0;
  translate: -30px 0;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .FP_gradient .img {
    height: 25.5em;
    background-position: 0% 61%;
  }
}
.FP_gradient.show .img {
  opacity: 1;
  translate: 0 0;
}

section.FP_section.about_section {
  padding-bottom: 3.5em;
  margin-top: -8.5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section {
    padding-bottom: 5em;
    margin-top: -5.5em;
  }
}
section.FP_section.about_section .section_container {
  width: 88%;
  padding: 2.7em 0;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container {
    padding: 3.2em 2em 3.2em 6em;
    margin: 0 0 0 auto;
    border-radius: 30px 0 0 30px;
    display: grid;
    grid-template: auto auto 1fr/auto 1fr;
    gap: 0 7.5em;
  }
}
section.FP_section.about_section .section_container hgroup.section_hgroup {
  width: 24.2em;
  margin-inline: auto;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container hgroup.section_hgroup {
    width: auto;
    margin: 0 0 2.2em;
  }
}
section.FP_section.about_section .section_container p {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container p {
    margin-inline: inherit;
  }
}
section.FP_section.about_section .section_container p.large_text {
  font-size: 1.8em;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.15em;
  width: 13.4444444444em;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container p.large_text {
    font-size: 1.5em;
    line-height: 1.6;
    letter-spacing: 0.25em;
    writing-mode: vertical-rl;
    width: auto;
    margin: 0;
    grid-row: 1/4;
    grid-column: 1/2;
  }
}
section.FP_section.about_section .section_container p.small_text {
  font-size: 1.05em;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 23.0476190476em;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container p.small_text {
    font-size: 1em;
    width: auto;
    margin: 0 0 2.1em;
  }
}
section.FP_section.about_section .section_container p br {
  display: block !important;
}
section.FP_section.about_section .section_container p br.br_pc {
  display: none !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container p br.br_pc {
    display: block !important;
  }
}
section.FP_section.about_section .section_container a.common_button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.about_section .section_container a.common_button {
    margin: 0;
    align-self: start;
  }
}

section.FP_section.product_section {
  padding-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.product_section {
    padding-bottom: 7.5em;
  }
}
section.FP_section.product_section .section_container {
  width: 24.2em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.product_section .section_container {
    width: 95%;
    max-width: 1200px;
  }
}
section.FP_section.product_section .section_container hgroup.section_hgroup {
  margin-bottom: 2.5em;
}
section.FP_section.product_section .section_container p.text {
  font-size: 1.1em;
  line-height: 1.8;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  section.FP_section.product_section .section_container p.text {
    font-size: 1em;
    margin-bottom: 3.5em;
  }
}
@media screen and (min-width: 768px) {
  section.FP_section.product_section .section_container p.text br {
    display: block !important;
  }
}

.FP_section_product--imgBox {
  margin-bottom: 2.5em;
  overflow: hidden;
  display: flex;
}
@media screen and (min-width: 768px) {
  .FP_section_product--imgBox {
    width: 47.3%;
    margin: 0 0 0 auto;
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media screen and (min-width: 1025px) {
  .FP_section_product--imgBox {
    width: 51.3%;
  }
}
.FP_section_product--imgBox ul {
  list-style: none;
  padding: 0 0.3em;
  display: flex;
  gap: 0 0.6em;
  animation: infinity-scroll 20s infinite linear 0.5s both;
}
.FP_section_product--imgBox ul li {
  width: 46vw;
}
@media screen and (min-width: 768px) {
  .FP_section_product--imgBox ul li {
    width: 15.3em;
  }
}
.FP_section_product--imgBox ul li img {
  height: 18.2em;
  border-radius: 5px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .FP_section_product--imgBox ul li img {
    height: 19em;
  }
}

@keyframes infinity-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.FP_contents {
  display: grid;
}
@media screen and (min-width: 768px) {
  .FP_contents {
    grid-template-columns: 1fr 1fr;
  }
}
.FP_contents a {
  height: 16.7em;
  padding: 1.8em 1.5em;
  background-size: cover;
  background-position: center;
  border-radius: 0;
  overflow: hidden;
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  .FP_contents a {
    height: 20em;
    padding: 2em 1.6em;
  }
}
.FP_contents a:hover {
  border-radius: 50px;
}
.FP_contents a::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #262626;
  opacity: 0.2;
  position: absolute;
  left: 0;
  top: 0;
}
.FP_contents a hgroup {
  position: relative;
}
.FP_contents a hgroup h2 {
  margin-bottom: 1em;
}
.FP_contents a hgroup h2 img {
  width: auto;
  height: 2.1em;
}
@media screen and (min-width: 768px) {
  .FP_contents a hgroup h2 img {
    height: 2.6em;
  }
}
.FP_contents a hgroup p {
  color: #fff;
  font-size: 1.7em;
}
.FP_contents a .arrow {
  width: 4.2em;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 1.5em;
  bottom: 1.5em;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .FP_contents a .arrow {
    right: 2em;
    bottom: 2em;
  }
}
.FP_contents a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #707070;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  transition: 0.4s;
}
.FP_contents a .arrow img {
  width: 37%;
}
.FP_contents a:hover .arrow::before {
  border: 1px solid #fff;
  scale: 1.1;
}

section.FP_section.recruit_section {
  padding: 3em 0 5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section {
    padding: 3.5em 0;
  }
}
section.FP_section.recruit_section .section_container {
  width: 24.2em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container {
    width: 95%;
    max-width: 1200px;
    display: grid;
    grid-template: auto auto 1fr/auto 1fr;
    gap: 0 1em;
    align-items: start;
  }
}
section.FP_section.recruit_section .section_container hgroup.section_hgroup {
  margin-bottom: 2.5em;
}
section.FP_section.recruit_section .section_container p.text {
  font-size: 1.1em;
  line-height: 1.6;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container p.text {
    font-size: 1em;
    margin-bottom: 2.8em;
  }
}
section.FP_section.recruit_section .section_container p.text br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container p.text br.br_sp {
    display: none !important;
  }
}
section.FP_section.recruit_section .section_container .img {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.FP_section.recruit_section .section_container .img {
    max-width: 34.5em;
    margin: 0 0 0 auto;
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
section.FP_section.recruit_section .section_container .img img {
  border-radius: 5px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1.75/1;
}

.P_header {
  width: 88%;
  padding: calc(60px + 3.5em) 0 3.5em;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_header {
    width: 95%;
    max-width: 1200px;
    padding: calc(90px + 5em) 0 3em;
  }
}
.P_header hgroup {
  opacity: 0;
  translate: -30px 0;
  transition: all 0.4s 0.5s;
}
.P_header hgroup.loaded {
  opacity: 1;
  translate: 0 0;
}
.P_header hgroup p {
  color: #14641E;
  font-weight: 400;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  .P_header hgroup p {
    font-size: 0.75em;
  }
}
.P_header hgroup h1 {
  font-size: 3em;
  font-weight: 900;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .P_header hgroup h1 {
    font-size: 3.2em;
  }
}

.P_header--img {
  height: 33.4em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_header--img {
    height: 29.6em;
  }
}
.P_header--img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#content.home_news {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
#content.home_news .row .main {
  width: 100%;
  padding: 0;
}

.P_header.P_news {
  padding-bottom: 5em;
}
@media screen and (min-width: 768px) {
  .P_header.P_news {
    padding-bottom: 4.8em;
  }
}

.P_contents.P_news--contents {
  padding-bottom: 4em;
}
.P_contents.P_news--contents .contents_container {
  width: 88%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contents.P_news--contents .contents_container {
    width: 95%;
    max-width: 1200px;
  }
}

nav.P_news--nav {
  margin-bottom: 5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  nav.P_news--nav {
    margin-bottom: 4.5em;
  }
}
nav.P_news--nav::before, nav.P_news--nav::after {
  content: "";
  width: 100vw;
  height: 1px;
  background-color: #707070;
  position: absolute;
  left: 50%;
  translate: -50% 0;
}
nav.P_news--nav::before {
  top: 0;
}
nav.P_news--nav::after {
  bottom: 0;
}

.P_news_nav--underline {
  width: 0;
  height: 2px;
  background-color: #14641E;
  position: absolute;
  left: 0;
  bottom: 0;
  translate: 0 25%;
  transition: all 0.3s ease;
}

ul.P_news_nav--ul {
  display: flex;
  gap: 0 2em;
}
ul.P_news_nav--ul li {
  padding: 2em 0;
  list-style: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_news_nav--ul li {
    padding: 2.2em 0;
  }
}
ul.P_news_nav--ul li a {
  color: inherit;
  font-size: 1.1em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  ul.P_news_nav--ul li a {
    font-size: 0.9em;
  }
}
ul.P_news_nav--ul li a:hover {
  opacity: 0.7;
}
ul.P_news_nav--ul li a.current {
  color: #14641E;
}

ul.P_news--ul {
  border-top: 1px solid #707070;
}
ul.P_news--ul li {
  list-style: none;
  border-bottom: 1px solid #707070;
}
ul.P_news--ul li a {
  color: inherit;
  padding: 2em 0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a {
    padding: 1.5em 0 2em;
    gap: 1.5em;
  }
}
ul.P_news--ul li a::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(140deg, rgb(228, 255, 208) 0%, rgb(239, 250, 231) 100%);
  position: absolute;
  left: 0;
  top: 0;
  scale: 0 1;
  transition: 0.4s;
  transform-origin: left;
}
ul.P_news--ul li a:hover::before {
  scale: 1 1;
}
ul.P_news--ul li a p.date {
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a p.date {
    font-size: 0.85em;
  }
}
ul.P_news--ul li a:hover p.date {
  translate: 20px 0;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a:hover p.date {
    translate: 3em 0;
  }
}
ul.P_news--ul li a span.tag {
  color: #fff;
  font-size: 0.8em;
  letter-spacing: 0.05em;
  padding: 0.65em 0.8em;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 100%);
  border-radius: 3px;
  justify-self: left;
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a span.tag {
    padding: 0.65em 2.2em;
  }
}
ul.P_news--ul li a:hover span.tag {
  translate: 20px 0;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a:hover span.tag {
    translate: 3em 0;
  }
}
ul.P_news--ul li a p.title {
  font-size: 1.1em;
  grid-column: span 2;
  position: relative;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a p.title {
    font-size: 0.9em;
  }
}
ul.P_news--ul li a:hover p.title {
  translate: 20px 0;
}
@media screen and (min-width: 768px) {
  ul.P_news--ul li a:hover p.title {
    translate: 3em 0;
  }
}
ul.P_news--ul li a i {
  color: #14641E;
  padding: 0.5em;
  border: 1px solid #14641E;
  border-radius: 50%;
  position: absolute;
  right: 2em;
  top: 50%;
  translate: 0 -50%;
  transition: 0.4s;
}
ul.P_news--ul li a i::before {
  position: relative;
  z-index: 1;
}
ul.P_news--ul li a i::after {
  content: "";
  width: 110%;
  height: 110%;
  background-color: #14641E;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  scale: 0;
  transition: 0.4s;
}
ul.P_news--ul li a:hover i {
  color: #fff;
}
ul.P_news--ul li a:hover i::after {
  scale: 1;
}

.P_news--pagination:has(ul) {
  margin-top: 4.4em;
}
@media screen and (min-width: 768px) {
  .P_news--pagination:has(ul) {
    margin-top: 3.5em;
  }
}
.P_news--pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 0 1.2em;
}
.P_news--pagination ul.page-numbers li {
  list-style: none;
}
.P_news--pagination ul.page-numbers li span.page-numbers.current {
  color: #fff;
  width: 2.8em;
  background-color: #14641E;
  border: 1px solid #14641E;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .P_news--pagination ul.page-numbers li span.page-numbers.current {
    width: 2.2em;
  }
}
.P_news--pagination ul.page-numbers li a.page-numbers {
  color: #15641E;
  width: 2.8em;
  border: 1px solid #14641E !important;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .P_news--pagination ul.page-numbers li a.page-numbers {
    width: 2.2em;
  }
}
.P_news--pagination ul.page-numbers li a.page-numbers:hover {
  opacity: 0.7;
}
.P_news--pagination ul.page-numbers li a.prev, .P_news--pagination ul.page-numbers li a.next {
  border: none !important;
  position: relative;
}

#content.single_news {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.P_contents.single_news--contents {
  padding-top: calc(60px + 3.5em);
}
@media screen and (min-width: 768px) {
  .P_contents.single_news--contents {
    padding-top: calc(90px + 5em);
  }
}
.P_contents.single_news--contents .contents_container {
  width: 79%;
  margin: 0 auto 5em;
}
@media screen and (min-width: 768px) {
  .P_contents.single_news--contents .contents_container {
    width: 95%;
    max-width: 980px;
    margin: 0 auto 6em;
  }
}

article.single_news--article .article_header {
  margin-bottom: 3em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 2em 1em;
}
@media screen and (min-width: 768px) {
  article.single_news--article .article_header {
    gap: 1.8em 1em;
  }
}
@media screen and (min-width: 768px) {
  article.single_news--article .article_header p.date {
    font-size: 0.85em;
  }
}
article.single_news--article .article_header span.tag {
  color: #fff;
  font-size: 0.8em;
  letter-spacing: 0.05em;
  padding: 0.65em 0.8em;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 100%);
  border-radius: 3px;
  justify-self: left;
}
@media screen and (min-width: 768px) {
  article.single_news--article .article_header span.tag {
    padding: 0.65em 2.2em;
  }
}
article.single_news--article .article_header h2 {
  font-size: 1.7em;
  line-height: 1.4;
  grid-column: span 2;
}
article.single_news--article .content {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  article.single_news--article .content {
    margin-bottom: 5em;
  }
}
article.single_news--article .content p {
  font-size: 1.25em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  article.single_news--article .content p {
    font-size: 1em;
  }
}
article.single_news--article .content p:not(:last-of-type) {
  margin-bottom: 1em;
}
article.single_news--article .content p br {
  display: block !important;
}
article.single_news--article a.common_button {
  margin-inline: auto;
}

hgroup.P_section--hgroup {
  position: relative;
  z-index: 1;
}
hgroup.P_section--hgroup h2 {
  font-size: 1.5em;
  font-weight: 900;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  hgroup.P_section--hgroup h2 {
    font-size: 2.2em;
  }
}
hgroup.P_section--hgroup p {
  color: #14641E;
  font-size: 0.95em;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
}
@media screen and (min-width: 768px) {
  hgroup.P_section--hgroup p {
    font-size: 0.75em;
  }
}
hgroup.P_section--hgroup p::before {
  content: "";
  width: 0.5em;
  background-color: #14641E;
  border-radius: 50%;
  aspect-ratio: 1;
}

section.P_section.P_about--section .section_container {
  position: relative;
}

section.P_section.P_about--section.message_section {
  padding: 3em 0 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section {
    padding: 4.5em 0 5.5em;
  }
}
section.P_section.P_about--section.message_section .section_container {
  width: 79%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 15.9em;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section .section_container {
    width: 95%;
    max-width: 1200px;
    grid-template-columns: auto 15.5em 1fr;
    gap: 0 3em;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section .section_container hgroup.P_section--hgroup {
    margin-right: 4em;
  }
}
section.P_section.P_about--section.message_section .section_container .img img {
  border-radius: 10px;
}
section.P_section.P_about--section.message_section .section_container .text_box {
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section .section_container .text_box {
    grid-column: span 1;
  }
}
section.P_section.P_about--section.message_section .section_container .text_box p.large_text {
  font-size: 1.35em;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section .section_container .text_box p.large_text {
    font-size: 1.45em;
    margin-bottom: 1.2em;
  }
}
section.P_section.P_about--section.message_section .section_container .text_box p.small_text {
  font-size: 1.15em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section .section_container .text_box p.small_text {
    font-size: 0.85em;
    line-height: 1.6;
  }
}
section.P_section.P_about--section.message_section .section_container .text_box p.small_text:not(:last-of-type) {
  margin-bottom: 2em;
}
section.P_section.P_about--section.message_section .section_container .text_box p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.message_section .section_container .text_box p br.br_sp {
    display: none !important;
  }
}

section.P_section.P_about--section.company_section {
  padding: 3.5em 0;
  background: linear-gradient(90deg, rgb(237, 237, 237) 0%, rgb(239, 250, 231) 100%);
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.company_section {
    padding: 4.5em 0;
  }
}
section.P_section.P_about--section.company_section .section_container {
  width: 79%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.company_section .section_container {
    width: 95%;
    max-width: 1200px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4em 1em;
  }
}
section.P_section.P_about--section.company_section .section_container hgroup.P_section--hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.company_section .section_container hgroup.P_section--hgroup {
    margin: 0;
    grid-row: span 2;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.company_section .section_container .map {
    width: 100%;
    max-width: 920px;
    margin: 0 0 0 auto;
  }
}
section.P_section.P_about--section.company_section .section_container .map iframe {
  width: 100%;
  height: 17em;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.company_section .section_container .map iframe {
    height: 19.3em;
  }
}

dl.P_about_company--dl {
  margin-bottom: 3em;
  border-top: 1px solid #D9D8D8;
}
@media screen and (min-width: 768px) {
  dl.P_about_company--dl {
    width: 100%;
    max-width: 920px;
    margin: 0 0 0 auto;
    border: none;
  }
}
dl.P_about_company--dl div {
  padding: 2em 1em;
  border-bottom: 1px solid #D9D8D8;
}
@media screen and (min-width: 768px) {
  dl.P_about_company--dl div {
    padding: 0 1.5em;
    display: grid;
    grid-template-columns: 11em 1fr;
  }
}
@media screen and (min-width: 768px) {
  dl.P_about_company--dl div:last-of-type {
    border: none;
  }
}
dl.P_about_company--dl div dt, dl.P_about_company--dl div dd {
  line-height: 1.6;
  letter-spacing: 0.05em;
}
dl.P_about_company--dl div dt {
  font-size: 1.25em;
  font-weight: 600;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  dl.P_about_company--dl div dt {
    font-size: 0.9em;
    padding: 2em 0 2em 1em;
    margin: 0;
    border-right: 1px solid #D9D8D8;
  }
}
dl.P_about_company--dl div dd {
  font-size: 1.15em;
}
@media screen and (min-width: 768px) {
  dl.P_about_company--dl div dd {
    font-size: 0.9em;
    padding: 2em 0 2em 5em;
  }
}
dl.P_about_company--dl div dd ul li {
  line-height: 1.6;
  letter-spacing: 0.05em;
  list-style: none;
}
dl.P_about_company--dl div dd ul li:not(:last-of-type) {
  margin-bottom: 0.8em;
}
dl.P_about_company--dl div dd ul li br {
  display: block !important;
}
dl.P_about_company--dl div dd br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  dl.P_about_company--dl div dd br {
    display: none !important;
  }
}

section.P_section.P_about--section.values_section {
  padding: 3.5em 0 12em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section {
    padding: 7em 0 17.5em;
  }
}
section.P_section.P_about--section.values_section .section_container {
  width: 79%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container {
    width: 100%;
    max-width: 1440px;
    position: relative;
  }
}
section.P_section.P_about--section.values_section .section_container hgroup.P_section--hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container hgroup.P_section--hgroup {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto 3em;
  }
}
section.P_section.P_about--section.values_section .section_container .img {
  display: none;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container .img {
    position: absolute;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container .img.img01 {
    display: block;
    right: 0;
    top: 30em;
    width: 23.5em;
    height: 17em;
  }
}
@media screen and (min-width: 1025px) {
  section.P_section.P_about--section.values_section .section_container .img.img02 {
    display: block;
    left: 0;
    top: 37em;
    width: 21em;
    height: 17em;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container .img::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #E4FFD0;
    border-radius: 10px;
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 10px;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container .img.img01 img {
    top: -6.5em;
    right: 2.5em;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.values_section .section_container .img.img02 img {
    top: -4.5em;
    left: 2.5em;
  }
}

@media screen and (min-width: 768px) {
  ul.P_about_values--ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13em 0;
  }
}
ul.P_about_values--ul li {
  list-style: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li:first-of-type {
    width: 52.8em;
    margin: 0 0 0 auto;
    grid-column: span 2;
  }
}
ul.P_about_values--ul li:not(:last-of-type) {
  margin-bottom: 7em;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li:not(:last-of-type) {
    margin-bottom: 0;
  }
}
ul.P_about_values--ul li:not(:first-of-type) {
  width: 81%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li:not(:first-of-type) {
    width: -moz-max-content;
    width: max-content;
  }
}
@media screen and (min-width: 1025px) {
  ul.P_about_values--ul li:nth-of-type(2) {
    translate: 50% 0;
    left: -6.7em;
  }
}
@media screen and (min-width: 1025px) {
  ul.P_about_values--ul li:nth-of-type(3) {
    translate: -50% 0;
    left: 6.7em;
  }
}
ul.P_about_values--ul li::before {
  content: "";
  border-radius: 50%;
  position: absolute;
  aspect-ratio: 1;
}
ul.P_about_values--ul li:first-of-type::before {
  width: 53.9em;
  border: 1px solid #D9D8D8;
  left: -1.1em;
  top: calc(50% + 1.8em);
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li:first-of-type::before {
    width: 66.2em;
    left: 50%;
    top: 50%;
    translate: -50% -52%;
  }
}
ul.P_about_values--ul li:not(:first-of-type)::before {
  width: 30em;
  border: 1px solid #B8DD9D;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li:not(:first-of-type)::before {
    width: 37.2em;
  }
}
ul.P_about_values--ul li p.message_text {
  text-align: center;
  color: #15641E;
  font-size: 1.55em;
  font-weight: 300;
  line-height: 2;
  margin-bottom: 1.7em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li p.message_text {
    font-size: 2.45em;
    width: -moz-max-content;
    width: max-content;
    margin: 0;
    position: absolute;
    left: 50%;
    top: -1.8em;
    translate: -50% -100%;
    line-height: 1.6;
  }
}
ul.P_about_values--ul li p.message_text br {
  display: block !important;
}
ul.P_about_values--ul li hgroup {
  margin-bottom: 3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li hgroup {
    margin-bottom: 2.5em;
  }
}
ul.P_about_values--ul li hgroup p {
  color: #14641E;
  font-weight: 300;
  margin-bottom: 0.2em;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li hgroup p {
    font-size: 0.85em;
  }
}
ul.P_about_values--ul li hgroup h3 {
  color: #14641E;
  font-size: 2.5em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li hgroup h3 {
    font-size: 2.95em;
  }
}
ul.P_about_values--ul li:not(:first-of-type) hgroup {
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li:not(:first-of-type) hgroup {
    margin-inline: unset;
  }
}
ul.P_about_values--ul li .text_box {
  position: relative;
}
ul.P_about_values--ul li .text_box p {
  font-weight: 600;
  line-height: 1.4;
}
ul.P_about_values--ul li .text_box p.small_text {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li .text_box p.small_text {
    font-size: 1.05em;
  }
}
ul.P_about_values--ul li .text_box p.small_text:not(:last-of-type) {
  margin-bottom: 1.5em;
}
ul.P_about_values--ul li .text_box p.large_text {
  font-size: 1.5em;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li .text_box p.large_text {
    font-size: 1.85em;
    margin-bottom: 1em;
  }
}
ul.P_about_values--ul li .text_box p br {
  display: block !important;
}
ul.P_about_values--ul li .text_box p br.br_pc {
  display: none !important;
}
@media screen and (min-width: 768px) {
  ul.P_about_values--ul li .text_box p br.br_pc {
    display: block !important;
  }
}

section.P_section.P_about--section.SDGs_section {
  padding-bottom: 5.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container {
    width: 95%;
    max-width: 1200px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 1em;
  }
}
section.P_section.P_about--section.SDGs_section .section_container hgroup.P_section--hgroup {
  width: 79%;
  margin: 0 auto;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container hgroup.P_section--hgroup {
    width: 100%;
  }
}
section.P_section.P_about--section.SDGs_section .section_container .box {
  width: 94%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container .box {
    max-width: 920px;
    margin: 0 0 0 auto;
  }
}
section.P_section.P_about--section.SDGs_section .section_container .box p.large_text {
  color: #14641E;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.4;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto 1.2em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container .box p.large_text {
    font-size: 1.45em;
    margin: 0 auto 1.6em;
  }
}
section.P_section.P_about--section.SDGs_section .section_container .box p.large_text br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container .box p.large_text br {
    display: none !important;
  }
}
section.P_section.P_about--section.SDGs_section .section_container .box .img {
  width: 84%;
  margin: 0 auto 2.5em;
  border: 1px solid #707070;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container .box .img {
    width: 29.6em;
    margin: 0 auto 3.3em;
  }
}
section.P_section.P_about--section.SDGs_section .section_container .box p.small_text {
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.SDGs_section .section_container .box p.small_text {
    font-size: 0.85em;
  }
}

ul.P_about_SDGs--ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
ul.P_about_SDGs--ul::before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #D9D8D8;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul::before {
    content: none;
  }
}
ul.P_about_SDGs--ul li {
  text-align: center;
  padding: 1.65em 0 1.5em;
  list-style: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul li {
    padding: 1.5em 0 1.4em;
  }
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul li:not(:nth-of-type(3n - 1)) {
    border-right: 1px solid #D9D8D8;
    border-left: 1px solid #D9D8D8;
  }
}
ul.P_about_SDGs--ul li:not(:last-of-type)::before {
  content: "";
  width: 94%;
  height: 1px;
  background-color: #D9D8D8;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul li:nth-of-type(n + 7)::before {
    content: none;
  }
}
ul.P_about_SDGs--ul li figure img {
  width: 65%;
  margin-bottom: 1.65em;
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul li figure img {
    width: 54%;
    margin-bottom: 1.5em;
  }
}
ul.P_about_SDGs--ul li figure figcaption {
  font-size: 1.15em;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.P_about_SDGs--ul li figure figcaption {
    font-size: 1em;
  }
}
ul.P_about_SDGs--ul li figure figcaption br {
  display: block !important;
}

section.P_section.P_about--section.health_section {
  padding-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.health_section {
    padding-bottom: 5em;
  }
}
section.P_section.P_about--section.health_section .section_container {
  width: 79%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.health_section .section_container {
    width: 95%;
    max-width: 1200px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 1em;
  }
}
section.P_section.P_about--section.health_section .section_container hgroup.P_section--hgroup {
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.health_section .section_container hgroup.P_section--hgroup {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.health_section .section_container .box {
    width: 100%;
    max-width: 920px;
    margin: 0 0 0 auto;
  }
}
section.P_section.P_about--section.health_section .section_container .box p.text {
  font-size: 1.15em;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.health_section .section_container .box p.text {
    font-size: 0.85em;
  }
}
section.P_section.P_about--section.health_section .section_container .box p.text br {
  display: block !important;
}
section.P_section.P_about--section.health_section .section_container .box p.name {
  font-size: 1.15em;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.health_section .section_container .box p.name {
    font-size: 0.85em;
  }
}
section.P_section.P_about--section.health_section .section_container .box p.name br {
  display: block !important;
}

h3.P_about_health--title {
  color: #14641E;
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  h3.P_about_health--title {
    font-size: 1.45em;
  }
}

ul.P_about_health--ul {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul {
    grid-template-columns: 1fr 1fr;
    gap: 0 2em;
  }
}
ul.P_about_health--ul li {
  padding: 1.65em 0;
  list-style: none;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 1.7em;
  position: relative;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li {
    gap: 0 1.8em;
    padding: 1.6em;
  }
}
ul.P_about_health--ul li.certification {
  display: none;
}
ul.P_about_health--ul li:not(:last-of-type)::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #D9D8D8;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li:nth-of-type(n + 3)::before {
    content: none;
  }
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li:nth-of-type(odd):not(:last-of-type)::after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #D9D8D8;
    position: absolute;
    top: 0;
    right: -1em;
    translate: 50% 0;
  }
}
ul.P_about_health--ul li figure {
  width: 9.6em;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li figure {
    width: 7em;
  }
}
ul.P_about_health--ul li figure img {
  width: 100%;
  display: block;
}
ul.P_about_health--ul li figure.placeholder {
  aspect-ratio: 1/1;
  background-color: #D9D9D9;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.P_about_health--ul li figure span {
  color: #E60012;
  font-size: 0.75em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li figure span {
    font-size: 0.6em;
  }
}
ul.P_about_health--ul li figure span br {
  display: block !important;
}
ul.P_about_health--ul li .text_box h4 {
  color: #14641E;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 0.7em;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li .text_box h4 {
    font-size: 1.45em;
    margin-bottom: 0.7em;
  }
}
ul.P_about_health--ul li .text_box h4 br {
  display: block !important;
}
ul.P_about_health--ul li .text_box p {
  font-size: 1.15em;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 1025px) {
  ul.P_about_health--ul li .text_box p {
    font-size: 1em;
  }
}
ul.P_about_health--ul li .text_box p br {
  display: block !important;
}

section.P_section.P_about--section.data_section {
  padding-bottom: 5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.data_section {
    padding-bottom: 7em;
  }
}
section.P_section.P_about--section.data_section .section_container {
  width: 79%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_about--section.data_section .section_container {
    width: 95%;
    max-width: 1200px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 1em;
  }
}
section.P_section.P_about--section.data_section .section_container hgroup.P_section--hgroup {
  margin-bottom: 3em;
}

@media screen and (min-width: 768px) {
  ul.P_about_data--ul {
    max-width: 920px;
    margin: 0 0 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5em;
  }
}
ul.P_about_data--ul li {
  list-style: none;
  padding: 2.5em 0;
  background-color: #EEF5E9;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  ul.P_about_data--ul li {
    height: 18.5em;
    padding: 2.5em 0 0;
    display: grid;
    grid-template-rows: 3em 5.5em 1fr;
  }
}
ul.P_about_data--ul li:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  ul.P_about_data--ul li:not(:last-of-type) {
    margin: 0;
  }
}
ul.P_about_data--ul li h3 {
  text-align: center;
  font-weight: 600;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto 2.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.P_about_data--ul li h3 {
    margin: 0 auto;
    align-self: start;
  }
}
ul.P_about_data--ul li h3::before {
  content: "";
  width: 2.3em;
  height: 1px;
  background-color: #14641E;
  position: absolute;
  left: 50%;
  bottom: -0.7em;
  translate: -50% 0;
}
ul.P_about_data--ul li p.large_text {
  text-align: center;
  color: #14641E;
  font-size: 2.9em;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto 0.6em;
}
@media screen and (min-width: 768px) {
  ul.P_about_data--ul li p.large_text {
    margin: 0 auto;
  }
}
ul.P_about_data--ul li p.large_text span {
  font-size: 0.45em;
}
ul.P_about_data--ul li p.large_text span:nth-of-type(2) {
  font-size: 0.4em;
  margin-top: 0.5em;
  display: block;
}
@media screen and (min-width: 768px) {
  ul.P_about_data--ul li p.large_text span:nth-of-type(2) {
    font-size: 0.3em;
  }
}
ul.P_about_data--ul li p.small_text {
  font-size: 1.15em;
  line-height: 1.6;
  width: 78%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  ul.P_about_data--ul li p.small_text {
    font-size: 0.85em;
  }
}

.P_contents.P_product--contents {
  padding-bottom: 6.7em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_product--contents .contents_container {
    width: 95%;
    max-width: 1060px;
    margin-inline: auto;
  }
}

ul.P_product--ul {
  margin-bottom: 6.7em;
}
@media screen and (min-width: 768px) {
  ul.P_product--ul {
    margin-bottom: 5.5em;
  }
}

li.P_product--li {
  padding: 4.2em 0;
  list-style: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.P_product--li {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:first-of-type {
    gap: 0 1.7em;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(4) {
    gap: 0 3.4em;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(5) {
    direction: rtl;
    gap: 0 1.8em;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(6) {
    gap: 0 3.2em;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(7) {
    direction: rtl;
    gap: 0 2em;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(odd) {
    padding: 5.5em 0;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(even) {
    padding: 4.5em 0;
  }
}
li.P_product--li:last-of-type {
  padding-bottom: 0;
}
li.P_product--li:nth-of-type(even)::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: linear-gradient(90deg, rgb(237, 237, 237) 0%, rgb(239, 250, 231) 100%);
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50%;
}
li.P_product--li .anchor {
  padding-top: 4em;
  margin-top: -4em;
}
@media screen and (min-width: 768px) {
  li.P_product--li .anchor {
    padding-top: 5em;
    margin-top: -5em;
  }
}
li.P_product--li > .img {
  margin-bottom: 2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.P_product--li > .img {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(2) .img, li.P_product--li:nth-of-type(3) .img {
    width: 39.2em;
    grid-row: 1/2;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(2) .img {
    margin: 0 0 0 auto;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(3) .img {
    margin: 0;
  }
}
li.P_product--li:nth-of-type(5) .img {
  width: 58%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(5) .img {
    width: 67.5%;
  }
}
li.P_product--li .text_box {
  width: 94%;
  padding: 2.5em 2.8em;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: inset 0px 3px 6px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  direction: ltr;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.P_product--li .text_box {
    width: 26.1em;
    padding: 3em 2.5em;
  }
}
li.P_product--li .text_box h2 {
  color: #15641E;
  font-size: 1.5em;
  font-weight: 900;
  padding-left: 0.8em;
  margin-bottom: 1.2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.P_product--li .text_box h2 {
    font-size: 1.3em;
    margin-bottom: 1.6em;
  }
}
li.P_product--li .text_box h2::before {
  content: "";
  width: 0.4em;
  background-color: #15641E;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0.4em;
  aspect-ratio: 1;
}
li.P_product--li .text_box h2 span {
  font-size: 0.85em;
  font-weight: 900;
  margin-top: 0.5em;
  display: block;
}
@media screen and (min-width: 768px) {
  li.P_product--li .text_box h2 span {
    font-size: 0.8em;
  }
}
li.P_product--li .text_box p {
  font-size: 1.15em;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  li.P_product--li .text_box p {
    font-size: 0.8em;
    line-height: 2;
  }
}
li.P_product--li .text_box p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(2) .text_box, li.P_product--li:nth-of-type(3) .text_box {
    grid-row: 1/2;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(2) .text_box {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  li.P_product--li:nth-of-type(3) .text_box {
    margin: 0 0 0 auto;
  }
}
li.P_product--li dl {
  width: 94%;
  margin: 2.5em auto 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.P_product--li dl {
    width: 100%;
    padding: 0.2em 0;
    margin: 3.4em 0 0;
    border-top: 1px solid #14641E;
    border-bottom: 1px solid #14641E;
    display: grid;
    grid-template-columns: 11em 1fr;
    align-items: center;
    grid-column: span 2;
  }
}
li.P_product--li dl dt {
  text-align: center;
  font-size: 1.25em;
  font-weight: 500;
  padding: 0.5em 0;
  margin-bottom: 1em;
  border-top: 1px solid #14641E;
  border-bottom: 1px solid #14641E;
}
@media screen and (min-width: 768px) {
  li.P_product--li dl dt {
    font-size: 1.15em;
    margin: 0;
    border: none;
    border-right: 1px solid #14641E;
  }
}
li.P_product--li dl div:has(:nth-child(2)) {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5em 1em;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  li.P_product--li dl div:has(:nth-child(2)) {
    display: flex;
    gap: 0 2em;
  }
}
li.P_product--li dl div dd {
  color: #15641E;
  font-size: 1.25em;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  li.P_product--li dl div dd {
    font-size: 1.3em;
    justify-content: left;
  }
}
li.P_product--li dl div dd::before {
  content: "・";
  font-size: 1.3em;
}
li.P_product--li .award_text_box {
  width: 94%;
  padding: 2.5em 2.8em;
  margin: 1.5em auto 0;
  background-color: #fff;
  box-shadow: inset 0px 3px 6px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  direction: ltr;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.P_product--li .award_text_box {
    width: 100%;
    padding: 2em 3em;
    display: grid;
    grid-template-columns: auto auto;
    grid-column: span 2;
    align-items: center;
    gap: 0.7em 2.2em;
  }
}
li.P_product--li .award_text_box .img {
  width: 6.7em;
  margin: 0 auto 2em;
}
@media screen and (min-width: 768px) {
  li.P_product--li .award_text_box .img {
    width: 5.2em;
    margin: 0;
    grid-row: span 2;
  }
}
li.P_product--li .award_text_box h2 {
  text-align: center;
  color: #15641E;
  font-size: 1.25em;
  font-weight: 900;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  li.P_product--li .award_text_box h2 {
    text-align: left;
    font-size: 1.05em;
    margin: 0;
  }
}
li.P_product--li .award_text_box p {
  font-size: 1.15em;
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  li.P_product--li .award_text_box p {
    font-size: 0.85em;
    line-height: 2;
  }
}
li.P_product--li .award_text_box p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  li.P_product--li.P_product--li:nth-of-type(5) .award_text_box {
    margin-top: 2.5em;
  }
}
li.P_product--li dl + .award_text_box {
  margin-top: 3em;
}
@media screen and (min-width: 768px) {
  li.P_product--li dl + .award_text_box {
    margin-top: 1.5em;
  }
}

.P_product--patentButton {
  width: 92%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_product--patentButton {
    width: 95%;
    max-width: 900px;
  }
}
.P_product--patentButton a {
  text-align: center;
  width: 96%;
  height: 9.5em;
  margin-inline: auto;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 50%, rgb(20, 100, 30) 100%) 0 50%/200% 100%;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5em 0;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .P_product--patentButton a {
    width: 100%;
    height: 8.4em;
    gap: 0.8em 0;
  }
}
.P_product--patentButton a:hover {
  background-position: 100% 50%;
}
.P_product--patentButton a span {
  color: #fff;
  font-size: 1.7em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .P_product--patentButton a span {
    font-size: 1.45em;
  }
}
.P_product--patentButton a span br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .P_product--patentButton a span br {
    display: none !important;
  }
}
.P_product--patentButton a p {
  color: #fff;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .P_product--patentButton a p {
    font-size: 0.85em;
  }
}

.P_header.P_contact {
  padding-bottom: 5em;
}
@media screen and (min-width: 768px) {
  .P_header.P_contact {
    padding-bottom: 4.8em;
  }
}

.P_contents.P_contact--contents {
  padding-bottom: 6em;
}
.P_contents.P_contact--contents .contents_container {
  width: 82%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contents.P_contact--contents .contents_container {
    width: 95%;
    max-width: 910px;
  }
}

.P_contact--box {
  margin-bottom: 4em;
  display: grid;
  gap: 4em 0;
}
@media screen and (min-width: 768px) {
  .P_contact--box {
    margin-bottom: 9em;
    border-right: 1px solid #262626;
    border-left: 1px solid #262626;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .P_contact--box::before {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #262626;
    position: absolute;
    left: 50%;
    top: 0;
    translate: -50% 0;
  }
}

@media screen and (min-width: 768px) {
  .P_contact--item {
    width: -moz-max-content;
    width: max-content;
    padding: 0.5em 0;
    margin-inline: auto;
  }
}
.P_contact--item h2 {
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .P_contact--item h2 {
    font-size: 1em;
    margin-bottom: 1.6em;
  }
}
.P_contact--item h2::before {
  content: "・";
  color: #15641E;
  font-size: 1.5em;
  position: absolute;
  left: 0;
  top: 50%;
  translate: -0.8em -50%;
}
@media screen and (min-width: 768px) {
  .P_contact--item h2::before {
    font-size: 1.8em;
  }
}
.P_contact--item p.tel {
  font-size: 1.6em;
  font-weight: bold;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  .P_contact--item p.tel {
    margin-bottom: 1.1em;
  }
}
.P_contact--item p.tel a {
  color: inherit;
}
.P_contact--item p.tel a:hover {
  opacity: 0.7;
}
.P_contact--item p.time {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  .P_contact--item p.time {
    font-size: 0.9em;
  }
}
.P_contact--item p.text {
  font-size: 1.25em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_contact--item p.text {
    font-size: 1em;
    margin-top: 2.5em;
  }
}
.P_contact--item p.text br {
  display: block !important;
}

dl.form_dl {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  dl.form_dl {
    display: grid;
    grid-template-columns: 14em 1fr;
    align-items: start;
    gap: 4em 0;
  }
}
dl.form_dl dt, dl.form_dl dd {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt, dl.form_dl dd {
    font-size: 1em;
  }
}
dl.form_dl dt {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt {
    padding: 0.8em 0;
    margin: 0;
  }
}
dl.form_dl dt.must {
  display: flex;
  gap: 0 0.5em;
}
dl.form_dl dt.must::after {
  content: "必須";
  color: #15641E;
  font-size: 0.7em;
  font-weight: bold;
  padding: 0.2em 0.3em;
  border: 1px solid #15641E;
  border-radius: 3px;
}
dl.form_dl dd:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd:not(:last-of-type) {
    margin: 0;
  }
}
dl.form_dl dd input, dl.form_dl dd textarea {
  background-color: #EDEDED;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd input, dl.form_dl dd textarea {
    padding: 0.8em 1em;
  }
}
dl.form_dl dd span.wpcf7-radio {
  margin: 2em 0 2.5em;
  display: grid;
  gap: 1.5em 0;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd span.wpcf7-radio {
    margin: 0.8em 0;
    display: flex;
    gap: 0 2em;
  }
}
dl.form_dl dd span.wpcf7-radio span.wpcf7-list-item {
  margin: 0;
}
button.form_button {
  text-align: center;
  color: #fff;
  font-weight: 500;
  width: 24.2em;
  padding: 1.2em 0;
  margin-inline: auto;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 50%, rgb(20, 100, 30) 100%) 0 50%/200% 100%;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.8em;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  button.form_button {
    font-size: 0.85em;
    width: 16.1em;
    padding: 0.9em 0;
  }
}
button.form_button:hover {
  background-position: 100% 50%;
}
button.form_button input {
  padding: 0;
  background: none;
}
button.form_button span.wpcf7-spinner {
  position: absolute;
}
button.form_button i {
  font-size: 0.9em;
  width: 2em;
  border: 1px solid;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  button.form_button i {
    font-size: 0.8em;
  }
}

.P_header.P_anti-harassment {
  padding-bottom: 4em;
}
.P_header.P_anti-harassment hgroup h1 {
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .P_header.P_anti-harassment hgroup h1 {
    line-height: 1;
  }
}
.P_header.P_anti-harassment hgroup h1 br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .P_header.P_anti-harassment hgroup h1 br {
    display: none !important;
  }
}

.P_contents.P_anti-harassment--contents {
  padding-bottom: 6.7em;
}
.P_contents.P_anti-harassment--contents .contents_container {
  width: 90%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contents.P_anti-harassment--contents .contents_container {
    width: 95%;
    max-width: 1200px;
  }
}
.P_contents.P_anti-harassment--contents .contents_container p {
  line-height: 1.7;
}
.P_contents.P_anti-harassment--contents .contents_container p.large_text {
  font-size: 1.35em;
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_anti-harassment--contents .contents_container p.large_text {
    font-size: 1.45em;
    font-weight: bold;
    margin-bottom: 2em;
  }
}
.P_contents.P_anti-harassment--contents .contents_container p.text {
  font-size: 1.15em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_anti-harassment--contents .contents_container p.text {
    font-size: 0.85em;
  }
}
.P_contents.P_anti-harassment--contents .contents_container p.name {
  font-size: 1.15em;
  margin-top: 2em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_anti-harassment--contents .contents_container p.name {
    font-size: 0.85em;
  }
}
.P_contents.P_anti-harassment--contents .contents_container p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .P_contents.P_anti-harassment--contents .contents_container p br.br_sp {
    display: none !important;
  }
}

#topcontrol .to_the_top {
  display: none;
}

footer.footerclass {
  padding: 0;
}
footer.footerclass .container {
  width: 100%;
  max-width: none;
}

.footercol1, .footercol2, .footercol3 {
  padding: 0;
}

.meinan_footer {
  width: 92%;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .meinan_footer {
    width: 95%;
  }
}
@media screen and (min-width: 1025px) {
  .meinan_footer {
    width: 85%;
    max-width: 1200px;
  }
}

.footer_button--box {
  width: 96%;
  margin: 0 auto 9em;
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  .footer_button--box {
    width: 100%;
    margin: 0 auto 3.5em;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
  }
}
.footer_button--box a {
  text-align: center;
  height: 9.5em;
  background: linear-gradient(90deg, rgb(20, 100, 30) 0%, rgb(147, 201, 153) 50%, rgb(20, 100, 30) 100%) 0 50%/200% 100%;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5em 0;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .footer_button--box a {
    height: 11em;
    gap: 2em 0;
  }
}
@media screen and (min-width: 768px) {
  .footer_button--box a:nth-of-type(3) {
    grid-column: span 2;
  }
}
.footer_button--box a:hover {
  background-position: 100% 50%;
}
.footer_button--box a span {
  color: #fff;
  font-size: 1.7em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .footer_button--box a span {
    font-size: 2em;
  }
}
.footer_button--box a span br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .footer_button--box a span br {
    display: none !important;
  }
}
.footer_button--box a p {
  color: #fff;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .footer_button--box a p {
    font-size: 1.2em;
  }
}

.footer_container {
  padding: 2.5em 0 1em;
  border-top: 1px solid #707070;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer_container {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    gap: 3em 0;
  }
}
.footer_container .info_box {
  width: 88%;
  margin: 0 auto 2.5em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box {
    width: 100%;
    margin: 0;
  }
}
.footer_container .info_box p {
  line-height: 1.6;
}
.footer_container .info_box p.name {
  font-size: 1.5em;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box p.name {
    font-size: 1.35em;
  }
}
.footer_container .info_box p.address {
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box p.address {
    font-size: 0.75em;
    margin-bottom: 3em;
  }
}
.footer_container .info_box p.address a {
  color: #707070;
  margin-left: 0.5em;
  border-bottom: 1px solid !important;
}
.footer_container .info_box p.address a:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box p.tel {
    font-size: 0.75em;
  }
}
.footer_container .info_box p br {
  display: block !important;
}
.footer_container .nav_box {
  width: 88%;
  margin: 0 auto 4em;
}
@media screen and (min-width: 768px) {
  .footer_container .nav_box {
    width: 100%;
    margin: 0;
  }
}
.footer_container small {
  text-align: center;
  display: block;
}
@media screen and (min-width: 768px) {
  .footer_container small {
    font-size: 0.75em;
    grid-column: span 2;
  }
}

ul.footer_menu--ul {
  border-top: 1px solid #707070;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul {
    border: none;
    display: grid;
    grid-template: auto auto auto auto 1fr/auto auto auto;
    gap: 0 4em;
  }
}
ul.footer_menu--ul > li {
  padding: 1.5em 0;
  border-bottom: 1px solid #707070;
  list-style: none;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li {
    padding: 0;
    margin-bottom: 1.6em;
    border: none;
  }
}
ul.footer_menu--ul > li button {
  display: none;
}
ul.footer_menu--ul > li > a {
  color: #14641E !important;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li > a {
    font-size: 0.85em;
  }
}
ul.footer_menu--ul > li > a:hover {
  opacity: 0.7;
}
ul.footer_menu--ul > li > a i {
  margin-left: 0.7em;
}
ul.footer_menu--ul > li.menu-item-has-children > button {
  width: 1.85em;
  height: 4em;
  background: none;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-has-children > button {
    display: none;
  }
}
ul.footer_menu--ul > li.menu-item-has-children > button::before, ul.footer_menu--ul > li.menu-item-has-children > button::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #262626;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
ul.footer_menu--ul > li.menu-item-has-children > button::after {
  rotate: 90deg;
  transition: rotate 0.3s;
}
ul.footer_menu--ul > li.menu-item-has-children > button.active::after {
  rotate: 0deg;
}

ul.footer_menu--ul > li > ul.sub-menu {
  height: 0;
  padding: 0;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li > ul.sub-menu {
    height: auto;
    margin-top: 1.5em;
  }
}
ul.footer_menu--ul > li > ul.sub-menu:hover {
  opacity: 1;
  pointer-events: auto;
}
ul.footer_menu--ul > li > ul.sub-menu > li {
  padding-left: 1em;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li > ul.sub-menu > li {
    padding: 0;
  }
}
ul.footer_menu--ul > li > ul.sub-menu > li:first-of-type {
  padding-top: 2.5em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li > ul.sub-menu > li:first-of-type {
    padding: 0;
  }
}
ul.footer_menu--ul > li > ul.sub-menu > li:last-of-type {
  margin-bottom: 1em;
}
ul.footer_menu--ul > li > ul.sub-menu > li > a {
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li > ul.sub-menu > li > a {
    font-size: 0.75em;
  }
}
ul.footer_menu--ul > li > ul.sub-menu > li > a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6587 {
    margin: 0;
    grid-row: span 6;
  }
}
ul.footer_menu--ul > li.menu-item-6587 > ul.sub-menu > li:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6587 > ul.sub-menu > li:not(:last-of-type) {
    margin-bottom: 1em;
  }
}

ul.footer_menu--ul > li.menu-item-6587 > a.active + ul.sub-menu {
  height: 13.5em;
}

@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 {
    margin: 0;
    grid-row: span 6;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu {
  display: grid;
  grid-template: auto auto auto auto 1fr/auto 1fr;
  gap: 0 2.5em;
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li:first-of-type {
  grid-row: span 6;
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li:nth-of-type(2) {
  padding-top: 2.5em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li:nth-of-type(2) {
    padding: 0;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li:not(:first-of-type):not(:last-of-type) {
    margin-bottom: 1em;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul {
  padding-left: 2em;
  margin-top: 2em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul {
    padding-left: 1.6em;
    margin-top: 1em;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li {
  list-style: none;
  position: relative;
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li:not(:last-of-type) {
    margin-bottom: 0.4em;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li::before, ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li::after {
  content: "";
  height: 1px;
  background-color: #707070;
  position: absolute;
  left: -1.5em;
  top: 50%;
  translate: 0 -50%;
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li::before {
  width: 1em;
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li::after {
  content: "";
  width: 2.5em;
  rotate: -90deg;
  transform-origin: left top;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li::after {
    width: 2em;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li:first-of-type::after {
  width: 1.5em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li:first-of-type::after {
    width: 1em;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li a {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li a {
    font-size: 0.75em;
  }
}
ul.footer_menu--ul > li.menu-item-6592 > ul.sub-menu > li ul li a:hover {
  opacity: 0.7;
}

ul.footer_menu--ul > li.menu-item-6592 > a.active + ul.sub-menu {
  height: 19.5em;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul > li.menu-item-6592 > a.active + ul.sub-menu {
    height: auto;
  }
}

button.to_header {
  width: 3.3em;
  background-color: #14641E;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  top: -5.5em;
  rotate: -90deg;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  button.to_header {
    width: 3em;
    right: -0.5em;
    top: 1em;
  }
}
@media screen and (min-width: 1025px) {
  button.to_header {
    right: -5em;
    top: -3.5em;
  }
}
button.to_header img {
  width: 1.1em;
}

.footerbase {
  display: none;
}

.P_contents.P_careers--contents {
  padding-bottom: 5.9em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_careers--contents {
    padding-bottom: 5.6em;
  }
}
.P_contents.P_careers--contents .contents_container {
  width: 81.5%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contents.P_careers--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}
.P_contents.P_careers--contents .contents_container .text_box {
  margin-bottom: 4.2em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_careers--contents .contents_container .text_box {
    margin-bottom: 5em;
  }
}
.P_contents.P_careers--contents .contents_container .text_box p {
  color: #fff;
  font-size: 1.25em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_contents.P_careers--contents .contents_container .text_box p {
    font-size: 0.9em;
  }
}

li.P_careers--li {
  padding: 2em 2em 2.5em;
  border: 1px solid #fff;
  border-radius: 10px;
  list-style: none;
  display: grid;
}
@media screen and (min-width: 768px) {
  li.P_careers--li {
    padding: 1.2em 2.8em;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0 3em;
  }
}
li.P_careers--li span.type, li.P_careers--li p.title {
  color: #fff;
  font-size: 1.35em;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  li.P_careers--li span.type, li.P_careers--li p.title {
    font-size: 1em;
  }
}
li.P_careers--li span.type {
  max-width: -moz-max-content;
  max-width: max-content;
  margin-bottom: 1.5em;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  li.P_careers--li span.type {
    margin: 0;
  }
}
li.P_careers--li p.title {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  li.P_careers--li p.title {
    margin: 0;
  }
}

#content.single_staff {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.P_contents.single_staff--contents {
  padding-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  .P_contents.single_staff--contents {
    padding-bottom: 5.5em;
  }
}

article.single_staff {
  width: 81.5%;
  padding: 3.4em 0 4.5em;
  margin-inline: auto;
  border: 1px solid #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  article.single_staff {
    width: 95%;
    max-width: 1010px;
  }
}
article.single_staff .common_button {
  margin-inline: auto;
}

dl.single_staff--dl {
  width: 85%;
  margin: 0 auto 4em;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl {
    width: 81%;
    display: grid;
    grid-template-columns: auto 1fr;
  }
}
dl.single_staff--dl dt, dl.single_staff--dl dd {
  font-size: 1.2em;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dt, dl.single_staff--dl dd {
    font-size: 0.85em;
    padding-bottom: 2em;
  }
}
dl.single_staff--dl dt {
  color: #E6B422;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dt {
    padding-right: 3em;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dt:not(:last-of-type) {
    margin-bottom: 2em;
    border-bottom: 1px solid #fff;
  }
}
dl.single_staff--dl dd {
  color: #fff;
  padding-bottom: 1.8em;
}
dl.single_staff--dl dd:not(:last-of-type) {
  margin-bottom: 1.8em;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dd:not(:last-of-type) {
    margin-bottom: 2em;
  }
}
dl.single_staff--dl dd br {
  display: block !important;
}
dl.single_staff--dl dd p {
  font-weight: 400;
  line-height: 1.6;
}
dl.single_staff--dl dd p:not(:last-of-type) {
  margin: 0 0 1.5em;
}