@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap");
* {
  color: #1a1a1a;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  line-height: 1.6;
  letter-spacing: 0.025em;
}

html {
  font-size: 56.5%;
  line-height: 1.65;
  overflow-x: hidden;
}
@media print, screen and (min-width: 1024px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-size: 1.6rem;
  overflow-x: hidden;
}

li {
  list-style: none;
}

a {
  display: block;
  width: 100%;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-decoration: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
a *, a::before, a::after {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media print, screen and (min-width: 1024px) {
  a[href*=tel] {
    pointer-events: none;
  }
}

address {
  font-style: normal;
}

span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-align: inherit;
  line-height: inherit;
}

img, iframe {
  width: 100%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  height: auto;
  vertical-align: bottom;
}

@media print, screen and (min-width: 480px) {
  br.under480 {
    display: none;
  }
}
br.over768 {
  display: none;
}
@media print, screen and (min-width: 768px) {
  br.over768 {
    display: block;
  }
}
br.between1024-1280 {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  br.between1024-1280 {
    display: block;
  }
}
@media print, screen and (min-width: 1280px) {
  br.between1024-1280 {
    display: none;
  }
}
br.over1024 {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  br.over1024 {
    display: block;
  }
}
br.under1400 {
  display: block;
}
@media print, screen and (min-width: 1400px) {
  br.under1400 {
    display: none;
  }
}

.container {
  width: 100%;
  max-width: 1920px;
  margin: auto;
  overflow-x: hidden;
  opacity: 0;
  -webkit-animation: fade 1s forwards;
          animation: fade 1s forwards;
}

.inner {
  width: 90%;
  margin: auto;
}
.inner.max960 {
  max-width: 960px;
}
.inner.max1000 {
  max-width: 1000px;
}
.inner.max1200 {
  max-width: 1200px;
}
.inner.max1280 {
  max-width: 1280px;
}
.inner.max1400 {
  max-width: 1400px;
}
@media print, screen and (min-width: 768px) {
  .inner.adjust {
    width: calc(95% - (min(3vw, 4.5rem) + 4rem));
    margin: 0 0 0 auto;
    position: relative;
    right: calc(min(3vw, 4.5rem) + 4rem + 2.5vw);
  }
}
@media print, screen and (min-width: 1280px) {
  .inner.adjust.max1000 {
    width: 95%;
    margin: auto;
    right: initial;
  }
}
@media print, screen and (min-width: 1400px) {
  .inner.adjust.max1200, .inner.adjust.max1280 {
    width: 95%;
    margin: auto;
    right: initial;
  }
}
@media print, screen and (min-width: 1600px) {
  .inner.adjust.max1400 {
    width: 95%;
    margin: auto;
    right: initial;
  }
}

.mg_top40 {
  margin-top: clamp(2rem, 2vw, 4rem) !important;
}
.mg_top60 {
  margin-top: clamp(3rem, 3vw, 6rem) !important;
}
.mg_top80 {
  margin-top: clamp(4rem, 4vw, 8rem) !important;
}
.mg_top100 {
  margin-top: clamp(4rem, 5vw, 10rem) !important;
}
.mg_top150 {
  margin-top: clamp(6rem, 7.5vw, 15rem) !important;
}

.pd64 {
  padding: clamp(4rem, 3.2vw, 6.4rem) 0 !important;
}
.pd80 {
  padding: clamp(4rem, 4vw, 8rem) 0 !important;
}
.pd100 {
  padding: clamp(4rem, 5vw, 10rem) 0 !important;
}
.pd120 {
  padding: clamp(4rem, 6vw, 12rem) 0 !important;
}
.pd150 {
  padding: clamp(6rem, 7.5vw, 15rem) 0 !important;
}
.pd_top150 {
  padding-top: clamp(6rem, 7.5vw, 15rem) !important;
}
.pd_bottom150 {
  padding-bottom: clamp(6rem, 7.5vw, 15rem) !important;
}

header.section_title {
  margin: 0 0 0 10%;
  color: #1a1a1a;
  line-height: 1;
}
@media print, screen and (min-width: 1400px) {
  header.section_title {
    margin: 0;
  }
}
header.section_title span {
  position: relative;
  font-size: 4.4rem;
  font-size: min(8.8vw, 4.4rem);
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
  font-weight: bold;
}
header.section_title span::before {
  content: "";
  width: 8rem;
  height: 0.1rem;
  background-color: #1a1a1a;
  position: absolute;
  top: 50%;
  right: calc(100% + min(2vw, 2rem));
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
header.section_title h2 {
  margin-top: 1rem;
  color: inherit;
  font-size: 2rem;
  font-size: min(6vw, 2rem);
  line-height: 1;
}

section.page_top {
  width: 100%;
  padding: clamp(5rem, 5vw, 10rem) 0;
}
@media print, screen and (min-width: 1280px) {
  section.page_top .inner {
    padding-right: min(5vw, 10rem);
  }
}
section.page_top header.page_title span {
  position: relative;
  color: #000;
  font-size: min(5vw, 2.5rem);
  font-weight: bold;
  padding-left: min(9.5vw, 9.5rem);
}
@media print, screen and (min-width: 768px) {
  section.page_top header.page_title span {
    font-size: min(2.5vw, 2.5rem);
  }
}
section.page_top header.page_title span::before {
  content: "";
  width: min(8vw, 8rem);
  height: 0.1rem;
  background-color: #1a1a1a;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
section.page_top header.page_title h1 {
  color: #000;
  font-size: min(4vw, 2rem);
  padding-left: min(9.5vw, 9.5rem);
}
@media print, screen and (min-width: 768px) {
  section.page_top header.page_title h1 {
    font-size: min(2vw, 2rem);
  }
}
section.page_top .flex {
  margin-top: clamp(2rem, 2vw, 4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(4rem, 4vw, 8rem) 0;
}
@media print, screen and (min-width: 1024px) {
  section.page_top .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
section.page_top strong.catch {
  display: block;
  font-size: min(6vw, 4.5rem);
  font-weight: bold;
  line-height: 1.2;
}
@media print, screen and (min-width: 768px) {
  section.page_top strong.catch {
    font-size: min(4.5vw, 4.5rem);
  }
}
@media print, screen and (min-width: 1024px) {
  section.page_top strong.catch {
    width: 53.5%;
    font-size: min(3vw, 4.5rem);
  }
}
section.page_top p.intro {
  font-size: min(4vw, 2rem);
}
@media print, screen and (min-width: 1024px) {
  section.page_top p.intro {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 55rem;
    font-size: min(1.5vw, 2rem);
    line-height: 1.8;
  }
}

nav.breadcrumb {
  display: none;
}
@media print, screen and (min-width: 768px) {
  nav.breadcrumb {
    display: block;
    height: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
nav.breadcrumb ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
}
nav.breadcrumb ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
}
nav.breadcrumb ol li:not(:last-of-type)::after {
  content: ">";
  display: block;
  position: relative;
  top: -0.1em;
}
nav.breadcrumb ol li a {
  display: inline-block;
}
nav.breadcrumb ol li a[href*="#"] {
  pointer-events: none;
}
nav.breadcrumb ol li a:hover {
  color: #00883f;
}

header.page_section_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #1a1a1a;
}
header.page_section_title span {
  font-size: clamp(1.95rem, 5vw, 3.5rem);
  font-weight: bold;
}
header.page_section_title h2 {
  font-size: clamp(1.6rem, 4vw, 2rem);
}

.btn {
  width: clamp(25rem, 40vw, 52rem);
  max-width: 52rem;
  margin: auto;
}
.btn a {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2rem;
  border: 0.1rem solid;
  padding: 1em 0;
}
.btn a::after {
  content: "";
  width: 1em;
  height: 1em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../img/icon_roundarrow.svg);
          mask-image: url(../img/icon_roundarrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

#header {
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 9999999999;
  width: 100%;
  max-width: 1920px;
  background-color: #fff;
}
#header .header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header .area_left {
  width: clamp(20rem, 30vw, 36rem);
  max-width: 36rem;
  margin-left: min(2.5vw, 2.5rem);
  padding: min(3vw, 1.5rem) 0;
}
@media print, screen and (min-width: 1024px) {
  #header .area_left {
    width: min(18.75vw, 36rem);
    padding: min(0.8vw, 1.5rem) 0;
  }
}
#header .area_right {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header .area_menu {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
#header nav.pc_menu {
  height: 100%;
}
#header nav.pc_menu ul.main_link {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header nav.pc_menu ul.main_link > li:not(.contact) {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  #header nav.pc_menu ul.main_link > li:not(.contact) {
    display: block;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #header nav.pc_menu ul.main_link > li:not(.contact) > a {
    height: 100%;
    display: grid;
    place-items: center;
    font-size: min(1vw, 1.7rem);
    padding: 0 min(0.75vw, 1.75rem);
  }
  #header nav.pc_menu ul.main_link > li:not(.contact) > a:hover {
    color: #00883f;
  }
}
#header nav.pc_menu ul.main_link > li.recruit {
  margin-left: min(1vw, 3.25rem);
}
#header nav.pc_menu ul.main_link > li.recruit a {
  height: 100%;
  color: #fff;
  background-color: #0071bc;
  display: grid;
  place-items: center;
  padding: 0 min(1vw, 2.5rem);
}
#header nav.pc_menu ul.main_link > li.recruit a:hover {
  color: #fff;
  opacity: 0.5;
}
#header nav.pc_menu ul.main_link > li.contact {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header nav.pc_menu ul.main_link > li.contact .tel {
  height: 100%;
}
#header nav.pc_menu ul.main_link > li.contact .tel a {
  height: 100%;
  display: grid;
  place-items: center;
  padding: 0 min(3vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  #header nav.pc_menu ul.main_link > li.contact .tel a {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 1rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #header nav.pc_menu ul.main_link > li.contact .tel a {
    padding: 0 min(2vw, 5rem);
  }
}
#header nav.pc_menu ul.main_link > li.contact .tel a .icon {
  width: min(5.4vw, 2.4rem);
  aspect-ratio: 15/23;
  margin: auto;
  -webkit-mask-image: url(../img/icon_tel.svg);
          mask-image: url(../img/icon_tel.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #00883f;
}
@media print, screen and (min-width: 768px) {
  #header nav.pc_menu ul.main_link > li.contact .tel a .icon {
    width: 1.5rem;
  }
}
#header nav.pc_menu ul.main_link > li.contact .tel a p {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #header nav.pc_menu ul.main_link > li.contact .tel a p {
    display: block;
    color: #00883f;
    font-size: min(1vw, 1.6rem);
    line-height: 1;
  }
}
#header nav.pc_menu ul.main_link > li.contact .tel a p span {
  margin-top: 0.2em;
  display: block;
  font-weight: bold;
}
#header nav.pc_menu ul.main_link > li.contact .mail {
  height: 100%;
}
#header nav.pc_menu ul.main_link > li.contact .mail a {
  position: relative;
  height: 100%;
  display: grid;
  place-items: center;
  padding: min(3vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  #header nav.pc_menu ul.main_link > li.contact .mail a {
    width: auto;
    padding: 0 2rem;
  }
}
#header nav.pc_menu ul.main_link > li.contact .mail a:hover {
  opacity: 0.5;
}
#header nav.pc_menu ul.main_link > li.contact .mail a::before, #header nav.pc_menu ul.main_link > li.contact .mail a::after {
  content: "";
  background-color: #c4c4c4;
  position: absolute;
}
#header nav.pc_menu ul.main_link > li.contact .mail a::before {
  width: 0.1rem;
  height: 75%;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
#header nav.pc_menu ul.main_link > li.contact .mail a::after {
  width: 0.1rem;
  height: 75%;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media print, screen and (min-width: 1024px) {
  #header nav.pc_menu ul.main_link > li.contact .mail a::after {
    width: 75%;
    height: 0.1rem;
    top: auto;
    bottom: 0;
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }
}
#header nav.pc_menu ul.main_link > li.contact .mail a .icon {
  position: relative;
  width: min(6.5vw, 3rem);
  margin: auto;
  aspect-ratio: 45/34;
  -webkit-mask-image: url(../img/icon_mail01.svg);
          mask-image: url(../img/icon_mail01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #00883f;
}
@media print, screen and (min-width: 1024px) {
  #header nav.pc_menu ul.main_link > li.contact .mail a .icon {
    width: min(3vw, 4.5rem);
  }
}
#header nav.pc_menu ul.sub_link {
  position: absolute;
  top: 100%;
  background-color: #f1f1f1;
  padding: 1em 1.5em;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#header nav.pc_menu ul.sub_link li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header nav.pc_menu ul.sub_link li::before {
  content: "-";
  margin-right: 0.5em;
}
#header nav.pc_menu ul.sub_link li a {
  font-size: 1.5rem;
  line-height: 2.2;
}
#header nav.pc_menu ul.sub_link li a:hover {
  color: #00883f;
}
#header nav.pc_menu ul.main_link > li > a:hover + ul.sub_link,
#header nav.pc_menu ul.sub_link:hover {
  opacity: 1;
  visibility: visible;
}
#header nav.catalog_menu {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #header nav.catalog_menu {
    display: block;
    background-color: #fff;
    position: absolute;
    top: 100%;
    right: 0;
    width: calc(4rem + min(3vw, 2rem) * 2);
  }
  #header nav.catalog_menu::before {
    content: "";
    width: 75%;
    height: 0.1rem;
    background-color: #c4c4c4;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@media print, screen and (min-width: 1024px) {
  #header nav.catalog_menu {
    width: calc(min(3vw, 4.5rem) + 4rem);
  }
  #header nav.catalog_menu::before {
    content: none;
  }
}
#header nav.catalog_menu ul li:nth-of-type(1) {
  position: relative;
}
#header nav.catalog_menu ul li:nth-of-type(1)::before {
  content: "";
  width: 75%;
  height: 0.1rem;
  background-color: #c4c4c4;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
