/* 田中商店 鹿児島支店 採用サイト（Xserver設置用・静的版）
   元の app/globals.css から Tailwind/shadcn の読み込みを外し、必要な初期化だけを残したもの */
*,::before,::after{box-sizing:border-box;margin:0;padding:0;border:0 solid #d8dee6}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
img,svg{display:block;vertical-align:middle}
button,input,select,textarea{font:inherit;color:inherit;background:transparent}
[hidden]{display:none!important}
.icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#142744;background:#fff;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #678831;outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.header{height:94px;max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:20px}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:17px;font-weight:800;line-height:1.6}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:#142744;color:#baff4a;border-radius:5px;font-size:30px;font-family:Arial}.brand small{display:block;font-size:12px;letter-spacing:.08em;font-weight:500;color:#526174}.header nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:55px;padding:14px 28px;background:#baff4a;border:1px solid transparent;color:#142744;border-radius:5px;font-weight:800;font-size:16px;transition:background .15s,transform .15s}.button:hover{background:#a8ee35;transform:translateY(-2px)}.button.small{min-height:44px;padding:9px 22px;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;max-width:1480px;margin:auto;background:#edf1f5}.hero-content{padding:55px 6% 60px max(8%,calc((min(100vw,1480px) - 1210px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;display:flex;gap:12px;align-items:center;color:#55667c}.line{height:2px;width:25px;background:#142744}.location{display:flex;gap:6px;align-items:center;margin:26px 0 18px;font-size:14px;color:#536379}h1{font-size:clamp(36px,3.65vw,58px);font-weight:850;letter-spacing:-.04em;line-height:1.55;word-break:keep-all}h1 em{font-style:normal;box-shadow:inset 0 -13px #baff4a}.hero-copy{font-size:16px;line-height:1.95;margin-top:24px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;border-bottom:1px solid #7a889a;padding-bottom:2px}.micro{font-size:12px;color:#566679;margin-top:13px}.hero-visual{position:relative;min-height:560px;background:#1a2e44;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,30,48,.8),rgba(13,30,48,.05) 70%)}.photo-caption{position:absolute;bottom:45px;left:45px;color:#fff;z-index:1}.photo-caption>span{font-size:12px;font-family:Arial;letter-spacing:.2em;color:#baff4a}.photo-caption strong{display:block;font-size:31px;line-height:1.55;margin-top:12px}.photo-caption small{display:block;font-size:12px;margin-top:16px;color:#e5eaf0}.vertical-text{position:absolute;right:17px;top:35px;writing-mode:vertical-rl;color:#fff;letter-spacing:.2em;font-size:11px;z-index:1}.intro-strip{display:flex;justify-content:center;gap:8%;padding:28px 5%;border-bottom:1px solid #e0e5eb}.intro-strip span{display:flex;gap:12px;align-items:center;font-weight:700;font-size:14px}.intro-strip svg{width:21px}.section{max-width:1230px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:40px}.section-heading h2{margin-top:14px}h2{font-size:32px;line-height:1.65;letter-spacing:-.025em;font-weight:800}.section-heading>p{color:#586778;font-size:14px;max-width:440px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.work-card{padding:32px;background:#f1f4f7;border-top:3px solid #142744}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.card-top>span{font-family:Arial;font-size:34px;line-height:1;color:#69788a;font-weight:300}.work-card h3{font-size:20px;margin-bottom:14px;font-weight:750}.work-card p{color:#546375;font-size:14px;line-height:1.9}.culture{background:#142744;color:#fff;padding:65px 5%;position:relative}.culture-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px 60px}.culture .eyebrow{color:#baff4a;grid-column:1/-1}.culture h2{font-size:42px}.culture-inner>div>p{margin-bottom:18px;line-height:1.9}.culture .button{margin-top:8px}.jobs-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:50px}.job-table{margin:0}.job-table>div{display:grid;grid-template-columns:135px 1fr;padding:19px 0;border-bottom:1px solid #d9e0e8;font-size:14px;gap:15px}.job-table>div:first-child{border-top:1px solid #142744}.job-table dt{font-weight:750}.job-table dd{margin:0;color:#526174}.job-note{background:#eef2f6;padding:32px;align-self:start;border-radius:5px}.job-note h3{font-size:24px;line-height:1.6;font-weight:750;margin:18px 0}.job-note p{font-size:14px;color:#526174}.job-note .note-small{font-size:12px;margin:20px 0}.application-section{background:#edf1f5;padding:80px max(5%,calc((100vw - 1110px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.application-intro{position:sticky;top:40px}.application-intro h2{font-size:44px;line-height:1.55;margin:20px 0}.application-intro>p{color:#526174;font-size:14px}.steps{margin:35px 0;display:grid;gap:17px}.steps>div{display:flex;align-items:center;gap:13px;font-size:14px}.steps span{width:28px;height:28px;display:grid;place-items:center;background:#142744;color:white;border-radius:50%;font-size:12px}.phone{font-family:Arial;font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px;margin-top:4px}.form-panel{padding:35px;background:#fff;box-shadow:0 7px 30px #14274408;border-radius:7px;min-width:0}.form-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.form-heading h3{font-size:19px;font-weight:750}.form-heading>span{font-size:12px;color:#647084}.field{margin-bottom:19px;min-width:0}.field label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:7px}.field label span,.consent label span{font-size:11px;color:#455333;background:#e9f6d7;padding:1px 5px;border-radius:3px}.field label small{font-size:12px;font-weight:400;color:#647084}.field input,.field textarea,.field .choice{width:100%;border:1px solid #bcc6d3;border-radius:4px;min-height:48px;padding:11px 13px;background:#fff;color:#142744;font-size:16px;line-height:1.5;box-shadow:none;white-space:normal;height:auto}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#7c8796;font-size:14px}.field input:focus,.field textarea:focus{outline:2px solid #789344;outline-offset:1px}.form-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.trap{display:none}.privacy{font-size:12px;color:#57667a;border-bottom:1px solid #e0e5eb;padding:0 0 15px;margin-top:6px}.privacy summary{cursor:pointer;min-height:32px;line-height:2}.privacy p{margin-top:10px}.consent{display:flex;gap:11px;align-items:flex-start;margin:21px 0;font-size:14px}.consent input[type=checkbox]{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:#142744;cursor:pointer}.consent label{cursor:pointer}.consent label span{margin-left:6px}.submit{width:100%}.submit:disabled{opacity:.6;cursor:wait}.error{background:#fff2f2;color:#9f2020;border:1px solid #e7b4b4;padding:12px;font-size:14px;margin-bottom:16px}.form-foot{display:flex;align-items:flex-start;gap:7px;color:#66758a;font-size:12px;margin-top:15px;justify-content:center}.form-foot svg{flex-shrink:0;margin-top:4px}.success{text-align:center;padding:25px 0}.success>svg{margin:0 auto 20px;color:#547326}.success h3{font-size:22px;margin-bottom:15px}.success p{font-size:14px;line-height:1.9;margin-bottom:20px}.receipt{background:#f0f4f8;padding:12px;font-family:monospace}.success .button{margin-top:15px}footer{padding:40px 5%;display:flex;justify-content:space-between;gap:25px;max-width:1380px;margin:auto}footer>div{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:14px}footer small{font-size:11px;color:#677587;font-family:Arial}.mobile-cta{display:none}
@media(max-width:1000px){.header nav{gap:20px}.hero-content{padding:42px 8%}.hero-actions{gap:15px}.hero{min-height:580px}.hero-visual{min-height:580px}.work-card{padding:23px}.jobs-layout{gap:30px}.application-section{gap:30px}.form-panel{padding:26px}.application-intro h2{font-size:36px}.section-heading>p{max-width:330px}}
@media(max-width:720px){html{scroll-padding-top:25px}.header{height:78px;padding:0 5%}.brand{font-size:14px;gap:8px}.brand-mark{width:34px;height:34px;font-size:25px}.brand small{font-size:11px}.header nav>a:not(.button){display:none}.button.small{padding:9px 12px;font-size:12px;min-height:40px}.hero{grid-template-columns:1fr}.hero-content{padding:35px 6% 38px}.location{margin:19px 0 12px}h1{font-size:clamp(30px,8.2vw,44px)}.hero-copy{margin-top:18px;font-size:15px}.hero-actions{margin-top:24px;gap:18px}.hero-visual{min-height:305px}.photo-caption{left:24px;bottom:24px}.photo-caption strong{font-size:25px;line-height:1.45;margin-top:8px}.photo-caption small{margin-top:9px}.vertical-text{font-size:10px}.intro-strip{padding:20px 4%;gap:10px;justify-content:space-between}.intro-strip span{font-size:11px;gap:5px;align-items:flex-start}.intro-strip svg{width:15px;height:19px;flex-shrink:0}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:18px;max-width:none}h2{font-size:27px}.work-grid{grid-template-columns:1fr;gap:15px}.work-card{padding:23px}.card-top{margin-bottom:18px}.card-top>span{font-size:29px}.culture{padding:40px 6%}.culture-inner{grid-template-columns:1fr;gap:18px}.culture h2{font-size:33px}.culture-inner>div>p{font-size:15px}.jobs-layout{grid-template-columns:1fr;gap:25px}.job-table>div{grid-template-columns:100px 1fr;gap:10px}.job-note{padding:25px}.application-section{grid-template-columns:1fr;padding:48px 6%;gap:30px}.application-intro{position:static}.application-intro h2{font-size:35px;margin:15px 0}.steps{margin:23px 0;gap:12px}.form-panel{padding:24px 18px}.form-heading h3{font-size:18px}.form-heading>span{font-size:11px}.form-grid{gap:12px;grid-template-columns:1.7fr 1fr}.field label{font-size:14px}.consent{font-size:13px}footer{display:block;padding:30px 6% 100px}footer>div{margin-top:20px;align-items:flex-start}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;padding:9px 6% max(9px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #d8dfe7;z-index:10}.mobile-cta .button{width:100%;min-height:47px;padding:10px}.hero-actions .button{font-size:14px;padding:13px 19px}.text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.job-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:35px}.job-highlights>div{background:#142744;color:#fff;padding:20px 24px;border-radius:5px;display:flex;flex-direction:column}.job-highlights strong{font-size:22px;line-height:1.4;color:#baff4a}.job-highlights span{font-size:12px;margin-top:3px;color:#dce4ed}.job-table dd>strong{color:#142744;font-size:16px}.job-table dd small{display:inline-block;margin-top:5px;color:#687587;line-height:1.75;font-size:12px}.job-note{position:sticky;top:30px}

.workplace-section{padding-top:0}.workplace{margin:0;display:grid;grid-template-columns:1.8fr 1fr;background:#142744;color:#fff;overflow:hidden;border-radius:5px}.workplace>img{display:block;width:100%;height:auto;align-self:center}.workplace figcaption{padding:36px;align-self:center}.workplace .eyebrow{color:#baff4a}.workplace h3{font-size:27px;font-weight:750;line-height:1.6;margin:15px 0 8px}.workplace figcaption>p:not(.eyebrow){font-size:15px;color:#dce4ed}.workplace figcaption>span{display:block;font-size:12px;margin-top:25px;color:#aab7c8}
@media(max-width:720px){.workplace{grid-template-columns:1fr}.workplace figcaption{padding:24px}.workplace h3{font-size:23px;margin-top:10px}.workplace figcaption>span{margin-top:14px}}

@media(max-width:720px){.job-highlights{grid-template-columns:1fr;gap:8px;margin-bottom:24px}.job-highlights>div{padding:14px 18px;flex-direction:row;justify-content:space-between;align-items:center}.job-highlights strong{font-size:18px}.job-highlights span{margin:0}.job-table>div{grid-template-columns:92px 1fr}.job-note{position:static}}

.brand-logo{flex-shrink:0;gap:12px}.brand-logo-frame{display:block;position:relative;width:226px;height:78px;overflow:hidden;background:#fff}.brand-logo-frame img{position:absolute;top:50%;left:0;width:100%;height:auto;transform:translateY(-50%)}.brand-logo .brand-logo-tag{font-size:11px;letter-spacing:.08em;border-left:1px solid #d8dee6;padding-left:12px;line-height:2}
.recruitment-feature{padding-top:55px;padding-bottom:0}.media-zoom{display:block;cursor:zoom-in;overflow:hidden;border-radius:5px}.media-zoom img{display:block;width:100%;height:auto}.media-zoom:hover{outline:2px solid #6c83a2;outline-offset:4px}.recruitment-feature-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.recruitment-feature-footer>p{font-weight:700;font-size:17px}.recruitment-feature-footer small{display:block;font-size:12px;color:#647084;font-weight:400;margin-top:3px}
.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:38px 0 18px}.gallery-heading h3{font-size:22px;font-weight:750}.gallery-heading p{font-size:12px;color:#647084}.branch-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.branch-gallery figure{margin:0;background:#f1f4f7;border-radius:5px;overflow:hidden;min-width:0}.branch-gallery .media-zoom{border-radius:0}.branch-gallery figcaption{padding:15px 20px;font-size:14px;font-weight:700}.team-image{grid-column:1/-1;margin:30px 0 0;min-width:0}.team-image figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:15px;font-size:16px;font-weight:700}.team-image figcaption small{font-size:12px;font-weight:400;color:#c0ccdc}
@media(max-width:1000px){.brand-logo .brand-logo-tag{display:none}}
.branch-gallery .branch-landscape img{aspect-ratio:1/1;object-fit:cover;object-position:50% 65%}
@media(max-width:720px){.header{gap:12px}.brand-logo-frame{width:clamp(154px,42vw,190px);height:62px}.recruitment-feature{padding-top:35px}.recruitment-feature-footer{align-items:flex-start;flex-direction:column;gap:14px}.recruitment-feature-footer>p{font-size:15px}.gallery-heading{display:block;margin-top:28px}.gallery-heading h3{font-size:20px}.gallery-heading p{margin-top:5px}.branch-gallery{grid-template-columns:1fr;gap:18px}.branch-gallery figcaption{padding:13px 16px;font-size:13px}.team-image{margin-top:15px}.team-image figcaption{font-size:14px;gap:5px}}

/* ネイティブの select（元は shadcn の Select） */
.field select.choice{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566679' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center/16px}
.field select:focus{outline:2px solid #789344;outline-offset:1px}

/* ---- 2026-10-11 監査での修正（エラー表示・スマホの固定ボタン・コントラスト・押した時の反応） ---- */
@media(max-width:720px){html{scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
.field input::placeholder,.field textarea::placeholder{color:#647084}
.field input,.field textarea,.field .choice{border-color:#7c8796}
.field [aria-invalid="true"]{border-color:#9f2020}
.field-error{margin-top:6px;color:#9f2020;font-size:13px;line-height:1.6}
.consent+.field-error{margin:-14px 0 16px}
.error-line{display:block}
.branch-gallery .media-zoom:focus-visible{outline-offset:-3px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button:active{background:#a8ee35;transform:translateY(1px)}
@media(hover:none){.button:hover{transform:none}}
/* アイコン定義用の SVG（表示しない。CSP でインライン style を禁止しているためクラスで指定） */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
/* 画像認証 */
.captcha-help{font-size:12px;color:#57667a;margin-bottom:8px;line-height:1.7}
.captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.captcha-row img{display:block;width:180px;height:60px;border:1px solid #7c8796;border-radius:4px;background:#f3f6f9}
.captcha-refresh{min-height:44px;padding:8px 14px;border:1px solid #7c8796;border-radius:4px;background:#fff;color:#142744;font-size:13px;font-weight:700;cursor:pointer}
.captcha-refresh:hover{background:#edf1f5}
.field input#captcha{max-width:220px;letter-spacing:.2em;text-transform:uppercase}
