@charset "UTF-8";
html {
  box-sizing: border-box;
}

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

body {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  color: #1c1c1c;
  line-height: 2;
  margin-top: clamp(50px, 12.5vw, 84px);
}
body .wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(13px, 4.1vw, 40px);
}
body ul {
  list-style: none;
}
body ul li {
  font-weight: 600;
}
body p {
  font-weight: 600;
}
body a {
  text-decoration: none;
  font-weight: 600;
  color: #1c1c1c;
}

.fadeIn {
  opacity: 0;
  transition: 1.5s;
}

.fadeIn.is-show {
  opacity: 1;
}

header {
  height: 80px;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 999;
}
@media (max-width: 850px) {
  header {
    padding: 10px clamp(16px, 5.1vw, 40px) 10px clamp(8px, 2.5vw, 20px);
  }
}
header .logo {
  line-height: 1px;
}
header .logo a {
  display: flex;
  align-items: center;
}
header .logo a img {
  height: clamp(14px, 6.1vw, 32px);
  vertical-align: bottom;
}
header .logo a h1 {
  align-items: center;
  font-size: clamp(12px, 5.1vw, 24px);
  margin-left: 4px;
}
header .Nav {
  display: flex;
  align-items: center;
}
header .Nav .Nav_global .Nav_global_list {
  display: flex;
  cursor: pointer;
}
header .Nav .Nav_global .Nav_global_list li {
  font-size: clamp(12px, 1.6vw, 15px);
  font-weight: bold;
  padding-left: clamp(14px, 2.6vw, 32px);
}
header .Nav .Nav_global .Nav_global_list li a:hover {
  color: #6CA517;
}
header .Nav .Nav_global .Nav_global_list .nav-contact {
  background-color: #81bb27;
  padding: 6px 15px;
  border-radius: 4px;
  color: #fff;
  font-size: clamp(7px, 3vw, 14px);
}
@media (max-width: 850px) {
  header .Nav .Nav_global {
    position: fixed;
    top: 0;
    right: -250px;
    width: 250px;
    height: 100vh;
    background-color: #fff;
    flex-direction: column;
    box-shadow: -2px 0 6px rgba(0, 0, 0, 0.2);
    transition: right 0.3s ease;
    z-index: 999;
    padding-top: clamp(50px, 12vw, 80px);
  }
  header .Nav .Nav_global.open {
    right: 0;
  }
  header .Nav .Nav_global .Nav_global_list {
    flex-direction: column;
  }
  header .Nav .Nav_global .Nav_global_list li {
    margin: 0 8px;
    border-bottom: 1px solid #ddd;
    padding-left: 0;
  }
  header .Nav .Nav_global .Nav_global_list li:first-child {
    border-top: 1px solid #ddd;
  }
  header .Nav .Nav_global .Nav_global_list li a {
    display: block;
    padding: 16px 24px;
    font-size: clamp(6px, 3vw, 16px);
  }
  header .Nav .Nav_global .Nav_global_list li a:hover {
    color: #6CA517;
  }
}
header .hamburger {
  display: none;
  position: fixed;
  top: clamp(16px, 3.6vw, 30px);
  right: clamp(16px, 3.6vw, 30px);
  width: clamp(20px, 4.6vw, 30px);
  height: 30px;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 1000;
}
header .hamburger span {
  display: block;
  position: absolute;
  left: 0;
  width: clamp(20px, 4.6vw, 30px);
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  transition: all 0.5s;
}
header .hamburger span:nth-child(1) {
  top: 14%;
}
header .hamburger span:nth-child(2) {
  top: 47%;
}
header .hamburger span:nth-child(3) {
  top: 80%;
}
@media (max-width: 850px) {
  header .hamburger {
    display: flex;
  }
}
@media (max-width: 500px) {
  header .hamburger {
    top: clamp(16px, 4.6vw, 30px);
    right: clamp(14px, 4.6vw, 30px);
    height: 20px;
  }
  header .hamburger span:nth-child(1) {
    top: 10%;
  }
}
header .overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 998;
  transition: opacity 0.5s ease;
}
@media (min-width: 850px) {
  header .overlay {
    display: none !important;
  }
}
header .overlay.active {
  display: none;
}

.open span {
  background-color: #fff;
}
.open span:nth-child(1) {
  transform: translateY(10px) rotate(-315deg);
}
.open span:nth-child(2) {
  opacity: 0;
}
.open span:nth-child(3) {
  transform: translateY(-10px) rotate(315deg);
}
@media (max-width: 500px) {
  .open span:nth-child(1) {
    transform: translateY(6px) rotate(-315deg);
  }
  .open span:nth-child(2) {
    opacity: 0;
  }
  .open span:nth-child(3) {
    transform: translateY(-8px) rotate(315deg);
  }
}

