@charset "UTF-8";

/* ********** サイト全体の共通モジュールのstyle ********** */
/* テキスト要素 */
.c-indextitle {
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.c-indextitle--sub {
  font-size: 2rem;
}
.c-title--large {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.c-title--normal {
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.c-title--small {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.c-text--large {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.c-text--normal,
.wp-wysiwyg p {
  font-size: 1.5rem;
  line-height: 1.8;
}
.c-text--small {
  font-size: 1.4rem;
  line-height: 1.6;
}
.c-text--bold {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
/* タグ要素 */
[class*="c-tag--"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  height: 25px;
  padding: 0 5px;
  font-size: 1rem;
  font-weight: normal;
  border-radius: 1px;
  box-sizing: border-box;
  white-space: nowrap;
}
[class*="c-tag--"] + [class*="c-tag--"] {
  margin-left: 10px;
}
/* ----- お知らせ用 ----- */
.c-tag--new {
  background-color: red;
  color: #fff;
}
[class*="c-tag--news"] {
  border-width: 1px;
  border-style: solid;
}
.c-tag--news1 {
  border-color: #1a7144;
  color: #1a7144;
}
.c-tag--news2 {
  border-color: #c62828;
  color: #c62828;
}
.c-tag--news3 {
  border-color: #f39800;
  color: #f39800;
}
.c-tag--news4 {
  border-color: #2b4785;
  color: #2b4785;
}
.c-tag--news5 {
  border-color:  #333;
  color: #333;
}
/* ----- フォーム用 ----- */
.c-tag--haveto {
  background-color: red;
  color: #fff;
  min-width: inherit;
  display: inline;
  padding: 2px 5px;
}
/* ----- インタビュー・クロストーク用 ----- */
.c-tag--career,
.c-tag--fresh {
  border-width: 1px;
  border-style: solid;
}
.c-tag--career {
  border-color: red;
  color: red;
}
.c-tag--fresh {
  border-color: blue;
  color: blue;
}
/* ----- 実績用 ----- */
[class*="c-tag--cate"] {
  color: #fff;
}
.c-tag--cate1 {
  background-color: #000;
}
.c-tag--cate2 {
  background-color: #333;
}
.c-tag--cate3 {
  background-color: #555;
}
.c-tag--cate4 {
  background-color: #777;
}
.c-tag--cate5 {
  background-color: #999;
}
/* テキストリンク要素 */
.c-textlink,
.wp-wysiwyg p > a {
   color: #31b06a;
  text-decoration: none;
  padding: 0 1px;
}
.c-textlink[target="_blank"]:after {
  margin: 0 3px 3px;
  font-family: "Font Awesome 6 Free";
  vertical-align: middle;
  content: "\f35d";
  font-weight: 900;
  display: inline-block;
  font-size: 1.4rem;
}
.c-textlink:hover {
  /* color: blue; */
  text-decoration: underline;
}
/* テーブル要素 */
.c-table {
  width: 100%;
  display: table;
  border-collapse: separate;
  border-spacing: 0;
}
.c-table th,
.c-table td {
  border-bottom: 1px solid #ddd;
  font-size: 1.5rem;
  text-align: left;
}
.c-table thead th:first-child {
  background: #1a7144;
  color: #fff;
}
.c-table thead th:last-child {
  background: #31b06a;
  color: #fff;
}
.c-table th {
  width: 25%;
  background: #fff;
  padding: 20px 10px 20px 20px;
}
.c-table tbody th {
  width: 25%;
  background: #fff;
  padding: 20px 10px 20px 20px;
  color: #1a7144;
}
.c-table td {
  width: 75%;
  background: #fff;
  padding: 20px 20px 20px 10px;
}
/* タブ要素 */
[class*="c-tab"].e-current {
  background: #333;
  color: #fff;
}

/* **********  サイト全体の共通パーツのstyle ********** */
/* フッタ */
.l-footer {
  background: linear-gradient(135deg, #1a7144 50%, #1a7144);
}
.l-footer .c-col2 {
	padding: 40px 0;
	align-items: flex-end;
}
.l-footer__menu a {
  color: #fff;
}
.l-footer__menu a:hover {
  opacity: 0.7;
}
.l-footer__lists li {
  line-height: 3.5rem;
}
.l-footer__lists li a {
  display: block;
  font-size: 1.4rem;
  padding-left: 15px;
	position: relative;
	width: fit-content;
}
.l-footer__lists li a:before {
  content: "";
  width: 12px;
  height: 1px;
  top: 50%;
  left: 0;
  position: absolute;
  background: #fff;
}
.l-footer__inner a {
  display: block;
  font-size: 1.4rem;
  padding-left: 15px;
  position: relative;
}
.l-footer__inner a:before {
  content: "";
  width: 12px;
  height: 1px;
  top: 50%;
  left: 0;
  position: absolute;
  background: #fff;
}
.l-footer__address {
  text-align: right;
}
.l-footer__address .c-text--bold,
.l-footer__address .c-text--normal {
  color: #fff;
}
.l-footer__copyright {
  /* background: #eee; */
  width: 100%;
  padding: 20px 5px;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}
/* 下層ページトップビジュアルメイン */
.s-pagetop {
  margin-top: 120px;
}
.s-pagetop > .c-container .c-col1 {
  background-position: center;
  background-size: cover;
  padding: 200px 0;
  position: relative;
  margin-right: 0;
 /* max-width: 1536px; */
}
#p-productslist_archive .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop02.jpg);
}
#p-products .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop02.jpg);
}
#p-manufacturing .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop03.jpg);
}
#p-quality .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop04.jpg);
}
#p-logistics .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop05.jpg);
}
#p-company .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop06.jpg);
}
#p-recruit .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop07.jpg);
}
#p-sdgs .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop08.jpg);
}
#p-news .s-pagetop > .c-container .c-col1,
#p-newslist_archive .s-pagetop > .c-container .c-col1,
#p-newslist_taxonomy .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop09.jpg);
}
#p-privacy .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop10.jpg);
}
#p-contact .s-pagetop > .c-container .c-col1 {
  background-image: url(../img/s-pagetop11.jpg);
}
.s-pagetop > .c-container .c-col1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
}
/* 下層ページトップのタイトル要素 */
.s-pagetop__maintitle {
  position: relative;
  font-size: calc(1.6 * var(--rem));
  padding-left: 5%;
  line-height: 2;
}
.s-pagetop__maintitle::before {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 5%;
  width: 90%;
  height: 1px;
  background: #eee;
}
.s-pagetop__maintitle::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 5%;
  width: 20%;
  height: 1px;
  background: #1a7144;
}
.s-pagetop__subtitle {
  position: relative;
  font-size: calc(5.5 * var(--rem));
  padding-right: 10%;
  font-weight: bold;
  text-align: right;
  line-height: 1.2;
  background: linear-gradient(85deg, #1a7144, #31b06a);
  background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
.s-pagetop__subtitle span {
  color: #307040;
  margin: 0;
  padding: 0;
}
.s-pagetop .c-container .c-col1 {
  position: relative;
}
.s-pagetop .c-container .c-col1 .c-wrap {
  position: absolute;
  left: calc(-100% / 9);
  bottom: 0;
  z-index: 2;
  width: 38%;
  padding-top: 25px;
}
.s-pagetop .c-container .c-col1 .c-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: -1;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.6s ease-out;
}
/* アニメーション要素 */
.s-pagetop .c-container .c-col1 .c-wrap.e-animate::before {
  transform: scaleX(1);
}

/* 下層ページトップビジュアルサブ */
.s-pagetop--sub > .c-container {
  background-color: #000;
}
.s-pagetop--sub__maintitle {
  position: relative;
  font-size: 3.5rem;
  color: #fff;
}
.s-pagetop--sub__subtitle {
  position: relative;
  font-size: 2.5rem;
  color: #fff;
  font-weight: 700;
}
.s-pagetop--sub .c-wrap {
  display: flex;
  flex-direction: column;
  padding: 30px 0;
}
/* パンくず */
.s-breadcrumb .c-rowlists {
  padding: 20px;
  display: block;
  text-align: right;
}
.s-breadcrumb .c-rowlists li {
  font-size: 1.4rem;
  color: #999;
  display: inline;
}
.s-breadcrumb .c-rowlists li a {
  color: #000;
  text-decoration: underline;
}
.s-breadcrumb .c-rowlists li:after {
  content: "";
  background: url(../img/arrow--right.svg) center center/contain no-repeat;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 6px 0 12px;
}
.s-breadcrumb .c-rowlists li:last-of-type:after {
  content: none;
}
.s-breadcrumb .c-rowlists li a:hover {
  color: #999;
}
/* フォトギャラリー/表示に影響するのでclass名は変更不可*/
.s-photogallery .c-item {
  position: relative;
  cursor: pointer;
}
.s-photogallery .c-item:before {
  content: "";
  display: block;
  padding-top: 66.66%;
}
.s-photogallery .c-photo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
}
#lg-counter span {
  color: #999;
}
@media screen and (max-width: 810px) {
  .s-photogallery .c-item {
    pointer-events: none;
  }
}
/* 実績詳細スイッチングスライダー/表示に影響するためclass名は変更不可 */
.s-slickswitching__main .c-photo {
  display: flex !important;
  justify-content: center;
  align-items: center;
  background: #eee;
  padding: 50px 0;
  height: 450px;
}
.s-slickswitching__main .c-photo img {
  margin: auto;
  object-fit: contain;
  font-family: "object-fit: contain;, object-position: center;";
  max-width: 85%;
  height: 100%;
  object-position: center;
}
.s-slickswitching__sub {
  margin-left: 30px;
}
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 3;
  top: 42%;
  cursor: pointer;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
  height: 25px;
  width: 25px;
}
.slick-prev {
  left: 2.5%;
  transform: rotate(-135deg);
}
.slick-next {
  right: 2.5%;
  transform: rotate(45deg);
}
.s-slickswitching__sub .slick-track {
  width: 100% !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.s-slickswitching__sub .c-photo {
  cursor: pointer;
  outline: none;
  background: #333;
  width: 48% !important;
  height: 110px;
  margin: 0;
}
.s-slickswitching__sub .c-photo img {
  opacity: 0.4; /*選択されていないものは透過40%*/
}
.s-slickswitching__sub .c-photo.slick-current img {
  opacity: 1; /*選択されているものは透過しない*/
}
.s-slickswitching__sub .c-photo:nth-of-type(n + 3) {
  margin-top: 20px;
}
.s-slickswitching__sub .c-photo:nth-of-type(2n) {
  margin-left: 4%;
}
@media screen and (max-width: 810px) {
  .s-slickswitching__sub .c-photo {
    height: 90px;
  }
}
/* お知らせ詳細右カラム/WPに影響するためclass名は変更不可 */
.s-rightcol {
  background: #fff;
  border: none;
}
.s-rightcol .c-text-bold {
  background: #31b06a;
  padding: 10px;
  color: #fff;
}
.s-rightcol li {
  padding: 10px;
  border-top: 1px solid #eee;
}
.s-rightcol li:first-of-type {
  border-top: 0;
}
/* ページネーション/WPに影響するためclass名は変更不可 */
.s-pagenation {
  padding: 50px 0;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.s-pagenation a,
.s-pagenation span {
  width: inherit;
  height: 50px;
  margin: 5px;
  line-height: 50px;
  text-align: center;
  font-size: 1.4rem;
  background-color: #fff;
  color: #333;
  border: 1px solid #31b06a;
  padding: 0 10px;
  display: inline-block;
}
.s-pagenation a:hover {
  background-color: #1a7144;
  border: 1px solid #1a7144;

  color: #fff;
}
.s-pagenation .current {
  background-color: #1a7144;
  color: #fff;
}
/* c-tab/js連動のためclass名は変更不可 */
[class*="c-tab"]:not(.c-table) {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
[class*="c-tab"]:not(.c-table) li {
  background-color: #fff;
  color: #333;
  border: 1px solid #777;
}
[class*="c-tab"]:not(.c-table) li.e-current {
  background-color: #000;
  color: #fff;
}
/* ページトップへ戻る */
.s-backtotop {
  background: linear-gradient(45deg, #1a7144, #31b06a);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  position: fixed;
  z-index: 99;
  bottom: 80px;
  right: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}
.s-backtotop.e-active {
  opacity: 1;
  pointer-events: auto;
}
.s-backtotop span::after {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 14px;
  position: absolute;
  top: 50%;
  left: 23px;
  transform: rotate(135deg) translateY(-50%);
}
.s-backtotop span::before {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 14px;
  position: absolute;
  top: 50%;
  right: 23px;
  transform: rotate(-135deg) translateY(-50%);
}
.s-backtotop:hover {
  transform: translateY(-5%);
  background: linear-gradient(45deg, #1a7144, #31b06a);
}
/* ********** ページごと・セクションごとの個別style（★） ********** */
/* 共通要素 */

/* 共通要素 ここまで*/

/*  **********　TOP  ********** */
#p-top .s-newslist,
#p-top .s-top-products,
#p-top .s-top-strength,
#p-top .s-top-sdgs {
  background: #fff;
  z-index: -1;
}
#p-top .c-conbination {
  background: #fff;
  z-index: 0;
}
/* s-topmainvisual */
#p-top .s-topmainvisual {
  margin-top: 140px;
}
#p-top .s-topmainvisual .c-container {
	position: relative;
	/* height: calc(720 * var(--px)); */
}
#p-top .s-topmainvisual .c-container .c-video {
	display: block;
	/* max-width: 1536px; 
	object-fit: cover;
	z-index: -1;
	position: fixed;
  right: 0;*/
}
#p-top .s-topmainvisual .c-container .c-col1 {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
#p-top .s-topmainvisual .c-container .c-col1 .c-title--large {
  position: relative;
  font-size: calc(6.3 * var(--rem));
  padding-right: 5%;
  padding-left: 5%;
  line-height: 1.2;
  background: linear-gradient(85deg, #1a7144, #31b06a);
  background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
#p-top .s-topmainvisual .c-container .c-col1 .c-title--small {
  padding-left: 5%;
  position: relative;
}
#p-top .s-topmainvisual .c-container .c-col1 .c-title--small::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: 5%;
  width: 90%;
  height: 1px;
  background: #eee;
}
#p-top .s-topmainvisual .c-container .c-col1 .c-title--small::after {
  content: "";
  position: absolute;
  top: -2rem;
  left: 5%;
  width: 20%;
  height: 1px;
  background: #1a7144;
}

