@charset "UTF-8";
/******************************************************************
Theme Name: 羽根産業社
Author: Y.Yokoyama
Author URI: http://fromdime.com
******************************************************************/
/******************************************************************

共通

******************************************************************/
/* root
-------------------------------------------------------*/
:root {
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --default-transition-duration: 150ms;
}

/* 電話リンクなし
-------------------------------------------------------*/
.notel a[href^="tel:"] {
  color: inherit;
  pointer-events: none;
  text-decoration: none;
}

/* 電話リンク
-------------------------------------------------------*/
a.tel {
  color: inherit;
}
a.tel:hover {
  text-decoration: underline !important;
}

/******************************************************************

構造調整タグ

******************************************************************/
/******************************************************************

汎用パーツ

******************************************************************/
a {
  transition-property: all;
  transition-timing-function: var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1));
  transition-duration: var(--default-transition-duration, 150ms);
}

/* 文字折り返し用
-------------------------------------------*/
.span-wrap {
  display: inline-block;
}

/* ボタン
-------------------------------------------*/
.button_wrapper {
  text-align: center;
}

.button {
  color: #515151;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  width: 100%;
  max-width: 320px;
  height: 64px;
  border: 1px solid #515151;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 0.25s ease;
  cursor: pointer;
}
.button .fas {
  color: #4e519d;
  margin-left: 0.5rem;
}
.button:hover, .button:focus, .button:active {
  color: #ffffff;
  background-color: #4e519d;
}
.button:hover .fas, .button:focus .fas, .button:active .fas {
  color: #ffffff;
}

.link-button-wrapper {
  text-align: center;
}

.link-button {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  width: 100%;
  max-width: 240px;
  height: 56px;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 0.25s ease;
  cursor: pointer;
}
.link-button::after, .link-button::before {
  position: absolute;
  content: "";
  display: block;
}
.link-button::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotateY(90deg);
  transform-origin: right;
  transition: transform 0.25s ease;
}
.link-button::after {
  top: 50%;
  right: -20px;
  width: 60px;
  height: 1px;
  transition: all 0.25s ease 0.05s;
}
.link-button:hover {
  color: #ffffff !important;
}
.link-button:hover::before {
  transform: rotateY(0deg);
  transform-origin: left;
}
.link-button:hover::after {
  width: 20px;
  background-color: #ffffff;
  transform: translate(-40px);
}
.link-button .link-button__text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 4px 0 0;
  z-index: 1;
}

.link-button--large {
  width: 100%;
  max-width: 410px;
}

/*-------------------------------------------
テーブルの基本レイアウト
-------------------------------------------*/
table.base_table tr th {
  width: 20%;
  text-align: left;
  padding: 0.5rem 0.5rem 0.5rem 0;
  border-bottom: 1px solid #dbdbdb;
}

table.base_table tr td {
  width: 80%;
  background-color: #ffffff;
  padding: 0.5rem 1rem 0.5rem 1rem;
  border-bottom: 1px solid #dbdbdb;
}

/*-------------------------------------------
ページナビ
-------------------------------------------*/
.wrap_pagination {
  text-align: center;
  margin: 4.7rem 0;
}

.wp-pagenavi a,
.wp-pagenavi span {
  color: #4e519d;
  font-weight: 400 !important;
  text-decoration: none;
  border: 1px solid #4e519d;
  padding: 10px 20px;
  margin: 10px;
  background-color: #ffffff;
  border-radius: 0;
  font-size: 1rem;
  display: inline-block;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current,
.wp-pagenavi span.pages {
  color: white;
  border: 1px solid #4e519d;
  background-color: #4e519d;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  color: #4e519d;
  border: 1px solid #4e519d;
}

/*-------------------------------------------
パンくずリスト
-------------------------------------------*/
#after-header {
  position: relative;
}

.breadcrumb {
  color: #4e519d;
}

.breadcrumb span {
  color: #515151;
}

.breadcrumb {
  padding: 1rem 0;
  margin-bottom: 3rem;
}
.breadcrumb a:hover {
  text-decoration: underline;
}

/*-------------------------------------------
ホバーでスケール
-------------------------------------------*/
.scale-img {
  position: relative;
  overflow: hidden;
}

.scale-img a:hover {
  opacity: 1;
}

.scale-img a,
.scale-img .thumb,
.scale-img .of_hide {
  position: relative;
  overflow: hidden;
  display: block;
}

.scale-img img {
  width: 100%;
  transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
}

.scale-img:hover img {
  transform: scale(1.1);
}

/*-------------------------------------------
横並びレイアウト
-------------------------------------------*/
.flexbox {
  display: flex;
  flex-flow: row;
  align-content: flex-start;
}

.flexbox-wrap {
  flex-flow: row wrap;
}

.flexbox-center {
  align-items: center;
}

/*-------------------------------------------
YouTube枠レスポンシブ
-------------------------------------------*/
.video-frame {
  position: relative;
  width: 100%;
}

.video-frame:before {
  content: "";
  display: block;
  padding-top: 56.3%;
  position: relative;
}

.video-frame-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-------------------------------------------
固有スタイル
-------------------------------------------*/
.mainvisual.elongated {
  color: #ffffff;
  background-color: #4e519d;
  background-size: 784px 200px;
  background-position: right;
  background-repeat: no-repeat;
}
.mainvisual.elongated .mainvisual__inner {
  min-height: 200px;
  display: flex;
  align-items: center;
}
.mainvisual.elongated .mainvisual_title_ja {
  font-size: 3.4375rem;
}
.mainvisual.elongated .mainvisual_title_en {
  font-size: 1.625rem;
}
.mainvisual.recruit .mainvisual_title {
  background-color: #4e519d;
  text-align: right;
}
.mainvisual.recruit .mainvisual_title .mainvisual_title_en {
  color: #ffffff;
  font-size: 4.0625rem;
}
.mainvisual.interview .mainvisual__inner {
  position: relative;
}
.mainvisual.interview .mainvisual_background_image {
  background-color: transparent;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: calc(100vh - 100px);
}
.mainvisual.interview .mainvisual_text_wrapper {
  position: absolute;
  bottom: 10%;
  left: 0;
  width: 100%;
}
.mainvisual.interview .mainvisual_text {
  color: #ffffff;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.75);
}
.mainvisual.interview .mainvisual_text .mainvisual_title_en {
  font-size: 5rem;
}
.mainvisual.interview .mainvisual_text .mainvisual_catchphrase {
  font-size: 2.125rem;
  padding: 1rem;
  display: inline-block;
  position: relative;
  margin-bottom: 1rem;
}
.mainvisual.interview .mainvisual_text .mainvisual_catchphrase::before, .mainvisual.interview .mainvisual_text .mainvisual_catchphrase::after {
  content: "";
  position: absolute;
  width: 23px;
  height: 23px;
}
.mainvisual.interview .mainvisual_text .mainvisual_catchphrase::before {
  top: 0;
  left: 0;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
}
.mainvisual.interview .mainvisual_text .mainvisual_catchphrase::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
}
.mainvisual.interview .mainvisual_text .employee-meta {
  font-size: 1.375rem;
}
.mainvisual.interview .mainvisual_text .employee-meta p span {
  margin-right: 1em;
}
.mainvisual.interview .mainvisual_text .employee-meta p span:last-child {
  margin-right: 0;
}

