/* 北九州メディア トップページ（リニューアル） */

body.kmt-body{margin:0;background:#FFFFFF}
.kmt,.kmt *{box-sizing:border-box}
.kmt a{color:#1A1A1A}
.kmt a:hover{color:#000}
.kmt img{max-width:none}

/* ---- アニメーション ---- */
@keyframes km-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes km-spin{to{transform:rotate(360deg)}}
@keyframes km-pop{0%{opacity:0;transform:translateY(24px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes km-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}
@keyframes km-blink{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes km-zoomin{0%{opacity:0;transform:scale(1.06)}100%{opacity:1;transform:none}}
@keyframes km-train{0%{left:-22%}100%{left:104%}}
@keyframes km-rattle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes km-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes km-drift{0%,100%{transform:rotate(var(--r,-12deg)) translateY(0)}50%{transform:rotate(var(--r,-12deg)) translateY(-16px)}}
@keyframes km-roamA{0%{left:4%;top:12%;transform:rotate(-10deg)}25%{left:46%;top:4%;transform:rotate(12deg)}50%{left:88%;top:38%;transform:rotate(-6deg)}75%{left:52%;top:84%;transform:rotate(14deg)}100%{left:4%;top:12%;transform:rotate(-10deg)}}
@keyframes km-roamB{0%{left:90%;top:80%;transform:rotate(8deg)}25%{left:60%;top:30%;transform:rotate(-12deg)}50%{left:18%;top:62%;transform:rotate(10deg)}75%{left:30%;top:6%;transform:rotate(-8deg)}100%{left:90%;top:80%;transform:rotate(8deg)}}
@keyframes km-roamC{0%{left:40%;top:50%;transform:rotate(0)}25%{left:8%;top:86%;transform:rotate(-14deg)}50%{left:70%;top:90%;transform:rotate(10deg)}75%{left:92%;top:10%;transform:rotate(-6deg)}100%{left:40%;top:50%;transform:rotate(0)}}
@keyframes km-progress{0%{width:4%}100%{width:96%}}

.anim .km-spin{animation:km-spin 14s linear infinite}
.anim .km-marquee{animation:km-marquee 30s linear infinite}
.anim .km-pop{animation:km-pop .8s cubic-bezier(.2,.9,.3,1.3) both}
.anim .km-blink{animation:km-blink 1.6s ease-in-out infinite}
.anim .km-zoomin{animation:km-zoomin 1.4s cubic-bezier(.2,.7,.2,1) both}
.km-train{left:38%}
.anim .km-train{animation:km-train 14s linear infinite}
.anim .km-train img{animation:km-rattle .35s ease-in-out infinite}
.anim .km-bob{animation:km-bob 3.2s ease-in-out infinite}
.anim .km-bob.d2{animation-delay:-1.6s}
.anim .km-drift{animation:km-drift 9s ease-in-out infinite}
.km-roam{position:absolute}
.anim .km-roam.ra{animation:km-roamA linear infinite}
.anim .km-roam.rb{animation:km-roamB linear infinite}
.anim .km-roam.rc{animation:km-roamC linear infinite}
.anim .km-progress{animation:km-progress 24s linear infinite}

/* ---- ホバー ---- */
.km-card{transition:transform .25s cubic-bezier(.2,.9,.3,1.4),box-shadow .25s}
.km-card:hover{transform:translate(-4px,-6px) rotate(-1deg);box-shadow:10px 12px 0 #1A1A1A}
.km-btn{transition:transform .15s,box-shadow .15s}
.km-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #1A1A1A}
.km-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 #1A1A1A}
.km-member .km-pose2{opacity:0}
.km-member:hover .km-pose1{opacity:0}
.km-member:hover .km-pose2{opacity:1}
.km-member img{transition:opacity .2s}
.anim .km-member:hover .km-chara{animation:km-wiggle .5s ease-in-out 2}
.km-phone-body{transition:transform .25s cubic-bezier(.2,.9,.3,1.4)}
.km-phone:hover .km-phone-body{transform:translateY(-8px) scale(1.03)}
.km-laptop-screen{transition:transform .25s cubic-bezier(.2,.9,.3,1.4)}
.km-laptop:hover .km-laptop-screen{transform:translateY(-6px)}
.km-nav a{text-decoration:none}
.km-nav a:hover{background:#1A1A1A;color:#FFFFFF}

/* ---- 背景・装飾 ---- */
.km-teal{background-image:url(img/bg-teal.jpg);background-size:cover;background-position:center}
.km-ig-ring{background:linear-gradient(45deg,#F9CE34,#EE2A7B,#6228D7)}
.kmt-article,.kmt-pickup-grid a{overflow-wrap:anywhere}
.kmt-clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---- 新着記事の絞り込みボタン ---- */
.kmt-filter{cursor:pointer;font-family:inherit;font-weight:900;font-size:14px;padding:10px 18px;border-radius:999px;border:3px solid #1A1A1A;box-shadow:3px 3px 0 #1A1A1A;color:#1A1A1A;background:#FFFFFF}
.kmt-filter[aria-pressed="true"]{background:#13A3AF}
.kmt-filter:focus-visible,.kmt a:focus-visible{outline:3px solid #F2E62B;outline-offset:3px}

/* ---- YouTube埋め込み（クリック後） ---- */
.kmt-yt-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- ログイン中の管理バー分ずらす ---- */
.admin-bar .kmt-header{top:32px !important}
@media (max-width:782px){.admin-bar .kmt-header{top:46px !important}}

/* ---- スマホ ---- */
@media (max-width:767px){
	.kmt-header{position:static !important}
	.kmt .km-nav{flex-wrap:nowrap !important;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}
	.kmt .km-nav a{white-space:nowrap}
	.kmt-pickup-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
	.kmt section > div[style*="padding: 96px"],
	.kmt section > div[style*="padding: 88px"]{padding-top:56px !important;padding-bottom:56px !important}
	.kmt section[style*="padding: 96px"]{padding-top:56px !important;padding-bottom:56px !important}
	.kmt .km-laptop{padding:0 12px !important}
}

/* ---- スマホだけの表示切り替え ---- */
.kmt .kmt-sp-only{display:none !important}
.kmt-pickup-grid > a:nth-child(n+4){display:none !important}
@media (max-width:767px){
	.kmt .kmt-pc-only{display:none !important}
	.kmt .kmt-sp-only{display:inline-flex !important}
	.kmt-pickup{order:1}
	.kmt-hero-btns{order:2}
	.kmt-pickup-grid > a:nth-child(4){display:flex !important}
	.kmt-sns-phones{flex-wrap:nowrap !important;gap:12px !important;width:100%}
	.kmt-sns-phones .km-phone{width:calc(50% - 6px) !important;gap:10px !important}
	.kmt-sns-phones .km-phone-body{border-radius:26px !important;padding:6px !important;box-shadow:5px 5px 0 #0B6F78 !important}
	.kmt-phone-screen{height:300px !important;border-radius:20px !important}
	.kmt-phone-label{font-size:12px !important;padding:6px 10px !important;white-space:nowrap}
	.kmt-service-title{font-size:24px !important;line-height:1.5 !important}
	/* 新着記事：左に写真・右にタイトルの横並び（カードのデザインはそのまま） */
	#news div[style*="minmax(300px"]{gap:16px !important}
	.kmt .kmt-article{flex-direction:row !important;border-radius:16px !important;box-shadow:4px 4px 0 #1A1A1A !important}
	.kmt .kmt-article > div:first-child{flex:0 0 132px;align-self:stretch}
	.kmt .kmt-article > div:first-child > img,.kmt .kmt-article > div:first-child > div{width:100% !important;height:100% !important;min-height:88px;aspect-ratio:auto !important;border-bottom:0 !important;border-right:3px solid #1A1A1A}
	.kmt .kmt-article > div:first-child > span{left:6px !important;top:6px !important;padding:1px 8px !important;font-size:10px !important}
	.kmt .kmt-article > div:last-child{padding:10px 12px !important;gap:6px !important;min-width:0}
	.kmt .kmt-article > div:last-child > div:first-child{font-size:14px !important;line-height:1.5 !important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
	.kmt .kmt-article > div:last-child > div:last-child{font-size:12px !important}
}

/* ---- オープニング画面 ---- */
html.kmt-lock,html.kmt-lock body{overflow:hidden}
.kmt-opening{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#2A1A12;overflow:hidden;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;transition:opacity .35s}
.kmt-opening[hidden]{display:none}
.kmt-opening.is-leaving{opacity:0}
.kmt-opening-blur{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(18px) brightness(.55);transform:scale(1.1)}
.kmt-opening-inner{position:relative;width:min(1100px,100%);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:32px}
.kmt-opening-banner{width:100%;height:auto;display:block;border:3px solid #1A1A1A;border-radius:20px;box-shadow:8px 8px 0 #1A1A1A;animation:km-zoomin 1.2s cubic-bezier(.2,.7,.2,1) both}
.kmt-opening-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 24px;animation:km-pop .8s .5s cubic-bezier(.2,.9,.3,1.3) both}
.kmt-op-btn{cursor:pointer;font-family:inherit;font-size:clamp(20px,2.4vw,28px);color:#1A1A1A;padding:16px 36px;border-radius:999px;border:3px solid #1A1A1A;box-shadow:5px 5px 0 #1A1A1A;transition:transform .15s,box-shadow .15s}
.kmt-op-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #1A1A1A}
.kmt-op-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 #1A1A1A}
.kmt-op-btn:focus-visible{outline:3px solid #FFFFFF;outline-offset:4px}
.kmt-op-go{background:#F2E62B}
.kmt-op-game{background:#13A3AF}
.kmt-footer-game{cursor:pointer;font:inherit;font-weight:700;font-size:14px;color:#FFFFFF;background:none;border:0;padding:0;text-decoration:underline}

/* ---- ガチャの枠 ---- */
.kmt-game{position:fixed;inset:0;z-index:100001;background:rgba(35,24,21,.92);display:flex;align-items:flex-start;justify-content:center;overflow:auto;font-family:'Kiwi Maru',system-ui,sans-serif;color:#1A1A1A}
.kmt-game[hidden],.kmt-game [hidden]{display:none !important}
.kmt-g-panel{width:min(760px,100%);margin:12px auto;background:#FFFBEA;border:3px solid #1A1A1A;border-radius:24px;box-shadow:8px 8px 0 #13A3AF;overflow:hidden}
.kmt-g-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#13A3AF;border-bottom:3px solid #1A1A1A}
.kmt-g-title{margin:0;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-size:24px;color:#FFFFFF;text-shadow:2px 2px 0 #0B6F78}
.kmt-g-head-btns{display:flex;gap:8px}
.kmt-g-close,.kmt-g-sound{cursor:pointer;width:44px;height:44px;border-radius:50%;border:3px solid #1A1A1A;background:#FFFFFF;font-size:18px;font-weight:900;color:#1A1A1A}
@media (max-width:767px){
	.kmt-g-panel{margin:0;border-radius:0;border-left:0;border-right:0;min-height:100%}
	.kmt-opening-inner{gap:24px}
	.kmt-op-btn{padding:14px 28px}
}

/* ---- メンバーカードガチャ ---- */
.kmt-gc-panel{box-shadow:8px 8px 0 #F2E62B}
.kmt-gc-hero{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 40px;padding:30px 20px 32px;background:radial-gradient(ellipse at 30% 0%,rgba(255,230,120,.35),transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(19,163,175,.5),transparent 60%),#1B1440;color:#FFFFFF;overflow:hidden;border-bottom:3px solid #1A1A1A}
.kmt-gc-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#FFFFFF 1px,transparent 1.5px);background-size:28px 28px;opacity:.25;animation:kmt-twinkle 3s ease-in-out infinite alternate;pointer-events:none}
@keyframes kmt-twinkle{from{opacity:.1}to{opacity:.35}}
.kmt-gc-machine{position:relative;width:220px;flex:0 0 auto}
.kmt-gc-machine.is-spinning{animation:kmt-rock .9s ease-in-out}
@keyframes kmt-rock{25%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}}
.kmt-gc-dome{position:relative;z-index:1;width:200px;height:200px;margin:0 auto -18px;border-radius:50%;border:4px solid #1A1A1A;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.9) 0 7%,rgba(255,255,255,.22) 8% 30%,rgba(255,255,255,.06) 31%),rgba(170,225,240,.3);overflow:hidden;box-shadow:inset -10px -14px 0 rgba(0,0,0,.15)}
.kmt-gc-dome i{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:3px solid #1A1A1A;background:linear-gradient(to bottom,var(--cc) 50%,#FFFFFF 50%)}
.kmt-gc-dome i[data-c="0"]{--cc:#2EA7E0}
.kmt-gc-dome i[data-c="1"]{--cc:#F2E62B}
.kmt-gc-dome i[data-c="2"]{--cc:#D7262B}
.kmt-gc-dome i[data-c="3"]{--cc:#F06BA0}
.kmt-gc-dome i[data-c="4"]{--cc:#3DBE6B}
.kmt-gc-dome i[data-c="5"]{--cc:#F5B800}
.kmt-gc-machine.is-spinning .kmt-gc-dome i{animation:kmt-jiggle .16s var(--d) 6 alternate ease-in-out}
@keyframes kmt-jiggle{from{transform:translate(-4px,3px) rotate(-14deg)}to{transform:translate(4px,-6px) rotate(16deg)}}
.kmt-gc-body{position:relative;height:150px;border:4px solid #1A1A1A;border-radius:22px 22px 14px 14px;background:linear-gradient(#E63A3F,#C21F25);box-shadow:6px 6px 0 #1A1A1A}
.kmt-gc-label{position:absolute;left:50%;top:14px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;background:#F2E62B;color:#1A1A1A;border:3px solid #1A1A1A;border-radius:999px;padding:2px 10px;font-weight:900;font-size:13px}
.kmt-gc-label img{width:20px;height:auto}
.kmt-gc-handle{position:absolute;left:24px;bottom:20px;width:62px;height:62px;border-radius:50%;background:#FFFFFF;border:4px solid #1A1A1A}
.kmt-gc-handle i{position:absolute;left:50%;top:5px;bottom:5px;width:14px;margin-left:-7px;border-radius:7px;background:#1A1A1A}
.kmt-gc-machine.is-spinning .kmt-gc-handle{animation:kmt-turn .9s cubic-bezier(.5,0,.3,1)}
@keyframes kmt-turn{to{transform:rotate(360deg)}}
.kmt-gc-out{position:absolute;right:24px;bottom:22px;width:72px;height:50px;border-radius:12px;background:#231815;border:4px solid #1A1A1A;box-shadow:inset 0 8px 0 rgba(0,0,0,.4)}
.kmt-gc-actions{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:12px;width:min(300px,100%)}
.kmt-gc-lead{margin:0;text-align:center;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-size:22px;line-height:1.5;text-shadow:2px 2px 0 #1A1A1A}
.kmt-gc-btn{cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-size:22px;line-height:1.3;color:#1A1A1A;padding:12px 22px;border-radius:999px;border:3px solid #1A1A1A;background:#F2E62B;box-shadow:4px 4px 0 #1A1A1A;transition:transform .12s,box-shadow .12s}
.kmt-gc-btn small{font-family:'Kiwi Maru',sans-serif;font-size:12px;font-weight:700}
.kmt-gc-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #1A1A1A}
.kmt-gc-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #1A1A1A}
.kmt-gc-btn:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
.kmt-gc-btn.is-sub{background:#FFFFFF;font-size:17px}
.kmt-gc-btn:disabled{cursor:not-allowed;background:#9A9A9A;color:#FFFFFF;box-shadow:4px 4px 0 #1A1A1A;transform:none}
.kmt-gc-btn.is-save{background:linear-gradient(135deg,#3DDC84,#13A3AF);color:#FFFFFF;text-shadow:1px 1px 0 #1A1A1A}
.kmt-gc-spins{margin:-2px 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;font-weight:700;font-size:15px;text-align:center}
.kmt-gc-spins b{font-size:22px;color:#F2E62B}
.kmt-gc-spins small{font-size:12px;opacity:.85}
.kmt-gc-dots{display:inline-flex;gap:5px}
.kmt-gc-dots i{width:16px;height:16px;border-radius:50%;border:2px solid #FFFFFF;background:linear-gradient(to bottom,#3A3A3A 50%,#5A5A5A 50%)}
.kmt-gc-dots i.is-on{background:linear-gradient(to bottom,#F2E62B 50%,#FFFFFF 50%);border-color:#1A1A1A;box-shadow:0 0 8px rgba(242,230,43,.8)}
.kmt-gc-progress{margin:0;text-align:center;font-weight:700;font-size:14px}
.kmt-gc-progress b{font-size:22px;color:#F2E62B}

.kmt-gc-lineup{padding:20px 16px 26px;display:flex;flex-direction:column;gap:20px}
.kmt-gc-lineup-title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-weight:400;font-size:24px}
.kmt-gc-lineup-title small{font-family:'Kiwi Maru',sans-serif;font-size:14px;font-weight:700}
.kmt-gc-group h3{margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px}
.kmt-gc-group h3 small{font-size:12px;color:#555555;font-weight:700}
.kmt-gc-tier{display:inline-block;padding:3px 12px;border-radius:999px;border:2px solid #1A1A1A;font-weight:900;font-size:13px;line-height:1.4}
.kmt-gc-tier.is-n{background:#2EA7E0;color:#FFFFFF}
.kmt-gc-tier.is-sr{background:linear-gradient(135deg,#FFE680,#F5B800 50%,#FFF3B0);color:#1A1A1A}
.kmt-gc-tier.is-lg{background:linear-gradient(90deg,#FF4D6D,#FFB400,#F2E62B,#3DDC84,#2EA7E0,#9B5DE5);color:#FFFFFF;text-shadow:1px 1px 0 #1A1A1A}
.kmt-gc-slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.kmt-gc-slots li{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.kmt-gc-slots li > b{font-size:12px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.kmt-gc-slot{position:relative;display:block;width:100%;aspect-ratio:544/760;border-radius:8px;overflow:hidden;border:2px solid #1A1A1A;background:#231815;padding:0;font:inherit;color:inherit}
.kmt-gc-slot img{display:block;width:100%;height:100%;object-fit:cover}
button.kmt-gc-slot{cursor:pointer;transition:transform .15s}
button.kmt-gc-slot:hover,button.kmt-gc-slot:focus-visible{transform:translateY(-4px) rotate(-2deg);outline:none}
.kmt-gc-slot.is-owned.is-sr,.kmt-gc-slot.is-owned.is-lg{box-shadow:0 0 0 2px #F5B800,0 0 14px rgba(245,184,0,.85)}
.kmt-gc-count{position:absolute;right:4px;bottom:4px;background:#1A1A1A;color:#FFFFFF;font-size:11px;font-weight:900;border-radius:999px;padding:1px 7px}
.kmt-gc-slot.is-locked img{filter:grayscale(.6) brightness(.9)}
.kmt-gc-mada{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);background:rgba(26,26,26,.85);color:#FFFFFF;font-size:11px;font-weight:900;padding:2px 8px;border-radius:4px;white-space:nowrap}
.kmt-gc-slot.is-peek img{filter:blur(1.5px)}
.kmt-gc-foil{position:absolute;left:0;right:0;top:34%;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#B8860B,#FFE680 30%,#F5B800 50%,#FFF3B0 70%,#B8860B);background-size:200% 200%;clip-path:polygon(0 14%,100% 0,100% 100%,0 100%);animation:kmt-foil 3s linear infinite}
.kmt-gc-foil b{font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-weight:400;font-size:clamp(10px,2.4vw,15px);color:#5A3B00;letter-spacing:.06em;transform:rotate(-8deg)}
@keyframes kmt-foil{to{background-position:200% 200%}}
.kmt-gc-slot.is-hidden{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#3B2A7A,#120C2A);box-shadow:inset 0 0 0 3px rgba(255,255,255,.08)}
.kmt-gc-q{font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-size:clamp(28px,7vw,48px);background:linear-gradient(90deg,#FF4D6D,#FFB400,#F2E62B,#3DDC84,#2EA7E0,#9B5DE5,#FF4D6D);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:kmt-foil 2.5s linear infinite}
.kmt-gc-note{margin:0;font-size:12px;color:#555555;line-height:1.7}

/* 演出レイヤー（全画面） */
.kmt-gc-show{--ray:rgba(120,200,255,.35);position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#2B2160 0%,#0A0818 75%);color:#FFFFFF;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:'Kiwi Maru',system-ui,sans-serif}
.kmt-gc-show[data-tier="sr"]{--ray:rgba(255,215,0,.5);background:radial-gradient(circle at 50% 45%,#6A4500 0%,#140B00 75%)}
.kmt-gc-show[data-tier="lg"]{background:radial-gradient(circle at 50% 45%,#5B1F84 0%,#0A0418 75%)}
.kmt-gc-show.is-dark::before{content:"";position:absolute;inset:0;z-index:3;background:#000000}
.kmt-gc-show.is-shake{animation:kmt-shake .5s}
@keyframes kmt-shake{10%,50%,90%{transform:translate(-8px,4px)}30%,70%{transform:translate(8px,-4px)}}
.kmt-gc-fx{position:absolute;inset:0;z-index:6;width:100%;height:100%;pointer-events:none}
.kmt-gc-rays{position:absolute;z-index:1;left:50%;top:50%;width:200vmax;height:200vmax;margin:-100vmax 0 0 -100vmax;background:repeating-conic-gradient(from 0deg,var(--ray) 0 5deg,transparent 5deg 15deg);-webkit-mask:radial-gradient(circle,#000000 0,transparent 42%);mask:radial-gradient(circle,#000000 0,transparent 42%);opacity:0;transition:opacity .5s;animation:kmt-spin 14s linear infinite;pointer-events:none}
.kmt-gc-rays.is-on{opacity:1}
.kmt-gc-show[data-tier="lg"] .kmt-gc-rays{background:repeating-conic-gradient(from 0deg,rgba(255,77,109,.6) 0 5deg,transparent 5deg 10deg,rgba(242,230,43,.6) 10deg 15deg,transparent 15deg 20deg,rgba(46,167,224,.6) 20deg 25deg,transparent 25deg 30deg);animation-duration:7s}
@keyframes kmt-spin{to{transform:rotate(360deg)}}
.kmt-gc-flash{position:absolute;inset:0;z-index:8;background:#FFFFFF;opacity:0;pointer-events:none}
.kmt-gc-flash.is-on{animation:kmt-flash .6s ease-out}
@keyframes kmt-flash{0%{opacity:.95}100%{opacity:0}}
.kmt-gc-omen{position:absolute;z-index:7;left:0;right:0;top:50%;margin:0;padding:.1em 0;text-align:center;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-size:clamp(48px,14vw,110px);line-height:1.1;pointer-events:none;opacity:0;transform:translateY(-50%)}
.kmt-gc-omen.is-on{animation:kmt-omen 1.2s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes kmt-omen{0%{opacity:0;transform:translateY(-50%) scale(2.4)}18%{opacity:1;transform:translateY(-50%) scale(.95)}26%{transform:translateY(-50%) scale(1.05)}80%{opacity:1;transform:translateY(-50%) scale(1)}100%{opacity:0;transform:translateY(-50%) scale(1.1)}}
.kmt-gc-omen.is-chance{color:#F2E62B;background:linear-gradient(transparent 12%,rgba(215,38,43,.9) 12% 88%,transparent 88%);text-shadow:4px 4px 0 #1A1A1A}
.kmt-gc-omen.is-dark{color:#FFFFFF;font-size:clamp(40px,10vw,80px);text-shadow:0 0 24px #FF4D6D}
.kmt-gc-omen.is-rainbow,.kmt-gc-omen.is-promote{background:linear-gradient(90deg,#FF4D6D,#FFB400,#F2E62B,#3DDC84,#2EA7E0,#9B5DE5);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #1A1A1A) drop-shadow(0 0 18px rgba(255,255,255,.6))}
.kmt-gc-omen.is-promote{top:24%;font-size:clamp(40px,11vw,80px)}

.kmt-gc-capsule{--cap:#2EA7E0;--halo:rgba(120,200,255,.8);--glow:0;position:absolute;z-index:4;left:50%;top:50%;width:160px;height:160px;margin:-80px 0 0 -80px;filter:drop-shadow(0 0 calc(10px + var(--glow) * 12px) var(--halo))}
.kmt-gc-capsule[data-tier="sr"]{--cap:linear-gradient(135deg,#FFF3B0,#F5B800 45%,#B8860B 70%,#FFE680);--halo:rgba(255,215,0,.95)}
.kmt-gc-capsule[data-tier="lg"]{--cap:conic-gradient(#FF4D6D,#FFB400,#F2E62B,#3DDC84,#2EA7E0,#9B5DE5,#FF4D6D);--halo:rgba(255,255,255,.95)}
.kmt-gc-capsule[data-tier="lg"] .kmt-gc-cap-top{animation:kmt-hue 1.2s linear infinite}
@keyframes kmt-hue{to{filter:hue-rotate(360deg)}}
.kmt-gc-capsule i{position:absolute;left:0;width:100%;height:50%;border:5px solid #1A1A1A;transition:transform .55s cubic-bezier(.3,.6,.3,1)}
.kmt-gc-cap-top{top:0;border-radius:80px 80px 0 0;border-bottom-width:3px !important;background:radial-gradient(circle at 34% 40%,rgba(255,255,255,.95) 0 9%,transparent 10%),var(--cap)}
.kmt-gc-cap-bottom{bottom:0;border-radius:0 0 80px 80px;border-top-width:3px !important;background:linear-gradient(#FFFFFF,#D9D9D9)}
.kmt-gc-capsule.is-drop{animation:kmt-drop 1s cubic-bezier(.3,0,.3,1) both}
@keyframes kmt-drop{0%{transform:translateY(-110vh) rotate(-260deg)}55%{transform:translateY(0) rotate(0)}70%{transform:translateY(-50px) rotate(8deg)}85%{transform:translateY(0) rotate(-3deg)}93%{transform:translateY(-12px)}100%{transform:none}}
.kmt-gc-capsule.is-knock{animation:kmt-knock .4s}
@keyframes kmt-knock{20%{transform:rotate(-14deg) scale(1.06)}45%{transform:rotate(12deg) scale(1.1)}70%{transform:rotate(-6deg)}100%{transform:none}}
.kmt-gc-capsule.is-open .kmt-gc-cap-top{transform:translate(-40px,-70vh) rotate(-80deg)}
.kmt-gc-capsule.is-open .kmt-gc-cap-bottom{transform:translate(40px,70vh) rotate(60deg)}
.kmt-gc-hint{position:absolute;z-index:4;left:0;right:0;top:calc(50% + 112px);margin:0;text-align:center;font-weight:900;font-size:20px;text-shadow:2px 2px 0 #1A1A1A;animation:kmt-blink 1s ease-in-out infinite;pointer-events:none}
@keyframes kmt-blink{50%{opacity:.35}}

.kmt-gc-reveal{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 12px 120px;pointer-events:none}
.kmt-gc-reveal:empty{display:none}
.kmt-gc-card{--rx:0deg;--ry:0deg;position:relative;aspect-ratio:544/760;perspective:1200px;transition:transform .3s;pointer-events:auto}
.kmt-gc-reveal.is-single .kmt-gc-card{width:min(74vw,330px,calc((100vh - 300px) * .716))}
@supports (height:100svh){.kmt-gc-reveal.is-single .kmt-gc-card{width:min(74vw,330px,calc((100svh - 300px) * .716))}}
.kmt-gc-card-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.3,.5,1)}
.kmt-gc-card.is-open .kmt-gc-card-in{transform:rotateX(var(--rx)) rotateY(calc(180deg + var(--ry)))}
.kmt-gc-card.is-settled .kmt-gc-card-in{transition:transform .15s ease-out}
.kmt-gc-face{position:absolute;inset:0;border-radius:5.5%/4%;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.kmt-gc-front{transform:rotateY(180deg);background:#FFFFFF}
.kmt-gc-front img{display:block;width:100%;height:100%;object-fit:cover}
.kmt-gc-back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6%;border:3px solid #1A1A1A;color:#FFFFFF;text-align:center;background:repeating-linear-gradient(90deg,#2EA7E0 0 8%,#D7262B 8% 16%,#9B5DE5 16% 24%,#3DBE6B 24% 32%,#F2E62B 32% 40%) top/100% 5% no-repeat,repeating-linear-gradient(90deg,#2EA7E0 0 8%,#D7262B 8% 16%,#9B5DE5 16% 24%,#3DBE6B 24% 32%,#F2E62B 32% 40%) bottom/100% 5% no-repeat,radial-gradient(circle at 50% 45%,#2E2470,#14102E 70%)}
.kmt-gc-back-logo{width:42%;aspect-ratio:1;border-radius:50%;background:#FFFFFF;border:3px solid #F2E62B;display:flex;align-items:center;justify-content:center}
.kmt-gc-back-logo img{width:70%;height:auto}
.kmt-gc-back b{font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-weight:400;font-size:clamp(9px,2.6vw,20px)}
.kmt-gc-back small{font-size:clamp(6px,1.6vw,11px);letter-spacing:.2em;color:#F2E62B;font-weight:900}
.kmt-gc-holo{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 30%,rgba(255,80,200,.45) 42%,rgba(80,240,255,.45) 50%,rgba(255,245,80,.45) 58%,transparent 70%);background-size:250% 250%;mix-blend-mode:color-dodge;animation:kmt-holo 3.5s linear infinite}
.kmt-gc-card.is-sr .kmt-gc-holo{opacity:.7}
.kmt-gc-card.is-lg .kmt-gc-holo{opacity:.95}
@keyframes kmt-holo{0%{background-position:120% 50%}100%{background-position:-120% 50%}}
.kmt-gc-card.is-enter{animation:kmt-cardin .8s cubic-bezier(.2,.9,.3,1.1) both;animation-delay:calc(var(--i,0) * 70ms)}
@keyframes kmt-cardin{0%{opacity:0;transform:translateY(40vh) scale(.2) rotate(-30deg)}100%{opacity:1;transform:none}}
.kmt-gc-reveal.is-single .kmt-gc-card.is-enter{animation-name:kmt-cardspin}
@keyframes kmt-cardspin{0%{opacity:0;transform:scale(.1) rotateY(-1080deg)}100%{opacity:1;transform:none}}
.kmt-gc-card.is-tease .kmt-gc-back{animation:kmt-tease .45s ease-in-out infinite alternate}
.kmt-gc-card.is-sr{--tg:#FFD700}
.kmt-gc-card.is-lg{--tg:#FF4D6D}
.kmt-gc-card.is-lg.is-tease .kmt-gc-back{animation:kmt-tease .3s ease-in-out infinite alternate,kmt-hue 1s linear infinite}
@keyframes kmt-tease{from{box-shadow:0 0 6px 2px var(--tg,#FFD700);transform:scale(1)}to{box-shadow:0 0 36px 14px var(--tg,#FFD700);transform:scale(1.04)}}
.kmt-gc-card.is-zoom{animation:km-pop .45s cubic-bezier(.2,.9,.3,1.3) both}
.kmt-gc-new{position:absolute;z-index:3;top:-8px;right:-8px;background:#D7262B;color:#FFFFFF;font-style:normal;font-weight:900;font-size:12px;line-height:1.4;padding:2px 8px;border-radius:999px;border:2px solid #FFFFFF;opacity:0;transform:scale(0);transition:opacity .3s .3s,transform .3s .3s cubic-bezier(.3,1.6,.5,1)}
.kmt-gc-card.is-open .kmt-gc-new{opacity:1;transform:rotate(10deg)}
.kmt-gc-new.is-inline{position:static;display:inline-block;opacity:1;transform:none;font-size:14px}
.kmt-gc-stamp{margin:0;min-height:1.2em;font-family:'Zen Antique Soft','Kiwi Maru',sans-serif;font-size:clamp(28px,7vw,48px);line-height:1.2;text-align:center;opacity:0}
.kmt-gc-stamp.is-on{animation:kmt-stamp .6s cubic-bezier(.2,.9,.3,1.4) both}
@keyframes kmt-stamp{0%{opacity:0;transform:scale(3) rotate(-10deg)}100%{opacity:1;transform:rotate(-3deg)}}
.kmt-gc-stamp.is-n{color:#FFFFFF;text-shadow:3px 3px 0 #2EA7E0}
.kmt-gc-stamp.is-sr{background:linear-gradient(180deg,#FFF7C2,#FFD700 50%,#C88A00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #1A1A1A)}
.kmt-gc-stamp.is-lg,.kmt-gc-stamp .is-lg{background:linear-gradient(90deg,#FF4D6D,#FFB400,#F2E62B,#3DDC84,#2EA7E0,#9B5DE5);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #1A1A1A)}
.kmt-gc-stamp .is-sr{color:#FFD700;text-shadow:2px 2px 0 #1A1A1A}
.kmt-gc-stamp .is-n{color:#9FD8F5;text-shadow:2px 2px 0 #1A1A1A}
.kmt-gc-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;max-width:420px;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}
.kmt-gc-info.is-on{opacity:1;transform:none}
.kmt-gc-info b{font-size:20px}
.kmt-gc-info small{width:100%;font-size:13px;color:#DDDDDD}
.kmt-gc-have{font-size:12px;font-weight:700;color:#CCCCCC}
.kmt-gc-after{position:absolute;z-index:9;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 12px max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.6));cursor:auto}
.kmt-gc-after-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.kmt-gc-after .kmt-gc-btn{font-size:17px;padding:10px 18px}
.kmt-gc-tip{margin:0;font-size:14px;font-weight:700;color:#FFFFFF;text-shadow:1px 1px 0 #1A1A1A}
.kmt-gc-tip b{font-size:20px;color:#F2E62B}
.kmt-gc-skip{position:absolute;z-index:9;right:12px;bottom:max(16px,env(safe-area-inset-bottom));cursor:pointer;font:inherit;font-weight:900;font-size:13px;color:#FFFFFF;background:rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.6);border-radius:999px;padding:8px 14px}
@media (max-width:767px){
	.kmt-gc-panel .kmt-g-title{font-size:19px;white-space:nowrap}
	.kmt-gc-hero{padding:18px 14px 24px;gap:10px}
	.kmt-gc-machine{transform:scale(.82);margin:-16px 0 -20px}
	.kmt-gc-machine.is-spinning{animation:none}
	.kmt-gc-lead{font-size:19px}
	.kmt-gc-slots{gap:6px}
	.kmt-gc-slots li > b{font-size:10px}
	.kmt-gc-group h3 small{width:100%}
}
@media (prefers-reduced-motion:reduce){
	.kmt-gc-rays,.kmt-gc-hero::before,.kmt-gc-foil,.kmt-gc-q{animation:none}
}

/* ---- 動きを減らす設定の人には止める ---- */
@media (prefers-reduced-motion:reduce){
	.kmt.anim *,.kmt.anim *::before,.kmt.anim *::after{animation:none !important;transition:none !important}
}