.pankuzu {
  padding-top: 1px;
}
.pankuzu .pan_Path {
  margin: 8px 0 clamp(13px, 4.1vw, 24px);
  padding: 0 clamp(16px, 5.1vw, 40px);
  display: flex;
  align-items: center;
  font-size: clamp(9px, 2.8vw, 14px);
  font-weight: 600;
}
.pankuzu .pan_Path .pan_Path_item a {
  color: #6CA517;
  font-weight: bold;
}
.pankuzu .pan_Path .pan_Path_item::after {
  content: ">";
  color: #333;
  margin: 0 clamp(8px, 2.5vw, 10px);
}

.company_back {
  background-color: #f2f7e9;
}
.company_back .company_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 3.8vw, 40px);
  justify-content: center;
  padding: clamp(26px, 8.2vw, 40px) clamp(13px, 4.1vw, 40px);
  max-width: 1280px;
  margin: 0 auto;
}
.company_back .company_container a {
  display: block;
  text-align: center;
  max-width: 360px;
  max-height: 360px;
  background-color: #fff;
  border: 1px solid #bbb;
  padding: 24px 1px 16px;
}
@media (max-width: 1200px) {
  .company_back .company_container a {
    padding: 0 8px 8px;
  }
}
.company_back .company_container a:hover {
  opacity: 0.8;
  color: #6CA517;
}
.company_back .company_container a img {
  margin: 0 auto;
  vertical-align: bottom;
  height: 80%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.company_back .company_container a p {
  padding-top: 24px;
  font-weight: bold;
  font-size: clamp(6px, 2vw, 16px);
}
@media (max-width: 1200px) {
  .company_back .company_container a p {
    padding-top: 8px;
  }
}

.business_container {
  margin-bottom: clamp(65px, 20.5vw, 120px);
}
.business_container .business_item {
  margin-top: clamp(65px, 15vw, 160px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .business_container .business_item {
    display: block;
    text-align: center;
  }
}
.business_container .business_item:nth-child(odd) {
  flex-direction: row-reverse;
}
.business_container .business_item:nth-child(odd) img {
  margin-right: 12px;
  margin-left: 60px;
  width: 360px;
}
@media (max-width: 1260px) {
  .business_container .business_item:nth-child(odd) img {
    margin-left: 40px;
  }
}
@media (max-width: 768px) {
  .business_container .business_item:nth-child(odd) img {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 360px;
  }
}
@media (max-width: 768px) {
  .business_container .business_item:nth-child(odd) {
    flex-direction: column;
  }
}
.business_container .business_item img {
  margin-right: 60px;
  border: 2px solid #eee;
  box-shadow: 12px 12px 2px 1px #e8f1d5;
  width: 100%;
  max-width: 360px;
  height: auto;
}
@media (max-width: 1260px) {
  .business_container .business_item img {
    margin-right: 40px;
  }
}
@media (max-width: 768px) {
  .business_container .business_item img {
    margin-left: 0;
    margin-right: 0;
  }
}
.business_container .business_item .business_text-content {
  width: 100%;
}
.business_container .business_item .business_text-content h2 {
  color: #6CA517;
  font-size: clamp(16px, 3.1vw, 30px);
  margin-bottom: 40px;
  position: relative;
}
.business_container .business_item .business_text-content h2::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: #6CA517;
  position: absolute;
  bottom: -10px;
  left: 0;
}
@media (max-width: 768px) {
  .business_container .business_item .business_text-content h2 {
    margin-top: clamp(19px, 8.2vw, 32px);
    margin-bottom: clamp(19px, 8.2vw, 32px);
    text-align: start;
  }
}
.business_container .business_item .business_text-content ul {
  list-style: inside;
}
.business_container .business_item .business_text-content ul li {
  font-size: 15px;
  margin-top: 16px;
}
.business_container .business_item .business_text-content ul li::marker {
  color: #6CA517;
}
@media (max-width: 1260px) {
  .business_container .business_item .business_text-content ul li {
    font-size: clamp(7px, 3vw, 14px);
  }
}
@media (max-width: 768px) {
  .business_container .business_item .business_text-content ul li {
    text-align: start;
    margin-top: clamp(8px, 3.5vw, 14px);
  }
}
.business_container .business_item .business_text-content p {
  margin: clamp(16px, 5.1vw, 24px) 0 clamp(22px, 7.1vw, 32px);
  font-size: 15px;
}
@media (max-width: 1260px) {
  .business_container .business_item .business_text-content p {
    font-size: clamp(7px, 3vw, 14px);
  }
}
@media (max-width: 768px) {
  .business_container .business_item .business_text-content p {
    text-align: start;
  }
}
.business_container .business_item .business_text-content .detail {
  background: #6CA517;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-left: auto;
  max-width: 280px;
  padding: clamp(6px, 2.5vw, 10px) clamp(15px, 6.4vw, 25px);
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  font-size: clamp(6px, 2.5vw, 14px);
  border: 1px solid #fff;
  cursor: pointer;
}
.business_container .business_item .business_text-content .detail:hover {
  background: #fff;
  color: #6CA517;
  border: 1px solid #6CA517;
}
.business_container .business_item .business_text-content .detail:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: clamp(6px, 2.5vw, 10px);
  height: clamp(6px, 2.5vw, 10px);
  border-top: solid 1px currentColor;
  border-right: solid 1px currentColor;
  transform: translateY(-50%) rotate(45deg);
}