.link-text {
  color: #4e519d;
  text-decoration: underline !important;
}
.link-text:hover {
  text-decoration-color: transparent !important;
}

.main-table {
  table-layout: fixed;
  width: 100%;
}
.main-table tr {
  border: 1px solid #e6e6e6;
  border-bottom: none;
}
.main-table tr:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.main-table th {
  background-color: #f5f5f5;
}
.main-table th,
.main-table td {
  padding: 1.3rem;
}
.main-table th {
  width: 18%;
}
.main-table td {
  width: 82%;
}

section {
  padding: 5rem 0;
  margin-bottom: 5rem;
}
section .section_header {
  margin-bottom: 5rem;
}
section .section_header .section_title_wrapper {
  text-align: center;
}
section .section_header .section_title_wrapper .section_title_en {
  color: #4e519d;
  font-size: 3.125rem;
  font-weight: 400;
}
section .section_header .section_title_wrapper .section_title_ja {
  color: #515151;
  font-size: 1.625rem;
  font-weight: 400;
}

.content {
  text-align: center;
}
.content p {
  margin-bottom: 1rem;
}
.content p:last-child {
  margin-bottom: 0;
}

/******************************************************************

プラグイン

******************************************************************/
.slick-slider {
  margin-bottom: 0rem;
}

.slick-track {
  overflow: hidden;
}

.slick-dots li button:before {
  color: #4e519d;
}

.slick-dots li.slick-active button:before {
  color: #4e519d;
}

.main-slider {
  margin-inline: auto;
  overflow: hidden; /* 画像がはみ出ないようにする */
}

.slick-img img {
  width: 100%;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

.product-introduction-slider .product-introduction-slider-item {
  border: 3px solid #e6e6e6;
  border-radius: 18px;
  margin: 0 1rem;
}
.product-introduction-slider .product-introduction-slider-item:hover .product-introduction-slider-image img {
  transform: scale(1.05);
}
.product-introduction-slider .product-introduction-slider-item > a {
  display: inline-block;
  padding: 1rem 1rem 2rem;
  color: #515151;
}
.product-introduction-slider .product-introduction-slider-item > a .product-introduction-slider-image {
  width: 100%;
  margin-bottom: 0.5rem;
  overflow: hidden;
}
.product-introduction-slider .product-introduction-slider-item > a .product-introduction-slider-image img {
  width: 100%;
  transition: transform 0.3s ease;
}
.product-introduction-slider .slide-arrow {
  bottom: 0;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  width: 56px;
  z-index: 1;
}
.product-introduction-slider .slide-arrow.prev-arrow {
  left: max(9vw, 20px);
}
.product-introduction-slider .slide-arrow.next-arrow {
  right: max(8.8vw, 20px);
}

.senior-employee-interview-slider .senior-employee-interview-slider-item {
  margin: 0 0.5rem;
  display: flex;
  flex-direction: column;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item:hover .senior-employee-interview-slider-image img {
  transform: scale(1.05);
}
.senior-employee-interview-slider .senior-employee-interview-slider-item:hover .senior-employee-interview-slider-text {
  background-color: rgba(78, 81, 157, 0.49);
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a {
  display: inline-block;
  color: #ffffff;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-image {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3/2;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text {
  background-color: #4e519d;
  padding: 1rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .catchprase {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .employee-meta-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .employee-meta-wrapper .employee-meta p {
  font-size: 1.125rem;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .employee-meta-wrapper .employee-meta p span {
  display: inline-block;
  margin-right: 1em;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .employee-meta-wrapper .employee-meta p span:last-child {
  margin-right: 0;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .employee-meta-wrapper .detail-text p {
  font-size: 1.125rem;
}
.senior-employee-interview-slider .senior-employee-interview-slider-item > a .senior-employee-interview-slider-text .employee-meta-wrapper .detail-text p .fas {
  margin-right: 0.5em;
}
.senior-employee-interview-slider .slide-arrow {
  bottom: 0;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  width: 56px;
  z-index: 1;
}
.senior-employee-interview-slider .slide-arrow.prev-arrow {
  left: max(23.3vw, 20px);
}
.senior-employee-interview-slider .slide-arrow.next-arrow {
  right: max(23.3vw, 20px);
}

/******************************************************************

ヘッダー

******************************************************************/
.overlay {
  display: none;
}

/* head-bar
-------------------------------------------------------*/
#head-bar {
  padding: 0rem 1rem;
  margin: 0 auto;
  box-shadow: 0 0 20px rgba(108, 155, 188, 0.25);
  background-color: #ffffff;
}
#head-bar .head-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 1rem;
}
#head-bar .head-bar-inner .head-bar-left {
  width: 100%;
  max-width: 285px;
}
#head-bar .head-bar-inner .head-bar-left .link:hover {
  opacity: 0.5;
}
#head-bar .head-bar-inner .head-bar-left img {
  width: 100%;
}
#head-bar .head-bar-inner .head-bar-center {
  flex: 1;
  display: block;
  height: 100px;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item > a {
  color: #515151;
  font-size: 1.125rem;
  font-weight: 600;
  padding: 0 1rem;
  white-space: nowrap;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item.current-page-ancestor > a, #head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item.active > a, #head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item:hover > a {
  color: #4e519d;
}
#head-bar .head-bar-inner .head-bar-right {
  display: none;
}

header .head-bar-center,
header .wrap-globalnavi,
header .globalnavi,
header .globalnavi-ul,
header .globalnavi-ul > li {
  height: 100%;
}
header .globalnavi-ul > li:hover {
  background-color: #ffffff;
}
header .head_sub_nav--wrap {
  position: absolute;
  top: 100px;
  left: 0;
  z-index: 100;
  display: flex;
  /* サブメニューと並列に要素を高さいっぱいに伸ばす */
  align-items: stretch;
  width: 100%;
  opacity: 1;
  pointer-events: none;
  background-color: #ffffff;
  box-shadow: 0 20px 20px rgba(108, 155, 188, 0.1);
}
header .globalnavi-ul .menu-item-has-children:hover .head_sub_nav--wrap {
  opacity: 1;
  pointer-events: auto;
}
header .head_sub_nav--wrap::before {
  content: "";
  /* 疑似要素をフレックスコンテナ化 */
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(167px, 22.2vw, 320px);
  /* 親の高さいっぱいに伸ばす */
  align-self: stretch;
  /* 背景画像を要素いっぱいに */
  background-size: cover;
  background-position: center;
  /* 上下パディングはゼロに */
  padding: 0 4.17vw;
  font-size: 1.5rem;
  color: #ffffff;
  background-color: #ddd;
}
header .globalnavi-ul li:nth-child(1) .head_sub_nav--wrap::before {
  content: "会社案内";
  background-image: url(./assets/images/gnav-company.webp);
}
header .head_sub_nav--wrap::after {
  content: "COMPANY";
  position: absolute;
  width: clamp(167px, 22.2vw, 320px);
  left: 0;
  top: calc(50% + 1.2em);
  text-align: center;
  font-size: 1.125rem;
  color: #ffffff;
}
header .head_sub_nav--wrap .sub-menu {
  flex: 1;
  display: grid;
  padding: 32px min(3vw, 104px);
  align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  min-height: 200px;
}
header .head_sub_nav--wrap .sub-menu > li a {
  display: inline-flex;
  align-items: center;
  color: #515151;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  padding: 0.5em 2.5em;
  z-index: 1;
}
header .head_sub_nav--wrap .sub-menu > li a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.5em;
  width: 16px;
  height: 2px;
  background-color: #515151;
  transform-origin: center right;
  transform: translateY(-50%) scaleX(0);
  transition: all 0.2s;
  z-index: 1;
}
header .head_sub_nav--wrap .sub-menu > li a:hover::before {
  left: 1em;
  transform: translateY(-50%) scale(1);
}
header .head_sub_nav--wrap .sub-menu > li a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1em;
  width: 10px;
  height: 10px;
  border-top: 2px solid #02029a;
  border-right: 2px solid #02029a;
  border-color: #515151;
  transition: all 0.2s;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
  z-index: 1;
}
header .head_sub_nav--wrap .sub-menu > li a:hover::after {
  left: 1.4em;
  transform: translateY(-50%) rotate(45deg);
}