/* newslist */
.s-newslist .c-table td [class^="c-tag--"] + a {
	margin-left:15px;	
}
.s-newslist .c-table td a.c-textlink {
  color:#333;	
}

/* products */
#p-top .s-top-products .c-container {
  background-image: url(../img/p-top_s-top-products01.jpg);
  background-position: left;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 100px 0;
}
#p-top .s-top-products .c-container .c-col1 {
	background: #fff;
	box-shadow: 0 0 22px rgba(0, 0, 0, 0.1);
}
/* strength */
#p-top .s-top-strength .c-container .c-col1 .c-btn {
  display: block;
}
#p-top .s-top-strength .c-container .c-col1 .c-btn a {
  display: block;
}
#p-top .s-top-strength .c-btn__text {
	padding: 18px 50px 18px 30px;
	font-size: 1.6rem;
}	
/* sdgs */
#p-top .s-top-sdgs .c-container {
  background-image: url(../img/p-top_s-top-sdgs01.jpg);
  background-position: right;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 100px 0;
}
#p-top .s-top-sdgs .c-container .c-col1 {
	background: #fff;
	box-shadow: 0 0 18px rgba(0, 0, 0, 0.12);
}

/*  **********　TOP ここまで ********** */

/*  **********　共通項目　********** */
/* 小見出しタイトル */
.c-titlegroup {
  text-align: center;
}
.c-titlegroup .c-indextitle--sub {
  font-size: calc(7 * var(--rem));
}
.c-titlegroup .c-indextitle {
  font-size: calc(1.8 * var(--rem));
  display: block;
  margin: 0;
}
.c-titlegroup .c-indextitle span {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
.c-titlegroup .c-indextitle span::before,
.c-titlegroup .c-indextitle span::after {
  content: "";
  display: block;
  width: 45px;
  height: 2px;
  background: linear-gradient(85deg, #1a7144, #31b06a);
  transform: scaleX(0);
  transition: transform 0.4s ease-out;
}
.c-titlegroup .c-indextitle span::before {
  transform-origin: right center;
}
.c-titlegroup .c-indextitle span::after {
  transform-origin: left center;
}
.c-titlegroup .c-indextitle span.e-titleline-active::before,
.c-titlegroup .c-indextitle span.e-titleline-active::after {
  transform: scaleX(1);
}
/* セクションの背景 */
.c-wrapbg {
  position: relative;
}
.c-wrapbg::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #fff, rgb(226 236 225) 50%, rgb(248, 248, 248));
  z-index: -2;
}
.c-wrapbg::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg.png);
  background-size: cover;
  z-index: -1;
  opacity: 0.6;
}
/* アイテムの背景 */
.c-itembg {
  position: relative;
}
.c-itembg::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.7;
  border-radius: 5px;
  z-index: -1;
  border: 1px solid #eee;
}
/* タイトルテキスト前の擬似要素 */
#p-productslist_archive.p-productslist .c-text--large,
#p-quality .s-researchdevelopment .c-title--large,
#p-company .c-title--normal,
#p-recruit .s-topmessage .c-title--small,
#p-sdgs .c-title--normal {
  position: relative;
  padding-left: 30px;
}
#p-productslist_archive.p-productslist .c-text--large::before,
#p-quality .s-researchdevelopment .c-title--large::before,
#p-company .c-title--normal::before,
#p-recruit .s-topmessage .c-title--small::before,
#p-sdgs .c-title--normal::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 20px;
  height: 3px;
  background: linear-gradient(85deg, #1a7144, #31b06a);
  content: "";
}
/* 写真のアスペクト */
#p-manufacturing .s-technology .c-container .c-col2--panel .c-item .c-photo,
#p-quality .s-researchdevelopment .c-container .c-col2--panel .c-item .c-photo,
#p-logistics .s-aboutoursystem .c-col3--panel .c-photo,
#p-top .c-conbination section .c-photo {
  aspect-ratio: 16 / 9;
}
/* リスト：番号付き＋折り返し行インデント */
#p-quality .s-qualitypolicy ol,
#p-sdgs .s-fortheenvironment ol {
  padding-left: 1.8em;
  list-style-position: outside;
}
#p-quality .s-qualitypolicy ol li,
#p-sdgs .s-fortheenvironment ol li {
  line-height: 1.8;
  margin-bottom: 0.4em;
  list-style: inherit;
}
/* アイコンの高さ統一 */
#p-recruit .s-keyword .c-col3--panel .c-item .c-photo,
#p-logistics .s-aboutoursystem .c-col3--panel .c-item .c-photo {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#p-recruit .s-keyword .c-col3--panel .c-item .c-photo img,
#p-logistics .s-aboutoursystem .c-col3--panel .c-item .c-photo img {
  max-height: 80px;
  width: auto;
  max-width: 100%;
  display: block;
}
/*  **********　共通項目　ここまで  ********** */