footer {
  padding-bottom: 24px;
  font-weight: 500;
}
@media (max-width: 1260px) {
  footer {
    padding-bottom: 20px;
  }
}
@media (max-width: 768px) {
  footer {
    padding-bottom: clamp(9px, 4.1vw, 16px);
  }
}
footer .main_footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
footer .main_footer .footer-flex {
  display: flex;
  justify-content: center;
  gap: clamp(40px, 16.6vw, 160px);
}
@media (max-width: 1260px) {
  footer .main_footer .footer-flex {
    margin-top: 40px;
  }
}
@media (max-width: 768px) {
  footer .main_footer .footer-flex {
    justify-content: left;
    margin-top: clamp(14px, 6.1vw, 24px);
  }
}
footer .main_footer .footer-flex .footer-left {
  display: flex;
  gap: 80px;
}
@media (max-width: 1260px) {
  footer .main_footer .footer-flex .footer-left {
    display: block;
  }
}
footer .main_footer .footer-flex .footer-right {
  display: flex;
  gap: clamp(40px, 16.6vw, 160px);
}
@media (max-width: 600px) {
  footer .main_footer .footer-flex .footer-right {
    display: block;
  }
}
footer .main_footer .footer-flex .footer-right .footer-item {
  margin-left: -2px;
}
@media (max-width: 600px) {
  footer .main_footer .footer-flex .footer-right .footer-item:last-child {
    margin-top: clamp(19px, 8.2vw, 32px);
  }
}
footer .main_footer .footer-flex h3 {
  font-size: 21px;
  color: #6CA517;
}
@media (max-width: 768px) {
  footer .main_footer .footer-flex h3 {
    font-size: clamp(11px, 4.6vw, 18px);
  }
}
footer .main_footer .footer-flex .footer_column {
  list-style: inside;
}
footer .main_footer .footer-flex .footer_column li {
  margin-top: 12px;
}
footer .main_footer .footer-flex .footer_column li::marker {
  content: "▸";
  font-size: 16px;
  color: #6CA517;
}
@media (max-width: 768px) {
  footer .main_footer .footer-flex .footer_column li::marker {
    font-size: clamp(7px, 3vw, 12px);
  }
}
footer .main_footer .footer-flex .footer_column li a {
  margin-left: 6px;
}
footer .main_footer .footer-flex .footer_column li a:hover {
  color: #6CA517;
}
@media (max-width: 768px) {
  footer .main_footer .footer-flex .footer_column li a {
    font-size: clamp(7px, 3vw, 12px);
  }
}
footer .sub_footer {
  display: flex;
  justify-content: space-between;
  margin: 80px clamp(9px, 4.1vw, 40px) 0;
  font-size: 14px;
  border-top: 1px solid #6CA517;
  padding: clamp(9px, 4.1vw, 16px) 0 0;
  max-width: 100%;
}
@media (max-width: 1260px) {
  footer .sub_footer {
    display: block;
    margin: 56px clamp(9px, 4.1vw, 40px) 0;
  }
}
@media (max-width: 768px) {
  footer .sub_footer {
    margin: clamp(19px, 8.2vw, 32px) clamp(9px, 4.1vw, 40px) 0;
  }
}
footer .sub_footer .sub_footer_menu {
  display: flex;
}
@media (max-width: 768px) {
  footer .sub_footer .sub_footer_menu {
    flex-wrap: wrap;
  }
}
footer .sub_footer .sub_footer_menu li {
  margin-right: 24px;
}
footer .sub_footer .sub_footer_menu li a:hover {
  color: #6CA517;
}
@media (max-width: 768px) {
  footer .sub_footer .sub_footer_menu li a {
    font-size: clamp(6px, 2.8vw, 11px);
  }
}
@media (max-width: 768px) {
  footer .sub_footer .footer_company {
    font-size: clamp(6px, 2.8vw, 11px);
  }
}

.MainView img {
  width: 100%;
  vertical-align: bottom;
}

.slick-dots {
  display: none;
}

