/* AI PIC subpages. Class names unchanged. Layout matches the index. */
:root{--bg:#f4f5ef;--ink:#090a09;--acid:#b7ff00;--muted:#6f736b;--dark:#050605;--line:#111}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.page{position:relative;max-width:768px;margin:0 auto;min-height:100vh;background:var(--bg);overflow:hidden}
.sub-header-space{height:0;background:transparent}
.sub-topbar{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px 8px 14px;background:#050605;border-bottom:1px solid rgba(183,255,0,.45)}
.sub-topbar a{text-decoration:none}
.sub-logo{display:flex;align-items:center;min-width:0}
.sub-logo img{height:20px;width:auto;max-width:112px;display:block;filter:brightness(0) invert(1)}
.sub-topbar-actions{display:flex;align-items:center;gap:6px;flex:none}
.sub-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;background:var(--acid);color:#090a09!important;font-size:12px;font-weight:800;letter-spacing:.04em;line-height:1;text-decoration:none!important}
.sp-retire-shori-link{text-align:right;margin:0;padding:8px 18px;background:var(--dark)}
.sp-retire-shori-link__anchor{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--acid);border-bottom:0}

.sub-page-header{position:relative;overflow:hidden;display:flex;align-items:flex-end;background:#050605;padding:18px 18px 16px;border-bottom:1px solid rgba(183,255,0,.55)}
.sub-page-header::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(183,255,0,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(183,255,0,.16) 1px,transparent 1px),linear-gradient(rgba(183,255,0,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(183,255,0,.28) 1px,transparent 1px);background-size:28px 28px,28px 28px,112px 112px,112px 112px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 92%);mask-image:linear-gradient(to bottom,#000 0%,transparent 92%)}
.sub-page-header::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--acid);box-shadow:0 0 16px var(--acid);animation:subscan 3.6s linear infinite;pointer-events:none}
.sub-signboard{position:relative;z-index:1;width:100%;text-align:left}
.sub-signboard-inner{display:block;width:100%;background:transparent;border:0;border-radius:0;padding:8px 0 0;position:relative;box-shadow:none}
.sub-signboard-inner::before,.sub-signboard-inner::after{content:"";position:absolute;width:18px;height:18px;border-color:var(--acid)}
.sub-signboard-inner::before{left:0;top:-8px;border-left:1px solid;border-top:1px solid}
.sub-signboard-inner::after{right:0;top:-8px;border-right:1px solid;border-top:1px solid}
.sub-signboard-label{display:block;margin:0 0 10px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.22em;color:var(--acid);text-transform:uppercase}
.sub-signboard-inner h1{margin:0;max-width:16em;font-size:clamp(22px,6.2vw,28px);font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1.2;text-align:left;text-shadow:none}

.sub-main{position:relative;padding:28px 18px 72px;background:var(--bg);font-size:14px;color:var(--ink)}
.sub-main::before{content:"";position:absolute;left:0;right:0;top:0;height:220px;pointer-events:none;background-image:linear-gradient(rgba(9,10,9,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(9,10,9,.07) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent)}
.sub-main h2,.guide-title,.qa h3,.section-title,.retire-survey-title,.course-list-title,.course-title,.payment-method-title,.content_subtitle,.music-title,.info-section h3,.sub-title,.thanks-title,.celebration-title{
  position:relative;z-index:1;margin:22px 0 10px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:none;text-align:left;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.4
}
.sub-main h3,.qa h3,.info-section h3{font-size:16px;line-height:1.45;letter-spacing:0;margin:16px 0 8px}
.sub-main h2::before,.qa h3::before,.guide-title::before{content:"";position:absolute;left:0;top:-10px;width:28px;height:3px;background:var(--acid);border:0}
.sub-main h2::after,.qa h3::after,.guide-title::after{content:none}
.qa h3:first-child,.sub-main h2:first-child{margin-top:8px}

ul.link{list-style:none;margin:8px 0 24px;padding:0;border-top:1px solid var(--line)}
ul.link li{margin:0;padding:0;font-size:15px;font-weight:800;line-height:1.4;border-bottom:1px solid var(--line)}
ul.link li.title{padding:16px 0;background:transparent;border:0;border-bottom:1px solid var(--line);font-size:18px;letter-spacing:-.02em;box-shadow:none}
ul.link li.tellch{padding:16px 0;background:transparent}
ul.link li.tellch input[type="checkbox"]{accent-color:var(--acid);width:18px;height:18px;margin-right:8px;vertical-align:middle}
ul.link li.tellch label{font-size:16px;font-weight:800}
ul.link li.icon_arrow{border-bottom:0;margin-top:18px;text-align:left}
ul.link li.icon_arrow a img.icon{display:none}

ul.radius{list-style:none;margin:0 0 28px;padding:0}
ul.radius li{background:#fff;border:1px solid var(--line);padding:28px 16px 20px;position:relative;font-size:14px;line-height:1.8;color:var(--ink)}
ul.radius li::before,ul.radius li::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--acid)}
ul.radius li::before{left:8px;top:8px;border-left:1px solid;border-top:1px solid}
ul.radius li::after{right:8px;top:8px;border-right:1px solid;border-top:1px solid}
ul.radius li.aC{text-align:center}
ul.radius li.aC img{margin:12px auto;display:inline-block;border:1px solid var(--line)}
ul.radius li p{margin:8px 0;padding:0;font-size:14px;line-height:1.8;text-align:left}

.kiyaku-section,.guide-section,.retire-section,.retire-complete-section,.info-section{position:relative;z-index:1;margin:0 0 28px;padding:0 0 8px;border-bottom:1px solid rgba(9,10,9,.16)}
.kiyaku-section:last-child,.guide-section:last-child,.retire-section:last-child{border-bottom:0}
.kiyaku-title{display:block;margin:16px 0 8px;padding:0;background:none;border:0;color:var(--ink);font-size:16px;font-weight:800;letter-spacing:0;line-height:1.5}
.kiyaku-item,.guide-section > p,.retire-section > p,.retire-complete-section > p{margin:0 0 10px;font-size:14px;line-height:1.75}
.guide-section > p:last-child,.retire-complete-message p:last-child,.error-message-box p:last-child,.restriction-message p:last-child{margin-bottom:0}
.kiyaku-subitem{margin:4px 0 4px 12px;font-size:13px;color:var(--muted)}
.kiyaku-important,.guide-important,.guide-caution,.retire-guide{display:block;margin:12px 0;padding:12px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--acid);font-weight:700;line-height:1.7;overflow-wrap:anywhere}
.guide-list{margin:10px 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.guide-list li{position:relative;margin:0;padding:12px 0 12px 16px;border-bottom:1px solid var(--line);font-weight:700}
.guide-list li::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--acid)}

