/*
Theme Name: s-kaizuka
Theme URI: https://s-kaizuka.com/
Author: 株式会社ヨシハラ総合企画
Description: 貝塚しょうたろう後援会 公式サイト用テーマ v1.8（Instagram 自動表示を HERO 直下に・おしらせは一覧形式・挑戦6を東京・土浦延伸へ）
Version: 1.8.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: s-kaizuka
*/
  :root{ --sky:#3FA9E0; --sky2:#8FD0F2; --sky3:#EEF7FC; --navy:#1B2A4A; --navy2:#26385f; --yel:#FFD23F; --ink:#1B2A4A; --sub:#5b6880; --paper:#ffffff; --line:#d7e6f0; }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; scroll-padding-top:72px; }
  body{ margin:0; background:var(--paper); color:var(--ink); font-family:"Yu Gothic","YuGothic","游ゴシック体","游ゴシック","Hiragino Kaku Gothic ProN","Meiryo",sans-serif; line-height:1.9; font-size:16px; }
  /* HERO のみ Noto Sans JP を維持。英字見出し・番号は Montserrat */
  .hero{ font-family:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif; }
  .en{ font-family:"Montserrat","Noto Sans JP",sans-serif; }
  .mincho{ font-family:"Shippori Mincho B1","Yu Mincho",serif; }
  a{ color:var(--navy); } a:focus-visible,button:focus-visible{ outline:3px solid var(--yel); outline-offset:2px; }
  .wrap{ max-width:1080px; margin:0 auto; padding-inline:20px; }
  .narrow{ max-width:760px; margin:0 auto; padding-inline:20px; }
  section{ padding-block:80px; }
  .sec-h{ text-align:center; margin:0 0 40px; }
  .sec-h .en{ display:block; font-size:clamp(30px,4.5vw,44px); font-weight:300; letter-spacing:.18em; color:var(--navy); line-height:1.1; }
  .sec-h .ja{ display:block; font-size:14px; font-weight:700; letter-spacing:.2em; color:var(--navy); margin-top:8px; }
  .btn{ display:inline-flex; align-items:center; gap:10px; background:var(--navy); color:#fff; text-decoration:none; font-weight:700; font-size:14px; letter-spacing:.08em; padding:14px 40px; box-shadow:4px 4px 0 var(--sky2); }
  .btn:hover{ background:var(--navy2); }
  .badge{ display:inline-block; border:1px solid currentColor; padding:0 8px; font-size:12px; font-weight:700; letter-spacing:.08em; }

  /* header */
  .hdr{ position:sticky; top:0; z-index:10; background:rgba(255,255,255,.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); }
  .hdr .in{ max-width:1180px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
  .logo{ text-decoration:none; line-height:1.2; }
  .logo small{ display:block; font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--sub); }
  .logo b{ font-size:20px; font-weight:900; letter-spacing:.04em; }
  .logo b span{ font-size:11px; font-weight:700; margin-left:6px; color:var(--sub); }
  nav{ margin-left:auto; display:flex; gap:4px 22px; flex-wrap:wrap; }
  nav a{ text-decoration:none; font-size:13.5px; font-weight:700; padding:6px 0; border-bottom:2px solid transparent; }
  nav a:hover{ border-bottom-color:var(--sky); }
  .hdr .sns{ display:flex; gap:10px; }
  .hdr .sns a{ width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; text-decoration:none; }
  .ig{ background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af); } .fb{ background:#1877f2; } .x{ background:#111; }
  .hdr .sns a.soon{ opacity:.35; }
  .hdr .menu{ display:flex; align-items:center; gap:24px; margin-left:auto; }
  .menu-btn{ display:none; margin-left:auto; width:44px; height:44px; border:0; background:none; cursor:pointer; padding:8px; }
  .menu-btn span{ display:block; height:2px; background:var(--navy); margin:6px 0; transition:transform .25s, opacity .2s; border-radius:2px; }
  .hdr.open .menu-btn span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  .hdr.open .menu-btn span:nth-child(2){ opacity:0; }
  .hdr.open .menu-btn span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
  @media (max-width:980px){
    .menu-btn{ display:block; }
    .hdr .menu{ display:none; position:absolute; left:0; right:0; top:100%; background:var(--sky3); padding:12px 12px 20px; flex-direction:column; align-items:stretch; gap:0; margin:0; box-shadow:0 12px 30px rgba(27,42,74,.18); }
    .hdr.open .menu{ display:flex; }
    .hdr .menu nav{ margin:0; flex-direction:column; gap:10px; width:100%; }
    .hdr .menu nav a{ display:block; text-align:center; border:1px solid var(--navy); background:#fff; padding:14px 10px; font-size:15px; letter-spacing:.06em; }
    .hdr .menu nav a:first-child{ background:var(--navy); color:#fff; }
    .hdr .menu nav a:hover{ border-bottom-color:var(--navy); background:var(--sky3); }
    .hdr .menu nav a:first-child:hover{ background:var(--navy2); }
    .hdr .menu .sns{ justify-content:center; gap:18px; margin-top:18px; }
    .hdr .menu .sns a{ width:44px; height:44px; border-radius:10px; }
  }

  /* hero: 動画背景 + 右に宣材 */
  .hero{ position:relative; overflow:hidden; background:var(--navy); min-height:640px; color:#fff; }
  .hero video, .hero .poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
  .hero .shade{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(27,42,74,.82) 0%, rgba(27,42,74,.55) 42%, rgba(27,42,74,.12) 72%, rgba(27,42,74,.35) 100%); }
  .hero .shade2{ position:absolute; inset:auto 0 0 0; height:40%; background:linear-gradient(180deg, rgba(27,42,74,0), rgba(27,42,74,.55)); }
  .hero .in{ position:relative; max-width:1180px; margin:0 auto; padding:56px 20px 0; display:grid; grid-template-columns:1.3fr .7fr; gap:0; align-items:end; min-height:660px; }
  .hero-txt{ padding-bottom:64px; }
  .hero .top{ display:flex; align-items:center; gap:12px; font-size:17px; font-weight:700; letter-spacing:.08em; margin-bottom:26px; color:#fff; text-shadow:0 2px 10px rgba(27,42,74,.6); }
  .hero .top .badge{ font-size:14px; padding:2px 12px; border-width:2px; background:rgba(27,42,74,.35); }
  .name .line1{ display:flex; align-items:baseline; gap:.18em; }
  .name ruby{ ruby-position:over; }
  .name rt{ font-size:.16em; font-weight:700; letter-spacing:.25em; color:var(--sky2); -webkit-text-stroke:0; text-shadow:none; text-align:center; }
  .name{ font-size:clamp(60px,10.5vw,132px); font-weight:900; line-height:1; letter-spacing:.02em; color:var(--yel); -webkit-text-stroke:2px var(--navy); paint-order:stroke fill; text-shadow:4px 4px 0 var(--navy); margin:4px 0 10px; }
  .name small{ display:block; font-size:.58em; letter-spacing:0; white-space:nowrap; }
  .catch{ font-size:clamp(18px,2.4vw,24px); font-weight:700; margin-top:18px; color:#fff; text-shadow:0 2px 12px rgba(27,42,74,.6); }
  .toppa{ display:flex; align-items:baseline; gap:22px; flex-wrap:wrap; margin-top:4px; font-size:clamp(46px,7.5vw,80px); font-weight:800; line-height:1; letter-spacing:.02em; color:#fff; text-shadow:0 3px 16px rgba(27,42,74,.6); }
  .age{ display:inline-flex; align-items:baseline; white-space:nowrap; font-family:"Montserrat","Noto Sans JP",sans-serif; font-weight:500; font-size:.55em; color:#fff; letter-spacing:.02em; -webkit-text-stroke:0; text-shadow:3px 3px 0 var(--navy); }
  .age small{ font-family:"Noto Sans JP",sans-serif; font-size:.4em; font-weight:900; margin-left:2px; color:#fff; }
  .whatido{ display:inline-block; margin-top:22px; white-space:nowrap; font-size:15px; font-weight:700; background:rgba(255,255,255,.92); color:var(--navy); padding:6px 14px; border-left:6px solid var(--yel); }
  .hero-img{ align-self:end; justify-self:end; position:relative; margin-right:-16%; }
  .hero-img img{ display:block; width:auto; max-width:none; height:auto; max-height:660px; filter:drop-shadow(0 12px 30px rgba(27,42,74,.45)); }

  /* message / resolve: centered lines like the reference */
  .msg{ background:var(--sky3); }
  .msg .body p, .resolve .body p{ text-align:center; margin:0 0 1.6em; font-size:16.5px; line-height:2.1; text-wrap:pretty; }
  .msg .sign, .resolve .sign{ text-align:center; font-weight:900; letter-spacing:.2em; font-size:18px; margin-top:10px; }
  .resolve .body p{ text-align:justify; text-align-last:left; text-wrap:wrap; line-height:2.0; font-size:16px; }
  .resolve .sign{ font-family:"Yuji Syuku","Yu Mincho",serif; font-weight:400; font-size:34px; letter-spacing:.12em; text-align:right; padding-right:.5em; }

  /* news (WordPress 投稿) */
  .news{ background:#fff; }
  .posts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .post{ border:1px solid var(--line); background:#fff; padding:22px 22px 24px; overflow:hidden; display:flex; flex-direction:column; gap:10px; text-decoration:none; color:var(--ink); }
  .post:hover{ border-color:var(--sky); }
  .post .pimg{ margin:-22px -22px 14px; background:var(--sky3); overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--sky); font-size:12px; letter-spacing:.14em; }
  .post .pimg:empty, .post .pimg.ph{ aspect-ratio:16/10; }
  .post .pimg img{ width:100%; height:auto; display:block; }
  .post:hover .pimg img{ transform:scale(1.03); transition:transform .3s; }
  .post .meta{ display:flex; align-items:center; gap:10px; font-size:12px; color:var(--sub); letter-spacing:.06em; }
  .post .cat{ background:var(--sky3); color:var(--sky); font-weight:700; padding:1px 8px; border-radius:2px; letter-spacing:.1em; }
  .post h3{ margin:0; font-size:16.5px; font-weight:700; line-height:1.55; }
  .post p{ margin:0; font-size:13.5px; line-height:1.7; color:var(--sub); }
  .post .more{ margin-top:auto; font-size:13px; font-weight:700; color:var(--sky); display:inline-flex; align-items:center; gap:4px; }
  .news .btnw{ text-align:center; margin-top:40px; }
  .sample{ text-align:center; font-size:12px; color:var(--sub); margin-top:14px; }

  /* movie */
  .movie{ background:#fff; }
  .clips{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .clip{ display:flex; flex-direction:column; gap:10px; }
  .clip .thumb{ aspect-ratio:9/16; max-width:100%; border-radius:12px; background:linear-gradient(160deg,var(--navy),#2f4a7a); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; position:relative; overflow:hidden; }
  .clip .thumb .pl{ width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
  .clip .thumb .soon{ font-size:13px; letter-spacing:.2em; font-weight:700; color:var(--sky2); }
  .clip .thumb .igm{ position:absolute; right:12px; top:12px; color:#fff; opacity:.9; }
  .lead-s{ text-align:center; margin:-20px 0 30px; color:var(--sub); font-size:15px; }
  .clip .thumb .tag{ position:absolute; left:12px; top:12px; font-size:11px; font-weight:700; letter-spacing:.1em; background:var(--yel); color:var(--navy); padding:2px 8px; }
  .clip .date{ font-size:12px; color:var(--sub); letter-spacing:.06em; }
  .clip h3{ margin:0; font-size:15.5px; font-weight:700; line-height:1.5; }
  .movie .more{ text-align:center; margin-top:40px; }

  /* five challenges: alternating bands (text only for now) */
  .five{ background:#fff; padding-block:80px 0; }
  .band{ position:relative; overflow:hidden; padding-block:36px; }
  .band:nth-of-type(odd){ background:var(--sky3); }
  .band .brush{ position:absolute; border-radius:45% 55% 50% 50%/55% 45% 55% 45%; background:linear-gradient(115deg,var(--sky2),var(--sky)); opacity:.28; width:48vw; max-width:560px; height:20vw; max-height:240px; }
  .band:nth-of-type(odd) .brush{ right:-14vw; top:-6vw; transform:rotate(-16deg); }
  .band:nth-of-type(even) .brush{ left:-14vw; bottom:-8vw; transform:rotate(12deg); opacity:.2; }
  .band .in{ position:relative; max-width:860px; margin:0 auto; padding-inline:20px; display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:center; }
  .band:nth-of-type(even) .box{ grid-column:auto; }
  .box{ background:#fff; box-shadow:0 8px 30px rgba(27,42,74,.10); min-width:0; max-width:100%; }
  .box .lab{ background:var(--navy); color:#fff; display:flex; align-items:center; gap:16px; padding:18px 24px; }
  .box .lab .no{ font-family:"Montserrat",sans-serif; font-weight:300; font-size:30px; letter-spacing:.06em; color:var(--sky2); line-height:1; }
  .box .lab h3{ margin:0; font-size:19px; font-weight:900; line-height:1.4; min-width:0; flex:1 1 0; overflow-wrap:anywhere; }
  .box .txt{ padding:22px 26px 26px; font-size:15px; line-height:1.9; }
  .band .photo-slot{ min-height:200px; border:2px dashed var(--sky2); border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--sky); font-size:13px; letter-spacing:.1em; background:rgba(255,255,255,.5); }
  .band:nth-of-type(even) .photo-slot{ grid-column:1; grid-row:1; }
  .five .lead{ text-align:center; font-weight:700; font-size:clamp(16px,2vw,19px); margin:-24px 0 40px; padding-inline:20px; color:var(--navy); }
  .five .close{ text-align:center; padding:56px 20px 0; font-weight:700; font-size:17px; max-width:44em; margin:0 auto; }
  .five .close span{ background:linear-gradient(transparent 55%,var(--yel) 55%); padding:0 4px; }

  /* profile */
  .prof{ background:var(--sky3); }
  .prof-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:36px; align-items:start; }
  .prof dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:10px 22px; font-size:15px; }
  .prof dt{ font-weight:900; color:var(--sky); letter-spacing:.14em; white-space:nowrap; padding-top:2px; }
  .prof dd{ margin:0; line-height:1.8; }
  .circle{ background:#fff; border:2px solid var(--sky2); border-radius:20px; padding:24px 26px; display:flex; flex-direction:column; gap:10px; font-size:15px; }
  .circle b{ color:var(--sky); margin-right:8px; letter-spacing:.1em; }
  .actph{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:32px; }
  .actph figure{ margin:0; }
  .actph img{ width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center center; border-radius:12px; display:block; max-width:100%; }
  .actph figcaption{ font-size:13px; color:var(--sub); text-align:center; margin-top:8px; }

  /* supporter */
  .sup .lead{ text-align:center; font-weight:700; color:var(--navy); font-size:17px; line-height:2; max-width:40em; margin:0 auto 32px; }
  .sup .panel{ background:var(--sky3); padding:36px 28px; max-width:900px; margin:0 auto; }
  .sup .panel h3{ margin:0 0 22px; text-align:center; font-size:17px; font-weight:700; letter-spacing:.1em; }
  .sbtns{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .sbtn{ display:flex; align-items:center; gap:12px; padding:14px 16px; color:#fff; text-decoration:none; font-size:15px; font-weight:900; line-height:1.35; box-shadow:4px 4px 0 rgba(27,42,74,.18); }
  .sbtn .tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
  .sbtn .tx > small{ font-size:11.5px; font-weight:500; opacity:.9; line-height:1.45; }
  .sbtn .nw{ white-space:nowrap; }
  .sbtn .ic{ width:38px; height:38px; }
  .sbtn.join{ background:var(--navy); } .sbtn.tel{ background:var(--sky); } .sbtn.paper{ background:#4d5f87; }
  .sbtn.ig{ background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af); } .sbtn.fb{ background:#1877f2; } .sbtn.x{ background:#111; }
  .sbtn .ic{ width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.18); border-radius:6px; flex:0 0 auto; }
  .sbtn.soon{ opacity:.55; }
  .sup .note{ font-size:13px; color:var(--sub); text-align:center; margin-top:18px; }

  /* Contact Form 7 */
  .wpcf7 .f-row{ margin:0 0 18px; }
  .wpcf7 label{ display:block; font-weight:700; font-size:14px; letter-spacing:.04em; }
  .wpcf7 .req{ display:inline-block; background:#d7261e; color:#fff; font-size:11px; padding:0 6px; margin-left:8px; border-radius:2px; vertical-align:middle; }
  .wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="date"], .wpcf7 textarea, .wpcf7 select{ width:100%; margin-top:6px; padding:12px 14px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:16px; background:#fff; color:var(--ink); }
  .wpcf7 input:focus, .wpcf7 textarea:focus{ outline:3px solid var(--yel); outline-offset:1px; border-color:var(--sky); }
  .wpcf7 textarea{ min-height:140px; }
  .wpcf7 .chk{ font-weight:500; display:flex; align-items:center; gap:8px; }
  .wpcf7 .chk input{ width:20px; height:20px; }
  .wpcf7 .f-note{ font-size:13px; color:var(--sub); margin:0 0 20px; }
  .wpcf7 .btn{ border:0; cursor:pointer; font:inherit; font-weight:700; }
  .wpcf7 .wpcf7-not-valid-tip{ color:#d7261e; font-size:13px; margin-top:4px; }
  .wpcf7 .wpcf7-response-output{ margin:20px 0 0; padding:12px 16px; border-radius:8px; border:1px solid var(--sky); }
  .wpcf7 .wpcf7-spinner{ margin-left:12px; }
  footer{ background:var(--navy); color:#fff; padding-block:44px 24px; font-size:13.5px; }
  footer .fg{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px 36px; }
  footer .nm{ font-size:19px; font-weight:900; letter-spacing:.05em; line-height:1.3; }
  footer .nm small{ display:block; font-size:11px; font-weight:700; color:#c8d4e6; letter-spacing:.08em; }
  footer h4{ margin:0 0 6px; font-size:13.5px; font-weight:700; }
  footer .soon{ color:#9fb3d1; }
  footer .legal{ margin-top:36px; padding-top:16px; border-top:1px solid rgba(255,255,255,.18); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:12px; color:#c8d4e6; }

  @media (max-width:820px){
    section{ padding-block:56px; }
    .hero{ min-height:0; height:calc(100vh - 64px); height:calc(100svh - 64px); max-height:760px; }
    .hero .in{ display:block; padding:0; height:100%; min-height:0; position:relative; }
    .hero-img{ position:absolute; right:-30%; top:8px; bottom:auto; margin:0; width:146%; max-width:none; z-index:0; }
    .hero-img img{ width:100%; height:auto; max-height:none; filter:none; }
    .hero .shade{ background:linear-gradient(180deg, rgba(27,42,74,.35) 0%, rgba(27,42,74,.12) 40%, rgba(27,42,74,.3) 100%); }
    .hero .shade2{ display:block; z-index:1; height:58%; background:linear-gradient(180deg, rgba(27,42,74,0) 0%, rgba(27,42,74,.6) 32%, rgba(27,42,74,.93) 62%, rgba(27,42,74,.97) 100%); }
    .hero-txt{ position:absolute; left:20px; right:20px; bottom:40px; padding:0; z-index:2; }
    .hero-txt .top{ color:#fff; }
    .hero .top{ margin-bottom:12px; font-size:14px; gap:8px; }
    .hero .top .badge{ font-size:12px; padding:1px 8px; }
    .name{ font-size:clamp(44px,13vw,60px); }
    .name small{ font-size:.62em; }
    .catch{ font-size:17px; margin-top:8px; }
    .toppa{ font-size:44px; }
    .whatido{ margin-top:12px; font-size:13px; white-space:normal; }
    .clips{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
    .posts{ grid-template-columns:1fr; }
    .band .in{ grid-template-columns:minmax(0,1fr); }
    .box .lab{ padding:14px 18px; gap:12px; }
    .box .lab h3{ font-size:17px; }
    .box .txt{ padding:18px 18px 22px; }
    .band:nth-of-type(even) .box{ grid-column:auto; }
    .band .photo-slot, .band:nth-of-type(even) .photo-slot{ grid-column:auto; grid-row:auto; min-height:120px; }
    .prof-grid{ grid-template-columns:1fr; }
    .actph{ grid-template-columns:1fr; }
    .sbtns{ grid-template-columns:1fr 1fr; }
    footer .fg{ grid-template-columns:1fr; }
  }
  @media (max-width:480px){ .clips{ grid-template-columns:1fr 1fr; } .sbtns{ grid-template-columns:1fr; } }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

  /* --- WordPress 追加 --- */
  .post-body{ max-width:760px; margin:0 auto; padding:56px 20px 80px; }
  .post-body .meta{ display:flex; gap:10px; align-items:center; font-size:13px; color:var(--sub); letter-spacing:.06em; }
  .post-body .cat{ background:var(--sky3); color:var(--sky); font-weight:700; padding:1px 8px; border-radius:2px; letter-spacing:.1em; }
  .post-body h1{ font-size:clamp(24px,3.4vw,32px); font-weight:700; line-height:1.5; margin:12px 0 28px; }
  .entry{ font-size:16px; line-height:2; }
  .entry img{ max-width:100%; height:auto; }
  .entry h2{ font-size:22px; margin:1.6em 0 .6em; display:block; }
  .entry h2::before{ display:none; }
  .entry h3{ font-size:19px; margin:1.4em 0 .5em; }
  .entry p{ margin:0 0 1.2em; }
  .back{ margin-top:40px; }
  .archive-h{ padding:56px 20px 0; }
  .archive-h .sec-h{ margin-bottom:8px; }
  .pagination{ display:flex; justify-content:center; gap:8px; margin-top:32px; }
  .pagination .page-numbers{ padding:6px 12px; border:1px solid var(--line); text-decoration:none; }
  .pagination .current{ background:var(--navy); color:#fff; border-color:var(--navy); }
  .clip .thumb .instagram-media{ margin:0 !important; min-width:0 !important; width:100% !important; }
  .clip .thumb.has-embed{ background:none; display:block; aspect-ratio:auto; }
  .noposts{ text-align:center; color:var(--sub); padding:24px 0; }
  .admin-bar .hdr{ top:32px; }
  @media (max-width:782px){ .admin-bar .hdr{ top:46px; } }

  /* --- 挑戦: 写真あり --- */
  .band .in.has-photo{ max-width:1080px; grid-template-columns:1fr 1fr; }
  .band .photo img{ display:block; width:100%; height:auto; border-radius:12px; box-shadow:0 8px 30px rgba(27,42,74,.15); }
  @media (max-width:820px){ .band .in.has-photo{ grid-template-columns:minmax(0,1fr); } .band .in.has-photo .photo{ order:2; } }

  /* --- リンク集（/links/）: 名刺QRの受け皿。スマホ1画面に収める --- */
  .lk-body{ background:linear-gradient(180deg,var(--sky3) 0,#fff 60%); min-height:100vh; }
  .lk{ max-width:440px; margin:0 auto; padding:40px 20px 32px; }
  .lk-prof{ text-align:center; margin-bottom:26px; }
  .lk-photo{ width:120px; height:120px; object-fit:cover; object-position:center top; border-radius:50%; border:4px solid #fff; box-shadow:0 6px 20px rgba(27,42,74,.15); background:var(--sky2); }
  .lk-org{ margin:14px 0 0; font-size:12px; font-weight:700; letter-spacing:.1em; color:var(--sub); }
  .lk-name{ margin:2px 0 6px; font-size:28px; font-weight:900; letter-spacing:.08em; line-height:1.3; }
  .lk-catch{ margin:0; font-size:14px; font-weight:700; line-height:1.7; }
  .lk-catch b{ color:var(--sky); font-size:16px; }
  .lk-list{ display:grid; gap:12px; margin:0; }
  .lk-list .sbtn{ min-height:64px; border-radius:10px; }
  .lk-list .sbtn.site{ background:#fff; color:var(--navy); border:2px solid var(--navy); box-shadow:4px 4px 0 var(--sky2); }
  .lk-list .sbtn.site .ic{ background:var(--sky3); }
  .lk-foot{ margin:28px 0 0; text-align:center; font-size:12px; color:var(--sub); }

  /* v1.8 Instagram（自動表示・HERO直下で一番目立たせる） */
  .insta{ background:var(--sky3); }
  .insta .feed{ max-width:960px; margin:0 auto; }
  .insta .feed #sb_instagram{ padding-bottom:0 !important; }
  .insta .feed-empty{ max-width:420px; margin:0 auto; aspect-ratio:16/9; border-radius:12px; background:linear-gradient(160deg,var(--navy),#2f4a7a); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; font-weight:700; letter-spacing:.06em; }
  .insta .feed-note{ text-align:center; font-size:12px; color:var(--sub); margin:12px 0 0; }
  .insta .more{ text-align:center; margin-top:32px; }
  /* v1.8 おしらせ（一覧形式・控えめ） */
  .news{ padding-block:56px; }
  .nlist{ list-style:none; margin:0 auto; padding:0; max-width:760px; border-top:1px solid var(--line); }
  .nlist li{ border-bottom:1px solid var(--line); }
  .nlist a{ display:flex; align-items:center; gap:14px; padding:14px 4px; text-decoration:none; color:var(--ink); }
  .nlist a:hover .t{ color:var(--sky); }
  .nlist .d{ font-size:13px; color:var(--sub); letter-spacing:.06em; flex:none; }
  .nlist .cat{ background:var(--sky3); color:var(--sky); font-size:12px; font-weight:700; padding:1px 8px; border-radius:2px; letter-spacing:.1em; flex:none; }
  .nlist .t{ font-size:15px; font-weight:700; line-height:1.6; }
  .news .btnw{ margin-top:28px; }
  @media (max-width:820px){ .nlist a{ flex-wrap:wrap; gap:4px 10px; } .nlist .t{ flex-basis:100%; } }
  /* v1.8.1 フィードのボタン（筑波ハム つくば陣屋と同じ: もっと見る=黒／フォローする=Instagramグラデーション） */
  .insta #sbi_load{ display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap; margin-top:24px; }
  .insta #sbi_load .sbi_load_btn,
  .insta #sbi_load .sbi_follow_btn a{ display:inline-flex !important; align-items:center; gap:8px; padding:10px 20px !important; border-radius:4px !important; border:0 !important; font-weight:700 !important; font-size:15px !important; color:#fff !important; text-decoration:none; box-shadow:none !important; transition:opacity .2s ease; }
  .insta #sbi_load .sbi_load_btn{ background:#333 !important; }
  .insta #sbi_load .sbi_follow_btn a{ background:linear-gradient(45deg,#405DE6,#5851DB,#833AB4,#C13584,#E1306C) !important; }
  .insta #sbi_load .sbi_follow_btn svg{ width:16px; height:16px; margin:0 !important; }
  .insta #sbi_load .sbi_load_btn:hover,
  .insta #sbi_load .sbi_follow_btn a:hover{ opacity:.8; }
  /* v1.8.2 ボタンを中央に並べる（プラグインの margin:auto が左右に広げていた）／プロフィール欄は出さない */
  .insta #sbi_load .sbi_load_btn,
  .insta #sbi_load .sbi_follow_btn,
  .insta #sbi_load .sbi_follow_btn a{ margin:0 !important; }
  .insta #sbi_load{ float:none !important; }
  .insta .sb_instagram_header{ display:none !important; }