/******************************************************************

サイドバー

******************************************************************/
/******************************************************************

ユーティリティナビゲーション

******************************************************************/
/******************************************************************

フッター

******************************************************************/
footer .head_sub_nav--wrap {
  display: none !important;
}

#footer {
  background-color: #4e519d;
  color: #ffffff;
  padding-top: 6rem;
  padding-bottom: 2rem;
}

#footer-main {
  margin-bottom: 3.5rem;
}
#footer-main .footer-main__inner {
  display: flex;
}
#footer-main .footer-main__inner .footer__left {
  width: 35%;
  padding: 0.5rem 5% 0.5rem 0;
  border-right: 1px solid #ffffff;
}
#footer-main .footer-main__inner .footer__left .footer__left__inner {
  width: 100%;
  max-width: 355px;
}
#footer-main .footer-main__inner .footer__left .footer__logo {
  margin-bottom: 2rem;
}
#footer-main .footer-main__inner .footer__left .footer__logo .link:hover {
  opacity: 0.5;
}
#footer-main .footer-main__inner .footer__left .footer__logo .link img {
  width: 100%;
  max-width: 344px;
}
#footer-main .footer-main__inner .footer__left .footer__details .detail_item .detail_content p span {
  display: inline-block;
  margin-right: 1em;
}
#footer-main .footer-main__inner .footer__left .footer__details .detail_item .detail_content p span:last-child {
  margin-right: 0;
}
#footer-main .footer-main__inner .footer__left .footer__details .detail_item .detail_content p span a {
  color: #ffffff;
}
#footer-main .footer-main__inner .footer__right {
  width: 65%;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner {
  display: flex;
  justify-content: flex-end;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi {
  width: 100%;
  padding-left: 5%;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 {
  display: grid;
  align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(211px, 1fr));
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 > li {
  margin-bottom: 1rem;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 > li > a {
  text-decoration: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  padding: 0.5em 2.5em;
  z-index: 1;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 > li > a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.5em;
  width: 16px;
  height: 2px;
  background-color: #ffffff;
  transform-origin: center right;
  transform: translateY(-50%) scaleX(0);
  transition: all 0.2s;
  z-index: 1;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 > li > a:hover::before {
  left: 1em;
  transform: translateY(-50%) scale(1);
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 > li > a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1em;
  width: 10px;
  height: 10px;
  border-top: 2px solid #02029a;
  border-right: 2px solid #02029a;
  border-color: #ffffff;
  transition: all 0.2s;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
  z-index: 1;
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .wrap-footernavi #menu-globalnavi-2 > li > a:hover::after {
  left: 1.4em;
  transform: translateY(-50%) rotate(45deg);
}
#footer-main .footer-main__inner .footer__right .footer__right__inner .iso-logo_wrapper .iso-logo img {
  width: 100%;
  max-width: 125px;
}

#footer-bottom .copyright {
  text-align: center;
}
#footer-bottom .copyright p {
  font-size: 0.75rem;
}

/******************************************************************

トップページ(toppage)

******************************************************************/
.textAnime .textAnime__box .textAnime__box-item .textAnime__box-item__ttl span {
  display: inline-block;
  transition: transform 0.8s cubic-bezier(0, 0.55, 0.45, 1), opacity 0.3s, -webkit-clip-path 0.6s cubic-bezier(0, 0.55, 0.45, 1);
  transition: clip-path 0.6s cubic-bezier(0, 0.55, 0.45, 1), transform 0.8s cubic-bezier(0, 0.55, 0.45, 1), opacity 0.3s;
  transition: clip-path 0.6s cubic-bezier(0, 0.55, 0.45, 1), transform 0.8s cubic-bezier(0, 0.55, 0.45, 1), opacity 0.3s, -webkit-clip-path 0.6s cubic-bezier(0, 0.55, 0.45, 1);
  transition-delay: 0s;
  opacity: 0;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  transform: translateY(80px);
}
.textAnime .textAnime__box .textAnime__box-item .textAnime__box-item__ttl.sp {
  display: none;
}
.textAnime.inview .textAnime__box .textAnime__box-item .textAnime__box-item__ttl span {
  transition-delay: 0.2s;
  opacity: 1;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  transform: translateY(0);
}

.home .wrap-main_image_header {
  position: relative;
}
.home .wrap-main_image_header #slider-text {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  text-align: center;
}
.home .wrap-main_image_header #slider-text .home-mv__box .home-mv__box-item .home-mv_box-item__ttl {
  color: #ffffff;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
}
.home .wrap-main_image_header #slider-text .home-mv__box .home-mv__box-item .home-mv_box-item__ttl span {
  padding-right: 3px;
}
.home .wrap-main_image_header #slider-text .home-mv__box .home-mv__box-item .home-mv_box-item__ttl span:first-child {
  margin-bottom: 2rem;
}
.home .wrap-main_image_header #slider-text .home-mv__box .home-mv__box-item .home-mv_box-item__ttl .small {
  font-size: 2.5rem;
}
.home .wrap-main_image_header #slider-text .home-mv__box .home-mv__box-item .home-mv_box-item__ttl .large {
  font-size: 5rem;
}
.home .bg-area {
  position: relative;
  padding-top: 1440px;
}
.home .bg-area .description_wrapper {
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  width: 100%;
}
.home .bg-area .fixImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  padding-bottom: 1440px;
  z-index: -1;
}
.home .bg-area .fixImg img {
  -o-object-fit: cover;
     object-fit: cover;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.home .message .description_wrapper {
  background-color: rgba(78, 81, 157, 0.8);
}
.home .message .description_header {
  padding: 3rem 0;
  background-color: rgba(78, 81, 157, 0.9);
}
.home .message .description_header .textAnime .description_header__box .description_header__box-item .description_header__box-item__ttl {
  color: #ffffff;
  text-align: center;
  font-weight: 400;
}
.home .message .description_header .textAnime .description_header__box .description_header__box-item .description_header__box-item__ttl span {
  padding-right: 3px;
}
.home .message .description_header .textAnime .description_header__box .description_header__box-item .description_header__box-item__ttl .small {
  font-size: 1.625rem;
}
.home .message .description_header .textAnime .description_header__box .description_header__box-item .description_header__box-item__ttl .middle {
  font-size: 3.125rem;
}
.home .message .description_header .textAnime .description_header__box .description_header__box-item .description_header__box-item__ttl .large {
  font-size: 3.5rem;
}
.home .message .description_main {
  padding: 3rem 0;
}
.home .message .description_main .content {
  color: #ffffff;
}
.home #home-product {
  padding: 10rem 0;
}
.home #home-product .home-product_header {
  text-align: center;
  margin-bottom: 2rem;
}
.home #home-product .home-product_header .home-product_title {
  font-size: 2.75rem;
}
.home #home-product .home-product_main .content-wrapper {
  margin-bottom: 10rem;
}
.home #home-product .home-product_main .banner-wrapper {
  display: flex;
  gap: 2rem 1%;
  overflow-x: hidden;
}
.home #home-product .home-product_main .banner-wrapper .banner-item {
  flex: 1;
}
.home #home-product .home-product_main .banner-wrapper .banner-item:hover .banner-image img {
  transform: scale(1.05);
}
.home #home-product .home-product_main .banner-wrapper .banner-item:hover .banner-content {
  background-color: #4e519d;
}
.home #home-product .home-product_main .banner-wrapper .banner-item:hover .banner-content .banner-title-en_wrapper {
  border-bottom: 1px solid #ffffff;
}
.home #home-product .home-product_main .banner-wrapper .banner-item:hover .banner-content .banner-title-en_wrapper .banner-title-en {
  color: #ffffff;
}
.home #home-product .home-product_main .banner-wrapper .banner-item:hover .banner-content .banner-title-ja {
  color: #ffffff;
}
.home #home-product .home-product_main .banner-wrapper .banner-item:hover .banner-content .banner-text p {
  color: #ffffff;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-image {
  margin-bottom: 0.3rem;
  overflow: hidden;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-image img {
  width: 100%;
  transition: transform 0.3s ease;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-content {
  border: 1px solid #515151;
  padding: 3rem 1rem;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-content .banner-title-en_wrapper {
  max-width: 480px;
  border-bottom: 1px solid #515151;
  margin: 0 auto;
  text-align: center;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-content .banner-title-en_wrapper .banner-title-en {
  color: #4e519d;
  font-size: 1.875rem;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-content .banner-title-ja {
  font-size: 1.625rem;
  text-align: center;
  margin-bottom: 2rem;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-content .banner-text {
  max-width: 370px;
  margin: 0 auto;
  text-align: center;
}
.home #home-product .home-product_main .banner-wrapper .banner-item .banner-content .banner-text p {
  font-weight: 500;
}
.home #home-recruit .section_main .recruit__container {
  display: flex;
  gap: 4rem 3%;
}
.home #home-recruit .section_main .recruit__container .recruit__content {
  flex: 1;
}
.home #home-recruit .section_main .recruit__container .recruit__content .recruit__content__inner {
  padding-left: max(10%, 20px);
}
.home #home-recruit .section_main .recruit__container .recruit__content .recruit__content__inner .recruit__heading {
  font-size: 1.625rem;
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  border-bottom: 1px solid #a3a3a3;
  border-left: 1px solid #a3a3a3;
  margin-bottom: 2rem;
}
.home #home-recruit .section_main .recruit__container .recruit__content .recruit__content__inner .recruit__description {
  margin-bottom: 2rem;
}
.home #home-recruit .section_main .recruit__container .recruit__image {
  width: 55%;
}
.home #home-recruit .section_main .recruit__container .recruit__image > a img {
  transition: 0.2s;
}
.home #home-recruit .section_main .recruit__container .recruit__image > a img:hover {
  transform: translate(-5px, -5px);
  box-shadow: 5px 5px;
  transition: 0.1s;
}