#header nav.catalog_menu ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1vw, 1.5rem) 0;
  padding: min(1.5vw, 2.5rem) 0;
}
#header nav.catalog_menu ul li a::after {
  content: "";
  width: 1em;
  aspect-ratio: 1;
  -webkit-mask-image: url(../img/icon_roundarrow.svg);
          mask-image: url(../img/icon_roundarrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #1a1a1a;
}
#header nav.catalog_menu ul li a .catalog {
  width: 60%;
}
#header nav.catalog_menu ul li a span {
  color: #1a1a1a;
  font-size: min(1vw, 1.6rem);
  font-weight: bold;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
#header nav.catalog_menu ul li a:hover::after {
  background-color: #00883f;
}
#header nav.catalog_menu ul li a:hover span {
  color: #00883f;
}
#header .menu_toggle {
  position: relative;
  width: calc(4rem + min(3vw, 2rem) * 2);
  height: 100%;
  padding: 0 min(3vw, 2rem);
}
@media print, screen and (min-width: 1024px) {
  #header .menu_toggle {
    display: none;
  }
}
#header .menu_toggle span {
  display: inline-block;
  width: 4rem;
  height: 0.3rem;
  background-color: #00883f;
  border-radius: 9999px;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#header .menu_toggle span:nth-of-type(1) {
  top: 50%;
}
#header .menu_toggle span:nth-of-type(2) {
  top: calc(50% - 1rem);
}
#header .menu_toggle span:nth-of-type(3) {
  top: calc(50% + 1rem);
}
#header .menu_toggle.active span:nth-of-type(1) {
  opacity: 0;
}
#header .menu_toggle.active span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
#header .menu_toggle.active span:nth-of-type(3) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
#header .overlay {
  position: absolute;
  left: 0;
  width: 100%;
  background-color: #fff;
  -webkit-transform: translateX(100vw);
          transform: translateX(100vw);
  opacity: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  overflow-y: scroll;
}
#header .overlay.active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
#header nav.sp_menu {
  padding: clamp(4rem, 8vw, 8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  #header nav.sp_menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 8rem;
  }
}
#header nav.sp_menu ul.main_link {
  display: contents;
}
@media print, screen and (min-width: 768px) {
  #header nav.sp_menu ul.main_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
#header nav.sp_menu ul.main_link > li > a {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
}
#header nav.sp_menu ul.main_link > li > a.recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
}
#header nav.sp_menu ul.main_link > li > a.recruit::after {
  content: "";
  width: 1em;
  height: 1em;
  -webkit-mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
          mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
  background-color: #1a1a1a;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#header nav.sp_menu ul.main_link > li.order01 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
#header nav.sp_menu ul.main_link > li.order02 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
#header nav.sp_menu ul.main_link > li.order03 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
#header nav.sp_menu ul.main_link > li.order04 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
#header nav.sp_menu ul.main_link > li.order05 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}
#header nav.sp_menu ul.main_link > li.order06 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}
#header nav.sp_menu ul.main_link > li.order07 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}
#header nav.sp_menu ul.main_link > li.order08 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}
#header nav.sp_menu ul.main_link > li.order09 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}
#header nav.sp_menu ul.main_link > li.order10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}
#header nav.sp_menu ul.main_link > li.order11 {
  -webkit-box-ordinal-group: 12;
      -ms-flex-order: 11;
          order: 11;
}
#header nav.sp_menu ul.sub_link li {
  margin-top: 0.5rem;
}
#header nav.sp_menu ul.sub_link li a {
  display: inline-block;
  font-size: 1.8rem;
}
#header nav.sp_menu ul.sub_link li a::before {
  content: "-";
  margin-right: 1rem;
}

#footer section.contact {
  background-color: #333;
}
#footer section.contact * {
  color: #fff;
}
#footer section.contact header.section_title span::before {
  background-color: #fff;
}
#footer section.contact .company_info {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #footer section.contact .company_info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media print, screen and (min-width: 1400px) {
  #footer section.contact .company_info {
    width: 90rem;
    margin: -1.5em 0 0 auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media print, screen and (min-width: 768px) {
  #footer section.contact .company_info .area_left {
    margin-right: min(5.5vw, 8rem);
  }
}
@media print, screen and (min-width: 768px) {
  #footer section.contact .company_info .area_right {
    padding-left: min(5.5vw, 8rem);
    border-left: 0.1rem solid #fff;
  }
}
#footer section.contact .company_info address {
  font-style: normal;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
#footer section.contact .company_info address .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem 0;
}
@media print, screen and (min-width: 480px) {
  #footer section.contact .company_info address .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 2rem;
  }
}
#footer section.contact .company_info address p.name {
  font-size: 2rem;
  font-weight: bold;
  white-space: nowrap;
}
#footer section.contact .company_info address p.access a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
}
#footer section.contact .company_info address p.access a::after {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../img/icon_roundarrow.svg);
          mask-image: url(../img/icon_roundarrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}
#footer section.contact .company_info address p.access a:hover {
  opacity: 0.5;
}
#footer section.contact .company_info address p.place {
  margin-top: 2rem;
}
#footer section.contact .company_info address p.tel_fax {
  margin-top: 1rem;
  font-weight: bold;
}
#footer section.contact .company_info address p.tel_fax a {
  display: inline;
}
#footer section.contact .company_info address p.tel_fax span {
  display: none;
}
@media print, screen and (min-width: 480px) {
  #footer section.contact .company_info address p.tel_fax span {
    display: inline;
  }
}
#footer section.contact .company_info ul.icon_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 5.8rem;
}
#footer section.contact .company_info ul.icon_list li a {
  position: relative;
  width: clamp(6rem, 10vw, 10.3rem);
  aspect-ratio: 1/1;
  background-color: #000;
  border-radius: 50%;
}
#footer section.contact .company_info ul.icon_list li a:hover {
  opacity: 0.5;
}
#footer section.contact .company_info ul.icon_list li a .icon {
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#footer section.contact .company_info ul.icon_list li a .icon.tel {
  width: 30%;
  aspect-ratio: 32/47;
  -webkit-mask-image: url(../img/icon_tel.svg);
          mask-image: url(../img/icon_tel.svg);
}
#footer section.contact .company_info ul.icon_list li a .icon.mail {
  width: 40%;
  aspect-ratio: 41/32;
  -webkit-mask-image: url(../img/icon_mail02.svg);
          mask-image: url(../img/icon_mail02.svg);
}
#footer section.footer_link {
  background-color: #f2f2f2;
}
@media print, screen and (min-width: 1024px) {
  #footer section.footer_link .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 0 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #footer section.footer_link .area_left {
    width: 35vw;
    max-width: 58rem;
  }
}
#footer section.footer_link .area_right {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  #footer section.footer_link .area_right {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 67rem;
  }
}
#footer section.footer_link h2.logo {
  width: clamp(25rem, 40vw, 38rem);
  max-width: 38rem;
  margin: auto;
}
@media print, screen and (min-width: 1024px) {
  #footer section.footer_link h2.logo {
    width: 100%;
    margin: 0;
  }
}
#footer section.footer_link h2.logo a:hover {
  opacity: 0.5;
}
#footer section.footer_link ul.banner_list {
  margin-top: 4rem;
}
#footer section.footer_link ul.banner_list li {
  width: 100%;
  max-width: 58rem;
  margin: auto;
}
#footer section.footer_link ul.banner_list li + li {
  margin-top: 1.6rem;
}
#footer section.footer_link ul.banner_list li a {
  position: relative;
  height: 100%;
}
#footer section.footer_link ul.banner_list li a:hover {
  opacity: 0.5;
}
#footer section.footer_link ul.banner_list li a p {
  color: #fff;
  line-height: 1.4;
  position: absolute;
  top: 50%;
  right: 8.5%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media print, screen and (min-width: 1024px) {
  #footer section.footer_link ul.banner_list li a p {
    font-size: min(1.15vw, 1.6rem);
  }
}
#footer section.footer_link ul.banner_list li a p::after {
  content: "→";
  margin-left: 1em;
}
#footer section.footer_link nav.footer_nav ul.main_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#footer section.footer_link nav.footer_nav ul.main_link > li > a {
  color: #4d4d4d;
  font-size: min(1.2vw, 1.6rem);
  font-weight: bold;
  line-height: 1;
}
#footer section.footer_link nav.footer_nav ul.main_link > li > a.recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
}
#footer section.footer_link nav.footer_nav ul.main_link > li > a.recruit::after {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../img/icon_roundarrow.svg);
          mask-image: url(../img/icon_roundarrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #4d4d4d;
  -webkit-transform: rotate(-45deg) translateY(-0.2rem);
          transform: rotate(-45deg) translateY(-0.2rem);
}
#footer section.footer_link nav.footer_nav ul.main_link > li > a:hover {
  color: #00883f;
}
#footer section.footer_link nav.footer_nav ul.main_link > li > a:hover::after {
  background-color: #00883f;
}
#footer section.footer_link nav.footer_nav ul.main_link.lower {
  margin-top: clamp(4rem, 4vw, 10rem);
}
#footer section.footer_link nav.footer_nav ul.main_link.lower li {
  position: relative;
}
#footer section.footer_link nav.footer_nav ul.main_link.lower li:not(:last-of-type)::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  background-color: #4d4d4d;
  position: absolute;
  top: 0;
  left: calc(100% + min(1.4vw, 2.2rem));
}
#footer section.footer_link nav.footer_nav ul.sub_link {
  margin-top: 1em;
}
#footer section.footer_link nav.footer_nav ul.sub_link li a {
  color: #4d4d4d;
}
#footer section.footer_link nav.footer_nav ul.sub_link li a::before {
  content: "-";
  margin-right: 0.5em;
}
#footer section.footer_link nav.footer_nav ul.sub_link li a:hover {
  color: #00883f;
}
#footer .to_top {
  position: fixed;
  right: min(4vw, 2.5rem);
  bottom: min(4vw, 2.5rem);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(20rem);
          transform: translateY(20rem);
  -webkit-transition: 1s;
  transition: 1s;
}
#footer .to_top.active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
#footer .to_top a {
  position: relative;
  width: 6rem;
  aspect-ratio: 1/1;
  border: 0.1rem solid #00883f;
  background-color: #00883f;
  border-radius: 50%;
}
#footer .to_top a::before {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  border-top: 0.2rem solid #fff;
  border-right: 0.2rem solid #fff;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-animation: float 1.5s infinite linear;
          animation: float 1.5s infinite linear;
  opacity: 0;
}
#footer .to_top a:hover {
  border-radius: 0;
}
#footer .to_top a:hover::before {
  opacity: 1;
  top: 55%;
  -webkit-animation: none;
          animation: none;
}
#footer p.copyright {
  font-size: 1.4rem;
  text-align: center;
  padding: 1.75em 0 8rem;
}
@media print, screen and (min-width: 400px) {
  #footer p.copyright {
    padding-bottom: 1.75em;
  }
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fv-marker {
  60%, 100% {
    clip-path: inset(0);
  }
}
@keyframes fv-marker {
  60%, 100% {
    clip-path: inset(0);
  }
}
@-webkit-keyframes fv-markerBg {
  60% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes fv-markerBg {
  60% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes fv-markerHide {
  0% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes fv-markerHide {
  0% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes fv-fraction {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-110%);
    transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    opacity: 0;
  }
}
@keyframes fv-fraction {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-110%);
    transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    opacity: 0;
  }
}
@-webkit-keyframes float {
  0% {
    opacity: 0;
    top: 80%;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 40%;
  }
}
@keyframes float {
  0% {
    opacity: 0;
    top: 80%;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 40%;
  }
}
#top header nav.sp_menu ul.main_link.left > li:nth-of-type(1) > a {
  color: #00883f;
}
#top section.fv .swiper_container * {
  font-family: "Spartan", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#top section.fv .swiper_container .slide-media {
  width: 100%;
  height: 100vh;
  max-height: 800px;
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .slide-media {
    height: auto;
    aspect-ratio: 1920/800;
  }
}
#top section.fv .swiper_container .slide-media img {
  width: 100%;
  max-width: none;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
  -webkit-transition: 3s;
  transition: 3s;
}
#top section.fv .swiper_container .slide-media img.slide01, #top section.fv .swiper_container .slide-media img.slide04 {
  -o-object-position: 70% bottom;
     object-position: 70% bottom;
}
#top section.fv .swiper_container .swiper-slide {
  overflow: hidden;
}
#top section.fv .swiper_container .swiper-slide[class*=-active] .slide-media.clip img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
#top section.fv .swiper_container .swiper-slide[class*=-prev] .slide-media img {
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
}
#top section.fv .swiper_container .swiper-slide[class*=-next] .slide-media img {
  -webkit-transform: translateX(-80vw);
          transform: translateX(-80vw);
}
#top section.fv .swiper_container .content,
#top section.fv .swiper_container .fraction {
  position: absolute;
  padding: 0 2.5vw;
  z-index: 2;
  max-height: -webkit-max-content;
  max-height: -moz-max-content;
  max-height: max-content;
  margin: auto;
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .content,
  #top section.fv .swiper_container .fraction {
    padding: 0;
  }
}
#top section.fv .swiper_container .content {
  top: 50%;
  -webkit-transform: translate(0, -60%);
          transform: translate(0, -60%);
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .content {
    left: min(12.5vw, 24rem);
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
#top section.fv .swiper_container .content-title {
  color: #000;
  font-size: min(8vw, 4rem);
  font-weight: bold;
  line-height: 1.1;
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .content-title {
    font-size: min(2.1vw, 4rem);
  }
}
#top section.fv .swiper_container .content-text {
  color: #333;
  font-size: min(6vw, 3rem);
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .content-text {
    font-size: min(1.55vw, 3rem);
  }
}
#top section.fv .swiper_container .content-button {
  padding-top: 2.5rem;
  font-size: min(4vw, 2rem);
  font-weight: 600;
  display: inline-block;
  color: #000000;
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .content-button {
    font-size: min(1.1vw, 2rem);
  }
}
#top section.fv .swiper_container .content-button::before {
  display: inline-block;
  width: 6rem;
  height: 1px;
  margin: -2px 1.6rem 0 0;
  content: "";
  vertical-align: middle;
  background-color: currentColor;
}
#top section.fv .swiper_container .fraction {
  top: 50%;
  -webkit-transform: translate(0, -500%);
          transform: translate(0, -500%);
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .fraction {
    left: min(4.2vw, 8rem);
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
#top section.fv .swiper_container .fraction .current {
  font-size: min(6.4vw, 3.2rem);
}
@media print, screen and (min-width: 1024px) {
  #top section.fv .swiper_container .fraction .current {
    font-size: min(1.7vw, 3.2rem);
  }
}
#top section.fv .swiper_container .fraction .current .num.anm-started {
  -webkit-animation: fv-fraction 1s var(--easing);
          animation: fv-fraction 1s var(--easing);
}
#top section.fv .swiper_container .fraction .total {
  display: none;
}
#top section.fv .swiper_container .marker {
  display: inline-block;
  clip-path: inset(0 100% 0 0);
}
#top section.fv .swiper_container .anm-started .marker {
  -webkit-animation: fv-marker 1s 0.5s both;
          animation: fv-marker 1s 0.5s both;
}
#top section.fv .swiper_container .anm-started .marker::after {
  -webkit-animation: fv-markerBg 1s 0.5s both;
          animation: fv-markerBg 1s 0.5s both;
}
#top section.fv .swiper_container .anm-started .content-text .marker,
#top section.fv .swiper_container .anm-started .content-text .marker::after {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
#top section.fv .swiper_container .anm-started .content-link .marker,
#top section.fv .swiper_container .anm-started .content-link .marker::after {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
#top section.fv .swiper_container .anm-finished .marker {
  -webkit-animation: fv-markerHide 0.5s both;
          animation: fv-markerHide 0.5s both;
}
#top section.fv .swiper_container .anm-finished .marker::after {
  clip-path: inset(0 0 0 100%);
}
#top section.strength {
  padding-top: clamp(6rem, 15vw, 21.5rem);
}
#top section.strength .inner {
  position: relative;
}
#top section.strength .inner::before {
  content: "";
  width: 23.5%;
  aspect-ratio: 695/710;
  max-width: 43.5rem;
  background-image: url(../img/top/strength_img.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 8rem;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  #top section.strength .inner::before {
    width: 40%;
  }
}
#top section.strength header.catch_title {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #top section.strength header.catch_title {
    width: 50%;
  }
}
#top section.strength header.catch_title h3 {
  font-size: clamp(1.8rem, 5vw, 2.5rem);
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  #top section.strength header.catch_title h3 {
    font-size: min(1.85vw, 2.5rem);
  }
}
#top section.strength header.catch_title h3 span {
  display: inline-block;
}
#top section.strength header.catch_title h2 {
  display: block;
  margin-top: 2rem;
}
@media print, screen and (min-width: 1024px) {
  #top section.strength header.catch_title h2 {
    margin-top: 5rem;
  }
}
#top section.strength header.catch_title h2 img {
  height: min(25vw, 22rem);
}
@media print, screen and (min-width: 768px) {
  #top section.strength header.catch_title h2 img {
    height: min(16vw, 22rem);
  }
}
#top section.strength p.catch_text {
  margin-top: 3rem;
  font-size: clamp(1.6rem, 4vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  #top section.strength p.catch_text {
    width: 50%;
    max-width: 53rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #top section.strength p.catch_text {
    margin-top: 5rem;
  }
}
@media print, screen and (min-width: 768px) {
  #top section.strength .btn_area {
    width: 50%;
  }
}
@media print, screen and (min-width: 768px) {
  #top section.strength .btn_area .btn {
    width: 100%;
    margin-left: 0;
  }
}
#top section.strength .btn_area .btn a {
  background-color: #1a1a1a;
  border-color: #1a1a1a;
}
#top section.strength .btn_area .btn a::after {
  background-color: #fff;
}
#top section.strength .btn_area .btn a:hover {
  color: #1a1a1a;
  background-color: #fff;
}
#top section.strength .btn_area .btn a:hover::after {
  background-color: #1a1a1a;
}
#top section.strength .swiper_container .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
#top section.product .intro_field {
  position: relative;
}
#top section.product .intro_field::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/top/product_bg01.webp) left bottom/cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -99999;
}
#top section.product .intro_field header.section_title {
  color: #fff;
}
#top section.product .intro_field header.section_title span::before {
  background-color: #fff;
}
#top section.product .intro_field header.section_title h2 {
  color: inherit;
}
#top section.product .intro_field ul.product_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #top section.product .intro_field ul.product_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 min(2vw, 4rem);
  }
}
#top section.product .intro_field ul.product_list li {
  width: 100%;
  max-width: 40rem;
  background-color: #fff;
  border-radius: 2rem;
  padding-top: 2rem;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translateY(5rem);
          transform: translateY(5rem);
  -webkit-transition: all 1s;
  transition: all 1s;
}
@media print, screen and (min-width: 768px) {
  #top section.product .intro_field ul.product_list li {
    width: calc((100% - min(2vw, 4rem) * 2) / 3);
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}
#top section.product .intro_field ul.product_list li.scroll_fadeup {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
#top section.product .intro_field ul.product_list li.scroll_fadeup:nth-of-type(2) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
#top section.product .intro_field ul.product_list li.scroll_fadeup:nth-of-type(3) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
#top section.product .intro_field ul.product_list li figure {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#top section.product .intro_field ul.product_list li figure img {
  display: block;
  width: 90%;
  margin: auto;
}
#top section.product .intro_field ul.product_list li figure figcaption {
  margin-top: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#top section.product .intro_field ul.product_list li figure figcaption h3 a {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
}
#top section.product .intro_field ul.product_list li figure figcaption h3 a span {
  display: block;
  width: 4.2rem;
  aspect-ratio: 1/1;
  background-color: #00883f;
  border: 0.1rem solid #00883f;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
