@charset "UTF-8";

.p-header-content__title {
text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;
}
.p-cover__title {
text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;}
.p-cover__sub {
text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;}


.p-cat--21 {
    color: #000000;
    border: 0px solid #000000;
    background-color: #ffd600;
}

.p-cat--19 {
    color: #ffffff;
    border: 0px solid #000000;
    background-color: #1eb9ee;
}

.p-cat--20 {
    color: #ffffff;
    border: 0px solid #000000;
    background-color: #1ac9a3;
}

.pdf-controls{
display:none;
}

.p-article06__cats{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.p-article06__cat{
  display:inline-block;padding:6px 6px;border-radius:9999px;
  font-size:14px;line-height:1;text-decoration:none;
  border:2px solid transparent;color:#fff;background:#111;min-width: 60px;font-weight: bold;
}
.p-article06__cat:hover{opacity:.9}

/* 例：スラッグ別カラー */
.p-article06__cat.is-cat-assembly{ background:#cf2e2e; border-color:#cf2e2e; } /* 組立 */
.p-article06__cat.is-cat-manufact{ background:#10b981; border-color:#10b981; color:#fff; } /* 製造 */
.p-article06__cat.is-cat-layout{ background:#ef44e8; border-color:#ef44e8; } /* 設計 */
.p-article06__cat.is-cat-communication{ background:#9b51e0; border-color:#9b51e0;} /* 通信 */
.p-article06__cat.is-cat-design{ background:#0693e3; border-color:#0693e3; } /* デザイン */
.p-article06__cat.is-cat-iotai{ background:#ff6900; border-color:#ff6900; } /* IoT・AI */
.p-article06__cat.is-cat-others{ background:#000000; border-color:#000000; color:#fff;} /* その他 */
.p-article06__cat.is-cat-software{ background:#fcb900; border-color:#fcb900;} /* ソフトウエア */



/* ベースの見た目（共通） */
.p-works-entry__cats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.p-works-entry__cat{
  display:inline-block;padding:6px 12px;border-radius:9999px;
  font-size:12px;line-height:1;text-decoration:none;
  border:2px solid transparent; color:#fff; background:#111;
}

/* ここからカテゴリ別カラー（例） */

.p-works-entry__cat.is-cat-assembly{ background:#cf2e2e; border-color:#cf2e2e; } /* 組立 */
.p-works-entry__cat.is-cat-manufact{ background:#10b981; border-color:#10b981; color:#fff; } /* 製造 */
.p-works-entry__cat.is-cat-layout{ background:#ef44e8; border-color:#ef44e8; } /* 設計 */
.p-works-entry__cat.is-cat-communication{ background:#9b51e0; border-color:#9b51e0;} /* 通信 */
.p-works-entry__cat.is-cat-design{ background:#0693e3; border-color:#0693e3; } /* デザイン */
.p-works-entry__cat.is-cat-iotai{ background:#ff6900; border-color:#ff6900; } /* IoT・AI */
.p-works-entry__cat.is-cat-others{ background:#000000; border-color:#000000; color:#fff;} /* その他 */
.p-works-entry__cat.is-cat-software{ background:#fcb900; border-color:#fcb900;} /* ソフトウエア */

/* 明るい色にした場合の可読性対策（黒文字に切替えたいとき） */
.p-works-entry__cat.is-cat-yellow,
.p-works-entry__cat.is-cat-safety {
  background:#f59e0b; border-color:#f59e0b; color:#111;
}
.p-works-entry__cat:hover{opacity:.9}



.cp-profile{margin:1.5rem 0;
    background-color: #f8f8f8;
    padding: 30px;}
.cp-company-title{font-size:1.25rem;margin:0 0 .75rem}
.cp-sec{margin:1.25rem 0}
.cp-sec-title{font-size:1.1rem;margin:0 0 .5rem;border-left:6px solid #0ea5e9;padding-left:.5em}
.cp-dl{display:grid;grid-template-columns:180px 1fr;gap:10px 16px}
.cp-dl dt{
    font-weight: 700;
    color: #111;
    position: relative;
    text-align: left;
    background-color: #0ea5e9;
    color: white;
    text-align: center;
    padding: 10px 0;
}
.cp-dl dt:after{
	display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #0ea5e9;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}


.cp-dl dd{margin-top: 12px;}

.cp-dl dd p {
    font-size: inherit;
    line-height: 2.2;
    margin-bottom: 15px !important;
}

.p-entry__body dd {
    margin-bottom: 0em;
}

@media (max-width:680px){ .cp-dl{grid-template-columns:1fr} .cp-dl dt{border-bottom:1px solid #eee;padding:0 0 .25em} }





/* ===== タクソノミー一覧：カードグリッド（SP1列／タブレット以上2列） ===== */
.l-primary .card-grid{
  display:grid;
  gap:20px;
  grid-template-columns:1fr; /* SP: 1列 */
}

/* 768px以上で2列（/blog-2/と同じ雰囲気） */
@media (min-width: 768px){
  .l-primary .card-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)); /* TB/PC: 2列 */
  }
}

/* ===== カードの見た目（必要なら） ===== */
.l-primary .card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:0px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* サムネイル：16:9 比率固定 */
.l-primary .card-thumb{
  display:block;
  background:#f3f4f6;
  overflow:hidden;
  position:relative;
  aspect-ratio:6/5; /* 近年ブラウザOK */
}

/* 古いSafari等のフォールバック */
@supports not (aspect-ratio: 1 / 1){
  .l-primary .card-thumb::before{
    content:"";
    display:block;
    padding-top:56.25%; /* 16:9 */
  }
  .l-primary .card-thumb img{
    position:absolute; inset:0;
    width:100%; height:100%; object-fit:cover;
  }
}

/* 画像のフィット */
.l-primary .card-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* 本文 */
.l-primary .card-body{ padding:14px 14px 16px; display:flex; flex-direction:column; gap:8px; }
.l-primary .card-date{ font-size:12px; color:#6b7280; }
.l-primary .card-title{ font-size:16px; line-height:1.5; margin:0; }
.l-primary .card-title a{ text-decoration:none; color:inherit; }
.l-primary .card-title a:hover{ text-decoration:underline; }
.l-primary .card-excerpt{ color:#4b5563; font-size:14px; margin:0; }
.l-primary .card-more a{ font-weight:700; text-decoration:none; color:#1f6feb; }
.l-primary .card-more a:hover{ text-decoration:underline; }

/* ページャの体裁（任意） */
.c-pager{ margin:20px 0 0; text-align:center; }
.c-pager .page-numbers{ display:inline-block; margin:0 4px; padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; text-decoration:none; }
.c-pager .page-numbers.current{ background:#111827; color:#fff; border-color:#111827; }

.term-badge{background: #1eb9ee;border-radius: 15px;display: inline-block;font-size: 12px;min-width: 110px;height: 30px;line-height: 28px;padding: 0 10px;text-align: center;transition: color 0.2s ease, border-color 0.2s ease;color:#FFF;}
.term-badge:hover{background: #1bd19d;}



.rounded { border-radius: 50px; }

.q_button {
    background-color: #17a1cf;
    box-sizing: border-box;
    color: #fff !important;
    display: inline-block;
    font-size: 100%;
    font-weight:bold;
    min-width: 200px;
    margin: 0;
    max-width: 90%;
    padding: .6em 1.3em .5em;
    transition: all 0.3s 
ease-in-out 0s;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
	font-size: 130%;
    max-width: 90%;
    min-width: 350px;
    padding: .8em 1.5em .7em;
}

/* ========================================================================== from ========================================================================== */
.mw-wp-form__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px;
}


.mw-wp-form dt,
.mw-wp-form dd {
  line-height: 1.75;
}

.mw-wp-form dt:not(:first-of-type),
.mw-wp-form dd:not(:first-of-type) {
  margin-top: 30px;
}

.mw-wp-form dt {
  width: 320px;
  padding-top: 15px;
}

.mw-wp-form dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 660px;
}

.mw-wp-form__label {
  margin-right: 15px;
  padding: 8px 22px;
  border-radius: 2px;
  color: #fff;
  font-size: 14px;
  vertical-align: 1px;
}

.mw-wp-form__label--req {
  background: #1eb9ee;
}

.mw-wp-form__label--opt {
  background: #878D8E;
}

.mw-wp-form dd input[type="text"],
.mw-wp-form dd input[type="email"],
.mw-wp-form dd textarea {
  box-sizing: content-box;
  width: calc(100% - (20px * 2));
  padding: 15px 20px;
  background: #F5F5F5;
	border-width: 0px;
}

.mw-wp-form dd input[type="text"]:nth-child(n + 2) {
  margin-top: 15px;
}

.mw-wp-form dd input[type="tel"] {
  box-sizing: content-box;
  width: 66px;
  padding: 15px 20px;
  background: #F5F5F5;
}

.mw-wp-form dd .select_confirm {
  box-sizing: content-box;
  width: 100%;
  padding: 15px 20px;
  background: #F5F5F5;
		border-width: 0px;
}


.mw-wp-form dd textarea {
  height: calc(1.75em * 10);
}

.mw-wp-form dd input[type="text"]::placeholder,
/*.mw-wp-form dd input[type="tel"]::placeholder,*/
.mw-wp-form dd input[type="email"]::placeholder,
.mw-wp-form dd textarea::placeholder {
  color: #797979;
}

/* Microsoft Edge */
.mw-wp-form dd input[type="text"]::-ms-input-placeholder,
/*.mw-wp-form dd input[type="tel"]::-ms-input-placeholder,*/
.mw-wp-form dd input[type="email"]::-ms-input-placeholder,
.mw-wp-form dd textarea::-ms-input-placeholder {
  color: #797979;
}

/* Internet Explorer */
.mw-wp-form dd input[type="text"]:-ms-input-placeholder,
/*.mw-wp-form dd input[type="tel"]:-ms-input-placeholder,*/
.mw-wp-form dd input[type="email"]:-ms-input-placeholder,
.mw-wp-form dd textarea:-ms-input-placeholder {
  color: #797979;
}

.mw-wp-form__automatic {
  margin: 0 0 0 20px;
  font-size: 15px;
}

.mw-wp-form__buttons {
  display: flex;
  justify-content: center;
}

.mw-wp-form__buttons button[type="submit"] {
	background: #222324;
	color: #fff;
	padding: 0;
	width: 350px;
	height: 70px;
	border: 0;
	display: block;
	margin: 20px auto;
	cursor: pointer;
	font-weight: 700;
    border-radius: 40px;
}

.mw-wp-form__buttons button[type="submit"]:hover {
  	background: #1eb9ee;
}

/*.mw-wp-form__buttons button[type="submit"]:before {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 1px solid #1B201A;
  border-right: 1px solid #1B201A;
  content: '';
}:*/

.mw_wp_form_confirm .mw-wp-form dd {
  padding-top: 15px;
}

@media screen and (max-width: 430px) {

  .mw-wp-form__list {
    margin-bottom: 60px;
  }

  .mw-wp-form dt {
    width: 100%;
  }

  .mw-wp-form dd {
    width: 100%;
  }

  .mw-wp-form dd:first-of-type,
  .mw-wp-form dd:not(:first-of-type) {
    margin-top: 15px;
  }

  .mw-wp-form dd input[type="text"]:nth-child(n + 2) {
    margin-top: 10px;
  }

  .mw-wp-form dd textarea {
    height: calc(1.75em * 8);
  }

  .mw-wp-form__automatic {
    margin: 5px 0 0;
    font-size: 14px;
  }

  .mw-wp-form__buttons {
    flex-direction: column;
    align-items: center;
  }

  .mw-wp-form__buttons button[type="submit"] {
    width: 300px;
    margin: 0;
  }

  .mw-wp-form__buttons button[type="submit"]:not(:first-child) {
    margin-top: 30px;
  }


  .mw_wp_form_confirm .mw-wp-form dd {
    padding-top: 0;
  }

  .mw-wp-form__label {
    padding: 6px 16px;
  }

}

////////////////////////////////////////

/* ====== Scoped styles for .kaizyu-contact-intro only ====== */
.contact-intro{background:#fff;color:#222;padding:32px 16px}
.contact-intro .wrap{max-width:1100px;margin:0 auto}
.kz-head{margin:0 0 18px;font-weight:700;letter-spacing:.02em;line-height:1.6;font-size:20px !important;text-align:center;}
@media(min-width:960px){.kz-head{font-size:22px}}
.kz-notes{margin:0 0 28px 1.25em;padding:0;list-style:disc;color:#4b5563}
.kz-notes li{margin:.35em 0;line-height:1.9}
.kz-notes li::marker{color:#1eb9ee;font-size: 1.5em;} 


.kz-grid{display:grid;gap:18px}
@media(min-width:900px){.kz-grid{grid-template-columns:1fr 1fr 1fr}}
.kz-card{border:1px solid #1eb9ee;border-radius:6px;background:#fff;padding:22px 20px;min-height:168px;display:flex;flex-direction:column}
.kz-ttl{font-size:16px !important;color:#000;margin:0 0 10px;font-weight:bold;text-align: center;margin-bottom: 0px !important;}


/* 左カード（電話） */
.kz-phone{font-size:30px !important;font-weight:800;letter-spacing:.02em;margin:10px 0;margin-bottom: 0px !important;}
@media(min-width:480px){.kz-phone{font-size:44px}}
.kz-phone .ico{font-size:.9em !important;margin-right:.25em;margin-bottom: 0px !important;}
.kz-sub{color:#6b7280;font-size:14px;margin-bottom: 0px !important;}

.kz-fax{font-size:20px !important;font-weight:600;color:#4b5563;margin-top:4px;margin-bottom: 0px !important;}
.kz-fax .ico{font-size:.9em;margin-right:.25em;margin-bottom: 0px !important;}


/* 中央カード（メール案内） */
.kz-p{margin:.3em 0;line-height:1.9 !important;color:#4b5563;margin-bottom: 0px !important;}


/* 右カード（採用） */
.kz-link{color:#e99b00;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;font-weight:700}
.kz-small{color:#6b7280;font-size:12.5px;margin-top:.6em}


/* =========================================================
   TOPニュース風タブ 見た目（/archives/works 用）
   ※ 外観 > カスタマイズ > 追加CSS に貼り付け
   ========================================================= */

/* コンテナ */
.works-tabs{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:12px; margin:0 0 18px;
	padding: 0px 30px 0px 30px;
}

/* タブ行（カテゴリ／並び替え） */
.works-tabs__cats, .works-tabs__sort{
  display:flex; flex-wrap:wrap; gap:8px;
}

/* ベース（丸ピル） */
.works-tab, .works-sort{
  display:inline-block;
  padding:10px 14px;
  border-radius:9999px;
  font-size:13px; line-height:1; text-decoration:none;
  border:1px solid #E5E7EB;           /* #e5e7eb */
  background:#F3F4F6;                  /* #f3f4f6 */
  color:#111827;                       /* #111827 */
  transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.works-tab:hover, .works-sort:hover{
  background:#E5E7EB;                  /* hoverでわずかに濃く */
}

/* アクティブ（黒地×白字、ニュースと同じ主張） */
.works-tab.is-active, .works-sort.is-active{
  background:#1eb9ee; color:#fff; border-color:#1eb9ee;
  box-shadow:0 0 0 1px #1eb9ee inset;
}

/* 並び替えは控えめに（未選択時は少し軽めの印象） */
.works-sort{
padding:8px 12px;
font-size:12px;
background:#1eb9ee;
border-color:#E5E7EB; color:#fff; /* #374151 */
}
.works-sort:hover{ background:#1eeedd; }
.works-sort.is-active{
  background:#111; color:#fff; border-color:#111;
}

/* レスポンシブ（モバイルは縦積み＆左右余白詰め） */
@media (max-width: 768px){
  .works-tabs{ gap:10px; }
  .works-tabs__cats, .works-tabs__sort{ gap:6px; }
  .works-tab, .works-sort{ padding:9px 12px; }
}

/* （任意）タブ列を折り返した時の行間を少し広げる */
.works-tabs__cats{ row-gap:10px; }
.works-tabs__sort{ row-gap:8px; }

/* （任意）キーボードフォーカスの視認性 */
.works-tab:focus-visible, .works-sort:focus-visible{
  outline:2px solid #111; outline-offset:2px;
}

/* 既にカテゴリバッジの色分けを実装済みなら、
   タブ側にも同じスラッグクラスを付ければ色連動できます（例） */
.works-tab.is-cat-manufact{ background:#10b981; border-color:#10b981; color:#fff; }
.works-tab.is-cat-software{ background:#111827; border-color:#111827; color:#fff; }
/* 明色カテゴリ用の可読性対策 */
.works-tab.is-cat-yellow{ background:#f59e0b; border-color:#f59e0b; color:#111; }


/* ===== 企業情報アーカイブと同じトーンのヘッダー ===== */
/* ===== タクソノミー用ヒーロー ===== */
.kz-hero{position:relative; overflow:hidden; margin-bottom:0;font-family: var(--tcd-font-type2);}
.kz-hero__bg{
  height:450px;                    /* ← 画像1に近づける：必要に応じて 420px など */
  background-size:cover; background-position:center;
  filter:brightness(.85);
}
.kz-hero__inner{
  position:absolute; inset:0; display:flex; flex-direction:column;
  justify-content:center; align-items:center;
  color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.45);
}
.kz-hero__ttl{font-size:46px; line-height:1.2; margin:0 0 4px;text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;}
.kz-hero__sub{font-size:16px; letter-spacing:.06em; margin:0;text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;}

@media (max-width: 768px){
  .kz-hero__bg{height:220px;}
  .kz-hero__ttl{font-size:28px;}
}

/* キャッチ帯は .l-primary 内で */
.kz-catch{background:#fff; padding:92px 0 92px;}
.kz-catch__h{
  margin:0 0 10px; text-align:center; font-size:38px; line-height:1.6;font-family: var(--tcd-font-type2);
}
.kz-catch__p{
  margin:0 auto;
	max-width:960px; text-align:center; color:#555; line-height:1.9; font-size:16px;
}


.p-megamenu01__item-list > li > a {
font-size: 46px !important;
display: flex;              /* block の代わりに flex */
justify-content: center;    /* 横方向センター */
align-items: center;        /* 縦方向センター */
margin-bottom: 20px;
text-align: center;         /* 複数行になったときの文字揃え */
height: 200px;              /* ボックスの高さを決める（お好みで） */
margin-top: 60px;
text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;
}



@media screen and (max-width: 991px) {
    .p-info__inner {
        padding: 0px !important;
    }
}


.p-company-header__title{
	text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;
}
.p-company-header__sub{
	text-shadow: 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333, 0 0 10px #333;
}


@media screen and (max-width: 767px) {
    .p-header-slider__item-img {
        height: calc(42vh - 60px);
        padding-bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    .p-header-slider {
        height: calc(43vh - 60px);
    }
}


.p-article05__img {
    object-position: 50% 22%;
}




