/* =========================================================
   Company Info（会社案内） page-id:226
   Theme: Lightning / Builder: SiteOrigin
========================================================= */

/* =========================================================
   Company Info : Cover（Row-1）
   Row Class: page-cover page-cover--company
   Background image: Row側で設定（SiteOrigin）
========================================================= */
.page-id-226 .page-cover.page-cover--company{
  position: relative;
  overflow: hidden;
}

/* Row背景の上に暗幕＋横ラインを重ねる（contact-coverと統一） */
.page-id-226 .page-cover.page-cover--company::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,.22) 0px,
      rgba(0,0,0,.22) 2px,
      rgba(0,0,0,0) 4px,
      rgba(0,0,0,0) 7px
    ),
    linear-gradient(
      90deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.38) 55%,
      rgba(0,0,0,.18) 100%
    );
}

/* 中身をオーバーレイより上へ */
.page-id-226 .page-cover.page-cover--company .pageCover{
  position: relative;
  z-index: 1;
  background: transparent;
}

/* タイトル位置 */
.page-id-226 .page-cover.page-cover--company .pageCover__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 62px 20px 58px;
}

/* 日本語タイトル */
.page-id-226 .page-cover.page-cover--company .pageCover__ja{
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 2px 0 rgba(0,0,0,.45);
}

/* 英語タイトル */
.page-id-226 .page-cover.page-cover--company .pageCover__en{
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #ffffff;
  font-family: "Times New Roman", Georgia, serif;
  text-shadow: 0 2px 0 rgba(0,0,0,.55);
}

/* 余計な下余白対策 */
.page-id-226 .page-cover.page-cover--company .pageCover__inner > *:last-child{
  margin-bottom: 0;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 767px){
  .page-id-226 .page-cover.page-cover--company .pageCover__inner{
    padding: 46px 16px 42px;
  }

  .page-id-226 .page-cover.page-cover--company .pageCover__ja{
    font-size: 26px;
  }

  .page-id-226 .page-cover.page-cover--company .pageCover__en{
    font-size: 14px;
  }
}
/* =========================================================
   2) Layout（このページのみ：サイドバー非表示）
========================================================= */
.page-id-226 .sub-section{
  display: none !important;
}
.page-id-226 .main-section,
.page-id-226 .main-section--col--two{
  width: 100% !important;
  float: none !important;
}
.page-id-226 .site-body-container.container{
  max-width: none;
}

/* =========================================================
   3) Common（見出し：赤バー）
   対象：会社概要 / 会社沿革 / 主要取引先 / 協力会社
========================================================= */
.page-id-226 .company-overview-row .cinfo-h2,
.page-id-226 .company-history-row  .cinfo-h2,
.page-id-226 .company-client-row   .cinfo-h2,
.page-id-226 .company-partner-row  .cinfo-h2{
  position: relative;
  margin: 0 0 16px;
  padding-left: 18px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  border: 0 !important;
  background: transparent !important;
}
.page-id-226 .company-overview-row .cinfo-h2::before,
.page-id-226 .company-history-row  .cinfo-h2::before,
.page-id-226 .company-client-row   .cinfo-h2::before,
.page-id-226 .company-partner-row  .cinfo-h2::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 26px;
  transform: translateY(-50%);
  background: #d80000;
}

/* =========================================================
   4) Company Overview（会社概要）
========================================================= */
.page-id-226 .company-overview-row .cinfo-sec{
  max-width: 1000px;
  margin: 0 auto;
  padding: 36px 0;
  text-align: left;
}
.page-id-226 .company-overview-row .cinfo-sec--overview{
  padding-bottom: 0;
}

