@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPMincho:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap");
/*--------------------------------------------------------------
tag
--------------------------------------------------------------*/
html {
  margin: auto;
}

body {
  -webkit-font-smoothing: antialiased;
  margin: auto;
  padding: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1A1A1A;
  min-width: 1152px;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-size: 16px;
}
@media (max-width: 767px) {
  body {
    font-size: 15px;
    min-width: 320px;
  }
}

main {
  margin-top: 116px;
}
@media (max-width: 767px) {
  main {
    margin-top: 56px;
    width: 100vw;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  body.menuon main {
    position: relative;
    z-index: -100;
  }
}
p, li, dt, dd, h3, h4, h5 {
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 767px) {
  p, li, dt, dd, h3, h4, h5 {
    font-size: 15px;
    line-height: 1.75;
  }
}

h3 {
  margin: unset;
}

ul, dl, dt, dd {
  padding: 0;
  margin: unset;
}

a {
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

figure {
  margin: 0;
}

sup {
  font-size: 65%;
  color: #01823F;
  vertical-align: super;
  font-weight: bold;
}

/*--------------------------------------------------------------
class
--------------------------------------------------------------*/
.inner {
  margin: auto;
  max-width: 960px;
}
@media screen and (max-width: 767px) {
  .inner {
    max-width: 100vw;
    margin-left: 5vw;
    margin-right: 5vw;
  }
}

.wrapper {
  width: 100%;
  margin: auto;
  max-width: 1152px;
}
@media screen and (max-width: 767px) {
  .wrapper {
    max-width: 100vw;
    width: 100%;
  }
}

._ib {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  ._sp:not(._pc) {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  ._pc:not(._sp) {
    display: none !important;
  }
}
.en {
  font-family: "Barlow", sans-serif;
}

.hyphen {
  margin-top: 15px;
  padding-left: 100px;
  position: relative;
}
.hyphen::before {
  width: 64px;
  height: 2px;
  content: "";
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 1em;
  background: #01823F;
}
@media (max-width: 767px) {
  .hyphen {
    margin-top: 12px;
    padding-left: 40px;
    position: relative;
  }
  .hyphen::before {
    width: 25px;
    height: 2px;
    top: 0.8em;
  }
}

.hwnum {
  position: relative;
  padding-top: 20px;
  padding-left: 30px;
}
.hwnum .number {
  font-size: 16px;
  font-weight: bold;
  color: #01823F;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .hwnum {
    position: relative;
    padding-top: 20px;
    padding-left: 30px;
  }
  .hwnum .number {
    font-size: 16px;
    font-weight: bold;
    color: #01823F;
    position: absolute;
    top: 0;
    left: 0;
  }
}

/*--------------------------------------------------------------
drawer
--------------------------------------------------------------*/
.menubutton {
  transition: 0.3s;
  z-index: 10;
  background: transparent;
  transition: 0.3s ease-out;
  width: 56px;
  height: 56px;
  position: fixed;
  top: 0px;
  right: 5px;
  cursor: pointer;
}
.menubutton .label {
  display: none;
}
.menubutton span {
  transition: top 0.2s 0.2s ease-out, bottom 0.2s 0.2s ease-out, transform 0.2s 0s ease-out;
  display: block;
  position: absolute;
  width: 60%;
  height: 1px;
  background: #01823F;
  left: 18px;
  top: calc(50% - 7px);
}
.menubutton span:nth-child(2) {
  top: 50%;
}
.menubutton span:nth-child(3) {
  top: calc(50% + 7px);
}
@media (max-width: 768px) {
  .menubutton {
    width: sp(50);
    height: sp(50);
  }
}

header.menuon .menubutton span {
  transition: top 0.2s 0s ease-out, bottom 0.2s 0s ease-out, transform 0.2s 0.2s ease-out;
  transform: rotate(45deg);
  top: calc(50% - 0px);
}
header.menuon .menubutton span:nth-child(2) {
  top: calc(50% + 0px);
  transform: rotate(-45deg);
}

/*--------------------------------------------------------------
heading
--------------------------------------------------------------*/
.hset .en {
  font-size: 24px;
  font-weight: 600;
  text-transform: capitalize;
}
.hset .ja {
  font-size: 32px;
  font-family: serif;
  font-family: "BIZ UDPMincho", serif;
}
.hset .frame {
  background: #000;
  display: inline-block;
  line-height: 80px;
  padding: 0 26px;
  color: #fff;
  letter-spacing: 0.12em;
  font-weight: 300;
}
@media (max-width: 767px) {
  .hset .en {
    font-size: 18px;
  }
  .hset .ja {
    font-size: 26px;
  }
  .hset .frame {
    margin-top: 3px;
    line-height: 60px;
    padding: 0 26px;
  }
}

/*--------------------------------------------------------------
btn
--------------------------------------------------------------*/
.arrowslide {
  display: inline-flex;
  gap: 1em;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-weight: bold;
}
.arrowslide .arrowslidetxt {
  padding-bottom: 0em;
}
.arrowslide .arrow {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 32px;
  border: 1px solid #01823F;
  border-radius: 20px;
  vertical-align: middle;
  transition: 0.4s;
  position: relative;
}
.arrowslide .arrow::before {
  width: 100%;
  height: 100%;
  content: "　";
  display: inline-block;
  background: url(../images/common/icon_arrow.svg) center center no-repeat;
  transition: opacity 0.2s 0.2s;
  -webkit-animation: arrow2 0.2s 0.2s;
          animation: arrow2 0.2s 0.2s;
}
.arrowslide .arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "　";
  display: block;
  background: url(../images/common/icon_arrow.svg) center center no-repeat;
  filter: brightness(0) invert(1);
  opacity: 0;
  transition: opacity 0.3s;
  -webkit-animation: arrow1 0.2s;
          animation: arrow1 0.2s;
}
.arrowslide.reverse .arrow {
  border-color: #fff;
}
.arrowslide.reverse .arrow::before {
  filter: brightness(0) invert(1);
}
.arrowslide.reverse .arrow::after {
  filter: none;
}
@media (max-width: 767px) {
  .arrowslide .arrow {
    width: 32px;
    height: 21px;
  }
  .arrowslide .arrow::before {
    background-size: 12px auto;
  }
  .arrowslide .arrow::after {
    background-size: 12px auto;
  }
}

a:hover .arrowslide .arrow, .arrowslide:hover .arrow {
  background: #01823F;
}
a:hover .arrowslide .arrow::before, .arrowslide:hover .arrow::before {
  -webkit-animation: arrow1 0.2s;
          animation: arrow1 0.2s;
  opacity: 0;
  transition: opacity 0.2s;
}
a:hover .arrowslide .arrow::after, .arrowslide:hover .arrow::after {
  opacity: 1;
  transition: opacity 0.2s 0.2s;
  -webkit-animation: arrow2 0.3s 0.2s;
          animation: arrow2 0.3s 0.2s;
}
a:hover .arrowslide.reverse .arrow, .arrowslide:hover.reverse .arrow {
  background: #fff;
}

.showdetailtxt .changetxt {
  display: inline-block;
  position: relative;
}
.showdetailtxt .originaltxt {
  display: inline-block;
  position: relative;
  transition: 0.3s;
  font-weight: bold;
}
.showdetailtxt .detailtxt {
  transition: 0.3s;
  position: absolute;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  opacity: 0;
  font-weight: bold;
}

a:hover .showdetailtxt .originaltxt, .showdetailtxt:hover .originaltxt {
  color: rgba(255, 255, 255, 0);
}
a:hover .showdetailtxt .detailtxt, .showdetailtxt:hover .detailtxt {
  opacity: 1;
}

.changecolor {
  color: #8E8E8E;
  font-weight: bold;
}
.changecolor:hover {
  color: #01823F;
}

@-webkit-keyframes arrow1 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(50%);
  }
}

