﻿/* common.css */
@charset "UTF-8";

/* 基本タイポスケール（PCで全体を一段階大きく） */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:77%}
*,*::before,*::after{box-sizing:inherit}
body{
  font-family:"Hiragino Kaku Gothic ProN","Meiryo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans JP",sans-serif;
  font-size:1.9rem; line-height:1.85; color:#222; background:#fff;
}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:#b71c1c;text-decoration:none}
a:hover,a:focus{text-decoration:underline}

/* セクション余白（HATSUTA風に広め） */
.section{padding:3.2rem 0}
.section--tight{padding:2.4rem 0}
.section-gap{margin-top:3.2rem}
.section-gap-lg{margin-top:4.8rem}

/* アイブロウ（英字小見出し）＋日本語大見出し */
.eyebrow{display:block;font-size:1.2rem;letter-spacing:.12em;text-transform:uppercase;color:#b71c1c;margin-bottom:.4rem}
.h-title{font-size:2.6rem;line-height:1.35;margin-bottom:1.4rem}

/* カルーセル直後の間隔 */
#news-section{padding-top:4.4rem}

/* 新着情報・右ボックス */
.news-list{font-size:2.0rem; line-height:1.95}
#news-section .card{border:1px solid rgba(0,0,0,.08); border-radius:1rem}
#news-section .free-thumb{width:84px; height:84px; object-fit:cover; border-radius:.6rem}
#news-section .free-title{font-size:1.9rem}

/* 工業会 概要（本文はやや大きめ） */
.org-outline .org-h3{font-size:2.3rem; margin:1.2rem 0 .6rem}
.org-outline .org-p {font-size:2.0rem; line-height:1.9}

/* ラベル・ステッカー（1箱横並び、タイトル大きく、説明文は小さめ） */
.purchase-box .purchase-thumb{width:180px; height:auto; object-fit:cover; border-radius:.6rem}
@media (max-width:991.98px){ .purchase-box .purchase-thumb{width:140px} }
.purchase-box .purchase-title{font-size:2.4rem}
.purchase-box .purchase-text{font-size:1.7rem; line-height:1.8}

/* 地図埋め込み */
.gmap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.gmap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.gmap--sm{padding-bottom:52%}
@media (min-width:992px){ .gmap--sm{padding-bottom:40%} }

/* テーブル */
.table th,.table td{vertical-align:middle}
.table thead th{background:#f6f6f6}

/* フッター */
.site-footer{font-size:1.55rem;text-align:center;background:#fafafa;padding:2.2rem 0;border-top:1px solid #ddd}

/* グリッド補正（カード影・角丸の一貫性） */
.card{border-radius:1rem}
.shadow-sm{box-shadow:0 .25rem .75rem rgba(0,0,0,.08)!important}

/* --- layout: unify page width to carousel width --- */
body.home header.site-header,
body.home main {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
/* --- layout: carousel bottom space adjust --- */
body.home #carouselIndicators {
  margin-bottom: 2rem;
}
/* カルーセル下の背景帯 */
body.home #carouselIndicators + section {
  padding-top: 1.5rem;
}
/* カルーセル直下余白調整（階層構造に合わせた版） */
body.home #carouselIndicators {
  margin-bottom: 1.5rem !important;
}
/* 新着情報 / 行政案内のカード均等化 */
body.home .card-area {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  align-items: start;
  text-align: center;
}
/* 3カラム（紹介ブロック）の余白調整 */
body.home .row > [class*="col-"] {
  padding: 1.5rem 1rem;
}

/* カード画像とテキストの間隔を統一 */
body.home .row img {
  margin-bottom: 1rem;
}

/* セクション全体の余白 */
body.home .row {
  margin-bottom: 2.5rem;
}
footer.site-footer {
  background-color: #1c2d3a !important;
  color: #ffffff !important;
}
footer.site-footer .container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
footer.site-footer .text-muted {
  color: #ffffff !important;
}
/* 動画案内セクション調整 */
body.home section.py-5.bg-light {
  background-color: #f3f4f6 !important;
  padding-top: 40px;
  padding-bottom: 40px;
}

body.home section.py-5.bg-light .container {
  max-width: 1280px;
  margin: 0 auto;
}
/* footer button highlight */
footer.site-footer .btn {
  background-color: #c0392b !important; /* 赤 */
  color: #fff !important;
  border: none !important;
  padding: 12px 28px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  box-shadow: 0 0 10px rgba(0,0,0,0.15);
  transition: all 0.2s ease;
}

footer.site-footer .btn:hover {
  background-color: #fff !important;
  color: #c0392b !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
}

/* 正会員 製品区分強調 */
.fean-catitem {
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.fean-catitem > ul {
  margin-top: 8px;
}
/* 色分け */
.fean-catitem-hatch {
  background: rgba(108, 117, 125, 0.08);
  border-left: 4px solid rgba(108, 117, 125, 0.55);
}
.fean-catitem-descender {
  background: rgba(13, 110, 253, 0.07);
  border-left: 4px solid rgba(13, 110, 253, 0.55);
}
.fean-catitem-rescue {
  background: rgba(25, 135, 84, 0.07);
  border-left: 4px solid rgba(25, 135, 84, 0.55);
}
.fean-catitem-fiber {
  background: rgba(253, 126, 20, 0.07);
  border-left: 4px solid rgba(253, 126, 20, 0.55);
}
/* 準会員 2段組（自動バランス） */
.fean-member-columns {
  column-count: 2;
  column-gap: 2rem;
}

.fean-member-columns li {
  break-inside: avoid;
  margin-bottom: 0.4rem;
}

/* モバイルでは1列 */
@media (max-width: 767.98px) {
  .fean-member-columns {
    column-count: 1;
  }
}
/* -----------------------------
   Links page: product category blocks (members)
----------------------------- */
.fean-catitem{
  list-style: none;
  margin: 0 0 14px 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.06);
}

.fean-catitem-title{
  display: block;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 8px 0;
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,.7);
}