.page-id-226 .company-overview-row .cinfo-dl{
  display: grid;
  grid-template-columns: 240px 1fr;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.page-id-226 .company-overview-row .cinfo-dl dt,
.page-id-226 .company-overview-row .cinfo-dl dd{
  margin: 0;
  padding: 14px 22px;
  border-top: 1px solid #efefef;
  line-height: 1.8;
  font-size: 15px;
}
.page-id-226 .company-overview-row .cinfo-dl dt{
  font-weight: 700;
  color: #777;
}
.page-id-226 .company-overview-row .cinfo-dl dt:nth-of-type(even),
.page-id-226 .company-overview-row .cinfo-dl dt:nth-of-type(even) + dd{
  background: #fff6f6;
}

/* =========================================================
   5) Map（地図）
========================================================= */
.page-id-226 .company-map-row{
  background: #fff;
  padding-top: 0;
  padding-bottom: 0;
}
.page-id-226 .company-map-row .panel-grid-cell{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.page-id-226 .company-map-row .so-panel{
  margin-bottom: 0 !important;
}
.page-id-226 .company-map-row .company-gmap{
  max-width: 1000px;
  margin: 0 auto;
}
.page-id-226 .company-map-row .company-gmap iframe{
  width: 100%;
  height: 814px;
  display: block;
  border: 0;
}

/* =========================================================
   6) Company History（会社沿革）
   ※ Row背景：#f2f2f2（Row側で設定）
========================================================= */
.page-id-226 .company-history-row .cinfo-sec--history{
  max-width: 1000px;
  margin: 0 auto;
  padding: 36px 0;
  box-sizing: border-box;
}
.page-id-226 .company-history-row .cinfo-h2{
  margin-bottom: 28px;
}

.page-id-226 .company-history-row .chist-dl{
  display: grid;
  grid-template-columns: 240px 1fr;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.page-id-226 .company-history-row .chist-dl dt,
.page-id-226 .company-history-row .chist-dl dd{
  margin: 0;
  padding: 16px 22px;
  border-top: 1px solid #efefef;
  line-height: 1.8;
  font-size: 15px;
  background: #fff;
  box-sizing: border-box;
}
.page-id-226 .company-history-row .chist-dl dt{
  font-weight: 700;
  color: #777;
}
.page-id-226 .company-history-row .chist-dl dt:nth-of-type(even),
.page-id-226 .company-history-row .chist-dl dt:nth-of-type(even) + dd{
  background: #fff6f6;
}

/* =========================================================
   7) Major Clients（主要取引先）
========================================================= */
.page-id-226 .company-client-row .cinfo-sec--clients{
  max-width: 1000px;
  margin: 0 auto;
  padding: 36px 0;
}

.page-id-226 .company-client-row .cclients-table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  border-left: 0 !important;
  border-right: 0 !important;
}
.page-id-226 .company-client-row .cclients-table td{
  margin: 0;
  padding: 16px 22px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  color: #111;
  border-top: 1px solid #efefef;
  border-left: 0 !important;
  border-right: 0 !important;
  background: #fff;
}
.page-id-226 .company-client-row .cclients-table tr:first-child td{
  border-top: 0;
}
.page-id-226 .company-client-row .cclients-table tr:nth-child(even) td{
  background: #fff6f6;
}

/* =========================================================
   8) Company Partner + Overseas Factory（協力会社：統合）
   Row class: company-partner-row section-company
   背景色はRow側（例：#f2f2f2）
========================================================= */

/* Row / Inner */
.page-id-226 .company-partner-row{
  padding: 56px 0 72px;
  text-align: left;
}
.page-id-226 .company-partner-row .company-partner-inner{
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* Lightning見出し装飾を無効化（白帯/赤バー/タイトルは除外） */
.page-id-226 .company-partner-row h2:not(.cinfo-h2),
.page-id-226 .company-partner-row h3:not(.partner-title),
.page-id-226 .company-partner-row h4:not(.partner-subhead){
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.page-id-226 .company-partner-row h2:not(.cinfo-h2)::before,
.page-id-226 .company-partner-row h2:not(.cinfo-h2)::after,
.page-id-226 .company-partner-row h3:not(.partner-title)::before,
.page-id-226 .company-partner-row h3:not(.partner-title)::after,
.page-id-226 .company-partner-row h4:not(.partner-subhead)::before,
.page-id-226 .company-partner-row h4:not(.partner-subhead)::after{
  content: none !important;
}

/* SiteOriginが自動挿入する p（コメント/改行）の余白を潰す */
.page-id-226 .company-partner-row .company-partner-inner > p{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* 白帯（グループ会社 / 海外協力工場） */
.page-id-226 .company-partner-row .partner-subhead{
  display: block;
  width: 100%;
  margin: 0 0 22px;
  padding: 14px 22px;
  box-sizing: border-box;
  background: #fff !important;
  border-radius: 2px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

/* --- グループ会社（住所カード） --- */
.page-id-226 .company-partner-row .partner-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin: 0 0 28px;
}
.page-id-226 .company-partner-row .partner-card{
  background: #fff;
  padding: 30px 34px 28px;
  box-sizing: border-box;
}
.page-id-226 .company-partner-row .partner-title{
  margin: 0 0 18px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
}
.page-id-226 .company-partner-row .partner-line{
  height: 1px;
  background: #dedede;
  margin: 14px 0;
}
.page-id-226 .company-partner-row .partner-address,
.page-id-226 .company-partner-row .partner-tel,
.page-id-226 .company-partner-row .partner-fax{
  margin: 0;
  font-size: 18px;
  line-height: 1.85;
  letter-spacing: 0.02em;
}
.page-id-226 .company-partner-row .partner-inline{
  display: inline-block;
}
.page-id-226 .company-partner-row .partner-tel strong,
.page-id-226 .company-partner-row .partner-fax strong{
  font-weight: 700;
  margin-right: 10px;
}
.page-id-226 .company-partner-row .partner-plus{
  font-weight: 700;
  margin-right: 4px;
}

/* --- 海外協力工場（画像カード） --- */
.page-id-226 .company-partner-row .factory-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.page-id-226 .company-partner-row .factory-card{
  background: #fff;
  padding: 0 0 32px;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;

  display: flex;
  flex-direction: column;
}

/* 画像は上固定 */
.page-id-226 .company-partner-row .factory-photo{
  flex-shrink: 0;
}
.page-id-226 .company-partner-row .factory-photo img{
  display: block;
  width: 100%;
  height: auto;
  border: 0;
}

/* 文字〜ボタン領域（下に寄せる） */
.page-id-226 .company-partner-row .factory-body{
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* 工場名 */
.page-id-226 .company-partner-row .factory-name{
  margin: 14px 16px 12px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .04em;
  color: #111;
  text-transform: uppercase;

  min-height: 38px; /* 2行分確保（微調整可） */
}

/* ボタン */
.page-id-226 .company-partner-row .factory-link{
  margin: 0;
  margin-top: auto;
}
.page-id-226 .company-partner-row .factory-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 52px;
  border: 1px solid #d80000;
  border-radius: 4px;
  color: #d80000;
  font-weight: 700;
  text-decoration: none;
  background: #fff;
}
.page-id-226 .company-partner-row .factory-btn:hover{
  opacity: .85;
}

/* --- Animation（scroll-inview.js で .is-inview が付く前提） --- */
/* 工場：画像はその場でフェード / テキスト+ボタンは下からスライド / 1→2→3 遅延 */
.page-id-226 .company-partner-row.section-company .factory-photo{
  opacity: 0;
  transition: opacity 1.1s ease;
}
.page-id-226 .company-partner-row.section-company .factory-name,
.page-id-226 .company-partner-row.section-company .factory-link{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 1.1s ease, transform 1.1s ease;
}
.page-id-226 .company-partner-row.section-company.is-inview .factory-photo{
  opacity: 1;
}
.page-id-226 .company-partner-row.section-company.is-inview .factory-name,
.page-id-226 .company-partner-row.section-company.is-inview .factory-link{
  opacity: 1;
  transform: translateY(0);
}

/* 遅延（1→2→3） */
.page-id-226 .company-partner-row .factory-card--left  .factory-photo,
.page-id-226 .company-partner-row .factory-card--left  .factory-name,
.page-id-226 .company-partner-row .factory-card--left  .factory-link{
  transition-delay: 0s;
}
.page-id-226 .company-partner-row .factory-card--center .factory-photo,
.page-id-226 .company-partner-row .factory-card--center .factory-name,
.page-id-226 .company-partner-row .factory-card--center .factory-link{
  transition-delay: .35s;
}
.page-id-226 .company-partner-row .factory-card--right .factory-photo,
.page-id-226 .company-partner-row .factory-card--right .factory-name,
.page-id-226 .company-partner-row .factory-card--right .factory-link{
  transition-delay: .70s;
}

/* グループ会社カード（既存の動き維持） */
.page-id-226 .company-partner-row.section-company .partner-card{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}
.page-id-226 .company-partner-row.section-company .partner-card--left{
  transform: translateX(-24px);
}
.page-id-226 .company-partner-row.section-company .partner-card--right{
  transform: translateX(24px);
}
.page-id-226 .company-partner-row.section-company.is-inview .partner-card{
  opacity: 1;
  transform: translateX(0);
}

/* =========================================================
   9) Page title line remove（page-id-226だけ）
========================================================= */
.page-id-226 .entry-title--post-type--page{
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.page-id-226 h2:where(:not(.wp-block-post-title)){
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.page-id-226 .entry-title--post-type--page,
.page-id-226 h2:where(:not(.wp-block-post-title)){
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================================================
   10) Responsive（SP）
========================================================= */
@media (max-width: 767px){
  /* Cover */
  .page-cover .pageCover__inner{ padding: 44px 16px 42px; }
  .page-cover .pageCover__ja{ font-size: 28px; }
  .page-cover .pageCover__en{ font-size: 15px; }

  /* Overview */
  .page-id-226 .company-overview-row .cinfo-sec{ padding: 28px 0; }
  .page-id-226 .company-overview-row .cinfo-dl{ grid-template-columns: 150px 1fr; }
  .page-id-226 .company-overview-row .cinfo-dl dt,
  .page-id-226 .company-overview-row .cinfo-dl dd{
    padding: 14px 16px;
    font-size: 14px;
  }

  /* Map */
  .page-id-226 .company-map-row .company-gmap iframe{ height: 420px; }

  /* History */
  .page-id-226 .company-history-row .cinfo-sec--history{ padding: 28px 0; }
  .page-id-226 .company-history-row .chist-dl{ grid-template-columns: 150px 1fr; }
  .page-id-226 .company-history-row .chist-dl dt,
  .page-id-226 .company-history-row .chist-dl dd{
    padding: 14px 16px;
    font-size: 14px;
  }

  /* Clients */
  .page-id-226 .company-client-row .cinfo-sec--clients{ padding: 28px 0; }
  .page-id-226 .company-client-row .cclients-table td{
    padding: 16px 16px;
    font-size: 16px;
  }

  /* Partner */
  .page-id-226 .company-partner-row{ padding: 44px 0 56px; }
  .page-id-226 .company-partner-row .cinfo-h2{ font-size: 22px; }
  .page-id-226 .company-partner-row .partner-subhead{
    padding: 12px 16px;
    font-size: 20px;
    margin-bottom: 18px;
  }

  .page-id-226 .company-partner-row .partner-grid{
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 18px;
  }
  .page-id-226 .company-partner-row .partner-card{
    padding: 26px 18px 22px;
  }
  .page-id-226 .company-partner-row .partner-title{ font-size: 22px; }
  .page-id-226 .company-partner-row .partner-address,
  .page-id-226 .company-partner-row .partner-tel,
  .page-id-226 .company-partner-row .partner-fax{
    font-size: 16px;
    line-height: 1.8;
  }

  .page-id-226 .company-partner-row .factory-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .page-id-226 .company-partner-row .factory-btn{
    width: 220px;
    height: 50px;
  }

  /* SPは遅延を短めに */
  .page-id-226 .company-partner-row .factory-card--center .factory-photo,
  .page-id-226 .company-partner-row .factory-card--center .factory-name,
  .page-id-226 .company-partner-row .factory-card--center .factory-link{
    transition-delay: .2s;
  }
  .page-id-226 .company-partner-row .factory-card--right .factory-photo,
  .page-id-226 .company-partner-row .factory-card--right .factory-name,
  .page-id-226 .company-partner-row .factory-card--right .factory-link{
    transition-delay: .4s;
  }
}

@media (max-width: 480px){
  .page-id-226 .company-overview-row .cinfo-dl,
  .page-id-226 .company-history-row .chist-dl{
    grid-template-columns: 130px 1fr;
  }
}