#top section.product .intro_field ul.product_list li figure figcaption h3 a span::before {
  content: "";
  width: 1.6rem;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../img/icon_roundarrow.svg);
          mask-image: url(../img/icon_roundarrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#top section.product .intro_field ul.product_list li figure figcaption h3 a:hover span {
  background-color: #fff;
}
#top section.product .intro_field ul.product_list li figure figcaption h3 a:hover span::before {
  background-color: #00883f;
}
#top section.product .intro_field ul.product_list li figure figcaption p {
  margin-top: 3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #f7f7f7;
  padding: min(4vw, 4.5rem) min(4vw, 2.5rem);
}
#top section.product .intro_field .btn_area .btn a {
  background-color: #000;
  border-color: #000;
}
#top section.product .intro_field .btn_area .btn a::after {
  background-color: #fff;
}
#top section.product .intro_field .btn_area .btn a:hover {
  color: #000;
  background-color: #fff;
}
#top section.product .intro_field .btn_area .btn a:hover::after {
  background-color: #000;
}
#top section.product .bg {
  position: relative;
  padding: clamp(6rem, 15vw, 15rem) 0 clamp(15rem, 25vw, 45rem);
  background: url(../img/top/product_bg02.webp) top/cover no-repeat;
}
@media print, screen and (min-width: 768px) {
  #top section.product .bg {
    padding-top: 5rem;
  }
}
#top section.product .quality_field {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #top section.product .quality_field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5%;
  }
}
#top section.product .quality_field .area_left {
  width: 25%;
  position: absolute;
  top: 0%;
  right: -3vw;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media print, screen and (min-width: 768px) {
  #top section.product .quality_field .area_left {
    position: static;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 81.5rem;
    margin-left: max(50% - 50vw, -36rem);
  }
}
@media print, screen and (min-width: 768px) {
  #top section.product .quality_field .area_right {
    width: 60%;
    max-width: 55rem;
  }
}
@media print, screen and (min-width: 1280px) {
  #top section.product .quality_field .area_right {
    margin-top: -5rem;
  }
}
#top section.product .quality_field .hand_bg {
  width: 100%;
  aspect-ratio: 812/666;
  background: url(../img/top/product_bg02-hand.webp) center/contain no-repeat;
}
#top section.product .quality_field header.catch_title {
  color: #333;
  font-size: clamp(2.2rem, 6vw, 4.5rem);
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  #top section.product .quality_field header.catch_title {
    font-size: min(4vw, 4.5rem);
  }
}
#top section.product .quality_field p {
  margin-top: 4rem;
  font-size: clamp(1.6rem, 4vw, 2rem);
}
#top section.product .quality_field .btn_area .btn a {
  background-color: #1a1a1a;
  border-color: #1a1a1a;
}
#top section.product .quality_field .btn_area .btn a::after {
  background-color: #fff;
}
#top section.product .quality_field .btn_area .btn a:hover {
  color: #1a1a1a;
  background-color: #fff;
}
#top section.product .quality_field .btn_area .btn a:hover::after {
  background-color: #1a1a1a;
}
#top section.product .work_field {
  margin-top: clamp(6rem, 15vw, 25rem);
}
@media print, screen and (min-width: 768px) {
  #top section.product .work_field {
    margin-top: 8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #top section.product .work_field .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 5%;
  }
}
#top section.product .work_field header {
  color: #000;
}
#top section.product .work_field p {
  margin-top: 4rem;
  font-size: clamp(1.6rem, 4vw, 2rem);
}
@media print, screen and (min-width: 1024px) {
  #top section.product .work_field p {
    margin: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 81.5rem;
  }
}
#top section.product .work_field .img_area {
  margin-top: clamp(3rem, 5vw, 10rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#top section.product .work_field .img_area img {
  width: 50%;
}
#top section.product .work_field .btn_area .btn a {
  background-color: #1a1a1a;
  border-color: #1a1a1a;
}
#top section.product .work_field .btn_area .btn a::after {
  background-color: #fff;
}
#top section.product .work_field .btn_area .btn a:hover {
  color: #1a1a1a;
  background-color: #fff;
}
#top section.product .work_field .btn_area .btn a:hover::after {
  background-color: #1a1a1a;
}
#top .double_section {
  position: relative;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  #top .double_section {
    margin-top: max(-21.5rem, -10vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 clamp(4rem, 4vw, 8rem);
  }
  #top .double_section::before {
    content: "";
    width: 108%;
    height: 106%;
    background-color: #fff;
    clip-path: polygon(93% 0, 100% 11%, 100% 100%, 0 100%, 0 11%, 7% 0);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    z-index: -1;
  }
}
#top section.facilities,
#top section.company {
  margin-top: clamp(6rem, 15vw, 15rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem 0;
}
@media print, screen and (min-width: 768px) {
  #top section.facilities,
  #top section.company {
    margin-top: 0;
    width: calc((100% - clamp(4rem, 4vw, 8rem)) / 2);
    gap: clamp(4rem, 4.5vw, 8rem) 0;
    overflow-x: hidden;
  }
}
#top section.facilities .section_img img,
#top section.company .section_img img {
  max-width: 100%;
}
@media print, screen and (min-width: 768px) {
  #top section.facilities header.section_title,
  #top section.company header.section_title {
    margin: 0 0 0 min(5vw, 10rem);
  }
}
@media print, screen and (min-width: 768px) {
  #top section.facilities header.section_title span,
  #top section.company header.section_title span {
    font-size: min(3vw, 4.4rem);
  }
}
@media print, screen and (min-width: 768px) {
  #top section.facilities header.section_title h2,
  #top section.company header.section_title h2 {
    font-size: min(2vw, 2rem);
  }
}
@media print, screen and (min-width: 768px) {
  #top section.facilities .btn_area,
  #top section.company .btn_area {
    width: 100%;
    margin-top: auto;
  }
}
@media print, screen and (min-width: 768px) {
  #top section.facilities .btn_area .btn,
  #top section.company .btn_area .btn {
    width: 100%;
  }
}
#top section.facilities .btn_area .btn a,
#top section.company .btn_area .btn a {
  background-color: #333;
  border: 0.1rem solid #333;
}
#top section.facilities .btn_area .btn a::after,
#top section.company .btn_area .btn a::after {
  background-color: #fff;
}
#top section.facilities .btn_area .btn a:hover,
#top section.company .btn_area .btn a:hover {
  color: #333;
  background-color: #fff;
}
#top section.facilities .btn_area .btn a:hover::after,
#top section.company .btn_area .btn a:hover::after {
  background-color: #333;
}
#top section.news {
  margin-top: clamp(6rem, 7.5vw, 15rem);
  background-color: #f8f8f8;
}
#top section.news ul.news_list {
  width: 100%;
  max-width: 1024px;
  margin: 4rem auto 0;
}
@media print, screen and (min-width: 1400px) {
  #top section.news ul.news_list {
    margin: -1.5em 0 0 auto;
  }
}
#top section.news ul.news_list li {
  border-top: 0.1rem solid #b1b1b1;
}
#top section.news ul.news_list li:last-of-type {
  border-bottom: 0.1rem solid #b1b1b1;
}
#top section.news ul.news_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: min(3vw, 2.5rem);
}
@media print, screen and (min-width: 768px) {
  #top section.news ul.news_list li a {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
#top section.news ul.news_list li a .date {
  font-weight: bold;
}
#top section.news ul.news_list li a .category {
  width: 15rem;
  color: #fff;
  text-align: center;
  background-color: #333;
  margin-left: 1.5rem;
}
#top section.news ul.news_list li a .title {
  margin-top: min(3vw, 2.5rem);
  width: 100%;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  #top section.news ul.news_list li a .title {
    margin: 0 0 0 5rem;
  }
}
#top section.news ul.news_list li a:hover .date {
  color: #00883f;
}
#top section.news ul.news_list li a:hover .category {
  background-color: #00883f;
}
#top section.news ul.news_list li a:hover .title {
  color: #00883f;
}
#top section.news .btn_area .btn a {
  background-color: #333;
  border-color: #333;
}
#top section.news .btn_area .btn a::after {
  background-color: #fff;
}
#top section.news .btn_area .btn a:hover {
  color: #333;
  background-color: #fff;
}
#top section.news .btn_area .btn a:hover::after {
  background-color: #333;
}
@media print, screen and (min-width: 480px) {
  #top section.recruit .banner_recruit a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#top section.recruit .banner_recruit a:hover {
  opacity: 0.5;
}
@media print, screen and (min-width: 480px) {
  #top section.recruit .banner_recruit .text {
    width: 46.5%;
  }
  #top section.recruit .banner_recruit .text img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#top section.recruit .banner_recruit .members {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 480px) {
  #top section.recruit .banner_recruit .members {
    width: 54.5%;
  }
}