@keyframes arrow1 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(50%);
  }
}
@-webkit-keyframes arrow2 {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes arrow2 {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
.link_facility {
  margin-top: 140px;
  height: 240px;
  background: url(../images/top/facility_ph.jpg) center center/cover no-repeat;
  border-radius: 8px;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.16);
  display: flex;
  padding: 50px;
}
.link_facility h3 {
  width: 50%;
  height: 100%;
  font-size: 32px;
  font-weight: bold;
  display: flex;
  color: #fff;
  justify-content: flex-start;
  align-items: flex-start;
}
.link_facility .btn {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 50%;
  height: 100%;
}
.link_facility .btn a {
  color: #fff;
}
@media (max-width: 767px) {
  .link_facility {
    margin-top: 100px;
    height: 45vw;
    padding: 20px;
    flex-direction: column;
  }
  .link_facility h3 {
    width: 100%;
    height: 50%;
    font-size: 24px;
  }
  .link_facility .btn {
    width: 100%;
    height: 50%;
  }
}

/*--------------------------------------------------------------
header
--------------------------------------------------------------*/
header {
  min-width: 1152px;
  position: fixed;
  z-index: 200;
  height: 116px;
  background: #F6F6F6;
  top: 0;
  left: 0;
  width: 100%;
  transition: height 0.3s;
}
header.scrolled {
  height: 80px;
}
header.scrolled ul.lv2 {
  top: 80px !important;
}
header .inner {
  max-width: 100%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 48px;
  height: 100%;
}
header .inner .logo {
  display: inline-block;
}
header .inner .logo img {
  vertical-align: bottom;
}
header .inner nav {
  position: static;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header .inner nav ul.main {
  position: static;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 50px;
}
header .inner nav ul.main > li {
  height: 100%;
  letter-spacing: 0.05em;
  font-size: 16px;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .inner nav ul.main > li + li::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 16px;
  vertical-align: middle;
  background: #D4D4D4;
}
header .inner nav ul.main > li > a {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s ease-in-out;
  font-size: 16px;
  padding: 0 16px;
}
header .inner nav ul.main > li > a::after {
  content: "";
  display: inline-block;
  width: calc(100% - 32px);
  height: 3px;
  background: #01823F;
  position: absolute;
  left: 16px;
  bottom: calc(50% - 2em);
  transform: translateY(10px);
  transition: 0.3s;
  opacity: 0;
}
header .inner nav ul.main > li.current > a::after, header .inner nav ul.main > li:hover > a::after {
  content: "";
  display: inline-block;
  width: calc(100% - 32px);
  height: 3px;
  background: #01823F;
  position: absolute;
  left: 16px;
  bottom: calc(50% - 2em);
  opacity: 1;
  transform: translateY(0);
}
header .inner nav ul.main > li.current > a {
  color: #01823F;
}
header .inner nav ul.main > li:hover ul.lv2 {
  display: flex;
  transform: translateY(0px);
  left: 0;
  opacity: 1;
  transition: opacity 0.3s, height 0.3s, transform 0.3s, left 0s 0s;
}
header .inner nav ul.main > li ul.lv2 {
  transition: opacity 0.3s, height 0.3s, transform 0.3s, left 0s 0.3s;
  position: absolute;
  left: 0;
  left: -100%;
  top: 116px;
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
  width: 100%;
  background: #CEE6D8;
  height: 80px;
  opacity: 0;
  transform: translateY(-30px);
}
header .inner nav ul.main > li ul.lv2 li {
  position: relative;
}
header .inner nav ul.main > li ul.lv2 li a {
  color: #01823F;
  display: flex;
  justify-content: center;
  align-items: stretch;
  height: 100%;
  position: static;
  transition: color 0.3s;
}
header .inner nav ul.main > li ul.lv2 li a::before {
  margin-right: 8px;
  width: 18px;
  height: 100%;
  content: "　";
  display: block;
  background: url(../images/common/icon_arrow.svg) center center no-repeat;
  background-size: contain;
  transition: opacity 0.3s 0.3s;
  -webkit-animation: arrow2 0.3s 0.3s;
          animation: arrow2 0.3s 0.3s;
}
header .inner nav ul.main > li ul.lv2 li a::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 100%;
  content: "　";
  display: block;
  background: url(../images/common/icon_arrow.svg) center center no-repeat;
  filter: brightness(0) invert(1);
  opacity: 0;
  transition: opacity 0.3s;
  -webkit-animation: arrow1 0.3s;
          animation: arrow1 0.3s;
}
header .inner nav ul.main > li ul.lv2 li a:hover::before {
  -webkit-animation: arrow1 0.3s;
          animation: arrow1 0.3s;
  opacity: 0;
  transition: opacity 0.3s;
}
header .inner nav ul.main > li ul.lv2 li a:hover::after {
  opacity: 1;
  transition: opacity 0.3s 0.3s;
  -webkit-animation: arrow2 0.3s 0.3s;
          animation: arrow2 0.3s 0.3s;
}
header .inner .contact {
  width: 124px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 2;
  background: #fff;
}
header .inner .contact .icon {
  filter: brightness(0) invert(1);
}
header .inner .contact .txt {
  font-size: 14px;
  color: #fff;
  margin-top: 0.3em;
}
header .inner .contact::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #01823F;
  position: absolute;
  z-index: -1;
  transition: transform 0.3s;
  transform-origin: 0%;
}
header .inner .contact:hover .icon {
  filter: none;
}
header .inner .contact:hover .txt {
  color: #01823F;
}
header .inner .contact:hover::after {
  transform: scaleX(0);
  transform-origin: 100%;
}
@media (min-width: 768px) and (max-width: 1280px) {
  header {
    min-width: 768px;
  }
  header .inner {
    max-width: 100%;
    width: 100%;
    padding: 0 0 0 2.5vw;
  }
  header .inner .logo img {
    width: 23.28125vw;
  }
  header .inner nav ul.main {
    padding-right: 1.953125vw;
  }
  header .inner nav ul.main > li {
    height: 100%;
    letter-spacing: 0.00390625em;
  }
  header .inner nav ul.main > li > a {
    font-size: 1.25vw;
    padding: 0 1.25vw;
  }
  header .inner nav ul.main > li ul.lv2 {
    gap: 1.875vw;
    transform: translateY(-30px);
  }
  header .inner nav ul.main > li ul.lv2 li {
    position: relative;
  }
  header .inner nav ul.main > li ul.lv2 li a::before {
    margin-right: 0.625vw;
    width: 1.40625vw;
  }
  header .inner nav ul.main > li ul.lv2 li a::after {
    width: 1.40625vw;
  }
  header .inner .contact .txt {
    font-size: 1.09375vw;
  }
}
@media (max-width: 767px) {
  header {
    position: fixed;
    min-width: 100%;
    height: 56px;
    background: #fff;
  }
  header.scrolled {
    height: 56px;
  }
  header.scrolled ul.lv2 {
    top: 80px !important;
  }
  header .inner {
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 0 15px;
    height: 100%;
  }
  header .inner .logo img {
    width: 200px;
    max-width: 55vw;
    height: auto;
  }
  header .inner nav {
    position: static;
    height: auto;
    display: block;
  }
  header .inner nav ul.main {
    position: fixed;
    width: 100%;
    height: calc(100svh - 56px);
    display: block;
    left: -100%;
    top: 56px;
    background: #01823F;
    padding: 20px 0;
    overflow: scroll;
    transition: 0.5s ease-in-out;
  }
  header .inner nav ul.main > li {
    height: auto;
    font-size: 16px;
    display: block;
    border-bottom: 1px solid #CEE6D8;
    position: relative;
  }
  header .inner nav ul.main > li .drawer_arrow {
    width: 65px;
    height: 65px;
    position: absolute;
    right: 10px;
    top: -18px;
    background: url(../images/common/arrow_drawer.svg) center center no-repeat;
    cursor: pointer;
    transition: 0.3s;
  }
  header .inner nav ul.main > li .drawer_arrow.on {
    transform: rotate(180deg);
  }
  header .inner nav ul.main > li + li {
    margin-top: 20px;
  }
  header .inner nav ul.main > li + li::before {
    display: none;
  }
  header .inner nav ul.main > li > a {
    position: relative;
    height: auto;
    display: block;
    justify-content: center;
    align-items: center;
    transition: 0.3s ease-in-out;
    font-size: 16px;
    padding: 0 10px 20px 20px;
    color: #fff;
  }
  header .inner nav ul.main > li > a::after {
    content: "";
    display: inline-block;
    width: calc(100% - 32px);
    height: 3px;
    background: #01823F;
    position: absolute;
    left: 16px;
    bottom: calc(50% - 2em);
    transform: translateY(10px);
    transition: 0.3s;
    opacity: 0;
  }
  header .inner nav ul.main > li.current > a {
    color: #fff;
  }
  header .inner nav ul.main > li:hover ul.lv2 {
    display: none;
    transform: translateY(0px);
  }
  header .inner nav ul.main > li ul.lv2 {
    display: none;
    padding: 15px 20px;
    position: static;
    left: 0;
    width: calc(100% + 0px);
    background: #CEE6D8;
    height: auto;
    opacity: 1;
    transform: translateY(0);
    margin: auto;
  }
  header .inner nav ul.main > li ul.lv2 li {
    position: relative;
  }
  header .inner nav ul.main > li ul.lv2 li + li {
    margin-top: 15px;
  }
  header .inner nav ul.main > li ul.lv2 li a {
    color: #01823F;
    justify-content: flex-start;
    align-items: stretch;
    height: 100%;
    position: static;
    transition: color 0.3s;
    font-size: 14px;
  }
  header .inner nav ul.main > li ul.lv2 li a::before {
    margin-right: 0;
    width: 22px;
    height: 100%;
    content: "　";
    display: block;
    background: url(../images/common/icon_arrow.svg) left center no-repeat;
    background-size: 12px auto;
    transition: 0s;
    -webkit-animation: none;
            animation: none;
  }
  header .inner nav ul.main > li ul.lv2 li a::after {
    display: none;
  }
  header .inner nav ul.main > li ul.lv2 li a:hover::before {
    -webkit-animation: none;
            animation: none;
    opacity: 1;
    transition: opacity 0.3s;
  }
  header .inner nav ul.main > li ul.lv2 li a:hover::after {
    -webkit-animation: none;
            animation: none;
  }
  header .inner .contact {
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 2;
    background: #fff;
    position: fixed;
    top: 0;
    right: 56px;
  }
  header .inner .contact .txt {
    display: none;
  }
  header .inner .contact::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #01823F;
    position: absolute;
    z-index: -1;
    transition: transform 0.3s;
    transform-origin: 0%;
  }
  header .inner .contact:hover .icon {
    filter: none;
  }
  header .inner .contact:hover .txt {
    color: #01823F;
  }
  header .inner .contact:hover::after {
    transform: scaleX(0);
    transform-origin: 100%;
  }
  header.menuon {
    background: #fff;
  }
  header.menuon .inner nav ul.main {
    left: 0;
    opacity: 1;
  }
}

