/*
Theme Name: 田中工業所
Description: 田中工業所の現行デザインを引き継ぐ、Elementor不要のクラシックテーマ。
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: tanaka-native
*/
:root{--navy:#053b71;--red:#b81c25;--text:#1e2535;--gray:#687380}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{margin:0;font-family:"Noto Serif JP",serif;color:var(--text);font-size:15px;line-height:1.8;background:#087891}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #eea93e;outline-offset:5px}button{cursor:pointer}a:hover{text-decoration:underline}section[id]{scroll-margin-top:30px}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;padding:10px;background:#fff;color:var(--navy);z-index:1000}
.ocean{position:fixed;inset:0;z-index:-2;background:#087891 url('assets/ocean-poster.jpg') center/cover no-repeat;pointer-events:none}.ocean video{width:100%;height:100%;object-fit:cover}.desktop-message{position:fixed;top:190px;width:100%;text-align:center;color:white;z-index:-1;pointer-events:none}.desktop-message p{font-size:5vw;letter-spacing:1px;font-weight:500;line-height:1.4}.desktop-message span{font-family:Poppins,sans-serif;font-size:2vw;font-weight:100;letter-spacing:1vw}.site-header{position:fixed;left:0;bottom:5vw;width:calc((100% - 520px)/2);padding:0 28px;display:flex;align-items:center;flex-direction:column;gap:60px;z-index:5;color:#fff}.brand{display:block;max-width:300px;width:100%;line-height:1.2}.brand img{width:100%}.brand span{display:block;text-align:right;font-size:13px;margin-top:4px}.desktop-nav ul{padding:0;margin:0;list-style:none}.desktop-nav li{margin-bottom:15px;text-align:center;font-size:16px}.side-recruit{position:fixed;right:0;bottom:5vw;width:calc((100% - 520px)/2);padding:0 30px;z-index:5}.side-recruit img{width:300px;margin:auto;border-radius:20px}.home-column{width:520px;margin:0 auto}.hero{height:700px;position:relative;display:flex;align-items:center;justify-content:center}.hero-mark{width:500px;opacity:.2}.mobile-message{position:absolute;text-align:center;color:#fff}.mobile-message h1{font-size:60px;line-height:1.38;font-weight:500}.mobile-message p{font-family:Poppins,sans-serif;font-weight:100;font-size:33px;letter-spacing:3.1px}.panel{position:relative;padding:100px 30px;background:#fff;text-align:center}.section-heading{margin:0 auto 45px;text-align:center}.section-heading h2{font-size:30px;line-height:1.2;color:var(--navy)}.section-heading p{color:var(--red);font-size:14px;font-weight:800;letter-spacing:3px;margin-top:10px}.wave{display:block;width:200px;height:12px;margin:12px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 12'%3E%3Cpath d='M0 6 C10 0 10 12 20 6 C30 0 30 12 40 6 C50 0 50 12 60 6 C70 0 70 12 80 6' stroke='%23053B71' stroke-width='2.5' fill='none'/%3E%3C/svg%3E") repeat-x 0 0/80px 12px;animation:wave 1.4s linear infinite}@keyframes wave{to{background-position:80px 0}}.mascot{position:absolute;left:50%;transform:translateX(-50%);object-fit:contain}.about{border-radius:40px 40px 0 0}.truck{width:130px;top:-53px}.section-copy h3{font-size:20px;color:var(--navy);margin-bottom:25px}.section-copy p{font-size:15px;line-height:1.7}.service-staff{width:95px;left:auto;right:27px;top:120px;transform:none}.service-photos{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:30px}.service-photos img{height:160px;width:100%;object-fit:cover;border-radius:15px}.service-group{text-align:left;margin-top:30px}.service-group h3{color:var(--navy);font-size:18px;border-bottom:1px solid var(--navy);padding-bottom:10px;margin-bottom:15px}.service-group ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:0}.service-group li{background:#053b7112;text-align:center;font-size:16px;color:var(--navy);font-weight:700;padding:17px 5px}.area-map{width:80%;margin:0 auto 20px auto}.area>p{font-size:14px;color:var(--navy)}.light{color:#fff}.light .section-heading h2,.light .section-heading p{color:#fff}.light .wave{filter:brightness(0) invert(1)}.philosophy{background:#053b7147;padding-bottom:190px}.philosophy h3{font-size:20px;margin:30px 0 12px}.philosophy>p{font-size:14px;line-height:1.7}.philosophy-staff{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:180px}.info-table,.recruit-table{width:100%;border-collapse:collapse;text-align:left}.info-table tr,.recruit-table tr{border-bottom:1px solid #e8ecf2}.info-table tr:last-child,.recruit-table tr:last-child{border:0}.info-table th{font-size:13px;width:160px;vertical-align:top;padding:14px 0}.info-table td{font-size:14px;padding:14px 0;vertical-align:top;line-height:1.7;overflow-wrap:anywhere}.company-photo{margin-top:35px;width:100%;border-radius:15px}.history{background:var(--navy)}.history>p{margin:30px 0 0;line-height:2}.recruit{background:#053b7147}.recruit-photo{border-radius:20px;width:100%;margin-bottom:30px}.button{display:inline-block;background:var(--red);color:#fff;padding:12px 40px;border-radius:6px;font-size:14px;font-weight:700;box-shadow:0 0 10px #0005;transition:transform .2s;text-align:center}.button:hover{transform:scale(1.04);text-decoration:none}.achievement{padding-bottom:400px;border-radius:0 0 40px 40px;background:#fff url('assets/achievement.png') no-repeat center bottom/100% auto}.award-staff{width:130px;top:-50px}.achievement>p{font-size:16px;line-height:2}.contact{background:transparent;padding-bottom:60px}.contact-logo{width:300px;margin:auto}.service-label{text-align:center;margin-top:5px;font-size:13px}.contact-number{font-size:28px;line-height:1.5;margin-top:16px;font-weight:700}.contact-number span{font-size:14px}.address{font-size:12px;line-height:2;margin:20px 0 30px}.site-footer{padding:30px 20px;text-align:center;color:#fff}.site-footer small{font-size:12px}.motion-toggle{position:fixed;right:12px;bottom:10px;padding:5px 10px;border:1px solid #fff8;border-radius:20px;background:#053b71d9;color:#fff;font-size:11px;z-index:8}.dialog-open{overflow:hidden}dialog{border:0;border-radius:18px;width:min(760px,92vw);max-height:88dvh;overflow-y:auto;padding:55px 40px 40px;color:var(--text);background:#fff;overscroll-behavior:contain;box-shadow:0 15px 70px #0005}dialog::backdrop{background:#001b36bb}dialog h2{font-size:30px;color:var(--navy);margin-bottom:20px}dialog>p{font-size:14px;margin:15px 0}dialog:target:not([open]){display:block;position:relative;margin:30px auto}.dialog-close{position:sticky;float:right;top:0;width:44px;height:44px;margin-top:-35px;margin-right:-20px;border:0;border-radius:50%;font-family:sans-serif;background:var(--navy);color:#fff;font-size:30px;line-height:1;z-index:2}.dialog-en{letter-spacing:3px;color:var(--red)}.dialog-mascot{width:75px;margin:0 0 20px auto}.job-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--navy);color:#fff;padding:20px}.recruit-table th{width:110px;font-size:14px;padding:16px 8px;vertical-align:top}.recruit-table td{padding:16px 8px;font-size:14px}.benefit-tag{display:inline-block;padding:3px 7px;background:#edf4f8;margin:3px;border-radius:3px}.urgent,.recruit-call{text-align:center;background:#edf4f8;padding:25px}.urgent a,.recruit-call a{font-size:24px;color:var(--navy);font-weight:700}.form-unavailable{padding:20px;border:1px solid #d6e0eb}.wpcf7 .formRow{padding:20px 0;border-bottom:1px solid #eee}.wpcf7 .formLabel{font-weight:700;margin-bottom:10px}.wpcf7 .formLabel span{background:var(--red);color:#fff;font-size:12px;padding:3px 8px;margin-left:10px;border-radius:4px}.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wpcf7 textarea,.wpcf7 select{width:100%;border:1px solid #ccd4db;border-radius:5px;background:#fafafa;padding:12px;font-size:16px}.wpcf7 input[type=submit]{background:var(--red);color:#fff;border:0;padding:15px 30px;border-radius:30px;cursor:pointer}.wpcf7 .submitBtn{text-align:center}.wpcf7 .wpcf7-response-output{padding:15px}.document-column{background:#fff;border-radius:25px;max-width:720px;margin:80px auto;padding:45px 35px;position:relative;z-index:6}.document-column article+article{margin-top:40px;border-top:1px solid #eee;padding-top:30px}.entry-content>*{margin:1.5em 0}.entry-content a{text-decoration:underline}.entry-content img{height:auto}.entry-content iframe{max-width:100%}.entry-content .alignwide{width:100%}
@media(min-width:1025px){.mobile-message h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.mobile-message p{display:none}.hero-mark{opacity:.2}}
@media(max-width:1200px) and (min-width:1025px){.site-header{padding:0 18px;gap:35px}.desktop-nav li{font-size:14px;margin-bottom:10px}.side-recruit{padding:0 18px}}
@media(max-width:1024px){.desktop-message,.desktop-nav,.side-recruit{display:none}.site-header{position:absolute;top:30px;bottom:auto;left:50%;width:300px;transform:translateX(-50%);padding:0}.hero{height:800px;padding-top:70px}.service-staff{top:-30px;right:50%;transform:translateX(50%)}.info-table th{width:110px;font-size:12px}.document-column{margin:150px auto 40px;width:92%}}
@media(max-width:767px){.site-header{width:240px}.brand span{font-size:12px}.home-column{width:92%;max-width:520px}.hero{height:500px;padding-top:60px}.hero-mark{width:100%}.mobile-message h1{font-size:42px;line-height:50px;text-align:left}.mobile-message p{font-size:21px;letter-spacing:3.1px;margin-top:12px}.panel{padding:100px 20px}.section-heading h2{font-size:24px}.section-heading{margin-bottom:45px}.truck{width:100px;top:-32px}.service-staff{width:80px;top:-22px}.service-photos{grid-template-columns:1fr;gap:30px}.service-photos img{height:50vw}.service-group ul{grid-template-columns:1fr}.philosophy{padding-bottom:170px}.recruit{padding:30px 30px 50px}.achievement{padding-bottom:300px}.award-staff{width:100px;top:-11px}.contact-logo{width:240px}.contact-number{font-size:27px}.contact{padding-bottom:70px}.site-footer{padding-bottom:55px}dialog{padding:50px 22px 25px}.dialog-close{margin-right:-10px}.recruit-table th{width:80px;font-size:12px}.recruit-table td{font-size:13px}.job-heading{padding:15px}.job-heading h3{font-size:20px}.document-column{padding:30px 20px}}
@media(max-width:360px){.mobile-message h1{font-size:35px;line-height:1.3}.mobile-message p{font-size:16px}.section-copy h3{font-size:18px}.info-table th{width:80px}.contact-number{font-size:23px}.button{padding-left:25px;padding-right:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:1025px){.desktop-nav li{line-height:20px;margin-bottom:22px}.desktop-nav li:last-child{margin-bottom:0}}
.achievement{background-image:linear-gradient(180deg,#fff 10%,#ffffff00 60%),url('assets/achievement.png')}
@media(min-width:1025px){.home-column>.recruit{display:none}}

/* Popup corrections — 2026-09-29 */
.motion-toggle { display: none !important; }
.dialog-close { display:block; padding:0; font-size:0; line-height:0; background:transparent; color:#053b71; border-radius:0; appearance:none; }
.dialog-close::before, .dialog-close::after { content:""; position:absolute; top:50%; left:50%; width:28px; height:3px; border-radius:2px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
.dialog-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
#recruit-dialog { padding:40px; background:#f6f7fb; border-radius:20px; }
#recruit-dialog > h2 { margin:0 0 36px; font-size:24px; line-height:1.3; color:#1e2535; }
#recruit-dialog .dialog-close { margin-top:-20px; margin-right:-20px; }
#recruit-dialog .dialog-mascot { position:absolute; top:29px; right:80px; width:auto; height:158px; margin:0; z-index:1; pointer-events:none; }
#recruit-dialog .job-heading { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; min-height:84px; padding:16px 190px 16px 40px; border-radius:12px 12px 0 0; }
#recruit-dialog .job-heading h3 { margin:0; font-size:22px; line-height:1.4; }
#recruit-dialog .job-heading span { font-size:16px; line-height:1.5; }
#recruit-dialog .recruit-table { background:#fff; border:40px solid #fff; border-top-width:12px; border-bottom-width:20px; border-radius:0 0 12px 12px; clip-path:inset(0 round 0 0 12px 12px); }
#recruit-dialog .recruit-table th { width:120px; font-weight:500; }
#recruit-dialog .recruit-table th, #recruit-dialog .recruit-table td { padding:14px 0; line-height:1.8; }
#recruit-dialog .benefit-tag { background:#e9ecf1; margin:2px 4px 2px 0; }
#recruit-dialog .benefit-tag.highlight { background:#eaf5fa; color:#3283a8; }
#recruit-dialog .recruit-call { display:none; }
@media (max-width:767px) {
  #recruit-dialog { padding:28px 18px; border-radius:16px; }
  #recruit-dialog > h2 { font-size:22px; margin-bottom:42px; }
  #recruit-dialog .dialog-close { margin-top:-16px; margin-right:-12px; }
  #recruit-dialog .dialog-mascot { top:67px; right:28px; height:112px; }
  #recruit-dialog .job-heading { min-height:80px; padding:16px 105px 16px 18px; }
  #recruit-dialog .job-heading h3 { font-size:19px; }
  #recruit-dialog .job-heading span { font-size:14px; }
  #recruit-dialog .recruit-table { border-left-width:16px; border-right-width:16px; }
  #recruit-dialog .recruit-table th { width:76px; padding-right:8px; font-size:12px; }
  #recruit-dialog .recruit-table td { font-size:13px; overflow-wrap:anywhere; }
}

.contact-thanks {
	padding: 100px 20px 140px;
	text-align: center;
}

.contact-thanks-en {
	margin: 0 0 30px;
	color: #0b3c68;
	font-family: serif;
	font-size: clamp(38px, 6vw, 72px);
	line-height: 1;
	letter-spacing: .08em;
}

.contact-thanks-message {
	margin: 0;
	color: #222;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 600;
	line-height: 2;
}

/* =====================================================
   Google reCAPTCHA
===================================================== */

/* 通常は非表示 */
.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease;
}

/* お問い合わせフォーム表示中だけ表示 */
body.contact-dialog-open .grecaptcha-badge {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}