#strength header nav.pc_menu ul.main_link > li:nth-of-type(1) > a {
  color: #00883f;
  font-weight: bold;
}
#strength header nav.sp_menu ul.main_link.left > li:nth-of-type(2) > a {
  color: #00883f;
}
#strength footer nav.footer_nav ul.main_link.upper > li:nth-of-type(1) > a {
  color: #00883f;
}
#strength .info_field {
  background: url(../img/strength/info_bg.webp) center/cover no-repeat;
}
#strength .info_field .product_bg {
  width: 75%;
  max-width: 114.5rem;
  aspect-ratio: 1145/750;
  margin: auto;
  background: url(../img/strength/info_bg_hand.webp) center/contain no-repeat;
}
#strength .info_field p {
  margin-top: 4rem;
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  #strength .info_field p {
    text-align: center;
  }
}
#strength section.strength ul.strength_list li p.number {
  position: relative;
  font-weight: bold;
  padding-bottom: 2.5rem;
  border-bottom: 0.1rem solid #000;
}
#strength section.strength ul.strength_list li p.number::before {
  content: "";
  width: 11.5rem;
  height: 2.3rem;
  position: absolute;
  left: 0;
  bottom: 0;
}
#strength section.strength ul.strength_list li p.number span {
  font-size: 2.2rem;
}
#strength section.strength ul.strength_list li .upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #strength section.strength ul.strength_list li .upper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: min(5vw, 5rem);
  }
}
@media print, screen and (min-width: 768px) {
  #strength section.strength ul.strength_list li .lower {
    margin-top: 2rem;
  }
}
@media print, screen and (min-width: 768px) {
  #strength section.strength ul.strength_list li .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#strength section.strength ul.strength_list li .text strong {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  text-align: left;
}
#strength section.strength ul.strength_list li .text strong span {
  display: inline-block;
}
#strength section.strength ul.strength_list li .text p {
  font-size: 1.7rem;
}
@media print, screen and (min-width: 1024px) {
  #strength section.strength ul.strength_list li .text p {
    line-height: 2.15;
  }
}
@media print, screen and (min-width: 768px) {
  #strength section.strength ul.strength_list li .main_image {
    width: 50%;
  }
}
#strength section.strength ul.strength_list li .main_image img {
  max-width: none;
}
#strength section.strength ul.strength_list li .sub_images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
#strength section.strength ul.strength_list li .sub_images .certifications {
  background-color: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1vw, 5rem) 0;
}
@media print, screen and (min-width: 768px) {
  #strength section.strength ul.strength_list li .sub_images .certifications {
    gap: min(3vw, 5rem);
  }
}
#strength section.strength ul.strength_list li .sub_images .certifications figure {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1vw, 1.5rem);
}
#strength section.strength ul.strength_list li .sub_images .certifications figure img {
  width: 55%;
  max-width: 15.5rem;
}
#strength section.strength ul.strength_list li .sub_images .certifications figure figcaption {
  font-size: min(2.25vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
}
#strength section.strength ul.strength_list li:nth-of-type(1) p.number::before {
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #00883f), color-stop(20%, transparent));
  background: linear-gradient(to right, #00883f 20%, transparent 20%);
}
#strength section.strength ul.strength_list li:nth-of-type(2) p.number::before {
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #00883f), color-stop(20%, #33a065), color-stop(40%, transparent));
  background: linear-gradient(to right, #00883f 20%, #33a065 20% 40%, transparent 40%);
}
#strength section.strength ul.strength_list li:nth-of-type(3) p.number::before {
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #00883f), color-stop(20%, #33a065), color-stop(40%, #66b88c), color-stop(60%, transparent));
  background: linear-gradient(to right, #00883f 20%, #33a065 20% 40%, #66b88c 40% 60%, transparent 60%);
}
#strength section.strength ul.strength_list li:nth-of-type(4) p.number::before {
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #00883f), color-stop(20%, #33a065), color-stop(40%, #66b88c), color-stop(60%, #cce7d9), color-stop(80%, transparent));
  background: linear-gradient(to right, #00883f 20%, #33a065 20% 40%, #66b88c 40% 60%, #cce7d9 60% 80%, transparent 80%);
}
#strength section.strength ul.strength_list li:nth-of-type(5) p.number::before {
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #00883f), color-stop(20%, #33a065), color-stop(40%, #66b88c), color-stop(60%, #cce7d9), color-stop(80%, #ccf7e0));
  background: linear-gradient(to right, #00883f 20%, #33a065 20% 40%, #66b88c 40% 60%, #cce7d9 60% 80%, #ccf7e0 80%);
}

#product header nav.pc_menu ul.main_link > li:nth-of-type(2) > a {
  color: #00883f;
  font-weight: bold;
}
#product header nav.pc_menu ul.sub_link li:nth-of-type(4) a, #product header nav.pc_menu ul.sub_link li:nth-of-type(5) a {
  color: #00883f;
}
#product header nav.sp_menu ul.main_link.center > li:nth-of-type(1) > a {
  color: #00883f;
}
#product footer nav.footer_nav ul.main_link.upper > li:nth-of-type(2) > a {
  color: #00883f;
}
#product section.page_top {
  background: url(../img/page_top_bg.webp) center/cover no-repeat;
}
#product section.page_top header.page_title span {
  color: #adffad;
}
#product section.page_top header.page_title span::before {
  background-color: #adffad;
}
#product section.page_top header.page_title h1 {
  color: #adffad;
}
@media print, screen and (min-width: 1024px) {
  #product section.page_top .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(4rem, 4vw, 8rem) 0;
  }
}
#product section.page_top .flex strong.catch {
  color: #fff;
}
#product section.page_top .flex p.intro {
  color: #fff;
}
#product .link_area {
  background-color: #00883f;
}
#product .link_area ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 31rem));
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media print, screen and (min-width: 768px) {
  #product .link_area ul {
    grid-template-columns: repeat(2, minmax(0, 31rem));
  }
}
@media print, screen and (min-width: 1024px) {
  #product .link_area ul {
    grid-template-columns: repeat(4, minmax(0, 31rem));
  }
}
#product .link_area ul li {
  width: 100%;
  max-width: 31rem;
}
#product .link_area ul li a {
  height: 5.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.7rem;
  font-weight: bold;
  background-color: #fff;
  border-radius: 1.6rem;
  padding: 0 3rem;
}
@media print, screen and (min-width: 1024px) {
  #product .link_area ul li a {
    font-size: min(1.4vw, 1.7rem);
    padding: 0 min(1vw, 3rem);
  }
}
#product .link_area ul li a::before, #product .link_area ul li a::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#product .link_area ul li a::before {
  width: 3.5rem;
}
#product .link_area ul li a.quality::before {
  height: 4.2rem;
  background-image: url(../img/product/icon_quality.png);
}
#product .link_area ul li a.work::before {
  height: 3.1rem;
  background-image: url(../img/product/icon_work.png);
}
#product .link_area ul li a.ebook::before {
  height: 2.6rem;
  background-image: url(../img/product/icon_ebook.png);
}
#product .link_area ul li a.download::before {
  height: 2.6rem;
  background-image: url(../img/product/icon_download.png);
}
#product .link_area ul li a::after {
  width: 1em;
  height: 1em;
  -webkit-mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
          mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
  background-color: #1a1a1a;
}
#product .link_area ul li a:hover {
  opacity: 0.5;
}
#product .bg {
  position: relative;
}
#product .bg::before, #product .bg::after {
  content: "";
  position: absolute;
}
#product .bg::before {
  width: 100%;
  height: 100%;
  background: url(../img/product/product_bg.webp) top/cover no-repeat;
  top: 0;
  left: 0;
  z-index: -100;
}
#product .bg::after {
  width: 50%;
  aspect-ratio: 812/666;
  background: url(../img/product/product_bg_hand.webp) center/contain no-repeat;
  top: 1.5%;
  left: -22.5%;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  #product .bg::after {
    top: 4%;
  }
}
#product section.list .product_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem 0;
}
#product section.list .product_list .block {
  background-color: #fff;
  border-radius: clamp(1.5rem, 3vw, 5rem);
  padding: min(5vw, 6rem) 0;
}
@media print, screen and (min-width: 1280px) {
  #product section.list .product_list .block {
    position: relative;
  }
}
#product section.list .product_list .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 1024px) {
  #product section.list .product_list .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 5rem;
  }
}
#product section.list .product_list header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem 0;
}
@media print, screen and (min-width: 1024px) {
  #product section.list .product_list header {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
#product section.list .product_list header h3 {
  color: #ff5722;
  font-size: min(8vw, 3.5rem);
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
#product section.list .product_list p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media print, screen and (min-width: 1024px) {
  #product section.list .product_list p {
    margin: 0;
  }
}
#product section.list .product_list .with_link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.5rem, 3vw, 3rem) 0;
}
#product section.list .product_list .with_link ul.catalog_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem 4rem;
}
@media print, screen and (min-width: 1024px) {
  #product section.list .product_list .with_link ul.catalog_link {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
#product section.list .product_list .with_link ul.catalog_link li {
  width: 250px;
}
#product section.list .product_list .with_link ul.catalog_link li a {
  font-size: 1.7rem;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#product section.list .product_list .with_link ul.catalog_link li a::before, #product section.list .product_list .with_link ul.catalog_link li a::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#product section.list .product_list .with_link ul.catalog_link li a::before {
  width: 3.5rem;
}
#product section.list .product_list .with_link ul.catalog_link li a.ebook::before {
  height: 2.6rem;
  background-image: url(../img/product/icon_ebook.png);
}
#product section.list .product_list .with_link ul.catalog_link li a.download::before {
  height: 2.6rem;
  background-image: url(../img/product/icon_download.png);
}
#product section.list .product_list .with_link ul.catalog_link li a::after {
  width: 1em;
  height: 1em;
  -webkit-mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
          mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
  background-color: #1a1a1a;
}
#product section.list .product_list .with_link ul.catalog_link li a:hover {
  opacity: 0.5;
}
#product section.list .product_list .product_images {
  margin-top: clamp(2rem, 4vw, 8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #product section.list .product_list .product_images {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
#product section.list .product_list .product_images figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 0;
}
@media print, screen and (min-width: 768px) {
  #product section.list .product_list .product_images figure:first-of-type {
    width: 40%;
  }
  #product section.list .product_list .product_images figure:not(:first-of-type) {
    width: 27.5%;
  }
}
#product section.list .product_list .product_images figure img {
  width: 60%;
}
@media print, screen and (min-width: 768px) {
  #product section.list .product_list .product_images figure img {
    width: 100%;
  }
}
#product section.list .product_list .product_images figure img.large01 {
  max-width: 37.5rem;
}
#product section.list .product_list .product_images figure img.large02 {
  max-width: 22.5rem;
}
#product section.list .product_list .product_images figure img.large03 {
  max-width: 20.5rem;
}
#product section.list .product_list .product_images figure img.custom01 {
  max-width: 24rem;
}
#product section.list .product_list .product_images figure img.custom02 {
  max-width: 19.5rem;
}
#product section.list .product_list .product_images figure img.custom03 {
  max-width: 21rem;
}
#product section.list .product_list .product_images figure img.standard01 {
  max-width: 26.5rem;
}
#product section.list .product_list .product_images figure img.standard02 {
  max-width: 22rem;
}
#product section.list .product_list .product_images figure img.standard03 {
  max-width: 20.5rem;
}
#product section.list .product_list .product_images figure figcaption {
  text-align: center;
}
@media print, screen and (min-width: 1024px) {
  #product section.list .product_list .product_images figure figcaption {
    white-space: nowrap;
  }
}
#product section.list .product_list .product_images figure figcaption span.name {
  font-weight: bold;
}
#product section.list .product_list .product_images figure figcaption span.material {
  color: #fff;
  padding: 0.1em 0.5em;
}
#product section.list .product_list .product_images figure figcaption span.material.type01 {
  background-color: #c25938;
}
#product section.list .product_list .product_images figure figcaption span.material.type02 {
  background-color: #38634c;
}
#product section.list .product_list .btn_area {
  margin-top: 4rem;
}
@media print, screen and (min-width: 1280px) {
  #product section.list .product_list .btn_area {
    margin-top: 0;
    position: absolute;
    bottom: min(5vw, 6rem);
    right: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  #product section.list .product_list .btn_area .btn {
    width: 6rem;
    height: min(25vw, 37.5rem);
  }
}
#product section.list .product_list .btn_area .btn a {
  background-color: #333;
  border-color: #333;
}
@media print, screen and (min-width: 1280px) {
  #product section.list .product_list .btn_area .btn a {
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    padding: 3rem 0;
  }
}
#product section.list .product_list .btn_area .btn a::after {
  background-color: #fff;
}
#product section.list .product_list .btn_area .btn a:hover {
  color: #333;
  background-color: #fff;
}
#product section.list .product_list .btn_area .btn a:hover::after {
  background-color: #333;
}
#product section.quality .quality_policy {
  background-color: #f1f1f0;
  padding: clamp(2rem, 4vw, 8rem) clamp(2rem, 5vw, 10rem);
}
@media print, screen and (min-width: 1024px) {
  #product section.quality .quality_policy {
    padding: min(8vw, 8rem) min(10vw, 10rem);
  }
}
#product section.quality .quality_policy dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  border-bottom: 0.1rem solid #1a1a1a;
}
#product section.quality .quality_policy dl dd p {
  font-weight: bold;
}
#product section.quality .quality_policy dl dd ul li {
  padding-left: 1.65em;
  text-indent: -1.65em;
}
#product section.quality .quality_policy dl dd ul li + li {
  margin-top: 1em;
}
#product section.quality .system_info {
  background-color: #f1f1f0;
  padding: clamp(2rem, 4vw, 8rem) clamp(2rem, 5vw, 10rem);
}
@media print, screen and (min-width: 1024px) {
  #product section.quality .system_info {
    padding: min(8vw, 8rem) min(10vw, 10rem);
  }
}
#product section.quality .system_info dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  border-bottom: 0.1rem solid #1a1a1a;
}
#product section.quality .system_info dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 1024px) {
  #product section.quality .system_info dl dd {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 clamp(4rem, 5vw, 10rem);
  }
}
@media print, screen and (min-width: 1024px) {
  #product section.quality .system_info dl dd p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#product section.quality .system_info dl dd .certifications {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 clamp(1.5rem, 3.5vw, 3.5rem);
}
@media print, screen and (min-width: 1024px) {
  #product section.quality .system_info dl dd .certifications {
    width: 36rem;
  }
}
#product section.quality .system_info dl dd .certifications figure {
  width: calc((100% - clamp(2rem, 4vw, 4rem)) / 2);
  max-width: 17.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 0;
}
#product section.quality .system_info dl dd .certifications figure img {
  max-width: 15.5rem;
}
#product section.quality .system_info dl dd .certifications figure figcaption {
  font-size: min(3.25vw, 1.5rem);
  text-align: center;
  white-space: nowrap;
}
#product section.quality .images {
  width: 100%;
  max-width: 80rem;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(2rem, 5vw, 5rem) 2rem;
}
#product section.quality .images figure {
  width: calc((100% - 2rem) / 2);
  max-width: 38.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem 0;
}
#product section.work {
  background-color: #f0f0f1;
}
#product section.work .work_list .accordion_block {
  background-color: #fff;
}
#product section.work .work_list .accordion_block + .accordion_block {
  margin-top: 4rem;
}
#product section.work .work_list .accordion_block p.year {
  position: relative;
  padding: 1.5rem clamp(2rem, 5vw, 10rem);
  font-size: clamp(1.8rem, 6vw, 2.5rem);
  font-weight: bold;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  cursor: pointer;
}
#product section.work .work_list .accordion_block p.year:hover {
  color: #00883f;
}
#product section.work .work_list .accordion_block p.year span {
  position: relative;
  display: block;
  height: 100%;
  aspect-ratio: 43/60;
  background-color: #333;
  border: 0.1rem solid #333;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#product section.work .work_list .accordion_block p.year span::before {
  content: "";
  width: 0.85em;
  aspect-ratio: 1/1;
  -webkit-mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
          mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#product section.work .work_list .accordion_block p.year.open span::before {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
}
#product section.work .work_list .accordion_block .table_area {
  margin-top: 2.5rem;
  padding: 0 clamp(2rem, 5vw, 10rem) clamp(2.5rem, 6vw, 6rem);
  display: none;
}
@media print, screen and (min-width: 768px) {
  #product section.work .work_list .accordion_block .table_area {
    max-height: none;
    overflow: auto;
  }
}
#product section.work .work_list .accordion_block .table_area .caption {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.1rem 0;
}
@media print, screen and (min-width: 768px) {
  #product section.work .work_list .accordion_block .table_area .caption {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 0.5rem;
  }
}
#product section.work .work_list .accordion_block .table_area .caption p {
  color: #fff;
  text-align: center;
  background-color: #999;
  padding: 0.5em 0;
}
@media print, screen and (min-width: 768px) {
  #product section.work .work_list .accordion_block .table_area .caption p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#product section.work .work_list .accordion_block .table_area ul.detail li {
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.1rem 0;
}
@media print, screen and (min-width: 768px) {
  #product section.work .work_list .accordion_block .table_area ul.detail li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 0.5rem;
  }
}
#product section.work .work_list .accordion_block .table_area ul.detail li p {
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0;
  padding: 0.5em 0.5em;
}
@media print, screen and (min-width: 768px) {
  #product section.work .work_list .accordion_block .table_area ul.detail li p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#product section.work .work_list .accordion_block .table_area ul.detail li:nth-of-type(odd) p {
  background-color: #eeeff0;
}
#product section.work .work_list .accordion_block .table_area ul.detail li:nth-of-type(even) p {
  background-color: #e7e7e7;
}
@media print, screen and (min-width: 768px) {
  #product section.work .work_list .accordion_block .table_area ul.detail li:nth-of-type(even) p {
    background-color: #eeeff0;
  }
}