/*  **********　取扱製品  ********** */

#p-productslist_archive.p-productslist .s-lead .c-container {
  border: 1px solid #eee;
  border-radius: 2px;
  padding: 30px;
	text-align: center;
	box-shadow: 0 0 18px rgba(0, 0, 0, 0.12);
}
#p-productslist_archive.p-productslist .s-productslist .c-col1--panel .c-item {
  position: relative;
  padding-left: 30px;
	padding-right: 30px;
	min-height:400px;
}
#p-productslist_archive.p-productslist .s-productslist .c-col1--panel .c-item .c-photo {
  aspect-ratio: 4 / 3;
  z-index: 1;
}

/*  **********　取扱製品詳細  ********** */
#p-products .s-productsdetail {
  background: var(--product-color-alpha);
  padding: 0 0 100px;
}
#p-products .s-productsdetail .c-title--normal {
  background: var(--product-color);
  color: #fff;
}
#p-products .s-productsdetail .c-text--large {
}
#p-products .s-productsdetail .c-item {
  border: 1px solid #eee;
  border-radius: 5px;
  background: #fff;
}
#p-products .s-productsdetail .c-item + .c-item {
  margin-top:30px;
}
#p-products .s-productsdetail .c-item .c-text--bold span {
  background: var(--product-color);
  color: #fff;
  padding: 5px 10px;
  border-radius: 2px;
}
#p-products .s-productsdetail .c-col2 .c-photo {
  padding-left: 30px;
}