.news,
.topics {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1280px;
  margin: 160px auto 0;
  padding: 0 40px;
}
@media (max-width: 856px) {
  .news,
  .topics {
    display: block;
    margin: clamp(49px, 20.5vw, 80px) auto 0;
    padding: 0 clamp(9px, 4.1vw, 40px);
  }
}
.news .section-title span,
.topics .section-title span {
  color: #6CA517;
  font-size: clamp(8px, 3.5vw, 16px);
}
.news .section-title h1,
.topics .section-title h1 {
  font-size: 26px;
}
@media (max-width: 856px) {
  .news .section-title h1,
  .topics .section-title h1 {
    font-size: clamp(12px, 5.1vw, 24px);
  }
}
.news .news_container,
.news .topics_container,
.topics .news_container,
.topics .topics_container {
  margin-top: 24px;
  width: 75%;
}
@media (max-width: 856px) {
  .news .news_container,
  .news .topics_container,
  .topics .news_container,
  .topics .topics_container {
    width: 100%;
  }
}
.news .news_container a,
.news .topics_container a,
.topics .news_container a,
.topics .topics_container a {
  display: block;
  padding: clamp(14px, 6.1vw, 36px) 0;
  border-bottom: 1px solid #cfdfac;
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 856px) {
  .news .news_container a,
  .news .topics_container a,
  .topics .news_container a,
  .topics .topics_container a {
    font-size: clamp(7px, 3vw, 14px);
  }
}
.news .news_container a:hover,
.news .topics_container a:hover,
.topics .news_container a:hover,
.topics .topics_container a:hover {
  color: #6CA517;
}
.news .news_container a:first-child,
.news .topics_container a:first-child,
.topics .news_container a:first-child,
.topics .topics_container a:first-child {
  border-top: 1px solid #cfdfac;
}
.news .news_container a .news_date,
.news .news_container a .topics_date,
.news .news_container a .news_content,
.news .news_container a .topics_container,
.news .topics_container a .news_date,
.news .topics_container a .topics_date,
.news .topics_container a .news_content,
.news .topics_container a .topics_container,
.topics .news_container a .news_date,
.topics .news_container a .topics_date,
.topics .news_container a .news_content,
.topics .news_container a .topics_container,
.topics .topics_container a .news_date,
.topics .topics_container a .topics_date,
.topics .topics_container a .news_content,
.topics .topics_container a .topics_container {
  padding-right: 32px;
}
@media (max-width: 856px) {
  .news .news_container a .news_date,
  .news .news_container a .topics_date,
  .news .news_container a .news_content,
  .news .news_container a .topics_container,
  .news .topics_container a .news_date,
  .news .topics_container a .topics_date,
  .news .topics_container a .news_content,
  .news .topics_container a .topics_container,
  .topics .news_container a .news_date,
  .topics .news_container a .topics_date,
  .topics .news_container a .news_content,
  .topics .news_container a .topics_container,
  .topics .topics_container a .news_date,
  .topics .topics_container a .topics_date,
  .topics .topics_container a .news_content,
  .topics .topics_container a .topics_container {
    padding-right: clamp(7px, 4.1vw, 24px);
  }
}
.news .news_container a .news_date,
.news .news_container a .topics_date,
.news .topics_container a .news_date,
.news .topics_container a .topics_date,
.topics .news_container a .news_date,
.topics .news_container a .topics_date,
.topics .topics_container a .news_date,
.topics .topics_container a .topics_date {
  color: #6CA517;
}
@media (max-width: 856px) {
  .news .news_container a .news_date,
  .news .news_container a .topics_date,
  .news .topics_container a .news_date,
  .news .topics_container a .topics_date,
  .topics .news_container a .news_date,
  .topics .news_container a .topics_date,
  .topics .topics_container a .news_date,
  .topics .topics_container a .topics_date {
    display: block;
  }
}
.news .news_container a .news_right,
.news .news_container a .topics_right,
.news .topics_container a .news_right,
.news .topics_container a .topics_right,
.topics .news_container a .news_right,
.topics .news_container a .topics_right,
.topics .topics_container a .news_right,
.topics .topics_container a .topics_right {
  float: right;
}

.company_index {
  margin-top: clamp(65px, 20.5vw, 120px);
}

.Corporate_Philosophy {
  margin-top: clamp(65px, 20.5vw, 128px);
  margin-bottom: clamp(65px, 20.5vw, 120px);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1260px) {
  .Corporate_Philosophy {
    display: block;
    text-align: center;
  }
}
.Corporate_Philosophy .Corporate_logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.Corporate_Philosophy .Corporate_logo img {
  height: clamp(24px, 10.2vw, 32px);
  vertical-align: bottom;
}
.Corporate_Philosophy .Corporate_logo h1 {
  align-items: center;
  font-size: clamp(13px, 5vw, 24px);
}
@media (max-width: 768px) {
  .Corporate_Philosophy .Corporate_logo h1 {
    margin-right: clamp(7px, 3vw, 18px);
  }
}
.Corporate_Philosophy .Corporate_text {
  padding-left: clamp(10px, 4vw, 24px);
  display: flex;
  justify-content: center;
}
@media (max-width: 1260px) {
  .Corporate_Philosophy .Corporate_text {
    margin-top: clamp(14px, 6.1vw, 32px);
  }
}
@media (max-width: 768px) {
  .Corporate_Philosophy .Corporate_text {
    display: block;
  }
}
.Corporate_Philosophy .Corporate_text p {
  font-size: clamp(7px, 3vw, 16px);
}
@media (max-width: 768px) {
  .Corporate_Philosophy .Corporate_text p {
    padding-bottom: clamp(7px, 3vw, 17px);
  }
}

