/*
Theme Name: AMIRU
Theme URI: https://www.atorie-ys.com/
Author: 株式会社アミール
Description: 株式会社アミール コーポレートサイト用オリジナルテーマ。飲食店運営・プロデュース・メニュー開発・イベント・地方創生。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amiru
Tags: business, corporate, japanese
*/

/* =========================================================
   0. 変数
   ========================================================= */
:root{
  --ink:#171512;
  --paper:#f5efe4;
  --paper-dim:#ece5d5;
  --indigo:#2a251f;
  --indigo-deep:#171512;
  --indigo-light:#4a4238;
  --gold:#b08d3e;
  --vermillion:#9c2b25;
  --line: rgba(23,21,18,0.14);
  --mincho:'Shippori Mincho', serif;
  --gothic:'Zen Kaku Gothic New', sans-serif;
}

/* =========================================================
   1. リセット（管理バーには影響させない）
   ========================================================= */
*, *::before, *::after{ box-sizing:border-box; }
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, figure, figcaption,
blockquote, dl, dd, table, th, td, form, fieldset{ margin:0; padding:0; }
#wpadminbar, #wpadminbar *{ box-sizing:content-box; }

html{ scroll-behavior:smooth; }
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--gothic);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.mincho{ font-family:var(--mincho); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }
ul, ol{ list-style:none; }

.wrap{ max-width:1120px; margin:0 auto; padding:0 28px; }
@media(max-width:600px){ .wrap{ padding:0 20px; } }

.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
::selection{ background:var(--gold); color:var(--indigo-deep); }
a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* =========================================================
   2. ヘッダー
   ========================================================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(244,239,228,0.88);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.admin-bar .site-header{ top:32px; }
@media screen and (max-width:782px){ .admin-bar .site-header{ top:46px; } }

.nav-inner{
  max-width:1120px; margin:0 auto; padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{
  font-family:var(--mincho); font-weight:700; font-size:22px;
  letter-spacing:0.06em; color:var(--indigo-deep);
  display:flex; align-items:center; gap:12px;
}
.brand-mark{ flex-shrink:0; border-radius:8px; }
.brand small{
  font-family:var(--gothic); font-size:11px; font-weight:500;
  color:var(--gold); letter-spacing:0.18em;
}
nav.links ul{ display:flex; gap:34px; font-size:14px; font-weight:500; }
nav.links a{ position:relative; padding:4px 0; display:inline-block; }
nav.links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--gold); transition:width .3s ease;
}
nav.links a:hover::after,
nav.links li.current-menu-item > a::after{ width:100%; }

.nav-cta{
  background:var(--indigo-deep); color:var(--paper); padding:10px 22px;
  font-size:13px; font-weight:700; letter-spacing:0.08em; border-radius:2px;
  white-space:nowrap;
}
.nav-cta:hover{ background:var(--vermillion); color:var(--paper); }

/* ハンバーガー */
.nav-toggle{
  display:none; background:none; border:0; cursor:pointer;
  width:40px; height:34px; padding:6px; margin-left:4px;
}
.nav-toggle span{
  display:block; height:1.5px; background:var(--indigo-deep);
  margin:6px 0; transition:transform .3s ease, opacity .25s ease;
}
.nav-open .nav-toggle span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
.nav-open .nav-toggle span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

@media(max-width:820px){
  .nav-toggle{ display:block; }
  nav.links{
    position:absolute; left:0; right:0; top:100%;
    background:var(--paper); border-bottom:1px solid var(--line);
    max-height:0; overflow:hidden; transition:max-height .35s ease;
  }
  .nav-open nav.links{ max-height:70vh; overflow-y:auto; }
  nav.links ul{ flex-direction:column; gap:0; padding:8px 28px 20px; }
  nav.links li{ border-bottom:1px solid var(--line); }
  nav.links a{ display:block; padding:14px 0; font-size:15px; }
  nav.links a::after{ display:none; }
}
@media(max-width:420px){
  .brand{ font-size:18px; }
  .nav-cta{ padding:9px 14px; font-size:12px; }
}

