/*
Theme Name: Amagi Trail Workers
Theme URI: https://amagitrailworkers.com
Author: Amagi Trail Workers
Description: 一般社団法人天城トレイルワーカーズ公式サイト用テーマ。天城山系の登山道整備・保全活動を紹介するワンページ構成のオリジナルテーマです。
Version: 1.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: amagi-trailworkers
*/

:root{
  --forest:#6B4038;
  --forest-2:#7A4C42;
  --paper:#F8F4F1;
  --paper-2:#F0E6E2;
  --moss:#8F5C52;
  --bark:#A34B3E;
  --signal:#C85A46;
  --ink:#382420;
  --line: rgba(32,36,28,0.14);
  --line-light: rgba(237,238,227,0.22);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Noto Sans JP', sans-serif;
  font-weight:400;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Shippori Mincho', serif;
  margin:0;
  color:var(--ink);
  letter-spacing:.02em;
}
.mono{ font-family:'Space Mono', monospace; }
a{color:inherit;}
img{display:block;max-width:100%;}
ul{margin:0;padding:0;}
.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}
@media (max-width:640px){ .wrap{padding:0 20px;} }

/* ---------- NAV ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(30,42,27,0.0);
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  padding:22px 0;
}
.nav.scrolled{
  background:rgba(30,42,27,0.92);
  backdrop-filter:blur(6px);
  padding:12px 0;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;}
.nav-brand{
  color:#fff; font-family:'Shippori Mincho',serif; font-size:16px; letter-spacing:.08em; line-height:1.4;
  text-decoration:none;
}
.nav-brand small{display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.18em; color:#DDC3B9; opacity:.85;}
.nav-links{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.nav-links a{
  color:#F7EEEB; text-decoration:none; font-size:13.5px; letter-spacing:.05em;
  padding:6px 0; border-bottom:1px solid transparent; transition:border-color .25s ease, color .25s ease;
}
.nav-links a:hover{border-color:var(--signal); color:#fff;}
.nav-toggle{display:none; background:none; border:0; color:#fff; font-size:22px; cursor:pointer;}
@media (max-width:860px){
  .nav-links{
    position:fixed; top:0; right:0; height:100vh; width:78vw; max-width:320px;
    background:var(--forest); flex-direction:column; gap:0; padding:90px 34px;
    transform:translateX(100%); transition:transform .4s ease; box-shadow:-10px 0 30px rgba(0,0,0,.3);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{width:100%; padding:14px 0; border-bottom:1px solid var(--line-light);}
  .nav-toggle{display:block;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:flex-end;
  background:linear-gradient(180deg, rgba(122,58,46,.16) 0%, rgba(96,45,36,.30) 55%, rgba(62,29,23,.58) 100%), url('assets/images/image7.jpg') center 30%/cover no-repeat;
  color:#F7EEEB;
}
.hero-inner{padding:0 0 84px; width:100%;}
.hero-eyebrow{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.28em; text-transform:uppercase;
  color:#E3CCC3; margin-bottom:22px; display:flex; align-items:center; gap:14px;
}
.hero-eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:var(--signal);}
.hero h1{
  font-size:clamp(30px, 5vw, 56px); font-weight:600; line-height:1.5; max-width:15ch;
  color:#fff;
}
.hero p.lead{
  margin-top:26px; max-width:46ch; font-size:16px; line-height:2; color:#EAD9D2; font-weight:300;
}
.hero-scroll{
  margin-top:46px; display:inline-flex; align-items:center; gap:12px; font-size:12px;
  letter-spacing:.14em; color:#E3CCC3; text-decoration:none;
}
.hero-scroll .dot{
  width:34px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center; transition:border-color .25s, transform .25s;
}
.hero-scroll:hover .dot{border-color:var(--signal); transform:translateY(3px);}

/* ---------- SECTION GENERIC ---------- */
section{padding:120px 0;}
@media (max-width:640px){ section{padding:78px 0;} }
.eyebrow{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--moss); margin-bottom:20px; display:flex; align-items:center; gap:12px;
}
.eyebrow::before{content:"";display:inline-block;width:28px;height:1px;background:var(--signal);}

