/*
Theme Name: Pressure Cooker Meiwa
Theme URI: https://pressurecooker.pro/
Description: 明和製作所 業務用圧力寸胴 オリジナル軽量テーマ（N言語対応・Colorful置換）
Author: Meiwa Seisakusho
Version: 0.1.0
*/


/* ===== [1] chrome（style#0からナビ/announce/フッター/フロートのみ抽出・rescope済み） ===== */

:root{
  --steel:#1a2332;
  --steel-mid:#2d3f55;
  --steel-light:#4a6480;
  --accent:#c8950a;
  --accent-light:#f0b429;
  --bg:#f5f4f0;
  --white:#ffffff;
  --text:#1a1a1a;
  --muted:#5a5a5a;
  --border:#e0deda;
}
[data-lang="en"] .ja{display:none;}
[data-lang="en"] .en{display:block;}
[data-lang="en"] .ja-i{display:none;}
[data-lang="en"] .en-i{display:inline;}
.announce{margin-top:64px;background:var(--accent);text-align:center;padding:9px 2rem;font-family:Arial,sans-serif;font-size:16px;color:#fff;letter-spacing:1px;}
nav.pc-nav{background:var(--steel);height:64px;position:fixed;top:0;left:0;right:0;z-index:200;}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:100%;}
.nav-logo{text-decoration:none!important;display:flex!important;align-items:center;gap:10px;}
.nav-logo-img{height:38px;width:auto;display:block;}
.nav-logo-text{display:flex;flex-direction:column;}
.nav-logo .brand{color:#fff;font-size:16px;font-weight:700;letter-spacing:1px;}
.nav-logo .sub{color:var(--accent-light);font-size:16px;letter-spacing:2px;font-family:Arial,sans-serif;margin-top:2px;}
.nav-links{display:flex;align-items:center;gap:1rem;}
.nav-links a{color:rgba(255,255,255,.72);font-size:16px;font-family:Arial,sans-serif;letter-spacing:0.5px;text-decoration:none;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .2s;}
.nav-links a:hover{color:var(--accent-light);}
footer.pc-footer{background:#0d1520;padding:2.5rem 3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-brand{color:rgba(255,255,255,.35);font-family:Arial,sans-serif;font-size:16px;letter-spacing:2px;}
.footer-links{display:flex;gap:2rem;}
.footer-links a{color:rgba(255,255,255,.28);font-family:Arial,sans-serif;font-size:16px;text-decoration:none;cursor:pointer;}
.footer-links a:hover{color:rgba(255,255,255,.6);}
.pc-nav .hamburger{ display:none; }
@media (max-width:768px){
nav.pc-nav{ padding:0 1rem; }
.nav-links{ display:none; }
.pc-nav .hamburger{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    width:24px;
    height:18px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
  }
.pc-nav .hamburger span{
    display:block;
    height:2px;
    background:#fff;
    border-radius:1px;
    transition:transform .3s, opacity .3s;
  }
.pc-nav .hamburger.open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.pc-nav .hamburger.open span:nth-child(2){ opacity:0; }
.pc-nav .hamburger.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
footer.pc-footer{ padding:1.5rem 1.25rem; flex-direction:column; text-align:center; }
.footer-links{ justify-content:center; flex-wrap:wrap; }
}
.float-contact{
  position:fixed;
  bottom:28px;
  right:24px;
  z-index:999;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-decoration:none;
  animation:floatBounce 3s ease-in-out infinite;
}
a.float-contact.ja-i{ display:flex!important; }
a.float-contact.en-i{ display:none!important; }
[data-lang="en"] a.float-contact.ja-i{ display:none!important; }
[data-lang="en"] a.float-contact.en-i{ display:flex!important; }
.float-contact .fc-icon{
  width:56px;
  height:56px;
  background:var(--accent);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 20px rgba(200,149,10,.5);
  transition:transform .2s, box-shadow .2s;
}
.float-contact:hover .fc-icon{
  transform:scale(1.1);
  box-shadow:0 6px 28px rgba(200,149,10,.7);
}
.float-contact .fc-icon svg{
  width:26px;
  height:26px;
  fill:#fff;
}
.float-contact .fc-label{
  background:rgba(26,35,50,.92);
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:16px;
  letter-spacing:1.5px;
  padding:4px 10px;
  border-radius:12px;
  white-space:nowrap;
  border:1px solid rgba(200,149,10,.4);
}
.float-contact .fc-icon{ width:52px; height:52px; }

/* ===== [2] ドロップダウン（全ページ・本番同様） ===== */

/* -- nav-col-css -- */

/* --- Dropdown nav (gap-free hover) --- */
.nav-item-col { position: relative; display: inline-flex; align-items: center; }
.nav-item-col > a { display: inline-block; }
.nav-col-drop {
    display: none;
    position: absolute;
    top: 100%;        /* NO gap – prevents hover dead zone */
    right: 0;
    min-width: 300px;
    padding-top: 8px; /* visual breathing room inside */
    padding-bottom: 6px;
    background: #162035;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 28px rgba(0,0,0,.5);
    z-index: 9990;
}
.nav-item-col:hover .nav-col-drop { display: block; }
.nav-col-drop a {
    display: block; padding: 10px 16px; color: #c5cdd6;
    font-size: 12.5px; line-height: 1.5; text-decoration: none;
    border-left: 3px solid transparent; transition: background .15s, color .15s;
}
.nav-col-drop a:hover { background: rgba(255,215,0,.1); color: #ffd700; border-left-color: #ffd700; }
.nav-col-drop .nav-col-all {
    border-top: 1px solid rgba(255,255,255,.1); margin-top: 4px;
    color: #ffd700 !important; font-weight: 700; text-align: center;
    letter-spacing: .04em; border-left: 3px solid transparent !important;
}
.nav-col-drop .nav-col-all:hover { background: rgba(255,215,0,.15) !important; border-left-color: #ffd700 !important; }
@media (max-width: 768px) { .nav-col-drop { display: none !important; } }

/* --- Column listing page --- */
.col-page-wrap { max-width: 960px; margin: 0 auto; padding: 36px 24px 60px; }
.col-page-title { font-size: 22px; font-weight: 700; margin-bottom: 28px; color: #1a2332; border-bottom: 2px solid #ffd700; padding-bottom: 10px; }
.col-cards { display: grid; grid-template-columns: repeat(auto-fill,minmax(270px,1fr)); gap: 24px; }
.col-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.08); transition: transform .2s,box-shadow .2s; display: flex; flex-direction: column; }
.col-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,.13); }
.col-card-thumb { display: block; width: 100%; height: 185px; object-fit: cover; }
.col-card-thumb-ph { width: 100%; height: 185px; background: linear-gradient(135deg,#1a2332,#2a3f5f); display: flex; align-items: center; justify-content: center; font-size: 36px; }
.col-card-body { padding: 16px 18px 18px; flex: 1; display: flex; flex-direction: column; }
.col-card-ttl a { display: block; font-size: 14px; font-weight: 700; line-height: 1.55; color: #1a2332; text-decoration: none; margin-bottom: 9px; }
.col-card-ttl a:hover { color: #b08000; }
.col-card-exc { font-size: 12.5px; color: #555; line-height: 1.65; flex: 1; margin-bottom: 14px; }
.col-card-btn { align-self: flex-start; padding: 6px 16px; background: #1a2332; color: #ffd700; border-radius: 5px; font-size: 11.5px; font-weight: 700; text-decoration: none; letter-spacing: .02em; transition: background .15s; }
.col-card-btn:hover { background: #2a3f5f; }
@media (max-width: 640px) { .col-cards { grid-template-columns: 1fr; gap: 16px; } .col-page-wrap { padding: 24px 14px 48px; } }

/* -- nav-dropdown-card-20260616 -- */

.nav-item-col{position:relative !important;}.nav-item-col:hover .nav-col-drop{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;align-items:start !important;width:520px !important;max-width:92vw !important;max-height:80vh !important;overflow-y:auto !important;padding:12px !important;right:0 !important;left:auto !important;background:#1a2332 !important;border-radius:0 0 8px 8px !important;}.nav-links .nav-item-col .nav-col-drop a:not(.nav-col-all){display:block !important;overflow:hidden !important;box-sizing:border-box !important;height:58px !important;max-height:58px !important;min-height:0 !important;padding:9px 13px !important;line-height:1.5 !important;font-size:13px !important;white-space:normal !important;text-transform:none !important;letter-spacing:0 !important;margin:0 !important;background:#2d3f55 !important;color:#eef2f7 !important;border:1px solid rgba(255,255,255,0.07) !important;border-radius:8px !important;-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent) !important;mask-image:linear-gradient(to bottom,#000 80%,transparent) !important;}.nav-links .nav-item-col .nav-col-drop a:not(.nav-col-all):hover{background:#3a5676 !important;color:#ffd98a !important;}.nav-col-drop .nav-col-all{order:-1 !important;grid-column:1 / -1 !important;display:flex !important;align-items:center !important;justify-content:center !important;background:#f0b429 !important;color:#1a2332 !important;font-weight:500 !important;text-transform:none !important;border-radius:8px !important;padding:10px !important;font-size:13px !important;height:auto !important;max-height:none !important;white-space:nowrap !important;-webkit-mask-image:none !important;mask-image:none !important;}.nav-col-drop .nav-col-all:hover{background:#f4c451 !important;color:#1a2332 !important;}

/* -- taisei-cross-link-20260707 -- */

.taisei-cross{display:block;background:#1a2332;border-top:3px solid #f0b429;text-decoration:none;}
	.taisei-cross:hover{background:#222d3e;}
	.taisei-cross .tsl-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;margin:0 auto;padding:22px 32px;box-sizing:border-box;}
	.taisei-cross .tsl-left{display:flex;align-items:center;gap:18px;min-width:0;}
	.taisei-cross .tsl-icon{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:rgba(240,180,41,.12);color:#f0b429;display:flex;align-items:center;justify-content:center;font-size:22px;}
	.taisei-cross .tsl-main{color:#fff;font-size:20px;font-weight:700;line-height:1.35;letter-spacing:.02em;}
	.taisei-cross .tsl-accent{color:#ffd98a;}
	.taisei-cross .tsl-sub{color:#9fb0c3;font-size:13px;margin-top:3px;line-height:1.4;}
	.taisei-cross .tsl-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:#f0b429;color:#1a2332;font-weight:700;font-size:14px;padding:11px 20px;border-radius:6px;white-space:nowrap;}
	.taisei-cross:hover .tsl-btn{background:#f4c451;}
	@media(max-width:680px){.taisei-cross .tsl-inner{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 18px;}.taisei-cross .tsl-main{font-size:17px;}.taisei-cross .tsl-btn{align-self:stretch;justify-content:center;}}

/* -- nav-logo-text-tighten -- */

.nav-logo-text{line-height:1.1 !important;}.nav-logo-text .brand{margin:0 !important;line-height:1.15 !important;}.nav-logo-text .sub{margin:0 !important;line-height:1.15 !important;}

/* ===== [PC-EXTRA] テーマ固有の追加CSS（グローバル） ===== */

/* ページ幅ラッパー（本番Colorfulの実測値を再現：記事/一覧/汎用=1000px白・フロント/製品=1200px黒） */
body.pc-theme{background:#fff;margin:0;}
body.pc-dark{background:#1a2332;}
.pc-wrap-1000{max-width:1000px;margin:0 auto;background:#fff;}
.pc-wrap-1200{max-width:1200px;margin:0 auto;background:#fff;}
/* 本番Colorful内側ラッパーの実効パディング再現（フロント=60px・製品=30px＝白い縁が見える） */
.pc-pad-60{padding:0 60px;box-sizing:border-box;}
.pc-pad-30{padding:0 30px;box-sizing:border-box;}
/* スマホは旧テーマ同様ほぼ全幅（旧＝body 2px＋entry-content 4px＝実効6px）。60/30pxのままだと本文が潰れる */
@media (max-width:768px){
  .pc-pad-60,
  .pc-pad-30{padding:0 6px;}
  .pc-wrap-1000,
  .pc-wrap-1200{max-width:100%;}
}

/* ヒーロー見出し：日本語3行（ラーメン繁盛店の秘訣／スープの仕込み時間短縮／品質の安定化）を
   PC・スマホとも常に3行で表示する。本文埋め込みCSS（.hero-title 45px/31px）より詳細度を高くして上書き。
   最長行「スープの仕込み時間短縮」は font-size の約10.9倍の幅 → 収容幅の 9.17% が上限。
   ビューポート幅ではなく“見出しカラムの幅”基準（cqw）にしないと、2カラムが維持される
   769〜1050px 付近でカラムだけが細くなり破綻するため、コンテナクエリ単位を使う。 */
body.pc-theme .hero-title{font-size:clamp(20px,3vw,40px);} /* 非対応ブラウザ用フォールバック */
@supports (font-size:1cqw){
  body.pc-theme .hero-text{container-type:inline-size;}
  body.pc-theme .hero-title{font-size:min(8.5cqw,40px);}
}

/* 言語スイッチャー（🌐ドロップダウン・N言語） */
.nav-links .pc-lang > a{color:#fff;opacity:.85;}
.nav-col-drop.lang-drop{width:160px !important;min-width:160px;grid-template-columns:1fr !important;right:0;left:auto;}
.nav-col-drop.lang-drop a{height:auto !important;max-height:none !important;-webkit-mask-image:none !important;mask-image:none !important;text-align:center;}

/* モバイルメニュー（テーマ版・pc-プレフィックス） */
.pc-burger{display:none;}
.pc-mobile-menu{display:none;}
@media (max-width:768px){
  .pc-nav .nav-links{display:none;}
  .pc-burger{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:none;border:none;cursor:pointer;padding:0;}
  .pc-burger span{display:block;height:2px;background:#fff;border-radius:1px;transition:transform .3s,opacity .3s;}
  .pc-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .pc-burger.open span:nth-child(2){opacity:0;}
  .pc-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  .pc-mobile-menu{flex-direction:column;background:#1a2332;border-top:1px solid rgba(200,149,10,.25);padding:1.25rem;position:fixed;top:64px;left:0;right:0;z-index:100000;max-height:calc(100vh - 64px);overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.4);}
  .pc-mobile-menu.open{display:flex;}
  .pc-mobile-menu a{color:#fff;text-decoration:none;padding:.8rem .5rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px;}
  .pc-mobile-menu a:hover{color:#ffc940;}
  .pc-mm-lang{color:#fff;padding:.8rem .5rem;}
  .pc-mm-lang summary{cursor:pointer;color:rgba(255,255,255,.85);}
  .pc-mm-lang a{display:block;padding:.6rem 1rem;}
}

/* [PC-SHIM] 遷移期シムはPhase 3痩身完了（2026-07-18・全12ページchrome剥がし済み）に伴い削除済み */
