/* 日本LGBT協会 2026年 新しいバナー・コーナー用(既存デザインに追加) */
:root{--k-red:#e4003a;--k-orange:#f39800;--k-yellow:#ffd900;--k-green:#009944;--k-blue:#0068b7;--k-purple:#920783;--k-ink:#382400;--k-paper:#fffaf2;--k-line:#e2d6c3}
.k-rainbow{height:6px;background:linear-gradient(90deg,var(--k-red),var(--k-orange),var(--k-yellow),var(--k-green),var(--k-blue),var(--k-purple));border-radius:3px}
.k-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
@media (max-width:767px){.k-grid{grid-template-columns:1fr 1fr;gap:10px}}
.k-card{display:block;background:#fff;border:1px solid var(--k-line);border-radius:12px;overflow:hidden;text-decoration:none!important;color:var(--k-ink)!important;transition:transform .15s,box-shadow .15s}
.k-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.k-card .k-band{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;color:#fff;font-weight:bold;font-size:17px;line-height:1.3}
.k-card .k-ico{font-size:28px;line-height:1}
.k-card .k-txt{padding:10px 14px 14px;font-size:13px;line-height:1.7}
.k-card .k-go{display:inline-block;margin-top:6px;font-weight:bold;font-size:12px}
.k-red .k-band{background:var(--k-red)}.k-orange .k-band{background:var(--k-orange)}.k-yellow .k-band{background:#e6b800}.k-green .k-band{background:var(--k-green)}.k-blue .k-band{background:var(--k-blue)}.k-purple .k-band{background:var(--k-purple)}
.k-red .k-go{color:var(--k-red)}.k-orange .k-go{color:#c77a00}.k-yellow .k-go{color:#9a7b00}.k-green .k-go{color:var(--k-green)}.k-blue .k-go{color:var(--k-blue)}.k-purple .k-go{color:var(--k-purple)}
.k-join{display:block;margin:18px 0;padding:0 0 16px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--k-line);color:var(--k-ink)!important;text-decoration:none!important;text-align:center}
.k-join:before{content:"";display:block;height:10px;margin-bottom:14px;background:linear-gradient(90deg,var(--k-red),var(--k-orange),var(--k-yellow),var(--k-green),var(--k-blue),var(--k-purple))}
.k-join strong{display:block;font-size:20px;color:var(--k-ink)}
.k-join span{display:inline-block;margin-top:6px;font-size:13px}
.k-join em{display:inline-block;margin-top:10px;padding:6px 18px;border-radius:999px;background:var(--k-red);color:#fff;font-style:normal;font-weight:bold;font-size:14px}
/* サイドバー用の小さいバナー */
.k-side{display:block;margin:0 0 8px;padding:12px;border-radius:10px;color:#fff!important;text-decoration:none!important;font-weight:bold;font-size:15px;line-height:1.35}
.k-side small{display:block;font-weight:normal;font-size:11px;opacity:.95}
.k-side.k-blue{background:var(--k-blue)}.k-side.k-green{background:var(--k-green)}.k-side.k-purple{background:var(--k-purple)}.k-side.k-red{background:var(--k-red)}
/* 中ページ */
.k-page{font-size:14px;line-height:1.8;color:var(--k-ink)}
.k-page h3{margin:24px 0 10px}
.k-page .k-box{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:16px;margin:12px 0}
.k-page .k-note{font-size:12px;color:#6b5a45}
.k-page .k-btn{display:inline-block;padding:10px 18px;border-radius:999px;background:var(--k-blue);color:#fff!important;text-decoration:none!important;font-weight:bold;margin:4px 6px 4px 0}
.k-page .k-btn.k-green{background:var(--k-green)}.k-page .k-btn.k-red{background:var(--k-red)}
.k-books{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:767px){.k-books{grid-template-columns:1fr}}
.k-books .k-box{margin:0}
.k-news-filter button{border:1px solid var(--k-line);background:#fff;border-radius:999px;padding:6px 12px;margin:0 6px 6px 0;font-size:13px;cursor:pointer}
.k-news-filter button[aria-pressed="true"]{background:var(--k-blue);border-color:var(--k-blue);color:#fff}
.k-news{list-style:none;padding:0;margin:0}
.k-news li{border-bottom:1px solid var(--k-line);padding:10px 0}
.k-news .k-meta{font-size:12px;color:#6b5a45}
.k-news .k-tag{display:inline-block;font-size:11px;border-radius:999px;padding:0 8px;margin-left:6px;background:#f1ebe0}
.k-news a{font-weight:bold}
.k-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media (max-width:767px){.k-grid{grid-template-columns:1fr 1fr}}
/* 公式キャラクター */
.k-friends{display:flex;align-items:center;gap:16px;margin:18px 0;padding:14px;background:#fff;border:1px solid var(--k-line);border-radius:14px;background-image:linear-gradient(180deg,rgba(255,255,255,0) 70%,rgba(0,104,183,.06))}
.k-friends img{width:46%;max-width:420px;height:auto}
.k-friends strong{display:block;font-size:20px;margin-bottom:6px;background:linear-gradient(90deg,var(--k-red),var(--k-orange),#d4a800,var(--k-green),var(--k-blue),var(--k-purple));-webkit-background-clip:text;background-clip:text;color:transparent}
.k-friends p{font-size:13px;line-height:1.8;margin:0}
@media (max-width:767px){.k-friends{flex-direction:column;text-align:center}.k-friends img{width:90%}}
/* 会員募集バナーからのぞくクマノミ */
.k-join{position:relative}
.k-join:after{content:"";position:absolute;right:10px;bottom:6px;width:70px;height:100px;background:url(../images/chara_kumanomi.png) no-repeat center/contain}
@media (max-width:767px){.k-join:after{width:48px;height:70px;right:4px}}
/* キャラクター紹介(名前つき) */
.k-chara{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 0}
@media (max-width:767px){.k-chara{grid-template-columns:repeat(2,1fr)}}
.k-chara div{text-align:center;background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:8px}
.k-chara img{height:110px;width:auto;max-width:100%;object-fit:contain}
.k-chara b{display:block;font-size:16px;margin-top:4px}
.k-chara .c-sora b{color:#555}.k-chara .c-asahi b{color:var(--k-orange)}.k-chara .c-akari b{color:#b5862e}.k-chara .c-shizuku b{color:var(--k-blue)}
/* 各ページに登場するキャラクター */
.k-mascot{float:right;width:90px;height:auto;margin:-6px 0 6px 12px}
.k-mascot.small{width:64px}
@media (max-width:767px){.k-mascot{width:64px}}
/* トップ:新しいカードをスライドのすぐ下に */
.k-top{max-width:960px;margin:12px auto 0;padding:0 10px;box-sizing:border-box}
.k-top .k-grid{margin-top:6px}
@media (max-width:767px){
  .k-top{padding:0 8px}
  .k-card .k-band{font-size:15px;padding:10px 10px 8px}
  .k-card .k-txt{font-size:12px;padding:8px 10px 10px}
  /* 古い大きな写真の枠は、スマホでは小さめに */
  .topNavi .topNaviPhoto img{max-height:140px;width:auto;margin:0 auto;display:block}
}
/* お気に入り登録のおすすめ */
.k-bookmark{display:flex;align-items:center;gap:12px;margin:14px 0;padding:12px 14px;border-radius:12px;background:#fffbe6;border:1px dashed #e6b800}
.k-bookmark img{width:56px;height:auto;flex:none}
.k-bookmark p{margin:0;font-size:13px;line-height:1.7}
/* 活動の年表 */
.k-timeline{list-style:none;padding:0;margin:10px 0;border-left:4px solid var(--k-line)}
.k-timeline li{position:relative;padding:8px 0 8px 14px;border-bottom:1px dashed var(--k-line);font-size:13px;line-height:1.7}
.k-tl-date{display:inline-block;min-width:92px;font-weight:bold;margin-right:6px}
.k-tl-tag{display:inline-block;color:#fff;font-size:11px;border-radius:999px;padding:0 8px;margin-right:6px}
/* 講演会・研修会ページ */
.k-lec-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.k-lec-stats div{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:10px;text-align:center}
.k-lec-stats b{display:block;font-size:18px;color:var(--k-red)}
.k-lec-stats span{font-size:12px}
.k-lec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.k-lec{background:#fff;border:1px solid var(--k-line);border-radius:12px;overflow:hidden}
.k-lec img{width:100%;height:200px;object-fit:cover;display:block}
.k-lec b{display:block;margin:8px 12px 2px;font-size:16px}
.k-lec p{margin:0 12px 12px;font-size:13px;line-height:1.7}
.k-cta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:12px;background:#fff6f2;border:1px solid #f3c9bd;border-radius:12px}
.k-cta span{font-size:12px;color:#6b5a45}
.k-cta-big{flex-wrap:nowrap;gap:14px}
.k-cta-big img{width:38%;max-width:260px;border-radius:10px}
.k-cta-big b{display:block;font-size:18px;margin-bottom:4px}
@media (max-width:767px){.k-lec-grid{grid-template-columns:1fr}.k-lec img{height:190px}.k-lec-stats{grid-template-columns:1fr}.k-cta-big{flex-wrap:wrap}.k-cta-big img{width:100%;max-width:none}}
.k-lec-lead{font-size:15px;background:#fffbe6;border:1px dashed #e6b800;border-radius:12px;padding:10px 14px}
.k-lec-group{margin:20px 0 8px;font-size:17px;border-left:6px solid var(--k-red);padding-left:8px}
.k-lec-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.k-lec img{height:160px}
.k-lec-noimg{background:linear-gradient(180deg,#fff,#fdf8ef);border-top:5px solid var(--k-orange)}
.k-lec-noimg b{margin-top:12px}
/* メディア情報 */
.k-mhero{text-align:center;padding:18px 12px;margin:10px 0 14px;border-radius:14px;background:linear-gradient(135deg,#fff7e0,#fff,#eef6ff);border:1px solid var(--k-line)}
.k-mhero big{display:block;font-size:44px;font-weight:bold;line-height:1.1;color:var(--k-red)}
.k-mhero big small{font-size:18px}
.k-mhero p{margin:6px 0 0;font-size:14px}
.k-mstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.k-mstats div{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:10px 6px;text-align:center}
.k-mstats b{display:block;font-size:24px;line-height:1.2}
.k-mstats span{font-size:12px}
.k-mstats div:nth-child(1) b{color:var(--k-purple)}.k-mstats div:nth-child(2) b{color:#c77a00}.k-mstats div:nth-child(3) b{color:var(--k-blue)}.k-mstats div:nth-child(4) b{color:var(--k-red)}.k-mstats div:nth-child(5) b{color:var(--k-green)}.k-mstats div:nth-child(6) b{color:var(--k-ink)}
.k-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}
.k-chips span{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--k-line);font-size:12px;line-height:1.5}
.k-chips.k-tv span{border-color:#d9b3d3}.k-chips.k-np span{border-color:#ebc98f}.k-chips.k-web span{border-color:#a9cbe8}
.k-myear{margin:22px 0 8px;padding:6px 12px;border-radius:8px;color:#fff;font-size:18px;background:var(--k-ink)}
.k-myear.k-hot{background:linear-gradient(90deg,var(--k-red),var(--k-orange))}
.k-myear em{font-style:normal;font-size:12px;margin-left:8px;padding:2px 8px;border-radius:999px;background:#fff;color:var(--k-red)}
.k-feat{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.k-feat>div{background:#fff;border:2px solid #e6b800;border-radius:12px;padding:12px;box-shadow:0 2px 0 rgba(230,184,0,.25)}
.k-feat .k-tl-tag{margin-right:6px}
.k-feat strong{display:block;font-size:15px;margin:6px 0 2px}
.k-feat small{display:block;color:#6b5a45}
.k-feat p{margin:6px 0 0;font-size:13px}
.k-feat a{font-size:13px;font-weight:bold}
.k-feat .k-big{grid-column:1/-1;border-color:var(--k-red)}
.k-feat .k-big strong{font-size:17px}
.k-mlist{list-style:none;margin:0;padding:0}
.k-mlist li{padding:7px 0;border-bottom:1px dashed var(--k-line);font-size:13px}
.k-mlist li b{display:inline-block;min-width:5.5em;color:#6b5a45;font-weight:normal}
.k-mlist .k-tl-tag{margin-right:6px}
.k-mlist a{font-weight:bold}
@media (max-width:767px){.k-mstats{grid-template-columns:repeat(2,1fr)}.k-feat{grid-template-columns:1fr}.k-mhero big{font-size:36px}}
.k-page h3 small{font-size:12px;font-weight:normal;margin-left:6px}
.k-seven{list-style:none;margin:8px 0 6px;padding:0}
.k-seven li{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--k-line);border-left:6px solid var(--k-red);border-radius:10px;padding:10px 12px;margin:0 0 8px;font-size:13px}
.k-seven li b{flex:0 0 32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:var(--k-red);color:#fff;font-size:16px}
.k-seven li strong{display:block;font-size:15px}
.k-seven-blue li{border-left-color:var(--k-blue)}.k-seven-blue li b{background:var(--k-blue)}
/* 代表理事あいさつ */
.k-greet-top{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#fff7e0,#fff,#eef6ff);border:1px solid var(--k-line);border-radius:14px;padding:14px;margin:10px 0 14px}
.k-greet-top img{width:42%;max-width:260px;border-radius:12px;display:block}
.k-greet-catch{font-size:22px;font-weight:bold;line-height:1.5;margin:0 0 10px;color:var(--k-red)}
.k-greet{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:16px 18px;font-size:15px;line-height:2}
.k-greet h4{margin:18px 0 4px;padding-left:10px;border-left:5px solid var(--k-orange);font-size:16px}
.k-greet-photo{width:100%;border-radius:10px;margin:8px 0;display:block}
.k-greet-sign{text-align:right;margin-top:14px}
@media (max-width:767px){.k-greet-top{flex-direction:column;text-align:center}.k-greet-top img{width:70%}.k-greet-catch{font-size:20px}}
.k-join-box{margin:18px 0;padding:16px;border-radius:14px;background:#fff6f2;border:2px solid var(--k-red);text-align:center}
.k-join-box strong{display:block;font-size:19px;margin-bottom:6px}
.k-join-box p{text-align:left}
.k-greet-quote{margin:10px 0;padding:12px 14px;border-radius:10px;background:#fffbe6;border:1px dashed #e6b800;font-size:17px;font-weight:bold;text-align:center;line-height:1.8}
/* 動画 */
.k-videos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:8px 0 14px}
.k-video{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:10px}
.k-video img{width:100%;border-radius:8px;display:block}
.k-video p{margin:8px 0 4px;font-size:13px}
.k-video-frame{position:relative;width:100%;padding-top:56.25%;border-radius:8px;overflow:hidden;background:#000}
.k-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.k-video-short .k-video-frame{padding-top:0;height:420px;max-width:240px;margin:0 auto}
@media (max-width:767px){.k-videos{grid-template-columns:1fr}}
/* トップのメディア出演の帯 */
.k-mband{display:flex;gap:14px;align-items:center;margin:16px 0;padding:12px;border-radius:14px;background:linear-gradient(135deg,#fff7e0,#fff,#f3ecff);border:2px solid #e6b800;color:var(--k-ink)!important;text-decoration:none!important}
.k-mband-photos{flex:0 0 48%;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px}
.k-mband-photos img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}
.k-mband-photos img:first-child{grid-row:1/3;aspect-ratio:1.2}
.k-mband-txt span{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--k-purple);color:#fff;font-size:12px;font-weight:bold}
.k-mband-txt strong{display:block;font-size:17px;margin:6px 0 2px}
.k-mband-txt strong b{font-size:28px;color:var(--k-red);margin-left:4px}
.k-mband-txt p{margin:4px 0 8px;font-size:13px;line-height:1.7}
.k-mband-txt em{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--k-blue);color:#fff;font-style:normal;font-weight:bold;font-size:13px}
@media (max-width:767px){.k-mband{flex-direction:column}.k-mband-photos{width:100%}}
/* 主な講演テーマ */
.k-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:8px 0 14px}
.k-theme{background:#fff;border:1px solid var(--k-line);border-top:5px solid var(--k-orange);border-radius:12px;padding:12px 14px}
.k-theme>span{display:inline-block;padding:2px 10px;border-radius:999px;background:#fff1d6;color:#8a5a00;font-size:12px;font-weight:bold}
.k-theme strong{display:block;font-size:15px;line-height:1.6;margin:8px 0 4px;color:var(--k-red)}
.k-theme p{margin:4px 0;font-size:13px;line-height:1.75}
.k-theme ul{margin:6px 0 0;padding-left:1.2em;font-size:12.5px}
.k-theme{padding:0 0 12px;overflow:hidden}
.k-theme>img{width:100%;height:170px;object-fit:cover;display:block;margin:0 0 10px}
.k-theme>span,.k-theme>strong,.k-theme>p,.k-theme>ul{margin-left:14px;margin-right:14px}
/* トップ：実績の帯と年表 */
.k-auth{margin:0 0 14px;padding:18px 16px 14px;border-radius:16px;background:linear-gradient(135deg,#fffaf0 0%,#ffffff 55%,#f1f6ff 100%);border:1px solid var(--k-line);position:relative;overflow:hidden}
.k-auth:before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,var(--k-red),var(--k-orange),var(--k-yellow),var(--k-green),var(--k-blue),var(--k-purple))}
.k-auth-catch{margin:4px 0 6px;font-size:26px;font-weight:bold;letter-spacing:.04em;color:var(--k-ink);text-align:center}
.k-auth-lead{margin:0 0 12px;font-size:13.5px;line-height:1.8;text-align:center;color:#5a4630}
.k-auth-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.k-auth-stats div{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:10px 4px;text-align:center}
.k-auth-stats b{display:block;font-size:28px;line-height:1.1;color:var(--k-red)}
.k-auth-stats b small{font-size:13px;margin-left:2px;color:var(--k-ink)}
.k-auth-stats span{display:block;margin-top:4px;font-size:12px;color:#5a4630}
.k-auth-media{margin:12px 0 0;font-size:12.5px;line-height:1.8;text-align:center;color:#5a4630}
.k-auth-media span{display:inline-block;margin-right:8px;padding:1px 10px;border-radius:999px;background:var(--k-ink);color:#fff;font-size:11px;font-weight:bold}
.k-milestones{margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--k-line)}
.k-milestones h3{margin:0 0 8px;font-size:17px;border-left:6px solid var(--k-purple);padding-left:8px}
.k-milestones ul{list-style:none;margin:0;padding:0}
.k-milestones li{position:relative;padding:7px 0 7px 22px;border-bottom:1px dashed var(--k-line);font-size:13.5px;line-height:1.7}
.k-milestones li:before{content:"";position:absolute;left:4px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--k-purple)}
.k-milestones li b{display:inline-block;min-width:7.5em;color:var(--k-purple)}
.k-milestones-more{display:inline-block;margin-top:10px;padding:8px 16px;border-radius:999px;background:var(--k-blue);color:#fff!important;text-decoration:none!important;font-weight:bold;font-size:13px}
@media (max-width:767px){.k-auth-catch{font-size:21px}.k-auth-stats{grid-template-columns:repeat(2,1fr)}.k-auth-stats b{font-size:24px}.k-milestones li b{display:block}}
.k-auth-catch span{display:inline-block}
.k-milestones ul,.k-milestones li{list-style:none!important;margin-left:0!important}
.k-milestones li{background:none!important}
