/*!
Theme Name: mkkd_theme
Theme URI: http://underscores.me/
Author: alimardesign
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mkkd_theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

mkkd_theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 0;
  min-width: 0;
}
*:focus {
  outline: none;
}
html {
  font-size: 15px;
  box-sizing: border-box;
}
body {
  width: 100%;
  font-family: 'Barlow', 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  color: #212121;
  background-color: #F5F5F5;
  margin: 0 auto;
  padding: 0;
  letter-spacing: 0.07em;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
  display: block;
  overflow: auto;
  font-feature-settings: "palt";
  line-break: strict;
  animation: fadein 2s forwards;
}
input:-webkit-autofill {
  transition: background-color 5000s ease-in-out 0s !important;
}
a:link {
  color: #212121;
  text-decoration: none;
  transition: all 0.5s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}
a:hover {
  color: #3399FF;
  text-decoration: none;
}
a.btn {
  color: #FFF;
  background-color: #3399FF;
  border: 2px solid #3399FF;
  display: block;
  text-align: center;
  font-weight: 600;
  padding: 12px 40px;
  margin: 48px auto 0 auto;
  width: fit-content;
  border-radius: 32px;
}
a.btn:hover {
  color: #3399FF;
  background-color: #FFF;
}
a.btn-biz {
  background-color: #3399FF;
  border: 2px solid #3399FF;
}
a.btn-biz:hover {
  color: #3399FF;
  background-color: #FFF;
}
a.btn-recruit {
  background-color: #FF1744;
  border: 2px solid #FF1744;
}
a.btn-recruit:hover {
  color: #FF1744;
  background-color: #FFF;
}
a.btn-contact {
  color: #FFF;
  background-color: #00796C;
  border: 2px solid #FFF;
}
a.btn-contact:hover {
  color: #00796C;
}
a.external-link::before {
  content: '\f0da';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: 0 8px 0 0;
  vertical-align: 1px;
  transition: padding-left 0.5s ease;
}
a.external-link::after {
  content: '\f08e';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: 0 0 0 8px;
  vertical-align: 1px;
  transition: padding-left 0.5s ease;
  font-size: 0.85rem;
}
a.pdf-link {
  color: #B30B00;
}
a.pdf-link::after {
  content: '\f1c1';
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
  padding: 0 0 0 8px;
  vertical-align: 0px;
  transition: padding-left 0.5s ease;
  font-size: 1.0rem;
}
a.txt-external-link {
  color: #3399FF;
}
a.txt-external-link::after {
  content: '\f08e';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: 0 0 0 8px;
  vertical-align: 1px;
  transition: padding-left 0.5s ease;
  font-size: 0.85rem;
}

p {
  margin: 4px 0 0 0;
  padding: 0;
  display: block;
  text-align: justify;
  background: transparent;
}
.txt-right {
  text-align: right;
  margin: 4px 0 0 auto;
}
h1, h2, h3, h4, h5 {
  font-weight: 700;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
h1 {
  font-size: 2.8rem;
  margin: 0 0 40px 0;
  padding: 16px 0 0 0;
}
h1.title-404 {
  font-family: 'Barlow Semi Condensed', 'Noto Sans JP', sans-serif;
  padding: 0;
  font-size: 4.8rem;
  line-height: 1.3;
  font-weight: 400;
}
h2 {
  font-size: 2.4rem;
  margin: 0 0 12px 0;
  border-bottom: solid 3px #E0E0E0;
  position: relative;
  padding: 0 0 8px 0;
}
h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #3399FF;
  bottom: -3px;
  width: 8%;
}
.h2-recruit:after  {
  border-bottom: solid 3px #FF1744;
}
h3 {
  font-size: 2.0rem;
  margin: 0 0 24px 0;
  padding: 2px 0 2px 16px;/*上下 左右の余白*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #3399FF;/*左線*/
}
h4 {
  font-size: 1.5rem;
  margin: 0 0 8px 0;
}
h5 {
  font-size: 1.1rem;
  margin: 0 0 4px 0;
}
p + h4, ul + h4 {
  margin: 32px 0 4px 0;
}
p + h5 {
  margin: 24px 0 4px 0;
}
.margin-bottom-24 {
  margin-bottom: 24px;
}
ul, ol {
  margin: 16px 0;
  padding: 0 0 0 16px;
  display: block;
}
ul {
  list-style: disc;
}
ol {
  list-style: decimal;
}
li {
  margin: 8px 0 0 0;
  padding: 0;
  display: list-item;
  text-align: justify;
  background: transparent;
}
li:first-child {
  margin: 0 0 0 0;
}
ul ol {
  font-size: 0.9rem;
  margin: 8px 0 24px 0;
}
dl {
  margin: 24px 0;
  padding: 0;
}
dt {
  float: left;
  width: 112px;
  padding: 0 0 16px 0;
  font-weight: 700;
}
dd {
  margin: 0 0 16px 0;
}
hr {
  border-top: 9px dotted #BDBDBD;
  width: 48px;
  margin: 104px auto;
}
.hr-recruit {
  border-top: 9px dotted #FF1744;
}
small {
  font-size: 0.85rem;
  display: block;
  margin: 8px 0 0 0;
  color: #757575;
}
sub {
  font-size: 0.6em;
  vertical-align: sub;
}
sup {
  vertical-align: middle;
  color: #D50000;
  font-size: 1.2rem;
  top: -4px;
  font-weight: 500;
  margin: 0 2px 0 2px;
}
time {
  font-size: 0.9rem;
  margin: 0 0 6px 0;
  padding: 0;
  color: #757575;
  display: block;
  line-height: 1;
  letter-spacing: 0.03em;
}
.time-single {
  width: 88%;
    max-width: 88%;
  margin: 0 auto 6px auto;
  text-align: right;
}
span {
  font-size: 0.8em;
}
h2 span, h3 span {
  font-size: 0.45em;
  display: inline-block;
  margin: 0 0 0 16px;
}
h1.title-404 span {
  font-size: 0.35em;
  font-weight: 700;
  display: block;
  margin: 24px 0 0 0;
}
img {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  /* line-height: 1; */
  display: block;
  border-radius: 8px;
}
.alignleft {
  width: 48%;
  float: left;
  margin: 0 0 12px 0;
}
.alignright {
  width: 48%;
  float: right;
  margin: 0 0px 12px 0;
}
.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto 0 auto;
}
figure {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: block;
}
figcaption {
  font-size: 0.75rem;
  margin: 8px 0 0 0;
  padding: 0;
  display: block;
  color: #78909C;
  clear: both;
}
h3 + figure, h4 + figure, p + figure {
  margin: 40px auto 0 auto;
}
figure + p {
  margin: 16px 0 0 0;
}
.figure-ceo img {
  border-radius: 50%;
}
.figure-ceo figcaption {
  font-size: 0.9rem;
  color: #212121;
  text-align: center;
  margin: 16px 0 0 0;
}
.figure-64 {
  width: 64%;
}
.figure-80 {
  width: 80%;
}
.figure-radius-0 img {
  border-radius: 0;
}
.figure-wrapper {
  position: relative;
  width: 100%; /* ビューポート幅いっぱい */
  margin-left: 0; /* containerの中央寄せを打ち消す */
  overflow: hidden; /* ページ全体にはみ出さない */
}
.scroll-container {
  display: inline-block;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch; /* スマホ慣性スクロール */
  scrollbar-width: none;
}
.scroll-container::-webkit-scrollbar {
  display: none;
}
.scroll-container img {
  display: inline-block;
  width: 218%; /* 高さ調整 */
  max-width: none; /* 横長画像もはみ出せる */
}
.video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /* 高さを指定(16:9) */
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
div {
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}
table, td, th {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 0 0;
  border: 1px solid #212121;
}
td, th {
  padding: 12px 16px;
}
td ul, td ol {
  margin: 0 0 0 0;
}
th {
  width: fit-content;
  background: #ECEFF1;
  display: table-cell;
  vertical-align: inherit;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
td {
  width: auto;
  display: table-cell;
  vertical-align: inherit;
}
tr {
  display: table-row;
}
.table-company {
  border-collapse: collapse;
  border: none;
}
.table-company th {
  text-align: left;
  background: none;
  border: none;
  padding: 24px 24px 24px 8px;
}
.table-company td {
  padding: 24px;
  border: none;
}
.table-company td,
.table-company th {
  border-bottom: 1px solid #E0E0E0;
}
h3 + table {
  margin: 32px 0 0 0;
}
h4 + table {
  margin: 16px 0 0 0;
}
.note {
  font-size: 0.9em;
  color: #D50000;
  font-weight: 500;
  margin: 8px 0 0 0;
}
.note::before {
  content: "*";
  font-size: 1.4rem;
  margin-right: 4px;
  color: #D50000;
  /* top: 3px; */
  vertical-align: -6px;
}
header {
  width: 100%;
  height: 80px;
  margin: 0 auto;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: 9999;
}
.site-branding {
  width: 256px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  left: 4%;
  transform: translate(0%, -50%);
}
.site-title {
  margin: 0;
  padding: 0;
}
.site-title img {
  border-radius: 0;
}
.site-description {
  display: none;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li a:link {
  text-decoration: none !important;
}
.main-navigation {
  margin: 0 auto;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 4%;
  transform: translate(0%, -50%);
}
.main-navigation li {
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0 20px 0 0;
  display: inline-block;
}
.main-navigation li:last-child {
    margin: 0;
}
.main-navigation li a:link {
  color: #212121;
}
.main-navigation li a:visited {
  color: #212121;
}
.main-navigation li a:hover {
  color: #3399FF;
}
.main-navigation .current-menu-item a, .main-navigation .current-menu-parent a {
  color: #3399FF !important;
  border-bottom: 2px solid #3399FF;
  padding: 0 0 6px 0;
}
.header-recruit a:link {
  color: #FF1744!important;
  border: 2px solid #FF1744;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
  font-weight: 700;
}
.header-recruit a:visited {
  color: #FF1744!important;
  border: 1px solid #FF1744;
}
.header-recruit a:hover {
  color: #FFF!important;
  border: 2px solid #FF1744;
  background-color: #FF1744;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
}
.header-contact a:link {
  color: #00796C!important;
  border: 2px solid #00796C;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
  font-weight: 700;
}
.header-contact a:visited {
  color: #00796C!important;
  border: 1px solid #00796C;
}
.header-contact a:hover {
  color: #FFF!important;
  border: 2px solid #00796C;
  background-color: #00796C;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
}
#primary-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  flex-wrap: nowrap;
}
main {
  display: block;
  margin: 80px auto 0 auto;
  position: relative;
  overflow: auto;
}
.type-page {
    width: 100%;
    max-width: 1096px;
    margin: 120px auto 104px auto;
    padding: 0;
}
.type-post {
    width: 100%;
    max-width: 960px;
    margin: 120px auto 104px auto;
    padding: 0;
}
.type-page h2, .type-post h2 {
    width: 88%;
    max-width: 88%;
    margin: 0 auto 12px auto;
}
.type-page-404 {
    width: 88%;
    max-width: 960px;
}
.recruit-banner {
  width: 300px;
  padding: 16px;
  background-color: #FFF;
  border-radius: 8px;
  position: fixed;
  bottom: 3%;
  right: 3%;
  z-index: 999;
  box-shadow: 0px 2px 4px 0px rgb(0 0 0 / 24%);
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.3s ease-out;
}
.recruit-banner.hidden {
  opacity: 0;
  visibility: hidden;
}
.recruit-banner-img {
  height: 176px;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  filter: brightness(100%);
  background-image: url(images/top-recruit.jpg);
}
.recruit-banner-textbox {
  margin: 12px auto 0 auto;
  width: 90%;
}
.recruit-banner-textbox h2 {
    font-size: 1.8rem;
}
.recruit-banner-textbox h2:after {
  width: 16%;
  border-bottom: solid 3px #FF1744;
}
.recruit-banner-textbox p {
    font-size: 0.9rem;
}
.recruit-banner a:hover {
  color: #FF1744;
}
.recruit-banner:hover {
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px) !important;
}
section {
  width: 88%;
  max-width: 1200px;
  margin: 104px auto;
  padding: 0;
  display: block;
  position: relative;
}
.bg-radius {
  border-radius: 16px;
  background-color: #FFF;
  margin: -56px auto 56px auto;
  overflow: auto;
  z-index: 99;
}
.bg-radius h2:after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -3px;
  width: 8%;
}
.container {
  width: 88%;
  max-width: 88%;
  margin: 104px auto;
  padding: 0;
  display: block;
}
.container-visible {
  position: relative;
}
.container-manufacturer, .container-recruit {
    background-color: #FFF;
    padding: 48px;
    border-radius: 16px;
}
.container-manufacturer h3 {
  margin: 0 0 40px 0;
}
.container-recruit h3 {
  margin: 0 0 40px 0;
  border-left: solid 5px #FF1744;
}