/* ---------- QUESTION SECTION ---------- */
.question{background:var(--forest); color:#F5EBE7;}
.question .eyebrow{color:#D6B3A7;}
.question .eyebrow::before{background:var(--signal);}
.q-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:start;}
@media (max-width:900px){ .q-grid{grid-template-columns:1fr; gap:44px;} }
.q-title{
  font-size:clamp(24px,3.4vw,38px); line-height:1.65; font-weight:500; color:#fff;
}
.q-title em{color:var(--signal); font-style:normal;}
.q-body p{font-size:15px; color:#E3CCC3; font-weight:300; margin:0 0 22px;}
.q-photo{position:relative;}
.q-photo img{border-radius:2px; filter:saturate(.92) contrast(1.03); width:100%; aspect-ratio:4/3; object-fit:cover;}
.q-photo figcaption{
  margin-top:14px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; color:#C99C90;
}
.q-marks{margin-top:36px; display:grid; gap:16px;}
.q-mark{
  border-left:2px solid var(--signal); padding:6px 0 6px 18px; font-size:14.5px; color:#F0E1DB;
}

/* ---------- ACTIVITIES ---------- */
.activities{background:var(--paper);}
.activities-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:60px; flex-wrap:wrap;}
.activities-head h2{font-size:clamp(24px,3vw,34px); max-width:20ch; font-weight:600;}
.activities-head p{max-width:32ch; font-size:14px; color:var(--moss); font-weight:400; margin:0;}
.act-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line);
}
@media (max-width:860px){ .act-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .act-grid{grid-template-columns:1fr;} }
.act-card{
  background:var(--paper); padding:38px 30px; min-height:220px; position:relative;
  transition:background .3s ease;
}
.act-card:hover{background:var(--paper-2);}
.act-num{
  font-family:'Space Mono',monospace; font-size:13px; color:var(--signal); letter-spacing:.1em;
}
.act-card h3{
  margin-top:20px; font-size:18px; font-weight:600; line-height:1.6; max-width:16ch;
}
.act-card p{font-size:13px; color:var(--moss); margin:12px 0 0; line-height:1.8;}

/* ---------- FIELD LOG (timeline) ---------- */
.log{background:var(--paper-2);}
.log-head{max-width:60ch; margin-bottom:64px;}
.log-head h2{font-size:clamp(24px,3vw,34px); font-weight:600;}
.log-head p{margin-top:18px; font-size:14.5px; color:var(--moss);}
.log-list{border-top:1px solid var(--line);}
.log-item{
  display:grid; grid-template-columns:120px 1px 1fr 340px; gap:0 24px;
  padding:34px 0; border-bottom:1px solid var(--line); align-items:start;
}
.log-item .rule{background:var(--line); width:1px; height:100%; justify-self:center;}
@media (max-width:860px){
  .log-item{grid-template-columns:90px 1px 1fr; }
  .log-item .thumb-group{grid-column:1 / -1; margin-top:18px;}
}
.log-date{font-family:'Space Mono',monospace; font-size:13px; color:var(--bark); padding-top:3px;}
.log-body h3{font-size:17px; font-weight:600;}
.log-body p{font-size:13.5px; color:var(--moss); margin:8px 0 0; max-width:52ch;}
.log-tag{
  display:inline-block; margin-top:12px; font-family:'Space Mono',monospace; font-size:10.5px;
  letter-spacing:.06em; color:#fff; background:var(--moss); padding:4px 10px; border-radius:2px;
}
.thumb-group{display:flex; gap:8px;}
.thumb-group .thumb{flex:1; min-width:0;}
.thumb{width:200px; height:170px; overflow:hidden; border-radius:2px;}
.thumb img{width:100%; height:100%; object-fit:cover;}
@media (max-width:860px){ .thumb{width:100%; height:260px;} }