.contact_title {
  position: relative;
}
.contact_title .h2-ja {
  max-width: 1280px;
  margin: 48px auto 32px;
  font-size: 40px;
  color: #6CA517;
}
@media (max-width: 768px) {
  .contact_title .h2-ja {
    font-size: clamp(16px, 6.4vw, 40px);
    margin: clamp(9px, 7vw, 40px) auto clamp(14px, 4vw, 24px);
    padding: 0;
  }
}
.contact_title .h2-en {
  position: absolute;
  left: 40px;
  bottom: 16px;
  z-index: -10;
  font-size: 48px;
  color: #D6F0A6;
}
@media (max-width: 768px) {
  .contact_title .h2-en {
    font-size: clamp(16px, 8vw, 48px);
    margin: clamp(9px, 7vw, 40px) auto clamp(14px, 4vw, 24px);
    padding: 0;
    bottom: -10px;
  }
}

.contact_section .contact_container {
  max-width: 1280px;
  margin: 24px auto 160px;
  padding: 0 clamp(13px, 4.1vw, 40px);
}
@media (max-width: 768px) {
  .contact_section .contact_container {
    margin: 24px auto clamp(24px, 10.2vw, 60px);
    padding: 0 clamp(9px, 4.1vw, 40px);
    width: 100%;
  }
}
.contact_section .contact_container .policy_textbox h3 {
  font-size: clamp(14px, 4.1vw, 24px);
  color: #6CA517;
  margin: clamp(24px, 10.2vw, 60px) auto clamp(5px, 2vw, 8px);
}
.contact_section .contact_container .policy_textbox p {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: clamp(6px, 3vw, 16px);
}
.contact_section .contact_container .policy_textbox a {
  font-size: clamp(6px, 3vw, 16px);
  color: #6CA517;
}
.contact_section .contact_container .policy_textbox ul {
  margin-bottom: clamp(14px, 6.1vw, 24px);
}
.contact_section .contact_container .policy_textbox ul li {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: clamp(5px, 2vw, 8px);
}
.contact_section .contact_container .contact_notes {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .contact_section .contact_container .contact_notes {
    margin-bottom: clamp(24px, 10.2vw, 60px);
  }
}
.contact_section .contact_container .contact_notes li {
  margin-bottom: 8px;
}
.contact_section .contact_container .contact_notes li a {
  color: #6CA517;
}
.contact_section .contact_container .instruction {
  margin-bottom: 40px;
  font-weight: bold;
  font-size: clamp(6px, 3vw, 16px);
}
@media (max-width: 768px) {
  .contact_section .contact_container .instruction {
    margin-bottom: clamp(14px, 6.1vw, 24px);
  }
}
.contact_section .contact_container legend {
  margin-top: clamp(14px, 4.1vw, 32px);
  margin-bottom: 10px;
  color: #333;
  font-size: clamp(11px, 4.6vw, 18px);
  font-weight: bold;
}
.contact_section .contact_container .contact_form {
  display: flex;
  flex-direction: column;
  gap: clamp(9px, 4.1vw, 40px);
  background-color: #f2f7e9;
  margin: 60px auto;
  padding: 90px clamp(60px, 9.8vw, 120px);
  max-width: 1260px;
  border-radius: 10px;
  box-shadow: 0 0 10px #f2f7e9;
  text-align: left;
}
@media (max-width: 768px) {
  .contact_section .contact_container .contact_form {
    margin: clamp(24px, 10.2vw, 60px) auto;
    padding: clamp(24px, 10.2vw, 60px) clamp(9px, 4.1vw, 40px);
    width: 100%;
  }
}
.contact_section .contact_container .contact_form fieldset {
  border: none;
  padding: 0;
}
.contact_section .contact_container .contact_form textarea,
.contact_section .contact_container .contact_form input[type=text],
.contact_section .contact_container .contact_form input[type=email],
.contact_section .contact_container .contact_form input[type=tel] {
  padding: clamp(7px, 2vw, 12px);
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 6px;
  width: 100%;
  font-size: clamp(6px, 3vw, 16px);
}
.contact_section .contact_container .contact_form textarea {
  height: clamp(150px, 20vw, 200px);
  resize: vertical;
}
.contact_section .contact_container .contact_form .form-row label {
  font-weight: bold;
}
.contact_section .contact_container .contact_form label {
  display: block;
  margin-bottom: clamp(5px, 2vw, 8px);
  font-size: clamp(6px, 3vw, 16px);
}
.contact_section .contact_container .contact_form label span {
  color: #ee4949;
  margin-left: 10px;
}
.contact_section .contact_container .contact_form label input {
  height: clamp(7px, 3vw, 13px);
}
.contact_section .contact_container .contact_form .checkbox_agreement {
  display: flex;
  align-items: center;
  gap: clamp(5px, 2vw, 8px);
  font-size: clamp(6px, 3vw, 16px);
}
.contact_section .contact_container .contact_form button[type=submit] {
  background: #6CA517;
  color: #fff;
  border: none;
  padding: clamp(7px, 3vw, 12px);
  font-size: clamp(6px, 3vw, 16px);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s;
}
.contact_section .contact_container .contact_form button[type=submit]:hover {
  background: #5a9212;
}
.contact_section .contact_container .thanks-top {
  display: inline-block;
  margin-top: clamp(6px, 3vw, 16px);
}
.contact_section .contact_container .thanks-top:hover {
  color: #6CA517;
}

