/* ===== ガイド末尾：公式導線 ／ 追従バー ／ 共通フッター ===== */
.oc-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto;}

/* ---------- ② 追従バー ---------- */
.jn-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-top:1px solid #e0cba2;box-shadow:0 -6px 22px rgba(60,45,20,.10);
  transform:translateY(115%);transition:transform .3s cubic-bezier(.2,.75,.3,1);}
.jn-sticky.is-on{transform:none;}
.jn-sticky-in{width:min(1600px,calc(100% - 40px));margin:0 auto;min-height:92px;
  display:flex;align-items:center;gap:22px;padding:14px 0;}
.jn-sticky-txt{font-size:15px;color:#3c4453;letter-spacing:.03em;line-height:1.6;min-width:0;}
.jn-sticky-txt b{display:block;font-family:"Noto Serif JP",serif;font-weight:600;color:#1f375d;
  font-size:20px;letter-spacing:.06em;margin-bottom:3px;}
.jn-sticky-sp{flex:1;}
.jn-sticky a{display:inline-flex;align-items:center;justify-content:center;gap:11px;text-decoration:none;
  flex:none;color:#fff;border-radius:12px;padding:18px 34px;font-size:18px;font-weight:600;
  letter-spacing:.05em;text-shadow:0 1px 2px rgba(140,74,0,.34);
  background:radial-gradient(125% 155% at 50% -20%,#fcb254 0%,#f6990f 56%,#ef8b04 100%);
  box-shadow:inset 0 0 24px 7px rgba(255,240,214,.40),
             inset 0 1px 0 rgba(255,255,255,.65),
             inset 0 -1px 0 rgba(180,105,10,.16),
             0 2px 8px rgba(190,120,25,.13);
  transition:box-shadow .25s ease;}
.jn-sticky a:hover{box-shadow:inset 0 0 18px 4px rgba(255,240,214,.30),
             inset 0 1px 0 rgba(255,255,255,.65),
             inset 0 -1px 0 rgba(180,105,10,.16),
             0 3px 12px rgba(190,120,25,.18);}
.jn-sticky a:focus-visible{outline:2px solid #0c2754;outline-offset:3px;}
.jn-sticky a i{font-style:normal;font-size:.86em;opacity:.92;}
.jn-sticky button{flex:none;appearance:none;border:1px solid #e2dcd0;background:#fff;cursor:pointer;
  width:44px;height:44px;border-radius:50%;color:#8b919b;font-size:22px;line-height:1;
  display:flex;align-items:center;justify-content:center;}
.jn-sticky button:hover{background:#f4f1eb;color:#3c4453;}
.jn-sticky button:focus-visible{outline:2px solid #b68b45;outline-offset:2px;}
@media(prefers-reduced-motion:reduce){.jn-sticky{transition:none;}}

/* ---------- ③ 共通フッター ---------- */
.site-footer{background:#0b2350;border-top:3px solid #b68b45;color:#dfe6f2;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;}
.site-footer .oc-wrap{padding:44px 0 34px;}
.sf-top{display:flex;gap:34px;align-items:flex-start;flex-wrap:wrap;margin-bottom:26px;}
.sf-badge{flex:none;background:#fff;border-radius:6px;padding:11px 16px;line-height:0;}
.sf-badge img{width:224px;height:auto;display:block;}
.sf-about{flex:1;min-width:340px;}
.sf-about b{display:block;font-family:"Noto Serif JP",serif;font-size:17px;font-weight:600;
  color:#f0d9a4;letter-spacing:.04em;margin-bottom:9px;}
.sf-about p{margin:0;font-size:13.5px;line-height:2.0;color:#c2cde1;}
.sf-links{border-top:1px solid rgba(255,255,255,.16);padding-top:20px;
  display:flex;flex-wrap:wrap;align-items:center;gap:0 2px;}
.sf-links a{color:#e8eefa;text-decoration:none;font-size:14px;padding:6px 16px;border-radius:3px;}
.sf-links a:hover{color:#f4d9a0;background:rgba(255,255,255,.06);}
.sf-links span{color:rgba(255,255,255,.26);font-size:13px;}
.sf-links a.sf-ext::after{content:"\2197";font-size:12px;margin-left:5px;color:#c3a86e;}
.sf-bottom{margin-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:12.5px;color:#93a3bf;}

@media(max-width:880px){
  .jn-sticky-in{min-height:80px;gap:12px;padding:11px 0;}
  .jn-sticky-txt{display:none;}
  .jn-sticky a{flex:1;padding:17px 12px;font-size:16px;}
  .jn-sticky button{width:40px;height:40px;}
  .sf-top{flex-direction:column;gap:20px;}
  .sf-badge{padding:9px 13px;}
  .sf-badge img{width:190px;}
  .sf-about{min-width:0;}
  .sf-links a{padding:6px 12px;}
}

/* =========================================================
   2026-09-06 改訂：運営者の明示を二段組みにする
     PC　　  左＝写真（縦に大きく）／右＝名前・肩書き・経歴・作った理由
     スマホ  写真の横に名前と肩書き、作った理由は下に全幅
   「ご注意」と公式サイトのリンクは、その下に全幅で置く。
   ========================================================= */
.oper{ max-width:900px; margin:0 auto; text-align:left; }

.oper__main{
  display:grid;
  grid-template-columns:132px 1fr;
  grid-template-areas:
    "photo id"
    "photo why";
  column-gap:30px;
  row-gap:18px;
  align-items:start;
  padding-bottom:26px;
  margin-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.oper__photo{
  grid-area:photo;
  width:132px; height:132px;
  border-radius:50%;
  overflow:hidden;
  background:rgba(255,255,255,.10);
  box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 6px 18px rgba(0,0,0,.28);
  align-self:start;
}
.oper__photo img{
  display:block; width:100% !important; height:100% !important;
  object-fit:cover; object-position:50% 28%;
}
.oper__id{ grid-area:id; }
.oper__why{ grid-area:why; }

.oper__name{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:22px; font-weight:600; line-height:1.35; letter-spacing:.06em;
  color:#fff; margin:0 0 6px;
}
.oper__title{
  font-size:14px; font-weight:600; letter-spacing:.04em;
  color:#e8c98a; margin:0 0 10px;
}
.oper__bio{ font-size:14.5px; line-height:1.9; margin:0; color:rgba(255,255,255,.82); }

.oper__h{
  font-family:"Noto Serif JP","Yu Mincho",serif;
  font-size:16px; font-weight:600; letter-spacing:.05em;
  color:#e8c98a; margin:0 0 8px;
}
.oper__h--notes{ margin-top:0; }
.oper__p{ font-size:14.5px; line-height:2.0; margin:0; color:rgba(255,255,255,.82); }

.oper__notes{ list-style:none; margin:0 0 18px; padding:0; }
.oper__notes li{
  position:relative; padding-left:1.1em; margin-bottom:7px;
  font-size:13.5px; line-height:1.85; color:rgba(255,255,255,.70);
}
.oper__notes li::before{ content:"・"; position:absolute; left:0; }
.oper__official{ font-size:14px; margin:0; }
.oper__official a{ color:#f0d9a4; text-decoration:underline; text-underline-offset:3px; }

@media(max-width:768px){
  .oper__main{
    /* 2026-09-07：スマホでは写真が大きく見えすぎるため 74px → 58px に縮小 */
    grid-template-columns:58px 1fr;
    grid-template-areas:
      "photo id"
      "why   why";
    column-gap:16px;
    row-gap:16px;
    padding-bottom:18px;
    margin-bottom:18px;
  }
  .oper__photo{ width:58px; height:58px; box-shadow:0 0 0 1px rgba(255,255,255,.22); }
  .oper__name{ font-size:17px; letter-spacing:.04em; margin-bottom:4px; }
  .oper__title{ font-size:13px; margin-bottom:0; }
  .oper__bio{ font-size:14px; line-height:1.95; }
  .oper__h{ font-size:15px; }
  .oper__p{ font-size:14px; line-height:1.95; }
  .oper__notes li{ font-size:13px; }
}

/* ============================================================
   2026-09-07　PC版の文字サイズ統一（フォントサイズ統一ルール v2）
   PC基準：小見出し24 / 本文20 / 注記15（本文の下限18px）
   min-width:769px の中だけに書いているため、スマホ表示は変わらない。
   ============================================================ */
@media (min-width: 769px) {
  .sf-about b { font-size: 24px; }
  .sf-about p { font-size: 18px; }
  .oper__h { font-size: 24px; }
  .oper__title { font-size: 18px; }
  .oper__bio { font-size: 20px; }
  .oper__p { font-size: 20px; }
  .oper__notes li { font-size: 18px; }
  .oper__official { font-size: 18px; }
  .oper__official a { font-size: 18px; }
  .sf-bottom { font-size: 15px; }
  .sf-bottom span,
  .sf-updated { font-size: 15px; }
}

/* =========================================================================
   2026-09-10 追加：スクロール途中で下から出る帯（.jn-sticky）は、隠れている間も
   transform で画面外へずらしているだけで、画面下端に居座ったままになる。
   端末によっては、この見えない帯が下端付近のタップを吸い取ってしまう。
   （同じ役割の携帯用バー .ic-membership-followbar には、もともと
     pointer-events:none / auto の切り替えが入っている。こちらには無かった。）
   見た目は一切変わらない。控えは /root/bk_outro_pre_pe.css
   ========================================================================= */
.jn-sticky{ pointer-events:none; }
.jn-sticky.is-on{ pointer-events:auto; }
