/*
Theme Name: FMOVE News Minimal
Theme URI: https://fmove.net/
Author: FMOVE
Description: FMOVEのNEWS（投稿）表示専用のミニマルテーマ。LP（https://fmove.net/）へ戻る導線を固定し、余白とタイポを優先。
Version: 2.0.0
Text Domain: fmove-news-minimal
*/

:root{
  --bg:#fff;
  --text:#111;
  --muted:#666;
  --line:#e5e5e5;
  --off:#f9f9f9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Yu Mincho", "YuMincho", serif;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"palt";
}
a{color:inherit;text-decoration:none}
a:hover{opacity:.75}
img{max-width:100%;height:auto;display:block}

.container{max-width:1040px;margin:0 auto;padding:0 24px}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;width:100%;}
.brand{display:flex;align-items:center;min-width:0;z-index: 202; position: relative;}
.brand-logo{height:24px;width:auto;}
.brand-title{display:none;}
.brand-sub{display:none;}

.nav{display:flex;gap:18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.nav a{padding:8px 0}

/* 確実にモバイルメニューを隠す（CSSが効いてない場合の対策含む） */
.mobile-menu-overlay {
  position: fixed; /* headerの外に出しても効くようにfixedに */
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  z-index: 9999; /* 最前面 */
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.mobile-menu-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
/* is-openがないときは非表示（display:flexは維持しopacityで制御するが、念のためpointer-events:none） */

@media (max-width: 720px){
  .nav{
    display:none !important;
  }
}

/* Mobile Menu */
.menu-trigger {
  cursor: pointer;
  z-index: 201; /* header内での優先度 */
  position: relative;
  display: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  height: 24px; /* ロゴ高さと揃える */
  align-items: center;
}

/* 記事本文のスタイル改善 */
.article h1 {
    margin: 30px 0 40px; /* 余白を大きく */
    font-size: 28px;
    line-height: 1.4;
    font-weight: 700;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.05em;
}
.article .meta {
    margin-bottom: 20px;
    font-size: 14px;
    color: #888;
}
.actions {
    margin-top: 60px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center; /* 中央寄せ */
}
.pill {
    border: 1px solid #000;
    background: #fff;
    color: #000;
    padding: 12px 24px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    display: inline-flex;
    transition: all 0.3s ease;
    text-decoration: none;
    font-weight: 500;
}
.pill:hover {
    background: #000;
    color: #fff;
}
.mobile-menu-overlay a {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  margin: 20px 0;
  color: #111;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: block; /* 縦並びにするため */
  width: 100%; /* 横幅いっぱいに */
  text-align: center; /* 中央揃え */
}

.hero{
  padding:54px 0 22px;
}
.hero h1{
  margin:0;
  font-family:Oswald, Inter, sans-serif;
  font-size:32px;
  letter-spacing:.06em;
}
.hero p{margin:10px 0 0;color:var(--muted);font-family:"Cormorant Garamond", "Times New Roman", serif;font-style:italic}

.list{border-top:1px solid var(--line)}
.item{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.item:hover{background:#fafafa}
.item-date{width:110px;color:var(--muted);font-family:Oswald, Inter, sans-serif;font-size:13px;flex:none}
.item-title{flex:1;font-weight:500;line-height:1.7}

.article{padding:44px 0 80px}
.article .hero-figure{
  margin: 18px 0 28px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--off);
  aspect-ratio: 16 / 9; /* 横長に固定 */
}
.article .hero-figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article .content{font-size:16px;line-height:1.95;color:#222;max-width:800px}
.article .content p{margin:0 0 22px}
.article .content h2{margin:44px 0 18px;font-family:Oswald, Inter, sans-serif;letter-spacing:.06em}
.article .content figure{margin:30px 0}
.article .content figcaption{margin-top:10px;text-align:center;color:var(--muted);font-size:12px}

.tagbox{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 0}
.tagbox .tag{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;letter-spacing:.06em;color:var(--muted)}

.pagination{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:28px 0 68px}
.pagination .page a,
.pagination .page span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border:1px solid var(--line);border-radius:999px;padding:0 10px;font-size:12px;color:var(--text)}
.pagination .page .current{background:var(--text);color:#fff;border-color:var(--text)}

.site-footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:12px}

@media (max-width: 720px){
  .menu-trigger{display:block}
  .menu-trigger{display:flex}
  
  .container {
    padding: 0 24px; /* スマホ時の余白を確保 */
  }
  .header-inner {
    padding: 20px 0;
  }
  
  .item{gap:12px}
  .item-date{width:92px}
  .article h1{font-size:24px}
  
  /* 記事本文の余白調整 */
  .article .content {
    padding-left: 12px;
    padding-right: 12px;
  }
}
