/* 登録ページ v5（2026-10-29） */
/* FVの見出しを文節で改行 */
.rg-hero h1>span{display:block}
@media (max-width:767px){
.rg-hero h1{font-size:clamp(24px,7.4vw,32px)!important;line-height:1.45!important;letter-spacing:.04em!important}
.rg-hero h1>span{white-space:nowrap}
.rg-hero__lead{font-size:14px!important}
}
/* 流れ：丸と数字の位置 */
.rg-stepic{position:relative}
.rg-stepic span{position:absolute!important;top:-4px!important;right:-4px!important;left:auto!important;bottom:auto!important;width:26px!important;height:26px!important;padding:0!important;margin:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:13px!important;line-height:1!important;text-align:center!important;font-family:Oswald,"Noto Sans JP",sans-serif;font-weight:600;background:#0C1320;color:#fff;box-shadow:0 0 0 3px #fff}
/* フォームを詰める */
#apply{padding:44px 0 50px!important}
#apply .pp-head{margin-bottom:18px!important}
#apply .dataForm .note{margin:0 0 12px!important;padding:10px 12px!important;font-size:12px!important}
#apply fieldset{margin:0 0 14px!important}
#apply legend{margin-bottom:10px!important}
#apply .formgrid{gap:12px 20px!important}
#apply .field{margin:0!important}
#apply .field label{margin:0 0 4px!important;font-size:13px!important}
#apply .field input,#apply .field select{margin:0!important;height:44px!important;padding:8px 12px!important}
#apply .field textarea{margin:0!important;min-height:84px!important;height:84px}
#apply .field div:has(>label.check){display:flex!important;flex-wrap:wrap!important;gap:6px!important;grid-template-columns:none!important}
#apply label.check{width:auto!important;margin:0!important;padding:7px 11px!important;font-size:13px!important;line-height:1.4!important}
#apply .registrationConsent{padding:16px 18px!important}
#apply .registrationConsent h3{margin:0 0 6px!important}
#apply .consentDocument{padding:10px 0!important;gap:8px!important}
#apply .consentDocument label.check{width:100%!important}
@media (max-width:767px){
#apply .pp-wrap{padding:0 12px!important}
#apply .formMount{padding:16px 14px!important;margin:0!important}
#apply .formgrid{grid-template-columns:1fr!important}
#apply .registrationConsent{padding:14px 12px!important}
}
/* 上に付いてくる申請ボタン */
.rgStick{position:fixed;left:0;right:0;top:0;z-index:9000;display:flex;justify-content:center;padding:8px 12px;background:rgba(12,19,32,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(-110%);transition:transform .35s}
.rgStick.on{transform:none}
.rgStick a{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:min(420px,100%);padding:13px 18px;font-weight:700;font-size:15px;letter-spacing:.06em;text-decoration:none;color:#0C1320;background:linear-gradient(110deg,#BFB3A0,#E2D9CA 50%,#BFB3A0);background-size:200% 100%;animation:fpfShine 3.5s linear infinite}
@keyframes fpfShine{to{background-position:-200% 0}}

.rg-hero h1 .jw{display:inline-block!important;white-space:normal}
.rg-hero__lead{margin-top:14px!important}

#apply .pp-head h2{font-size:clamp(20px,6.2vw,32px)!important;line-height:1.4!important}
@media (max-width:767px){#apply label.check{padding:6px 9px!important;font-size:12.5px!important}}

/* v20 iPhoneで見出しが消える対策（動きを減らす設定でも表示） */
.rg-hero h1,.rg-hero h1>span{opacity:1!important;transform:none!important}
.rg-hero h1>span:not(.sv){animation:none!important;color:#fff!important}
.rg-hero h1>.sv{animation:rgShine 6s linear infinite!important}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.rg-hero h1>.sv{color:#C9CED6!important;background:none!important}}

/* v21 相談・資料請求の帯を読みやすく */
.pp-band:not(.pp-form){background:#F3F4F6!important;color:#0C1320!important;padding:56px 0!important}
.pp-ask{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;background:#fff!important;border:1px solid #E3E6EB!important;border-left:5px solid #BFB3A0!important;padding:28px 32px!important;box-shadow:0 10px 28px rgba(12,19,32,.06)}
.pp-ask p{margin:0!important;font-size:16px!important;line-height:1.8;color:#0C1320!important;font-weight:600;flex:1 1 320px}
.pp-ask>div{display:flex;flex-wrap:wrap;gap:10px}
.pp-ask .pp-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:15px 24px!important;font-weight:700!important;font-size:14px!important;text-decoration:none!important;white-space:nowrap;border-radius:0!important}
.pp-ask .pp-btn--line{background:#fff!important;color:#0C1320!important;border:1px solid #0C1320!important}
.pp-ask .pp-btn--navy{background:linear-gradient(110deg,#BFB3A0,#E2D9CA 50%,#BFB3A0)!important;background-size:200% 100%!important;color:#0C1320!important;border:1px solid #BFB3A0!important;animation:fpfShine 3.5s linear infinite}
.pp-ask .pp-btn:after{content:"\25B6\FE0E";font-size:10px}
@media (max-width:767px){.pp-ask{padding:22px 18px!important}.pp-ask>div,.pp-ask .pp-btn{width:100%}}

.rgStick{top:var(--hh,0px)!important}

/* v28 同意欄のリンクが線と重ならないように */
#apply .consentDocument a{display:block!important;line-height:1.7!important;padding:4px 0 10px!important;border-bottom:1px solid #0C1320!important;text-decoration:none!important;height:auto!important;font-weight:700;color:#0C1320!important}
/* 規約を同じページ内で開く */
.docModal{position:fixed;inset:0;z-index:100000;background:rgba(12,19,32,.75);display:flex;align-items:center;justify-content:center;padding:20px}
.docModal[hidden]{display:none!important}
.dmIn{width:min(920px,100%);height:min(88vh,1000px);background:#fff;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.dmBar{display:flex;align-items:center;gap:16px;padding:10px 14px;background:#0C1320;color:#fff}
.dmBack{appearance:none;border:1px solid #BFB3A0;background:linear-gradient(110deg,#BFB3A0,#E2D9CA 50%,#BFB3A0);color:#0C1320;font-weight:700;font-size:14px;padding:10px 18px;cursor:pointer}
.dmT{font-size:14px;font-weight:700}
.docModal iframe{flex:1;width:100%;border:0}
@media (max-width:767px){.docModal{padding:0}.dmIn{height:100%;width:100%}}

/* v29 チェック時は背景色だけ変える（文字が消えないように） */
main label.check:has(input:checked){background:#E9EEF5!important;color:#0C1320!important;border-color:#0C1320!important}
main label.check:has(input:checked) *{color:#0C1320!important}
