/*
Theme Name: Oita Seisou - Tiger Care
Theme URI: https://oita-seisou.tigercare.jp
Author: 株式会社タイガー
Description: 大分県清掃求人特化テーマ（別府・湯布院・日出エリア）
Version: 2.0.0
Text Domain: oita-seisou
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1a2940;
  --blue:#1A6FBF;
  --blue-light:#e8f2fb;
  --white:#fff;
  --off:#f8f9fb;
  --gray:#666;
  --border:#dde4ed;
  --line:#06C755;
}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP',sans-serif;color:var(--navy);background:var(--white);line-height:1.8;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* ヘッダー */
.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:background 0.3s,border 0.3s}
.header.scrolled{background:rgba(255,255,255,0.97);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}
.logo{font-size:12px;font-weight:700;color:#fff;letter-spacing:0.1em;transition:color 0.3s}
.header.scrolled .logo{color:var(--navy)}
.header-cta{background:var(--line);color:#fff;padding:9px 22px;font-size:12px;font-weight:700;letter-spacing:0.05em}

/* ヒーロー */
.hero{height:100vh;min-height:640px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;background:#0d1f33}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.15}
.hero-content{position:relative;z-index:1;padding:0 2.5rem;max-width:900px;margin:0 auto;width:100%}
.hero-label{font-size:10px;letter-spacing:0.4em;color:rgba(255,255,255,0.35);text-transform:uppercase;margin-bottom:2rem;display:block}
.hero-title{font-family:'Shippori Mincho',serif;font-size:clamp(48px,7vw,96px);font-weight:700;color:#fff;line-height:1.15;letter-spacing:-0.01em;margin-bottom:2.5rem}
.hero-title span{display:block}
.hero-title em{color:#7ec8f7;font-style:normal}
.hero-divider{width:40px;height:1px;background:rgba(255,255,255,0.3);margin-bottom:2rem}
.hero-sub{font-size:14px;color:rgba(255,255,255,0.55);line-height:2;font-weight:300;margin-bottom:3rem;max-width:480px}
.hero-cta{display:inline-flex;align-items:center;gap:12px;background:var(--line);color:#fff;padding:18px 40px;font-size:15px;font-weight:700;letter-spacing:0.08em}
.hero-scroll{position:absolute;bottom:2.5rem;right:2.5rem;z-index:1;writing-mode:vertical-rl;font-size:10px;letter-spacing:0.3em;color:rgba(255,255,255,0.25);text-transform:uppercase;display:flex;align-items:center;gap:12px}
.hero-scroll::after{content:'';width:1px;height:48px;background:rgba(255,255,255,0.2)}

/* 数字 */
.numbers{background:var(--white);padding:6rem 2.5rem;border-bottom:1px solid var(--border)}
.numbers-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.number-item{padding:2rem 2.5rem;border-right:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.number-item:first-child{border-left:1px solid var(--border)}
.number-val{font-family:'Shippori Mincho',serif;font-size:clamp(32px,4vw,56px);font-weight:700;color:var(--navy);line-height:1.15;letter-spacing:-0.02em;margin-bottom:0.5rem}
.number-val sup{font-size:0.4em;vertical-align:super}
.number-val sub{font-size:0.38em;vertical-align:baseline}
.number-label{font-size:12px;color:var(--gray);letter-spacing:0.05em}

/* 仕事紹介 */
.work{background:var(--off);padding:8rem 0}
.work-inner{max-width:1080px;margin:0 auto;padding:0 2.5rem}
.work-header{margin-bottom:5rem}
.section-label{font-size:10px;letter-spacing:0.35em;color:var(--blue);font-weight:700;text-transform:uppercase;display:block;margin-bottom:0.75rem}
.section-title{font-family:'Shippori Mincho',serif;font-size:clamp(28px,3.5vw,44px);font-weight:700;color:var(--navy);line-height:1.3}
.work-list{display:grid;gap:2px}
.work-item{display:grid;grid-template-columns:1fr 1fr;min-height:360px;background:var(--white);overflow:hidden}
.work-item:nth-child(even){direction:rtl}
.work-item:nth-child(even)>*{direction:ltr}
.work-img{overflow:hidden}
.work-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s}
.work-item:hover .work-img img{transform:scale(1.04)}
.work-body{padding:3.5rem;display:flex;flex-direction:column;justify-content:center}
.work-num{font-family:'Shippori Mincho',serif;font-size:64px;font-weight:700;color:var(--blue-light);line-height:1;margin-bottom:1rem}
.work-title{font-size:22px;font-weight:900;color:var(--navy);margin-bottom:1rem;line-height:1.4}
.work-desc{font-size:14px;color:var(--gray);line-height:2}

/* 募集要項 */
.job{background:var(--white);padding:8rem 0}
.job-inner{max-width:1080px;margin:0 auto;padding:0 2.5rem}
.job-header{margin-bottom:4rem}
.job-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}
.job-card{background:var(--white);padding:2.25rem;display:flex;gap:1.5rem;align-items:flex-start}
.job-card-icon{width:44px;height:44px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}
.job-card-label{font-size:10px;letter-spacing:0.2em;color:var(--blue);font-weight:700;text-transform:uppercase;display:block;margin-bottom:0.4rem}
.job-card-val{font-size:16px;font-weight:700;color:var(--navy);line-height:1.5}
.job-card-note{font-size:12px;color:var(--gray);margin-top:0.25rem}

/* スタッフの声 */
.voice{background:#f0f4f8;padding:8rem 0}
.voice-inner{max-width:1080px;margin:0 auto;padding:0 2.5rem}
.voice-header{margin-bottom:4rem}
.voice-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.voice-card{background:var(--white);overflow:hidden;display:flex;flex-direction:column}
.voice-card-img{width:100%;aspect-ratio:3/2;overflow:hidden}
.voice-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;filter:grayscale(20%)}
.voice-card:hover .voice-card-img img{transform:scale(1.04)}
.voice-card-body{padding:2rem;display:flex;flex-direction:column;flex:1}
.voice-card-quote{font-family:'Shippori Mincho',serif;font-size:15px;color:var(--navy);line-height:1.9;margin-bottom:1.25rem;flex:1}
.voice-card-meta{font-size:12px;color:var(--gray);border-top:1px solid var(--border);padding-top:1rem;margin-top:auto}
.voice-card-meta strong{display:block;font-size:13px;color:var(--navy);margin-bottom:0.2rem}

/* FAQ */
.faq{background:var(--white);padding:8rem 0}
.faq-inner{max-width:760px;margin:0 auto;padding:0 2.5rem}
.faq-header{margin-bottom:4rem}
.faq-item{padding:2rem 0;border-bottom:1px solid var(--border)}
.faq-item:first-of-type{border-top:1px solid var(--border)}
.faq-q{display:flex;gap:1.25rem;font-size:16px;font-weight:700;color:var(--navy);margin-bottom:0.875rem;align-items:flex-start;line-height:1.5}
.faq-q-mark{font-family:'Shippori Mincho',serif;font-size:22px;color:var(--blue);flex-shrink:0;line-height:1.2}
.faq-a{font-size:14px;color:var(--gray);line-height:2;padding-left:2.5rem}

/* 応募 */
.apply{position:relative;padding:10rem 2.5rem;text-align:center;background:#0d1f33;overflow:hidden}
.apply-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.08}
.apply-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}
.apply-label{font-size:10px;letter-spacing:0.4em;color:rgba(255,255,255,0.3);text-transform:uppercase;display:block;margin-bottom:1.5rem}
.apply-title{font-family:'Shippori Mincho',serif;font-size:clamp(32px,5vw,58px);font-weight:700;color:#fff;line-height:1.3;margin-bottom:1rem}
.apply-sub{font-size:14px;color:rgba(255,255,255,0.45);margin-bottom:3.5rem;line-height:2}
.apply-btns{display:flex;flex-direction:column;gap:12px;align-items:center}
.btn-line-lg{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--line);color:#fff;padding:20px 56px;font-size:16px;font-weight:700;letter-spacing:0.08em;width:100%;max-width:360px}
.btn-tel-lg{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:rgba(255,255,255,0.6);padding:15px 40px;font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,0.15);width:100%;max-width:360px;letter-spacing:0.05em}

/* 会社情報 */
.company{background:var(--off);padding:7rem 0}
.company-inner{max-width:1080px;margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.company-table{width:100%;border-collapse:collapse}
.company-table tr{border-bottom:1px solid var(--border)}
.company-table tr:first-child{border-top:1px solid var(--border)}
.company-table th{font-size:11px;font-weight:700;color:var(--gray);padding:1.1rem 0;text-align:left;width:90px;vertical-align:top;letter-spacing:0.05em}
.company-table td{font-size:14px;color:var(--navy);padding:1.1rem 0;line-height:1.8}
.company-img img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ブログ */
.blog{background:var(--white);padding:7rem 0}
.blog-inner{max-width:1080px;margin:0 auto;padding:0 2.5rem}
.blog-header{margin-bottom:4rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-card{display:block;color:inherit}
.blog-card:hover .blog-card-thumb img{transform:scale(1.04)}
.blog-card-thumb{overflow:hidden;aspect-ratio:16/9;margin-bottom:1.25rem}
.blog-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.blog-card-thumb-placeholder{width:100%;aspect-ratio:16/9;background:var(--blue-light);margin-bottom:1.25rem}
.blog-card-cat{font-size:10px;letter-spacing:0.2em;color:var(--blue);font-weight:700;text-transform:uppercase;display:block;margin-bottom:0.5rem}
.blog-card-title{font-size:15px;font-weight:700;color:var(--navy);line-height:1.6;margin-bottom:0.5rem}
.blog-card-date{font-size:12px;color:var(--gray)}

/* フッター */
.footer{background:var(--navy);padding:2rem 2.5rem;display:flex;align-items:center;justify-content:space-between}
.footer-copy{font-size:11px;color:rgba(255,255,255,0.2)}
.footer-nav{display:flex;gap:24px}
.footer-nav a{font-size:11px;color:rgba(255,255,255,0.25);letter-spacing:0.05em}
.footer-nav a:hover{color:rgba(255,255,255,0.6)}

/* 固定CTA */
.fixed-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);padding:10px 1rem;border-top:1px solid rgba(255,255,255,0.08)}
.fixed-cta-inner{display:flex;gap:8px}
.fca-line{flex:1;background:var(--line);color:#fff;text-align:center;padding:13px;font-size:13px;font-weight:700}
.fca-tel{flex:1;background:transparent;color:rgba(255,255,255,0.7);text-align:center;padding:12px;font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,0.15)}

/* フェードイン */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.fade-in.visible{opacity:1;transform:none}

/* レスポンシブ */
@media(max-width:768px){
  .numbers-inner{grid-template-columns:repeat(2,1fr)}
  .number-item{border:none;border-bottom:1px solid var(--border)}
  .number-item:nth-child(odd){border-right:1px solid var(--border)}
  .work-item,.work-item:nth-child(even){grid-template-columns:1fr;direction:ltr}
  .work-img{aspect-ratio:16/9}
  .job-cards{grid-template-columns:1fr}
  .voice-cards{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .company-inner{grid-template-columns:1fr}
  .footer{flex-direction:column;gap:1rem;text-align:center}
  .fixed-cta{display:block}
  body{padding-bottom:64px}
  .hero-content{padding:0 1.5rem}
  .hero-scroll{display:none}
  .apply-btns .btn-line-lg,.apply-btns .btn-tel-lg{max-width:100%}
}

/* 記事本文の改行・段落調整 */
.entry-content p { margin-bottom: 1.5em; }
.entry-content p:last-child { margin-bottom: 0; }
.entry-content br + br { display: none; }