/******************************************************************

投稿（お知らせ）

******************************************************************/
.category-news .mainvisual {
  background-image: url(assets/images/news/mv_news_pc.webp);
}
.category-news #category-news {
  margin-bottom: 0;
}

.postlist .postlist-ul li {
  border: 1px solid #e4e4e4;
  border-bottom: none;
}
.postlist .postlist-ul li:last-child {
  border-bottom: 1px solid #e4e4e4;
}
.postlist .postlist-ul li .hover_ul {
  display: block;
  padding: 1.5rem 2rem;
}
.postlist .postlist-ul li .hover_ul:hover, .postlist .postlist-ul li .hover_ul:focus, .postlist .postlist-ul li .hover_ul:active {
  color: #515151;
  background-color: #f5f5f5;
}
.postlist .postlist-ul li .hover_ul .text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.postlist .postlist-ul li .hover_ul .text .list-title {
  font-size: 1rem;
  font-weight: 500;
}
.postlist .postlist-ul li .hover_ul .text .list-title .fas {
  color: #4e519d;
  margin-right: 0.5rem;
}
.postlist .postlist-ul li .hover_ul .text .date {
  font-size: 0.875rem;
  line-height: 1;
  color: #a3a3a3;
}
.postlist .postlist-ul li .hover_ul .text .date .publication {
  margin-right: 0.5rem;
}