#product.detail section.detail_page_top {
  padding-top: clamp(4rem, 8vw, 8rem);
}
#product.detail section.detail_page_top header.page_title span {
  position: relative;
  color: #ff5722;
  font-size: min(4vw, 2rem);
  font-weight: bold;
  padding-left: min(9.5vw, 9.5rem);
}
#product.detail section.detail_page_top header.page_title span::before {
  content: "";
  width: min(8vw, 8rem);
  height: 0.1rem;
  background-color: #ff5722;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
#product.detail section.detail_page_top header.page_title h2 {
  font-size: min(9vw, 4.5rem);
  padding-left: min(9.5vw, 9.5rem);
}
#product.detail section.detail_page_top .catch_area {
  position: relative;
  margin-top: clamp(2rem, 4vw, 8rem);
  padding: clamp(4rem, 6vw, 12.5rem) 0;
}
@media print, screen and (min-width: 1280px) {
  #product.detail section.detail_page_top .catch_area {
    height: 58rem;
  }
}
#product.detail section.detail_page_top .catch_area strong {
  color: #fff;
  font-size: min(7vw, 3.5rem);
  font-weight: 500;
}
#product.detail section.detail_page_top .catch_area p {
  max-width: 55rem;
  color: #fff;
  font-size: min(4vw, 2rem);
}
#product.detail section.detail_page_top .catch_area .catch_bg {
  width: 120%;
  max-width: 1600px;
  height: 100%;
  background: center/cover no-repeat;
  border-radius: min(4vw, 5rem);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -10;
  overflow: hidden;
}
#product.detail section.detail_page_top .catch_area .catch_bg .product_img {
  background: center/contain no-repeat;
  position: absolute;
  z-index: -1;
}
#product.detail section.example header.example_title h2 {
  font-size: clamp(2.3rem, 4.5vw, 4.5rem);
  font-weight: bold;
}
#product.detail section.example header.example_title span {
  color: #ff5722;
  font-weight: bold;
}
@media print, screen and (min-width: 1280px) {
  #product.detail section.example p.example_intro {
    padding-left: min(5.5vw, 8%);
  }
}
#product.detail section.example ul.example_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(2rem, 3vw, 6rem) 1.5rem;
}
#product.detail section.example ul.example_list li {
  width: 100%;
}
@media print, screen and (min-width: 480px) {
  #product.detail section.example ul.example_list li {
    width: calc((100% - 1.5rem) / 2);
  }
}
#product.detail section.example ul.example_list li figure img {
  width: 100%;
  max-width: none;
}
#product.detail section.example ul.example_list li figure figcaption {
  margin-top: 2rem;
}
#product.detail section.example ul.example_list li figure figcaption dl dt {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
  border-left: 0.1rem solid #ff5722;
  padding-left: clamp(1.5rem, 3vw, 3rem);
}
@media print, screen and (min-width: 1024px) {
  #product.detail section.example ul.example_list li figure figcaption dl dt {
    font-size: min(2vw, 4rem);
  }
}
#product.detail section.example ul.example_list li figure figcaption dl dt span {
  display: block;
  color: #c25938;
  font-size: 1.6rem;
}
@media print, screen and (min-width: 1024px) {
  #product.detail section.example ul.example_list li figure figcaption dl dt span {
    font-size: min(1.2vw, 1.6rem);
  }
}
#product.detail section.example ul.example_list li figure figcaption dl dd {
  margin-top: 1rem;
  font-size: 1.5rem;
}

#product.Large header nav.sp_menu ul.main_link.center li:nth-of-type(1) ul.sub_link li:nth-of-type(1) a {
  color: #00883f;
}
#product.Large header nav.pc_menu ul.sub_link li:nth-of-type(1) a {
  color: #00883f;
}
#product.Large header nav.pc_menu ul.sub_link li:nth-of-type(4) a, #product.Large header nav.pc_menu ul.sub_link li:nth-of-type(5) a {
  color: initial;
}
#product.Large nav.footer_nav ul.main_link.upper > li:nth-of-type(2) ul.sub_link li:nth-of-type(1) a {
  color: #00883f;
}
#product.Large section.detail_page_top .catch_area .catch_bg {
  background-image: url(../img/product/large/page_top_bg.webp);
}
#product.Large section.detail_page_top .catch_area .catch_bg .product_img {
  background-image: url(../img/product/product_large04.webp);
  width: 60%;
  max-width: 72rem;
  aspect-ratio: 1065/666;
  bottom: 3%;
  right: -15%;
}
@media print, screen and (min-width: 768px) {
  #product.Large section.detail_page_top .catch_area .catch_bg .product_img {
    width: 45%;
    bottom: 3%;
  }
}
#product.Large section.example .facilities_intro {
  background-color: #1a1a1a;
  border-radius: clamp(1.5rem, 1.5vw, 3rem);
  padding: clamp(3rem, 3vw, 6rem) 1.5rem;
}
#product.Large section.example .facilities_intro dl dt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 0;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #product.Large section.example .facilities_intro dl dt {
    position: relative;
  }
}
#product.Large section.example .facilities_intro dl dt::before {
  content: "";
  display: block;
  margin: auto;
  font-size: inherit;
  height: clamp(2em, 6vw, 3em);
  aspect-ratio: 1/1;
  background: url(../img/icon_facility.svg) center/contain;
}
@media print, screen and (min-width: 768px) {
  #product.Large section.example .facilities_intro dl dt::before {
    position: absolute;
    top: 50%;
    right: calc(100% + min(2vw, 2rem));
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
#product.Large section.example .facilities_intro dl dd {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(2rem, 2.5vw, 5rem) auto 0;
  color: #fff;
  text-align: left;
}
#product.Large section.example .facilities_intro .btn_area .btn a {
  border-color: #333;
  background-color: #333;
}
#product.Large section.example .facilities_intro .btn_area .btn a::after {
  background-color: #fff;
}
#product.Large section.example .facilities_intro .btn_area .btn a:hover {
  color: #333;
  background-color: #fff;
}
#product.Large section.example .facilities_intro .btn_area .btn a:hover::after {
  background-color: #333;
}

#product.Custom header nav.sp_menu ul.main_link.center li:nth-of-type(1) ul.sub_link li:nth-of-type(2) a {
  color: #00883f;
}
#product.Custom header nav.pc_menu ul.sub_link li:nth-of-type(2) a {
  color: #00883f;
}
#product.Custom header nav.pc_menu ul.sub_link li:nth-of-type(4) a, #product.Custom header nav.pc_menu ul.sub_link li:nth-of-type(5) a {
  color: initial;
}
#product.Custom nav.footer_nav ul.main_link.upper > li:nth-of-type(2) ul.sub_link li:nth-of-type(2) a {
  color: #00883f;
}
#product.Custom section.detail_page_top .catch_area .catch_bg {
  background-image: url(../img/product/custom/page_top_bg.webp);
}
#product.Custom section.detail_page_top .catch_area .catch_bg .product_img {
  background-image: url(../img/product/product_custom04.webp);
  width: 35%;
  max-width: 20rem;
  aspect-ratio: 238/280;
  bottom: 3%;
  right: 5%;
}
@media print, screen and (min-width: 768px) {
  #product.Custom section.detail_page_top .catch_area .catch_bg .product_img {
    width: 27.5%;
    max-width: 25rem;
    bottom: 50%;
    right: 12%;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
  }
}
@media print, screen and (min-width: 1280px) {
  #product.Custom section.detail_page_top .catch_area .catch_bg .product_img {
    width: 35%;
    max-width: 42rem;
  }
}
#product.Custom section.flow {
  padding: min(6rem, 7.5vw) 0;
}
@media print, screen and (min-width: 1024px) {
  #product.Custom section.flow {
    padding: min(15vw, 30rem) 0 min(11vw, 22rem);
  }
}
#product.Custom section.flow .flex {
  margin-top: clamp(4rem, 7.5vw, 15rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #product.Custom section.flow .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 5%;
  }
}
#product.Custom section.flow .flex ol.flow_list {
  width: 100%;
  max-width: 46.5rem;
}
#product.Custom section.flow .flex ol.flow_list li {
  padding: clamp(1.5rem, 3vw, 3rem) 0 1rem;
}
#product.Custom section.flow .flex ol.flow_list li:first-of-type {
  padding-top: 0;
}
#product.Custom section.flow .flex ol.flow_list li:last-of-type {
  padding-bottom: 0;
}
#product.Custom section.flow .flex ol.flow_list li dl dt {
  position: relative;
  padding-left: 6rem;
  color: #00883f;
  font-weight: bold;
}
#product.Custom section.flow .flex ol.flow_list li dl dt::before {
  content: "";
  width: 3.2rem;
  background: center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
