@charset "UTF-8";
/*
Theme Name: SmartLight
Theme URI: https://smartlight.co.jp/
Author: SmartLight Inc.
Description: スマートライト株式会社 コーポレートサイト用テーマ。白基調・シンプル。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
License: GPL-2.0-or-later
Text Domain: smartlight
*/

/* ==========================================================================
   1. トークン
   ========================================================================== */
:root {
  --c-bg:        #ffffff;
  --c-bg-soft:   #f7f8f9;
  --c-line:      #e3e6e8;
  --c-line-soft: #eef0f2;
  --c-text:      #16191d;
  --c-muted:     #6a7280;
  --c-accent:    #0e4f8f;
  --c-accent-dk: #0a3c6d;

  --w-page:      1120px;
  --w-text:      720px;
  --r:           3px;
  --step:        clamp(3rem, 7vw, 5.5rem);

  --f-sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
            "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
}

/* ==========================================================================
   2. リセット
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.85;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--c-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { line-height: 1.45; font-weight: 700; letter-spacing: .01em; margin: 0; }
p, ul, ol, table, figure { margin: 0 0 1.5rem; }
ul, ol { padding-left: 1.4em; }
button { font: inherit; }

/* ==========================================================================
   3. レイアウト
   ========================================================================== */
.container { width: min(100% - 2.5rem, var(--w-page)); margin-inline: auto; }
.section { padding-block: var(--step); }
.section + .section { border-top: 1px solid var(--c-line-soft); }
.site-main { min-height: 50vh; }

.layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 3.5rem; }
@media (max-width: 900px) { .layout { grid-template-columns: 1fr; gap: 2.5rem; } }

/* ==========================================================================
   4. ヘッダー
   ========================================================================== */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid var(--c-line);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 68px; }
.site-logo img, .site-logo svg { height: 34px; width: auto; }
.site-logo a { color: var(--c-text); font-weight: 700; font-size: 1.05rem; letter-spacing: .02em; }

.nav-list { display: flex; align-items: center; gap: .3rem; list-style: none; margin: 0; padding: 0; }
.nav-list a {
  display: block; padding: .55rem .8rem; border-radius: var(--r);
  color: var(--c-text); font-size: .9rem; font-weight: 500; white-space: nowrap;
}
.nav-list a:hover { background: var(--c-bg-soft); color: var(--c-accent); text-decoration: none; }
.nav-list .current-menu-item > a { color: var(--c-accent); }

/* ドロップダウン */
.nav-list li { position: relative; }
.nav-list .sub-menu {
  position: absolute; top: 100%; left: 0; min-width: 220px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r);
  box-shadow: 0 6px 24px rgba(0,0,0,.07);
  list-style: none; margin: 0; padding: .35rem;
  display: none;
}
.nav-list li:hover > .sub-menu { display: block; }
.nav-list .sub-menu a { font-size: .875rem; padding: .5rem .7rem; }

.nav-toggle { display: none; background: none; border: 1px solid var(--c-line); border-radius: var(--r); padding: .5rem .7rem; cursor: pointer; }

@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--c-line);
    max-height: 0; overflow: hidden; transition: max-height .25s ease;
  }
  .site-nav.is-open { max-height: 80vh; overflow-y: auto; }
  .nav-list { flex-direction: column; align-items: stretch; gap: 0; padding: .5rem 1.25rem 1.25rem; }
  .nav-list > li { border-bottom: 1px solid var(--c-line-soft); }
  .nav-list .sub-menu { position: static; display: block; border: none; box-shadow: none; padding: 0 0 .5rem .9rem; }
}

/* ==========================================================================
   5. ヒーロー
   ========================================================================== */