/*--------------------------------------------------------------
footer
--------------------------------------------------------------*/
footer {
  background: #1A1A1A;
  padding: 0 0 90px;
  color: #fff;
}
footer .contact {
  background: url(../images/common/contact_bg.jpg) center center/cover;
}
footer .contact .inner {
  height: 360px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
footer .contact .inner .hgroup {
  font-weight: bold;
}
footer .contact .inner .hgroup h3 {
  font-size: 60px;
  line-height: 1;
}
footer .contact .inner .hgroup h2 {
  margin-top: 20px;
  line-height: 1;
  font-size: 16px;
}
footer .contact .inner .btn a {
  font-size: 20px;
}
footer .upper {
  padding: 100px 0 0;
  display: flex;
  justify-content: space-between;
}
footer .upper .info .address {
  margin-top: 30px;
}
footer .upper .info .recruit {
  margin-top: 60px;
}
footer .upper .info .recruit a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/common/footer_recruit.jpg) center center/cover;
  width: 288px;
  height: 120px;
  border-radius: 8px;
}
footer .upper nav {
  width: 520px;
}
footer .upper nav ul.lv1 {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
footer .upper nav ul.lv1 .lv2 {
  margin: 0;
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
}
footer .upper nav ul.lv1 .lv2.narrow {
  width: 400px;
}
footer .upper nav ul.lv1 .lv2 li {
  min-width: 130px;
  font-size: 14px;
}
footer .upper nav ul.lv1 .lv2 li::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 2px;
  background: #01823F;
  vertical-align: middle;
  margin-right: 6px;
  position: relative;
  top: -0.15em;
}
footer .upper nav ul.lv1 .lv2 li a {
  transition: 0.3s;
}
footer .upper nav ul.lv1 .lv2 li a:hover {
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  footer .upper nav ul.lv1 .lv2 li.shaft {
    width: 160px;
  }
}
footer .lower {
  border-top: 1px solid #4D4D4D;
  margin-top: 80px;
  padding-top: 3%;
  display: flex;
  justify-content: space-between;
}
footer .lower nav ul {
  display: flex;
  gap: 30px;
}
footer .lower .copyright {
  font-family: "Barlow", sans-serif;
}
@media (max-width: 767px) {
  footer {
    padding: 0 0 50px;
    width: 100%;
    overflow: hidden;
  }
  footer .contact .inner {
    height: 50vw;
    display: flex;
    gap: 30px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  footer .contact .inner .hgroup {
    font-weight: bold;
  }
  footer .contact .inner .hgroup h3 {
    font-size: 40px;
    line-height: 1;
  }
  footer .contact .inner .hgroup h2 {
    margin-top: 20px;
    line-height: 1;
    font-size: 16px;
  }
  footer .contact .inner .btn a {
    font-size: 20px;
  }
  footer .upper {
    padding: 50px 0 0;
    flex-direction: column;
  }
  footer .upper .info .recruit {
    margin-top: 50px;
  }
  footer .upper .info .recruit a {
    background: url(../images/common/footer_recruit.jpg) center top/cover;
    width: 100%;
    height: 120px;
  }
  footer .upper nav {
    margin-top: 50px;
    width: auto;
  }
  footer .upper nav ul.lv1 {
    gap: 18px;
    font-size: 13px;
  }
  footer .upper nav ul.lv1 .lv2 {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
  }
  footer .upper nav ul.lv1 .lv2.narrow {
    width: auto;
  }
  footer .upper nav ul.lv1 .lv2 li {
    min-width: 130px;
    font-size: 13px;
  }
  footer .upper nav ul.lv1 .lv2 li::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 2px;
    background: #01823F;
    vertical-align: middle;
    margin-right: 6px;
    position: relative;
    top: -0.15em;
  }
  footer .upper nav ul.lv1 .lv2 li a {
    transition: 0.3s;
  }
  footer .upper nav ul.lv1 .lv2 li a:hover {
    opacity: 0.8;
  }
  footer .lower {
    margin-top: 40px;
    padding-top: 20px;
    flex-direction: column;
  }
  footer .lower nav ul {
    display: flex;
    gap: 30px;
  }
  footer .lower .copyright {
    margin-top: 20px;
    font-size: 10px;
  }
}

