/* reg-v4 2026-10-28 パートナー登録 */
.rg4{--n:#0C1320;--n2:#16213A;--s:#C9CED6;--s2:#8E96A3;--p:#EEF0F3;--pt:#DCE6F2;--ptb:#8FA6C4;--ptt:#22385A;font-family:"Noto Sans JP","Hiragino Sans",sans-serif;color:#1B2433;font-size:17px;line-height:1.85;background:#fff}
.rg4 *{box-sizing:border-box}
.rg4 h1,.rg4 h2,.rg4 h3{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em;margin:0}
.rg4 p{margin:0}
.rg-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,3vw,48px)}
.rg-en{font-family:Oswald,"Helvetica Neue",Arial,sans-serif;font-size:13px;letter-spacing:.32em;color:var(--s2);display:flex;align-items:center;gap:14px;margin:0 0 12px}
.rg-en:before{content:"";width:40px;height:1px;background:currentColor}
.rg-ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--n);color:var(--s);flex:none}
.rg-ic svg{width:34px;height:34px}
/* hero */
.rg-hero{position:relative;background:var(--n);color:#fff;min-height:min(78vh,720px);display:flex;align-items:center;overflow:hidden}
.rg-hero__ph{position:absolute;top:0;right:0;bottom:0;width:60%;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
.rg-hero__ph img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75) brightness(.9);animation:rgZoom 18s ease-in-out infinite alternate}
.rg-hero__ph:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--n) 0%,rgba(12,19,32,.55) 30%,rgba(12,19,32,.1) 70%)}
@keyframes rgZoom{to{transform:scale(1.08)}}
.rg-hero__in{position:relative;z-index:1;width:100%;max-width:1280px;margin:0 auto;padding:110px clamp(20px,3vw,48px) 90px}
.rg-hero .rg-en{color:var(--s)}
.rg-hero h1{font-size:clamp(34px,4.4vw,64px);line-height:1.35;font-weight:600}
.rg-hero h1 span{display:block;opacity:0;transform:translateY(18px);animation:rgUp .9s cubic-bezier(.2,.7,.2,1) forwards}
.rg-hero h1 span:nth-child(2){animation-delay:.15s}.rg-hero h1 span:nth-child(3){animation-delay:.3s}
.rg-hero h1 .sv{background:linear-gradient(100deg,#fff 0%,#C9CED6 40%,#fff 55%,#9AA2AE 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rgUp .9s .3s cubic-bezier(.2,.7,.2,1) forwards,rgShine 6s linear infinite}
@keyframes rgUp{to{opacity:1;transform:none}}
@keyframes rgShine{to{background-position:-200% 0}}
.rg-hero__lead{margin-top:22px;font-size:18px;color:#D6DAE1}
.rg-badges{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0;padding:0}
.rg-badges li{display:flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid rgba(201,206,214,.4);background:rgba(255,255,255,.06);font-size:15px;font-weight:600;backdrop-filter:blur(4px)}
.rg-badges svg{width:24px;height:24px;color:var(--s)}
.rg-hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.rg-btn{display:inline-flex;align-items:center;gap:14px;padding:18px 34px;font-size:17px;font-weight:700;text-decoration:none;transition:.3s}
.rg-btn i{font-style:normal;font-size:12px}
.rg-btn--sv{color:var(--n);background:linear-gradient(100deg,#fff,#C9CED6 45%,#fff 60%,#AEB5C0);background-size:200% 100%;animation:rgShine 4s linear infinite;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.rg-btn--sv:hover{transform:translateY(-2px)}
.rg-btn--ln{color:#fff;border:1px solid rgba(255,255,255,.55)}
.rg-btn--ln:hover{background:#fff;color:var(--n)}
.rg-hero__note{margin-top:20px;font-size:14px;color:#AEB5C0}
.rg-hero__note a{color:#fff;font-weight:700}
/* sections */
.rg-sec{padding:clamp(64px,8vw,110px) 0}
.rg-sec--g{background:var(--p)}
.rg-head{margin-bottom:44px}
.rg-head h2{font-size:clamp(28px,3vw,42px);line-height:1.4;color:var(--n)}
.rg-head>p:not(.rg-en){margin-top:12px;color:#4A5466}
.rg-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rg-card{background:#fff;border:1px solid #E1E5EB;padding:38px 28px 34px;text-align:center;transition:.35s;position:relative}
.rg-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--n);transform:scaleX(0);transition:.4s}
.rg-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(12,19,32,.12)}
.rg-card:hover:after{transform:scaleX(1)}
.rg-card .rg-ic{width:88px;height:88px;margin:0 auto 22px}
.rg-card .rg-ic svg{width:46px;height:46px}
.rg-card h3{font-size:21px;color:var(--n);margin-bottom:12px}
.rg-card p{font-size:16px;color:#4A5466;text-align:left}
/* types */
.rg-legend{display:flex;align-items:center;gap:10px;margin:-20px 0 26px;font-size:15px}
.rg-legend span,.rg-fl span{display:inline-block;padding:6px 14px;font-weight:700;font-size:15px}
.rg4 .pt{background:var(--pt);color:var(--ptt);border:1px solid var(--ptb)}
.rg4 .cb{background:var(--n);color:#fff;border:1px solid var(--n)}
.rg-types{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.rg-type{background:#fff;padding:40px;border-top:4px solid var(--n);box-shadow:0 10px 30px rgba(12,19,32,.06)}
.rg-type__hd{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.rg-type__hd small{font-family:Oswald,Arial,sans-serif;letter-spacing:.2em;color:var(--s2);font-size:13px}
.rg-type__hd h3{font-size:30px;color:var(--n);line-height:1.2}
.rg-fl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px;background:var(--p);margin-bottom:20px}
.rg-fl i{font-style:normal;color:var(--s2);font-size:12px;animation:rgArw 1.6s ease-in-out infinite}
@keyframes rgArw{50%{transform:translateX(5px);opacity:.4}}
.rg-type p{font-size:17px}
.rg-sm{margin-top:8px!important;font-size:15px!important;color:#5A6476}
.rg-note{margin-top:28px;font-size:15px;color:#5A6476}
/* flow */
.rg-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.rg-flow:before{content:"";position:absolute;top:50px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--s),var(--n),var(--s));background-size:200% 100%;animation:rgShine 5s linear infinite}
.rg-flow li{text-align:center;position:relative}
.rg-stepic{position:relative;width:100px;height:100px;margin:0 auto 22px;border-radius:50%;background:#fff;border:2px solid var(--n);display:grid;place-items:center;color:var(--n)}
.rg-stepic svg{width:46px;height:46px}
.rg-stepic span{position:absolute;top:-6px;right:-6px;width:34px;height:34px;border-radius:50%;background:var(--n);color:#fff;font:600 16px/34px Oswald,Arial,sans-serif}
.rg-flow h3{font-size:20px;color:var(--n);margin-bottom:8px}
.rg-flow p{font-size:16px;color:#4A5466}
/* docs */
.rg-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rg-doc{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;background:#fff;padding:34px 24px;text-decoration:none;color:inherit;border:1px solid #E1E5EB;transition:.3s}
.rg-doc:hover{border-color:var(--n);transform:translateY(-4px)}
.rg-doc strong{font-family:"Noto Serif JP",serif;font-size:20px;line-height:1.5;color:var(--n)}
.rg-doc span{font-size:15px;color:#5A6476}
.rg-doc em{font-style:normal;font-size:14px;font-weight:700;color:var(--n);border-bottom:1px solid var(--n);margin-top:6px}
.rg-prep{margin-top:30px;background:#fff;padding:36px 40px;border-left:4px solid var(--n)}
.rg-prep__hd{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.rg-prep__hd h3{font-size:22px;color:var(--n)}
.rg-prep ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.rg-prep li{position:relative;padding-left:30px;font-size:16px}
.rg-prep li:before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--n) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.5 2.5L13 6.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/18px no-repeat}
.rg-prep p{margin-top:14px;font-size:15px;color:#5A6476}
/* reveal */
.rg4 .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.rg4 .rv.in{opacity:1;transform:none}
/* form / ask (existing) */
.rg4 .pp-form,.rg4 .pp-band{padding:clamp(64px,8vw,100px) 0}
.rg4 .pp-wrap{max-width:1100px;margin:0 auto;padding:0 clamp(20px,3vw,48px)}
.rg4 .pp-form .pp-head h2{font-size:clamp(28px,3vw,40px);color:var(--n)}
.rg4 .pp-form{font-size:16px}
.rg4 .pp-ask{background:var(--n);color:#fff;padding:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;font-size:17px}
.rg4 .pp-ask a{display:inline-block;padding:14px 24px;margin:4px;border:1px solid rgba(255,255,255,.6);color:#fff;text-decoration:none;font-weight:700}
.rg4 .pp-ask a:hover{background:#fff;color:var(--n)}
/* tablet / sp */
@media (max-width:1024px){.rg-cards{grid-template-columns:1fr 1fr}.rg-flow{grid-template-columns:1fr 1fr;row-gap:40px}.rg-flow:before{display:none}}
@media (max-width:767px){
 .rg4{font-size:16px}
 .rg-hero{display:block;min-height:0}
 .rg-hero__ph{position:relative;width:100%;height:260px;clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}
 .rg-hero__ph:after{background:linear-gradient(180deg,rgba(12,19,32,0) 40%,var(--n) 100%)}
 .rg-hero__in{padding:6px 20px 48px}
 .rg-hero h1{font-size:30px}
 .rg-badges li{font-size:14px;padding:8px 12px}
 .rg-hero__btns{flex-direction:column}.rg-btn{justify-content:center}
 .rg-cards{grid-template-columns:1fr;gap:14px}
 .rg-card{display:grid;grid-template-columns:64px 1fr;column-gap:18px;text-align:left;padding:24px 20px}
 .rg-card .rg-ic{width:64px;height:64px;margin:0;grid-row:span 2}
 .rg-card .rg-ic svg{width:34px;height:34px}
 .rg-card h3{font-size:19px;margin-bottom:4px}
 .rg-types,.rg-docs{grid-template-columns:1fr}
 .rg-type{padding:28px 20px}
 .rg-type__hd h3{font-size:26px}
 .rg-fl{padding:14px}
 .rg-flow{grid-template-columns:1fr;gap:0}
 .rg-flow li{display:grid;grid-template-columns:76px 1fr;column-gap:16px;text-align:left;padding-bottom:26px;position:relative}
 .rg-flow li:not(:last-child):after{content:"";position:absolute;left:37px;top:78px;bottom:4px;width:2px;background:var(--s)}
 .rg-stepic{width:76px;height:76px;margin:0;grid-row:span 2}
 .rg-stepic svg{width:34px;height:34px}
 .rg-flow h3{font-size:18px;margin:12px 0 4px}
 .rg-doc{flex-direction:row;flex-wrap:wrap;text-align:left;padding:20px}
 .rg-doc .rg-ic{width:52px;height:52px}
 .rg-doc strong br{display:none}
 .rg-doc strong{font-size:18px;flex:1}
 .rg-doc span{width:100%}
 .rg-prep{padding:26px 20px}
 .rg-prep ul{grid-template-columns:1fr}
 .rg4 .pp-ask{padding:28px 20px}
}

/* 強制（reg-v3の上書き対策） */
main.rg4 section.rg-hero{background:#0C1320!important;color:#fff!important}
main.rg4 .rg-hero h1,main.rg4 .rg-hero h1 span:not(.sv){color:#fff!important}
main.rg4 .rg-hero .rg-hero__lead{color:#D6DAE1!important}
main.rg4 .rg-hero .rg-badges li{color:#fff!important}
main.rg4 .rg-hero .rg-en{color:#C9CED6!important}
main.rg4 .rg-hero .rg-btn--ln{color:#fff!important}
main.rg4 .rg-hero .rg-hero__note{color:#AEB5C0!important}
main.rg4 .rg-hero .rg-hero__note a{color:#fff!important}
main.rg4 section.rg-sec{background:#fff!important}
main.rg4 section.rg-sec--g{background:#EEF0F3!important}
main.rg4 .rg-note{margin-top:40px}

/* v4c */
main.rg4 .rg-hero__ph{width:50%!important;clip-path:none!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
main.rg4 .rg-hero__ph:after{background:linear-gradient(90deg,rgba(12,19,32,.6) 0%,rgba(12,19,32,.15) 50%,rgba(12,19,32,.25) 100%)!important}
main.rg4 .rg-hero__ph img{object-position:60% center}
.rg4 .registrationConsent{max-width:none!important}
.rg4 .registrationConsent .consentDocument{display:grid!important;grid-template-columns:1fr 1.2fr!important;gap:18px!important;align-items:center;padding:18px 0!important}
.rg4 .registrationConsent .consentDocument>a{font-size:16px;font-weight:700;color:#0C1320}
.rg4 .registrationConsent .check{display:flex!important;align-items:center;gap:12px;width:100%!important;max-width:none!important;padding:16px 20px!important;font-size:16px!important;background:#fff;border:1px solid #C9CED6}
.rg4 .registrationConsent .check input{width:20px;height:20px;flex:none}
.rg4 .registrationConsent .button{display:block!important;width:100%!important;max-width:460px;margin:28px auto 0!important;padding:20px!important;font-size:18px!important;text-align:center}
@media (max-width:767px){main.rg4 .rg-hero__ph{width:100%!important;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}.rg4 .registrationConsent .consentDocument{grid-template-columns:1fr!important}}