.hero { padding-block: clamp(3.5rem, 9vw, 6.5rem); border-bottom: 1px solid var(--c-line-soft); }
.hero h1 { font-size: clamp(1.7rem, 4.2vw, 2.7rem); letter-spacing: .005em; margin-bottom: 1.3rem; }
.hero .lead { font-size: clamp(1rem, 1.6vw, 1.1rem); color: var(--c-muted); max-width: 46em; margin-bottom: 2rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

/* ==========================================================================
   6. ボタン
   ========================================================================== */
.btn {
  display: inline-block; padding: .8rem 1.7rem; border-radius: var(--r);
  font-size: .93rem; font-weight: 600; border: 1px solid transparent; cursor: pointer;
}
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--c-accent); color: #fff; }
.btn-primary:hover { background: var(--c-accent-dk); }
.btn-ghost { border-color: var(--c-line); color: var(--c-text); background: #fff; }
.btn-ghost:hover { border-color: var(--c-text); }

/* ==========================================================================
   7. セクション見出し
   ========================================================================== */
.section-head { margin-bottom: 2.5rem; }
.section-head .eyebrow { display: block; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-accent); font-weight: 700; margin-bottom: .55rem; }
.section-head h2 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); }
.section-head p { color: var(--c-muted); margin: .7rem 0 0; }

/* ==========================================================================
   8. カード / グリッド
   ========================================================================== */
.grid { display: grid; gap: 1.25rem; }
.grid-3 { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }

.card {
  border: 1px solid var(--c-line); border-radius: var(--r); background: #fff;
  padding: 1.6rem; transition: border-color .18s ease, transform .18s ease;
}
a.card { color: inherit; display: block; }
a.card:hover { border-color: var(--c-text); text-decoration: none; transform: translateY(-2px); }
.card h3 { font-size: 1.02rem; margin-bottom: .55rem; }
.card p { color: var(--c-muted); font-size: .9rem; margin: 0; }

.tile {
  border: 1px solid var(--c-line); border-radius: var(--r);
  padding: 1.1rem 1rem; text-align: center; color: var(--c-text); font-weight: 600; font-size: .95rem;
}
.tile:hover { border-color: var(--c-accent); color: var(--c-accent); text-decoration: none; }
.tile span { display: block; font-size: .75rem; color: var(--c-muted); font-weight: 400; margin-top: .2rem; }

/* ==========================================================================
   9. 記事リスト
   ========================================================================== */
.post-list { display: grid; gap: 0; }
.post-item { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 1.4rem; padding: 1.5rem 0; border-bottom: 1px solid var(--c-line-soft); }
.post-item:first-child { padding-top: 0; }
.post-item .thumb { border-radius: var(--r); overflow: hidden; background: var(--c-bg-soft); aspect-ratio: 16/10; }
.post-item .thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-item h3 { font-size: 1.03rem; margin-bottom: .45rem; }
.post-item h3 a { color: var(--c-text); }
.post-item h3 a:hover { color: var(--c-accent); }
.post-item .excerpt { color: var(--c-muted); font-size: .88rem; margin: 0; }
@media (max-width: 600px) { .post-item { grid-template-columns: 1fr; gap: .8rem; } .post-item .thumb { max-width: 100%; } }

.meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .76rem; color: var(--c-muted); margin-bottom: .5rem; }
.badge { display: inline-block; padding: .18rem .55rem; border: 1px solid var(--c-line); border-radius: 999px; font-size: .72rem; color: var(--c-muted); background: #fff; }
.badge:hover { border-color: var(--c-accent); color: var(--c-accent); text-decoration: none; }

/* ==========================================================================
   10. 記事本文
   ========================================================================== */
.entry-header { padding-block: 2.8rem 1.8rem; border-bottom: 1px solid var(--c-line-soft); margin-bottom: 2.5rem; }
.entry-header h1 { font-size: clamp(1.5rem, 3.4vw, 2.1rem); margin-bottom: .9rem; }

.entry-content { max-width: var(--w-text); }
.entry-content > * { margin-bottom: 1.6rem; }
.entry-content h2 {
  font-size: 1.4rem; margin: 3.2rem 0 1.2rem; padding-bottom: .6rem;
  border-bottom: 2px solid var(--c-text);
}
.entry-content h3 { font-size: 1.15rem; margin: 2.6rem 0 1rem; padding-left: .75rem; border-left: 3px solid var(--c-accent); }
.entry-content h4 { font-size: 1.02rem; margin: 2rem 0 .8rem; }
.entry-content img { border-radius: var(--r); }
.entry-content blockquote {
  margin: 2rem 0; padding: 1.1rem 1.4rem; background: var(--c-bg-soft);
  border-left: 3px solid var(--c-line); color: var(--c-muted); border-radius: 0 var(--r) var(--r) 0;
}
.entry-content code { background: var(--c-bg-soft); padding: .15em .4em; border-radius: 2px; font-size: .9em; }
.entry-content pre { background: #16191d; color: #e6e8ea; padding: 1.2rem; border-radius: var(--r); overflow-x: auto; font-size: .85rem; line-height: 1.7; }
.entry-content pre code { background: none; padding: 0; color: inherit; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.entry-content th, .entry-content td { border: 1px solid var(--c-line); padding: .7rem .9rem; text-align: left; vertical-align: top; }
.entry-content th { background: var(--c-bg-soft); font-weight: 600; }
.entry-content hr { border: none; border-top: 1px solid var(--c-line); margin: 3rem 0; }

/* ==========================================================================
   11. サイドバー
   ========================================================================== */
.sidebar .widget { border: 1px solid var(--c-line); border-radius: var(--r); padding: 1.3rem; margin-bottom: 1.25rem; }
.sidebar .widget-title { font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); margin-bottom: .9rem; }
.sidebar ul { list-style: none; margin: 0; padding: 0; }
.sidebar li { padding: .4rem 0; border-bottom: 1px solid var(--c-line-soft); font-size: .89rem; }
.sidebar li:last-child { border-bottom: none; }
.sidebar a { color: var(--c-text); }
.sidebar a:hover { color: var(--c-accent); }

/* ==========================================================================
   12. フッター
   ========================================================================== */
.site-footer { border-top: 1px solid var(--c-line); background: var(--c-bg-soft); margin-top: var(--step); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 2.5rem; padding-block: 3.5rem 2.5rem; }
@media (max-width: 820px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-grid h4 { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); margin-bottom: .9rem; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-grid li { margin-bottom: .5rem; font-size: .88rem; }
.footer-grid a { color: var(--c-text); }
.footer-grid a:hover { color: var(--c-accent); }
.footer-about p { font-size: .87rem; color: var(--c-muted); }
.site-bottom { border-top: 1px solid var(--c-line); padding-block: 1.2rem; font-size: .78rem; color: var(--c-muted); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }

/* ==========================================================================
   13. ページネーション / 検索 / 汎用
   ========================================================================== */
.pagination { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2.5rem; }
.pagination .page-numbers { display: inline-block; padding: .5rem .85rem; border: 1px solid var(--c-line); border-radius: var(--r); font-size: .88rem; color: var(--c-text); }
.pagination .current { background: var(--c-text); color: #fff; border-color: var(--c-text); }
.pagination a:hover { border-color: var(--c-text); text-decoration: none; }

.search-form { display: flex; gap: .5rem; }
.search-form input[type="search"] { flex: 1; padding: .6rem .8rem; border: 1px solid var(--c-line); border-radius: var(--r); font-size: .9rem; min-width: 0; }
.search-form input[type="search"]:focus { outline: 2px solid var(--c-accent); outline-offset: -1px; }
.search-form button { padding: .6rem 1rem; background: var(--c-text); color: #fff; border: none; border-radius: var(--r); cursor: pointer; font-size: .88rem; }

.notice { padding: 2.5rem; border: 1px dashed var(--c-line); border-radius: var(--r); text-align: center; color: var(--c-muted); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: #fff; padding: .6rem 1rem; z-index: 100; border: 1px solid var(--c-text); }

/* ==========================================================================
   14. Contact Form 7
   ========================================================================== */
.wpcf7 { max-width: var(--w-text); }
.wpcf7 label { display: block; font-size: .9rem; font-weight: 600; margin-bottom: 1.2rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
.wpcf7 textarea, .wpcf7 select {
  display: block; width: 100%; margin-top: .4rem; padding: .7rem .85rem;
  border: 1px solid var(--c-line); border-radius: var(--r);
  font: inherit; font-size: .95rem; font-weight: 400; background: #fff;
}
.wpcf7 textarea { min-height: 180px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { outline: 2px solid var(--c-accent); outline-offset: -1px; }
.wpcf7 input[type="submit"] {
  background: var(--c-accent); color: #fff; border: none; border-radius: var(--r);
  padding: .85rem 2.2rem; font-size: .95rem; font-weight: 600; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--c-accent-dk); }

/* ==========================================================================
   15. WooCommerce（撤去までの暫定表示）
   ========================================================================== */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products li.product { border: 1px solid var(--c-line); border-radius: var(--r); padding: 1rem; margin: 0; width: auto; float: none; text-align: left; }
.woocommerce ul.products li.product:hover { border-color: var(--c-text); }
.woocommerce ul.products li.product h2 { font-size: .95rem !important; line-height: 1.5; margin: .7rem 0 0; }
.woocommerce div.product div.images { margin-bottom: 2rem; }
.woocommerce .woocommerce-breadcrumb { font-size: .82rem; color: var(--c-muted); margin-bottom: 1.5rem; }
.woocommerce table.shop_attributes { width: 100%; border-collapse: collapse; font-size: .9rem; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 1px solid var(--c-line); padding: .65rem .85rem; text-align: left; }
.woocommerce table.shop_attributes th { background: var(--c-bg-soft); width: 30%; }


/* ==========================================================================
   記事下CTA（製品サイト／ソリューションサイトへの導線）
   ========================================================================== */
.article-cta {
  margin: 3.5rem 0 0;
  padding: 2rem 2rem 2.2rem;
  background: var(--c-bg-soft);
  border: 1px solid var(--c-line);
  border-radius: var(--r);
}
.article-cta .eyebrow {
  display: block; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-accent); font-weight: 700; margin-bottom: .5rem;
}
.article-cta h2 { font-size: 1.22rem; margin: 0 0 .7rem; line-height: 1.5; }
.article-cta p  { margin: 0; color: var(--c-muted); font-size: .93rem; line-height: 1.85; }
.article-cta-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
@media (max-width: 600px) {
  .article-cta { padding: 1.5rem 1.25rem 1.7rem; }
  .article-cta-actions .btn { flex: 1 1 100%; text-align: center; }
}

/* ==========================================================================
   コメント
   ========================================================================== */
.comments { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--c-line); }
.comments-title { font-size: 1.1rem; margin: 0 0 1.5rem; }
.comment-list { list-style: none; margin: 0 0 2.5rem; padding: 0; }
.comment-list li { padding: 1.2rem 0; border-bottom: 1px solid var(--c-line-soft); }
.comment-list .children { list-style: none; margin: 1rem 0 0 1.5rem; padding: 0; }


/* お問い合わせフォーム（CF7） */
.cf7-row { margin-bottom: 1.3rem; }
.cf7-row label { display: block; font-weight: 600; font-size: .92rem; }
.cf7-row .req {
  display: inline-block; margin-left: .5rem; padding: .1rem .45rem;
  background: var(--c-accent); color: #fff; border-radius: var(--r);
  font-size: .68rem; font-weight: 700; vertical-align: middle;
}
.cf7-row input[type="text"], .cf7-row input[type="email"], .cf7-row input[type="tel"],
.cf7-row select, .cf7-row textarea {
  width: 100%; margin-top: .45rem; padding: .7rem .85rem;
  border: 1px solid var(--c-line); border-radius: var(--r);
  font-size: .95rem; font-family: inherit; background: #fff; color: var(--c-text);
}
.cf7-row input:focus, .cf7-row select:focus, .cf7-row textarea:focus {
  outline: none; border-color: var(--c-accent);
}
.cf7-note { color: var(--c-muted); font-size: .85rem; margin: 1.2rem 0; }
.wpcf7-spinner { vertical-align: middle; }

/* ==========================================================================
   Milesight 製品ページ（/milesight/）専用スタイル — 2026-08-13
   ========================================================================== */
.ms-hero{background:linear-gradient(180deg,#f7f9fb 0%,#fff 100%);border:1px solid #e3e6e8;border-radius:8px;padding:2rem 2rem 1.6rem;margin-bottom:2.5rem}
.ms-hero p.ms-eyebrow{font-size:.78rem;letter-spacing:.16em;font-weight:700;color:#0e4f8f;margin:0 0 .5rem;text-transform:uppercase}
.ms-hero h2{font-size:1.5rem;margin:0 0 .9rem;line-height:1.5;border:0;padding:0}
.ms-hero p{margin:0 0 .8rem;line-height:1.95}
.ms-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.ms-badge{font-size:.78rem;font-weight:700;color:#fff;background:#0d7a3f;padding:.35rem .85rem;border-radius:3px}
.ms-badge.b2{background:#0e4f8f}
.ms-badge.b3{background:#6a7280}
.ms-cta{display:inline-block;background:#0e4f8f;color:#fff !important;font-weight:700;padding:.85rem 2rem;
  border-radius:4px;text-decoration:none !important;margin-top:1.2rem}
.ms-cta:hover{background:#0a3c6d}
.ms-cta.ghost{background:#fff;color:#0e4f8f !important;border:1px solid #0e4f8f;margin-left:.6rem}
.ms-cta.ghost:hover{background:#f2f6fa}
.ms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.2rem 0 2rem}
.ms-card{border:1px solid #e3e6e8;border-radius:6px;padding:1.15rem 1.3rem;background:#fff}
.ms-card h4{margin:0 0 .5rem;font-size:1rem;color:#0e4f8f}
.ms-card p{margin:0 0 .8rem;font-size:.9rem;line-height:1.8;color:#454b53}
.ms-card .ms-models{display:flex;flex-wrap:wrap;gap:.35rem}
.ms-card .ms-models a{font-size:.82rem;font-weight:600;padding:.3rem .7rem;border:1px solid #d8dcdf;
  border-radius:999px;text-decoration:none;color:#16191d}
.ms-card .ms-models a:hover{border-color:#0e4f8f;color:#0e4f8f}
.ms-note{border-left:4px solid #c9a227;background:#fdf9ec;padding:1rem 1.3rem;margin:1.8rem 0;line-height:1.9;font-size:.93rem}
.ms-table{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.9rem}
.ms-table th,.ms-table td{border:1px solid #e3e6e8;padding:.6rem .9rem;text-align:left;vertical-align:top}
.ms-table th{background:#f2f4f6;font-weight:700;width:30%}
.ms-steps{counter-reset:s;list-style:none;padding:0;margin:1rem 0 2rem}
.ms-steps li{counter-increment:s;position:relative;padding-left:2.6rem;margin-bottom:1rem;line-height:1.9}
.ms-steps li::before{content:counter(s);position:absolute;left:0;top:.1rem;width:1.8rem;height:1.8rem;
  background:#0e4f8f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:.85rem;font-weight:700}
.ms-final{background:#16191d;color:#fff;border-radius:8px;padding:2rem;text-align:center;margin-top:2.5rem}
.ms-final h3{color:#fff;margin:0 0 .8rem;font-size:1.25rem}
.ms-final p{color:rgba(255,255,255,.8);margin:0 0 1.2rem;line-height:1.9}
.ms-final .ms-cta{background:#fff;color:#16191d !important}
.ms-final .ms-cta:hover{background:#e8ecef}
@media(max-width:600px){.ms-hero{padding:1.4rem 1.2rem}.ms-cta.ghost{margin-left:0;margin-top:.6rem}}

/* ---------------------------------------------- LoRaWAN ハブ / 用語辞典 / 技適一覧
 * 2026-08-13 追加。既存の .ms-* コンポーネントを土台にし、
 * 3ページ固有のパーツ（カテゴリナビ・定義リスト・技適表）だけをここで足す。
 */
.lw-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2.5rem;padding:1rem 1.1rem;
  background:#f7f9fb;border:1px solid #e3e6e8;border-radius:6px}
.lw-nav a{font-size:.88rem;font-weight:700;color:#0e4f8f;background:#fff;border:1px solid #d8dcdf;
  border-radius:999px;padding:.4rem .95rem;text-decoration:none;white-space:nowrap}
.lw-nav a:hover{border-color:#0e4f8f;background:#f2f6fa;text-decoration:none}
.lw-nav a span{display:inline-block;margin-left:.45rem;font-size:.75rem;color:#6a7280;font-weight:600}

.lw-sec{scroll-margin-top:5rem}

.lw-dict{margin:0 0 2.6rem;padding:0}
.lw-dict dt{font-size:1.05rem;font-weight:700;color:#16191d;margin:1.6rem 0 .5rem;
  padding-bottom:.4rem;border-bottom:2px solid #e3e6e8;scroll-margin-top:5rem}
.lw-dict dt:first-child{margin-top:.6rem}
.lw-dict .lw-yomi{display:inline-block;margin-left:.7rem;font-size:.8rem;font-weight:600;
  color:#6a7280;letter-spacing:.02em}
.lw-dict dd{margin:0;padding:0 0 0 .1rem;line-height:1.95;font-size:.95rem;color:#33383e}
.lw-dict dd code{background:#f2f4f6;padding:.1rem .4rem;border-radius:3px;font-size:.88em}

.lw-cat{font-size:1.12rem;margin:2.2rem 0 .4rem;padding-left:.7rem;border-left:4px solid #0e4f8f}
.lw-cat .lw-n{display:inline-block;margin-left:.6rem;font-size:.78rem;font-weight:700;color:#fff;
  background:#6a7280;border-radius:999px;padding:.12rem .6rem;vertical-align:middle}
.lw-lead{margin:0 0 .8rem;font-size:.9rem;color:#6a7280}
.lw-arts{margin:0 0 1.6rem;padding:0;list-style:none;border-top:1px solid #e3e6e8}
.lw-arts li{border-bottom:1px solid #e3e6e8}
.lw-arts li a{display:block;padding:.75rem .3rem .75rem 1.4rem;position:relative;
  font-size:.94rem;line-height:1.7;color:#16191d;text-decoration:none}
.lw-arts li a::before{content:"›";position:absolute;left:.35rem;top:.72rem;color:#0e4f8f;font-weight:700}
.lw-arts li a:hover{background:#f7f9fb;color:#0e4f8f;text-decoration:none}

.lw-giteki th,.lw-certs th{width:auto}
.lw-giteki th[scope=row]{width:9rem;background:#fff;font-weight:700}
.lw-giteki td{white-space:nowrap}
.lw-giteki td:last-child{white-space:normal;color:#6a7280;font-size:.86rem}
.lw-certs .lw-models{white-space:normal;font-size:.82rem;line-height:1.7;word-break:break-all}
.g-ok b{color:#0d7a3f}
.g-sr b{color:#0e4f8f}
.g-ck b{color:#8a6100}
.g-no{color:#9a2020}
.g-no b{color:#9a2020}
.lw-legend{margin:.6rem 0 .9rem;padding-left:1.2rem}
.lw-legend li{margin-bottom:.45rem;line-height:1.8}
.lw-none{font-size:.82rem;color:#8a6100}
.lw-src{font-size:.85rem;color:#6a7280;margin:-1rem 0 2rem}
.lw-updated{margin-top:2.5rem;padding-top:1rem;border-top:1px solid #e3e6e8;
  font-size:.85rem;color:#6a7280}
.lw-faq th{width:34%}

@media(max-width:700px){
  .lw-giteki td{white-space:normal}
  .lw-giteki th[scope=row]{width:auto}
  .lw-nav{gap:.4rem;padding:.8rem}
  .lw-nav a{font-size:.82rem;padding:.35rem .75rem}
}