/*--------------------------------------------------------------
下層ページ
--------------------------------------------------------------*/
main:not(.sitetop).gray {
  background: #F6F6F6;
}
main:not(.sitetop) #mv {
  position: relative;
  height: 384px;
}
main:not(.sitetop) #mv .tset {
  height: 340px;
  background: #F6F6F6;
  padding-top: 80px;
}
main:not(.sitetop) #mv .tset .topicpath {
  display: flex;
}
main:not(.sitetop) #mv .tset .topicpath li {
  font-size: 14px;
}
main:not(.sitetop) #mv .tset .topicpath li + li::before {
  content: "　>　";
}
main:not(.sitetop) #mv .tset .topicpath li a {
  color: #8E8E8E;
}
main:not(.sitetop) #mv .tset .ttl {
  margin-top: 48px;
  font-size: 40px;
  font-family: "BIZ UDPMincho", s\e rif;
}
main:not(.sitetop) #mv .tset .en {
  color: #01823F;
  font-weight: 500;
  margin-top: 8px;
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 600;
}
main:not(.sitetop) #mv .photo {
  position: absolute;
  width: calc(50% + 192px);
  height: 384px;
  min-width: 892px;
  bottom: 0;
  left: calc(50% - 192px);
}
main:not(.sitetop) #mv .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main:not(.sitetop) #mv.nophoto {
  height: 340px;
  background: #F6F6F6;
}
main:not(.sitetop) #mv.allphoto {
  position: relative;
  z-index: 2;
  background: none;
  height: 384px;
}
main:not(.sitetop) #mv.allphoto .tset {
  height: 100%;
  background: none;
  padding-top: 100px;
}
main:not(.sitetop) #mv.allphoto .tset .topicpath li {
  color: #fff;
}
main:not(.sitetop) #mv.allphoto .tset .ttl, main:not(.sitetop) #mv.allphoto .tset .en {
  color: #fff;
}
main:not(.sitetop) #mv.allphoto .photo {
  top: 0;
  left: 0;
  height: 384px;
  width: 100%;
  z-index: -1;
}
main:not(.sitetop) #mv.allphoto .photo img {
  -o-object-fit: cover;
     object-fit: cover;
}
main:not(.sitetop) #mv.nophoto .tset {
  height: 100%;
}
main:not(.sitetop) #mv.nophoto .tset .inner {
  height: 100%;
  border-bottom: 1px solid #D4D4D4;
}
main:not(.sitetop) > section:not(#mv) {
  padding-top: 130px;
}
main:not(.sitetop) > section:not(#mv).lead_regular {
  padding: 60px 0 0 0;
}
main:not(.sitetop) > section:not(#mv).lead_regular .heading {
  font-size: 24px;
  line-height: 2;
  font-weight: bold;
}
main:not(.sitetop) > section:not(#mv).lead_regular p {
  margin-top: 25px;
}
main:not(.sitetop) > section:not(#mv).lead_regular figure {
  margin-top: 60px;
}
main:not(.sitetop) > section:not(#mv).lead_regular figure img {
  border-radius: 8px;
}
main:not(.sitetop) > section:not(#mv).lead_photo {
  margin-top: 0;
  padding: 0px 0 0 0;
  position: relative;
}
main:not(.sitetop) > section:not(#mv).lead_photo .heading {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 2;
  color: #fff;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-bottom: 55px;
}
main:not(.sitetop) > section:not(#mv).lead_photo p {
  margin-top: 25px;
}
main:not(.sitetop) > section:not(#mv).lead_photo figure {
  margin-top: 0px;
}
main:not(.sitetop) > section:not(#mv).lead_photo figure img {
  border-radius: 8px;
}
main:not(.sitetop) section.flow_regular .hset {
  margin-bottom: 80px;
}
main:not(.sitetop) section.flow_regular .hset p {
  margin-top: 30px;
}
main:not(.sitetop) section.flow_regular .block + .block {
  margin-top: 100px;
}
main:not(.sitetop) section.flow_regular .block .hgroup {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
main:not(.sitetop) section.flow_regular .block .hgroup .number {
  font-size: 64px;
  font-weight: bold;
  font-family: "Barlow", sans-serif;
  color: #01823F;
  line-height: 0.8;
  width: 104px;
  position: relative;
}
main:not(.sitetop) section.flow_regular .block .hgroup .number::after {
  right: 20px;
  top: 50%;
  display: inline-block;
  width: 24px;
  height: 1px;
  content: "";
  background: #01823F;
  vertical-align: middle;
  position: absolute;
}
main:not(.sitetop) section.flow_regular .block .hgroup .heading {
  font-size: 24px;
  line-height: 1.8;
  font-weight: bold;
}
main:not(.sitetop) section.flow_regular .block .main {
  margin-top: 20px;
  padding-left: 110px;
  display: flex;
  justify-content: space-between;
}
main:not(.sitetop) section.flow_regular .block .main .txt {
  width: 416px;
}
main:not(.sitetop) section.flow_regular .block .main figure {
  width: 376px;
}
main:not(.sitetop) section.flow_regular .block .main figure img {
  border-radius: 8px;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea {
  border-top: 1px solid #D4D4D4;
  border-bottom: 1px solid #D4D4D4;
  padding: 36px;
  margin-top: 50px;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.simplebtn {
  text-align: center;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.simplebtn .heading {
  font-size: 20px;
  font-weight: bold;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.simplebtn .btn {
  margin-top: 20px;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.tel {
  padding: 24px 20px;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .heading {
  font-size: 16px;
  font-weight: bold;
  color: #01823F;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .heading .small {
  font-size: 85%;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .tel {
  line-height: 1.7;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .tel + .heading {
  margin-top: 10px;
}
main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .tel .number {
  font-family: "Barlow", sans-serif;
  font-size: 24px;
  font-weight: bold;
  width: 8em;
  padding-bottom: 3px;
}
main:not(.sitetop) section.stock {
  border-radius: 8px;
  margin-top: 130px;
  background: #fff;
  padding: 100px 0;
}
main:not(.sitetop) section.stock .hgroup {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
main:not(.sitetop) section.stock .hgroup .heading {
  font-size: 32px;
  font-weight: bold;
}
main:not(.sitetop) section.stock ul.list {
  border-top: 1px solid #D4D4D4;
  border-bottom: 1px solid #D4D4D4;
  margin-top: 60px;
  display: flex;
  gap: 0 66px;
  flex-wrap: wrap;
}
main:not(.sitetop) section.stock ul.list li {
  padding: 45px 0 45px 20px;
  display: flex;
  width: calc(50% - 33px);
}
main:not(.sitetop) section.stock ul.list li:nth-child(n+3) {
  border-top: 1px solid #D4D4D4;
}
main:not(.sitetop) section.stock ul.list li .heading {
  width: 180px;
  font-weight: bold;
  font-size: 16px;
}
@media (max-width: 767px) {
  main:not(.sitetop) #mv {
    position: relative;
    height: 310px;
  }
  main:not(.sitetop) #mv .tset {
    height: 235px;
    padding-top: 20px;
  }
  main:not(.sitetop) #mv .tset .topicpath li {
    font-size: 11px;
  }
  main:not(.sitetop) #mv .tset .ttl {
    margin-top: 28px;
    font-size: 30px;
  }
  main:not(.sitetop) #mv .tset .en {
    margin-top: 8px;
    font-size: 18px;
  }
  main:not(.sitetop) #mv .photo {
    position: absolute;
    width: 95vw;
    height: 150px;
    min-width: 10px;
    bottom: 0;
    left: 5vw;
  }
  main:not(.sitetop) #mv .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main:not(.sitetop) #mv.nophoto {
    height: 170px;
  }
  main:not(.sitetop) #mv.allphoto {
    height: 170px;
  }
  main:not(.sitetop) #mv.allphoto .tset {
    padding-top: 20px;
  }
  main:not(.sitetop) #mv.allphoto .photo {
    height: 100%;
  }
  main:not(.sitetop) #mv.nophoto .tset {
    height: 100%;
  }
  main:not(.sitetop) #mv.nophoto .tset .inner {
    height: 100%;
    border-bottom: 1px solid #D4D4D4;
  }
  main:not(.sitetop) > section:not(#mv) {
    padding-top: 80px;
  }
  main:not(.sitetop) > section:not(#mv).lead_regular {
    padding: 60px 0 0 0;
  }
  main:not(.sitetop) > section:not(#mv).lead_regular .heading {
    font-size: 21px;
    line-height: 2;
    font-weight: bold;
  }
  main:not(.sitetop) > section:not(#mv).lead_regular p {
    margin-top: 25px;
  }
  main:not(.sitetop) > section:not(#mv).lead_regular figure {
    margin-top: 40px;
  }
  main:not(.sitetop) > section:not(#mv).lead_regular figure img {
    border-radius: 8px;
  }
  main:not(.sitetop) > section:not(#mv).lead_photo {
    margin-top: 0;
    padding: 0 0 0 0;
    position: relative;
  }
  main:not(.sitetop) > section:not(#mv).lead_photo .heading {
    font-size: 21px;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 2;
    color: #fff;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: 15px;
  }
  main:not(.sitetop) > section:not(#mv).lead_photo p {
    margin-top: 25px;
  }
  main:not(.sitetop) > section:not(#mv).lead_photo figure {
    margin-top: 0px;
  }
  main:not(.sitetop) > section:not(#mv).lead_photo figure img {
    border-radius: 8px;
  }
  main:not(.sitetop) section.flow_regular .hset {
    margin-bottom: 80px;
  }
  main:not(.sitetop) section.flow_regular .hset p {
    margin-top: 30px;
  }
  main:not(.sitetop) section.flow_regular .block + .block {
    margin-top: 60px;
  }
  main:not(.sitetop) section.flow_regular .block .hgroup {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  main:not(.sitetop) section.flow_regular .block .hgroup .number {
    font-size: 48px;
    width: 70px;
  }
  main:not(.sitetop) section.flow_regular .block .hgroup .number::after {
    right: 10px;
    top: 50%;
    display: inline-block;
    width: 24px;
    height: 1px;
    content: "";
    background: #01823F;
    vertical-align: middle;
    position: absolute;
  }
  main:not(.sitetop) section.flow_regular .block .hgroup .heading {
    width: calc(100% - 70px);
    padding-top: 3px;
    font-size: 21px;
    line-height: 1.4;
  }
  main:not(.sitetop) section.flow_regular .block .main {
    margin-top: 25px;
    padding-left: 0;
    display: flex;
    flex-direction: column-reverse;
  }
  main:not(.sitetop) section.flow_regular .block .main .txt {
    width: auto;
    margin-top: 25px;
  }
  main:not(.sitetop) section.flow_regular .block .main figure {
    width: auto;
    text-align: center;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea {
    padding: 28px;
    margin-top: 30px;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea.simplebtn .heading {
    font-size: 18px;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea.simplebtn .btn {
    margin-top: 15px;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea.tel {
    padding: 18px 10px;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .heading {
    font-size: 16px;
    font-weight: bold;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .tel + .heading {
    margin-top: 10px;
  }
  main:not(.sitetop) section.flow_regular .block .main .linkarea.tel .tel .number {
    font-size: 21px;
  }
  main:not(.sitetop) section.stock {
    margin-top: 100px;
    padding: 50px 0 !important;
  }
  main:not(.sitetop) section.stock .hgroup {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  main:not(.sitetop) section.stock .hgroup .heading {
    font-size: 24px;
  }
  main:not(.sitetop) section.stock ul.list {
    border-top: 1px solid #D4D4D4;
    border-bottom: 1px solid #D4D4D4;
    margin-top: 40px;
    display: flex;
    gap: 0 66px;
    flex-wrap: wrap;
  }
  main:not(.sitetop) section.stock ul.list li {
    padding: 25px 0 25px 0px;
    display: flex;
    width: 100%;
  }
  main:not(.sitetop) section.stock ul.list li:nth-child(n+2) {
    border-top: 1px solid #D4D4D4;
  }
  main:not(.sitetop) section.stock ul.list li .heading {
    width: 9em;
    font-weight: bold;
    font-size: 15px;
  }
  main:not(.sitetop) section.stock ul.list li p {
    width: calc(100% - 9em);
  }
}
main:not(.sitetop) .numberlist {
  margin-top: 160px;
  background: #fff;
  padding: 100px 0 !important;
  border-radius: 8px;
}
main:not(.sitetop) .numberlist .block {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
main:not(.sitetop) .numberlist .block + .block {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #D4D4D4;
}
main:not(.sitetop) .numberlist .block figure {
  width: 480px;
}
main:not(.sitetop) .numberlist .block .txt {
  width: 384px;
  padding-bottom: 1em;
}
main:not(.sitetop) .numberlist .block .txt .heading {
  position: relative;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
main:not(.sitetop) .numberlist .block .txt .heading .number {
  position: absolute;
  color: #01823F;
  top: 0.4em;
  left: -2em;
  font-size: 16px;
  font-weight: bold;
  font-family: "Barlow", sans-serif;
}
main:not(.sitetop) .numberlist .block .txt p {
  margin-top: 20px;
  font-size: 14px;
  line-height: 2;
}
@media (max-width: 767px) {
  main:not(.sitetop) .numberlist {
    margin-top: 50px;
    padding: 50px 0 !important;
  }
  main:not(.sitetop) .numberlist .block {
    flex-direction: column;
    align-items: center;
  }
  main:not(.sitetop) .numberlist .block + .block {
    margin-top: 21px;
    padding-top: 42px;
    border-top: 1px solid #D4D4D4;
  }
  main:not(.sitetop) .numberlist .block figure {
    width: auto;
  }
  main:not(.sitetop) .numberlist .block .txt {
    margin-top: 15px;
    width: auto;
    padding-bottom: 1em;
  }
  main:not(.sitetop) .numberlist .block .txt .heading {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    margin-left: 32px;
  }
  main:not(.sitetop) .numberlist .block .txt .heading .number {
    position: absolute;
    color: #01823F;
    top: 0.4em;
    left: -2em;
    font-size: 16px;
  }
  main:not(.sitetop) .numberlist .block .txt p {
    margin-top: 10px;
  }
}

/*--------------------------------------------------------------
policy
--------------------------------------------------------------*/
main.policy {
  padding-bottom: 130px;
}
main.policy section#spirit .hgroup h2 {
  font-size: 64px;
  font-family: "BIZ UDPMincho", serif;
}
main.policy section#spirit .hgroup h2 .small {
  font-size: 75%;
}
main.policy section#spirit .hgroup h2 strong {
  color: #01823F;
}
main.policy section#spirit .hgroup p.en {
  margin-top: 15px;
  padding-top: 0px;
  border-top: 1px solid #D4D4D4;
  font-size: 24px;
  font-weight: 500;
  color: #d4d4d4;
}
main.policy section#spirit .block {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
main.policy section#spirit .block .body {
  width: 610px;
  padding-top: 40px;
}
main.policy section#spirit #origin ul {
  display: flex;
  justify-content: space-between;
}
main.policy section#spirit #origin ul li {
  width: 176px;
  height: 176px;
  border: 1px solid #D4D4D4;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  position: relative;
}
main.policy section#spirit #origin ul li::before {
  content: "";
  width: 24px;
  height: 24px;
  background: #01823F;
  border-radius: 50%;
  position: absolute;
  top: 8%;
  left: 8%;
}
main.policy section#spirit #objective ul li, main.policy section#spirit #policy ul li {
  font-size: 20px;
  line-height: 1.8;
  border-bottom: 1px solid #D4D4D4;
  padding: 20px 0px 20px 30px;
}
main.policy section#spirit #objective ul li + li, main.policy section#spirit #policy ul li + li {
  margin-top: 20px;
}
@media (max-width: 767px) {
  main.policy {
    padding-bottom: 100px;
  }
  main.policy section#spirit .hgroup h2 {
    font-size: 46px;
  }
  main.policy section#spirit .hgroup h2 .small {
    font-size: 75%;
  }
  main.policy section#spirit .hgroup p.en {
    font-size: 24px;
  }
  main.policy section#spirit .block {
    margin-top: 80px;
    flex-direction: column;
  }
  main.policy section#spirit .block .body {
    width: auto;
    padding-top: 40px;
  }
  main.policy section#spirit #origin {
    width: 90vw;
  }
  main.policy section#spirit #origin ul {
    display: flex;
    justify-content: space-between;
    width: 90vw;
  }
  main.policy section#spirit #origin ul li {
    width: 40%;
    height: auto;
    aspect-ratio: 1/1;
    font-size: 24px;
  }
  main.policy section#spirit #origin ul li + li {
    margin-left: -3%;
  }
  main.policy section#spirit #objective ul li, main.policy section#spirit #policy ul li {
    font-size: 18px;
    padding: 15px 0px 15px 30px;
  }
  main.policy section#spirit #objective ul li + li, main.policy section#spirit #policy ul li + li {
    margin-top: 20px;
  }
}