.maintenance-message,.retire-warning,.campaign-area,.campaign-area-au,.regist-complete-celebration{position:relative;overflow:hidden;margin:0 -18px 22px;padding:28px 18px;background:#050605;color:#fff;border-left:0;text-align:left;font-weight:700}
.maintenance-message::before,.regist-complete-celebration::before{content:"";position:absolute;inset:0;display:block;height:auto;margin:0;background-image:linear-gradient(rgba(183,255,0,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(183,255,0,.14) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.maintenance-message::after{content:"";display:block;position:absolute;left:18px;right:18px;bottom:14px;height:1px;background:rgba(183,255,0,.55);margin:0}
.celebration-icon{position:relative;width:11px;height:11px;margin:0 0 14px;background:var(--acid);border-radius:50%;box-shadow:0 0 16px var(--acid)}
.celebration-message,.celebration-text,.login-info-note{position:relative;margin:8px 0 0;color:#fff;font-size:14px;font-weight:500}
.celebration-title{color:#fff}

.kishu-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.kishu-item{display:flex;gap:14px;align-items:center;margin:0;padding:14px 0;background:transparent;border:0;border-bottom:1px solid var(--line)}
.kishu-icon{flex:none;width:54px;height:54px;display:grid;place-items:center;background:var(--dark);color:var(--acid);font:11px ui-monospace,monospace;font-weight:700}
.kishu-details{flex:1}
.kishu-ver{font-size:18px;font-weight:800;letter-spacing:-.03em}
.kishu-note,.test-info,.carrier-check-note,.carrier-guide-text,.survey-note,.regist-note,.regist-note-small,.single-course-desc,.course-note,.course-price-info,.course-cancel-note,.login-lead-text,.login-ng-text,.download-instruction,.download-confirm,.small-text{position:relative;z-index:1;margin:12px 0;padding:0;background:none;border:0;font-size:13px;line-height:1.75;color:#3d423c}
.regist-note a,.regist-note-small a,.info-link a,.info-section a,.retire-link,.link-list a,.sub-main a:not(.btn-home):not(.btn-regist){color:var(--ink);font-weight:800;text-decoration:none;border-bottom:2px solid var(--acid)}

.thanks-message,.thanks-message-center,.login-info-box,.mypage-points,.mypage-count,.download-points,.billing-day{position:relative;z-index:1;margin:0 0 18px;padding:18px 16px;background:#fff;border:1px solid var(--line);text-align:left}
.login-info-box::before,.login-info-box::after{content:"";position:absolute;top:8px;width:12px;height:12px;border-color:var(--acid)}
.login-info-box::before{left:8px;border-left:1px solid;border-top:1px solid}
.login-info-box::after{right:8px;border-right:1px solid;border-top:1px solid}
.login-info-title,.points-label,.carrier-title{margin:0 0 6px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--muted);font-weight:700;background:none;padding:0}
.points-value,.music-info-table .point-value,.current-points,.mypage-points .points-value,.course-amount,.card-price,.card-point{color:var(--ink);font-size:clamp(36px,10vw,56px);font-weight:800;letter-spacing:-.06em;line-height:.9;text-shadow:none}
.download-points{font-size:14px;font-weight:500;letter-spacing:0;line-height:1.6}
.login-info-details{margin:8px 0 0;padding:0}
.login-info-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #d7d9d1}
.login-info-label{font:10px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}
.login-info-value{font-weight:800}

.carrier-box,.select-carrier,.login-carriers,.course_list,.course-list{display:flex;flex-direction:column;gap:0;margin:0 0 18px;padding:0;list-style:none;border-top:1px solid var(--line)}
.carrier-item,.login-carrier-block,.course-item{background:transparent;border:0;border-bottom:1px solid var(--line)}
.carrier-header,.login-carrier-label,.payment-method-docomo,.payment-method-au,.carrier-banner,.carrier-au,.carrier-docomo,.carrier-softbank,.carrier-au-banner,.carrier-au .carrier-header,.carrier-docomo .carrier-header,.carrier-softbank .carrier-header{padding:14px 0;background:transparent;color:var(--ink);border:0;border-left:0;font-size:16px;font-weight:800;letter-spacing:-.02em}
.carrier-body,.login-carrier-sub{padding:0 0 14px;font-size:13px;color:#3d423c}
.carrier-badge,.carrier-badge-docomo,.carrier-badge-au,.carrier-badge-softbank,.course-processing,.course-payment,.course-status-processing,.registered-label,.free-tag{display:inline-block;margin:0 8px 0 0;padding:4px 6px;background:var(--acid);color:var(--ink);font:9px ui-monospace,monospace;letter-spacing:.12em;vertical-align:middle}
.carrier-logo-wrap,.carrier-regist-block,.retire_button,.error-action-button,.retire-cancel-button,.regist-complete-action,.point-add-btn-wrap,.download-button-wrap,.single-regist-btn,.detail-edit-btn-wrap,.download_button,.survey-textarea-wrap,.select-wrap,.ad-space,.login-ng-ad,.music-info,.detail-link-section{position:relative;z-index:1;margin:16px 0}
.course-card,.course-link{display:block;padding:16px 0;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:none}
.course-link:hover,.detail-link-list a:hover,.label-radio:hover{background:transparent}
.course-card.registered,.btn-regist-large.registered{background:transparent;color:var(--muted)!important;border-color:#d7d9d1;cursor:not-allowed;opacity:1}
.course-action{margin-top:6px;font:9px ui-monospace,monospace;letter-spacing:.14em;color:var(--muted)}

.btn-flat-border,.btn-home,.btn-to-top,.btn-edit-header,.btn-detail-action,.btn-detail-edit,.btn-list-download,.btn-download,.btn-point-add,.btn-regist,.btn-regist-large,.btn-regist-au,.btn-to-top-large,.btn-download-main,.login-ng-btn,.login-id-btn,.login-carrier-btn,.login-btn-docomo,.login-btn-au,.login-btn-softbank,.taikai_no a,.taikai_yes a,.carrier-label-btn,.carrier-docomo-btn,.carrier-au-btn,.carrier-softbank-btn,input[type="submit"],button[type="submit"],ul.link li.icon_arrow a{
  display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:none;min-width:0;min-height:72px;margin:10px 0;padding:0 64px 0 16px;background:#090a09;color:#fff!important;font-size:16px;font-weight:800;letter-spacing:.02em;text-align:left;text-decoration:none!important;border:0;border-radius:0;box-shadow:0 0 0 1px rgba(183,255,0,.45);cursor:pointer;box-sizing:border-box;line-height:1.3;text-shadow:none;animation:none;position:relative;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;font-family:Arial,Helvetica,sans-serif
}
.btn-flat-border::after,.btn-regist::after,.btn-download-main::after,.btn-to-top-large::after,.btn-home::after,.taikai_no a::after,.taikai_yes a::after,input[type="submit"]::after,button[type="submit"]::after{
  content:"";position:absolute;right:12px;top:50%;width:42px;height:42px;margin-top:-21px;border:0;border-radius:0;transform:none;box-shadow:none;pointer-events:none;background:var(--acid) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 5l7 7-7 7' fill='none' stroke='%23090a09' stroke-width='2.4' stroke-linecap='square'/></svg>") center/14px 14px no-repeat
}
.btn-home::before,.btn-home-wrap::before{content:none}
a.btn-regist,a.btn-regist-large,a.btn-regist-au,button.btn-regist-large{justify-content:center;padding:0 64px;background:var(--acid);color:#090a09!important;text-align:center;border:2px solid #090a09;box-shadow:4px 4px 0 #090a09}
a.btn-regist::after,a.btn-regist-large::after,a.btn-regist-au::after,button.btn-regist-large::after{content:"";position:absolute;right:12px;top:50%;width:42px;height:42px;margin-top:-21px;border:0;pointer-events:none;background:#090a09 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 5l7 7-7 7' fill='none' stroke='%23b7ff00' stroke-width='2.4' stroke-linecap='square'/></svg>") center/14px 14px no-repeat}
a.btn-regist:active,a.btn-regist-large:active,a.btn-regist-au:active{transform:translateY(3px);box-shadow:1px 1px 0 #090a09}
.btn-regist-large.registered,button.btn-regist-large.registered{background:#e4e6df!important;color:#6f736b!important;border:1px solid #c8cac2;box-shadow:none;cursor:not-allowed}
.btn-regist-large.registered::after{content:none}
.btn-detail-destroy{background:#fff!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line)}
.btn-flat-border:active,.btn-home:active,.btn-regist:active,.btn-regist-large:active,.btn-to-top:active,.btn-to-top-large:active,.btn-download:active,.btn-download-main:active,.btn-list-download:active,.btn-point-add:active,.btn-edit-header:active,.btn-detail-action:active,.login-ng-btn:active,.login-id-btn:active,.login-carrier-btn:active,.taikai_no a:active,.taikai_yes a:active,.carrier-label-btn:active,input[type="submit"]:active,button[type="submit"]:active,.course-link:active,.course-card:active{transform:translateY(1px)}
.btn-home-wrap{text-align:left;margin:36px 0 0;padding-top:8px;border-top:0}
.retire-buttons,.detail-action-buttons{margin:22px 0;display:flex;flex-direction:column;gap:0}
.taikai_no,.taikai_yes{width:100%}
.taikai_no a{background:#fff;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line)}
.carrier-radio{position:absolute;opacity:0;pointer-events:none}
.carrier-radio:checked + .carrier-docomo-btn,.carrier-radio:checked + .carrier-au-btn,.carrier-radio:checked + .carrier-softbank-btn{background:var(--acid);color:var(--ink)!important;box-shadow:none}
.carrier-label-btn{gap:16px}
.carrier-icon{width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--acid);color:var(--ink);font-size:12px;font-weight:800}
.carrier-name{font-weight:800}
.login-docomo,.login-au,.login-softbank{margin:0}
.login-carriers{gap:16px;border-top:0}
.login-carrier-block{padding:16px 14px 14px;background:#fff;border:1px solid var(--line)}
.login-docomo{border-top:4px solid #cc0033}
.login-au{border-top:4px solid #eb5505}
.login-softbank{border-top:4px solid #6d747c}
.login-carrier-block .login-carrier-label{padding:0 0 4px;font-size:13px;letter-spacing:.08em}
.login-docomo .login-carrier-label{color:#cc0033}
.login-au .login-carrier-label{color:#eb5505}
.login-softbank .login-carrier-label{color:#3e444a}
.login-carrier-block .login-carrier-sub{margin:0;padding:0 0 10px}
a.login-carrier-btn{justify-content:center;min-height:56px;margin:4px 0 0;padding:0 16px;text-align:center;color:#fff!important;border:0}
a.login-btn-docomo{background:#cc0033;box-shadow:4px 4px 0 #7a001c}
a.login-btn-au{background:#eb5505;box-shadow:4px 4px 0 #8c3000}
a.login-btn-softbank{background:#4e555c;box-shadow:4px 4px 0 #23272b}
a.login-btn-docomo:active{transform:translateY(3px);box-shadow:1px 1px 0 #7a001c}
a.login-btn-au:active{transform:translateY(3px);box-shadow:1px 1px 0 #8c3000}
a.login-btn-softbank:active{transform:translateY(3px);box-shadow:1px 1px 0 #23272b}

.sub-notice{margin:0 0 16px}
.sub-page{padding:0}
.notice,.alert,.error,.flash,.info,.error-message-box,.login-ng-notice,.login-ng-alert,.restriction-message,.point-shortage,.not-found-message,.no-course-message,.msg,.retire-cancel-message,.retire-complete-message{
  position:relative;z-index:1;margin:0 0 16px;padding:16px;background:#fff;border:1px solid var(--line);border-left:0;color:var(--ink);font-size:14px;font-weight:700;line-height:1.7;box-shadow:none
}
.notice::before,.alert::before,.error::before,.flash::before,.info::before{content:"";display:block;width:28px;height:3px;margin:0 0 10px;background:var(--acid)}
.error-message-box p,.restriction-message p,.retire-cancel-message p,.retire-complete-message p,.retire-confirm-text,.login-ng-forget p{margin:0 0 8px}
.login-ng-forget,.login-ng-inquiry{margin:14px 0;font-size:13px}
.shortage-message{margin:8px 0;font-size:clamp(28px,8vw,40px);font-weight:800;letter-spacing:-.05em;line-height:.95}

.qa{margin:8px 0 20px;padding:0;background:transparent;border:0}
.qa::before,.qa::after{content:none}
.qa > *:not(h3),.qa p{margin:0 0 16px;padding:0;background:none;color:#3d423c;font-size:14px;font-weight:500;line-height:1.75}
.qa br{display:none}

dl select#main_product,.select-wrap select,.contents input[type="text"],.contents input[type="email"],.contents input[type="password"],.contents input[type="tel"],.contents select,.contents textarea,.survey-textarea,.login-id-input{
  display:block;width:100%;min-height:52px;padding:14px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:16px;font-weight:700;font-family:Arial,Helvetica,sans-serif;color:var(--ink);outline:none;-webkit-appearance:none;appearance:none;box-shadow:none
}
dl select#main_product:focus,.select-wrap select:focus,.contents input:focus,.contents select:focus,.contents textarea:focus,.survey-textarea:focus,.login-id-input:focus{border-bottom:2px solid var(--acid);box-shadow:none}
.select-wrap{margin:0 0 18px}
.select-wrap select,dl select#main_product,.contents select{min-height:54px;padding:12px 44px 12px 14px;background-color:#fff;border:1px solid #111;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1.2l5 5 5-5' fill='none' stroke='%23090a09' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.select-wrap select:focus,dl select#main_product:focus,.contents select:focus{border:1px solid #090a09;box-shadow:inset 0 -3px 0 var(--acid)}
.contents{position:relative;z-index:1;background:transparent;border:0;padding:8px 0 4px;margin:8px 0 20px;box-shadow:none}
.contents::before,.contents::after{content:none}
form,.login-id-form{display:flex;flex-direction:column;gap:8px}
.contents textarea,.survey-textarea{min-height:140px;resize:vertical;line-height:1.7}
.survey-textarea,.contents textarea{padding:14px;background:#fff;border:1px solid #111}
.survey-textarea:focus,.contents textarea:focus{border:1px solid #090a09;box-shadow:inset 0 -3px 0 var(--acid)}
.contents label,.login-id-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800}
.contents input[type="radio"],.contents input[type="checkbox"]{accent-color:var(--acid);width:18px;height:18px}
.login-id-field{display:flex;flex-direction:column;gap:4px}
.radio-wrap{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;padding:0;background:none;border:0}
.label-radio{display:block;margin:0;padding:14px;background:#fff;border:1px solid #111;cursor:pointer;position:relative}
.label-radio:last-child{margin:0}
.label-radio:has(input[type="radio"]:checked){background:#f3ffd6;box-shadow:inset 4px 0 0 var(--acid)}
.label-radio:hover{background:#fff}
.label-radio:has(input[type="radio"]:checked):hover{background:#f3ffd6}
.label-radio input[type="radio"]{position:absolute;opacity:0}
.lever{display:block;padding-left:28px;font-size:16px;font-weight:800;position:relative}
.lever::before{content:"";position:absolute;left:0;top:50%;width:16px;height:16px;margin-top:-8px;border:1px solid var(--line);border-radius:50%;background:#fff;transform:none}
.lever::after{content:"";position:absolute;left:4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--ink);opacity:0;transform:none}
.label-radio input[type="radio"]:checked + .lever{font-weight:800}
.label-radio input[type="radio"]:checked + .lever::before{background:var(--acid);border-color:var(--ink)}
.label-radio input[type="radio"]:checked + .lever::after{opacity:1}
.link-list{margin:12px 0;border-top:1px solid var(--line)}
.link-list p{margin:0;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:800}
.link-list p:last-child{margin:0}
.link-list a{margin-left:8px}
hr{border:0;height:1px;background:var(--line);margin:28px 0}
hr::before{content:none}
.sub-footer-space{min-height:8px;background:var(--dark)}
.footer_wrap{background:#050605;color:#fff;border-top:1px solid rgba(183,255,0,.55);padding:22px 16px calc(28px + env(safe-area-inset-bottom))}
.footer_list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2c2e2a;border-radius:0}
.footer_list li{border-bottom:1px solid #2c2e2a;border-right:1px solid #2c2e2a}
.footer_list li:nth-child(2n){border-right:0}
.footer_list li a{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 10px;color:#fff;text-decoration:none;font-size:12px;font-weight:700;line-height:1.35}
.footer_list li a::before{content:"";flex:none;width:5px;height:5px;background:var(--acid);box-shadow:0 0 8px var(--acid)}
.footer_copyright{margin-top:16px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#8b8e86}

.retire-status-table,.detail-table,.music-info-table,.login-info-table{width:100%;border-collapse:collapse;margin:0 0 18px;background:#fff;border:1px solid #111;table-layout:fixed}
.retire-status-table th,.detail-table th,.music-info-table th,.login-info-table th{width:42%;padding:12px 10px;text-align:left;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;letter-spacing:0;line-height:1.45;color:#3d423c;background:#f4f5ef;vertical-align:middle;border-bottom:1px solid #d7d9d1}
.retire-status-table td,.detail-table td,.music-info-table td,.login-info-table td{padding:12px 10px;font-size:14px;font-weight:700;line-height:1.45;vertical-align:middle;border-bottom:1px solid #d7d9d1;overflow-wrap:anywhere}
.retire-status-table tr:last-child th,.retire-status-table tr:last-child td,.detail-table tr:last-child th,.detail-table tr:last-child td,.music-info-table tr:last-child th,.music-info-table tr:last-child td,.login-info-table tr:last-child th,.login-info-table tr:last-child td{border-bottom:0}
.retire-status-table s{color:#6f736b;font-weight:500;text-decoration:line-through}
.retire-status-table tbody{display:table-row-group}
.detail-separator{height:1px;margin:20px 0;background:var(--line);border:0}
.detail-link-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.detail-link-list li{border-bottom:1px solid var(--line)}
.detail-link-list li:last-child{border-bottom:0}
.detail-link-list a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:8px 0;font-size:16px;font-weight:800}
.detail-link-list a::before{content:"";width:8px;height:8px;background:var(--acid);order:2}

#content{width:100%}
.content_list,.mypage-history-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 10px;margin:8px 0 28px;padding:0;list-style:none}
.content-item,.history-item{list-style:none;margin:0;padding:0;background:transparent;border:0;overflow:visible;display:flex;flex-direction:column}
.content-img-wrap,.history-thumbnail{width:100%;aspect-ratio:8/16;background:#111;border:1px solid #111;display:block;overflow:hidden;position:relative}
.content-img-wrap img,.history-img-wrap img,.preview-image img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.history-thumbnail::before,.preview-image::before{content:none}
.history-img-wrap{position:absolute;inset:0;width:100%;height:100%}
.content-name,.history-name{padding:8px 0 0;font-size:clamp(16px,4.6vw,20px);font-weight:800;letter-spacing:-.04em;line-height:1.15;text-align:left;word-break:break-all;min-height:0}
.history-download{padding:8px 0 0}
.history-download .btn-download,.content-item .btn-list-download{min-height:42px;margin:0;padding:0 12px;font-size:12px;box-shadow:none;background:var(--acid);color:var(--ink)!important}
a.btn-list-download{justify-content:center;text-align:center;padding-left:16px;padding-right:16px}
.history-download .btn-download::after,.content-item .btn-list-download::after{content:none}
.login-id-submit{margin-top:8px}
.sample-label{position:absolute;left:7px;bottom:7px;top:auto;transform:none;font:8px ui-monospace,monospace;letter-spacing:.1em;color:var(--acid);background:#050605;border:0;padding:4px 6px;text-shadow:none;z-index:2;pointer-events:none}
.debug-info{display:none}
.download-preview{text-align:center;margin:0 0 18px}
.preview-image{display:block;width:min(46vw,180px);aspect-ratio:8/16;margin:0 auto 16px;padding:0;background:#111;border:1px solid #111;overflow:hidden;position:relative}
.preview-image img{position:absolute;inset:0;max-width:none;height:100%}
.campaign-lights{display:flex;gap:6px;margin:0 0 12px;position:relative}
.campaign-lights span{width:6px;height:6px;background:var(--acid);border-radius:50%;box-shadow:0 0 8px var(--acid)}
.campaign-inner{position:relative}
.campaign-kikan{margin:0 0 8px;font:9px ui-monospace,monospace;letter-spacing:.18em;color:var(--acid);animation:none;text-shadow:none}
.campaign-copy,.campaign-copy2{margin:0 0 6px;color:#fff;font-weight:700;animation:none;text-shadow:none}
.campaign-attention{margin:8px 0 0;color:#c8ccc4;font-size:11px;font-weight:400;line-height:1.65;animation:none;text-shadow:none}
.campaign-free-badge{display:block;margin:8px 0 0;font-size:clamp(40px,12vw,64px);font-weight:800;letter-spacing:-.06em;line-height:.9;color:var(--acid);text-align:left;text-shadow:none;animation:none}
.campaign-free-badge::before,.campaign-free-badge::after{content:none}

@keyframes subscan{0%{top:-2px}100%{top:100%}}
@media (max-width:480px){
  .sub-main{padding:24px 16px 64px}
  .maintenance-message,.retire-warning,.campaign-area,.campaign-area-au,.regist-complete-celebration{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
}
@media (max-width:360px){
  .content_list,.mypage-history-list{gap:12px 8px}
  .sub-signboard-inner h1{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .sub-page-header::after{animation:none;top:auto;bottom:0}
}