#p-products .s-productsdetail .c-col2 > div:nth-of-type(1) {
  margin-left: 0;
}
/*  **********　製造体制  ********** */
/* Technology 製造技術 */

#p-manufacturing .s-technology .c-container .c-col2--panel .c-title--normal span {
  position: relative;
  background: linear-gradient(85deg, #1a7144, #31b06a);
  background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}

/* Equipment　主要製造装置 */
#p-manufacturing .s-equipment .c-container .c-col2 {
	min-height: 330px;
	box-shadow: 0 0 18px rgba(0, 0, 0, 0.12);
}
#p-manufacturing .s-equipment .c-container .c-col2 .c-wrap {
  margin-right: 5%;
}
#p-manufacturing .s-equipment .c-container .c-col2 .c-wrap .c-wrap {
}
#p-manufacturing .s-equipment .c-container .c-col2 .c-wrap .c-wrap > span {
  border: 1px solid #eee;
  display: inline-block;
  padding: 1rem 1rem 1rem 0;
}
#p-manufacturing .s-equipment .c-container .c-col2 .c-wrap .c-wrap > span p span {
  background: linear-gradient(135deg, #1a7144, #31b06a);
  margin-right: 1rem;
  padding: 1rem;
  color: #fff;
}
#p-manufacturing .s-equipment .c-container .c-col2 .c-photo {
	aspect-ratio: 1 / 1;
}
	
