/*
Theme Name: Nishihata LP
Theme URI: https://nishihata-eng.jp
Author: Nishihata Engineering
Author URI: https://nishihata-eng.jp
Description: 未経験キャリアチェンジ専用ランディングページテーマ。Google広告からの求人採用に最適化。全テキスト・画像・動画をカスタマイザーで編集可能。
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nishihata-lp
*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --white:#FFFFFF;
  --off-white:#F7F8F6;
  --light-gray:#EEF0EC;
  --mid-gray:#D5D8D2;
  --text:#1A1A1A;
  --text-sub:#555;
  --text-light:#888;
  --black:#111111;
  --ne-green:#1FA34D;
  --ne-green-light:#2BC062;
  --ne-green-dark:#167A38;
  --ne-green-pale:#E8F5ED;
  --ne-green-muted:#D0EBDA;
  --steel:#2A2D28;
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.container{max-width:900px;margin:0 auto;padding:0 24px}
.oswald{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.08em}
img{max-width:100%;height:auto;display:block}

.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:var(--black);overflow:hidden}
.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0.3;pointer-events:none}
.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.3) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;padding:80px 0;animation:heroFade 1s ease forwards}
@keyframes heroFade{0%{opacity:0;transform:translateY(24px)}100%{opacity:1;transform:translateY(0)}}
.hero-tag{display:inline-block;border:1px solid var(--ne-green);color:var(--ne-green);padding:6px 16px;font-size:11px;letter-spacing:0.15em;margin-bottom:28px}
.hero h1{font-family:'Oswald','Noto Sans JP',sans-serif;font-size:clamp(40px,8vw,72px);font-weight:700;line-height:1.15;color:var(--white);margin-bottom:8px;letter-spacing:0.02em}
.hero h1 span{color:var(--ne-green)}
.hero-catch{font-size:clamp(18px,3vw,24px);font-weight:500;color:var(--white);margin-bottom:20px;letter-spacing:0.04em;line-height:1.6}
.hero-sub{font-size:15px;color:var(--light-gray);line-height:1.9;max-width:560px;margin-bottom:40px;font-weight:300}
.hero-sub strong{color:var(--white);font-weight:500}
.hero-line{width:60px;height:3px;background:var(--ne-green);margin-bottom:28px}
.hero .cta-note{color:rgba(255,255,255,0.4)}
.hero-fallback{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0.3;pointer-events:none}

.cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ne-green);color:var(--white);padding:16px 40px;font-size:15px;font-weight:700;letter-spacing:0.06em;text-decoration:none;border:none;cursor:pointer;transition:background 0.2s,transform 0.15s;position:relative}
.cta-btn::after{content:'';position:absolute;top:4px;left:4px;right:-4px;bottom:-4px;border:1px solid var(--ne-green);transition:all 0.2s;pointer-events:none}
.cta-btn:hover{background:var(--ne-green-light);transform:translate(-2px,-2px)}
.cta-btn:hover::after{top:6px;left:6px;right:-6px;bottom:-6px}
.cta-btn svg{width:18px;height:18px;flex-shrink:0}
.cta-note{font-size:12px;color:var(--text-light);margin-top:12px}

section{padding:80px 0;position:relative}
.sec-white{background:var(--white)}
.sec-offwhite{background:var(--off-white)}
.diagonal{position:relative;margin-top:-1px}
.diagonal::before{content:'';position:absolute;top:-40px;left:0;right:0;height:80px;background:inherit;clip-path:polygon(0 50%,100% 0,100% 100%,0 100%);z-index:1}

.section-num{font-family:'Oswald',sans-serif;font-size:64px;font-weight:700;color:rgba(31,163,77,0.08);line-height:1;margin-bottom:-20px;letter-spacing:0.05em}
.section-label{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:0.2em;color:var(--ne-green);margin-bottom:10px;text-transform:uppercase}
.section-title{font-family:'Noto Sans JP',sans-serif;font-size:clamp(24px,4.5vw,36px);font-weight:700;line-height:1.4;margin-bottom:32px;color:var(--black)}
.section-title em{font-style:normal;color:var(--ne-green)}

.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:32px}
@media(max-width:600px){.num-grid{grid-template-columns:repeat(2,1fr)}}
.num-card{background:var(--white);border:1px solid var(--mid-gray);padding:28px 16px;text-align:center;position:relative;overflow:hidden}
.num-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--ne-green)}
.num-card .num{font-family:'Oswald',sans-serif;font-size:40px;font-weight:700;color:var(--ne-green);line-height:1.1}
.num-card .label{font-size:12px;color:var(--text-sub);margin-top:8px;font-weight:400}
.explain-box{background:var(--ne-green-pale);border-left:3px solid var(--ne-green);padding:18px 24px;font-size:14px;color:var(--text-sub);line-height:1.8}

.section-image{width:100%;margin:24px 0;object-fit:cover}
.section-image-row{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:24px 0}
@media(max-width:600px){.section-image-row{grid-template-columns:1fr}}
.section-image-row img{width:100%;height:200px;object-fit:cover}

.story-grid{display:grid;grid-template-columns:1fr;gap:2px}
.story-card{background:var(--white);border:1px solid var(--mid-gray);padding:32px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;position:relative;overflow:hidden}
.story-card::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(--ne-green)}
@media(max-width:600px){.story-card{grid-template-columns:1fr;padding:24px}}
.story-avatar{width:56px;height:56px;background:var(--ne-green-pale);border:2px solid var(--ne-green);display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;color:var(--ne-green);flex-shrink:0;overflow:hidden}
.story-avatar img{width:100%;height:100%;object-fit:cover}
.story-name{font-size:16px;font-weight:700;color:var(--black);margin-bottom:2px}
.story-meta{font-size:12px;color:var(--text-light);margin-bottom:10px;letter-spacing:0.03em}
.story-body{font-size:14px;color:var(--text-sub);line-height:1.9;font-weight:300}

.env-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:24px}
@media(max-width:600px){.env-grid{grid-template-columns:1fr}}
.env-card{background:var(--white);border:1px solid var(--mid-gray);padding:0;text-align:center;position:relative;overflow:hidden}
.env-card img{width:100%;height:180px;object-fit:cover}
.env-card .env-label{font-size:14px;color:var(--text);font-weight:500;padding:12px}
.check-list{list-style:none;padding:0}
.check-list li{font-size:14px;color:var(--text-sub);padding:8px 0;display:flex;align-items:flex-start;gap:12px;line-height:1.6;border-bottom:1px solid var(--light-gray);font-weight:400}
.check-list li:last-child{border-bottom:none}
.check-mark{color:var(--ne-green);font-weight:700;font-size:14px;flex-shrink:0;margin-top:2px}

.salary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:24px}
@media(max-width:600px){.salary-grid{grid-template-columns:1fr}}
.salary-card{background:var(--white);border:1px solid var(--mid-gray);padding:28px 20px;text-align:center;position:relative}
.salary-card .stage{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:0.15em;color:var(--ne-green);margin-bottom:8px;text-transform:uppercase}
.salary-card .amount{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:var(--black)}
.salary-card .amount-sub{font-size:14px;font-weight:400;color:var(--text-sub)}

.qa-item{border-bottom:1px solid var(--light-gray);padding:20px 0}
.qa-item:last-child{border-bottom:none}
.qa-q{font-size:15px;font-weight:700;color:var(--black);margin-bottom:8px;display:flex;gap:12px;align-items:flex-start}
.qa-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--ne-green);color:var(--white);font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;flex-shrink:0}
.qa-a{font-size:13px;color:var(--text-sub);padding-left:36px;line-height:1.8;font-weight:300}

.closing{background:var(--steel);color:var(--white);padding:80px 24px;text-align:center;position:relative}
.closing::before{content:'';position:absolute;top:-40px;left:0;right:0;height:80px;background:var(--steel);clip-path:polygon(0 50%,100% 0,100% 100%,0 100%)}
.closing h2{font-family:'Oswald','Noto Sans JP',sans-serif;font-size:clamp(24px,5vw,40px);font-weight:700;margin-bottom:16px;letter-spacing:0.02em;line-height:1.3}
.closing p{font-size:15px;color:#AAA;margin-bottom:32px;line-height:1.9;font-weight:400}
.closing .cta-btn{background:var(--ne-green);color:var(--white)}
.closing .cta-btn::after{border-color:var(--ne-green)}
.closing .cta-note{color:#777}

footer.site-footer{background:var(--black);color:#888;padding:40px 24px;text-align:center;border-top:1px solid #333}
footer .company-name{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:0.1em;color:#666;margin-bottom:4px}
footer .address{font-size:12px;color:#555;margin-bottom:20px}
footer .copy{font-size:11px;color:#444}

.float-cta{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,0.95);padding:12px 20px;z-index:100;text-align:center;backdrop-filter:blur(8px);border-top:1px solid var(--mid-gray)}
.float-cta .cta-btn{width:100%;justify-content:center;padding:14px 24px;font-size:14px}
.float-cta .cta-btn::after{display:none}
@media(max-width:768px){.float-cta{display:block}body{padding-bottom:60px}}

.marquee-wrap{overflow:hidden;background:var(--steel);padding:14px 0}
.marquee-track{display:flex;gap:60px;animation:marquee-scroll 20s linear infinite;width:max-content}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-item{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:0.12em;color:#888;white-space:nowrap;text-transform:uppercase}
.marquee-item span{color:var(--ne-green)}

.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

.about-job{margin-bottom:8px}
.about-job-lead{font-size:18px;font-weight:500;color:var(--black);line-height:1.8;margin-bottom:20px}
.about-job-lead strong{color:var(--ne-green)}
.about-job-body{font-size:15px;color:var(--text-sub);line-height:2.0;margin-bottom:16px;font-weight:300}
.about-job-body strong{color:var(--text);font-weight:500}
.about-job-points{display:grid;grid-template-columns:1fr;gap:2px;margin-top:32px}
.about-job-point{background:var(--off-white);border:1px solid var(--mid-gray);padding:24px;display:flex;gap:16px;align-items:flex-start}
.about-job-point-icon{font-size:24px;flex-shrink:0;margin-top:2px}
.about-job-point-title{font-size:15px;font-weight:700;color:var(--black);margin-bottom:4px}
.about-job-point-desc{font-size:13px;color:var(--text-sub);line-height:1.7;font-weight:300}

.scene-lead{font-size:15px;color:var(--text-sub);margin-bottom:36px;font-weight:300;line-height:1.9}
.scene-grid{display:grid;grid-template-columns:1fr;gap:2px;margin-bottom:32px}
.scene-card{background:var(--off-white);border:1px solid var(--mid-gray);padding:32px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;position:relative}
@media(max-width:600px){.scene-card{grid-template-columns:1fr;padding:24px}}
.scene-num{font-family:'Oswald',sans-serif;font-size:36px;font-weight:700;color:rgba(31,163,77,0.15);line-height:1}
.scene-content{min-width:0}
.scene-card-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:0.15em;color:var(--ne-green);margin-bottom:4px;text-transform:uppercase}
.scene-card-title{font-size:18px;font-weight:700;color:var(--black);margin-bottom:8px}
.scene-card-desc{font-size:14px;color:var(--text-sub);line-height:1.9;font-weight:300}
.scene-card-img{width:100%;max-height:160px;object-fit:cover;margin-top:16px;grid-column:1/-1}
.scene-closing{font-size:16px;font-weight:500;color:var(--ne-green);letter-spacing:0.04em}

.career-lead{font-size:15px;color:var(--text-sub);margin-bottom:40px;font-weight:300;line-height:1.9}
.career-timeline{position:relative;padding-left:24px;border-left:2px solid var(--ne-green);margin-bottom:40px}
.career-step{position:relative;padding:0 0 36px 28px}
.career-step:last-child{padding-bottom:0}
.career-step::before{content:'';position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--ne-green);border-radius:50%}
.career-step-year{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:0.12em;color:var(--ne-green);margin-bottom:4px}
.career-step-title{font-size:20px;font-weight:700;color:var(--black);margin-bottom:4px}
.career-step-desc{font-size:14px;color:var(--text-sub);font-weight:300;line-height:1.8}
.career-step-line{display:none}
.career-message{background:var(--ne-green);padding:24px 32px;color:var(--white)}
.career-message p{font-size:15px;font-weight:400;line-height:1.9;margin:0}