/* ---------- GALLERY BLOCK (workshop / nationwide) ---------- */
.block{background:var(--paper);}
.block.alt{background:var(--paper-2);}
.block-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;}
@media (max-width:900px){ .block-grid{grid-template-columns:1fr; gap:40px;} }
.block-grid.reverse .text-col{order:2;}
.block-grid.reverse .gal-col{order:1;}
@media (max-width:900px){ .block-grid.reverse .text-col{order:1;} .block-grid.reverse .gal-col{order:2;} }
.text-col h2{font-size:clamp(22px,2.8vw,30px); font-weight:600; line-height:1.6; max-width:16ch;}
.text-col p{font-size:14.5px; color:var(--moss); margin-top:20px; max-width:42ch;}
.place-list{margin-top:26px; display:grid; gap:10px;}
.place-list li{list-style:none; font-size:13.5px; display:flex; gap:14px; color:var(--ink);}
.place-list .pd{font-family:'Space Mono',monospace; font-size:11.5px; color:var(--bark); min-width:9ch;}
.workshop-announce{
  margin-top:20px; padding:14px 16px; border:1px solid var(--signal); border-radius:4px;
  font-size:13.5px; color:var(--ink); background:var(--paper-2); line-height:1.9;
}
.workshop-announce .badge{
  display:inline-block; background:var(--signal); color:#fff; font-size:11px;
  font-family:'Space Mono',monospace; letter-spacing:.05em; padding:3px 9px;
  border-radius:2px; margin-right:8px; vertical-align:2px;
}
.gal-col{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.gal-col img{width:100%; height:210px; object-fit:cover; border-radius:2px;}
.gal-col .tall{grid-row:span 2; height:100%;}
@media (max-width:560px){ .gal-col{grid-template-columns:1fr;} .gal-col .tall{height:210px;} }

/* ---------- CONTACT / FOOTER ---------- */
.contact{background:var(--forest); color:#F5EBE7;}
.contact-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:70px;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr; gap:50px;} }
.contact h2{color:#fff; font-size:clamp(24px,3vw,34px); font-weight:600; max-width:14ch;}
.contact p.lead{margin-top:20px; color:#DDC3B9; font-size:14.5px; max-width:44ch; font-weight:300;}
.contact-info{display:grid; gap:22px;}
.ci-row{border-top:1px solid var(--line-light); padding-top:16px;}
.ci-label{font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.14em; color:#BE9086; text-transform:uppercase;}
.ci-val{margin-top:8px; font-size:15px; color:#F8F0EE;}
.ci-val a{text-decoration:none; border-bottom:1px solid rgba(241,242,232,.35);}
.ci-val a:hover{border-color:var(--signal);}

.site-footer{
  border-top:1px solid var(--line-light); background:var(--forest);
  padding:26px 0 40px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
  font-size:11.5px; color:#B18379; font-family:'Space Mono',monospace;
}

.btn{
  display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.05em;
  color:var(--ink); text-decoration:none; padding:13px 22px; border:1px solid var(--ink);
  border-radius:2px; transition:background .25s, color .25s, border-color .25s;
}
.btn:hover{background:var(--ink); color:var(--paper);}
.btn.light{color:#fff;border-color:rgba(255,255,255,.5);}
.btn.light:hover{background:#fff;color:var(--forest);}

/* ---------- BLOG / DEFAULT PAGES (index.php, page.php) ---------- */
.simple-page{padding:170px 0 120px;}
.simple-page h1{font-size:clamp(26px,4vw,40px); font-weight:600; margin-bottom:30px;}
.post-list article{border-top:1px solid var(--line); padding:34px 0;}
.post-list h2{font-size:19px; font-weight:600;}
.post-list .entry-meta{font-family:'Space Mono',monospace; font-size:11.5px; color:var(--bark); margin-bottom:10px;}
.post-list .entry-summary{font-size:14px; color:var(--moss); margin-top:10px;}