/*--------------------------------------------------------------
about
--------------------------------------------------------------*/
main.about {
  padding-bottom: 180px;
}
main.about .lead h2 {
  font-size: 40px;
  font-family: "BIZ UDPMincho", serif;
  line-height: 1.5;
}
main.about .lead p {
  margin-top: 40px;
}
main.about #intro div.list {
  margin-top: 50px;
  padding: 80px 0;
  background: #F6F6F6;
  border-radius: 8px;
}
main.about #intro div.list .block + .block {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #D4D4D4;
}
main.about #intro div.list .block:nth-of-type(2) {
  border: none;
}
main.about #intro div.list h2.hwnum {
  margin: auto auto 20px;
  font-size: 32px;
  font-weight: bold;
  padding-top: 0;
}
main.about #intro div.list p {
  padding: 0 30px;
}
main.about #intro div.list p strong {
  font-weight: bold;
}
main.about #intro div.list .detail {
  margin-top: 30px;
}
main.about #intro div.list .detail h3 {
  font-weight: bold;
  font-size: 20px;
  margin-top: 30px;
}
main.about #intro div.list .detail .links {
  display: flex;
  margin-top: 20px;
}
main.about #intro div.list .detail .links li {
  width: 33.33333%;
  position: relative;
  z-index: 2;
}
main.about #intro div.list .detail .links li a {
  width: 100%;
  height: 100%;
  flex-direction: column;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: 15px;
  justify-content: center;
  align-items: center;
  color: #fff;
}
main.about #intro div.list .detail .plasticity {
  margin-top: 10px;
  padding-left: 60px;
}
main.about #intro div.list .detail .plasticity li {
  padding-left: 32px;
  text-indent: -32px;
  font-size: 20px;
}
main.about #intro div.list .detail .plasticity li + li {
  margin-top: 5px;
}
main.about #intro div.list .detail .plasticity li::before {
  margin-right: 16px;
  width: 16px;
  height: 2px;
  content: "";
  background: #01823F;
  display: inline-block;
  vertical-align: middle;
}
main.about #intro div.list .detail .plasticity li strong {
  color: #01823F;
  line-height: 1.8;
}
main.about #solution h2 strong {
  font-family: "Barlow", sans-serif;
  color: #01823F;
  font-size: 120%;
  font-weight: bold;
}
main.about #solution h2 strong .small {
  font-size: 50%;
}
main.about #solution .btn {
  margin-top: 40px;
}
@media (max-width: 767px) {
  main.about {
    padding-bottom: 100px;
  }
  main.about .lead h2 {
    font-size: 28px;
  }
  main.about .lead p {
    margin-top: 40px;
  }
  main.about #intro div.list {
    margin-top: 50px;
    padding: 50px 0;
    background: #F6F6F6;
    border-radius: 8px;
  }
  main.about #intro div.list .block + .block {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #D4D4D4;
  }
  main.about #intro div.list .block:nth-of-type(2) {
    border: none;
  }
  main.about #intro div.list h2.hwnum {
    margin: auto auto 20px;
    font-size: 21px;
  }
  main.about #intro div.list .detail {
    margin-top: 30px;
  }
  main.about #intro div.list .detail h3 {
    font-weight: bold;
    font-size: 16px;
    margin-top: 30px;
  }
  main.about #intro div.list .detail .links {
    display: block;
    margin-top: 20px;
  }
  main.about #intro div.list .detail .links li {
    width: 100%;
    position: relative;
    z-index: 2;
    margin-top: 1px;
  }
  main.about #intro div.list .detail .links li figure {
    width: 100%;
    height: auto;
  }
  main.about #intro div.list .detail .links li figure img {
    width: 100%;
    aspect-ratio: 16/6;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main.about #intro div.list .detail .links li a {
    gap: 8px;
    padding-bottom: 5%;
  }
  main.about #intro div.list .detail .plasticity {
    margin-top: 10px;
    padding-left: 0;
  }
  main.about #intro div.list .detail .plasticity li {
    padding-left: 28px;
    text-indent: -28px;
    font-size: 16px;
  }
  main.about #intro div.list .detail .plasticity li::before {
    margin-right: 14px;
    width: 14px;
    height: 1px;
  }
  main.about #intro div.list .detail .plasticity li strong {
    color: #01823F;
    line-height: 1.8;
  }
  main.about #solution h2 strong {
    font-family: "Barlow", sans-serif;
    color: #01823F;
    font-size: 120%;
    font-weight: bold;
  }
  main.about #solution h2 strong .small {
    font-size: 50%;
  }
  main.about #solution .btn {
    margin-top: 40px;
  }
}