.container-manufacturer p {
  margin: 24px 0 0 0;
  letter-spacing: 0.04em;
  break-inside: avoid;
}
.container-manufacturer p:first-of-type {
    margin: 0;
}
.container-manufacturer p span {
  font-size: 0.9rem;
  margin: 4px 0 0 17px;
  line-height: 1.4;
  display: block;
}
.bg-radius .container {
  margin: 6% auto;
}
.container-profile h4 {
  text-align: center;
  letter-spacing: 0.02em;
  margin: 0 0 8px 0;
}
.container-profile h4 span {
  display: block;
  font-size: 0.7em;
  margin: 6px 0 0 0;
}
.container-profile h5 {
  margin: 48px 0 0 0;
}
.container-profile h5::before {
  content: "\2015";
  margin-right: 4px;
}
.container-profile figure {
  overflow: auto;
}
.container-profile img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 50%;
  object-position: 0px;
  margin: 0 auto 24px auto;
}
.type-post .container {
  margin: 56px auto;
}
.wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
}
.wrap-img-text {
  justify-content: left;
  gap: 4%;
  margin: 0 auto;
}
.wrap-img-text__center {
  align-items: center;
}
.wrap + .wrap, .wrap-img-text + .wrap-img-text {
  margin: 88px auto 0 auto;
}
h3 + .wrap-img-text, ul + .wrap, p + .wrap, h3 + .wrap {
  margin: 48px auto 0 auto;
}
h5 + .wrap {
  margin: 16px auto 0 auto;
}
.wrap + h5 {
  margin: 48px auto 0 auto;
}
.column {
  width: 48%;
}
.column-3 {
  width: 31%;
  margin: 0 0 4% 0;
}
.column-3-inner {
  margin: 16px 0 0 0;
  border-bottom: 1px dotted #607D8B;
  padding: 0 0 8px 0;
}
.column-3-inner h5 {
  position: relative;
  font-size: 1.0rem;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0 0 8px 4px;
  cursor: pointer;
}
.column-3-inner h5:hover {
    color: #FF1744;
}
/* 擬似要素で＋マーク */
.column-3-inner h5::after {
  content: '\2b';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
    position: absolute;
    right: 8px;
    top: 11px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s linear;
    font-size: 1.1rem;
}
/* PCホバー時に回転 */
@media (min-width: 768px) {
    .column-3-inner h5:hover::after {
        transform: translateY(-50%) rotate(45deg);
    }
}
/* 開いた状態で×に変化 */
.column-3-inner.open h5::after {
    transform: translateY(-50%) rotate(45deg);
}
/* PC用ホバー開閉 */
@media (min-width: 768px) {
    .column-3-inner h5:hover .column-3-box {
        max-height: 500px;
    }
}
.column-3-inner.open h5 {
    color: #FF1744;
}
.column-3-box {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s linear;
    margin: 0;
}
.column-3-box p, .column-3-box ul {
  font-size: 0.9rem;
}
.column-3-box p {
  padding: 0 4px 4px 4px;
}
.column-3-box ul {
  margin: 4px 0 4px 0;
}
.column-img {
  width: 28%;
}
.column-text {
  width: 68%;
}
.column-1-2 {
  column-count: 2;
  column-gap: 8%;
}
.wrap-base {
  margin: 40px auto 0 auto;
}
.wrap-base h4 {
  font-size: 1.3rem;
}
.wrap-base h4::before {
  content: '\f3c5';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: 0 8px 0 0;
  font-size: 1.1rem;
  vertical-align: 1px;
}
.column-tel-fax {
    display: flex;
    border-bottom: 1px dotted #E0E0E0;
    margin: 8px 0 0 0;
    padding: 0 0 16px 0;
}
.p-address {
  position: relative;
}
.p-address a {
  width: 48px;
  height: 48px;
  position: absolute;
  top: 50%;
  right: 8%;
  transform: translate(0%, -50%);
  color: #3399FF;
  background-color: #FFF;
  border-radius: 50%;
  border: 2px solid #3399FF;
  display: flex;           /* 追加 */
  justify-content: center; /* 横中央寄せ */
  align-items: center;     /* 縦中央寄せ */
  font-size: 1.2rem;
  line-height: 1;          /* flex 使うので不要でも安全 */
  text-decoration: none;   /* 念のためアイコンリンクの下線消す */
}
.p-address a:hover {
  background-color: #3399FF;      /* 背景反転 */
  color: #FFF;                     /* アイコン色を反転 */
  transform: translate(0%, -50%) scale(1.2); /* 少し拡大 */
  border-color: #3399FF;           /* 境界線はそのまま */
}
.p-tel, .p-fax {
    margin: 0;
}
.p-tel {
  margin: 0 16px 0 0;
}
.p-tel::before {
  content: 'TEL';
  font-weight: 700;
  margin: 0 4px 0 0;
  padding: 0;
}
.p-fax::before {
  content: 'FAX';
  font-weight: 700;
  margin: 0 4px 0 0;
  padding: 0;
}
section.hero {
  width: 100%;
  max-width: 100%;
  height: 88vh;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: #000;
}
/* 背景動画エリア */
.hero .bg-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease; /* フェード時間 */
  background: #000; /* 黒背景を持たせてチカチカ防止 */
}
.bg-video.active {
  opacity: 1;
}
.hero-content {
  width: 56%;
  max-width: 740px;
  position: absolute;
  top: 10%;
  left: 4%;
  z-index: 1; /* 動画より前に表示 */
}
.hero-content h2 {
  border-bottom: none;
  padding: 0;
}
.hero-content h2:after {
  content: none;
}
.hero-banner {
  margin: 0 auto;
}
.hero-banner {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.hero-banner .column {
  height: 272px;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  filter: brightness(100%);
  flex: 1;
}
.hero-banner .column.column-left {
  background-image: url(images/hero-footer-1.jpg);
}
.hero-banner .column.column-center {
  background-image: url(images/hero-footer-2.jpg);
}
.hero-banner .column.column-right {
  background-image: url(images/hero-footer-3.jpg);
}
.feature-item {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  margin: 48px 0 0 0;
}
.feature-item-img {
  width: 32%;
  height: 200px;
  margin: 0;
  padding: 0;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  filter: brightness(70%);
  border-radius: 8px;
  transition: all 0.5s;
}
.feature-item-img-1 {
  background-image: url(images/feature-item-1.jpg);
}
.feature-item-img-2 {
  background-image: url(images/feature-item-2.jpg);
}
.feature-item-img-3 {
  background-image: url(images/feature-item-3.jpg);
}
.feature-item-img-4 {
  background-image: url(images/feature-item-4.jpg);
}
a:hover .feature-item-img {
  filter: brightness(100%);
}
.feature-item-text-box {
  flex: 1;
}
.feature-item-text-box h3 {
  font-size: 1.3rem;
  margin: 0 0 4px 0;
  padding: 0;
  border-left: none;
}
.feature-item-text-box h3::after {
  content: '\f138';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: #3399FF;
  padding: 0 0 0 8px;
  font-size: 1.1rem;
  vertical-align: 1px;
  transition: padding-left 0.5s ease;
}
a:hover .feature-item h3::after {
  padding-left: 12px;
}
.feature-item-text-box p {
  font-size: 0.9rem;
}

.company-overview video {
  width: 88%;
  max-width: 960px;
  margin: 0 auto;
  display: block;
}
.section-product .container {
  width: 100%;
  max-width: 100%;
  margin: 48px auto 0 auto;
}
.section-product .wrap {
}
.product-item {
  width: 49%;
  margin: 2% 0 0 0;
  padding: 3%;
  background-color: #FFF;
  border-radius: 8px;
}
.product-item a {
  display: flex;
  align-items: center;
  gap: 32px;
}
.product-item-img {
    width: 272px;
}
.product-item h3 {
  font-size: 1.3rem;
  margin: 0 0 4px 0;
  padding: 0;
  border-left: none;
}
.product-item h3::after {
  content: '\f138';
  font-family: 'Font Awesome 6 Free';
  color: #3399FF;
  font-weight: 900;
  padding: 0 0 0 8px;
  font-size: 1.1rem;
  vertical-align: 1px;
  transition: padding-left 0.5s ease;
}
.product-item a:hover h3::after {
  padding-left: 12px;
}
.product-item p {
  font-size: 0.9rem;
}
.bg-white {
  width: 100%;
    max-width: 100%;
    background-color: #FFF;
    overflow: auto;
}
.bg-white .container {
  width: 88%;
  max-width: 960px;
}
.bg-white .container-info .column-info {
    width: 100%;
    max-width: 100%;
}
.bg-white h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #3399FF;
  bottom: -3px;
  width: 8%;
}
.column-info, .column-newproduct-info {
  width: 88%;
    max-width: 88%;
    margin: 24px auto 0 auto;
    border-bottom: 1px solid #E0E0E0;
    padding: 0 0 24px 0;
}
.column-info:first-of-type, .column-newproduct-info:first-of-type {
    margin: 40px auto 0 auto;
}
.column-info a:link, .column-newproduct-info a:link {
  color: #212121;
}
.column-info a:hover {
  color: #3399FF;
}
.column-newproduct-info a:hover {
  color: #3399FF;
}
.column-info h4, .column-newproduct-info h4 {
  font-size: 1.0rem;
  margin: 0;
  letter-spacing: 0.07em;
}
.column-info h4::after, .column-newproduct-info h4::after {
  content: '\f105';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: 0 0 0 8px;
  font-size: 1.1rem;
  vertical-align: -1px;
  transition: padding-left 0.5s ease;
}
.column-info a:hover h4::after, .column-newproduct-info a:hover h4::after {
  padding-left: 12px;
}
.column-info p, .column-newproduct-info p {
  font-size: 0.9rem;
}
.newproduct-info h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #3399FF;
  bottom: -3px;
  width: 8%;
}
a.view-all {
    font-weight: 700;
    display: block;
    margin: 16px auto 0 auto;
    text-align: right;
}
a.view-all::after {
  content: '\f105';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: 0 0 0 8px;
  font-size: 1.1rem;
  vertical-align: -1px;
  transition: padding-left 0.5s ease;
}
.section-recruit h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #FF1744;
  bottom: -3px;
  width: 8%;
}
.recruit-item {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  margin: 48px 0 0 0;
}
.recruit-item-img {
  width: 40%;
  height: 296px;
  margin: 0;
  padding: 0;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  filter: brightness(100%);
  border-radius: 8px;
  background-image: url(images/top-recruit.jpg);
  transition: all 0.5s;
}
.recruit-item-text-box {
  flex: 1;
}
.section-contact {
  width: 100%;
    max-width: 100%;
  margin: 104px auto 0 auto;
    background-color: #00796C;
    overflow: auto;
}
.section-contact .container {
  width: 88%;
  max-width: 960px;
}
.section-contact .container h2 {
  color: #FFF;
  text-align: center;
  border-bottom: none;
}
.section-contact .container h2:after {
  content: none;
}
.section-contact .container p {
  color: #FFF;
  text-align: center;
}
#breadcrumb {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: block;
  background-color: #F8F8F8;
}
.home #breadcrumb {
  display: none;
}
#breadcrumb ul {
  list-style: none;
  margin: 0 auto;
  padding: 8px 0;
  text-align: left;
  height: auto;
  width: 88%;
  max-width: 960px;
  font-size: 0.9rem;
  line-height: 1.7;
}
#breadcrumb ul li {
  color: #424242;
  text-align: left;
  margin: 0;
  /* font-size: 11px; */
  display: inline-block;
  padding: 0;
}
#breadcrumb ul li:after {
  content: "/";
  margin: 0 10px;
  font-weight: 100;
  font-size: 20px;
  vertical-align: -3px;
  color: #757575;
}
#breadcrumb ul li:last-child::after {
  content: none;
}
#breadcrumb ul li span {
  /* font-size: 0.8rem; */
  margin: 0;
  font-size: 11px;
}
#breadcrumb ul li a {
  padding-bottom: 2px;
  color: #757575 !important;
}
#breadcrumb ul li.current-menu-item a {
  color: #424242 !important;
  pointer-events: none;
}
#breadcrumb ul li a:hover {
  color: #424242 !important;
  text-decoration: underline;
}
#breadcrumb ul li.icon-home a:hover {
  text-decoration: none;
}
footer {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  background-color: #212121;
  overflow: auto;
  position: relative;
}
.footer-inner {
  width: 88%;
  max-width: 1200px;
  margin: 48px auto;
  display: block;
  position: relative;
}
.sns-nav {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: fit-content;
}
.sns-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sns-nav ul li {
  font-size: 1.3rem;
    display: inline-block;
    margin: 0 0 0 16px;
  line-height: 1;
}
.icon-youtube, .icon-instagram, .icon-facebook {
  color: #FFF!important;
}
.icon-youtube:hover {
    color: #DA1725!important;
}
.icon-instagram:hover {
    color: #C13584!important;
}
.icon-facebook:hover {
    color: #1877F2!important;
}
.link-disabled {
  pointer-events: none;
  color: #E0E0E0!important;
}
footer h5 a img {
  filter: none;
  width: 256px;
  margin: 0;
  border-radius: 0;
}
footer p {
  font-size: 0.85rem;
  text-align: left;
  color: #FFF;
  margin: 12px 0 0 0;
}
.footer-navigation {
  width: 88%;
  max-width: 1200px;
  margin: 48px auto 104px auto;
}
#Quaternary-menu {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /* gap: 24px; */
}
/* 親メニューのスタイル */
#Quaternary-menu .menu-item-has-children {
  width: 22%;
  margin: 0;
}
.menu-item-has-children > a {
    position: relative;
    color: #FFF;
    border-bottom: 1px dotted #FFF;
    display: block;
    width: 100%;
    padding: 0 0 8px 4px;
}
.menu-item-has-children > a:hover {
    color: #3399FF;
}
/* 擬似要素で＋マーク */
.menu-item-has-children > a::after {
  content: '\2b';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
    position: absolute;
    right: 4px;
    top: 13px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s linear;
    font-size: 1.1rem;
}
/* PCホバー時に回転 */
@media (min-width: 768px) {
    .menu-item-has-children:hover > a::after {
        transform: translateY(-50%) rotate(45deg);
    }
}
/* 開いた状態で×に変化 */
.menu-item-has-children.open > a::after {
    transform: translateY(-50%) rotate(45deg);
}
/* サブメニュー初期状態 */
.sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s linear;
    list-style: none;
    margin: 0;
  line-height: 1;
}
.sub-menu li {
  font-size: 0.8rem;
    margin: 20px 0;
}
.sub-menu li a {
    padding: 0;
    display: block;
    color: #FFF;
    text-decoration: none;
}
.sub-menu li a::before {
  content: '―';
  padding: 0 4px;
}
.sub-menu li a:hover {
    color: #3399FF;
}
/* PC用ホバー開閉 */
@media (min-width: 768px) {
    .menu-item-has-children:hover > .sub-menu {
        max-height: 500px;
    }
}
.copyright-outer {
  width: 100%;
  background-color: #EEEEEE;
  overflow: auto;
}
.copyright-img {
  width: 40%;
  max-width: 520px;
  margin: 40px auto 40px auto;
}
.copyright-img img {
  border-radius: 0;
}
.copyright {
  width: 88%;
  max-width: 1200px;
  padding: 32px 0 40px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.copyright-inner {
  width: 50%;
}
.copyright-inner p {
  margin: 0;
  font-size: 0.85rem;
  color: #212121;
  line-height: 1;
  text-align: right;
  font-weight: 600;
}
.copyright-navigation {
  width: 50%;
}
.menu-menu-3-container {
  text-align: left;
}
.menu-menu-3-container ul {
  font-size: 0.8rem;
  line-height: 1;
}
.menu-menu-3-container ul li {
  display: inline-block;
  padding: 0;
  margin: 0 0 0 24px;
}
.menu-menu-3-container ul li:first-child {
  margin: 0;
}
.menu-menu-3-container ul li a:link {
  padding: 0;
}
.menu-menu-3-container ul li a:visited {
  padding: 0;
}
.menu-menu-3-container ul li a:hover {
  color: #3399FF;
  text-decoration: underline;
}
.sns__container {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sns__container h4 {
  vertical-align: middle;
  margin: 0 24px 0 0;
  padding: 0;
}
.sns__container a {
  width: 48px;
  height: 48px;
  text-align: center;
  color: #fff;
  padding: 3px;
  border-radius: 50%;
  font-size: 1.5rem;
  margin: 0 16px 0 0px;
}
.sns__container a:hover {
  opacity: 0.6;
}
.sns__x {
  background: #000000;
}
.sns__facebook {
  background: #3b5998;
}
.sns__pocket {
  background: #ef3f56;
}
.sns__line {
  background: #1dcd00;
}
.sns__hatena {
  background: #00a5de;
}
.container-contact-info p {
  font-size: 0.9rem;
}
/* nav-toggle */
#nav-toggle {
  width: 24px;
  height: 19px;
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translate(0%, -50%);
  cursor: pointer;
  display: none;
}
#nav-toggle > div {
  position: relative;
  width: 24px;
}
#nav-toggle span {
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  background: #212121;
  position: absolute;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.2s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 8px;
}
#nav-toggle span:nth-child(3) {
  top: 16px;
}
#overlay {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* template02 */
.wpcf7-list-item {
  margin: 0 0 12px 0;
  display: block;
}
.wpcf7-list-item:last-of-type {
  margin: 0;
}
.form-title {
  margin: 0 0 24px 0;
}
.form-title span {
  display: block;
}
.form__wrap {
  width: 100%;
  margin: 0 auto;
}
.wpcf7 .template02 {
  color: #212121;
}
.wpcf7 .template02 a {
  margin: 0;
  padding: 0;
  text-decoration: underline;
  color: inherit;
  transition: opacity 0.25s;
}
.wpcf7 .template02 a:hover {
  opacity: 0.5;
  transition: opacity 0.25s;
}
.wpcf7 .template02 div.form__row {
  display: flex;
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid #E0E0E0;
  align-items: center;
}
.wpcf7 .template02 div.form__row.row-privacy, .wpcf7 .template02 div.form__row.row-submit {
  display: block;
  border-top: 0;
  margin-top: 24px;
  text-align: center;
}
.wpcf7 .template02 p.form__label, .wpcf7 .template02 p.form__body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .template02 p.form__label {
  width: 36%;
  padding: 24px 16px 24px 8px;
}
.wpcf7 .template02 p.form__body {
  width: 64%;
  padding: 0 8px 0 16px;
}
.form__body__select {
  padding: 16px 8px 16px 16px!important;
}
.form__body__line {
  padding: 0 8px 24px 16px !important;
}
.wpcf7 .template02 div.form__row.row-privacy .form__body, .wpcf7 .template02 div.form__row.row-submit .form__body {
  width: 100%;
}
.wpcf7 .template02 p.form__label label {
  font-weight: 500;
  position: relative;
  margin: 0;
  padding: 0;
  padding-left: 56px;
  box-sizing: border-box;
}
.wpcf7 .template02 p.form__label label::after {
  content: "\4EFB\610F";
  display: block;
  position: absolute;
  top: -4px;
  left: 0;
  width: 40px;
  margin: 0;
  padding: 6px 0;
  border-radius: 2px;
  background-color: #EEEEEE;
  color: #757575;
  font-size: 0.85rem;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
}
.wpcf7 .template02 p.form__label.is-required label {
  position: relative;
}
.wpcf7 .template02 p.form__label.is-required label::after {
  content: "\5FC5\9808";
  display: block;
  top: -4px;
  right: 0;
  width: 40px;
  padding: 6px 0px;
  background-color: #D50000;
  color: #FFF;
  font-size: 0.85rem;
  text-align: center;
  line-height: 1;
}
/* テキストフィールド */
.wpcf7 .template02 input[type=text], .wpcf7 .template02 input[type=tel], .wpcf7 .template02 input[type=email], .wpcf7 .template02 textarea, .wpcf7 .template02 input[type=date] {
  width: 100%;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  box-shadow: none;
  background-color: #FFF;
  /* color: #E0E0E0; */
  font-family: inherit;
  font-weight: inherit;
  font-size: 0.9rem;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.wpcf7 .template02 input[type=date] {
  width: 32%;
}
/* テキストフィールド placeholder */
.wpcf7 .template02 input[type=text]::placeholder, .wpcf7 .template02 input[type=tel]::placeholder, .wpcf7 .template02 input[type=email]::placeholder, .wpcf7 .template02 input[type=url]::placeholder, .wpcf7 .template02 input[type=date]::placeholder, .wpcf7 .template02 input[type=number]::placeholder, .wpcf7 .template02 textarea::placeholder {
  color: #E0E0E0;
}
.wpcf7 .template02 input[type=text]:-ms-input-placeholder, .wpcf7 .template02 input[type=tel]:-ms-input-placeholder, .wpcf7 .template02 input[type=email]:-ms-input-placeholder, .wpcf7 .template02 input[type=url]:-ms-input-placeholder, .wpcf7 .template02 input[type=date]:-ms-input-placeholder, .wpcf7 .template02 input[type=number]:-ms-input-placeholder, .wpcf7 .template02 textarea:-ms-input-placeholder {
  color: #E0E0E0;
}
.wpcf7 .template02 input[type=text]::-ms-input-placeholder, .wpcf7 .template02 input[type=tel]::-ms-input-placeholder, .wpcf7 .template02 input[type=email]::-ms-input-placeholder, .wpcf7 .template02 input[type=url]::-ms-input-placeholder, .wpcf7 .template02 input[type=date]::-ms-input-placeholder, .wpcf7 .template02 input[type=number]::-ms-input-placeholder, .wpcf7 .template02 textarea::-ms-input-placeholder {
  color: #E0E0E0;
}
/* テキストフィールド フォーカス時 */
.wpcf7 .template02 input[type=text]:focus, .wpcf7 .template02 input[type=tel]:focus, .wpcf7 .template02 input[type=email]:focus, .wpcf7 .template02 input[type=url]:focus, .wpcf7 .template02 input[type=date]:focus, .wpcf7 .template02 input[type=number]:focus, .wpcf7 .template02 textarea:focus {
  outline: 0;
  border: 1px #3399FF solid;
  /*box-shadow: 0 0 2px 2px rgba(133, 112, 92, 0.5);*/
}
/* チェックボックス */
.wpcf7 .template02 input[type=checkbox] {
  display: none;
}
.wpcf7 .template02 input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  margin: 0px 24px 0 0;
  padding: 2px 0 0 28px;
  font-size: 1rem;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template02 input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #E0E0E0;
  border-radius: 2px;
  background-color: #FFF;
  box-sizing: border-box;
}
.wpcf7 .template02 input[type=checkbox] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 4px;
  left: 6px;
  width: 6px;
  height: 10px;
  border-bottom: 2px solid #3399FF;
  border-right: 2px solid #3399FF;
  box-sizing: border-box;
  transform: rotate(40deg);
  transition: opacity 0.25s ease;
}
.wpcf7 .template02 input[type=checkbox]:checked + span {
  color: #3399FF;
  transition: all 0.25s ease;
}
.wpcf7 .template02 input[type=checkbox]:checked + span::before {
  opacity: 1;
  border: 1px solid #3399FF;
  /* box-shadow: 0 0 2px 2px rgba(133, 112, 92, 0.5); */
  background-color: #3399FF;
  transition: opacity .25s ease;
}
.wpcf7 .template02 input[type=checkbox]:checked + span::after {
  opacity: 1;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transition: opacity 0.25s ease;
}
/* ラジオボタン */
.wpcf7 .template02 input[type=radio] {
  display: none;
}
.wpcf7 .template02 input[type=radio] + span {
  cursor: pointer;
  position: relative;
  margin: 0px 24px 0 0;
  padding: 2px 0 0 26px;
  font-size: 1rem !important;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template02 input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #E0E0E0;
  border-radius: 50%;
  background-color: #fefefe;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template02 input[type=radio] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template02 input[type=radio]:checked + span {
  color: #3399FF;
}
.wpcf7 .template02 input[type=radio]:checked + span::before {
  border: 1px solid #3399FF;
}
.wpcf7 .template02 input[type=radio]:checked + span::after {
  opacity: 1;
  top: 5px;
  left: 3px;
  width: 12px;
  height: 12px;
  background-color: #3399FF;
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
/* セレクト */
.wpcf7 .template02 span.select-wrap {
  position: relative;
  width: 250px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .template02 select {
  cursor: pointer;
  width: 250px;
  max-width: 100%;
  margin: 0;
  padding: 16px 16px;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  box-shadow: none;
  background-color: #FFF;
  background-image: linear-gradient(90deg, #3399FF, #3399FF);
  background-position: 100% 0;
  background-size: 40px 48px;
  background-repeat: no-repeat;
  color: inherit;
  font-size: 0.9rem;
  line-height: 1;
  box-sizing: border-box;
  transition: border-color 0.2s ease, outline 0.2s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.wpcf7 .template02 select::-ms-expand {
  display: none;
}
.wpcf7 .template02 span.select-wrap::after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  top: 50%;
  right: 16px;
  margin-top: 0px;
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: 50% 0;
  box-sizing: border-box;
}
.wpcf7 .template02 select:focus {
  outline: 0;
  border: 1px #3399FF solid;
  /* box-shadow: 0 0 2px 2px rgba(133, 112, 92, 0.5); */
}
.wpcf7 .template02 span.select-wrap:focus-within::after {
  border-bottom: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
/* 送信ボタン */
.wpcf7 .template02 .submit-btn {
  position: relative;
  /* width: fit-content; */
  height: auto;
  /* max-width: 100%; */
  margin: 0;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
}
.wpcf7 .template02 .submit-btn p {
    text-align: center;
}
.wpcf7 .template02 input[type="submit"] {
  width: 240px;
  color: #FFF;
  background-color: #3399FF;
  border: 2px solid #3399FF;
  display: block;
  text-align: center;
  font-weight: 600;
  padding: 12px 40px;
  margin: 0 auto;
  border-radius: 32px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1.0rem;
  transition: all 0.5s;
}
.wpcf7 .template02 input[type="submit"]:disabled {
  cursor: not-allowed;
  background-color: #E0E0E0 !important;
  color: #FFF !important;
  border: 2px solid #E0E0E0;
}
.wpcf7 .template02 input[type="submit"]:hover {
  color: #3399FF;
  background-color: #FFF;
}
.wpcf7 .template02 input[type="submit"]:disabled:hover {
  box-shadow: none !important;
  transform: translateY(0px) !important;
}
.wpcf7 .template02 input[type="submit"]:focus {
  outline: 0;
  /* box-shadow: 0 0 2px 2px rgba(133, 112, 92, 0.5); */
}
/*.wpcf7 .template02 input[type="submit"]::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: radial-gradient(circle, #FFF 10%, transparent 10%) no-repeat 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform 0.3s, opacity 1s;
}
.wpcf7 .template02 input[type="submit"]:active::after {
  transform: scale(0, 0);
  transition: 0s;
  opacity: 0.3;
}*/
.wpcf7-spinner {
  visibility: hidden;
  display: block;
  background-color: #23282d; /* Dark Gray 800 */
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 16px auto 0 auto;
  position: relative;
}
.form__body__outer {
  width: 64%;
}
.form__body__outer p.form__body {
  width: 100% !important;
}
input#custom-datepicker {
    width: 48%;
}
span.note-zip2 {
  margin: 8px 0 0 0;
  overflow: auto;
  display: block;
}
/*styles.cssからの変更*/
.wpcf7-not-valid-tip {
	color: #D50000;
	font-size: 0.8rem;
	display: block;
	margin: 8px 0 0 0;
	font-weight: 500;
}
.fade-in-item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
/* 順番に表示されるときのクラス */
.fade-in-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.grecaptcha-badge {
    /* 表示を消す */
    visibility: hidden !important;
}
@media screen and (max-width: 1000px) {
  .site-branding {
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #nav-toggle {
    display: block;
  }
  .open-btn1:after {
    color: #FFF;
    background: -webkit-linear-gradient(270deg, #FFF, #FFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .main-navigation {
    width: 240px;
    height: 100vh;
    padding: 24px 0;
    margin: 0;
    display: block;
    background-color: #fff;
    position: fixed;
    top: 80px;
    left: -240px;
    right: 0;
    overflow-y: scroll;
    -webkit-transition: 0.35s ease-in-out;
    transition: 0.35s ease-in-out;
    transform: none;
  }
  /* nav open */
  .open {
    overflow: hidden;
  }
  .open #overlay {
    display: block;
  }
  .open .main-navigation {
    transform: translate3d(240px, 0, 0);
  }
  /* #nav-toggle close */
  .open #nav-toggle span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 8px;
    transform: rotate(-45deg);
  }
  /* z-index */
  #overlay {
    z-index: 200;
  }
  .main-navigation {
    z-index: 300;
  }
  #nav-toggle {
    z-index: 400;
  }
  #primary-menu {
    display: block;
  }
  .main-navigation li {
    display: block;
    margin: 0 auto 24px auto;
  }
  .main-navigation a:link {
    text-align: left;
    padding: 0 20px 16px 20px;
    display: block;
  }
  .header-recruit a:link {
  color: #FF1744!important;
  border: 2px solid #FF1744;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
  font-weight: 700;
    margin: 0 32px 24px 20px;
    text-align: center;
}
.header-recruit a:visited {
  color: #FF1744!important;
  border: 1px solid #FF1744;
}
.header-recruit a:hover {
  color: #FFF!important;
  border: 2px solid #FF1744;
  background-color: #FF1744;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
}
.header-contact a:link {
  color: #3399FF!important;
  border: 2px solid #3399FF;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
  font-weight: 700;
    margin: 0 32px 24px 20px;
    text-align: center;
}
.header-contact a:visited {
  color: #00796C!important;
  border: 1px solid #00796C;
}
.header-contact a:hover {
  color: #FFF!important;
  border: 2px solid #00796C;
  background-color: #00796C;
  padding: 5px 12px 6px 12px;
  border-radius: 24px;
}
}