/* Process 製造プロセス */
#p-manufacturing .s-process {
}
/*  **********　品質管理体制  ********** */
#p-quality {
}
/*  **********　ロジスティクス体制  ********** */
/* Logistics Facilities 工場内ロジスティクス関連設備 */
#p-logistics .s-logisticsfacilities {
  padding: 100px 0 0;
}

/*  **********　会社情報  ********** */
#p-company {
}
/* About Us 三共油化工業について */
#p-company .s-aboutus .c-wrap ul {
  display: flex;
  flex-wrap: wrap;
	/* gap: 10px; */
	list-style: none;
	justify-content:space-between;
}
#p-company .s-aboutus .c-wrap ul li span {
  background: linear-gradient(135deg, #fff, #eee);
  line-height: 2rem;
  display: inline-block;
  padding: 30px;
  border-radius: 2px;
  font-size: 2rem;
	white-space: pre-wrap;
	box-shadow: 0 0 18px rgba(0, 0, 0, 0.12); /* 位置は 0 0、ぼかしのみで柔らかい影 */
	color:#1a7144;
	text-align:center;
	width:100%;
}
#p-company .s-aboutus .c-wrap ul li {
 /*  flex: 1 1 180px; */
}
#p-company .s-aboutus .c-wrap.c-characteristics ul li {
  width:31%;
}
#p-company .s-aboutus .c-wrap.c-characteristics ul li:nth-of-type(n+4) {
  width:48%;
  margin-top: 20px;
}
#p-company .s-aboutus .c-wrap.c-core ul li {
	width:100%;
}
#p-company .s-aboutus .c-wrap.c-core ul li + li {
	margin-top: 20px;
}


/*  **********　採用情報  ********** */
#p-recruit {
}
/* Top Message　代表からのメッセージ */
#p-recruit .s-topmessage .c-photo {
  aspect-ratio: 3 / 4;
}
/* Entry 募集要項・エントリー */

#p-recruit .s-entry .c-container {
  background: linear-gradient(135deg, #1a7144, #31b06a);
  border-radius: 30px;
}
#p-recruit .s-entry .c-titlegroup {
  color: #fff;
}
#p-recruit .s-entry .c-titlegroup .c-indextitle span::before,
#p-recruit .s-entry .c-titlegroup .c-indextitle span::after {
  content: "";
  display: block;
  width: 45px;
  height: 2px;
  background: linear-gradient(85deg, #fff, #fff);
  transform-origin: center center;
  transform: scaleX(1);
}
#p-recruit .s-entry .c-col2--panel .c-item.c-btn {
  background: #fff;
  border-radius: 5px;
  border: 1px solid #eee;
  position: relative;
  text-align: inherit;
  transition: box-shadow 0.3s ease;
}
#p-recruit .s-entry .c-col2--panel .c-item:hover {
  box-shadow: 0 0 18px rgba(255, 255, 255, 1); /* シャドウ */
}
#p-recruit .s-entry .c-col2--panel .c-item .c-entry__link {
  display: block;
  color: inherit;
}
#p-recruit .s-entry .c-col2--panel .c-item .c-entry__link:hover {
  color: inherit;
}
#p-recruit .s-entry .c-col2--panel .c-item.c-btn::before,
#p-recruit .s-entry .c-col2--panel .c-item.c-btn::after {
  content: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
