.join-main{max-width:920px;margin:auto;padding:36px 32px 80px}.join-heading{padding:42px 0 22px}.join-heading h1{font-size:clamp(40px,6vw,66px)!important;line-height:1.15}.join-heading>p:last-child{max-width:650px;font-size:18px}.entry-steps{padding:22px 0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-block:1px solid var(--line);font-size:15px}.entry-steps strong{display:block;font:600 25px Oswald,sans-serif;color:var(--red)}.form-notice{background:#f3f4f5;border-left:3px solid var(--red);padding:22px 26px;margin-top:30px}.form-notice p{margin:9px 0 0}.form-notice a{text-decoration:underline;overflow-wrap:anywhere}.required-note{font-size:14px;color:var(--muted);margin:30px 0}.form-section{padding:26px 0 38px;border-top:1px solid var(--line)}.form-section>h2{display:flex;align-items:baseline;gap:18px;font:600 25px Oswald,sans-serif;color:var(--red);margin:0 0 25px}.form-section>h2>span{font:700 27px/1.4 Arial,sans-serif;color:var(--ink)}.form-two,.form-three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{margin:0 0 23px;min-width:0}.form-field>label{display:block;font-weight:600;margin-bottom:7px}.form-field>label>span{color:var(--red)}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;max-width:100%;min-height:50px;font:16px/1.5 Arial,sans-serif;color:var(--ink);background:#fff;padding:12px 13px;border:1px solid #aeb2b7;border-radius:3px}.form-field select{padding-right:28px}.form-field textarea{resize:vertical}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid #307bd5;outline-offset:3px}.form-group{padding:0;border:0;margin:0 0 24px;min-width:0}.form-group>legend{font-weight:700;margin-bottom:12px;padding:0;max-width:100%;line-height:1.5}.field-hint{font-size:14px;line-height:1.65;color:var(--muted);margin:8px 0 16px}.choice-list{display:grid;gap:9px}.choice{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:3px;cursor:pointer;min-height:50px}.choice:hover{background:#f5f5f6}.choice:has(input:checked){border-color:var(--ink);background:#f3f4f5}.choice input{accent-color:var(--red);width:20px;height:20px;flex:none;margin:3px 0 0}.choice span{line-height:1.6}.choice input:focus-visible{outline:3px solid #307bd5;outline-offset:4px}.agreement-copy{padding:14px 0}.agreement-copy h3{font-size:20px}.agreement-copy li{margin:12px 0}.terms-block{border:1px solid var(--line);margin-bottom:20px}.terms-block>summary{padding:20px;font-weight:700;display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer}.terms-block>summary::-webkit-details-marker{display:none}.terms-block[open]>summary{border-bottom:1px solid var(--line)}.terms-block[open]>summary>span{transform:rotate(45deg)}.terms-content{padding:8px 24px 28px}.terms-content h3{font-size:19px;margin-top:30px}.form-submit{padding:30px 26px;background:#f3f4f5}.form-submit h2{font-size:27px}.form-submit .button{width:100%;margin-top:10px}.form-error:empty{display:none}.form-error{color:#b31522;font-weight:700}.join-footer{padding:28px 32px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}.join-footer>a{overflow-wrap:anywhere}.join-page{overflow-wrap:break-word}
@media(max-width:640px){.join-main{padding:24px 22px 50px}.join-heading{padding-top:30px}.join-heading>p:last-child{font-size:16px}.entry-steps{grid-template-columns:1fr;gap:14px}.entry-steps li{display:flex;align-items:center;gap:16px}.entry-steps strong{font-size:22px}.form-notice{padding:18px}.form-two{grid-template-columns:1fr;gap:0}.form-three{gap:10px}.form-three .form-field label{font-size:14px}.form-field select{padding-left:8px;padding-right:8px}.form-section>h2>span{font-size:24px}.form-section{padding-bottom:26px}.terms-content{padding-inline:18px}.form-submit{padding:24px 18px}.choice{padding:12px}.join-footer{padding:24px 22px}}

html[lang=ja] .join-heading h1{font-size:clamp(32px,5.5vw,54px)!important;line-height:1.45;letter-spacing:0}html[lang=ja] .terms-content{line-height:1.9}