/* single
-------------------------------------------------------*/
.single-post .mainvisual {
  background-image: url(assets/images/news/mv_news_pc.webp);
}
.single-post .single_inner_width {
  width: 80% !important;
  margin: 0 auto !important;
}
.single-post .post-category {
  width: 100%;
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
.single-post .post-category .taxonomy {
  color: #ffffff;
  display: inline-block;
  padding: 0.1rem 0.5rem;
}

h1.page-title,
h1.single-title {
  font-weight: bold;
  background: none;
  margin-bottom: 1rem;
  /* border: 1px solid #dddddd; */
  padding: 0;
  /* border-radius: 3px; */
  font-size: 1.6rem;
}

.single-post .article-header .single-title_wrapper {
  margin-bottom: 2rem;
  border: 1px solid #dddddd;
  padding: 1.5rem;
  border-radius: 3px;
}

.single-post .article-header .single-title_wrapper .date {
  /*    text-align: right;*/
  color: #666666;
  font-size: 0.9rem;
}

/* 文章 */
.single-post .entry-content {
  padding: 0;
  margin-bottom: 0;
}

.single-post .entry-content img {
  width: auto;
}

.single-post .entry-content p {
  margin-bottom: 0.5rem;
}

.single-post .entry-content a {
  color: #01a93b;
}

.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6 {
  margin-bottom: 1rem;
}

.single-post .article-footer {
  margin-bottom: 4.7rem;
}

.single-post .article-footer .post_link {
  border-top: 1px solid #eeeeee;
  border-bottom: 1px solid #eeeeee;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.single-post .article-footer .post_link a:hover {
  text-decoration: underline !important;
}

/******************************************************************

固定ページ(page)

******************************************************************/
/* company
-------------------------------------------------------*/
.page-company .mainvisual {
  background-image: url(assets/images/company/mv_company_pc.webp);
}
.page-company #greeting .section_main .greeting {
  margin-bottom: 5rem;
}
.page-company #greeting .section_main .greeting .content {
  margin-bottom: 5rem;
}
.page-company #greeting .section_main .greeting .position {
  text-align: center;
}
.page-company #greeting .section_main .greeting .position p {
  font-size: 1.125rem;
}
.page-company #greeting .section_main .greeting_box {
  border: 1px solid #e6e6e6;
  padding: 3rem 20px;
  text-align: center;
}
.page-company #greeting .section_main .greeting_box .greeting_box_content {
  margin-bottom: 3rem;
}
.page-company #greeting .section_main .greeting_box .greeting_box_content:last-child {
  margin-bottom: 0;
}
.page-company #greeting .section_main .greeting_box .greeting_box_content .greeting_box_title {
  margin-bottom: 0.5rem;
}
.page-company #greeting .section_main .greeting_box .greeting_box_content .greeting_box_title h2 {
  font-size: 1.625rem;
}
.page-company #profile .profile-table-wrapper {
  margin-bottom: 2rem;
}
.page-company #profile .profile_box {
  padding: 5rem 20px;
  border: 1px solid #e6e6e6;
}
.page-company #profile .profile_box .profile_box_content {
  max-width: 1090px;
  margin: 0 auto 3rem;
  display: flex;
  gap: 2rem;
}
.page-company #profile .profile_box .profile_box_content:last-child {
  margin-bottom: 0;
}
.page-company #profile .profile_box .profile_box_content .profile_box_image {
  text-align: center;
}
.page-company #profile .profile_box .profile_box_content .profile_box_image img {
  width: 100%;
  max-width: 190px;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text {
  flex: 1;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description {
  margin-bottom: 1rem;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description:last-child {
  margin-bottom: 0;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description .large {
  font-size: 1.125rem;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description-table-wrapper .description-table tr {
  border-top: 1px solid #e6e6e6;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description-table-wrapper .description-table tr:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description-table-wrapper .description-table th {
  text-align: left;
}
.page-company #profile .profile_box .profile_box_content .profile_box_text .description-table-wrapper .description-table th,
.page-company #profile .profile_box .profile_box_content .profile_box_text .description-table-wrapper .description-table td {
  padding: 1rem 0;
}
.page-company #access .section_main .access-flex {
  margin-bottom: 5rem;
}
.page-company #access .section_main .access-flex_inner {
  display: flex;
  gap: 5rem 4%;
}
.page-company #access .section_main .headquarters {
  flex: 1;
}
.page-company #access .section_main .headquarters .image {
  margin-bottom: 0.5rem;
}
.page-company #access .section_main .headquarters .image img {
  width: 100%;
  max-width: 585px;
}
.page-company #access .section_main .gmap-route-search {
  flex: 1;
}
.page-company #access .section_main .gmap-route-search .route-search_header,
.page-company #access .section_main .gmap-route-search .route-search_footer {
  width: 100%;
  max-width: 500px;
}
.page-company #access .section_main .gmap-route-search .route-search_header,
.page-company #access .section_main .gmap-route-search #from-place {
  margin-bottom: 1.5rem;
}
.page-company #access .section_main .gmap-route-search .route-search_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-company #access .section_main .gmap-route-search .route-search_header .route-search-title {
  font-weight: 400;
}
.page-company #access .section_main .gmap-route-search .route-search_header #transportation {
  display: flex;
}
.page-company #access .section_main .gmap-route-search .route-search_header #transportation .icon-trans {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #4e519d;
  color: #ffffff;
  font-size: 20px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-left: 0.5rem;
  cursor: pointer;
}
.page-company #access .section_main .gmap-route-search .route-search_header #transportation .trans-type.select .icon-trans,
.page-company #access .section_main .gmap-route-search .route-search_header #transportation .icon-trans:hover {
  background-color: #ffffff;
  color: #4e519d;
  border: 1px solid #4e519d;
}
.page-company #access .section_main .gmap-route-search .route-search_main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3rem;
}
.page-company #access .section_main .gmap-route-search .route-search_main .route-search {
  width: 100%;
  max-width: 500px;
}
.page-company #access .section_main .gmap-route-search .route-search_main .route-search .input-box {
  border: none;
  border-bottom: 1px solid #a3a3a3;
  border-right: 1px solid #a3a3a3;
  border-radius: 0;
  padding: 1rem 1.5rem;
  height: auto;
  width: 100%;
}
.page-company #access .section_main .gmap-route-search .route-search_main .change-from-to-wrapper {
  text-align: center;
}
.page-company #access .section_main .gmap-route-search .route-search_main .change-from-to-wrapper #change-from-to {
  cursor: pointer;
}
.page-company #access .section_main .gmap-route-search .route-search_main .change-from-to-wrapper #change-from-to:hover {
  opacity: 0.7;
}
.page-company #access .section_main .gmap-route-search .route-search_main .change-from-to-wrapper #change-from-to img {
  width: 100%;
  max-width: 42px;
}
.page-company #access .section_main .gmap-route-search .route-search_footer {
  text-align: center;
}
.page-company #access .section_main .gmap-route-search .route-search_footer .search-button {
  background-color: #4e519d;
  color: #ffffff;
  padding: 0.8rem 1rem;
  border: 1px solid #515151;
  font-size: 1.12rem;
  width: 90%;
  max-width: 350px;
  margin: 0 auto 1rem;
  cursor: pointer;
}
.page-company #access .section_main .gmap-route-search .route-search_footer .search-button:hover {
  background-color: #515151;
}
.page-company #facility-introduction .section_main .facility_introduction {
  overflow-x: hidden;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item {
  display: flex;
  gap: 1rem 3%;
  margin-bottom: 4rem;
  position: relative;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item:last-child {
  margin-bottom: 0;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item:nth-child(even) {
  flex-direction: row-reverse;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item:nth-child(even) .facility_introduction_item__content .facility_introduction_item__content__inner {
  padding-right: 0;
  padding-left: max(10%, 20px);
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__image {
  width: 55%;
  position: relative;
  z-index: 2;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__image img {
  width: 100%;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content {
  flex: 1;
  position: relative;
  z-index: 1;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner {
  padding-right: max(10%, 20px);
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__title {
  font-size: 1.625rem;
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  border-bottom: 1px solid #a3a3a3;
  border-left: 1px solid #a3a3a3;
  margin-bottom: 2rem;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__description {
  margin-bottom: 2rem;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__equipment table th,
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__equipment table td {
  padding: 0.5rem 0.5rem;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__equipment table thead tr {
  border: 1px solid #a3a3a3;
  border-bottom: none;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__equipment table thead tr th {
  text-align: left;
  background-color: #f5f5f5;
}
.page-company #facility-introduction .section_main .facility_introduction .facility_introduction_item .facility_introduction_item__content .facility_introduction_item__content__inner .facility_introduction_item__content__equipment table tbody tr {
  border: 1px solid #a3a3a3;
}

/* product-development-oem
-------------------------------------------------------*/
.page-product-development-oem .mainvisual {
  background-image: url(assets/images/product-development-oem/mv_product_development_oem_pc.webp);
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .lead {
  margin-bottom: 10rem;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .lead .content {
  margin-bottom: 3rem;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item {
  margin-bottom: 5rem;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item:last-child {
  margin-bottom: 0;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner {
  display: flex;
  gap: 2rem 4%;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__image,
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__content {
  width: 48%;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__image img {
  width: 100%;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__content .detail_item__title {
  font-size: 1.625rem;
  margin-bottom: 1rem;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__content .detail_item__text {
  margin-bottom: 2rem;
  text-align: justify;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__content .detail_item__example {
  margin-bottom: 2rem;
}
.page-product-development-oem #procuct-development-oem .section_main .product-development-oem .product-development-oem__inner .detail .detail_item .detail_item__inner .detail_item__content .detail_item__example .detail_item__exapmle_title {
  font-size: 1rem;
}
.page-product-development-oem #flow {
  background-color: rgba(78, 81, 157, 0.1);
}
.page-product-development-oem #flow .section_main .flow_parts--flow {
  counter-reset: number;
  margin-bottom: 8rem;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .inner {
  width: 90%;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item {
  position: relative;
  margin-left: auto;
  padding-left: 116px;
  counter-increment: number;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item:not(:last-child) {
  padding-bottom: 7rem;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 78px;
  left: 8px;
  width: 35px;
  height: 315px;
  background-image: url(assets/images/product-development-oem/icon_arrow_flow.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item .text .ttl-03 {
  position: relative;
  z-index: 1;
  color: #4e519d;
  font-size: 2.5rem;
  margin-bottom: 1em;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item .text .ttl-03::after {
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -140px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 0;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: #4e519d;
  text-align: center;
  color: #ffffff;
  font-size: 2rem;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item .text .mce-content-body {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item .text .mce-content-body .mce-content-body-image {
  width: 100%;
  max-width: 400px;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item .text .mce-content-body .mce-content-body-image img {
  width: 100%;
  max-width: 400px;
}
.page-product-development-oem #flow .section_main .flow_parts--flow .flow_item .text .mce-content-body .mce-content-body-text {
  width: 100%;
  max-width: 500px;
}
.page-product-development-oem #flow .section_main .flow_parts {
  position: relative;
  z-index: 1;
}
.page-product-development-oem #additional-information .section_main .additional-information_item_text {
  margin-bottom: 2rem;
}
.page-product-development-oem #additional-information .section_main .additional-information_item_text .additional-information_item_text_title h2 {
  color: #4e519d;
  font-size: 1.625rem;
}
.page-product-development-oem #additional-information .section_main .additional-information_item_images {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2%;
}
.page-product-development-oem #additional-information .section_main .additional-information_item_images .image {
  width: 23.5%;
  text-align: center;
}
.page-product-development-oem #additional-information .section_main .additional-information_item_images .image img {
  width: 100%;
  max-width: 280px;
}

/* recuit
-------------------------------------------------------*/
.page-recruit .ideal-candidate-profile .ideal-candidate-profile__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.page-recruit .ideal-candidate-profile .ideal-candidate-profile__inner .ideal-candidate-profile__item {
  width: 100%;
  max-width: 376px;
  display: flex;
  flex-direction: column;
}
.page-recruit .ideal-candidate-profile .ideal-candidate-profile__inner .ideal-candidate-profile__item .ideal-candidate-profile__item__image {
  text-align: center;
  margin-bottom: 0.3rem;
}
.page-recruit .ideal-candidate-profile .ideal-candidate-profile__inner .ideal-candidate-profile__item .ideal-candidate-profile__item__image img {
  width: 100%;
}
.page-recruit .ideal-candidate-profile .ideal-candidate-profile__inner .ideal-candidate-profile__item .ideal-candidate-profile__item__text {
  border: 1px solid #a3a3a3;
  padding: 1.5rem 2rem;
  flex: 1;
}
.page-recruit .ideal-candidate-profile .ideal-candidate-profile__inner .ideal-candidate-profile__item .ideal-candidate-profile__item__text h3 {
  font-size: 1.625rem;
  text-align: center;
  margin-bottom: 1rem;
}
.page-recruit .tab_set {
  display: flex;
  flex-wrap: wrap;
}
.page-recruit .tab_set .tab_switch:checked + .tab_label {
  background: #666;
}
.page-recruit .tab_set .tab_switch:checked + .tab_label + .tab_content {
  display: block;
}
.page-recruit .tab_set .tab_switch {
  display: none;
}
.page-recruit .tab_set .tab_label {
  flex: 1;
  color: #fff;
  font-size: 1.125rem;
  background: #ccc;
  padding: 1.2rem 1rem;
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  order: -1;
  position: relative;
  line-height: 1;
  cursor: pointer;
  text-align: center;
}
.page-recruit .tab_set .tab_label:last-of-type {
  border-right: 1px solid #666;
}
.page-recruit .tab_set .tab_content {
  display: none;
  width: 100%;
  padding: 4rem 20px;
  border: 1px solid #666;
}
.page-recruit .tab_set .tab_content .requirements-table-wrapper {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
.page-recruit .tab_set .tab_content .requirements-table-wrapper .table-title-wrapper {
  margin-bottom: 1rem;
}
.page-recruit .tab_set .tab_content .requirements-table-wrapper .table-title-wrapper .table-title {
  font-size: 1.625rem;
}
.page-recruit .tab_set .tab_content .requirements-table-wrapper .requirements-table {
  margin-bottom: 4rem;
}

/* faq
-------------------------------------------------------*/
.page-faq .mainvisual {
  background-image: url(assets/images/faq/mv_faq_pc.webp);
}
.page-faq .faq_items .faq_item {
  border: 1px solid #e6e6e6;
  border-bottom: none;
  padding: 1.7rem 1.875rem;
}
.page-faq .faq_items .faq_item:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.page-faq .faq_items .faq_item .ttl-03 {
  cursor: pointer;
  padding-right: 8.375rem;
  color: #4e519d;
  font-size: 1.125rem;
  position: relative;
}
.page-faq .faq_items .faq_item .ttl-03:hover {
  opacity: 0.7;
}
.page-faq .faq_items .faq_item .ttl-03 .anchor {
  position: absolute;
  top: -5rem;
  left: 0;
  pointer-events: none;
}
.page-faq .faq_items .faq_item .ttl-03 .toggle {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 3rem;
  height: 3rem;
  color: #fff;
  background-color: #4e519d;
  border-radius: 50%;
  transition: all 0.4s ease-out;
}
.page-faq .faq_items .faq_item .ttl-03 .toggle::before, .page-faq .faq_items .faq_item .ttl-03 .toggle::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 0.75rem;
  height: 2px;
  border-bottom: 2px solid;
  transition: all 0.4s ease-out;
}
.page-faq .faq_items .faq_item .ttl-03 .toggle::after {
  transform: rotate(90deg);
}
.page-faq .faq_items .faq_item .ttl-03.active .toggle {
  transform: rotate(180deg);
}
.page-faq .faq_items .faq_item .ttl-03.active .toggle::after {
  opacity: 0;
}
.page-faq .faq_items .faq_item .text {
  padding-top: 2.5rem;
  display: flex;
  gap: 5%;
}
.page-faq .faq_items .faq_item .text .mce-content-body {
  flex: 1;
}

/* contact
-------------------------------------------------------*/
/* Google reCAPTCHA */
.grecaptcha-badge {
  display: none;
}

.page-contact .grecaptcha-badge {
  bottom: 150px !important;
  display: block;
}

.form-wrapper .grecaptcha-badge {
  bottom: 150px !important;
  display: block;
}

.form-wrapper .wpcf7 .ajax-loader,
.form-wrapper .wpcf7c-elm-step2.ajax-loader {
  display: none;
}

.page-contact .mainvisual {
  background-image: url(assets/images/contact/mv_contact_pc.webp);
}
.page-contact .entry-content {
  padding: 0;
  margin-bottom: 0;
}
.page-contact .section_main .form-wrapper {
  margin-bottom: 5rem;
}
.page-contact .section_main .wpcf7-form .info-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 2rem;
  font-size: 1.125rem;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr th {
  padding-top: 0.8rem;
  padding-right: 15%;
  font-weight: 400;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr th .th-text {
  width: 100%;
  max-width: 225px;
  text-align: left;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr th .contact-contents-area__status {
  width: 100%;
  max-width: 100px;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr th .contact-contents-area__status.is_required {
  background-color: #b30000;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr th .contact-contents-area__status.is_optional {
  background-color: #a3a3a3;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr td {
  width: 60%;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr td .wpcf7-form-control {
  background-color: #ffffff;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr td .wpcf7-form-control:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr td input,
.page-contact .section_main .wpcf7-form .info-table tbody tr td select,
.page-contact .section_main .wpcf7-form .info-table tbody tr td textarea {
  display: block;
  width: 100%;
  border: 1px solid #d1d1d1;
  border-radius: 5px;
  padding: 1rem;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr td .caution {
  padding-left: 1rem;
}
.page-contact .section_main .wpcf7-form .info-table tbody tr td .caution p {
  font-size: 0.9375rem;
}
.page-contact .section_main .form-button .wpcf7-back {
  background-color: #515151;
  color: #ffffff;
  margin-bottom: 1rem;
}
.page-contact .section_main .form-button .wpcf7-back:hover, .page-contact .section_main .form-button .wpcf7-back:focus, .page-contact .section_main .form-button .wpcf7-back:active {
  color: #515151;
  background-color: #ffffff;
}
.page-contact .section_main .form-button .wpcf7-spinner {
  display: block;
  margin: 0 auto;
}

/******************************************************************

カスタム投稿

******************************************************************/
.post-type-archive-product-introduction .mainvisual,
.single-product-introduction .mainvisual {
  background-image: url(assets/images/product-introduction/mv_product_introduction_pc.webp);
}

.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item {
  width: 100%;
  max-width: 370px;
  min-height: 550px;
  box-sizing: border-box;
  border: 3px solid transparent;
  transition: border 0.3s ease;
  border-radius: 18px;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item:hover {
  border: 3px solid #e6e6e6;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item:hover .product-introduction-item-image img {
  transform: scale(1.05);
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item > a {
  display: inline-block;
  padding: 2rem;
  color: #515151;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item .product-introduction-item-image {
  text-align: center;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item .product-introduction-item-image img {
  width: 100%;
  max-width: 295px;
  transition: transform 0.3s ease;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item .product-introduction-item-content {
  padding: 1rem;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item .product-introduction-item-content .product-introduction-item-title {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item .product-introduction-item-content .product-introduction-item-description {
  margin-bottom: 1rem;
}
.post-type-archive-product-introduction #archive-product-introduction .section_main .product-introduction-wrap .product-introduction-list .product-introduction-item .product-introduction-item-content .product-introduction-item-usage {
  text-align: center;
  font-size: 0.75rem;
  border: 1px solid #a3a3a3;
  padding: 0.3rem 0.5rem;
}

.single-product-introduction #single-product-introduction .section_main article .article-header {
  text-align: center;
  margin-bottom: 5rem;
}
.single-product-introduction #single-product-introduction .section_main article .article-header .article-title {
  font-size: 2rem;
  padding: 1rem 2rem;
  display: inline-block;
  position: relative;
}
.single-product-introduction #single-product-introduction .section_main article .article-header .article-title::before, .single-product-introduction #single-product-introduction .section_main article .article-header .article-title::after {
  content: "";
  position: absolute;
  width: 23px;
  height: 23px;
}
.single-product-introduction #single-product-introduction .section_main article .article-header .article-title::before {
  top: 0;
  left: 0;
  border-top: 1px solid #a3a3a3;
  border-left: 1px solid #a3a3a3;
}
.single-product-introduction #single-product-introduction .section_main article .article-header .article-title::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #a3a3a3;
  border-bottom: 1px solid #a3a3a3;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .image {
  text-align: center;
  width: 100%;
  max-width: 490px;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .image img {
  width: 100%;
  max-width: 490px;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description {
  width: 100%;
  max-width: 645px;
  min-height: 515px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-text-wrapper .description-item {
  padding-top: 1rem;
  margin-bottom: 1rem;
  border-top: 1px solid #9b9b9b;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-text-wrapper .description-item:first-child {
  padding-top: 0;
  border-top: none;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-text-wrapper .description-item:last-child {
  margin-bottom: 0;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-text-wrapper .description-item h2 {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper {
  display: flex;
  gap: 1rem;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper .catalog-link .icon-pdf {
  position: relative;
  display: inline-block;
  width: 59px;
  height: 73px;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper .catalog-link .icon-pdf img {
  display: block;
  width: 59px;
  height: 73px;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper .catalog-link .icon-pdf .icon-hover {
  display: none;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper .catalog-link .icon-pdf:hover .icon-normal {
  display: none;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper .catalog-link .icon-pdf:hover .icon-hover {
  display: block;
}
.single-product-introduction #single-product-introduction .section_main article .article-main .single-product-introduction-info .description .description-item-catalog-wrapper .catalog-link .icon-pdf .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.single-interview #single-interview .bg-area {
  position: relative;
  /* 固定背景用ラッパー  */
}
.single-interview #single-interview .bg-area .fixImg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  /* 本体の画像だけ fixed にする */
}
.single-interview #single-interview .bg-area .fixImg img {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.single-interview #single-interview .single-interview-items-wrap {
  position: relative;
  z-index: 1;
  margin-top: -1px;
  width: 100%;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  margin: 0 auto 5rem;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item.reverse {
  flex-direction: row-reverse;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item.last {
  margin-bottom: 0;
  flex-direction: column;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item.last .single-interview-item-large-image {
  width: 100%;
  max-width: 1200px;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item.last .single-interview-item-large-image img {
  width: 100%;
  max-width: 1200px;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item.last .single-interview-item-content {
  width: 100%;
  max-width: 1200px;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-vertical-image {
  width: 100%;
  max-width: 600px;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-vertical-image img {
  width: 100%;
  max-width: 600px;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-content {
  width: 100%;
  max-width: 550px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-content .single-interview-item-text .single-interview-item-question {
  color: #4e519d;
  font-size: 1.625rem;
  position: relative;
  padding-left: 40px;
  margin-bottom: 2rem;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-content .single-interview-item-text .single-interview-item-question::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 2px;
  background-color: #4e519d;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-content .single-interview-item-text .single-interview-item-answer-summary {
  font-size: 1.625rem;
  margin-bottom: 2rem;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-content .single-interview-item-text .single-interview-item-answer-detail {
  font-size: 1.125rem;
}
.single-interview #single-interview .single-interview-items-wrap .single-interview-items .single-interview-item .single-interview-item-content .single-interview-item-horizontal-image img {
  width: 100%;
  max-width: 550px;
}
.single-interview #other-interview {
  background-color: #ffffff;
  padding: 5rem 0 10rem;
  margin-bottom: 0;
}

/******************************************************************

404 Page Not Found

******************************************************************/
/******************************************************************
*******************************************************************

メディアクエリー

*******************************************************************
******************************************************************/
/* style-sp.cssにコーディング *//*# sourceMappingURL=style.css.map */