/* ===== 無限大プロモーション TOP 2026 新デザイン（追加CSS用）===== */
/* 1) PC/SP 切り替え（既存テーマと同じ 768px 境界） */
.mg2-pc{display:block}
.mg2-sp{display:none}
@media (max-width:767px){.mg2-pc{display:none}.mg2-sp{display:block}}
/* 2) 既存テーマCSSの影響を打ち消す */
.mg2-pc,.mg2-sp{line-height:normal;font-family:'Noto Sans JP',sans-serif;color:#262B36;overflow-x:clip;font-size:16px;text-align:left}
.mg2-pc p,.mg2-sp p{margin:0}
.mg2-pc [id],.mg2-sp [id]{scroll-margin-top:72px}
html{scroll-behavior:smooth}
/* 3) このページでは既存ヘッダー/フッターを隠す（新デザインのものを使う） */
body:has(.mg2-pc) .g-header,body:has(.mg2-pc) .g-footer{display:none!important}
body:has(.mg2-pc){padding-top:0!important}
/* 4) ログイン中の管理バー分だけ固定ヘッダーをずらす */
.admin-bar .mg-header{top:32px!important}
@media (max-width:782px){.admin-bar .mg-header{top:46px!important}}
@media (max-width:600px){.admin-bar .mg-header{top:0!important}}
/* 5) アコーディオン（<details>方式・JS不要） */
.mg2-pc .mg-acc,.mg2-sp .mg-acc{width:100%;display:flex;flex-direction:column;align-items:center}
.mg2-pc .mg-acc-body{margin-top:20px}
.mg2-sp .mg-acc-body{margin-top:16px}
.mg2-pc summary,.mg2-sp summary{list-style:none;cursor:pointer}
.mg2-pc summary::-webkit-details-marker,.mg2-sp summary::-webkit-details-marker{display:none}
.mg2-pc summary::marker,.mg2-sp summary::marker{content:''}
.mg-acc .mg-lab-open{display:none}
.mg-acc[open] .mg-lab-open{display:inline}
.mg-acc[open] .mg-lab-closed{display:none}
.mg-acc .mg-chev{transition:transform .25s ease}
.mg-acc[open] .mg-chev{transform:rotate(180deg)}
.mg-acc-body{width:100%}
/* 6) リスト・画像のリセット */
.mg2-pc ul,.mg2-pc ol,.mg2-sp ul,.mg2-sp ol{list-style:none;margin:0;padding:0}
.mg2-pc img,.mg2-sp img{max-width:none}

/* ---- PC ---- */
.mg2-pc *{box-sizing: border-box;}
.mg2-pc a{color: inherit; text-decoration: none;}
.mg2-pc a:hover{opacity: 0.8;}
.mg2-pc .mg-hide-scroll{scrollbar-width: none; -ms-overflow-style: none;}
.mg2-pc .mg-hide-scroll::-webkit-scrollbar{display: none;}
.mg2-pc .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-pc .mg-pop-btn:hover{transform: translateY(-2px);}
.mg2-pc .mg-acc-btn{cursor: pointer; border: none;}
.mg2-pc .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 14px; letter-spacing: 0.04em; padding: 14px 30px; border: 1.5px solid;}
.mg2-pc .mg-heading-block{display: flex; flex-direction: column; gap: 10px;}
.mg2-pc .mg-heading-rule{width: 46px; height: 3px;}
.mg2-pc .mg-filter-pill{display: inline-flex; align-items: center; padding: 8px 20px; border-radius: 999px; font-size: 13px; font-weight: 700; border: 1.5px solid rgba(255,255,255,0.35); color: rgba(255,255,255,0.85);}
.mg2-pc .mg-talent-card{position: relative; display: block;}
.mg2-pc .mg-talent-overlay{position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(20,20,30,0); opacity: 0; transition: opacity 0.25s ease, background 0.25s ease;}
.mg2-pc .mg-talent-card:hover .mg-talent-overlay{opacity: 1; background: rgba(20,20,30,0.45);}
.mg2-pc .mg-talent-name-vertical{writing-mode: vertical-rl; color: #FFFFFF; font-weight: 700; font-size: 20px; letter-spacing: 0.2em; text-shadow: 0 2px 8px rgba(0,0,0,0.4);}

/* ---- SP ---- */
.mg2-sp *{box-sizing: border-box;}
.mg2-sp a{color: inherit; text-decoration: none;}
.mg2-sp a:hover{opacity: 0.8;}
.mg2-sp .mg-hide-scroll{scrollbar-width: none; -ms-overflow-style: none;}
.mg2-sp .mg-hide-scroll::-webkit-scrollbar{display: none;}
.mg2-sp .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-sp .mg-acc-btn{cursor: pointer; border: none;}
.mg2-sp .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 13px; letter-spacing: 0.02em; padding: 13px 24px; border: 1.5px solid;}
.mg2-sp .mg-heading-block{display: flex; flex-direction: column; gap: 8px;}
.mg2-sp .mg-heading-rule{width: 38px; height: 3px;}
.mg2-sp .mg-filter-pill{display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 999px; font-size: 11px; font-weight: 700; border: 1.5px solid rgba(255,255,255,0.35); color: rgba(255,255,255,0.85);}
.mg2-sp .mg-talent-card{position: relative; display: block;}
.mg2-sp .mg-talent-overlay{position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(20,20,30,0); opacity: 0; transition: opacity 0.25s ease, background 0.25s ease;}
.mg2-sp .mg-talent-card:hover .mg-talent-overlay{opacity: 1; background: rgba(20,20,30,0.45);}
.mg2-sp .mg-talent-name-vertical{writing-mode: vertical-rl; color: #FFFFFF; font-weight: 700; font-size: 16px; letter-spacing: 0.2em; text-shadow: 0 2px 8px rgba(0,0,0,0.4);}

/* ===== 無限大プロモーション サブページ共通・追加CSS（QSCS / 役職・階級制度 / 属性）===== */
/* フォーム部品: 既存テーマのリセットで消える既定の余白を戻す */
.mg2-pc input[type=radio],.mg2-sp input[type=radio]{margin:3px 3px 0 5px}
.mg2-pc input[type=checkbox],.mg2-sp input[type=checkbox]{margin:3px 3px 3px 4px}
/* スマホ用ヘッダーのメニュー（ハンバーガー）*/
.mg2-sp .mg-menu{position:relative;flex:0 0 auto}
.mg2-sp .mg-menu>summary{list-style:none;cursor:pointer}
.mg2-sp .mg-menu>summary::-webkit-details-marker{display:none}
.mg2-sp .mg-menu>summary::marker{content:''}
.mg2-sp .mg-menu-list{position:absolute;right:0;top:44px;min-width:200px;background:#FFFFFF;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.16);padding:8px 0;z-index:60;display:flex;flex-direction:column}
.mg2-sp .mg-menu-list a{display:block;padding:13px 18px;font-size:14px;font-weight:500;color:#262B36}

/* ---- qscs PC ---- */
.mg2-pc.mg-pg-qscs *{box-sizing: border-box;}
.mg2-pc.mg-pg-qscs a{color: inherit; text-decoration: none;}
.mg2-pc.mg-pg-qscs a:hover{opacity: 0.8;}
.mg2-pc.mg-pg-qscs .mg-hide-scroll{scrollbar-width: none; -ms-overflow-style: none;}
.mg2-pc.mg-pg-qscs .mg-hide-scroll::-webkit-scrollbar{display: none;}
.mg2-pc.mg-pg-qscs .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-pc.mg-pg-qscs .mg-pop-btn:hover{transform: translateY(-2px);}
.mg2-pc.mg-pg-qscs .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 14px; letter-spacing: 0.04em; padding: 14px 30px; border: 1.5px solid;}
.mg2-pc.mg-pg-qscs .mg-heading-block{display: flex; flex-direction: column; gap: 10px;}
.mg2-pc.mg-pg-qscs .mg-heading-rule{width: 46px; height: 3px;}
.mg2-pc.mg-pg-qscs .mg-member-card{display: flex; flex-direction: column; align-items: center; gap: 10px;}
.mg2-pc.mg-pg-qscs .mg-member-photo{object-fit: cover; display: block; border-radius: 14px; box-shadow: 0 10px 24px rgba(0,0,0,0.12);}
.mg2-pc.mg-pg-qscs .mg-amb-box{display: flex; flex-direction: column; align-items: center; gap: 3px; border-radius: 8px; padding: 7px 14px;}
.mg2-pc.mg-pg-qscs .mg-amb-label{font-size: 9px; font-weight: 700; letter-spacing: 0.1em;}
.mg2-pc.mg-pg-qscs .mg-amb-store{font-size: 13px; font-weight: 700;}
/* ---- qscs SP ---- */
.mg2-sp.mg-pg-qscs *{box-sizing: border-box;}
.mg2-sp.mg-pg-qscs a{color: inherit; text-decoration: none;}
.mg2-sp.mg-pg-qscs a:hover{opacity: 0.8;}
.mg2-sp.mg-pg-qscs .mg-hide-scroll{scrollbar-width: none; -ms-overflow-style: none;}
.mg2-sp.mg-pg-qscs .mg-hide-scroll::-webkit-scrollbar{display: none;}
.mg2-sp.mg-pg-qscs .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-sp.mg-pg-qscs .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 13px; letter-spacing: 0.02em; padding: 13px 24px; border: 1.5px solid;}
.mg2-sp.mg-pg-qscs .mg-heading-block{display: flex; flex-direction: column; gap: 8px;}
.mg2-sp.mg-pg-qscs .mg-heading-rule{width: 38px; height: 3px;}
.mg2-sp.mg-pg-qscs .mg-member-card{display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 0 0 auto;}
.mg2-sp.mg-pg-qscs .mg-member-photo{object-fit: cover; display: block; border-radius: 12px; box-shadow: 0 8px 18px rgba(0,0,0,0.12);}
.mg2-sp.mg-pg-qscs .mg-amb-box{display: flex; flex-direction: column; align-items: center; gap: 2px; border-radius: 7px; padding: 6px 10px;}
.mg2-sp.mg-pg-qscs .mg-amb-label{font-size: 8px; font-weight: 700; letter-spacing: 0.08em;}
.mg2-sp.mg-pg-qscs .mg-amb-store{font-size: 11px; font-weight: 700;}

/* ---- roles PC ---- */
.mg2-pc.mg-pg-roles *{box-sizing: border-box;}
.mg2-pc.mg-pg-roles a{color: inherit; text-decoration: none;}
.mg2-pc.mg-pg-roles a:hover{opacity: 0.8;}
.mg2-pc.mg-pg-roles .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-pc.mg-pg-roles .mg-pop-btn:hover{transform: translateY(-2px);}
.mg2-pc.mg-pg-roles .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 14px; letter-spacing: 0.04em; padding: 14px 30px; border: 1.5px solid;}
.mg2-pc.mg-pg-roles .mg-heading-block{display: flex; flex-direction: column; gap: 10px;}
.mg2-pc.mg-pg-roles .mg-heading-rule{width: 46px; height: 3px;}
.mg2-pc.mg-pg-roles .mg-step-row{display: flex; gap: 26px;}
.mg2-pc.mg-pg-roles .mg-step-dot{width: 15px; height: 15px; border-radius: 50%; flex: 0 0 auto; box-shadow: 0 0 0 5px #FFFFFF;}
.mg2-pc.mg-pg-roles .mg-step-line{width: 2px; flex: 1 1 auto; background: #E4E7EA; margin-top: 4px;}
.mg2-pc.mg-pg-roles .mg-step-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 21px;}
.mg2-pc.mg-pg-roles .mg-step-dept{font-size: 12px; color: #8b93a1;}
.mg2-pc.mg-pg-roles .mg-step-role{font-weight: 700; font-size: 14px; margin-top: 6px;}
.mg2-pc.mg-pg-roles .mg-step-body{font-size: 14px; line-height: 1.95; color: #444b54; margin-top: 10px;}
.mg2-pc.mg-pg-roles .mg-diagram-placeholder{width: 100%; aspect-ratio: 16/9; border: 2px dashed #C7CCD3; border-radius: 16px; background: #FAFBFC; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;}
.mg2-pc.mg-pg-roles .mg-promo-box{margin-top: 16px; background: #F7F8FA; border-radius: 12px; padding: 18px 22px;}
.mg2-pc.mg-pg-roles .mg-promo-label{font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: #8b93a1; margin-bottom: 12px;}
.mg2-pc.mg-pg-roles .mg-promo-grid{display: flex; gap: 30px; flex-wrap: wrap;}
.mg2-pc.mg-pg-roles .mg-promo-col{flex: 1 1 220px; min-width: 200px;}
.mg2-pc.mg-pg-roles .mg-promo-dept{font-size: 12px; font-weight: 700; margin-bottom: 6px;}
.mg2-pc.mg-pg-roles .mg-promo-list{margin: 0; padding-left: 18px; font-size: 12.5px; line-height: 1.85; color: #444b54;}
.mg2-pc.mg-pg-roles .mg-promo-list li{margin-bottom: 4px;}
.mg2-pc.mg-pg-roles .mg-promo-note{margin-top: 6px; font-size: 11px; color: #b0b6bd;}
/* ---- roles SP ---- */
.mg2-sp.mg-pg-roles *{box-sizing: border-box;}
.mg2-sp.mg-pg-roles a{color: inherit; text-decoration: none;}
.mg2-sp.mg-pg-roles a:hover{opacity: 0.8;}
.mg2-sp.mg-pg-roles .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-sp.mg-pg-roles .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 13px; letter-spacing: 0.02em; padding: 13px 24px; border: 1.5px solid;}
.mg2-sp.mg-pg-roles .mg-heading-block{display: flex; flex-direction: column; gap: 8px;}
.mg2-sp.mg-pg-roles .mg-heading-rule{width: 38px; height: 3px;}
.mg2-sp.mg-pg-roles .mg-step-row{display: flex; gap: 16px;}
.mg2-sp.mg-pg-roles .mg-step-dot{width: 13px; height: 13px; border-radius: 50%; flex: 0 0 auto; box-shadow: 0 0 0 4px #FFFFFF;}
.mg2-sp.mg-pg-roles .mg-step-line{width: 2px; flex: 1 1 auto; background: #E4E7EA; margin-top: 4px;}
.mg2-sp.mg-pg-roles .mg-step-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 17px;}
.mg2-sp.mg-pg-roles .mg-step-dept{font-size: 10px; color: #8b93a1;}
.mg2-sp.mg-pg-roles .mg-step-role{font-weight: 700; font-size: 12px; margin-top: 6px;}
.mg2-sp.mg-pg-roles .mg-step-body{font-size: 12.5px; line-height: 1.9; color: #444b54; margin-top: 8px;}
.mg2-sp.mg-pg-roles .mg-diagram-placeholder{width: 100%; aspect-ratio: 4/5; border: 2px dashed #C7CCD3; border-radius: 14px; background: #FAFBFC; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;}
.mg2-sp.mg-pg-roles .mg-promo-box{margin-top: 12px; background: #F7F8FA; border-radius: 10px; padding: 14px 16px;}
.mg2-sp.mg-pg-roles .mg-promo-label{font-size: 10px; font-weight: 700; letter-spacing: 0.05em; color: #8b93a1; margin-bottom: 10px;}
.mg2-sp.mg-pg-roles .mg-promo-grid{display: flex; flex-direction: column; gap: 14px;}
.mg2-sp.mg-pg-roles .mg-promo-dept{font-size: 11px; font-weight: 700; margin-bottom: 5px;}
.mg2-sp.mg-pg-roles .mg-promo-list{margin: 0; padding-left: 16px; font-size: 11px; line-height: 1.8; color: #444b54;}
.mg2-sp.mg-pg-roles .mg-promo-list li{margin-bottom: 3px;}

/* ---- attributes PC ---- */
.mg2-pc.mg-pg-attributes *{box-sizing: border-box;}
.mg2-pc.mg-pg-attributes a{color: inherit; text-decoration: none;}
.mg2-pc.mg-pg-attributes a:hover{opacity: 0.8;}
.mg2-pc.mg-pg-attributes .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-pc.mg-pg-attributes .mg-pop-btn:hover{transform: translateY(-2px);}
.mg2-pc.mg-pg-attributes .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 14px; letter-spacing: 0.04em; padding: 14px 30px; border: 1.5px solid;}
.mg2-pc.mg-pg-attributes .mg-heading-block{display: flex; flex-direction: column; gap: 10px;}
.mg2-pc.mg-pg-attributes .mg-heading-rule{width: 46px; height: 3px;}
.mg2-pc.mg-pg-attributes .mg-diagram-placeholder{width: 100%; border: 2px dashed #C7CCD3; border-radius: 16px; background: #FAFBFC; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 28px 24px; text-align: center;}
.mg2-pc.mg-pg-attributes .mg-promo-box{margin-top: 16px; background: #F7F8FA; border-radius: 12px; padding: 18px 22px;}
.mg2-pc.mg-pg-attributes .mg-promo-label{font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: #8b93a1; margin-bottom: 12px;}
.mg2-pc.mg-pg-attributes .mg-attr-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;}
.mg2-pc.mg-pg-attributes .mg-attr-card{background: #FFFFFF; border: 1.5px solid #E4E7EA; border-radius: 14px; padding: 22px 20px; display: flex; flex-direction: column; gap: 10px;}
.mg2-pc.mg-pg-attributes .mg-attr-dot{width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto;}
.mg2-pc.mg-pg-attributes .mg-attr-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 15px;}
.mg2-pc.mg-pg-attributes .mg-attr-tagline{font-size: 12.5px; color: #444b54; line-height: 1.75; margin: 0;}
.mg2-pc.mg-pg-attributes .mg-combo-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;}
.mg2-pc.mg-pg-attributes .mg-combo-card{background: #F7F8FA; border-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 10px;}
.mg2-pc.mg-pg-attributes .mg-combo-formula{display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.mg2-pc.mg-pg-attributes .mg-combo-chip{display: inline-flex; align-items: center; padding: 5px 13px; border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #FFFFFF;}
.mg2-pc.mg-pg-attributes .mg-combo-plus{font-weight: 900; color: #C7CCD3; font-size: 14px;}
.mg2-pc.mg-pg-attributes .mg-combo-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 16px;}
.mg2-pc.mg-pg-attributes .mg-combo-desc{font-size: 13px; line-height: 1.85; color: #444b54; margin: 0;}
.mg2-pc.mg-pg-attributes .mg-special-card{position: relative; overflow: hidden; border-radius: 16px; padding: 24px 24px 22px 24px; isolation: isolate; box-shadow: 0 10px 28px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.25);}
.mg2-pc.mg-pg-attributes .mg-special-card::before{content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: 0.9; mix-blend-mode: overlay;
      background-image:
        radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0) 65%);
      background-repeat: no-repeat;
      background-size: 3px 3px, 4px 4px, 2px 2px, 3px 3px, 2px 2px, 4px 4px;
      background-position: 12% 20%, 32% 62%, 55% 15%, 74% 70%, 88% 30%, 20% 85%;}
.mg2-pc.mg-pg-attributes .mg-special-card::after{content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
      background: linear-gradient(115deg, rgba(255,255,255,0) 35%, rgba(255,255,255,0.35) 48%, rgba(255,255,255,0) 60%);}
.mg2-pc.mg-pg-attributes .mg-special-card > *{position: relative; z-index: 2;}
.mg2-pc.mg-pg-attributes .mg-special-card .mg-combo-chip{backdrop-filter: blur(1px);}
.mg2-pc.mg-pg-attributes .mg-special-card .mg-combo-desc{text-shadow: 0 1px 2px rgba(0,0,0,0.45);}
.mg2-pc.mg-pg-attributes .mg-special-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 26px; letter-spacing: 0.03em; color: #FFFFFF; text-shadow: 0 2px 3px rgba(0,0,0,0.55), 0 0 14px rgba(0,0,0,0.35);}
.mg2-pc.mg-pg-attributes .mg-special-name .mg-special-sub{display: block; margin: 4px 0 0 0; font-size: 12px; font-weight: 500; letter-spacing: 0.02em; color: rgba(255,255,255,0.85); text-shadow: 0 1px 2px rgba(0,0,0,0.5);}
.mg2-pc.mg-pg-attributes .mg-special-charisma{background: linear-gradient(135deg, #240634 0%, #5A1A8C 22%, #9B4DFF 42%, #6A1FAE 58%, #3A0F5C 78%, #1E0530 100%); border: 1px solid rgba(220,180,255,0.35);}
.mg2-pc.mg-pg-attributes .mg-special-artist{background: linear-gradient(135deg, #3D0000 0%, #A31515 22%, #FF4D4D 42%, #B71C1C 58%, #6E0B0B 78%, #300000 100%); border: 1px solid rgba(255,190,190,0.35);}
.mg2-pc.mg-pg-attributes .mg-special-superstar{background: linear-gradient(135deg, #6B4E00 0%, #C99A12 22%, #FFDE59 42%, #D4A017 58%, #7A5C00 78%, #4A3800 100%); border: 1px solid rgba(255,235,170,0.4);}
.mg2-pc.mg-pg-attributes .mg-special-superstar .mg-special-name,.mg2-pc.mg-pg-attributes .mg-special-superstar .mg-combo-desc{text-shadow: 0 2px 3px rgba(0,0,0,0.65), 0 0 14px rgba(0,0,0,0.5);}
.mg2-pc.mg-pg-attributes .mg-special-maestro{background: linear-gradient(135deg, #0A3018 0%, #1F7A42 22%, #5FCB7A 42%, #229150 58%, #0F4826 78%, #082014 100%); border: 1px solid rgba(190,255,210,0.35);}
.mg2-pc.mg-pg-attributes .mg-badge-group{display: flex; flex-direction: column; gap: 12px; align-items: center;}
.mg2-pc.mg-pg-attributes .mg-badge-group-label{font-size: 12.5px; font-weight: 700; color: #8b93a1; letter-spacing: 0.02em;}
.mg2-pc.mg-pg-attributes .mg-badge-row{display: flex; flex-wrap: wrap; gap: 14px; justify-content: center;}
.mg2-pc.mg-pg-attributes .mg-badge-basic{width: 54px; height: 54px; border-radius: 50%; background: linear-gradient(180deg, #E4E7EA 0%, #C7CCD3 100%); border: 1.5px solid #C7CCD3; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 22px; color: rgba(255,255,255,0.65);}
.mg2-pc.mg-pg-attributes .mg-badge-advanced{width: 58px; height: 58px; background: linear-gradient(135deg, #DADFE4 0%, #F2F4F6 45%, #C2C8D0 100%); clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); border: 1.5px solid #B7BEC7; box-shadow: inset 0 0 0 3px rgba(255,255,255,0.55); display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 22px; color: rgba(255,255,255,0.7);}
.mg2-pc.mg-pg-attributes .mg-badge-special{width: 66px; height: 66px; border-radius: 50%; background: #17181C; display: flex; align-items: center; justify-content: center; color: #FFFFFF; font-weight: 900; font-size: 24px; box-shadow: 0 5px 12px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.15);}
.mg2-pc.mg-pg-attributes table.mg-threshold-table{width: 100%; border-collapse: collapse; font-size: 13.5px;}
.mg2-pc.mg-pg-attributes table.mg-threshold-table th,.mg2-pc.mg-pg-attributes table.mg-threshold-table td{padding: 12px 16px; border-bottom: 1px solid #E4E7EA; text-align: left;}
.mg2-pc.mg-pg-attributes table.mg-threshold-table th{color: #8b93a1; font-weight: 700; font-size: 11px; letter-spacing: 0.05em;}
.mg2-pc.mg-pg-attributes .mg-rule-list{margin: 0; padding-left: 20px; font-size: 14.5px; line-height: 2.05; color: #444b54;}
.mg2-pc.mg-pg-attributes .mg-rule-list li{margin-bottom: 10px;}
.mg2-pc.mg-pg-attributes .mg-note-box{background: #FFF6E9; border: 1px solid #F0DDB8; border-radius: 12px; padding: 18px 22px; font-size: 13px; line-height: 1.9; color: #7A5A1E;}
.mg2-pc.mg-pg-attributes .mg-form-card{background: #FFFFFF; border: 1.5px solid #E4E7EA; border-radius: 18px; padding: 34px; display: flex; flex-direction: column; gap: 20px;}
.mg2-pc.mg-pg-attributes .mg-form-field{display: flex; flex-direction: column; gap: 8px;}
.mg2-pc.mg-pg-attributes .mg-form-label{font-weight: 700; font-size: 13.5px; color: #262B36;}
.mg2-pc.mg-pg-attributes .mg-form-label .mg-req{color: #E0368F; font-size: 11px; margin-left: 6px; font-weight: 700;}
.mg2-pc.mg-pg-attributes select.mg-mock-input,.mg2-pc.mg-pg-attributes input.mg-mock-input{width: 100%; padding: 13px 16px; border-radius: 10px; border: 1.5px solid #D8DCE1; font-size: 14px; font-family: 'Noto Sans JP', sans-serif; color: #262B36; background: #FFFFFF;}
.mg2-pc.mg-pg-attributes .mg-radio-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;}
.mg2-pc.mg-pg-attributes .mg-radio-pill{display: flex; align-items: center; gap: 8px; border: 1.5px solid #D8DCE1; border-radius: 10px; padding: 10px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer;}
.mg2-pc.mg-pg-attributes .mg-radio-pill input{accent-color: #1B1464;}
.mg2-pc.mg-pg-attributes .mg-file-drop{border: 1.5px dashed #C7CCD3; border-radius: 10px; padding: 18px; text-align: center; font-size: 12.5px; color: #8b93a1; background: #FAFBFC;}
/* ---- attributes SP ---- */
.mg2-sp.mg-pg-attributes *{box-sizing: border-box;}
.mg2-sp.mg-pg-attributes a{color: inherit; text-decoration: none;}
.mg2-sp.mg-pg-attributes a:hover{opacity: 0.8;}
.mg2-sp.mg-pg-attributes .mg-pop-btn{transition: transform 0.15s ease; cursor: pointer;}
.mg2-sp.mg-pg-attributes .mg-pill-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 700; font-size: 13px; letter-spacing: 0.02em; padding: 13px 24px; border: 1.5px solid;}
.mg2-sp.mg-pg-attributes .mg-heading-block{display: flex; flex-direction: column; gap: 8px;}
.mg2-sp.mg-pg-attributes .mg-heading-rule{width: 38px; height: 3px;}
.mg2-sp.mg-pg-attributes .mg-diagram-placeholder{width: 100%; border: 2px dashed #C7CCD3; border-radius: 14px; background: #FAFBFC; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 20px 16px; text-align: center;}
.mg2-sp.mg-pg-attributes .mg-promo-box{margin-top: 12px; background: #F7F8FA; border-radius: 10px; padding: 14px 16px;}
.mg2-sp.mg-pg-attributes .mg-promo-label{font-size: 10px; font-weight: 700; letter-spacing: 0.05em; color: #8b93a1; margin-bottom: 10px;}
.mg2-sp.mg-pg-attributes .mg-attr-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;}
.mg2-sp.mg-pg-attributes .mg-attr-card{background: #FFFFFF; border: 1.5px solid #E4E7EA; border-radius: 12px; padding: 16px 14px; display: flex; flex-direction: column; gap: 8px;}
.mg2-sp.mg-pg-attributes .mg-attr-dot{width: 26px; height: 26px; border-radius: 50%; flex: 0 0 auto;}
.mg2-sp.mg-pg-attributes .mg-attr-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 12.5px;}
.mg2-sp.mg-pg-attributes .mg-attr-tagline{font-size: 11px; color: #444b54; line-height: 1.65; margin: 0;}
.mg2-sp.mg-pg-attributes .mg-combo-grid{display: flex; flex-direction: column; gap: 12px;}
.mg2-sp.mg-pg-attributes .mg-combo-card{background: #F7F8FA; border-radius: 12px; padding: 16px 16px; display: flex; flex-direction: column; gap: 8px;}
.mg2-sp.mg-pg-attributes .mg-combo-formula{display: flex; align-items: center; gap: 6px; flex-wrap: wrap;}
.mg2-sp.mg-pg-attributes .mg-combo-chip{display: inline-flex; align-items: center; padding: 4px 11px; border-radius: 999px; font-size: 10.5px; font-weight: 700; color: #FFFFFF;}
.mg2-sp.mg-pg-attributes .mg-combo-plus{font-weight: 900; color: #C7CCD3; font-size: 12px;}
.mg2-sp.mg-pg-attributes .mg-combo-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 14px;}
.mg2-sp.mg-pg-attributes .mg-combo-desc{font-size: 12px; line-height: 1.75; color: #444b54; margin: 0;}
.mg2-sp.mg-pg-attributes .mg-special-card{position: relative; overflow: hidden; border-radius: 14px; padding: 18px 18px 16px 18px; isolation: isolate; box-shadow: 0 8px 20px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.25);}
.mg2-sp.mg-pg-attributes .mg-special-card::before{content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: 0.9; mix-blend-mode: overlay;
      background-image:
        radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 65%),
        radial-gradient(circle, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0) 65%);
      background-repeat: no-repeat;
      background-size: 3px 3px, 4px 4px, 2px 2px, 3px 3px, 2px 2px, 4px 4px;
      background-position: 12% 20%, 32% 62%, 55% 15%, 74% 70%, 88% 30%, 20% 85%;}
.mg2-sp.mg-pg-attributes .mg-special-card::after{content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
      background: linear-gradient(115deg, rgba(255,255,255,0) 35%, rgba(255,255,255,0.35) 48%, rgba(255,255,255,0) 60%);}
.mg2-sp.mg-pg-attributes .mg-special-card > *{position: relative; z-index: 2;}
.mg2-sp.mg-pg-attributes .mg-special-card .mg-combo-desc{text-shadow: 0 1px 2px rgba(0,0,0,0.45);}
.mg2-sp.mg-pg-attributes .mg-special-name{font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 20px; letter-spacing: 0.02em; color: #FFFFFF; text-shadow: 0 2px 3px rgba(0,0,0,0.55), 0 0 12px rgba(0,0,0,0.35);}
.mg2-sp.mg-pg-attributes .mg-special-name .mg-special-sub{display: block; margin: 3px 0 0 0; font-size: 10.5px; font-weight: 500; letter-spacing: 0.02em; color: rgba(255,255,255,0.85); text-shadow: 0 1px 2px rgba(0,0,0,0.5);}
.mg2-sp.mg-pg-attributes .mg-special-charisma{background: linear-gradient(135deg, #240634 0%, #5A1A8C 22%, #9B4DFF 42%, #6A1FAE 58%, #3A0F5C 78%, #1E0530 100%); border: 1px solid rgba(220,180,255,0.35);}
.mg2-sp.mg-pg-attributes .mg-special-artist{background: linear-gradient(135deg, #3D0000 0%, #A31515 22%, #FF4D4D 42%, #B71C1C 58%, #6E0B0B 78%, #300000 100%); border: 1px solid rgba(255,190,190,0.35);}
.mg2-sp.mg-pg-attributes .mg-special-superstar{background: linear-gradient(135deg, #6B4E00 0%, #C99A12 22%, #FFDE59 42%, #D4A017 58%, #7A5C00 78%, #4A3800 100%); border: 1px solid rgba(255,235,170,0.4);}
.mg2-sp.mg-pg-attributes .mg-special-superstar .mg-special-name,.mg2-sp.mg-pg-attributes .mg-special-superstar .mg-combo-desc{text-shadow: 0 2px 3px rgba(0,0,0,0.65), 0 0 12px rgba(0,0,0,0.5);}
.mg2-sp.mg-pg-attributes .mg-special-maestro{background: linear-gradient(135deg, #0A3018 0%, #1F7A42 22%, #5FCB7A 42%, #229150 58%, #0F4826 78%, #082014 100%); border: 1px solid rgba(190,255,210,0.35);}
.mg2-sp.mg-pg-attributes .mg-badge-group{display: flex; flex-direction: column; gap: 10px; align-items: center;}
.mg2-sp.mg-pg-attributes .mg-badge-group-label{font-size: 11px; font-weight: 700; color: #8b93a1; letter-spacing: 0.02em;}
.mg2-sp.mg-pg-attributes .mg-badge-row{display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;}
.mg2-sp.mg-pg-attributes .mg-badge-basic{width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(180deg, #E4E7EA 0%, #C7CCD3 100%); border: 1.5px solid #C7CCD3; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 17px; color: rgba(255,255,255,0.65);}
.mg2-sp.mg-pg-attributes .mg-badge-advanced{width: 46px; height: 46px; background: linear-gradient(135deg, #DADFE4 0%, #F2F4F6 45%, #C2C8D0 100%); clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); border: 1.5px solid #B7BEC7; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.55); display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 17px; color: rgba(255,255,255,0.7);}
.mg2-sp.mg-pg-attributes .mg-badge-special{width: 52px; height: 52px; border-radius: 50%; background: #17181C; display: flex; align-items: center; justify-content: center; color: #FFFFFF; font-weight: 900; font-size: 19px; box-shadow: 0 4px 10px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.15);}
.mg2-sp.mg-pg-attributes table.mg-threshold-table{width: 100%; border-collapse: collapse; font-size: 12px;}
.mg2-sp.mg-pg-attributes table.mg-threshold-table th,.mg2-sp.mg-pg-attributes table.mg-threshold-table td{padding: 9px 10px; border-bottom: 1px solid #E4E7EA; text-align: left;}
.mg2-sp.mg-pg-attributes table.mg-threshold-table th{color: #8b93a1; font-weight: 700; font-size: 10px; letter-spacing: 0.04em;}
.mg2-sp.mg-pg-attributes .mg-rule-list{margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.95; color: #444b54;}
.mg2-sp.mg-pg-attributes .mg-rule-list li{margin-bottom: 8px;}
.mg2-sp.mg-pg-attributes .mg-note-box{background: #FFF6E9; border: 1px solid #F0DDB8; border-radius: 10px; padding: 14px 16px; font-size: 12px; line-height: 1.85; color: #7A5A1E;}
.mg2-sp.mg-pg-attributes .mg-form-card{background: #FFFFFF; border: 1.5px solid #E4E7EA; border-radius: 16px; padding: 22px 18px; display: flex; flex-direction: column; gap: 16px;}
.mg2-sp.mg-pg-attributes .mg-form-field{display: flex; flex-direction: column; gap: 7px;}
.mg2-sp.mg-pg-attributes .mg-form-label{font-weight: 700; font-size: 12.5px; color: #262B36;}
.mg2-sp.mg-pg-attributes .mg-form-label .mg-req{color: #E0368F; font-size: 10px; margin-left: 5px; font-weight: 700;}
.mg2-sp.mg-pg-attributes select.mg-mock-input,.mg2-sp.mg-pg-attributes input.mg-mock-input{width: 100%; padding: 12px 14px; border-radius: 8px; border: 1.5px solid #D8DCE1; font-size: 13px; font-family: 'Noto Sans JP', sans-serif; color: #262B36; background: #FFFFFF;}
.mg2-sp.mg-pg-attributes .mg-radio-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;}
.mg2-sp.mg-pg-attributes .mg-radio-pill{display: flex; align-items: center; gap: 6px; border: 1.5px solid #D8DCE1; border-radius: 8px; padding: 9px 10px; font-size: 11px; font-weight: 700; cursor: pointer;}
.mg2-sp.mg-pg-attributes .mg-radio-pill input{accent-color: #1B1464;}
.mg2-sp.mg-pg-attributes .mg-file-drop{border: 1.5px dashed #C7CCD3; border-radius: 8px; padding: 14px; text-align: center; font-size: 11px; color: #8b93a1; background: #FAFBFC;}


/* ===== MG-PWFORM-START: パスワード保護ページの入力欄を必ず見えるようにする（2026-10-14 追加）=====
   テーマのページテンプレートに外枠がなく、WordPress標準のパスワード入力欄が固定ヘッダーの裏に隠れるため。
   .post-password-form（パスワード保護ページの入力欄）だけに効く。外すときは START〜END を削除。 */
.post-password-form{box-sizing:border-box;position:relative;z-index:50;display:block;width:calc(100% - 32px);max-width:520px;margin:160px auto 140px;padding:30px 24px 28px;background:#fff;border:3px solid #1B1464;border-radius:18px;box-shadow:0 12px 32px rgba(27,20,100,.18);color:#262B36;font-size:15px;line-height:1.9;text-align:center}
.post-password-form::before{content:"\1F512  限定公開ページ";display:block;margin:0 0 14px;padding:0 0 12px;border-bottom:2px solid #E0368F;font-size:20px;font-weight:900;letter-spacing:.06em;color:#1B1464}
.post-password-form p{margin:0 0 14px}
.post-password-form p:last-child{margin-bottom:0}
.post-password-form label{display:block;font-size:15px;font-weight:700;color:#1B1464}
.post-password-form input[type="password"]{display:block;box-sizing:border-box;width:100%;max-width:none;height:auto;margin:10px 0 0;padding:13px 14px;font-size:16px;line-height:1.4;color:#262B36;background:#fff;border:2px solid #1B1464;border-radius:10px}
.post-password-form input[type="password"]:focus{outline:3px solid rgba(224,54,143,.35);outline-offset:1px}
.post-password-form input[type="submit"]{display:block;box-sizing:border-box;width:100%;margin:0;padding:13px 16px;font-size:16px;font-weight:700;line-height:1.4;color:#fff;background:#E0368F;border:0;border-radius:999px;cursor:pointer;-webkit-appearance:none;appearance:none}
@media (max-width:600px){.post-password-form{margin:120px auto 100px;padding:24px 16px 22px}.post-password-form::before{font-size:18px}}
/* ===== MG-PWFORM-END ===== */