#p-recruit .s-entry .c-col2--panel .c-item .c-title--small {
  display: flex;
  align-items: center;
  gap: 1rem;
}
#p-recruit .s-entry .c-col2--panel .c-item .c-title--small::after {
  content: "";
  flex: 1;
  height: 3px;
  background: linear-gradient(85deg, #1a7144, #31b06a);
}
/* #p-recruit .s-entry .c-col2--panel .c-item .c-photo--con {
  position: absolute;
  width: auto;
  bottom: 20px;
  right: 20px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
} */
#p-recruit .s-entry .c-col2--panel .c-item .c-photo--con img {
  height: 30px;
  width: auto;
	max-width: 100%;
	display: block;
	margin-right: 0;
}

/*  **********　SDGsへの取り組み  ********** */
#p-sdgs {
}
#p-sdgs .s-fortheenvironment .c-icon,
#p-sdgs .s-forsafetypreparedness .c-icon {
  display: flex;
  justify-content: center;
  gap: 20px;
}
#p-sdgs .s-fortheenvironment .c-icon img,
#p-sdgs .s-forsafetypreparedness .c-icon img {
  max-height: 120px;
  width: auto;
  max-width: 100%;
  display: block;
}
#p-sdgs .s-fortheenvironment .c-col1 .c-col2 {
  align-items:flex-start;
}
#p-sdgs .c-casestudy .c-col1 {
  background: #31b06a;
  border-radius: 2px;
}
#p-sdgs .c-casestudy .c-col1 .c-text--bold,
#p-sdgs .c-casestudy .c-col1 p {
  color: #fff;
}
#p-sdgs .c-casestudy .c-title--small {
  position: relative;
}
#p-sdgs .c-casestudy .c-title--small::before {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 0%;
  width: 100%;
  height: 1px;
  background: #eee;
}
#p-sdgs .c-casestudy .c-title--small::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 0%;
  width: 20%;
  height: 1px;
  background: #1a7144;
}
#p-sdgs .c-casestudy ul li span {
  background: linear-gradient(135deg, #fff, #eee);
  line-height: 1.7rem;
  display: block;
  padding: 10px;
  border-radius: 1px;
}
/*  **********　お知らせ  ********** */
/* News List お知らせ一覧 */
.p-newslist .s-pagetop > .c-container .c-col1,
#p-news .s-pagetop > .c-container .c-col1 {
	padding: 120px 0;
}
#p-news section.c-container {
  background: #eee;
}
#p-news .s-newsdetail .c-container {
  background: #fff;
  border-radius: 2px;
}
#p-news .s-newsdetail .wp-wysiwyg {
margin-top:40px;	
}
#p-news .s-newsdetail .c-text--bold > span {
	margin-left:10px;
}


/*  **********　個人情報保護方針  ********** */
#p-privacy .s-privacy .c-text--normal {
  margin-bottom: 40px;
}
#p-privacy .s-privacy .c-text--normal:last-of-type {
  margin-bottom: 0px;
}
#p-privacy .s-privacy .c-title--small {
  margin-bottom: 20px;
}
#p-privacy .s-privacy .c-col1 {
  max-width: 1296px;
  width: 90%;
  margin: auto;
}
#p-privacy .s-privacy .u-cwhite {
  background: none;
}
#p-privacy .s-privacy--inc {
  padding-top: calc(60 * var(--px));
  padding-bottom: calc(60 * var(--px));
}
/* カテゴリタグ（動的出力されるクラス） */
#p-newslist_archive.p-newslist .s-newslist .c-table td [class^="c-tag--"] {
}
/*  **********　お問い合わせフォーム  ********** */
#p-contact .c-container {
}
#p-contact .s-pagetop > .c-container .c-col1 {
	padding: 120px 0;
}
#p-contact .s-form__excuse {
border: 1px solid #eee;
  padding: 40px;
  margin: 20px 0 80px;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.12);
  text-align: center;
}
@media screen and (max-width: 810px) {
  #p-contact .s-form__excuse {
    padding: 20px;
	margin: 20px 0 40px;
	text-align: left;
  }
}
#p-contact .table {
}
#p-contact .s-form {
  position: relative;
  padding-top: calc(60 * var(--px));
  padding-bottom: calc(30 * var(--px));
}

#p-contact .s-form::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #fff, rgb(237, 244, 255) 50%, rgb(248, 248, 248));
  z-index: -2;
}
#p-contact .s-form::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg.png);
  background-size: cover;
  z-index: -1;
  opacity: 0.2;
}

.s-privacy--inc .c-text--normal {
  margin-bottom: 40px;
}
.s-privacy--inc .c-text--normal:last-of-type {
  margin-bottom: 0px;
}
.s-privacy--inc .c-title--small {
  margin-bottom: 20px;
}
/* **************************************************************** */
/* ********************** スマートフォン対応 ************************* */