#product.Custom section.flow .flex ol.flow_list li dl dt.flow01::before {
  height: 2.4rem;
  background-image: url(../img/icon_mail01.svg);
}
#product.Custom section.flow .flex ol.flow_list li dl dt.flow02::before {
  height: 3.2rem;
  background-image: url(../img/icon_scale.svg);
}
#product.Custom section.flow .flex ol.flow_list li dl dt.flow03::before {
  height: 2.1rem;
  background-image: url(../img/icon_memo.svg);
}
#product.Custom section.flow .flex ol.flow_list li dl dt.flow04::before {
  height: 2.7rem;
  background-image: url(../img/icon_tool.svg);
}
#product.Custom section.flow .flex ol.flow_list li dl dt.flow05::before {
  height: 2rem;
  background-image: url(../img/icon_glass.svg);
}
#product.Custom section.flow .flex ol.flow_list li dl dt.flow06::before {
  height: 2.4rem;
  background-image: url(../img/icon_truck.svg);
}
#product.Custom section.flow .flex ol.flow_list li dl dd {
  margin-top: 2rem;
  padding-left: 6rem;
}
#product.Custom section.flow .flex ol.flow_list li dl dd a {
  display: inline;
  color: #0071bc;
  text-decoration: underline;
}
#product.Custom section.flow .flex ol.flow_list li dl dd a:hover {
  color: #fff;
  background-color: #0071bc;
}
#product.Custom section.flow .flex ol.flow_list li:not(:last-of-type) {
  border-bottom: 0.1rem solid #1a1a1a;
}
#product.Custom section.flow .flex ol.flow_list li:not(:last-of-type) dl dd::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.8rem;
  background: url(../img/arrow.svg) center/contain;
  margin: 1.5rem 0 0 1em;
}
#product.Custom section.flow .flex .flow_image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem 0;
}
#product.Custom section.flow .flex .flow_image img {
  border-radius: 1.5rem;
}

#product.Standard header nav.sp_menu ul.main_link.center li:nth-of-type(1) ul.sub_link li:nth-of-type(3) a {
  color: #00883f;
}
#product.Standard header nav.pc_menu ul.sub_link li:nth-of-type(3) a {
  color: #00883f;
}
#product.Standard header nav.pc_menu ul.sub_link li:nth-of-type(4) a, #product.Standard header nav.pc_menu ul.sub_link li:nth-of-type(5) a {
  color: initial;
}
#product.Standard nav.footer_nav ul.main_link.upper > li:nth-of-type(2) ul.sub_link li:nth-of-type(3) a {
  color: #00883f;
}
#product.Standard section.detail_page_top .catch_area .catch_bg {
  background-image: url(../img/product/standard/page_top_bg.webp);
}
#product.Standard section.detail_page_top .catch_area .catch_bg .product_img {
  background-image: url(../img/product/product_standard01.webp);
  width: 25%;
  max-width: 25rem;
  aspect-ratio: 272/277;
  bottom: 3%;
  right: 5%;
}
@media print, screen and (min-width: 1024px) {
  #product.Standard section.detail_page_top .catch_area .catch_bg .product_img {
    width: 25%;
    max-width: 37.5rem;
    bottom: 50%;
    right: 8%;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
  }
}
@media print, screen and (min-width: 1024px) {
  #product.Standard section.example ul.example_list li {
    width: calc((100% - 4.5rem) / 4);
  }
}
@media print, screen and (min-width: 1024px) {
  #product.Standard section.example ul.example_list li figure figcaption dl dt {
    font-size: min(1.5vw, 2rem);
  }
}
#product.Standard section.example ul.example_list li figure figcaption dl dd {
  padding-left: clamp(1.5rem, 3vw, 3rem);
}
#product.Standard section.example ul.example_list li figure figcaption dl dd p {
  font-size: 1.5rem;
}
#product.Standard section.example ul.example_list li figure figcaption dl dd span.material {
  margin-top: 0.5rem;
  display: inline-block;
  color: #fff;
  padding: 0.1em 0.5em;
}
#product.Standard section.example ul.example_list li figure figcaption dl dd span.material.type01 {
  background-color: #c25938;
}
#product.Standard section.example ul.example_list li figure figcaption dl dd span.material.type02 {
  background-color: #38634c;
}
#product.Standard section.materials {
  background-color: #f2f2f2;
}
#product.Standard section.materials dl.materials_list {
  background-color: #fff;
  padding: clamp(2rem, 3vw, 6rem);
  border-radius: min(4vw, 5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  #product.Standard section.materials dl.materials_list {
    gap: 0.5rem 1rem;
  }
}
#product.Standard section.materials dl.materials_list dt {
  width: 100%;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 clamp(4rem, 3vw, 6rem);
  background-color: #e6e6e6;
  padding: 1rem 2.5rem 1rem 1rem;
}
@media print, screen and (min-width: 768px) {
  #product.Standard section.materials dl.materials_list dt {
    width: 27rem;
  }
}
#product.Standard section.materials dl.materials_list dt:not(:first-of-type) {
  margin-top: 1rem;
}
@media print, screen and (min-width: 768px) {
  #product.Standard section.materials dl.materials_list dt:not(:first-of-type) {
    margin-top: 0;
  }
}
#product.Standard section.materials dl.materials_list dt .image {
  width: min(12vw, 6.2rem);
}
#product.Standard section.materials dl.materials_list dd {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  #product.Standard section.materials dl.materials_list dd {
    width: calc(100% - 28rem);
    -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem 0;
  }
}
#product.Standard section.materials dl.materials_list dd p {
  width: 100%;
  margin-top: 0.5rem;
  background-color: #f2f2f2;
  padding: 1rem;
}
@media print, screen and (min-width: 768px) {
  #product.Standard section.materials dl.materials_list dd p {
    margin-top: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: grid;
    place-items: center left;
  }
}
@media print, screen and (min-width: 1024px) {
  #product.Standard section.materials dl.materials_list dd p {
    padding: 2rem 1rem;
  }
}
#product.Standard section.manufacturer {
  background-color: #f2f2f2;
}
#product.Standard section.manufacturer ul.manufacturer_list {
  background-color: #fff;
  padding: clamp(2rem, 3vw, 6rem);
  border-radius: min(4vw, 5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem 0;
}
#product.Standard section.manufacturer ul.manufacturer_list li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#product.Standard section.manufacturer ul.manufacturer_list li:not(:last-of-type)::after {
  content: "／";
  margin: 0 1em;
}

#product.Download header nav.pc_menu ul li:nth-of-type(2) a {
  color: initial;
  font-weight: 500;
}
#product.Download header nav.sp_menu ul.main_link.center > li:nth-of-type(1) > a {
  color: initial;
}
#product.Download header nav.sp_menu ul.main_link.center > li:nth-of-type(3) > a {
  color: #00883f;
}
#product.Download nav.breadcrumb {
  height: auto;
  padding: min(8vw, 8rem) 0;
}
#product.Download .download_field {
  background-color: #f2f2f2;
}
#product.Download .download_field p.info {
  width: 100%;
  max-width: 1100px;
  margin: auto;
}
#product.Download .download_field .list dl {
  background-color: #fff;
  border: 0.1rem solid #4d4d4d;
}
@media print, screen and (min-width: 1024px) {
  #product.Download .download_field .list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#product.Download .download_field .list dl + dl {
  margin-top: 2rem;
}
@media print, screen and (min-width: 1024px) {
  #product.Download .download_field .list dl + dl {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  #product.Download .download_field .list dl:not(:last-of-type) {
    border-bottom: none;
  }
}
#product.Download .download_field .list dl dt {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  padding: 0.3em 0;
  border-bottom: 0.1rem solid #4d4d4d;
}
@media print, screen and (min-width: 1024px) {
  #product.Download .download_field .list dl dt {
    border-bottom: none;
    border-right: 0.1rem solid #4d4d4d;
    width: 16rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1rem;
  }
  #product.Download .download_field .list dl dt.size {
    font-size: 1.6rem;
  }
}
#product.Download .download_field .list dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media print, screen and (min-width: 1024px) {
  #product.Download .download_field .list dl dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#product.Download .download_field .list dl dd .info01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0.1rem solid #4d4d4d;
  padding: min(3vw, 1.5rem) min(3vw, 3rem);
}
@media print, screen and (min-width: 768px) {
  #product.Download .download_field .list dl dd .info01 {
    width: min(55%, 45rem);
    border-bottom: none;
    border-right: 0.1rem solid #4d4d4d;
  }
}
@media print, screen and (min-width: 768px) {
  #product.Download .download_field .list dl dd .info01.size {
    width: calc(100% - 10rem);
  }
}
#product.Download .download_field .list dl dd .info01 .image {
  width: 100%;
  max-width: 38.5rem;
  margin: auto;
}
#product.Download .download_field .list dl dd .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100% - 8rem);
  border-right: 0.1rem solid #4d4d4d;
}
@media print, screen and (min-width: 480px) {
  #product.Download .download_field .list dl dd .contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media print, screen and (min-width: 768px) {
  #product.Download .download_field .list dl dd .contents {
    width: calc(100% - min(55%, 45rem) - 10rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media print, screen and (min-width: 1280px) {
  #product.Download .download_field .list dl dd .contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#product.Download .download_field .list dl dd .info02 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-bottom: 0.1rem solid #4d4d4d;
  padding: min(3vw, 1.5rem) min(4vw, 2rem);
}
@media print, screen and (min-width: 480px) {
  #product.Download .download_field .list dl dd .info02 {
    width: 45%;
    border-bottom: none;
    border-right: 0.1rem solid #4d4d4d;
  }
}
@media print, screen and (min-width: 768px) {
  #product.Download .download_field .list dl dd .info02 {
    width: 100%;
    border-bottom: 0.1rem solid #4d4d4d;
    border-right: none;
  }
}
@media print, screen and (min-width: 1280px) {
  #product.Download .download_field .list dl dd .info02 {
    border-bottom: none;
    border-right: 0.1rem solid #4d4d4d;
    width: 45%;
  }
}
#product.Download .download_field .list dl dd .info02.over_pc {
  display: none;
}
@media print, screen and (min-width: 1280px) {
  #product.Download .download_field .list dl dd .info02.over_pc {
    display: block;
  }
}
#product.Download .download_field .list dl dd .info02 p {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#product.Download .download_field .list dl dd .info03 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(1.5vw, 1.5rem);
  padding: min(3vw, 1.5rem) min(2vw, 2rem);
}
@media print, screen and (min-width: 480px) {
  #product.Download .download_field .list dl dd .info03 {
    width: 55%;
  }
}
@media print, screen and (min-width: 768px) {
  #product.Download .download_field .list dl dd .info03 {
    width: 100%;
  }
}
@media print, screen and (min-width: 1280px) {
  #product.Download .download_field .list dl dd .info03 {
    width: 55%;
  }
}
#product.Download .download_field .list dl dd .info03 p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  padding: 0 0.3em;
}
#product.Download .download_field .list dl dd .info03 p.color01 {
  background-color: #1a1a1a;
}
#product.Download .download_field .list dl dd .info03 p.color02 {
  background-color: #c25938;
}
#product.Download .download_field .list dl dd .info03 p.color03 {
  background-color: #38634c;
}
#product.Download .download_field .list dl dd .info03 .flex {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
@media print, screen and (min-width: 1280px) {
  #product.Download .download_field .list dl dd .info03 .flex {
    height: auto;
  }
}
#product.Download .download_field .list dl dd .link {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 8rem;
}
#product.Download .download_field .list dl dd .link a {
  height: 100%;
  display: grid;
  place-items: center;
}
#product.Download .download_field .list dl dd .link a:hover {
  opacity: 0.5;
}
#product.Download .download_field .list dl dd .link .icon {
  width: 3rem;
  aspect-ratio: 30/26;
  background: url(../img/product/icon_download.png) center/contain no-repeat;
}