/*--------------------------------------------------------------
news
--------------------------------------------------------------*/
main.news {
  padding-bottom: 130px;
}
main.news .innernav {
  border-bottom: 1px solid #d4d4d4;
}
main.news .innernav ul {
  display: flex;
  padding: 30px 0;
  gap: 40px;
}
main.news .innernav ul li a {
  color: #8E8E8E;
  font-weight: 500;
}
main.news .innernav ul li a:hover {
  color: #01823F;
}
main.news .innernav ul li.current a {
  color: #01823F;
  font-weight: bold;
}
main.news section#newslist {
  padding-top: 0;
}
main.news section#newslist ul li {
  border-bottom: 1px solid #d4d4d4;
}
main.news section#newslist ul li a {
  padding: 30px 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
main.news section#newslist ul li a .arrowslidetxt {
  width: calc(100% - 68px);
}
main.news section#newslist ul li a .arrow {
  width: 48px;
}
main.news section#newslist ul li a .newsinner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
main.news section#newslist ul li a .date {
  color: #8E8E8E;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
  width: 146px;
}
main.news section#newslist ul li a .category {
  width: 96px;
  line-height: 24px;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  background: #01823F;
  color: #fff;
  border-radius: 20px;
  font-size: 14px;
}
main.news section#newslist ul li a .heading {
  width: calc(100% - 146px - 96px);
  padding-left: 33px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  main.news {
    padding-bottom: 100px;
  }
  main.news .innernav ul {
    display: flex;
    padding: 20px 10;
    gap: 20px 20px;
    flex-wrap: wrap;
  }
  main.news .innernav ul li {
    width: calc(50% - 10px);
  }
  main.news .innernav ul li a {
    padding: 0;
  }
  main.news section#newslist ul li a {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
  }
  main.news section#newslist ul li a .arrowslidetxt {
    width: calc(100% - 68px);
  }
  main.news section#newslist ul li a .arrow {
    width: 48px;
  }
  main.news section#newslist ul li a .newsinner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }
  main.news section#newslist ul li a .date {
    color: #8E8E8E;
    font-weight: bold;
    font-size: 14px;
    white-space: nowrap;
    width: auto;
  }
  main.news section#newslist ul li a .category {
    width: auto;
    padding: 0 15px;
    line-height: 18px;
    font-size: 12px;
    margin: 0 0 0 5px;
    margin-right: -50px;
  }
  main.news section#newslist ul li a .heading {
    margin-top: 10px;
    font-size: 14px;
    width: 100%;
    padding-left: 0;
    line-height: 1.5;
  }
}
main.news .pager {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}
main.news .pager .wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
main.news .pager a, main.news .pager span {
  display: inline-flex;
  margin: auto 5px;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  font-family: "Barlow", sans-serif;
  color: #fff;
  font-size: 16px;
  background: #01823F center center no-repeat;
  border-radius: 50%;
  position: relative;
}
main.news .pager a:hover, main.news .pager span:hover {
  background-color: #fff;
  color: #01823F;
}
main.news .pager span {
  background-color: #fff;
  color: #01823F;
}
main.news .pager .pages {
  display: none;
}
main.news .pager a.previouspostslink, main.news .pager a.nextpostslink {
  display: none;
  font-size: 0;
}
main.news .pager a.previouspostslink::before, main.news .pager a.nextpostslink::before {
  width: 100%;
  height: 100%;
  content: "";
  background: url(/wordpress/wp-content/themes/numata/images/common/arrow_r_green.svg) center center no-repeat;
  filter: grayscale(1) brightness(1000%);
  transition: 0.25s;
}
main.news .pager a.previouspostslink:hover::before, main.news .pager a.nextpostslink:hover::before {
  filter: grayscale(0) brightness(100%);
}
main.news .pager a.previouspostslink::before {
  transform: rotate(180deg);
}

/*--------------------------------------------------------------
news
--------------------------------------------------------------*/
main.news.article article .inner {
  margin-top: 50px;
  background: #fff;
  border-radius: 8px;
  padding: 70px 70px 100px;
}
@media (max-width: 768px) {
  main.news.article article .inner {
    padding: 30px 5vw 60px;
  }
}
main.news.article article .article_ttl {
  font-size: 180%;
  font-weight: 700;
}
main.news.article article .spec {
  margin-top: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
main.news.article article .date {
  color: #8E8E8E;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
  margin-right: 20px;
}
main.news.article article .category {
  width: 96px;
  line-height: 24px;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  background: #01823F;
  color: #fff;
  border-radius: 20px;
  font-size: 14px;
}
main.news.article article .txt {
  margin-top: 70px;
  /* Add general display for bullets and numbers */
  /* Style for bullet lists */
  /* Reset counter for each list */
  /* Style for numbered lists. Increment counter for each list item */
}
main.news.article article .txt h1 {
  font-size: 150%;
  font-weight: bold;
  margin-top: 2.7em;
}
main.news.article article .txt h2 {
  font-size: 130%;
  font-weight: bold;
  margin-top: 2.4em;
}
main.news.article article .txt h3 {
  font-size: 115%;
  font-weight: bold;
  margin-top: 2.1em;
}
main.news.article article .txt h4 {
  font-size: 100%;
  font-weight: bold;
  margin-top: 1.8em;
}
main.news.article article .txt h5 {
  font-size: 95%;
  font-weight: bold;
  margin-top: 1.5em;
}
main.news.article article .txt p {
  margin-top: 1em;
}
main.news.article article .txt hr {
  display: block;
  width: 100%;
  border-top: 1px solid #aaa;
  margin: 1em auto;
}
main.news.article article .txt ul,
main.news.article article .txt ol {
  position: relative;
  list-style: none;
  padding: 0;
  margin-top: 1em;
}
main.news.article article .txt ul li,
main.news.article article .txt ol li {
  padding-left: 1em;
  margin: 0.25em 0;
}
main.news.article article .txt ul li:before,
main.news.article article .txt ol li:before {
  position: absolute;
  left: 0;
  color: #333;
  font-family: "Barlow", sans-serif;
  font-weight: bold;
}
main.news.article article .txt ul li:before {
  content: "•";
  color: #333;
}
main.news.article article .txt ol {
  counter-reset: listitem;
}
main.news.article article .txt ol li {
  padding-left: 1.3em;
}
main.news.article article .txt ol li:before {
  counter-increment: listitem;
  content: counters(listitem, ".") ".";
  font-family: "Barlow", sans-serif;
  padding-top: 0.05em;
}
main.news.article article .txt blockquote {
  border-radius: 8px;
  margin: 1.5em auto;
  border: 1px solid #ccc;
  padding: 16px 30px 20px;
}
main.news.article article .txt blockquote *:first-child {
  margin-top: 0;
}
@media (max-width: 768px) {
  main.news.article article .txt .table_wrapper {
    overflow: scroll;
  }
  main.news.article article .txt .table_wrapper table tr {
    white-space: nowrap;
  }
}
main.news.article article .txt table {
  margin-top: 1.5em;
}
main.news.article article .txt table tr {
  border-bottom: 1px solid #ccc;
}
main.news.article article .txt table tr:first-child {
  border-top: 1px solid #ccc;
}
main.news.article article .txt table tr th {
  font-weight: bold;
  padding: 10px 12px;
}
main.news.article article .txt table tr td {
  padding: 10px 12px;
}
main.news.article article .txt img.aligncenter {
  display: block;
  margin: auto;
}
main.news.article article .txt img.alignright {
  display: block;
  margin: auto auto 20px 20px;
  float: right;
}
main.news.article article .txt img.alignleft {
  display: block;
  margin: auto 20px auto 20px;
  float: right;
}
main.news.article article .tolist {
  margin-top: 120px;
  text-align: center;
}
@media (max-width: 768px) {
  main.news.article article .tolist {
    margin-top: 100px;
  }
}

/*--------------------------------------------------------------
privacy, terms
--------------------------------------------------------------*/
main.privacy section#lead, main.terms section#lead {
  padding-top: 90px;
}
main.privacy section#lead h2, main.terms section#lead h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
main.privacy #content, main.terms #content {
  border-top: 1px solid #d4d4d4;
  width: 834px;
  margin: 90px auto auto;
  padding-top: 50px !important;
}
main.privacy .hyphen, main.terms .hyphen {
  padding-left: 50px;
}
main.privacy .hyphen::before, main.terms .hyphen::before {
  width: 32px;
}