@media (max-width: 1086px) {
  .copyright {
    display: block;
  }
  .copyright-navigation {
    width: 100%;
    margin: 0 auto 24px auto;
  }
  .menu-menu-3-container {
    text-align: center;
  }
  .copyright-inner {
    width: 100%;
  }
  .copyright-inner p {
    text-align: center;
  }
}

@media (max-width: 940px) {
  #Quaternary-menu {
    flex-wrap: wrap;
        gap: 24px;
  }
  #Quaternary-menu .menu-item-has-children {
    width: 31%;
  }
}

@media (max-width: 940px) {
    .column-3 {
        width: 48%;
    }
}
@media (max-width: 880px) {
  .product-item {
    width: 100%;
    padding: 3% 6% 3% 3%;
  }
}
@media (max-width: 880px) {
  .p-address a {
  top: -28%;
  right: 8%;
  transform: translate(0%, -50%);
  }
}
@media (max-width: 780px) {
  #Quaternary-menu .menu-item-has-children {
    width: 48%;
  }
  .container-recruit .wrap .column {
    width: 100%;
    margin: 24px auto 0 auto;
  }
    .container-recruit .wrap .column .figure-recruit-banner {
      width: 56%;
      margin: 20px auto 0 auto;
  }
  .container-recruit .wrap .column-3 figure {
    width: 100%;
  }
}
@media (max-width: 796px) {
  .column-tel-fax {
    display: block;
  }
}
@media screen and (max-width: 696px) {
  .column-text {
    width: 100%;
    order: 1;
  }
  .column-img {
    width: 100%;
    margin: 40px auto 0 auto;
    order: 2;
  }
  .figure-ceo {
    width: 56%;
  }
  .column-1-2 {
    column-count: 1;
  }
}
@media (max-width: 682px) {
  #Quaternary-menu .menu-item-has-children {
    width: 100%;
  }
  .copyright-img {
    width: 64%;
  }
}