@media screen and (max-width: 810px) {
  /* ********** サイト全体の共通モジュールのstyle（★） ********** */
  /* テキスト要素 */
  .c-title--large {
    padding: 3px 10px;
    font-size: 2.3rem;
  }
  .c-title--normal {
    font-size: 2.2rem;
  }
  .c-title--small {
    font-size: 2rem;
  }
  /* ボタン要素 */
  .c-btn {
    width: 90%;
    margin: 0 auto;
  }
  /* テーブル要素 */
  .c-table tbody td {
    width: 100%; /* 固定 */
    display: block; /* 固定 */
    padding: 10px 5px;
  }
  .c-table tbody th {
    width: 100%; /* 固定 */
    display: block; /* 固定 */
    padding: 10px 5px 0;
  }
  .c-table tbody th {
    border-bottom: none;
  }
  /* **********  サイト全体の共通パーツのstyle（★） ********** */
  /* フッタ */
  .l-footer__address {
    text-align: left;
    margin-top: 30px;
  }
  /* お知らせ右カラム/WPに影響するためclass名は変更不可 */
  .s-rightcol {
    margin-top: 60px;
  }
  /* 下層ページトップビジュアルメイン */
  .s-pagetop .c-col2 .c-wrap {
    margin: 0 auto 10px;
  }
  /* ********** ページごと・セクションごとの個別style（★） ********** */

  /*  **********　TOP  ********** */
  #p-top .u-ptb50 {
    padding-top: 30px;
    padding-bottom: 30px;
	}
  #p-top .s-topmainvisual .c-container {
	max-width:100%;
	width:100%;
  }
  #p-top .s-topmainvisual .c-container .c-video {
    height: calc(650 * var(--px));
	object-fit: cover;
	max-width:100%;
	width:100%;
  }
  #p-top .s-topmainvisual {
    margin-top: 0;
  }
	#p-top .s-topmainvisual .c-container .c-col1 {
	/* top: inherit;
    bottom: -20px; */
	width: 82%; 
    position: relative;
	margin-left: 0;
	margin-top: -40px;
  }
  #p-top .s-topmainvisual .c-container .c-col1 .c-title--large {
    font-size: calc(2.8 * var(--rem));
  }
  #p-top .s-topmainvisual .c-container .c-col1 .c-title--small {
    font-size: calc(1.4 * var(--rem));
  }
  #p-top .s-topmainvisual .u-ptb50 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #p-top .s-newslist.u-ptb100 {
    padding-top: 60px;
	}
