/*
Theme Name: WorClean
Theme URI: https://worclean.example.com/
Author: WorClean
Description: 清掃管理プラットフォーム WorClean の公式テーマ。ランディングページ・お問い合わせ・会社概要ページを含むカスタムテーマです。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: worclean
*/

/* ====================================================================
   WorClean BtoB LP — styles (PC + SP)
   ==================================================================== */

:root{
  --orange:#ff8a00;
  --orange-soft:rgba(255,138,0,.1);
  --yellow:#f9c81c;
  --ink:#4e4e4e;
  --ink-strong:#031431;
  --btn-ink:#444444;
  --gray-bg:#f6f8fa;
  --muted:#64748b;
  --slate:#1e293b;
  --line:#e2e8f0;
  --maxw:1440px;
  --jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --en:"Inter",sans-serif;
  --sans:"Source Sans 3",var(--jp);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--jp);color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,p{margin:0;}
button{font-family:inherit;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  border-radius:8px;border:2px solid #fff;cursor:pointer;
  font-family:Arial,var(--jp);font-weight:700;font-size:16px;letter-spacing:.3px;
  white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.btn--yellow{background:var(--yellow);color:var(--btn-ink);}
.btn--orange{background:var(--orange);color:#fff;}
.btn--sm{height:48px;padding:0 18px;border-width:1px;}
.btn--lg{height:64px;padding:0 30px;box-shadow:0 4px 16px rgba(0,0,0,.2);font-size:17px;}
.btn:hover{transform:translateY(-2px);filter:brightness(1.03);}
.btn:active{transform:translateY(0);}
.btn .ico{flex:0 0 auto;width:26px;height:26px;}
.btn--sm .ico{width:22px;height:22px;}

/* ---------------- Header ---------------- */
.site-header{position:sticky;top:0;z-index:100;height:80px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06);transition:box-shadow .2s ease;}
.site-header.scrolled{box-shadow:0 4px 18px rgba(3,20,49,.08);}
.header-inner{max-width:var(--maxw);height:80px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px;}
.logo img{height:36px;width:auto;}
.main-nav{display:flex;align-items:center;gap:24px;margin:0 auto;}
.main-nav a{font-family:var(--sans);font-size:14px;color:var(--ink);position:relative;padding:6px 2px;transition:color .15s;}
.main-nav a:hover{color:var(--orange);}
.header-actions{display:flex;align-items:center;gap:16px;}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;}
.nav-toggle span{display:block;height:2px;width:26px;background:var(--orange);border-radius:2px;transition:.25s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ---------------- SP menu overlay ---------------- */
.menu-overlay{display:none;}
@media (max-width:980px){
  .menu-overlay{
    display:flex;flex-direction:column;position:fixed;left:0;right:0;top:60px;bottom:0;z-index:90;
    background:#fff;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .28s ease,transform .28s ease,visibility .28s;
  }
  .menu-overlay.open{opacity:1;visibility:visible;transform:none;}
}
.menu-nav{display:flex;flex-direction:column;padding:12px 20px 24px;}
.menu-nav a{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;font-family:var(--en),var(--jp);font-size:16px;color:var(--ink);border-bottom:1px solid #eee;}
.menu-chev{width:9px;height:9px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg);}
.menu-brand{margin-top:auto;background:var(--orange);text-align:center;padding:36px 24px 0;overflow:hidden;}
.menu-logo{height:42px;width:auto;margin:0 auto;filter:brightness(0) invert(1);}
.menu-illus{width:88%;max-width:360px;margin:18px auto 0;}

/* ---------------- Capsule (tank) decorations ---------------- */
/* Layer opacity ~0.2 (matches design); shapes gently drift and fade in/out. */
.cap{position:absolute;pointer-events:none;}
.cap>span{display:block;width:100%;height:100%;border-radius:999px;opacity:0;animation:capFloat 18s ease-in-out infinite;}
@keyframes capFloat{
  0%,100%{transform:translate(0,0);opacity:0;}
  50%{transform:translate(0,-26px);opacity:var(--cap-peak,.2);}
}
@media (prefers-reduced-motion:reduce){.cap>span{animation:none;opacity:var(--cap-peak,.2);}}

/* ---------------- Hero ---------------- */
.hero{position:relative;background:var(--orange);overflow:hidden;--cap-peak:.2;}
.hero-bg{position:absolute;inset:0;}
.hero .cap>span{background:linear-gradient(180deg,#fff,rgba(255,255,255,0));}
.cap-h1{width:200px;height:652px;left:27%;top:-180px;transform:rotate(45deg);}
.cap-h2{width:200px;height:627px;left:-9%;top:70px;transform:rotate(45deg);}
.cap-h3{width:127px;height:211px;left:18%;top:170px;transform:rotate(45deg);}
.cap-h4{width:85px;height:426px;left:11%;top:380px;transform:rotate(45deg);}
.cap-h5{width:92px;height:478px;left:-5%;top:380px;transform:rotate(45deg);}
.cap-h2>span,.cap-h4>span{animation-duration:22s;animation-delay:-4s;}
.cap-h3>span{animation-duration:15s;animation-delay:-8s;}
.cap-h5>span{animation-duration:26s;animation-delay:-2s;}

.hero-inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:80px 24px 96px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;min-height:560px;}
.hero-badge{display:inline-flex;align-items:center;background:#fff;color:var(--orange);font-family:var(--en);font-weight:700;font-size:20px;border-radius:8px;padding:8px 16px;}
.hero-title{color:#fff;font-family:var(--jp);font-weight:900;font-size:36px;line-height:1.5;letter-spacing:.08em;margin-top:32px;}
.hero-title .hl{background:var(--ink);color:#fff;border-radius:12px;padding:.08em .2em;font-size:56px;line-height:1.4;display:inline-block;letter-spacing:.06em;padding-inline: 2px;}
.hero-title-tail{font-family:var(--en),var(--jp);font-size:48px;letter-spacing:.06em;}
.hero-desc{color:#fff;font-size:16px;line-height:1.5;margin-top:24px;max-width:644px;opacity:.97;}
.hero-art-sp{display:none;}
.hero-tags{display:flex;align-items:center;flex-wrap:wrap;gap:0;background:#fff;border-radius:8px;padding:6px 16px;margin-top:24px;width:fit-content;max-width:100%;justify-content: center;}
.hero-tags span{font-family:var(--sans);font-weight:700;font-size:16px;color:var(--orange);padding:0 12px;}
.hero-tags i{width:2px;height:18px;background:var(--orange);display:inline-block;}
.hero-cta{display:flex;gap:28px;margin-top:32px;flex-wrap:wrap;}
.hero-art{justify-self:end;}
.hero-art img{width:100%;}
.hero-art img
/* one-time entrance — runs once on first load when body gets .is-loaded */
body.is-loaded .hero-copy{animation:wcFadeUp .7s ease .05s both;}
body.is-loaded .hero-art{animation:wcFadeUp .85s ease .2s both;}
@keyframes wcFadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){body.is-loaded .hero-copy,body.is-loaded .hero-art{animation:none;}}

/* ---------------- Logo marquee ---------------- */
.marquee-section{background:#fff;padding:28px 0;display:flex;flex-direction:column;gap:12px;display:none;}
.marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee-track{display:flex;align-items:center;gap:48px;width:max-content;will-change:transform;}
.marquee[data-dir="left"] .marquee-track{animation:scroll-left 90s linear infinite;}
.marquee[data-dir="right"] .marquee-track{animation:scroll-right 90s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{height:52px;width:auto;object-fit:contain;flex:0 0 auto;}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes scroll-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* ---------------- Generic section + heading ---------------- */
.section{position:relative;padding:88px 0;background:#fff;}
.section--gray{background:var(--gray-bg);}
.section--feature{background:var(--orange-soft);}
.sec-head{text-align:center;max-width:1100px;margin:0 auto 56px;}
.eyebrow{font-family:var(--en);font-weight:700;font-size:24px;color:var(--orange);margin-bottom:14px;}
.sec-title{font-family:var(--jp);font-weight:900;font-size:48px;color:var(--ink);line-height:1.2;}
.sec-pill{display:inline-block;background:var(--orange);color:#fff;font-weight:700;font-size:14px;border-radius:8px;padding:4px 12px;margin-top:18px;}
.sec-desc{font-size:16px;line-height:2;color:var(--ink);margin-top:24px;}

/* ====================================================================
   Carousel framework
   ==================================================================== */
.carousel{position:relative;}
.car-stage{position:relative;padding:0 64px;}
.carousel.is-static .car-stage{padding:0;}
.car-viewport{overflow:hidden;}
.car-track{display:flex;gap:var(--car-gap,56px);will-change:transform;}
.car-track.is-animating{transition:transform .5s cubic-bezier(.4,0,.2,1);}
.car-slide{flex:0 0 auto;}
.carousel[data-carousel="feature"]{--car-gap:80px;}
.carousel[data-carousel="flow"]{--car-gap:120px;}
.carousel[data-carousel="service"]{--car-gap:120px;}

/* arrows */
.car-arrow{border:0;background:transparent;cursor:pointer;display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:5;}
.car-arrow.show{display:block;}
.car-arrow--prev{left:0;}
.car-arrow--next{right:0;}
.car-arrow--chev{width:48px;height:60px;}
.car-arrow--chev::before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;border-top:3px solid var(--orange);border-right:3px solid var(--orange);}
.car-arrow--chev.car-arrow--prev::before{transform:translate(-30%,-50%) rotate(-135deg);}
.car-arrow--chev.car-arrow--next::before{transform:translate(-70%,-50%) rotate(45deg);}
.car-arrow--circle{width:64px;height:64px;border-radius:50%;background:var(--orange);box-shadow:0 6px 16px rgba(255,138,0,.35);}
.car-arrow--circle::before{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;border-top:4px solid #fff;border-right:4px solid #fff;}
.car-arrow--circle.car-arrow--prev::before{transform:translate(-30%,-50%) rotate(-135deg);}
.car-arrow--circle.car-arrow--next::before{transform:translate(-70%,-50%) rotate(45deg);}
.car-arrow--gray{width:44px;height:44px;border-radius:50%;background:#c7c7c7;}
.car-arrow--gray::before{content:"";position:absolute;top:50%;left:50%;width:11px;height:11px;border-top:3px solid #fff;border-right:3px solid #fff;}
.car-arrow--gray.car-arrow--prev::before{transform:translate(-30%,-50%) rotate(-135deg);}
.car-arrow--gray.car-arrow--next::before{transform:translate(-70%,-50%) rotate(45deg);}
.car-arrow:hover{filter:brightness(1.05);opacity:.92;}

/* dots */
.car-dots{display:none;justify-content:center;gap:18px;margin-top:44px;width:100%;}
.car-dots.show{display:flex;}
.car-dots button{width:12px;height:12px;border-radius:50%;border:0;background:#d4d4d4;cursor:pointer;padding:0;transition:background .2s;}
.car-dots button.active{background:var(--orange);}

/* progress */
.car-progress{display:none;width:100%;max-width:1250px;height:4px;margin:48px auto 0;background:#e4e4e4;border-radius:2px;overflow:hidden;}
.car-progress.show{display:block;}
.car-progress span{display:block;height:100%;background:var(--orange);border-radius:2px;transition:margin-left .45s ease,width .45s ease;}


/* ---------------- Service points ---------------- */
.point{display:flex;flex-direction:column;align-items:center;text-align:center;width:400px;max-width:100%;}
.point-badge{font-family:var(--sans);font-weight:700;font-size:24px;color:#fff;background:var(--orange);border-radius:8px;padding:4px 20px;line-height:1.5;}
.point-card{margin-top:40px;width:100%;height:300px;background:var(--gray-bg);border-radius:32px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.point-card img{width:auto;height:80%;max-width:88%;object-fit:contain;}
.point-title{margin-top:40px;font-family:var(--sans);font-weight:700;font-size:24px;color:var(--ink);}
.point-desc{margin-top:20px;font-family:var(--sans);font-size:16px;color:var(--ink);line-height:1.5;}

/* ---------------- Use case ---------------- */
.uc-card{width:380px;max-width:100%;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(3,20,49,.06);background:#fff;}
.uc-head{background:var(--orange);color:#fff;font-weight:700;font-size:24px;text-align:center;padding:23px 16px;}
.uc-body{padding:20px 20px 28px;background:#fff;}
.uc-photo{border-radius:8px;overflow:hidden;height:168px;}
.uc-photo img{width:100%;height:100%;object-fit:cover;}
.uc-quote{margin-top:24px;color:var(--orange);font-weight:500;font-size:20px;line-height:1.5;text-align:center;}
.uc-desc{margin-top:12px;color:var(--ink);font-size:16px;line-height:1.5;}

/* ---------------- Benefit ---------------- */
.section--blobs{overflow:hidden;--cap-peak:.18;}
.cap-decor{position:absolute;inset:0;pointer-events:none;opacity:0.2;}
.section--blobs .cap>span{background:linear-gradient(180deg,#ff8a00,rgba(255,138,0,0));}
.cap-b1{width:200px;height:627px;left:-120px;top:200px;transform:rotate(45deg);}
.cap-b2{width:84px;height:541px;left:-90px;top:40px;transform:rotate(45deg);}
.cap-b3{width:123px;height:297px;left:-110px;top:-10px;transform:rotate(45deg);}
.cap-b4{width:200px;height:507px;right:-130px;top:-90px;transform:rotate(-135deg);}
.cap-b5{width:80px;height:516px;right:-90px;top:110px;transform:rotate(-135deg);}
.cap-b6{width:203px;height:606px;right:-150px;top:240px;transform:rotate(-135deg);}
.cap-b2>span{animation-duration:24s;animation-delay:-6s;}
.cap-b4>span{animation-duration:21s;animation-delay:-3s;}
.cap-b6>span{animation-duration:26s;animation-delay:-9s;}
.benefit-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:64px 90px;max-width:1100px;margin:0 auto;}
.benefit{display:flex;align-items:center;gap:40px;}
.benefit-ico{flex:0 0 84px;width:84px;height:84px;}
.benefit-ico img{width:100%;height:100%;object-fit:contain;}
.benefit-text h3{font-weight:700;font-size:20px;color:var(--ink);margin-bottom:16px;}
.benefit-text p{font-size:14px;line-height:1.5;color:var(--ink);}

/* ---------------- Feature ---------------- */
.feat-card{width:360px;max-width:100%;background:#fff;border-radius:16px;box-shadow:0 4px 30px rgba(0,0,0,.1);padding:20px;}
.feat-media{position:relative;border-radius:10px;margin-bottom:48px;display: flex;
    flex-direction: column;}
.feat-media img{width:100%;height:240px;object-fit:contain;border-radius:8px;}
.feat-badge{top:-12px;left:50%;transform:translateX(-50%);z-index:2;background:var(--orange);color:#fff;font-family:var(--en);font-weight:700;font-size:24px;letter-spacing:.1em;border-radius:8px;padding:4px 16px;width: fit-content;margin-left: 50%;}
.feat-title{font-family:var(--en),var(--jp);font-weight:700;font-size:20px;color:var(--orange);margin-bottom:14px;text-align: center;}
.feat-desc{font-size:16px;line-height:1.5;color:var(--ink);letter-spacing:.04em;}
.feat-desc small{display:inline-block;margin-top:6px;color:#9aa3ad;font-size:12px;}

/* ---------------- Flow ---------------- */
.flow-card{position:relative;width:360px;max-width:100%;background:#fff;border:3px solid #c3c3c3;border-radius:16px;padding:24px;text-align:center;}
.flow-step{display:inline-flex;align-items:baseline;gap:8px;background:var(--orange);color:#fff;border-radius:8px;padding:0 18px;height:36px;line-height:36px;}
.flow-step em{font-family:var(--jp);font-style:normal;font-weight:700;font-size:18px;}
.flow-step b{font-family:var(--jp);font-weight:700;font-size:24px;}
.flow-art{height:230px;display:flex;align-items:center;justify-content:center;margin:14px 0 8px;}
.flow-art img{max-height:100%;width:auto;}
.flow-title{font-weight:700;font-size:24px;color:var(--ink);letter-spacing:.02em;}
.flow-desc{margin-top:14px;font-weight:500;font-size:13px;line-height:2;color:var(--ink);}
/* connector arrows between flow cards (static desktop only) */
.carousel[data-carousel="flow"].is-static .car-track{position:relative;}
.carousel[data-carousel="flow"].is-static .flow-card:not(:last-child)::after{content:"";position:absolute;right:-78px;top:50%;width:22px;height:22px;border-top:4px solid var(--orange);border-right:4px solid var(--orange);transform:translateY(-50%) rotate(45deg);}

/* ---------------- Price ---------------- */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1320px;margin:0 auto;}
.price-h{display:flex;align-items:center;gap:8px;font-family:"Gothic A1",var(--jp);font-weight:700;font-size:20px;color:var(--ink-strong);margin-bottom:16px;}
.price-ico{width:28px;height:28px;border-radius:7px;background:var(--orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;}
.price-table{width:100%;border-collapse:separate;border-spacing:0;font-family:"Gothic A1",var(--jp);}
.price-table th,.price-table td{padding:16px 24px;border:1px solid var(--line);border-top:0;text-align:left;}
.price-table thead th{border-top:1px solid var(--line);}
.price-table thead th:first-child{border-top-left-radius:8px;}
.price-table thead th:last-child{border-top-right-radius:8px;}
.price-table tbody tr:last-child td:first-child{border-bottom-left-radius:8px;}
.price-table tbody tr:last-child td:last-child{border-bottom-right-radius:8px;}
.price-table th{background:#fff;font-weight:700;font-size:15px;color:var(--ink-strong);}
.price-table td{background:#fff;font-weight:500;font-size:15px;color:var(--slate);}
.price-table td b{font-weight:700;font-size:20px;color:var(--orange);}
.price-table td b.muted{color:#686868;}
.price-table td small{font-weight:400;font-size:14px;color:var(--muted);}
.price-table td:first-child,.price-table th:first-child{border-right:0;}
.price-note{margin-top:24px;background:#fff;border-radius:12px;padding:24px;}
.price-note-h{font-family:"Gothic A1",var(--jp);font-weight:700;font-size:14px;color:var(--ink-strong);margin-bottom:12px;}
.price-note p:last-child{font-family:"Gothic A1",var(--jp);font-weight:400;font-size:13px;line-height:1.6;color:var(--muted);}

/* ---------------- FAQ ---------------- */
.faq-list{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.faq-item{border:1px solid #e9e9e9;border-radius:16px;overflow:hidden;background:#fff;}
.faq-item summary{list-style:none;cursor:pointer;background:var(--orange);color:#fff;display:flex;align-items:center;gap:16px;padding:16px 28px;min-height:78px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-q{font-family:var(--jp);font-weight:700;font-size:29px;line-height:1;flex:0 0 auto;}
.faq-question{font-family:var(--jp);font-weight:700;font-size:20px;letter-spacing:.02em;flex:1;}
.faq-chev{flex:0 0 auto;width:14px;height:14px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg);transition:transform .25s;margin-right:4px;}
.faq-item[open] .faq-chev{transform:rotate(-135deg);}
.faq-a-wrap{display:flex;gap:16px;align-items:flex-start;padding:24px 28px;}
.faq-a{font-family:var(--jp);font-weight:700;font-size:29px;line-height:1;color:var(--orange);flex:0 0 auto;}
.faq-a-wrap p{font-family:var(--jp);font-weight:400;font-size:20px;line-height:1.5;color:var(--ink-strong);letter-spacing:.02em;}

/* ---------------- Footer ---------------- */
.site-footer{position:relative;background:var(--orange);color:#fff;overflow:hidden;--cap-peak:.2;}
.footer-cap{z-index:0; display:none;}
.site-footer .cap>span{background:linear-gradient(180deg,#fff,rgba(255,255,255,0));}
.cap-f1{width:200px;height:627px;left:-120px;top:-20px;transform:rotate(45deg);}
.cap-f2{width:187px;height:498px;left:-40px;bottom:-40px;transform:rotate(45deg);}
.cap-f3{width:92px;height:575px;left:-100px;top:120px;transform:rotate(45deg);}
.cap-f2>span{animation-duration:23s;animation-delay:-5s;}
.cap-f3>span{animation-duration:27s;animation-delay:-10s;}
.footer-inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:100px 24px 80px;display:grid;grid-template-columns:1fr auto 1fr;gap:40px;}
.footer-brand{max-width:360px;}
.footer-logo{display:inline-block;margin-top:24px;}
.footer-logo img{height:52px;width:auto;filter:brightness(0) invert(1);}
.footer-desc{font-family:Arial,var(--jp);font-size:14px;line-height:1.7;letter-spacing:.02em;margin-top:18px;color:#fff;}
.footer-cta{display:flex;gap:20px;margin-top:28px;flex-wrap:wrap;}
.footer-cta .btn{flex:1 1 0;min-width:150px;}
.footer-nav{display:flex;flex-direction:column;gap:20px;font-family:var(--sans);font-size:14px;padding-top:8px;}
.footer-nav a:hover{text-decoration:underline;}
.footer-art{justify-self:end;align-self:center;}
.footer-art img{max-width:100%;width:480px;}
.footer-bottom{position:relative;z-index:1;background:#fff;}
.footer-bottom-inner{max-width:var(--maxw);margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.footer-links{display:flex;align-items:center;gap:16px;}
.footer-links a{font-family:var(--jp);font-weight:300;font-size:14px;letter-spacing:.02em;color:var(--ink-strong);}
.footer-links a:hover{text-decoration:underline;}
.footer-links i{width:1px;height:16px;background:#ccc;display:inline-block;}
.copyright{font-family:var(--jp);font-size:12px;letter-spacing:.02em;color:#768291;}

/* ====================================================================
   Responsive
   ==================================================================== */
@media (max-width:1280px){
  .feat-card,.flow-card,.point,.uc-card{width:auto;}
}
@media (max-width:1100px){
  .hero-title{font-size:34px;}
  .hero-title .hl{font-size:46px;}
  .hero-title-tail{font-size:40px;}
  .sec-title{font-size:40px;}
}

/* ---- SP (<=980): matches WorClean_FV_SP ---- */
@media (max-width:980px){
  .site-header{height:60px;}
  .header-inner{height:60px;padding:0 20px;gap:12px;}
  .logo img{height:28px;}
  .main-nav{display:none;}
  .hide-sp{display:none;}
  .header-actions{margin-left:auto;gap:10px;}
  .header-tel{height:36px;padding:0 14px;font-size:13px;border-width:1px;border-radius:8px;}
  .header-tel .ico{width:18px;height:18px;}
  .nav-toggle{display:flex;}

  .hero-inner{grid-template-columns:1fr;text-align:left;padding:48px 20px;min-height:0;gap:0;}
  .hero-art{display:none;}
  .hero-badge{font-size:18px;}
  .hero-title{font-size:24px;line-height:1.5;margin-top:20px;}
  .hero-title .hl{font-size:34px;line-height:1.45;}
  .hero-title-tail{font-size:24px;}
  .hero-desc{font-size:12px;line-height:1.5;margin-top:18px;order:-1;}
  .hero-art-sp{display:block;margin-top:8px;}
  .hero-art-sp img{width:100%;}
  .hero-tags{margin-top:18px;padding:6px 10px;}
  .hero-tags span{font-size:13px;padding:0 7px;}
  .hero-tags i{height:14px;}
  /* hero CTAs move to the fixed bottom bar on SP */
  .hero-cta{display:none;}

  .marquee-section{padding:18px 0;gap:10px;}
  .marquee-track{gap:36px;}
  .marquee-track img{height:40px;}
  .marquee[data-dir="left"] .marquee-track,
  .marquee[data-dir="right"] .marquee-track{animation-duration:60s;}

  .section{padding:60px 0;}
  .sec-head{margin-bottom:40px;}
  .eyebrow{font-size:22px;}
  .sec-title{font-size:32px;}
  .sec-desc{font-size:14px;line-height:1.9;}

  .price-grid{grid-template-columns:1fr;gap:40px;max-width:520px;}

  .benefit-grid{grid-template-columns:1fr;gap:0;max-width:440px;}
  .benefit{padding:18px 0;gap:20px;}
  .benefit-ico{flex-basis:64px;width:64px;height:64px;}

  .footer-inner{grid-template-columns:1fr;gap:36px;text-align:left;padding:72px 20px 48px;}
  .footer-cta{flex-direction:column;}
  .footer-cta .btn{width:100%; padding-block: 8px;}
  .footer-art{justify-self:center;order:3;}
  .footer-nav{flex-flow:row wrap;gap:14px 24px;}
  .footer-bottom-inner{flex-direction:column;align-items:center;text-align:center;gap:12px;}

  /* carousels: single card view; arrows overlap the card edges */
  .carousel[data-carousel]{--car-gap:20px;}
  .car-stage{padding:0;}
  .car-arrow--prev{left:0;}
  .car-arrow--next{right:0;}
  .car-slide{width:100%;}
  .point,.uc-card,.feat-card,.flow-card{width:100%;}
  .car-progress{margin-top:32px;}
  .car-dots{margin-top:28px;}
  .faq-question{font-size:15px;}
  .faq-q,.faq-a{font-size:24px;}
  .faq-a-wrap p{font-size:14px;line-height:1.7;}
  .faq-item summary{padding:14px 18px;gap:12px;min-height:0;}
  .faq-a-wrap{padding:16px 18px;}
}
@media (max-width:560px){
  .container{padding:0 16px;}
  .hero-title .hl{font-size:30px;}
  .car-arrow--circle{width:52px;height:52px;}
  .footer-art img{width:100%;}
}

/* ---------------- Fixed mobile CTA bar ---------------- */
.mobile-cta{display:none;}
@media (max-width:980px){
  .mobile-cta{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:85;
    box-shadow:0 -4px 16px rgba(3,20,49,.12);transition:opacity .3s ease,transform .3s ease;
  }
  .mobile-cta .btn{flex:1 1 50%;height:58px;border:0;border-radius:0;box-shadow:none;font-size:15px;gap:8px;}
  .mobile-cta .btn .ico{width:22px;height:22px;}
}

.sp {display:none;}

@media(max-width:1240px) {
	.cta-txt {
    display: none;
}
@media(max-width:980px) {
	.cta-txt {
    display: block;
	}
    .hero-bg {display: none;}
}

@media(max-width:440px) {
	.sp {
    	display: block;
        }
    .pc {
        display: none;
        }
}