:root{
  --bg:#0B0A09; --bg2:#100E0C; --panel:#17140F; --panel2:#1D1913;
  --line:#2A2520; --line2:#4A4138;
  --text:#F1ECE3; --sub:#D3CBBE; --muted:#B3AA9C; --dim:#8F877A;
  --gold:#C9A55C; --gold-l:#E2C483; --gold-d:#6B5630;
  --en:'Bebas Neue',sans-serif; --serif:'Zen Old Mincho',serif;
  --sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;
  --pad:24px; --header-h:68px; --sec:72px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
p,h1,h2,h3,.wrap-pretty{text-wrap:pretty}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--pad)}
.en{font-family:var(--en);letter-spacing:.2em;font-weight:400}
.gold{color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nb{display:inline-block}/* 改行させたくない語のまとまり */

/* buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;background:var(--gold);color:#16120B;font-weight:700;font-size:16px;transition:background .2s}
.btn:hover{background:var(--gold-l)}
.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border:1px solid var(--line2);color:var(--text);font-weight:700;font-size:15px;transition:border-color .2s,color .2s}
.btn-line:hover{border-color:var(--gold);color:var(--gold-l)}
.link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px;font-weight:700;color:var(--gold)}
.link:hover{color:var(--gold-l)}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(11,10,9,.97);border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h)}
.logo{display:flex;align-items:center;gap:12px;flex:none}
.logo-mark{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 1px var(--gold-d)}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-main{font-family:var(--en);font-size:34px;letter-spacing:.14em;color:#fff}
.logo-sub{font-size:10px;letter-spacing:.3em;color:var(--gold);font-weight:700;margin-top:3px}
.gnav{display:flex;align-items:center;gap:22px;font-size:15px;font-weight:500}
.gnav a:not(.btn-line){padding:12px 0}
.gnav a:not(.btn-line):hover{color:var(--gold-l)}
.gnav small{display:none}
.gnav .btn-line{min-height:40px;border-color:var(--gold);color:var(--gold)}
.menu-btn{display:none;width:48px;height:48px;border:1px solid var(--line2);background:none;cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:1.5px;background:var(--text);position:relative;transition:.25s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* ---------- section common ---------- */
.sec{padding:var(--sec) 0;border-top:1px solid var(--line);background:var(--bg)}
.sec-alt{background:var(--bg2)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.kicker{display:block;font-family:var(--en);font-size:15px;letter-spacing:.24em;color:var(--gold);margin-bottom:6px}
.title{font-family:var(--serif);font-weight:900;font-size:clamp(26px,3.2vw,38px);line-height:1.3;color:#fff}
.lead{font-size:16px;line-height:1.85;color:var(--sub);margin-top:10px;max-width:640px}
.sub-title{font-size:16px;font-weight:700;color:#fff;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.sub-title::before{content:"";width:4px;height:16px;background:var(--gold)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;min-height:440px;display:flex;align-items:center;background:var(--bg)}
.hero-photo{position:absolute;top:0;right:0;bottom:0;width:60%;margin:0}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos-pc,50% 50%)}
/* 文字が重なる左側だけを暗くする */
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(11,10,9,.82) 18%,rgba(11,10,9,.35) 32%,rgba(11,10,9,0) 46%)}
.hero .wrap{position:relative;width:100%;padding-top:56px;padding-bottom:56px}
.hero-copy{max-width:560px}
.hero-eyebrow{font-family:var(--en);font-size:15px;letter-spacing:.3em;color:var(--gold);margin-bottom:12px}
.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.4vw,46px);line-height:1.3;color:#fff;margin-bottom:16px;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.hero-intro{display:flex;flex-direction:column;gap:6px}
.hero-intro p{font-size:16px;line-height:1.8;color:var(--sub);word-break:keep-all;overflow-wrap:anywhere}
.hero-intro .hero-role{color:#fff;font-weight:700}
.hero-history b{color:var(--gold-l);font-weight:700}
/* 発信歴：枠は付けず、数字だけを大きく金色で */
.hero-career{display:flex;align-items:baseline;gap:10px;margin:2px 0}
.hero-career-label{font-size:15px;font-weight:700;color:var(--sub);letter-spacing:.08em}
.hero-career b{font-family:var(--serif);font-weight:900;font-size:34px;line-height:1.1;color:var(--gold-l);white-space:nowrap}
.sp-br{display:none}

/* ---------- shortcuts ---------- */
.shortcuts{padding:20px 0 28px;background:var(--bg)}
.sc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sc{display:grid;grid-template-columns:40px 1fr auto;align-items:center;column-gap:14px;padding:14px 18px;background:var(--panel);border:1px solid transparent;border-radius:4px;transition:border-color .2s,background .2s}
.sc:hover{border-color:var(--gold-d);background:var(--panel2)}
.sc-ico{width:40px;height:40px;border-radius:50%;background:rgba(201,165,92,.12);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.sc b{display:block;font-size:17px;color:#fff;line-height:1.35}
.sc span.d{display:block;font-size:14px;color:var(--muted);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.sc i{font-style:normal;color:var(--dim)}

/* ---------- blog ---------- */
.countries{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}
.country{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:10px 14px;background:var(--panel);border-radius:4px;transition:background .2s}
.country:hover{background:var(--panel2)}
.country .en{font-size:12px;color:var(--gold);letter-spacing:.14em;line-height:1.2}
.country b{font-size:17px;color:#fff;white-space:nowrap}
.areas{background:var(--panel);border-radius:4px;margin-bottom:16px}
.areas summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 16px;font-size:15px;font-weight:700}
.areas summary::-webkit-details-marker{display:none}
.areas summary::after{content:"+";font-size:22px;color:var(--gold);line-height:1}
.areas[open] summary::after{content:"−"}
.areas-body{padding:4px 16px 18px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px;border-top:1px solid var(--line)}
.area-group h3{font-size:15px;font-weight:700;margin:12px 0 8px}
.area-group h3 a{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--line2);border-radius:20px;font-size:14px;color:var(--sub)}
.chips a:hover{border-color:var(--gold);color:var(--gold-l)}
.search{display:flex;max-width:640px;margin-bottom:36px}
.search input{flex:1;min-width:0;height:50px;padding:0 16px;background:var(--panel);border:1px solid var(--line2);border-right:0;border-radius:4px 0 0 4px;font-size:16px;color:var(--text);caret-color:var(--text)}
.search input::placeholder{color:var(--muted);opacity:1}
.search input:focus{outline:none;border-color:var(--gold)}
.search button{flex:none;height:50px;padding:0 20px;background:var(--gold);color:#16120B;border:0;border-radius:0 4px 4px 0;font-weight:700;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:8px}
/* 最新記事3件（WordPressのループに置き換えやすいよう、1件＝<li class="post">で統一） */
.posts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post a{display:flex;flex-direction:column;height:100%;background:var(--panel);border-radius:4px;overflow:hidden;transition:background .2s}
.post a:hover{background:var(--panel2)}
.post-thumb{aspect-ratio:16/9;background:var(--panel2);overflow:hidden}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-body{padding:14px 16px 18px}
.post-title{display:block;font-size:16px;font-weight:700;line-height:1.6;color:#fff}
.post a:hover .post-title{color:var(--gold-l)}
.post-meta{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:6px;font-size:14px;color:var(--muted)}
.post-meta .cat{color:var(--gold)}
.blog-foot{display:flex;justify-content:center;margin-top:24px}

/* ---------- youtube ---------- */
.videos{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.video{display:flex;flex-direction:column;gap:12px}
.player-wrap{position:relative}
.player{position:relative;aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden}
.player img{width:100%;height:100%;object-fit:cover}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:#fff}
.play::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,0) 50%)}
.play-ico{position:relative;width:72px;height:50px;border-radius:12px;background:rgba(18,15,11,.82);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;transition:background .2s}
.play:hover .play-ico,.play:focus-visible .play-ico{background:#C4302B}
.play-label{position:absolute;left:12px;bottom:10px;font-size:14px;font-weight:700;text-shadow:0 1px 4px #000}
.video-ch{font-size:14px;color:var(--gold);font-weight:700}
.video h3{font-size:17px;line-height:1.55;color:#fff;margin-top:2px}
.video.is-playing .video-badge{display:none}
.channels{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.video-badge{position:absolute;top:10px;right:10px;z-index:1;padding:3px 10px;background:var(--gold);color:#16120B;font-size:13px;font-weight:700;border-radius:2px;pointer-events:none}
.channel{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;background:var(--panel);border-radius:40px;transition:background .2s}
.channel:hover{background:var(--panel2)}
.channel-ico{flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;background:#000}
.channel-ico img{width:100%;height:100%;object-fit:cover}
.channel-ico.is-logo img{object-fit:contain}
.channel b{display:block;font-size:17px;color:#fff}
.channel span{display:block;font-size:14px;color:var(--muted);line-height:1.55}
.channel i{font-style:normal;color:var(--gold);font-size:14px;font-weight:700;white-space:nowrap;margin-left:4px}

/* ---------- salon ---------- */
.salon-grid{display:grid;grid-template-columns:1.05fr 1fr;grid-template-areas:"photo head" "photo body";grid-template-rows:auto 1fr;column-gap:44px;row-gap:0;align-items:start}
.salon-head{grid-area:head}
.salon-photo{grid-area:photo;align-self:center}
.salon-body{grid-area:body}
.salon-lead,.yt-lead{word-break:keep-all;overflow-wrap:anywhere}
.facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:14px}
.facts li{display:flex;align-items:baseline;gap:2px;padding:6px 14px;background:var(--panel);border-radius:4px;font-size:15px;color:var(--sub);white-space:nowrap}
.facts b{font-size:20px;font-weight:700;color:var(--gold-l);margin:0 1px}
.salon-photo{margin:0}
.salon-photo img{width:100%;height:auto;aspect-ratio:2028/1263;object-fit:cover;border-radius:4px}
.salon-photo figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 18px}
.stat{padding:16px 18px;background:var(--panel);border-radius:4px;border-top:2px solid var(--gold)}
.stat-label{display:block;font-size:15px;font-weight:700;color:#fff}
.stat-num{display:block;white-space:nowrap;font-family:var(--en);font-size:56px;line-height:1;color:var(--gold-l);letter-spacing:.02em;margin:6px 0 6px}
.stat-num small{font-family:var(--sans);font-size:18px;font-weight:700;margin-left:2px;color:var(--gold)}
/* 文節の区切り（wbr）でだけ折り返す。収まらない場合のみ任意位置で折り返す */
.stat p{font-size:14px;color:var(--sub);line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.perks{display:grid;grid-template-columns:1fr;list-style:none;margin-bottom:22px}
.perks .wide{grid-column:1/-1}
.perks li{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--sub);line-height:1.6}
.perks li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gold);transform:translateY(-2px)}
.note{font-size:14px;color:var(--muted);margin-top:12px}

/* ---------- shop ---------- */
.shop-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.shop-visual{margin:0}
/* 集合画像は切り取らず全体を表示 */
.shop-visual img{width:100%;height:auto;border-radius:4px}
.shop-logo{width:240px;max-width:70%;height:auto;margin-top:14px}
.story{font-family:var(--serif);font-weight:700;font-size:clamp(18px,1.9vw,22px);line-height:1.7;color:#fff;margin-bottom:6px}
.story-note{font-size:15px;color:var(--sub);line-height:1.85;margin-bottom:20px}
.products{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.product{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--panel);border-radius:4px;transition:background .2s}
.product:hover{background:var(--panel2)}
.product-type{font-size:14px;font-weight:700;color:var(--gold)}
.product-name{font-family:var(--en);font-size:30px;letter-spacing:.06em;line-height:1.1;color:#fff}
.product p{font-size:14px;color:var(--sub);line-height:1.6;margin:2px 0 6px}
.product .link{min-height:32px;font-size:14px}
/* 定期購入特典（リンクなし。購入商品が無料になるようには見せない） */
.perk-box{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 32px;margin-top:28px;padding:22px 28px;border:1px solid var(--gold-d);border-radius:6px;background:linear-gradient(120deg,#221B10,#14110D 60%)}
.perk-label{display:inline-block;padding:4px 12px;background:var(--gold);color:#16120B;font-size:14px;font-weight:700;border-radius:2px}
.perk-target{display:block;font-size:18px;font-weight:700;color:#fff;margin-top:8px}
.perk-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.perk-before{font-size:20px;color:var(--sub);text-decoration:line-through;text-decoration-color:var(--sub);text-decoration-thickness:2px}
.perk-arrow{font-size:22px;color:var(--gold)}
.perk-after{font-family:var(--en);font-size:72px;line-height:1;color:var(--gold-l);letter-spacing:.02em}
.perk-after small{font-family:var(--sans);font-size:24px;font-weight:700;margin-left:2px;color:var(--gold)}
.perk-note{grid-column:1/-1;font-size:14px;color:var(--muted)}

/* ---------- book ---------- */
.book{display:grid;grid-template-columns:240px 1fr;grid-template-areas:"cover head" "cover body";grid-template-rows:auto 1fr;column-gap:40px;align-items:start;max-width:880px}
.book-cover{grid-area:cover}
.book-head{grid-area:head;align-self:end}
.book-body{grid-area:body}
.book-cover img{width:100%;height:auto;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.book-title{font-family:var(--serif);font-weight:900;font-size:clamp(22px,2.6vw,30px);line-height:1.45;color:#fff;margin:4px 0 4px}
.book-meta{font-size:14px;color:var(--muted);margin-bottom:12px}
.book p{font-size:16px;color:var(--sub);line-height:1.85;margin-bottom:18px}

/* ---------- profile ---------- */
.profile{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:center}
.profile-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:var(--pos-pc,50% 50%);border-radius:4px}
.profile p{font-size:16px;color:var(--sub);line-height:1.95;margin:12px 0 16px}

/* ---------- sns ---------- */
.follow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sns{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 16px;background:var(--panel);border-radius:4px;transition:background .2s}
.sns:hover{background:var(--panel2)}
.sns svg{color:var(--gold);flex:none}
.sns b{display:block;font-size:16px;color:#fff;line-height:1.4}
.sns span{display:block;font-size:14px;color:var(--muted);line-height:1.45}

/* ---------- footer ---------- */
.footer{background:#070605;border-top:1px solid var(--line);padding:48px 0 24px}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;margin-bottom:28px}
.footer-brand{max-width:380px}
.age{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.age i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line2);border-radius:50%;font-family:var(--en);color:var(--sub)}
.footer-nav{display:flex;flex-wrap:wrap;gap:20px 44px}
.footer-nav nav{display:flex;flex-direction:column;font-size:14px}
.footer-nav nav span{font-family:var(--en);letter-spacing:.2em;color:var(--gold);margin-bottom:4px}
.footer-nav a{color:var(--sub);padding:5px 0}.footer-nav a:hover{color:var(--gold-l)}
.footer-bottom{padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}

/* ---------- 動きを減らす設定 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* ---------- tablet ---------- */
@media (max-width:1080px){
  .gnav{display:none}
  .menu-btn{display:inline-flex}
  .gnav.is-open{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:49;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 32px;background:var(--bg);overflow-y:auto;font-size:17px;border-top:1px solid var(--line)}
  .gnav.is-open a:not(.btn-line){display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
  .gnav.is-open small{display:inline;font-family:var(--en);font-size:13px;letter-spacing:.2em;color:var(--gold)}
  .gnav.is-open .btn-line{margin-top:22px;min-height:52px;font-size:16px}
  .sc{grid-template-columns:36px 1fr;padding:12px 14px;column-gap:12px}
  .sc-ico{width:36px;height:36px}
  .sc i{display:none}
  .countries{grid-template-columns:repeat(3,1fr)}
  /* タブレット以下：写真→コピーの縦並び（文字を写真に重ねない） */
  .hero{display:block;min-height:0}
  .hero-photo{position:relative;width:100%;height:clamp(180px,40vw,380px)}
  .hero-photo img{object-position:var(--pos-tb,50% 40%)}
  .hero-photo::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(11,10,9,0) 30%)}
  .hero .wrap{padding-top:8px;padding-bottom:16px}
  .hero-copy{max-width:none}
  .shop-grid{grid-template-columns:1fr;gap:24px}
  .salon-grid{grid-template-columns:1fr;grid-template-areas:"head" "photo" "body";grid-template-rows:auto;row-gap:20px}
  .profile{grid-template-columns:280px 1fr;gap:32px}
  .follow{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .posts{grid-template-columns:1fr;gap:10px}
  .post a{display:grid;grid-template-columns:200px 1fr;align-items:center}
  .post-thumb{display:block;width:100%;min-width:0;align-self:center}
  .post a{column-gap:0}
  .areas-body{grid-template-columns:1fr}
}
/* ---------- phone ---------- */
@media (max-width:640px){
  :root{--pad:16px;--header-h:60px;--sec:52px}
  .logo-mark{width:32px;height:32px}
  .logo-main{font-size:30px}
  .logo-sub{font-size:9px}
  /* 写真→コピーの順。写真の高さを抑え、ショートカットを早く見せる */
  .hero-photo{height:clamp(180px,52vw,210px)}
  .hero-photo img{object-position:var(--pos-sp,50% 40%)}
  .hero .wrap{padding-top:4px;padding-bottom:8px}
  .hero-eyebrow{font-size:12px;margin-bottom:4px}
  .hero h1{font-size:clamp(24px,7vw,28px);margin-bottom:6px}
  .hero-intro{gap:2px}
  .hero-intro p{font-size:15px;line-height:1.6;letter-spacing:0}
  .hero-career{margin:0}
  .hero-career b{font-size:24px}
  .sp-br{display:inline}
  .shortcuts{padding:8px 0 22px}
  .sc-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:8px}
  .sc{align-content:start}
  .sc{grid-template-columns:22px 1fr;column-gap:8px;row-gap:2px;padding:11px 12px}
  .sc-ico{width:22px;height:22px;background:none}
  .sc-ico svg{width:20px;height:20px}
  .sc>span:not(.sc-ico){display:contents}
  .sc b{grid-column:2;font-size:16px}
  .sc span.d{grid-column:1/-1;font-size:14px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
  .sec-head{margin-bottom:20px}
  .lead{font-size:15px}
  .countries{gap:6px}
  .country{min-height:60px;padding:8px 10px}
  .country .en{font-size:11px;letter-spacing:.1em}
  .country b{font-size:16px}
  .search{margin-bottom:28px}
  .search button span{display:none}
  .search button{padding:0 18px}
  .post a{grid-template-columns:120px 1fr}
  .post-body{padding:10px 12px}
  .post-title{font-size:15px;line-height:1.55}
  .post-meta{font-size:13.5px;margin-top:4px}
  .videos{grid-template-columns:1fr;gap:28px}
  .video h3{font-size:16px}
  .channels{flex-direction:column}
  .channel{border-radius:4px}
  .channel i{margin-left:auto}
  .stats{grid-template-columns:1fr;gap:8px}
  .stat{padding:14px 16px 16px}
  .stat-label{font-size:14px}
  .stat-num{font-size:44px}
  .stat-num small{font-size:15px}
  .stat p{font-size:15px}
  .btn{width:100%}
  .products{gap:8px}
  .product{padding:12px}
  .product-name{font-size:26px}
  .perk-box{grid-template-columns:1fr;padding:18px;gap:6px;text-align:center}
  .perk-price{justify-content:center}
  .perk-after{font-size:64px}
  .perk-before{font-size:18px}
  .perks{grid-template-columns:1fr}
  .book{grid-template-columns:110px 1fr;grid-template-areas:"cover head" "body body";grid-template-rows:auto auto;column-gap:16px;row-gap:16px}
  .book-head{align-self:center}
  .book-body .btn-line{display:flex;width:100%}
  .book-title{font-size:20px}
  .book p{font-size:15px;margin-bottom:10px}
  .profile{grid-template-columns:1fr;gap:20px}
  .profile-photo img{aspect-ratio:4/3;object-position:var(--pos-sp,50% 40%)}
  .follow{grid-template-columns:1fr;gap:8px}
  .sns{padding:12px;gap:10px;min-height:64px}
  .sns svg{width:24px;height:24px}
}
@media (max-width:360px){
  .products{grid-template-columns:1fr}
}

/* WordPress 管理バー表示時 */
.admin-bar .header{top:32px}
html.admin-bar{scroll-padding-top:calc(var(--header-h) + 12px + 32px)}
@media screen and (max-width:782px){
  .admin-bar .header{top:46px}
  html.admin-bar{scroll-padding-top:calc(var(--header-h) + 12px + 46px)}
}

/* 親テーマやプラグインの余白が残った場合の打ち消し */
html.jojo-top, html.jojo-top body{margin:0;padding:0;max-width:none}
html.jojo-top #wpadminbar{z-index:99999}

/* J-STORKのカスタム背景（#f4f4f2）と本文色（#333）が、背景未指定セクションに透けるのを防ぐ */
html.jojo-top,
html.jojo-top body,
html.jojo-top body.custom-background,
html.jojo-top body.jojo-top-page,
html.jojo-top body.custom-background.jojo-top-page,
html.jojo-top main{
  background:var(--bg)!important;
  background-image:none!important;
  color:var(--text)!important;
}
html.jojo-top .hero,
html.jojo-top .shortcuts,
html.jojo-top .sec{background:var(--bg)!important}
html.jojo-top .sec-alt{background:var(--bg2)!important}
html.jojo-top .footer{background:#070605!important}
html.jojo-top .wrap{background:transparent!important}

/* J-STORKが検索欄を白背景にするので、文字色と背景をセットで上書き */
html.jojo-top .search input,
html.jojo-top .search input[type="search"]{
  background:#17140F!important;
  background-color:#17140F!important;
  color:#F1ECE3!important;
  -webkit-text-fill-color:#F1ECE3!important;
  caret-color:#F1ECE3!important;
}
html.jojo-top .search input::placeholder{
  color:#B3AA9C!important;
  -webkit-text-fill-color:#B3AA9C!important;
  opacity:1!important;
}
html.jojo-top .search input:-webkit-autofill,
html.jojo-top .search input:-webkit-autofill:hover,
html.jojo-top .search input:-webkit-autofill:focus{
  -webkit-text-fill-color:#F1ECE3!important;
  caret-color:#F1ECE3!important;
  box-shadow:0 0 0 1000px #17140F inset!important;
}