main.privacy .hyphen {
  padding-left: 50px;
  font-size: 14px;
}
main.privacy .hyphen::before {
  width: 32px;
}
main.privacy .hyphen a.arrowslide {
  width: 192px;
  height: 64px;
  background: #fff;
  border-radius: 8px;
}
main.privacy .hyphen p + p {
  margin-top: 15px;
}
main.privacy .date {
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid #d4d4d4;
  text-align: right;
}

main.terms #content ul li {
  padding-top: 0;
}
main.terms #content ul li + li {
  border-top: 1px solid #d4d4d4;
  margin-top: 40px;
  padding-top: 30px;
}
main.terms #content ul li .heading {
  margin: auto;
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-top: 0;
}
main.terms #content ul li .heading .number {
  top: 0.2em;
  font-size: 16px;
}
main.terms #content ul li p {
  margin-top: 5px;
  padding-left: 30px;
  font-size: 14px;
}
main.terms #content ul li p + p {
  margin-top: 5px;
}

@media (max-width: 767px) {
  main.privacy section#lead, main.terms section#lead {
    padding-top: 50px;
  }
  main.privacy section#lead h2, main.terms section#lead h2 {
    font-size: 18px;
  }
  main.privacy section#lead p, main.terms section#lead p {
    font-size: 14px;
  }
  main.privacy #content, main.terms #content {
    width: auto;
    margin: 40px 5vw auto;
    padding-top: 30px !important;
  }
  main.privacy #content .inner, main.terms #content .inner {
    margin: auto;
  }
  main.privacy .hyphen, main.terms .hyphen {
    padding-left: 30px;
  }
  main.privacy .hyphen::before, main.terms .hyphen::before {
    width: 16px;
  }
  main.privacy .hyphen {
    padding-left: 30px;
    font-size: 13px;
  }
  main.privacy .hyphen::before {
    width: 16px;
  }
  main.privacy .hyphen a.arrowslide {
    width: 192px;
    height: 64px;
  }
  main.privacy .hyphen p {
    font-size: 14px;
  }
  main.privacy .hyphen p + p {
    margin-top: 15px;
  }
  main.privacy .date {
    margin-top: 40px;
    padding-top: 30px;
  }
  main.terms #content {
    padding-top: 30px !important;
  }
  main.terms #content ul li {
    padding-top: 0;
  }
  main.terms #content ul li + li {
    margin-top: 30px;
    padding-top: 20px;
  }
  main.terms #content ul li .heading {
    margin: auto;
    font-size: 18px;
    padding-top: 0;
  }
  main.terms #content ul li .heading .number {
    top: 0.2em;
    font-size: 16px;
  }
  main.terms #content ul li p {
    margin-top: 5px;
    padding-left: 0;
    font-size: 14px;
  }
  main.terms #content ul li p + p {
    margin-top: 5px;
  }
}
/*--------------------------------------------------------------
organization
--------------------------------------------------------------*/
main.organization {
  padding-bottom: 180px;
}
main.organization .lead h2 {
  font-size: 40px;
  font-family: "BIZ UDPMincho", serif;
  line-height: 1.5;
}
main.organization .lead p {
  margin-top: 40px;
}
main.organization section#organization h2 {
  padding-bottom: 15px;
  border-bottom: 2px solid #01823F;
  font-size: 32px;
  font-weight: bold;
}
main.organization section#organization .chart {
  margin-top: 50px;
  background: #fff;
  border-radius: 8px;
  padding: 70px 0;
}
main.organization section#organization .chart .inner {
  position: relative;
}
main.organization section#organization .chart a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F4F4F4;
  border: 2px solid #01823F;
  width: 168px;
  height: 50px;
  font-size: 16px;
  font-weight: bold;
  color: #01823F;
  transition: 0.3s;
  position: absolute;
  top: 103px;
  left: 634px;
}
main.organization section#organization .chart a:hover {
  background: #01823F;
  color: #fff;
}
main.organization section#organization .chart a.kanri {
  left: 437px;
  top: 0;
}
main.organization section#organization .chart a.y-sol {
  left: 437px;
  top: 665px;
}
main.organization section#organization .chart a.kaihatsu {
  top: 173px;
}
main.organization section#organization .chart a.ibaraki {
  top: 243px;
}
main.organization section#organization .chart a.fitting {
  top: 312px;
}
main.organization section#organization .chart a.koufu {
  top: 383px;
}
main.organization section#organization .chart a.niigata {
  top: 453px;
}
main.organization section#organization .chart a.yamagata {
  top: 524px;
}
main.organization section#organization .chart a.yamagata3 {
  top: 593px;
}
main.organization section#organization .detail {
  margin-top: 80px;
}
main.organization section#organization .detail ul {
  display: flex;
  flex-wrap: wrap;
  gap: 70px calc(100% - 880px);
}
main.organization section#organization .detail ul li {
  width: 440px;
}
main.organization section#organization .detail ul li h3 {
  background: #01823F;
  padding: 8px 12px 9px 24px;
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  line-height: 1.6;
}
main.organization section#organization .detail ul li h3 .small {
  display: block;
  font-size: 13px;
}
main.organization section#organization .detail ul li .bodycopy {
  margin-top: 20px;
}
main.organization section#organization .detail ul li p, main.organization section#organization .detail ul li btn {
  margin-top: 15px;
}
main.organization section#organization .detail ul li .products {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #d4d4d4;
}
main.organization section#organization .detail ul li .products h4 {
  font-size: 13px;
  font-weight: bold;
  color: #8E8E8E;
  margin-bottom: 3px;
}
main.organization section#organization .detail ul li .products p {
  font-size: 13px;
  line-height: 1.8;
}
@media (max-width: 767px) {
  main.organization {
    padding-bottom: 100px;
  }
  main.organization section#intro {
    padding-top: 50px !important;
  }
  main.organization .lead h2 {
    font-size: 28px;
  }
  main.organization .lead p {
    margin-top: 30px;
  }
  main.organization section#organization h2 {
    padding-bottom: 0px;
    font-size: 24px;
  }
  main.organization section#organization .chart {
    margin-top: 50px;
    background: #fff;
    border-radius: 8px;
    padding: 50px 5vw;
    height: auto;
  }
  main.organization section#organization .chart .inner {
    width: auto;
    margin: auto;
  }
  main.organization section#organization .chart figure {
    width: 90vw;
  }
  main.organization section#organization .chart a {
    background: rgba(255, 255, 255, 0);
    border: none;
    width: 8.45vw;
    height: 28.4vw;
    font-size: 0px;
    color: rgba(255, 255, 255, 0);
    position: absolute;
  }
  main.organization section#organization .chart a:hover {
    background: rgba(255, 255, 255, 0);
    color: rgba(255, 255, 255, 0);
  }
  main.organization section#organization .chart a.kanri {
    left: 0;
    top: 35.5263157895vw;
  }
  main.organization section#organization .chart a.y-sol {
    left: 81.5413533835vw;
    top: 35.5263157895vw;
  }
  main.organization section#organization .chart a.kouzai {
    left: 5.4135338346vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.kaihatsu {
    left: 15.3947368421vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.ibaraki {
    left: 25.545112782vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.fitting {
    left: 35.6954887218vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.koufu {
    left: 46.015037594vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.niigata {
    left: 56.1654135338vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.yamagata {
    left: 66.3157894737vw;
    top: 67.5vw;
  }
  main.organization section#organization .chart a.yamagata3 {
    left: 76.4661654135vw;
    top: 67.5vw;
  }
  main.organization section#organization .detail {
    margin-top: 50px;
  }
  main.organization section#organization .detail ul {
    gap: 50px;
  }
  main.organization section#organization .detail ul li {
    width: 100%;
  }
  main.organization section#organization .detail ul li h3 {
    background: #01823F;
    padding: 8px 12px 9px 24px;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
  }
  main.organization section#organization .detail ul li h3 .small {
    display: block;
    font-size: 13px;
  }
  main.organization section#organization .detail ul li .bodycopy {
    margin-top: 20px;
  }
  main.organization section#organization .detail ul li p, main.organization section#organization .detail ul li btn {
    margin-top: 15px;
  }
  main.organization section#organization .detail ul li .products {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #d4d4d4;
  }
  main.organization section#organization .detail ul li .products h4 {
    font-size: 13px;
    font-weight: bold;
    color: #8E8E8E;
    margin-bottom: 3px;
  }
  main.organization section#organization .detail ul li .products p {
    font-size: 13px;
    line-height: 1.8;
  }
}