/* =========================================================
   3. セクション共通
   ========================================================= */
.section{ padding:100px 0; }
.section-label{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.section-label .bar{ width:34px; height:2px; background:var(--vermillion); }
.section-label span{
  font-size:12px; letter-spacing:0.28em; font-weight:700;
  color:var(--vermillion); text-transform:uppercase;
}
.section-title{
  font-size:clamp(26px,3.4vw,38px); font-weight:600;
  color:var(--indigo-deep); max-width:640px;
}
.section-desc{ margin-top:18px; max-width:600px; color:#3c3833; font-size:15px; }

.btn-primary{
  background:var(--gold); color:var(--indigo-deep); font-weight:700; font-size:14px;
  padding:15px 30px; letter-spacing:0.06em; border-radius:2px;
  transition:transform .25s ease, background .25s ease; display:inline-block;
}
.btn-primary:hover{ background:#c8a656; transform:translateY(-2px); }
.btn-outline{
  border:1px solid rgba(244,239,228,0.5); color:var(--paper); font-weight:500; font-size:14px;
  padding:15px 30px; letter-spacing:0.06em; border-radius:2px;
  transition:border-color .25s ease, background .25s ease; display:inline-block;
}
.btn-outline:hover{ background:rgba(244,239,228,0.08); border-color:var(--paper); }

/* =========================================================
   4. ヒーロー
   ========================================================= */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  background:var(--indigo-deep); color:var(--paper);
  overflow:hidden; padding-top:80px;
}
.hero-photo{ position:absolute; inset:0; z-index:0; }
.hero-photo img{
  width:100%; height:100%; object-fit:cover; object-position:60% 30%;
  filter:saturate(0.9);
}
.hero-photo::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(23,21,18,0.96) 0%, rgba(23,21,18,0.86) 32%, rgba(23,21,18,0.55) 58%, rgba(156,43,37,0.28) 100%),
    linear-gradient(0deg, rgba(23,21,18,0.65) 0%, rgba(23,21,18,0.05) 40%);
}
.hero-inner{ position:relative; z-index:2; padding:60px 0 90px; }
.eyebrow-v{
  writing-mode:vertical-rl; font-size:13px; letter-spacing:0.3em;
  color:var(--gold); font-weight:500; position:absolute; right:28px; top:120px; display:none;
}
@media(min-width:900px){ .eyebrow-v{ display:block; } }
.hero h1{
  font-size:clamp(38px,6vw,68px); font-weight:700; line-height:1.35;
  letter-spacing:0.03em; max-width:820px;
}
.hero h1 em{ font-style:normal; color:var(--gold); }
.hero p.lead{
  margin-top:26px; font-size:16px; max-width:520px;
  color:rgba(244,239,228,0.82); font-weight:400;
}
.hero-actions{ margin-top:40px; display:flex; gap:16px; flex-wrap:wrap; }
.hero-tags{ margin-top:56px; display:flex; gap:10px; flex-wrap:wrap; }
.hero-tags span{
  font-size:12px; border:1px solid rgba(244,239,228,0.28); color:rgba(244,239,228,0.75);
  padding:7px 14px; border-radius:999px; letter-spacing:0.04em;
}

/* =========================================================
   5. 会社概要
   ========================================================= */