#facilities header nav.pc_menu ul.main_link > li:nth-of-type(3) > a {
  color: #00883f;
  font-weight: bold;
}
#facilities header nav.sp_menu ul.main_link.left > li:nth-of-type(3) > a {
  color: #00883f;
}
#facilities footer nav.footer_nav ul.main_link.upper > li:nth-of-type(3) > a {
  color: #00883f;
}
#facilities .info_field {
  padding: clamp(6rem, 12.5vw, 25rem) 0 clamp(6rem, 14vw, 28rem);
  background: url(../img/facilities/info_bg.webp) center/cover no-repeat;
}
@media print, screen and (min-width: 1280px) {
  #facilities .info_field .inner {
    padding-right: min(5vw, 10rem);
  }
}
#facilities .info_field p {
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  #facilities .info_field p {
    width: 43.5rem;
    margin-left: auto;
  }
}
#facilities section.facilities ul.facility_list li h2 {
  color: #333;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: bold;
  border-bottom: 0.1rem solid #000;
  padding-bottom: min(2vw, 2rem);
}
@media print, screen and (min-width: 1024px) {
  #facilities section.facilities ul.facility_list li h2 {
    padding: 0 min(5vw, 10rem) min(1vw, 2rem) min(5vw, 10rem);
  }
}
#facilities section.facilities ul.facility_list li .facility_desc {
  margin-top: min(2vw, 2rem);
}
@media print, screen and (min-width: 1024px) {
  #facilities section.facilities ul.facility_list li .facility_desc {
    padding: 0 min(5vw, 10rem);
  }
}
#facilities section.facilities ul.facility_list li .facility_desc + .facility_desc {
  margin-top: clamp(4rem, 5vw, 10rem);
}
#facilities section.facilities ul.facility_list li .facility_desc .upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #facilities section.facilities ul.facility_list li .facility_desc .upper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: min(5vw, 5rem);
  }
}
@media print, screen and (min-width: 768px) {
  #facilities section.facilities ul.facility_list li .facility_desc .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: min(3.5vw, 6rem);
  }
}
#facilities section.facilities ul.facility_list li .facility_desc .text strong {
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  font-weight: bold;
}
#facilities section.facilities ul.facility_list li .facility_desc .text strong span {
  display: inline-block;
}
#facilities section.facilities ul.facility_list li .facility_desc .text strong span.size {
  font-size: 1.6rem;
}
#facilities section.facilities ul.facility_list li .facility_desc .text strong span.size::before, #facilities section.facilities ul.facility_list li .facility_desc .text strong span.size::after {
  content: "ー";
}
#facilities section.facilities ul.facility_list li .facility_desc .text strong span.size::before {
  margin-right: 0.5em;
}
#facilities section.facilities ul.facility_list li .facility_desc .text strong span.size::after {
  margin-left: 0.5em;
}
@media print, screen and (min-width: 768px) {
  #facilities section.facilities ul.facility_list li .facility_desc .main_image {
    width: 50%;
  }
}
#facilities section.facilities ul.facility_list li .facility_desc .main_image img {
  max-width: none;
}
#facilities section.facilities ul.facility_list li .facility_desc .main_image p.caption {
  text-align: right;
}
#facilities section.facilities ul.facility_list li .facility_desc .sub_images {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#facilities section.facilities ul.facility_list li .facility_desc .sub_images img:nth-of-type(1) {
  width: 72.5%;
  aspect-ratio: 87/48;
}
#facilities section.facilities ul.facility_list li .facility_desc .sub_images img:nth-of-type(2) {
  width: 26.5%;
  aspect-ratio: 32/48;
}
#facilities section.example {
  background-color: #f2f2f2;
}
#facilities section.example dl dt {
  font-size: clamp(1.8rem, 5vw, 2.5rem);
  font-weight: bold;
  padding-bottom: min(3vw, 3rem);
  border-bottom: 0.1rem solid #000;
}
#facilities section.example dl dt:not(:first-of-type) {
  margin-top: clamp(4rem, 4vw, 8rem);
}
#facilities section.example dl dd {
  margin-top: clamp(3rem, 3vw, 6rem);
}
#facilities section.example dl dd .product_images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media print, screen and (min-width: 768px) {
  #facilities section.example dl dd .product_images {
    grid-template-columns: repeat(4, 1fr);
  }
}
#facilities section.factory ul.factory_list {
  margin-top: 4rem;
}
#facilities section.factory ul.factory_list li + li {
  margin-top: 0.5rem;
}
#facilities section.factory ul.factory_list li dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
#facilities section.factory ul.factory_list li dl dt {
  width: 100%;
  font-weight: bold;
  text-align: center;
  background-color: #dddddd;
  padding: 0.8em;
}
@media print, screen and (min-width: 1024px) {
  #facilities section.factory ul.factory_list li dl dt {
    width: 21.5rem;
    text-align: left;
    background-color: #f2f2f2;
  }
}
#facilities section.factory ul.factory_list li dl dd {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  #facilities section.factory ul.factory_list li dl dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#facilities section.factory ul.factory_list li dl dd div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
}
#facilities section.factory ul.factory_list li dl dd div + div {
  margin-top: 0.5rem;
}
#facilities section.factory ul.factory_list li dl dd div p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #f2f2f2;
  padding: 0.8em;
}
#facilities section.factory ul.factory_list li dl dd div span {
  align-self: stretch;
  display: grid;
  place-items: center right;
  width: 8.5rem;
  background-color: #f2f2f2;
  padding: 0.8em;
}

#company header nav.pc_menu ul.main_link > li:nth-of-type(4) > a {
  color: #00883f;
  font-weight: bold;
}
#company header nav.sp_menu ul.main_link.left > li:nth-of-type(4) > a {
  color: #00883f;
}
#company footer nav.footer_nav ul.main_link.upper > li:nth-of-type(4) > a {
  color: #00883f;
}
#company section.greeting {
  background: url(../img/company/greeting_bg.webp) 10%/cover no-repeat;
  overflow-y: hidden;
}
@media print, screen and (min-width: 1024px) {
  #company section.greeting {
    padding-bottom: clamp(6rem, 8vw, 15rem);
  }
}
#company section.greeting * {
  color: #fff;
}
#company section.greeting .inner {
  width: 85%;
}
@media print, screen and (min-width: 1024px) {
  #company section.greeting .inner {
    position: relative;
  }
}
@media print, screen and (min-width: 1280px) {
  #company section.greeting .inner {
    width: 885px;
    margin: auto;
    right: initial;
  }
}
#company section.greeting div.message {
  font-size: 1.7rem;
  position: relative;
  z-index: 99;
}
@media print, screen and (min-width: 1024px) {
  #company section.greeting div.message {
    line-height: 2.2;
  }
}
#company section.greeting div.message strong {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min(4.85vw, 2.5rem);
  font-weight: 500;
}
#company section.greeting div.message p.message_txt {
  margin-top: clamp(3rem, 3vw, 6rem);
}
@media print, screen and (min-width: 1024px) {
  #company section.greeting div.message p.message_txt {
    width: 80%;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 1280px) {
  #company section.greeting div.message p.message_txt {
    width: 100%;
  }
}
#company section.greeting div.message p.message_txt span {
  display: block;
  text-align: right;
}
#company section.greeting div.message p.ceo_name {
  margin: 2em 0 0 auto;
  width: 15rem;
}
#company section.greeting div.message .ceo_img {
  width: 80%;
  max-width: 45rem;
  margin: 4rem auto 0;
}
@media print, screen and (min-width: 1024px) {
  #company section.greeting div.message .ceo_img {
    position: absolute;
    right: 80%;
    bottom: calc(0% - clamp(6rem, 8vw, 15rem));
    z-index: -1;
    width: 35%;
  }
}
@media print, screen and (min-width: 1280px) {
  #company section.greeting div.message .ceo_img {
    right: 95%;
    bottom: calc(0% - clamp(10rem, 13.5vw, 27rem));
    width: 32vw;
    max-width: 50rem;
  }
}
@media print, screen and (min-width: 1400px) {
  #company section.greeting div.message .ceo_img {
    right: 100%;
  }
}
#company section.greeting div.message .ceo_img img {
  max-width: none;
}
#company nav.anchor_link {
  max-width: 1100px;
}
@media print, screen and (min-width: 1280px) {
  #company nav.anchor_link {
    width: 95%;
    margin: auto;
    right: initial;
  }
}
#company nav.anchor_link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem 0;
}
@media print, screen and (min-width: 768px) {
  #company nav.anchor_link ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.5rem 4rem;
  }
}
@media print, screen and (min-width: 1280px) {
  #company nav.anchor_link ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#company nav.anchor_link ul li {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  #company nav.anchor_link ul li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
#company nav.anchor_link ul li:first-of-type {
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  #company nav.anchor_link ul li:first-of-type {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
#company nav.anchor_link ul li a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1em;
  color: #333;
  font-size: min(4vw, 1.6rem);
  font-weight: bold;
  text-decoration: underline;
}
#company nav.anchor_link ul li a::after {
  content: "";
  width: 1em;
  height: 1em;
  -webkit-mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
          mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
  background-color: #333;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#company nav.anchor_link ul li a:hover {
  opacity: 0.5;
}
#company section.principles {
  background-color: #f8f8f8;
}
#company section.principles .block:not(:last-of-type) {
  border-bottom: 0.1rem solid #e6e6e6;
}
#company section.principles .block .inner {
  max-width: 1100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(8vw, 4rem) 0;
}
@media print, screen and (min-width: 1024px) {
  #company section.principles .block .inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media print, screen and (min-width: 1280px) {
  #company section.principles .block .inner {
    width: 95%;
    margin: auto;
    right: initial;
  }
}
@media print, screen and (min-width: 1024px) {
  #company section.principles .block .area_title {
    width: min(28vw, 48.5rem);
  }
}
@media print, screen and (min-width: 1024px) {
  #company section.principles .block .area_title header.page_section_title {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
#company section.principles .block .area_desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media print, screen and (min-width: 1024px) {
  #company section.principles .block .area_desc {
    margin: 0;
  }
}
#company section.principles .block.philosophy p {
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
}
@media print, screen and (min-width: 1024px) {
  #company section.principles .block.philosophy p {
    line-height: 2.2;
  }
}
#company section.principles .block.policy dl dt {
  font-size: clamp(1.8rem, 2vw, 2rem);
  font-weight: bold;
}
#company section.principles .block.policy dl dt:not(:first-of-type) {
  margin-top: min(5vw, 5rem);
}
#company section.principles .block.policy dl dd {
  margin-top: min(2.5vw, 2.5rem);
}
#company section.principles .block.succession ul li {
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  padding-left: 1.8em;
  text-indent: -1.8em;
}
#company section.principles .block.succession ul li + li {
  margin-top: min(2vw, 2rem);
}
#company section.principles .block.succession small {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: min(2.5vw, 5rem) 0 0 auto;
  font-size: 1.5rem;
}
#company section.principles .block.quality strong {
  display: block;
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  font-weight: 500;
}
#company section.principles .block.quality ul {
  margin-top: min(4vw, 4rem);
}
#company section.principles .block.quality ul li {
  font-size: clamp(1.6rem, 3.6vw, 1.8rem);
  padding-left: 1.6em;
  text-indent: -1.6em;
}
#company section.principles .block.quality ul li + li {
  margin-top: min(2vw, 2rem);
}
#company section.principles .images {
  display: grid;
  grid-template-columns: repeat(3, 2fr);
}
@media print, screen and (min-width: 768px) {
  #company section.principles .images {
    grid-template-columns: repeat(6, 1fr);
  }
}
#company section.initiatives ul.certification_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #company section.initiatives ul.certification_list li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 min(6vw, 6rem);
  }
}
#company section.initiatives ul.certification_list li + li {
  margin-top: clamp(4rem, 5vw, 10rem);
}
@media print, screen and (min-width: 768px) {
  #company section.initiatives ul.certification_list li dl {
    width: 42rem;
  }
}
#company section.initiatives ul.certification_list li dl dt {
  font-size: clamp(1.8rem, 4vw, 2rem);
  font-weight: bold;
}
#company section.initiatives ul.certification_list li dl dd {
  margin-top: min(4vw, 4rem);
  font-size: 1.7rem;
}
@media print, screen and (min-width: 1024px) {
  #company section.initiatives ul.certification_list li dl dd {
    line-height: 2.2;
  }
}
@media print, screen and (min-width: 768px) {
  #company section.initiatives ul.certification_list li .certification_img {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#company section.initiatives ul.certification_list li .certification_img.certification01 .image {
  max-width: 52rem;
  margin: auto;
}
#company section.initiatives ul.certification_list li .certification_img.certification02 .image {
  width: 60%;
  max-width: 31rem;
  margin: auto;
}
#company section.initiatives ul.certification_list li .certification_img .image a {
  position: relative;
  border: 0.1rem solid #ccc;
}
#company section.initiatives ul.certification_list li .certification_img .image a::before, #company section.initiatives ul.certification_list li .certification_img .image a::after {
  content: "";
  width: 4rem;
  aspect-ratio: 1/1;
  position: absolute;
  right: 0;
  bottom: 0;
}
#company section.initiatives ul.certification_list li .certification_img .image a::before {
  background-color: #00883f;
  border: 0.1rem solid #00883f;
}
#company section.initiatives ul.certification_list li .certification_img .image a::after {
  -webkit-mask-image: url(../img/icon_enlarge.svg);
          mask-image: url(../img/icon_enlarge.svg);
  -webkit-mask-size: 60%;
          mask-size: 60%;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}
#company section.initiatives ul.certification_list li .certification_img .image a:hover::before {
  background-color: #fff;
}
#company section.initiatives ul.certification_list li .certification_img .image a:hover::after {
  background-color: #00883f;
}
#company section.profile {
  background-color: #f2f2f2;
}
#company section.profile dl.profile_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media print, screen and (min-width: 768px) {
  #company section.profile dl.profile_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#company section.profile dl.profile_list > dt {
  background-color: #ddd;
  padding: 0.8em 0;
  display: grid;
  place-items: center;
}
@media print, screen and (min-width: 768px) {
  #company section.profile dl.profile_list > dt {
    width: 20rem;
    background-color: #fff;
  }
}
#company section.profile dl.profile_list > dt span {
  display: block;
  width: 5em;
  font-size: 1.6rem;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
#company section.profile dl.profile_list > dd {
  background-color: #fff;
  padding: 0.8em min(4vw, 2em);
}
@media print, screen and (min-width: 768px) {
  #company section.profile dl.profile_list > dd {
    width: calc(100% - 20.5rem);
  }
}
#company section.profile dl.profile_list > dd ul.office_list li + li {
  margin-top: min(4vw, 4rem);
}
#company section.profile dl.profile_list > dd ul.office_list li dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#company section.profile dl.profile_list > dd ul.office_list li dl dt span {
  display: block;
  width: 8.5em;
  font-weight: bold;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
#company section.profile dl.profile_list > dd ul.area_info {
  margin-top: min(4vw, 4rem);
}
#company section.profile dl.profile_list > dd ul.area_info li {
  width: 100%;
  max-width: 215px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#company section.history ol.history_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media print, screen and (min-width: 768px) {
  #company section.history ol.history_list li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company section.history ol.history_list li + li {
  margin-top: 0.5rem;
}
#company section.history ol.history_list li .when {
  background-color: #ddd;
  padding: 0.8em min(4vw, 2em);
}
@media print, screen and (min-width: 768px) {
  #company section.history ol.history_list li .when {
    background-color: #f2f2f2;
  }
}
#company section.history ol.history_list li .when p {
  width: 18.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#company section.history ol.history_list li .event {
  background-color: #f2f2f2;
  padding: 0.8em min(4vw, 2em);
}
@media print, screen and (min-width: 768px) {
  #company section.history ol.history_list li .event {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#company section.access {
  background-color: #f2f2f2;
}
#company section.access ul.access_list li + li {
  margin-top: clamp(4rem, 8vw, 8rem);
}
#company section.access ul.access_list li .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #company section.access ul.access_list li .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#company section.access ul.access_list li address p.name {
  font-size: clamp(1.8rem, 4vw, 2rem);
  font-weight: bold;
}
#company section.access ul.access_list li address p.place {
  margin-top: 1em;
  text-align: left;
}
@media print, screen and (min-width: 1024px) {
  #company section.access ul.access_list li address p.place {
    line-height: 2.2;
  }
}
#company section.access ul.access_list li address p.place a {
  display: inline;
}
#company section.access ul.access_list li address p.place span {
  display: inline-block;
}
@media print, screen and (min-width: 768px) {
  #company section.access ul.access_list li .office_img {
    width: 52%;
  }
}
#company section.access ul.access_list li .office_img img {
  max-width: none;
}
#company section.access ul.access_list li .map {
  margin-top: 2rem;
}
#company section.access ul.access_list li .map figure iframe {
  max-width: none;
  aspect-ratio: 1/1;
  max-height: 40rem;
}

