/*
Theme Name: Emiko Furuya 2026
Theme URI: https://emikofuruya.com/
Author: Emiko Furuya
Description: 古屋江美子（取材・執筆）のサイト用テーマ。トップページ、執筆実績（管理画面から追加・並べ替え）、固定ページに対応。
Version: 1.6.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: emikofuruya-2026
*/
:root{
    --paper:#fbfcfc; --ink:#191a1b; --text:#2f3133; --mute:#707376; --rule:#191a1b; --hair:rgba(25,26,27,.22); --tint:#eef1f2;
    --min:"Zen Old Mincho","A1明朝","Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Noto Serif CJK JP",serif;
    --got:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic","Noto Sans JP","Noto Sans CJK JP",sans-serif;
    --lat:"Cormorant Garamond","Times New Roman",serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{margin:0;background:var(--paper);color:var(--text);font-family:var(--min);font-size:15px;line-height:2.05;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
  h1,h2,h3,h4,p,ul,ol{margin:0}
  ul,ol{padding:0;list-style:none}
  img{display:block;width:100%;height:100%;object-fit:cover}
  .lb{font-family:var(--got);font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--ink);line-height:1.8}
  .num{font-family:var(--lat);font-style:italic;font-weight:300;font-size:44px;line-height:1;color:var(--ink)}
  .ul{border-bottom:1px solid var(--ink);padding-bottom:2px}
  .ul:hover{border-bottom-width:2px}

  /* hero */
  .hero{display:grid;grid-template-columns:56% 1fr;height:74vh;min-height:520px;max-height:760px;border-bottom:1px solid var(--rule)}
  .hero .photo{position:relative;overflow:hidden;background:var(--tint)}
  .hero .photo .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
  .hero .photo .slide.on{opacity:1}
  .go{display:inline-block;margin-top:24px;font-family:var(--got);font-size:11.5px;font-weight:500;letter-spacing:.14em}
  .hero .side{position:relative;padding:34px 44px 44px 48px;display:flex;flex-direction:column;justify-content:space-between}
  .brand{font-family:var(--lat);font-size:19px;letter-spacing:.08em;color:var(--ink)}
  .brand small{font-family:var(--got);font-size:10.5px;letter-spacing:.14em;margin-left:10px;color:var(--mute)}
  .nav{display:flex;flex-wrap:wrap;gap:6px 20px;max-width:230px;margin-top:14px}
  .nav a{font-family:var(--got);font-size:11.5px;font-weight:500;letter-spacing:.12em}
  .nav a:hover{text-decoration:underline;text-underline-offset:.35em}
  .vert{position:absolute;top:44px;right:52px;writing-mode:vertical-rl;font-weight:400}
  .vert .nm{display:block;font-weight:300;font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(32px,3.2vw,44px);line-height:1.5;letter-spacing:.28em;color:var(--ink);text-orientation:upright}
  .vert .role{display:block;font-weight:400;font-family:var(--got);font-size:13px;letter-spacing:.2em;color:var(--ink);margin-right:14px;padding-top:6px;text-orientation:mixed}
  .lead-wrap{padding-right:120px;max-width:24em}
  .lead{font-size:14.5px;line-height:2.1;color:var(--text);text-wrap:pretty}
  .lead b{display:block;font-weight:400;font-size:16px;color:var(--ink);margin-bottom:10px;line-height:1.9}
  .take{margin-top:26px;border-top:1px solid var(--rule)}
  .take .lb{display:block;padding:12px 0 4px;color:var(--mute);font-weight:400}
  .take a{display:flex;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ink)}
  .take a em{font-family:var(--lat);font-style:italic;font-size:17px;width:22px}
  .take a:hover{background:var(--tint)}
  .take p{margin-top:10px;font-family:var(--got);font-size:11px;letter-spacing:.06em;color:var(--mute)}

  /* section header */
  .sh{display:flex;align-items:center;gap:22px;padding:72px 120px 44px}
  .sh .line{flex:1;border-top:1px solid var(--rule)}
  .sh h2{font-family:var(--min);font-weight:400;font-size:22px;letter-spacing:.2em;color:var(--ink)}
  .sh .aside{font-family:var(--got);font-size:11px;letter-spacing:.14em;color:var(--mute)}

  /* works */
  .filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 120px 28px}
  .filters button{font-family:var(--got);font-size:12px;letter-spacing:.1em;padding:7px 16px;border:1px solid var(--hair);background:transparent;color:var(--ink);cursor:pointer;border-radius:0}
  .filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:0}
  .card{display:flex;flex-direction:column;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .card[hidden]{display:none}
  .card .im{aspect-ratio:16/10;overflow:hidden;background:var(--tint)}
  .card .im.ph{display:flex;flex-direction:column;justify-content:center;padding:0 18px;gap:4px}
  .card .im.ph b{font-family:var(--min);font-weight:400;font-size:20px;color:var(--ink);letter-spacing:.06em}
  .card .im.ph span{font-family:var(--got);font-size:10.5px;letter-spacing:.16em;color:var(--mute)}
  .card .tx{padding:16px 14px 24px}
  .card .meta{display:flex;justify-content:space-between;margin-bottom:8px}
  .card h3{font-family:var(--min);font-weight:400;font-size:15px;line-height:1.75;color:var(--ink);letter-spacing:.01em;text-wrap:pretty}
  .card .src{display:block;margin-top:10px;color:var(--mute);font-weight:400;letter-spacing:.08em}
  .card:hover h3{text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
  .works-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 120px 84px}
  .works-foot span{font-family:var(--got);font-size:11px;letter-spacing:.08em;color:var(--mute)}
  .works-foot a{font-family:var(--got);font-size:11px;letter-spacing:.14em;font-weight:500}

  .band{height:56vh;min-height:320px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}

  /* services */
  .svc-intro{padding:0 120px 40px;font-size:14.5px}
  .svc-also{padding:0 120px 48px;font-size:14px;max-width:62em}
  .svc-lead{padding:0 120px 48px}
  .svc-lead h3{font-family:var(--min);font-weight:400;font-size:26px;letter-spacing:.1em;color:var(--ink);line-height:1.6}
  .svc-lead p{margin-top:8px;font-size:14.5px}
  .svc{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:0 120px 60px}
  .svc .top{display:flex;align-items:baseline;gap:14px;border-top:1px solid var(--rule);padding-top:16px;margin-bottom:14px}
  .svc .top em{font-family:var(--lat);font-style:italic;font-size:22px;color:var(--ink)}
  .svc .top .lb{color:var(--mute);font-weight:400}
  .svc h4{font-family:var(--min);font-weight:400;font-size:22px;letter-spacing:.08em;color:var(--ink);margin-bottom:14px}
  .svc p{font-size:14px;line-height:2.05;text-wrap:pretty}
  .svc .tags{margin-top:16px;font-family:var(--got);font-size:12px;letter-spacing:.04em;color:var(--mute);line-height:2}
  .range{margin:0 120px 96px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .range .lb{display:block;padding:14px 0 6px;color:var(--mute);font-weight:400}
  .range ol{display:grid;grid-template-columns:repeat(4,1fr)}
  .range li{padding:12px 0 18px;border-right:1px solid var(--hair);padding-left:18px;font-size:16px;color:var(--ink);letter-spacing:.06em}
  .range li:first-child{padding-left:0}
  .range li:last-child{border-right:0}
  .range li em{display:block;font-family:var(--lat);font-style:italic;font-size:15px;color:var(--mute)}
  .range p{padding:0 0 16px;font-size:13.5px;color:var(--text)}

  /* profile */
  .prof{display:grid;grid-template-columns:300px 1fr;gap:64px;padding:0 120px 100px}
  .prof .im{aspect-ratio:1/1;overflow:hidden;margin-bottom:22px;width:220px}
  .prof .nm{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:300;font-size:24px;letter-spacing:.2em;color:var(--ink);line-height:1.4}
  .prof .nm small{display:block;font-family:var(--got);font-size:11px;letter-spacing:.16em;color:var(--mute);margin-top:6px}
  .prof .en{font-family:var(--lat);font-weight:300;font-size:28px;line-height:1;color:var(--ink);margin-top:14px}
  .prof .sns{margin-top:24px;display:flex;gap:18px}
  .prof .sns a{font-family:var(--got);font-size:11px;letter-spacing:.14em;font-weight:500}
  .prof .bio>p{font-size:15px;line-height:2.15;margin-bottom:20px;text-wrap:pretty}
  .prof .qual{font-family:var(--got);font-size:12px !important;letter-spacing:.06em;color:var(--mute);line-height:2}
  .rec{margin-top:30px;border-top:1px solid var(--rule)}
  .rec>.lb{display:block;padding:14px 0 2px}
  .rec>.sub{font-family:var(--got);font-size:11px;letter-spacing:.06em;color:var(--mute)}
  .rec dl{margin:10px 0 0}
  .rec dt{font-family:var(--got);font-size:11.5px;font-weight:500;letter-spacing:.12em;color:var(--ink);padding-top:14px}
  .rec dd{margin:4px 0 0;font-size:13px;line-height:1.95;padding-bottom:14px;border-bottom:1px solid var(--hair);text-wrap:pretty}
  .rec a.q{border-bottom:1px solid var(--hair)}
  .rec a.q:hover{border-bottom-color:var(--ink)}
  .prof .go{display:inline-block;margin-top:22px;font-family:var(--got);font-size:11px;letter-spacing:.14em;font-weight:500}

  /* contact */
  .con{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:0 120px 110px;align-items:end}
  .con h3{font-family:var(--min);font-weight:400;font-size:30px;letter-spacing:.12em;color:var(--ink);line-height:1.6}
  .con p{font-size:14.5px;line-height:2.15;text-wrap:pretty}
  .con .btn{display:inline-block;margin-top:22px;font-family:var(--got);font-size:12px;letter-spacing:.16em;font-weight:500;border:1px solid var(--ink);padding:15px 30px}
  .con .btn:hover{background:var(--ink);color:var(--paper)}

  footer{border-top:1px solid var(--rule);padding:28px 120px 40px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
  footer span,footer a{font-family:var(--got);font-size:11px;letter-spacing:.14em;color:var(--ink)}

  @media (max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}}
  @media (max-width:960px){
    .hero{grid-template-columns:1fr;min-height:0}
    .hero{height:auto;max-height:none;min-height:0}
    .hero .photo{aspect-ratio:4/3}
    .hero .side{padding:26px 22px 32px;gap:26px}
    .nav{max-width:none}
    .vert{position:static;writing-mode:horizontal-tb}
    .vert .nm{font-size:34px;letter-spacing:.14em;line-height:1.4}
    .vert .role{margin:6px 0 0;padding:0;font-size:12.5px;letter-spacing:.1em;line-height:1.8}
    .lead-wrap{padding-right:0;max-width:none}
    .sh{padding:56px 22px 30px}
    .num{font-size:34px}
    .filters{padding:0 22px 22px}
    .grid{grid-template-columns:1fr 1fr}
    .works-foot{padding:20px 22px 60px}
    .band{height:40vh}
    .svc-intro,.svc-also{padding-left:22px;padding-right:22px}
    .svc{grid-template-columns:1fr;gap:36px;padding:0 22px 44px}
    .range{margin:0 22px 64px}
    .range ol{grid-template-columns:1fr 1fr}
    .range li{padding-left:0;border-right:0;border-bottom:1px solid var(--hair)}
    .prof .im{width:160px}
    .prof,.con{grid-template-columns:1fr;gap:36px;padding:0 22px 64px}
    footer{padding:24px 22px 32px}
  }

/* ---- 固定ページ（プロフィール詳細・お問い合わせなど） ---- */
.site-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:26px 120px;border-bottom:1px solid var(--rule)}
.site-head .brand{font-family:var(--lat);font-size:19px;letter-spacing:.08em;color:var(--ink)}
.site-head .nav{max-width:none;margin-top:0;gap:6px 22px}
.page-wrap{max-width:760px;margin:0 auto;padding:64px 24px 110px}
.page-wrap h1{font-family:var(--min);font-weight:400;font-size:26px;letter-spacing:.14em;color:var(--ink);margin-bottom:36px}
.page-body{font-size:15px;line-height:2.1}
.page-body h2{font-family:var(--min);font-weight:400;font-size:20px;letter-spacing:.08em;color:var(--ink);margin:48px 0 16px;padding-top:14px;border-top:1px solid var(--rule)}
.page-body h3{font-family:var(--min);font-weight:500;font-size:17px;color:var(--ink);margin:32px 0 10px}
.page-body p{margin:0 0 1.4em}
.page-body ul,.page-body ol{padding-left:1.4em;margin:0 0 1.4em}
.page-body ul{list-style:disc}.page-body ol{list-style:decimal}
.page-body a{border-bottom:1px solid var(--ink)}
.page-body img{height:auto}
.page-body input[type=text],.page-body input[type=email],.page-body input[type=tel],.page-body input[type=url],.page-body textarea,.page-body select{width:100%;padding:10px 12px;border:1px solid var(--hair);background:#fff;font:inherit;font-family:var(--got);font-size:15px}
.page-body input[type=submit],.page-body button[type=submit]{font-family:var(--got);font-size:12px;letter-spacing:.16em;font-weight:500;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:15px 30px;cursor:pointer}
.page-body input[type=submit]:hover,.page-body button[type=submit]:hover{background:var(--ink);color:var(--paper)}
@media (max-width:960px){.site-head{padding:18px 22px}.page-wrap{padding:44px 22px 80px}}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- プロフィールページ ---- */
.pp-head{display:flex;gap:28px;align-items:center;margin-bottom:40px}
.pp-im{width:160px;aspect-ratio:1/1;overflow:hidden;flex:none}
.pp-nm{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:300;font-size:26px;letter-spacing:.2em;color:var(--ink);line-height:1.4}
.pp-nm small{display:block;font-family:var(--got);font-size:11px;letter-spacing:.14em;color:var(--mute);margin-top:6px}
.pp-role{margin-top:12px;font-family:var(--got);font-size:12.5px;letter-spacing:.12em;color:var(--ink)}
.pp-tl,.pp-rec{margin:0}
.pp-tl{display:grid;grid-template-columns:96px 1fr;border-top:1px solid var(--hair)}
.pp-tl dt,.pp-tl dd{margin:0;padding:10px 0;border-bottom:1px solid var(--hair)}
.pp-tl dt{font-family:var(--got);font-size:12px;letter-spacing:.1em;color:var(--ink);padding-top:13px}
.pp-rec dt{font-family:var(--got);font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--ink);padding-top:14px}
.pp-rec dd{margin:4px 0 0;padding-bottom:14px;border-bottom:1px solid var(--hair);font-size:14px}
.pp-note{font-size:13px;color:var(--mute)}
.pp-links{margin-top:36px}
.pp-links a{margin-right:22px;font-family:var(--got);font-size:12px;letter-spacing:.12em}
.page-body .pp-rec a{border-bottom:1px solid var(--hair)}

/* ---- お問い合わせフォーム ---- */
.cf{margin-top:32px}
.cf label{display:block;font-family:var(--got);font-size:12.5px;letter-spacing:.08em;color:var(--ink);margin-bottom:6px}
.cf .req{color:#8a2b1c}
.cf p{margin-bottom:22px}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-privacy{font-size:12.5px;color:var(--mute)}
.cf button{font-family:var(--got);font-size:12px;letter-spacing:.16em;font-weight:500;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:15px 30px;cursor:pointer}
.cf button[type=submit]{background:var(--ink);color:var(--paper)}
.cf button:hover{opacity:.8}
.cf-btns{display:flex;gap:12px;flex-wrap:wrap}
.cf-confirm dl{margin:0 0 28px;border-top:1px solid var(--hair)}
.cf-confirm dt{font-family:var(--got);font-size:12px;letter-spacing:.1em;color:var(--mute);padding-top:12px}
.cf-confirm dd{margin:2px 0 0;padding-bottom:12px;border-bottom:1px solid var(--hair);white-space:pre-wrap}
.cf-msg{border:1px solid var(--ink);padding:16px 20px;margin:28px 0}
.cf-msg p{margin:0}
.cf-err{border-color:#8a2b1c;color:#8a2b1c}
@media (max-width:600px){.pp-head{flex-direction:column;align-items:flex-start}.pp-tl{grid-template-columns:80px 1fr}}

/* 紙面の写真など：切り抜かずに全体表示 */
.card .im.fit{background:var(--tint);padding:10px}
.card .im.fit img{object-fit:contain}
div.card:hover h3{text-decoration:none}

/* すべて見る */
.works-more{display:flex;justify-content:center;padding:40px 22px 0}
.btn-more{display:inline-block;font-family:var(--got);font-size:12px;letter-spacing:.16em;font-weight:500;border:1px solid var(--ink);padding:15px 36px;color:var(--ink)}
.btn-more:hover{background:var(--ink);color:var(--paper)}
/* 執筆実績一覧ページ */
.works-page .sh h1.h2{font-family:var(--min);font-weight:400;font-size:22px;letter-spacing:.2em;color:var(--ink);margin:0}
.works-intro{padding:0 120px 28px;font-size:14px;color:var(--text)}
.works-intro p{margin:0 0 .4em}
@media (max-width:960px){.works-intro{padding:0 22px 22px}}