.company-h3 {
  font-size: clamp(12px, 4.1vw, 24px);
  font-weight: 700;
  color: #6EA51E;
  margin-bottom: 8px;
}

.linear {
  background: linear-gradient(transparent 60%, #D6F0A6 100%);
  font-weight: 700;
}

.company-overview {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: 96px;
}
.company-overview dl {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin-bottom: 40px;
  font-weight: 600;
}
.company-overview dl dt {
  width: 25%;
  padding: clamp(8px, 2.5vw, 20px) clamp(14px, 6.1vw, 24px);
  border-bottom: 1px solid #81bb27;
}
.company-overview dl dd {
  width: 75%;
  padding: clamp(8px, 2.5vw, 20px) clamp(14px, 6.1vw, 24px);
  border-bottom: 1px solid #bbb;
}
.company-overview p {
  margin-top: clamp(9px, 4.1vw, 16px);
}

.business-activities {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: 96px;
}
.business-activities .business-blocks {
  display: flex;
  gap: 40px;
  margin-top: 32px;
  margin-bottom: 16px;
}
@media (max-width: 768px) {
  .business-activities .business-blocks {
    display: block;
  }
}
.business-activities .business-blocks .business-block {
  width: 373px;
}
@media (max-width: 768px) {
  .business-activities .business-blocks .business-block {
    width: 80%;
    text-align: center;
    margin: 56px auto;
  }
}
.business-activities .business-blocks .business-block img {
  width: 100%;
  height: 307px;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .business-activities .business-blocks .business-block img {
    height: auto;
  }
}
.business-activities .business-blocks .business-block h4 {
  margin-top: clamp(9px, 4.1vw, 16px);
}
.business-activities .business-blocks .business-block ul {
  list-style: inside;
  margin-bottom: 32px;
}
.business-activities .business-blocks .business-block ul li {
  margin-top: 8px;
}
.business-activities .business-blocks .business-block ul li::marker {
  content: "▸";
  font-size: 16px;
  color: #6CA517;
}
@media (max-width: 768px) {
  .business-activities .business-blocks .business-block ul li::marker {
    font-size: clamp(7px, 3vw, 12px);
  }
}

.corporate-stance {
  font-size: clamp(6px, 3vw, 16px);
}
.corporate-stance p {
  margin-bottom: clamp(9px, 4.1vw, 16px);
}

.president-greeting,
.president-philosophy,
.president-profile {
  display: flex;
  margin-bottom: 96px;
  font-size: clamp(6px, 3vw, 16px);
}
@media (max-width: 768px) {
  .president-greeting,
  .president-philosophy,
  .president-profile {
    flex-direction: column;
  }
}
.president-greeting .text h4,
.president-philosophy .text h4,
.president-profile .text h4 {
  font-size: clamp(12px, 5.1vw, 24px);
}
.president-greeting .text p,
.president-philosophy .text p,
.president-profile .text p {
  margin-top: 8px;
}
.president-greeting img,
.president-philosophy img,
.president-profile img {
  width: clamp(390px, 35vw, 479px);
  height: 400px;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .president-greeting img,
  .president-philosophy img,
  .president-profile img {
    margin: 32px auto 0;
    width: 80%;
    height: auto;
  }
}

@media (max-width: 768px) {
  .president-philosophy {
    flex-direction: column-reverse;
  }
}

.management-keywords {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: 96px;
}
.management-keywords p {
  margin-top: 8px;
}
.management-keywords .keywords-blocks {
  display: flex;
  gap: 46px;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .management-keywords .keywords-blocks {
    display: block;
  }
}
.management-keywords .keywords-blocks .keywords-block {
  width: 373px;
  text-align: center;
}
@media (max-width: 768px) {
  .management-keywords .keywords-blocks .keywords-block {
    width: 100%;
    margin-bottom: 56px;
  }
}
.management-keywords .keywords-blocks .keywords-block img {
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .management-keywords .keywords-blocks .keywords-block img {
    max-width: 380px;
    width: 80%;
    height: auto;
  }
}
.management-keywords .keywords-blocks .keywords-block h4 {
  margin-top: 8px;
  font-size: clamp(12px, 5.1vw, 24px);
  font-weight: 700;
}

.vision-midlong {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: 96px;
}
.vision-midlong p {
  margin-top: 8px;
}
.vision-midlong .vision-blocks {
  display: flex;
  gap: 46px;
  margin-top: 32px;
  margin-bottom: 56px;
}
@media (max-width: 768px) {
  .vision-midlong .vision-blocks {
    display: block;
  }
}
.vision-midlong .vision-blocks .vision-block {
  width: 373px;
  text-align: center;
}
@media (max-width: 768px) {
  .vision-midlong .vision-blocks .vision-block {
    width: 100%;
    margin-bottom: 56px;
  }
}
.vision-midlong .vision-blocks .vision-block img {
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .vision-midlong .vision-blocks .vision-block img {
    max-width: 380px;
    width: 80%;
    height: auto;
  }
}
.vision-midlong .vision-blocks .vision-block h4 {
  margin-top: 8px;
  font-size: clamp(12px, 5.1vw, 24px);
  font-weight: 700;
}

.stakeholder-approach {
  font-size: clamp(6px, 3vw, 16px);
  display: flex;
}
@media (max-width: 768px) {
  .stakeholder-approach {
    flex-direction: column;
  }
}
.stakeholder-approach .text p {
  margin-top: 8px;
}
.stakeholder-approach img {
  height: 296px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: 56px;
}
@media (max-width: 768px) {
  .stakeholder-approach img {
    width: 80%;
    height: auto;
    margin: 32px auto 0;
  }
}

.reasons-section {
  font-size: clamp(6px, 3vw, 16px);
  margin-bottom: 96px;
}
.reasons-section p {
  margin-top: 8px;
}
.reasons-section .reasons-blocks .reasons-block {
  display: flex;
  align-items: center;
  margin: 56px 0;
}
@media (max-width: 768px) {
  .reasons-section .reasons-blocks .reasons-block {
    flex-direction: column-reverse;
    margin: clamp(19px, 8.2vw, 40px) 0;
  }
}
.reasons-section .reasons-blocks .reasons-block img {
  width: 320px;
  height: 249px;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: bottom;
  margin-right: 56px;
}
@media (max-width: 768px) {
  .reasons-section .reasons-blocks .reasons-block img {
    max-width: 380px;
    width: 80%;
    height: auto;
    margin-top: clamp(9px, 4.1vw, 16px);
  }
}
.reasons-section .reasons-blocks .reasons-block .text h4 {
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 16px;
}

.strengths-section {
  font-size: clamp(6px, 3vw, 16px);
}
.strengths-section .strengths-blocks {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
  margin-bottom: 56px;
}
@media (max-width: 768px) {
  .strengths-section .strengths-blocks {
    display: block;
  }
}
.strengths-section .strengths-blocks .strengths-block {
  text-align: center;
}
@media (max-width: 768px) {
  .strengths-section .strengths-blocks .strengths-block {
    margin: clamp(19px, 8.2vw, 40px) 0;
  }
}
.strengths-section .strengths-blocks .strengths-block img {
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .strengths-section .strengths-blocks .strengths-block img {
    max-width: 380px;
    width: 80%;
    height: auto;
    margin-top: clamp(9px, 4.1vw, 16px);
  }
}
.strengths-section .strengths-blocks .strengths-block h4 {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 700;
}

.sitemap .mp-group {
  margin-bottom: 80px;
}
.sitemap .mp-group:last-child {
  margin-bottom: clamp(65px, 20.5vw, 120px);
}
@media (max-width: 768px) {
  .sitemap .mp-group {
    margin-top: clamp(12px, 5.1vw, 25px);
  }
}
.sitemap .mp-group h3 {
  background: #D6F0A6;
  padding: 20px 18px;
  font-size: 19px;
  text-align: center;
}
@media (max-width: 768px) {
  .sitemap .mp-group h3 {
    padding: clamp(9px, 3.8vw, 15px);
    font-size: clamp(8px, 3.5vw, 16px);
  }
}
.sitemap .mp-group ul {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eaeaea;
}
@media (max-width: 768px) {
  .sitemap .mp-group ul {
    margin: 0 clamp(6px, 2.5vw, 15px);
    padding-left: 0;
    display: block;
  }
}
.sitemap .mp-group ul li {
  width: 33.33%;
  display: flex;
  align-items: center;
  position: relative;
}
.sitemap .mp-group ul li::before {
  display: block;
  width: 1px;
  height: 36px;
  background-color: #eaeaea;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
}
.sitemap .mp-group ul li:nth-child(3)::before {
  display: none;
}
@media (max-width: 768px) {
  .sitemap .mp-group ul li {
    width: 100%;
    border-top: 1px solid #eaeaea;
  }
  .sitemap .mp-group ul li:first-child {
    border-top: none;
  }
  .sitemap .mp-group ul li::before {
    display: none;
  }
}
.sitemap .mp-group ul li a {
  width: 100%;
  padding: 19px 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: clamp(7px, 1.5vw, 16px);
}
.sitemap .mp-group ul li a:hover {
  color: #6CA517;
}
@media (max-width: 768px) {
  .sitemap .mp-group ul li a {
    font-size: clamp(7px, 3vw, 13px);
    padding: clamp(8px, 3.5vw, 18px) clamp(6px, 2.5vw, 13px) clamp(8px, 3.5vw, 18px) 0;
  }
  .sitemap .mp-group ul li a:first-child {
    padding: clamp(8px, 3.5vw, 18px) clamp(6px, 2.5vw, 13px) clamp(8px, 3.5vw, 18px) 0;
  }
}
.sitemap .mp-group ul li a .right {
  margin-left: 15px;
}

.business_card {
  display: flex;
  gap: 64px;
}
.business_card .sidebar {
  width: 300px;
  font-size: 14px;
}
.business_card .sidebar .sidebar-title {
  background-color: #6CA517;
  color: #fff;
  padding: 80px 50px;
  line-height: 1.8;
}
.business_card .sidebar .sidebar-title h2 {
  font-size: 32px;
  font-weight: 400;
}
.business_card .sidebar .sidebar-title p {
  font-size: 16px;
}
.business_card .sidebar nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.business_card .sidebar nav ul li {
  margin-top: 10px;
}
.business_card .sidebar nav ul li a {
  display: block;
  padding: 15px 20px;
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}
.business_card .sidebar nav ul li a:hover {
  background: #e6f8ca;
  color: #6CA517;
  padding-left: 25px;
  transition: 0.5s;
}
.business_card .sidebar nav ul li .active {
  border-left: 3px solid #6CA517;
  color: #6CA517;
  font-weight: bold;
}

.business_card {
  margin-top: 48px;
  margin-bottom: clamp(65px, 20.5vw, 120px);
}
@media (max-width: 768px) {
  .business_card {
    margin-top: clamp(14px, 6.1vw, 24px);
  }
}
@media (max-width: 768px) {
  .business_card .sidebar {
    display: none;
  }
}
.business_card .business-content {
  width: 100%;
}
.business_card .business-content h1 {
  color: #6CA517;
  font-size: clamp(16px, 5.1vw, 32px);
  margin-bottom: 40px;
  position: relative;
  line-height: 1;
}
.business_card .business-content h1::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: #6CA517;
  position: absolute;
  bottom: -16px;
  left: 0;
}
@media (max-width: 768px) {
  .business_card .business-content h1 {
    margin-bottom: clamp(14px, 8.2vw, 32px);
    text-align: start;
  }
}
.business_card .business-content ul {
  margin-top: clamp(14px, 4.1vw, 24px);
  list-style: inside;
}
.business_card .business-content ul li {
  font-size: clamp(6px, 3vw, 16px);
  margin-top: clamp(8px, 3.5vw, 16px);
}
.business_card .business-content ul li::marker {
  color: #6CA517;
}
.business_card .business-content .section-content {
  margin-top: clamp(19px, 5.2vw, 40px);
}
.business_card .business-content .section-content h2 {
  font-size: clamp(14px, 4.1vw, 24px);
  color: #6CA517;
}
.business_card .business-content .section-content .section-box {
  margin-top: clamp(8px, 3.5vw, 16px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.6;
}
.business_card .business-content .section-content .section-box .section-item {
  width: 48%;
  margin-bottom: clamp(24px, 4.1vw, 32px);
}
@media (max-width: 1060px) {
  .business_card .business-content .section-content .section-box .section-item {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .business_card .business-content .section-content .section-box .section-item {
    width: 48%;
  }
}
@media (max-width: 580px) {
  .business_card .business-content .section-content .section-box .section-item {
    width: 100%;
  }
}
.business_card .business-content .section-content .section-box .section-item a {
  transition: 0.3s;
}
.business_card .business-content .section-content .section-box .section-item a:hover {
  color: #6CA517;
}
.business_card .business-content .section-content .section-box .section-item a:hover img {
  transform: scale(1.03);
}
.business_card .business-content .section-content .section-box .section-item a .image {
  padding: 10px;
  background-color: #eee;
  margin-bottom: 8px;
}
.business_card .business-content .section-content .section-box .section-item a .image span {
  overflow: hidden;
  display: block;
}
.business_card .business-content .section-content .section-box .section-item a .image span img {
  width: 100%;
  transition: transform 0.3s ease;
  vertical-align: bottom;
}
.business_card .business-content .section-content .section-box .section-item a h3 {
  font-size: clamp(6px, 3vw, 16px);
}
.business_card .business-content .section-content .section-box .section-item a p {
  font-size: clamp(6px, 3vw, 16px);
}/*# sourceMappingURL=main.css.map */