#news header nav.pc_menu ul.main_link > li:nth-of-type(5) > a {
  color: #00883f;
  font-weight: bold;
}
#news header nav.sp_menu ul.main_link.right > li:nth-of-type(1) > a {
  color: #00883f;
}
#news footer nav.footer_nav ul.main_link.lower > li:nth-of-type(2) > a {
  color: #00883f;
}
#news section.page_top {
  background: url(../img/news/page_top_bg.webp) center/cover no-repeat;
}
#news section.page_top header span {
  color: #fff;
}
#news section.page_top header span::before {
  background-color: #fff;
}
#news section.page_top header h1 {
  color: #fff;
}
#news section.news .tab_area ul {
  width: 100%;
  max-width: 100rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#news section.news .tab_area ul li {
  width: 25%;
  border-left: 0.1rem solid #dfdfdf;
}
#news section.news .tab_area ul li:last-of-type {
  border-right: 0.1rem solid #dfdfdf;
}
#news section.news .tab_area ul li button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.5em 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#news section.news .tab_area ul li button:hover, #news section.news .tab_area ul li button.active {
  opacity: 1;
  background-color: #dfdfdf;
}
#news section.news .tab_contents ul li {
  border-top: 0.1rem dashed #ccc;
  padding: clamp(2rem, 4vw, 4rem) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
#news section.news .tab_contents ul li:first-of-type {
  border-bottom: 0.1rem dashed #ccc;
}
@media print, screen and (min-width: 768px) {
  #news section.news .tab_contents ul li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 4rem;
  }
}
@media print, screen and (min-width: 768px) {
  #news section.news .tab_contents ul li .img_area {
    width: 30%;
  }
}
#news section.news .tab_contents ul li .img_area .image {
  width: 100%;
  aspect-ratio: 4/3;
  border: 0.1rem solid #eee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#news section.news .tab_contents ul li .img_area .image img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
#news section.news .tab_contents ul li .txt_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media print, screen and (min-width: 768px) {
  #news section.news .tab_contents ul li .txt_area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#news section.news .tab_contents ul li .txt_area .date {
  font-weight: bold;
}
#news section.news .tab_contents ul li .txt_area .category {
  width: 15rem;
  color: #fff;
  text-align: center;
  background-color: #333;
  margin-left: 1.5rem;
}
#news section.news .tab_contents ul li .txt_area .title {
  margin-top: clamp(1rem, 2vw, 2rem);
  width: 100%;
  font-size: 1.8rem;
  font-weight: bold;
}
#news section.news .tab_contents ul li .txt_area .description {
  margin-top: clamp(2rem, 4vw, 4rem);
  width: 100%;
}
#news section.news .tab_contents ul li .txt_area .link,
#news section.news .tab_contents ul li .txt_area .pdf {
  margin-top: 1.6em;
}
#news section.news .tab_contents ul li .txt_area .link a,
#news section.news .tab_contents ul li .txt_area .pdf a {
  text-decoration: underline;
}
#news section.news .tab_contents ul li .txt_area .link a:hover,
#news section.news .tab_contents ul li .txt_area .pdf a:hover {
  color: #00883f;
}
#news section.news .tab_contents ul li .txt_area .pdf a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
}
#news section.news .tab_contents ul li .txt_area .pdf a::after {
  content: "";
  height: 1.6em;
  aspect-ratio: 4/5;
  -webkit-mask: url(../img/icon_pdf.svg) center/contain no-repeat;
          mask: url(../img/icon_pdf.svg) center/contain no-repeat;
  background-color: #1a1a1a;
}
#news section.news .tab_contents ul li .txt_area .pdf a:hover::after {
  background-color: #00883f;
}
#news section.news .pagination ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 2rem;
}
#news section.news .pagination ul li a {
  width: 4rem;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  background-color: #ccc;
  border-radius: 50%;
}
#news section.news .pagination ul li a:hover, #news section.news .pagination ul li a.pagination_on {
  background-color: #00883f;
}

#contact footer nav.footer_nav ul.main_link.lower > li:nth-of-type(3) > a {
  color: #00883f;
}
#contact section.page_top {
  background-color: #0d1e0e;
}
#contact section.page_top header span {
  color: #fff;
}
#contact section.page_top header span::before {
  background-color: #fff;
}
#contact section.page_top header h1 {
  color: #fff;
}
#contact section.form p.note {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(3rem, 3vw, 6rem) auto 0;
  font-size: clamp(1.6rem, 4vw, 1.8rem);
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  #contact section.form p.note {
    text-align: center;
  }
}
#contact section.form p.note a {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #00883f;
  font-weight: bold;
  text-decoration: underline;
  padding: 0 0.2em;
}
#contact section.form form .input_list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1rem, 2vw, 2rem) 0;
}
@media print, screen and (min-width: 768px) {
  #contact section.form form .input_list dl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 clamp(4rem, 8vw, 8rem);
  }
}
#contact section.form form .input_list dl + dl {
  margin-top: clamp(2rem, 2vw, 4rem);
}
#contact section.form form .input_list dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #contact section.form form .input_list dl dt {
    width: 20rem;
  }
}
#contact section.form form .input_list dl dt span {
  color: #fff;
  font-size: 1.4rem;
  background-color: #c22c20;
  border-radius: 0.5rem;
  padding: 0 0.3em;
}
#contact section.form form .input_list dl dd {
  border: 0.1rem solid #ccc;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 768px) {
  #contact section.form form .input_list dl dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#contact section.form form .input_list dl dd input,
#contact section.form form .input_list dl dd textarea {
  width: 100%;
  font-size: 2rem;
  padding: 0.5em 1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  cursor: pointer;
}
#contact section.form form .input_list dl dd input:hover,
#contact section.form form .input_list dl dd textarea:hover {
  background-color: rgba(0, 163, 36, 0.1);
}
#contact section.form form .input_list dl dd input[readonly],
#contact section.form form .input_list dl dd textarea[readonly] {
  pointer-events: none;
}
#contact section.form form .input_list dl dd textarea {
  display: block;
  min-height: 10em;
  field-sizing: content;
}
#contact section.form form .privacy_check {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(3rem, 6vw, 6rem) auto 0;
  background-color: #eee;
  border-radius: 0.5rem;
  padding: clamp(2rem, 4vw, 4rem);
}
#contact section.form form .privacy_check p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  #contact section.form form .privacy_check p {
    text-align: center;
  }
}
#contact section.form form .privacy_check p a {
  display: inline;
  color: #00883f;
  font-weight: bold;
  text-decoration: underline;
  padding: 0 0.2em;
}
#contact section.form form .privacy_check p a:hover {
  color: #fff;
  background-color: #00883f;
}
#contact section.form form .privacy_check label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
  padding: 1rem clamp(2rem, 4vw, 4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
  background-color: #fff;
}
#contact section.form form .privacy_check label input {
  width: 1.5em;
  height: 1.5em;
  accent-color: #00883f;
}
#contact section.form form .btn_area {
  margin-top: clamp(3rem, 6vw, 6rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 5%;
}
#contact section.form form .btn_area input {
  width: 47.5%;
  max-width: 40rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  border-radius: 0.5rem;
  padding: 1em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#contact section.form form .btn_area input[type=reset], #contact section.form form .btn_area input[type=button] {
  border: 0.1rem solid #666;
  background-color: #666;
}
#contact section.form form .btn_area input[type=reset]:hover, #contact section.form form .btn_area input[type=button]:hover {
  color: #666;
  background-color: #fff;
}
#contact section.form form .btn_area input[type=submit] {
  border: 0.1rem solid #00883f;
  background-color: #00883f;
}
#contact section.form form .btn_area input[type=submit]:hover {
  color: #00883f;
  background-color: #fff;
}
#contact section.form .btn_area .btn a {
  border-color: #1a1a1a;
  background-color: #1a1a1a;
}
#contact section.form .btn_area .btn a::after {
  background-color: #fff;
}
#contact section.form .btn_area .btn a:hover {
  color: #1a1a1a;
  background-color: #fff;
}
#contact section.form .btn_area .btn a:hover::after {
  background-color: #1a1a1a;
}

#privacy header nav.sp_menu ul.main_link.right > li:nth-of-type(3) > a {
  color: #00883f;
}
#privacy footer nav.footer_nav ul.main_link.lower > li:nth-of-type(4) > a {
  color: #00883f;
}
#privacy section.page_top {
  background-color: #0d1e0e;
}
#privacy section.page_top header span {
  color: #fff;
}
#privacy section.page_top header span::before {
  background-color: #fff;
}
#privacy section.page_top header h1 {
  color: #fff;
}
#privacy section.privacy dl.policy_list dt {
  color: #00883f;
  font-size: clamp(1.8rem, 4.8vw, 2.4rem);
  font-weight: bold;
  border-bottom: 0.1rem solid #4d4d4d;
}
#privacy section.privacy dl.policy_list dt:not(:first-of-type) {
  margin-top: clamp(4rem, 4vw, 8rem);
}
#privacy section.privacy dl.policy_list dd {
  width: 95%;
  max-width: 1000px;
  margin: clamp(1rem, 2vw, 4rem) auto 0;
}
#privacy section.privacy dl.policy_list dd p.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.5em;
}
#privacy section.privacy dl.policy_list dd p strong {
  font-size: 1.8rem;
  border-left: 0.4rem solid #4d4d4d;
  padding-left: 0.5em;
}
#privacy section.privacy dl.policy_list dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 0;
}

#sitemap header nav.sp_menu ul.main_link.right > li:nth-of-type(4) > a {
  color: #00883f;
}
#sitemap footer nav.footer_nav ul.main_link.lower > li:nth-of-type(5) > a {
  color: #00883f;
}
#sitemap section.page_top {
  background-color: #29612c;
}
#sitemap section.page_top header span {
  color: #fff;
}
#sitemap section.page_top header span::before {
  background-color: #fff;
}
#sitemap section.page_top header h1 {
  color: #fff;
}
#sitemap section.sitemap p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(2rem, 2vw, 4rem) auto 0;
  font-size: 1.8rem;
}
#sitemap section.sitemap nav.sitemap_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(4rem, 4vw, 8rem) auto 0;
}
@media print, screen and (min-width: 768px) {
  #sitemap section.sitemap nav.sitemap_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 min(8vw, 15rem);
  }
}
#sitemap section.sitemap nav.sitemap_list ul.main_link {
  display: contents;
}
@media print, screen and (min-width: 768px) {
  #sitemap section.sitemap nav.sitemap_list ul.main_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a::before {
  content: "";
  height: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #00883f;
  background-image: url(../img/icon_logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: calc(100% + 1rem);
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a:hover {
  color: #00883f;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a:hover::before {
  background-color: transparent;
  border-radius: 0;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a.recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a.recruit::after {
  content: "";
  width: 1em;
  height: 1em;
  -webkit-mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
          mask: url(../img/icon_roundarrow.svg) center/contain no-repeat;
  background-color: #1a1a1a;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li > a.recruit:hover::after {
  background-color: #00883f;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order01 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order02 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order03 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order04 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order05 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order06 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order07 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order08 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order09 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order11 {
  -webkit-box-ordinal-group: 12;
      -ms-flex-order: 11;
          order: 11;
}
#sitemap section.sitemap nav.sitemap_list ul.main_link > li.order12 {
  -webkit-box-ordinal-group: 13;
      -ms-flex-order: 12;
          order: 12;
}
#sitemap section.sitemap nav.sitemap_list ul.sub_link li {
  margin-top: 0.5rem;
}
#sitemap section.sitemap nav.sitemap_list ul.sub_link li a {
  display: inline-block;
  font-size: 1.8rem;
}
#sitemap section.sitemap nav.sitemap_list ul.sub_link li a:hover {
  opacity: 0.5;
}
#sitemap section.sitemap nav.sitemap_list ul.sub_link li a::before {
  content: "-";
  margin-right: 1rem;
}

#page404 section.page_top {
  background-color: #0d1e0e;
}
#page404 section.page_top header span {
  color: #fff;
}
#page404 section.page_top header span::before {
  background-color: #fff;
}
#page404 section.page_top header h1 {
  color: #fff;
}
#page404 section.page404 p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(4rem, 4vw, 8rem) auto 0;
}
@media print, screen and (min-width: 768px) {
  #page404 section.page404 p {
    text-align: center;
  }
}
#page404 section.page404 .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  #page404 section.page404 .btn_area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 min(4vw, 4rem);
  }
}
@media print, screen and (min-width: 768px) {
  #page404 section.page404 .btn_area .btn {
    width: calc((100% - min(4vw, 4rem)) / 3);
  }
}
#page404 section.page404 .btn_area .btn a {
  border-color: #1a1a1a;
  background-color: #1a1a1a;
}
#page404 section.page404 .btn_area .btn a::after {
  background-color: #fff;
}
#page404 section.page404 .btn_area .btn a:hover {
  color: #1a1a1a;
  background-color: #fff;
}
#page404 section.page404 .btn_area .btn a:hover::after {
  background-color: #1a1a1a;
}/*# sourceMappingURL=style.css.map */