.fean-sublist{
  margin: 0;
  padding-left: 1.1rem;
}

.fean-sublist li{
  margin: 0 0 6px 0;
}

.fean-catitem-hatch{ background: rgba(108,117,125,.08); border-left: 4px solid rgba(108,117,125,.55); }
.fean-catitem-descender{ background: rgba(13,110,253,.07); border-left: 4px solid rgba(13,110,253,.55); }
.fean-catitem-rescue{ background: rgba(25,135,84,.07); border-left: 4px solid rgba(25,135,84,.55); }
.fean-catitem-fiber{ background: rgba(253,126,20,.07); border-left: 4px solid rgba(253,126,20,.55); }

/* =========================================================
   moved from head.css: Page Common Styling + Layout/Container
========================================================= */
/* =========================================================
   Page Common Styling
========================================================= */

.section-title {
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: 3px solid #c7382a;
  display: inline-block;
  padding-bottom: 0.25rem;
}

.caution-block {
  background: #fff8b8;
  border-top: 3px solid #e7cf00;
  border-bottom: 3px solid #e7cf00;
  padding: 2.5rem 0;
}

/* 新着情報 & 行政案内 */
@media (min-width: 992px) {
  .news-container,
  .notice-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}

/* =========================================================
   Layout / Container
========================================================= */

.container {
  max-width: 1280px;
  margin: 0 auto;
}

.container-narrow {
  max-width: 1100px;
  margin: 0 auto;
}
﻿/* =========================================================
   ページタイトル（新方式：h1.fean-title）
   - 背景色：root（親階層）
   - 文字色：root + lv（階層深さ）
========================================================= */
.fean-title{
  font-size: 1.75rem;
  line-height: 1.2;
  font-weight: 500;
  padding: .35rem .75rem;
  margin: 0 0 1rem 0;
  display: block;
}

/* タイトル内リンクの色事故防止 */
.fean-title a,
.fean-title a:visited,
.fean-title a:hover,
.fean-title a:active{
  color: inherit;
  text-decoration: inherit;
}

/* root background colors */
.fean-title.fean-root-news           { background-color:#dc3545; } /* danger */
.fean-title.fean-root-public-info    { background-color:#0dcaf0; } /* info */
.fean-title.fean-root-works          { background-color:#198754; } /* success */
.fean-title.fean-root-equipment-info { background-color:#0d6efd; } /* primary */
.fean-title.fean-root-basic          { background-color:#212529; } /* dark */
.fean-title.fean-root-topics         { background-color:#6c757d; } /* secondary */
.fean-title.fean-root-laws           { background-color:#ffc107; } /* warning */
.fean-title.fean-root-membersonly    { background-color:#6610f2; } /* indigo-400 相当 */
.fean-title.fean-root-unknown        { background-color:#6c757d; }

/* text color by root + level */
/* news */
.fean-title.fean-root-news.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-news.fean-lv2 { color:#f8f9fa; }
.fean-title.fean-root-news.fean-lv3 { color:#ffe5e5; }

/* public-info */
.fean-title.fean-root-public-info.fean-lv1 { color:#003b44; }
.fean-title.fean-root-public-info.fean-lv2 { color:#084c57; }
.fean-title.fean-root-public-info.fean-lv3 { color:#0b6a78; }

/* works */
.fean-title.fean-root-works.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-works.fean-lv2 { color:#e6f4ee; }
.fean-title.fean-root-works.fean-lv3 { color:#d1e7dd; }

/* equipment-info */
.fean-title.fean-root-equipment-info.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-equipment-info.fean-lv2 { color:#e7f1ff; }
.fean-title.fean-root-equipment-info.fean-lv3 { color:#cfe2ff; }

/* basic */
.fean-title.fean-root-basic.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-basic.fean-lv2 { color:#e9ecef; }
.fean-title.fean-root-basic.fean-lv3 { color:#dee2e6; }

/* topics */
.fean-title.fean-root-topics.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-topics.fean-lv2 { color:#f1f3f5; }
.fean-title.fean-root-topics.fean-lv3 { color:#dee2e6; }

/* laws */
.fean-title.fean-root-laws.fean-lv1 { color:#212529; }
.fean-title.fean-root-laws.fean-lv2 { color:#343a40; }
.fean-title.fean-root-laws.fean-lv3 { color:#495057; }

/* membersonly */
.fean-title.fean-root-membersonly.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-membersonly.fean-lv2 { color:#ede7ff; }
.fean-title.fean-root-membersonly.fean-lv3 { color:#d6ccff; }

/* unknown */
.fean-title.fean-root-unknown.fean-lv1 { color:#ffffff; }
.fean-title.fean-root-unknown.fean-lv2 { color:#f1f3f5; }
.fean-title.fean-root-unknown.fean-lv3 { color:#dee2e6; }