@media (max-width: 670px) {
  .wpcf7 .template02 div.form__row {
    display: block;
  }
  .wpcf7 .template02 p.form__body {
  width: 100%;
  padding: 0 8px 0 8px;
  }
  .form__body__outer {
    width: 100%;
  }
  .form__body__select {
    padding: 16px 8px 16px 8px!important;
  }
  .wpcf7 .template02 input[type="submit"] {
    width: 56%;
  }

}
@media (max-width: 656px) {
  .column {
    width: 100%;
  }
  .column:last-of-type {
    margin: 40px auto 0 auto;
  }
  .figure-64 {
    width: 100%;
  }
  .hero-banner .column.column-right {
    margin: 0;
  }
}
@media (max-width: 624px) {
  .feature-item-img {
    width: 100%;
  }
}

@media (max-width: 612px) {

.section-contact .container p {
  width: 80%;
  margin: 0 auto;
}
}


@media (max-width: 576px) {
  .wrap-base {
    margin: 0 auto!important;
  }
  .wrap-base .column {
    width: 100%;
    margin: 48px auto 0 auto;
  }
  .recruit-item-img {
    width: 100%;
  }
  .container-recruit .wrap .column .figure-recruit-banner {
    width: 80%;
  }
  .product-item {
    padding: 6% 6% 6% 4%;
  }
}

@media (max-width: 500px) {
  .recruit-banner {
    width: 100%;
    bottom: 0;
    right: 0;
    border-radius: 0;
  }
  .recruit-banner-img {
    display: none;
  }


}












