/* Recruitment application form: responsive production layout. */
:root{--form-red:#c91f2b;--form-text:#171717;--form-border:#8d8a84;--form-line:#dedbd2;--form-gold:#ffdc00}
*{box-sizing:border-box}body{background:#fff;-webkit-text-size-adjust:100%;text-size-adjust:100%}
[hidden]{display:none!important}
.sample-toolbar{border-bottom:1px solid var(--form-line);background:#f6f4ee;font-family:Meiryo,sans-serif;font-size:13px}
.sample-toolbar>div{max-width:980px;margin:auto;padding:9px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.sample-toolbar nav{display:flex;gap:8px}.sample-toolbar a{display:inline-flex;align-items:center;min-height:36px;padding:4px 14px;color:#333;border:1px solid #aaa;text-decoration:none;background:white}
.sample-toolbar a[aria-current]{background:var(--form-red);color:white;border-color:var(--form-red)}
.skip-link{position:absolute;top:0;left:16px;transform:translateY(-150%);z-index:20;background:white;padding:12px}.skip-link:focus{transform:none}
#wrapper{display:grid;grid-template-columns:190px minmax(0,755px);column-gap:35px;max-width:980px;width:calc(100% - 32px);align-items:start}
#wrapper:after{display:none}#path{grid-column:1/-1;min-width:0}#contents{grid-column:2;grid-row:2;float:none;width:auto;min-width:0}#side{grid-column:1;grid-row:2;float:none;width:190px}
#contents{font:16px/1.48 'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:var(--form-text)}
#contents p,#contents div,#contents fieldset,#contents label,#contents dl,#contents dd{line-height:1.48}
#contents h2{font-size:20px;margin-bottom:12px;padding:4px 0 10px 26px;background:url('../../img/h_bg.jpg') no-repeat left top;background-size:auto 100%;line-height:1.4}
#contents .intro{margin:0 0 14px}#contents .sample-note{padding:12px 14px;background:#f6f4ee;border-left:3px solid #999;color:#555;font-size:13px;margin:0 0 20px;line-height:1.6}
.form-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 22px;padding:0;list-style:none;font-size:14px}
.form-steps li{padding:10px 6px;background:#f5f4f0;text-align:center;border-bottom:3px solid #d7d5cc;color:#666}
.form-steps li[aria-current]{font-weight:700;color:var(--form-red);border-bottom-color:var(--form-red)}
.required-mark{color:var(--form-red);font-size:12px;font-weight:800;font-style:normal;margin-left:4px}
.optional-mark{color:#666;font-size:12px;font-weight:400;margin-left:4px}.required-note{font-size:14px;margin:0 0 10px}
.form-panel fieldset{min-width:0;padding:28px;border:1px solid var(--form-line);margin:20px 0 0;background:#fff;border-radius:0}
.form-panel legend{padding:0 10px;font-size:16px;font-weight:800;color:var(--form-text)}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.wide{grid-column:1/-1}
.contact-field{min-width:0;margin-bottom:20px}.contact-field>label{display:block;margin-bottom:7px;font-weight:700}
#contents .contact-field input,#contents .contact-field select[name]{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--form-border);background:white;color:var(--form-text);font:inherit;border-radius:0}
#contents .contact-field input::placeholder{color:#74716a;font-size:14px}
#contents .field-help{font-size:13px;color:#666;margin-top:7px;line-height:1.6}
.form-panel .graduation-group{padding:0;border:0;margin:0 0 20px}.graduation-group>legend{padding:0;margin-bottom:7px}.graduation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.graduation-fields .contact-field{margin-bottom:0}
/* Keep year/month labels accessible without adding a second heading row. */
.graduation-fields .contact-field>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
#contents select[aria-invalid=true]{border:2px solid #b21f2d}
.postal-row{display:flex;gap:10px;align-items:start}.postal-row input{flex:1;width:0!important}
button{font-family:inherit;cursor:pointer;border-radius:0;transition:background-color .2s,color .2s}
.postal-row button{flex:none;background:var(--form-red);color:white;border:2px solid var(--form-red);min-height:48px;padding:8px 12px;font:700 14px/1.4 Meiryo,sans-serif}
.example-button{font:inherit;font-size:13px;padding:9px 12px;min-height:44px;background:#fff;border:1px solid #aaa;color:#555}
.choice-group{padding:0!important;border:0!important;margin:4px 0 22px!important}.choice-group legend{padding:0!important;margin-bottom:10px}
.choice-grid{display:grid;grid-template-columns:1fr;gap:4px}.choice-grid label{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--form-line);cursor:pointer}
#contents input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:0;accent-color:var(--form-red);border:initial}
.choice-grid label:has(input:checked){background:#fcf2f2;border-color:var(--form-red)}
.consent-wrap{padding-top:16px;border-top:1px solid var(--form-line)}
.contact-consent{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;font-size:15px}
.contact-consent a,.form-panel a{color:var(--form-red);text-decoration:underline}
.primary-button{display:block;width:min(100%,380px);min-height:54px;margin:28px auto 0;border:2px solid var(--form-red);background:var(--form-red);color:white;font:700 16px/1.48 'Yu Gothic',Meiryo,sans-serif;padding:12px 16px}
.secondary-button{display:block;min-height:48px;padding:10px 16px;margin:20px 0 0;border:1px solid #777;background:white;color:#333;font:inherit}
@media(hover:hover){button:hover,.sample-toolbar a:not([aria-current]):hover{background:var(--form-gold);color:#111;border-color:#9a7800}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #005fcc!important;outline-offset:3px}
.contact-field input:focus{border-color:var(--form-red)!important}
#contents .field-error{font-size:13px;color:#b21f2d;margin-top:7px;font-weight:700}
#contents input[aria-invalid=true]{border:2px solid #b21f2d}.error-summary{padding:14px;border:2px solid #b21f2d;color:#b21f2d;background:#fff8f8;margin-top:14px;font-size:14px}
#contents .form-panel h3{background:none;font-size:22px;padding:0;margin:0 0 12px}.review-list{margin:20px 0 0;border:1px solid var(--form-line)}
.review-list>div{display:grid;grid-template-columns:170px minmax(0,1fr);border-bottom:1px solid var(--form-line)}.review-list>div:last-child{border-bottom:0}
.review-list dt,.review-list dd{padding:14px 16px;margin:0;overflow-wrap:anywhere}.review-list dt{font-size:14px;font-weight:700;background:#f6f4ee}
.review-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.review-actions button{flex:1;min-width:200px;margin-top:24px}.review-actions .primary-button{width:auto}
#side [aria-current=page]{border-left:3px solid var(--form-red);background:#fcf2f2;font-weight:bold}
.mobile-menu-title,.mobile-pagetop-label{display:none}
#fBox{max-width:980px;width:calc(100% - 32px);margin-top:36px}#pagetop{max-width:980px;width:calc(100% - 32px)}
@media(max-width:1000px){#header{width:calc(100% - 32px)}#hMenu{left:90px!important;right:0;display:flex;flex-wrap:wrap}#hMenu li{float:none}#hMenu img{max-width:100%;height:auto}#header p.hHome,#header p.hCorpo{display:none}#header{height:120px}#wrapper{column-gap:24px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.sample-toolbar>div{padding:8px 16px;flex-wrap:wrap}.sample-toolbar a{min-height:44px;padding:7px 16px}.sample-toolbar strong{font-size:12px}
 #header{height:auto;min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr);gap:6px 10px;padding:10px 0;width:calc(100% - 32px)}
 #header h1#logo{position:static}#header #logo img{width:52px;height:56px;object-fit:contain}#header p.recruit{position:static;align-self:center}#header p.recruit img{width:min(100%,330px);height:auto}
 ul#hMenu{position:static!important;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:100%;padding:6px 0 0;border-top:1px solid #ddd}
 #hMenu li{float:none;min-width:0}#hMenu a{display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid #e4e1d8}#hMenu img{width:auto;max-width:100%;max-height:27px;object-fit:contain}
 #wrapper{display:block}#path{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:8px}#contents{width:100%;float:none}#contents h2{font-size:20px}
 #side{width:100%;margin-top:36px;padding-top:24px;border-top:1px solid var(--form-line);font:14px/1.48 'Yu Gothic',Meiryo,sans-serif}
 #side dl#menu{padding:0;margin:0}#side dl#menu dt{margin:0;padding:9px 14px;background:#171717}#side dl#menu dt img{display:none}
 #side .mobile-menu-title{display:block;font-size:15px;font-weight:700;line-height:1.48;color:#fff}
 #side dl#menu dd{width:100%;margin:0;border:1px solid #bababa;border-top:0;padding:0;background:#fff}
 #side dl#menu ul{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0}
 #side dl#menu ul li{min-width:0;margin:0;padding:0}
 #side dl#menu ul li a{display:flex;align-items:center;justify-content:flex-start;min-height:48px;height:auto;margin:0;padding:10px 14px;background:#fff;border:0;border-bottom:1px dotted #bababa;border-radius:0;text-align:left;color:#333;text-decoration:none;line-height:1.48;overflow-wrap:anywhere}
 #side dl#menu ul li:last-child a{border-bottom:0}
 #side dl#menu ul li a[aria-current=page]{background:#fcf2f2;border-left:3px solid var(--form-red);padding-left:11px;box-shadow:none;font-weight:700;color:#333}
 #side .menuBnr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:392px;margin:20px auto 0;padding:0}
 #side .menuBnr li{width:auto;min-width:0;margin:0}#side .menuBnr a{display:block}#side .menuBnr img{display:block;width:100%;height:auto;max-width:190px}
 #pagetop{margin-top:24px}#pagetop p{text-align:center;padding:0}
 #pagetop p a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border:1px solid #dedbd2;background:white;color:#555;font:14px/1.48 'Yu Gothic',Meiryo,sans-serif;text-decoration:none}
 #pagetop p a img{display:none}.mobile-pagetop-label{display:block}
 .field-grid{grid-template-columns:1fr}.wide{grid-column:auto}.form-panel fieldset{padding:22px 18px}.form-steps{font-size:13px;gap:4px}
 .postal-row{flex-direction:column}.postal-row input{width:100%!important;flex:none}.postal-row button{width:100%}.contact-consent{font-size:14px}
 .review-list>div{display:block}.review-list dt{padding:10px 14px}.review-list dd{padding:12px 14px}.review-actions{display:block}.review-actions button{width:100%;min-width:0}
 #fBox .Lcorpo,#fBox .Rcopy{float:none;width:100%;text-align:left;margin-bottom:14px}#fBox img{max-width:100%;height:auto}
}
@media(max-width:760px) and (hover:hover){#side dl#menu ul li a:not([aria-current=page]):hover,#pagetop p a:hover{background:var(--form-gold);color:#111}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.primary-button:disabled{opacity:.65;cursor:wait}.completion-link{display:block;text-align:center;text-decoration:none}#contents a.completion-link{color:#fff}#contents a.completion-link:hover,#contents a.completion-link:focus-visible{color:#171717;background:var(--form-gold)}.contact-window{margin:24px 0;padding:18px;background:#faf8f3;border-left:4px solid #171717}

.form-panel fieldset.name-group{border:0;padding:0;margin:0 0 20px;min-width:0}.form-panel .name-group legend{padding:0;margin-bottom:10px;font-size:16px}.name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.name-fields .contact-field{margin-bottom:0}
.postal-choices{margin-top:12px}.postal-choices label{display:block;margin-bottom:7px;font-weight:700}#contents .postal-choices select{width:100%;max-width:100%;min-height:48px;padding:10px 8px;border:1px solid var(--form-border);background:#fff;color:var(--form-text);font:inherit}.postal-row button:disabled{opacity:.65;cursor:wait}

/* The smartphone navigation follows the existing recruit/sp footer. */
.mobile-recruit-nav,.mobile-footer-links{display:none}
#contents .form-panel p{margin-bottom:12px}
#contents .contact-window p:last-child{margin-bottom:0}
button:focus-visible,#contents a.completion-link:focus-visible{background:var(--form-gold);color:#111;border-color:#9a7800}
button:disabled:hover{background:var(--form-red);color:#fff;border-color:var(--form-red)}
@media(max-width:760px){
 #header ul#hMenu{display:none}
 #header{padding-bottom:14px;border-bottom:1px solid var(--form-line)}
 #footertop{width:100%;margin-top:28px}
 .mobile-recruit-nav{display:block;width:100%;margin:0 auto 12px;border-top:1px dotted #aaa;border-bottom:1px dotted #aaa;font:700 14px/1.48 Meiryo,sans-serif}
 .mobile-recruit-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}
 .mobile-recruit-nav li{min-width:0;border-bottom:1px dotted #aaa}
 .mobile-recruit-nav li:nth-last-child(-n+2){border-bottom:0}
 .mobile-recruit-nav li:nth-child(odd){border-right:1px dotted #aaa}
 .mobile-recruit-nav a{display:flex;align-items:center;gap:7px;min-height:52px;padding:12px 10px;color:#292929;text-decoration:none;overflow-wrap:anywhere}
 .mobile-recruit-nav a::before{content:'';width:12px;height:12px;flex:none;border:3px solid #eab6ba;border-radius:50%;box-sizing:border-box}
 .mobile-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:8px 16px;font:12px/1.48 Meiryo,sans-serif}
 .mobile-footer-links a{display:flex;align-items:center;min-height:44px;color:#555;text-decoration:underline}
 #fBox .Lcorpo{display:none}#fBox .Rcopy{text-align:center}
 .contact-window{padding:16px;margin:20px 0}
}
@media(max-width:760px) and (hover:hover){.mobile-recruit-nav a:hover,.mobile-footer-links a:hover{background:var(--form-gold);color:#111}}
.mobile-recruit-nav a:focus-visible,.mobile-footer-links a:focus-visible{background:var(--form-gold);color:#111}