.s-newslist .c-table td [class^="c-tag--"] + a {
  margin-left: 0;
  display: block;
	margin-top: 10px;
}
  /* products */
  #p-top .s-top-products .c-container {
    background-position: top;
    background-size: 120%;
    padding: 150px 0 0;
	}
	#p-top .s-top-products .c-container .c-col1 {
	margin-top: 60px;
	}
  /* company */
  #p-top .s-top-company {
    margin-bottom: 30px;
  }
  /* sdgs */
  #p-top .s-top-sdgs .c-container {
    background-position: top;
    background-repeat: no-repeat;
    background-size: 120%;
    padding: 150px 0 0;
	}
	#p-top .s-top-sdgs .c-container .c-col1 {
	margin-top: 60px;
	}
  /* 下層ページトップビジュアルメイン */
  .s-pagetop {
    margin-top: 80px;
  }
  .s-pagetop > .c-container .c-col1 {
    padding: 150px 0;
  }
  .s-pagetop__maintitle {
    font-size: calc(1.3 * var(--rem));
  }
  .s-pagetop__subtitle {
    position: relative;
    font-size: calc(3.5 * var(--rem));
	padding-top: 20px;
	text-align: left;
    padding-left: 5%;
  }
  .s-pagetop .c-container .c-col1 .c-wrap {
    width: 75%;
    left: calc(-100% / 25);
    padding-top: 15px;
  }
  /*  **********　共通項目　********** */
  /* 小見出し */
  .c-titlegroup .c-indextitle--sub {
	font-size: calc(3.6 * var(--rem));
	line-height: 1.1;
    margin-top: 10px;
  }
  .c-titlegroup .c-indextitle {
    font-size: calc(1.5 * var(--rem));
	}
	.c-titlegroup .c-indextitle span::before,
	.c-titlegroup .c-indextitle span::after {
	width: 30px;
	height: 2px;
	}
  .c-titlegroup.u-mb80,
  .c-titlegroup.u-mb50,
  .c-titlegroup.u-mb30 {
    margin-bottom: 20px;
	}
	
  /* タイトルテキスト前の擬似要素 */
  #p-productslist_archive.p-productslist .c-text--large,
  #p-quality .s-researchdevelopment .c-title--large,
  #p-company .c-title--normal,
  #p-recruit .s-topmessage .c-title--small {
    padding-left: 0;
    padding-top: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
  }
  #p-productslist_archive.p-productslist .c-text--large::before,
  #p-quality .s-researchdevelopment .c-title--large::before,
  #p-company .c-title--normal::before,
  #p-recruit .s-topmessage .c-title--small::before {
    top: 0;
    transform: inherit;
    width: 50px;
    height: 3px;
  }
  /*  **********　共通項目　ここまで********** */

  /*  **********　取扱製品詳細  ********** */
  #p-productslist_archive.p-productslist .s-lead .c-container {
    text-align: left;
  }
  #p-productslist_archive.p-productslist .s-lead.u-ptb100 {
    padding-top: 20px;
    padding-bottom: 60px;
  }
  #p-products .s-productsdetail .c-title--normal {
    padding-left: 5%;
    padding-right: 5%;
  }
  #p-products .s-productsdetail .c-text--large {
    padding-left: 5%;
    padding-right: 5%;
    text-align: left;
  }
  #p-products .s-productsdetail .u-mb20 {
    margin-bottom: 10px;
  }
  #p-products .s-productsdetail .c-col2 .c-photo {
    padding-left: 0px;
  }
  #p-products .s-productsdetail .c-item.u-ptb50 {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .c-itembg.u-ptb30 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .c-photo.u-mb30 {
    margin-bottom: 20px;
  }
  /*  **********　製造体制  ********** */
  /* Technology 製造技術 */

  /* Equipment　主要製造装置 */
  #p-manufacturing .c-text--normal.u-tac {
    text-align: left;
  }
  #p-manufacturing .s-equipment .c-container .c-col2 .c-wrap {
    margin-right: auto;
  }
  #p-manufacturing .s-equipment .c-container .u-ptb50 {
    padding-top: 0px;
    padding-bottom: 20px;
  }
  #p-manufacturing .c-photo.u-w20 {
    width: 100%;
    max-width: 100%;
  }
  #p-manufacturing .c-title--normal.u-mb30 {
    margin-bottom: 20px;
  }

  /*  **********　品質管理体制  ********** */
  #p-quality .c-photo.u-mb30 {
    margin-bottom: 10px;
  }
  #p-quality .c-item.u-ptb30 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #p-quality .c-title--normal.u-mb30 {
    margin-bottom: 15px;
  }
  /*  **********　ロジスティクス体制  ********** */
  #p-logistics .s-logisticsfacilities {
    padding: 60px 0 0;
  }

  /* テーブル要素 */
  /* logistics（#p-logistics）だけ PC と同じテーブルレイアウトに戻す */
  #p-logistics .c-table tbody td,
  #p-logistics .c-table tbody th {
    width: auto !important;
    display: table-cell !important; /* ブロック化を解除（横並び復活） */
    padding: 20px 10px !important;
  }
  #p-logistics .c-table tbody th {
    border-bottom: 1px solid #ddd !important; /* もとの区切り線に戻す */
  }
  #p-logistics .c-col4--panel {
    flex-direction: row;
  }
  #p-logistics .c-col4--panel .c-item:first-of-type {
    margin: 20px auto !important;
  }
  /*  **********　会社情報  ********** */
  #p-company .s-aboutus .c-wrap .c-text--normal.u-w80 {
    width: 100%;
    max-width: 100%;
	}
	#p-company .s-aboutus .c-wrap ul {
    display: block;
	}
	#p-company .s-aboutus .c-wrap.c-characteristics ul li,
	#p-company .s-aboutus .c-wrap.c-characteristics ul li:nth-of-type(n+4)	{
	width:100%;
	}
	#p-company .s-aboutus .c-wrap ul li + li,
	#p-company .s-aboutus .c-wrap.c-characteristics ul li:nth-of-type(n+4),
	#p-company .s-aboutus .c-wrap.c-core ul li + li	{
    margin-top: 10px;
  }
  #p-company .s-aboutus .c-wrap ul li span {
    padding: 20px;
	font-size: 1.7rem;
	line-height: 1.5;
  }

  #p-recruit .s-topmessage .c-photo {
    aspect-ratio: 3 / 4;
  }
  #p-recruit .s-entry .c-container {
    border-radius: 10px;
  }
  /*  **********　SDGsへの取り組み  ********** */
  #p-sdgs .s-fortheenvironment .c-icon,
  #p-sdgs .s-forsafetypreparedness .c-icon {
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  #p-sdgs .s-fortheenvironment .c-icon.u-mb100,
  #p-sdgs .s-forsafetypreparedness .c-icon.u-mb100 {
    gap: 5px;
    margin-bottom: 30px;
  }
  #p-sdgs .s-fortheenvironment .c-icon img,
  #p-sdgs .s-forsafetypreparedness .c-icon img {
    max-height: 60px;
  }
  #p-sdgs .c-title--normal.u-mb30 {
    margin-bottom: 20px;
	}
	  #p-sdgs .c-title--small.u-mb30 {
    margin-bottom: 10px;
  }
  #p-sdgs .s-fortheenvironment > .c-container > .c-col1:nth-of-type(2) {
    margin-bottom: 30px !important;
  }
  #p-sdgs .s-forsafetypreparedness .c-casestudy .u-w90 {
    width: 100%;
    max-width: 100%;
  }
  #p-sdgs .s-fortheenvironment .c-casestudy .u-ptb50,
  #p-sdgs .s-fortheenvironment .c-casestudy .u-ptb30 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #p-sdgs .s-fortheenvironment .c-casestudy .u-mb30 {
    margin-bottom: 20px;
  }
  #p-sdgs .s-fortheenvironment .c-casestudy .c-photo.u-mb20 {
    margin-bottom: 10px;
  }
  #p-sdgs .s-forsafetypreparedness .c-casestudy .u-ptb50 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  /*  **********　NEWS  ********** */
  #p-newslist_taxonomy .s-pagetop .c-container .c-col1 {
    max-width: 94%;
    width: 94%;
  }
  /*  **********　個人情報保護方針  ********** */
  #p-privacy .s-privacy .c-col1 {
    width: 100%;
    max-width: 100%;
  }
  #p-privacy .s-privacy.u-ptb100 {
    padding: 30px 0;
  }
  #p-privacy .s-privacy--inc {
    padding: 0px 0;
  }
}