/*--------------------------------------------------------------
contact
--------------------------------------------------------------*/
main.contact {
  padding-bottom: 130px;
}
main.contact section#lead {
  padding-top: 80px;
}
main.contact section#form {
  padding-top: 90px;
}
main.contact section#form .inner {
  width: 100%;
  max-width: 688px;
}
main.contact section#form .inner p.attention {
  font-size: 14px;
}
main.contact section#form .inner p.attention a {
  text-decoration: underline;
}
main.contact section#form .inner .essential {
  color: #FF0000;
}
main.contact section#form .inner table {
  width: 100%;
  margin: 12px auto;
  border-top: 1px solid #d4d4d4;
}
main.contact section#form .inner table tr {
  border-bottom: 1px solid #d4d4d4;
}
main.contact section#form .inner table th {
  font-size: 14px;
  vertical-align: top;
  padding: 18px 0 18px;
  width: calc(100% - 465px);
  text-align: left;
}
main.contact section#form .inner table td {
  width: 465px;
}
main.contact section#form .inner table td p {
  padding: 18px 0;
}
main.contact section#form .inner table td p:blank {
  display: none;
}
main.contact section#form .inner table td input, main.contact section#form .inner table td select, main.contact section#form .inner table td textarea {
  font-size: 14px;
  padding: 10px;
  border: 1px solid #D4D4D4;
  width: 100%;
  height: 36px;
  background: #fff;
}
main.contact section#form .inner table td input.mid, main.contact section#form .inner table td select.mid, main.contact section#form .inner table td textarea.mid {
  width: 310px;
}
main.contact section#form .inner table td input.short, main.contact section#form .inner table td select.short, main.contact section#form .inner table td textarea.short {
  width: 140px;
}
main.contact section#form .inner table td input::-moz-placeholder, main.contact section#form .inner table td select::-moz-placeholder, main.contact section#form .inner table td textarea::-moz-placeholder {
  color: #8E8E8E;
}
main.contact section#form .inner table td input::placeholder, main.contact section#form .inner table td select::placeholder, main.contact section#form .inner table td textarea::placeholder {
  color: #8E8E8E;
}
main.contact section#form .inner table td textarea {
  height: 234px;
}
main.contact section#form .inner table td select {
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 0 10px;
  background: #fff url(../images/common/arrow_down_gray.svg) calc(100% - 11px) center no-repeat;
}
main.contact section#form .inner table td div + div {
  margin-top: auto;
}
main.contact section#form .inner table td div + div p {
  padding-top: 0 !important;
}
main.contact section#form .inner .form_submit {
  margin-top: 60px;
}
main.contact section#form .inner .form_submit input[type=submit], main.contact section#form .inner .form_submit input[type=button] {
  width: 100%;
  height: 68px;
  display: flex;
  background: #01823F;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
  border: 1px solid #01823F;
}
main.contact section#form .inner .form_submit input[type=submit]:hover, main.contact section#form .inner .form_submit input[type=button]:hover {
  background: #fff;
  color: #01823F;
}
main.contact section#form .inner .form_submit input[type=button] {
  margin-top: 20px;
  height: 60px;
  background: #fff;
  font-size: 20px;
  color: #01823F;
  border: 1px solid #fff;
}
main.contact section#form .inner .form_submit input[type=button]:hover {
  border: 1px solid #01823F;
  background: #fff;
  color: #01823F;
}
main.contact section#form span.wpcf7-spinner {
  opacity: 0 !important;
}
main.contact div.confirm .back {
  text-align: center;
}
main.contact div.confirm div.wpcf7 + .back {
  display: none;
}
@media (max-width: 767px) {
  main.contact section#lead {
    padding-top: 60px;
  }
  main.contact section#form {
    padding-top: 60px;
    width: 100%;
  }
  main.contact section#form .inner {
    width: auto;
    max-width: 100%;
  }
  main.contact section#form .inner p.attention {
    font-size: 13px;
  }
  main.contact section#form .inner table {
    display: block;
    width: 100%;
    margin: 12px auto;
    border-top: 1px solid #d4d4d4;
  }
  main.contact section#form .inner table tbody {
    display: block;
    width: 100%;
  }
  main.contact section#form .inner table tr {
    width: 100%;
    display: block;
    border-bottom: 1px solid #d4d4d4;
  }
  main.contact section#form .inner table th {
    display: block;
    font-size: 14px;
    padding-top: 20px;
    padding-bottom: 0;
    width: auto;
    text-align: left;
  }
  main.contact section#form .inner table td {
    display: block;
    width: auto;
    padding: 12px 0 15px;
    padding-top: 0;
  }
  main.contact section#form .inner table td p {
    padding-bottom: 0;
  }
  main.contact section#form .inner table td input, main.contact section#form .inner table td select, main.contact section#form .inner table td textarea {
    font-size: 14px;
    padding: 10px;
    border: 1px solid #D4D4D4;
    width: 100%;
    height: 36px;
    background: #fff;
  }
  main.contact section#form .inner table td input.mid, main.contact section#form .inner table td select.mid, main.contact section#form .inner table td textarea.mid {
    max-width: 310px;
  }
  main.contact section#form .inner table td input.short, main.contact section#form .inner table td select.short, main.contact section#form .inner table td textarea.short {
    max-width: 140px;
  }
  main.contact section#form .inner table td textarea {
    height: 234px;
  }
  main.contact section#form .inner table td select {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0 0 10px;
    background: #fff url(../images/common/arrow_down_gray.svg) calc(100% - 11px) center no-repeat;
  }
  main.contact section#form .inner table td div + div {
    margin-top: 10px;
  }
  main.contact section#form .inner .form_submit {
    margin-top: 50px;
  }
  main.contact section#form .inner .form_submit input[type=submit] {
    height: 58px;
    font-size: 18px;
  }
  main.contact section#form .inner .form_submit input[type=button] {
    margin-top: 20px;
    height: 40px;
    font-size: 18px;
  }
}
main.contact .wpcf7-response-output {
  margin: auto !important;
  color: #e71a19;
  text-align: center;
  padding-left: 0 !important;
  border: none !important;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  top: 0px;
}
@media (max-width: 768px) {
  main.contact .wpcf7-response-output {
    font-size: 13px;
    top: 0;
  }
}
main.contact .wpcf7-response-output + input {
  display: none !important;
}
main.contact.confirm table th p {
  opacity: 0.7;
}
main.contact.thanks .inquiry {
  margin-top: 2em;
}
main.contact.thanks .inquiry h3 {
  font-weight: bold;
}
main.contact.thanks .inquiry .small {
  font-size: 85%;
  font-weight: normal;
}

/*--------------------------------------------------------------

--------------------------------------------------------------*/
/*--------------------------------------------------------------

--------------------------------------------------------------*/
/*--------------------------------------------------------------

--------------------------------------------------------------*/
/*--------------------------------------------------------------

--------------------------------------------------------------*/
/*# sourceMappingURL=style.css.map */