.about{ background:var(--paper); }
.about-grid{ margin-top:56px; display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:start; }
@media(max-width:860px){ .about-grid{ grid-template-columns:1fr; } }
.about-copy p{ margin-bottom:18px; color:#3c3833; font-size:15px; }
table.company-info{ width:100%; border-collapse:collapse; font-size:14px; }
table.company-info th, table.company-info td{
  text-align:left; padding:16px 0; border-bottom:1px solid var(--line); vertical-align:top;
}
table.company-info th{
  width:120px; color:var(--indigo); font-weight:700;
  font-family:var(--mincho); letter-spacing:0.04em;
}
table.company-info td{ color:#3c3833; }

/* =========================================================
   6. 代表者紹介
   ========================================================= */
.founder{ background:var(--indigo-deep); color:var(--paper); }
.founder .section-title{ color:var(--paper); }
.founder .section-desc{ color:rgba(245,239,228,0.75); }
.founder-grid{ margin-top:56px; display:grid; grid-template-columns:340px 1fr; gap:56px; align-items:start; }
@media(max-width:860px){ .founder-grid{ grid-template-columns:1fr; } }
.founder-photo{ border-radius:4px; overflow:hidden; border:1px solid rgba(245,239,228,0.15); }
.founder-name{ margin-top:22px; }
.founder-name .jp{ font-family:var(--mincho); font-size:22px; font-weight:600; }
.founder-name .role{ margin-top:6px; font-size:13px; color:var(--gold); letter-spacing:0.04em; }
.founder-titles{ margin-top:16px; display:flex; flex-direction:column; gap:6px; }
.founder-titles span{ font-size:12.5px; color:rgba(245,239,228,0.7); padding-left:14px; position:relative; }
.founder-titles span::before{ content:"—"; position:absolute; left:0; color:var(--vermillion); }
.founder-copy p{ margin-bottom:16px; font-size:14.5px; color:rgba(245,239,228,0.82); }
.founder-stats{
  margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(245,239,228,0.14);
  border-top:1px solid rgba(245,239,228,0.14); border-bottom:1px solid rgba(245,239,228,0.14);
}
.founder-stats > div{ background:var(--indigo-deep); padding:20px 18px; }
.founder-stats .num{ font-family:var(--mincho); font-size:28px; color:var(--gold); font-weight:600; }
.founder-stats .label{ font-size:12px; color:rgba(245,239,228,0.65); margin-top:4px; }
.timeline{ margin-top:34px; display:flex; flex-direction:column; }
.timeline-item{
  display:grid; grid-template-columns:90px 1fr; gap:20px; padding:14px 0;
  border-top:1px solid rgba(245,239,228,0.12); font-size:13.5px;
}
.timeline-item .yr{ color:var(--gold); font-weight:700; font-family:var(--mincho); }
.timeline-item p{ color:rgba(245,239,228,0.78); }
.media-list{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; }
.media-list span{
  font-size:11.5px; border:1px solid rgba(245,239,228,0.25);
  color:rgba(245,239,228,0.7); padding:6px 12px; border-radius:999px;
}

/* =========================================================
   7. 事業内容
   ========================================================= */
.services{ background:var(--indigo-deep); color:var(--paper); }
.services .section-title{ color:var(--paper); }
.services .section-desc{ color:rgba(244,239,228,0.75); }
.service-grid{
  margin-top:56px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(244,239,228,0.14);
}
@media(max-width:900px){ .service-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .service-grid{ grid-template-columns:1fr; } }
.service-card{ background:var(--indigo-deep); padding:38px 30px; transition:background .3s ease; }
.service-card:hover{ background:var(--indigo); }
.service-icon{ width:40px; height:40px; margin-bottom:22px; color:var(--gold); }
.service-card h3{ font-size:18px; font-weight:600; margin-bottom:12px; letter-spacing:0.02em; }
.service-card p{ font-size:13.5px; color:rgba(244,239,228,0.7); }

/* =========================================================
   8. 実績（トップページの抜粋）
   ========================================================= */
.works{ background:var(--paper); }
.works-grid{ margin-top:56px; display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); }
@media(max-width:900px){ .works-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .works-grid{ grid-template-columns:1fr; } }
.work-card{ background:var(--paper); padding:34px 30px; }
.work-tag{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.1em;
  color:var(--indigo); border:1px solid var(--indigo);
  padding:4px 10px; border-radius:999px; margin-bottom:16px;
}
.work-tag.t-produce{ color:#9c2b25; border-color:#9c2b25; }
.work-tag.t-region{ color:#3f7a4f; border-color:#3f7a4f; }
.work-tag.t-health{ color:#b0672e; border-color:#b0672e; }
.work-tag.t-culture{ color:#2f5c8a; border-color:#2f5c8a; }
.work-tag.t-product{ color:#6a4a94; border-color:#6a4a94; }
.work-card h3{ font-size:19px; font-weight:600; color:var(--indigo-deep); margin-bottom:10px; }
.work-card p{ font-size:14px; color:#3c3833; }
.work-note{
  margin-top:40px; padding:22px 26px; border-left:3px solid var(--vermillion);
  background:var(--paper-dim); font-size:13.5px; color:#4a453e;
}
.work-note a{ color:var(--vermillion); text-decoration:underline; font-weight:700; }

/* =========================================================
   9. 選ばれる理由 / ご相談の流れ
   ========================================================= */
.why{ background:var(--paper-dim); }
.why-grid{ margin-top:56px; display:grid; grid-template-columns:repeat(4,1fr); gap:34px; }
@media(max-width:900px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .why-grid{ grid-template-columns:1fr; } }
.why-item .kanji{ font-family:var(--mincho); font-size:30px; color:var(--gold); font-weight:700; margin-bottom:14px; }
.why-item h3{ font-size:16px; font-weight:700; color:var(--indigo-deep); margin-bottom:10px; }
.why-item p{ font-size:13.5px; color:#4a453e; }

.flow{ background:var(--paper); }
.flow-list{ margin-top:56px; display:flex; flex-direction:column; }
.flow-item{ display:grid; grid-template-columns:90px 1fr; gap:26px; padding:28px 0; border-top:1px solid var(--line); }
.flow-item:last-child{ border-bottom:1px solid var(--line); }
.flow-num{ font-family:var(--mincho); font-size:34px; color:var(--gold); font-weight:600; }
.flow-item h3{ font-size:16px; font-weight:700; color:var(--indigo-deep); margin-bottom:6px; }
.flow-item p{ font-size:13.5px; color:#4a453e; max-width:560px; }

/* =========================================================
   10. お問い合わせ（トップページ内）
   ========================================================= */
.contact{ background:var(--indigo-deep); color:var(--paper); }
.contact .section-title{ color:var(--paper); }
.contact .section-desc{ color:rgba(244,239,228,0.75); }
.contact .section-desc a{ color:var(--gold); text-decoration:underline; }
.contact-grid{ margin-top:50px; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
@media(max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-info p{ color:rgba(244,239,228,0.8); font-size:14px; margin-bottom:10px; }
.contact-info .big{ font-size:22px; font-weight:700; font-family:var(--mincho); color:var(--gold); margin:18px 0 6px; }
.contact-info a{ color:var(--gold); text-decoration:underline; }
.contact-cta-box{
  border:1px solid rgba(245,239,228,0.24); border-radius:4px; padding:34px 30px;
  display:flex; flex-direction:column; justify-content:center; gap:18px;
}
.contact-cta-box h3{ font-family:var(--mincho); font-size:19px; }
.contact-cta-box p{ font-size:13.5px; color:rgba(244,239,228,0.72); }

/* =========================================================
   11. 下層ページ共通ヘッダー
   ========================================================= */
.page-header{ background:var(--indigo-deep); color:var(--paper); padding:160px 0 70px; }
.page-header h1{ font-size:clamp(30px,4vw,44px); font-weight:600; }
.page-header p{ margin-top:16px; color:rgba(245,239,228,0.75); font-size:14.5px; max-width:640px; }

/* =========================================================
   12. お問い合わせページ
   ========================================================= */
.cpage{ background:var(--paper); padding:80px 0 100px; }
.cpage-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:60px; align-items:start; }
@media(max-width:900px){ .cpage-grid{ grid-template-columns:1fr; } }

.info-card{ background:var(--paper-dim); border-radius:4px; padding:32px 28px; margin-bottom:20px; }
.info-card h3{ font-family:var(--mincho); font-size:17px; color:var(--indigo-deep); margin-bottom:10px; }
.info-card p{ font-size:13.5px; color:#4a453e; line-height:1.75; }
.info-card .big-line{ font-family:var(--mincho); font-size:20px; color:var(--vermillion); font-weight:700; margin-top:6px; }
.category-list{ display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.category-list div{ font-size:13px; color:#3c3833; padding-left:16px; position:relative; }
.category-list div::before{ content:"—"; position:absolute; left:0; color:var(--vermillion); }

.cform{ background:var(--indigo-deep); color:var(--paper); border-radius:4px; padding:40px 34px; }
.cform h3{ font-family:var(--mincho); font-size:19px; margin-bottom:24px; }
.cform p{ font-size:14px; }
.cform .form-row{ margin-bottom:20px; }
.cform .form-row > label{
  display:block; font-size:12px; letter-spacing:0.06em; margin-bottom:8px;
  color:rgba(245,239,228,0.72);
}
.cform .req{ color:var(--gold); margin-left:4px; font-size:11px; }
.cform input[type="text"], .cform input[type="email"], .cform input[type="tel"],
.cform input[type="url"], .cform input[type="date"], .cform input[type="number"],
.cform select, .cform textarea{
  width:100%; background:rgba(245,239,228,0.07); border:1px solid rgba(245,239,228,0.24);
  color:var(--paper); padding:13px 14px; font-size:14px; font-family:inherit; border-radius:2px;
}
.cform select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23b08d3e'%3E%3Cpath d='M5.5 7.5l4.5 5 4.5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:16px;
}
.cform select option{ color:#171512; }
.cform textarea{ min-height:130px; resize:vertical; }
.cform input:focus, .cform select:focus, .cform textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; }
.cform ::placeholder{ color:rgba(245,239,228,0.4); }
.row-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:520px){ .row-2{ grid-template-columns:1fr; } }
.consent{ display:flex; align-items:flex-start; gap:10px; font-size:12.5px; color:rgba(245,239,228,0.7); margin-bottom:22px; }
.consent input{ width:auto; margin-top:3px; }
.submit-btn, .cform input[type="submit"], .cform button[type="submit"]{
  background:var(--gold); color:var(--indigo-deep); font-weight:700; font-size:14px;
  letter-spacing:0.06em; padding:15px 30px; border:none; border-radius:2px;
  cursor:pointer; transition:background .25s ease; font-family:inherit; width:auto;
}
.submit-btn:hover, .cform input[type="submit"]:hover{ background:#c8a656; }

/* Contact Form 7 の見た目調整 */
.cform .wpcf7-form-control-wrap{ display:block; }
.cform .wpcf7-not-valid-tip{ color:#ffb4ae; font-size:12px; margin-top:6px; }
.cform .wpcf7-response-output{
  border:1px solid rgba(245,239,228,0.35) !important; color:var(--paper);
  font-size:13px; padding:14px 16px !important; margin:20px 0 0 !important; border-radius:2px;
}
.cform .wpcf7-spinner{ filter:invert(1); }
.cform .wpcf7 form.invalid .wpcf7-response-output{ border-color:#ffb4ae !important; }

/* =========================================================
   13. 実績ギャラリー（実績一覧ページ）
   ========================================================= */
.wk-page{ background:var(--paper); padding:60px 0 100px; }
.wk-filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px; }
.wk-filter{
  font-family:var(--gothic); font-weight:400; font-size:13px; letter-spacing:0.06em;
  color:#4a453e; background:transparent; cursor:pointer;
  border:1px solid var(--line); border-radius:999px; padding:9px 20px; transition:.25s;
}
.wk-filter:hover{ border-color:var(--gold); color:var(--indigo-deep); }
.wk-filter.is-on{ background:var(--indigo-deep); border-color:var(--indigo-deep); color:var(--paper); }

.wk-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px 26px; }
@media(max-width:900px){ .wk-grid{ grid-template-columns:repeat(2,1fr); gap:28px 18px; } }
@media(max-width:560px){ .wk-grid{ grid-template-columns:1fr; } }

.wk-card{ opacity:0; transform:translateY(18px); animation:wkRise .7s ease forwards; }
@keyframes wkRise{ to{ opacity:1; transform:none; } }
.wk-card.is-hidden{ display:none; }
.wk-thumb{
  position:relative; overflow:hidden; background:var(--paper-dim);
  aspect-ratio:4/3; cursor:zoom-in;
}
.wk-card.is-tall .wk-thumb{ aspect-ratio:3/4; }
.wk-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.wk-thumb::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(23,21,18,.24), transparent 45%);
  opacity:0; transition:.4s;
}
.wk-card:hover .wk-thumb img{ transform:scale(1.05); }
.wk-card:hover .wk-thumb::after{ opacity:1; }
.wk-body{ padding:16px 2px 0; }
.wk-tag{
  display:inline-block; font-size:11px; letter-spacing:0.12em; color:var(--gold);
  border:1px solid rgba(176,141,62,.42); padding:3px 10px; margin-bottom:11px;
}
.wk-body h3{ font-family:var(--mincho); font-weight:600; font-size:17px; letter-spacing:0.04em; line-height:1.6; }
.wk-body p{ margin-top:8px; font-size:13px; color:#4a453e; line-height:1.85; }
.wk-empty{ padding:60px 0; font-size:14px; color:#4a453e; }

/* ライトボックス */
.wk-lb{
  position:fixed; inset:0; z-index:200; display:none;
  background:rgba(18,16,14,.94); align-items:center; justify-content:center; padding:38px 20px;
}
.wk-lb.is-open{ display:flex; }
.wk-lb figure{ max-width:1000px; width:100%; text-align:center; }
.wk-lb img{ width:auto; max-width:100%; max-height:74vh; margin:0 auto; object-fit:contain; }
.wk-lb .cap{ color:var(--paper); margin-top:20px; }
.wk-lb .cap h3{ font-family:var(--mincho); font-weight:400; font-size:17px; letter-spacing:0.06em; }
.wk-lb .cap p{ font-size:13px; opacity:.62; margin-top:7px; }
.wk-lb button{
  position:absolute; background:none; border:0; color:var(--paper);
  cursor:pointer; font-size:30px; line-height:1; opacity:.6; transition:.25s; padding:14px;
}
.wk-lb button:hover{ opacity:1; }
.wk-lb .lb-close{ top:14px; right:16px; }
.wk-lb .lb-prev{ left:8px; top:50%; transform:translateY(-50%); }
.wk-lb .lb-next{ right:8px; top:50%; transform:translateY(-50%); }

/* =========================================================
   14. 汎用ページ・投稿（固定ページテンプレート）
   ========================================================= */
.entry{ background:var(--paper); padding:70px 0 100px; }
.entry-content{ max-width:760px; font-size:15px; color:#3c3833; }
.entry-content > * + *{ margin-top:1.2em; }
.entry-content h2{ font-size:24px; font-weight:600; color:var(--indigo-deep); margin-top:2em; }
.entry-content h3{ font-size:19px; font-weight:600; color:var(--indigo-deep); margin-top:1.8em; }
.entry-content ul, .entry-content ol{ padding-left:1.4em; }
.entry-content ul li{ list-style:disc; }
.entry-content ol li{ list-style:decimal; }
.entry-content a{ color:var(--vermillion); text-decoration:underline; }
.entry-content img{ border-radius:2px; }
.entry-content blockquote{
  border-left:3px solid var(--gold); padding-left:18px; color:#4a453e;
}
.alignleft{ float:left; margin:0 1.5em 1em 0; }
.alignright{ float:right; margin:0 0 1em 1.5em; }
.aligncenter{ margin-left:auto; margin-right:auto; }
.wp-caption-text{ font-size:12px; color:#6a655d; margin-top:6px; }

.pager{ margin-top:50px; display:flex; gap:10px; flex-wrap:wrap; font-size:14px; }
.pager .page-numbers{
  border:1px solid var(--line); padding:8px 14px; border-radius:2px;
}
.pager .page-numbers.current{ background:var(--indigo-deep); color:var(--paper); border-color:var(--indigo-deep); }

/* =========================================================
   15. フッター
   ========================================================= */
.site-footer{
  background:var(--indigo-deep); color:rgba(244,239,228,0.5); font-size:12.5px;
  padding:28px 0; border-top:1px solid rgba(244,239,228,0.12);
}
.site-footer .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.site-footer .fnote{ display:flex; align-items:center; gap:10px; }
