/*
Theme Name: POLI UP
Theme URI: https://poliup.jp
Author: POLI UP株式会社
Description: POLI UP サービスサイト用WordPressテーマ。固定フロントページ、お知らせ／コラムのカスタム投稿タイプ、Contact Form 7連携を含みます。
Version: 1.0.0
Requires PHP: 7.4
Text Domain: poliup
*/
body{margin:0;font-family:'Noto Sans JP',sans-serif;color:#14171c;-webkit-font-smoothing:antialiased}
a{color:#0A5AFF;text-decoration:none}
a:hover{color:#0742c6}
img{max-width:100%}
html{scroll-behavior:smooth}
[data-nav-link]:hover{color:#0A5AFF}
details[open] [data-faq-icon-v]{opacity:0;transform:translate(-50%,-50%) rotate(90deg)}
details[open] [data-faq-body]{grid-template-rows:1fr!important}
[data-cta-primary]:hover{color:#fff;transform:translateY(-1px)}
[data-cta-secondary]:hover{transform:translateY(-1px)}
@keyframes pu-ring{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes pu-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1200px){[data-desktop-nav]{display:none!important}[data-menu-btn]{display:inline-flex!important}}
@media(min-width:1201px){[data-menu-btn]{display:none!important}[data-mobile-menu]{display:none!important}}

/* ===== Tablet: 769-1200px ===== */
@media(max-width:1200px){
  [data-functions-grid]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* ===== Small Tablet: 641-768px ===== */
@media(max-width:768px){
  [data-hero-canvas]{aspect-ratio:auto!important;min-height:0!important;padding:32px 20px 24px!important;display:flex;flex-direction:column}
  [data-hero-text]{position:static!important;width:100%!important;order:1;margin-bottom:20px}
  [data-hero-cta]{position:static!important;order:2;margin-bottom:24px}
  [data-hero-photo="1"]{position:static!important;width:100%!important;height:auto!important;aspect-ratio:16/10;order:3;margin-bottom:0!important}
  [data-hero-photo="2"]{display:none!important}
  [data-hero-photo="3"]{display:none!important}
  [data-hero-mascot]{right:16px!important;bottom:16px!important;width:80px!important}
  [data-hero-headline]{font-size:34px!important;line-height:1.35!important}

  section[data-screen-label="PoliUpSpeed"]{padding:64px 20px!important}
  [data-speed-grid]{grid-template-columns:1fr!important;gap:24px!important}
  [data-speed-grid]>div:first-child{flex-direction:row!important;order:2;gap:12px!important}
  [data-speed-grid]>div:first-child>img{width:46%!important}
  [data-speed-grid]>div:nth-child(2){order:1}
  [data-speed-grid]>div:nth-child(3){order:3;gap:16px!important}
  [data-speed-grid]>div:nth-child(3) div[style*="font-size:22px"]{font-size:19px!important}
  [data-speed-grid]>div:nth-child(3) p{font-size:15px!important}
  section[data-screen-label="PoliUpSpeed"] h2{font-size:26px!important}

  section[data-screen-label="NewsColumn"]{padding:64px 20px!important}
  [data-news-grid]{grid-template-columns:1fr!important;gap:40px!important}
  [data-news-grid] h2{font-size:24px!important;margin-bottom:20px!important}
  [data-news-grid] div>a>div,[data-news-grid] div>a>span:last-child{min-width:0}

  section[data-screen-label="Worries"]{padding:64px 20px 48px!important}
  [data-worries-heading]{margin-bottom:48px!important;max-width:360px;margin-left:auto;margin-right:auto}
  [data-worries-heading] span{font-size:30px!important;line-height:1.5!important}
  [data-worries-grid]{grid-template-columns:1fr!important;gap:56px!important}
  [data-worries-grid] img{max-width:320px!important;margin:0 auto!important;display:block!important}
  [data-worries-grid] > div{max-width:320px;margin-left:auto;margin-right:auto}

  section[data-screen-label="WorriesResolve"]{padding:64px 20px!important}
  [data-wr-divider]{display:none!important}
  [data-wr-grid]{grid-template-columns:1fr!important;gap:24px!important}
  [data-wr-vertical]{display:none!important}
  [data-wr-grid] > div > div{padding:22px!important;min-height:0!important}
  [data-wr-grid] h3{font-size:22px!important}

  section[data-screen-label="Points"]{padding:80px 20px 64px!important}
  section[data-screen-label="Points"] h2{font-size:28px!important}
  section[data-screen-label="Points"] p{font-size:16px!important}
  [data-points-grid]{grid-template-columns:1fr!important;gap:20px!important}
  [data-points-grid] button{padding:20px!important}
  [data-points-grid] h3{font-size:20px!important}
  [data-points-grid] p{font-size:15px!important}

  section[data-screen-label="MainFunctions"]{padding:64px 20px!important}
  section[data-screen-label="MainFunctions"] h2{font-size:28px!important}
  section[data-screen-label="MainFunctions"] > div > p{font-size:16px!important}
  [data-functions-grid]{grid-template-columns:1fr!important;gap:16px!important;margin-top:32px!important}
  [data-functions-grid]>div{display:flex!important;align-items:center!important;text-align:left!important}
  [data-functions-grid]>div>div:first-child{width:96px!important;flex-shrink:0!important;padding:16px!important;height:96px!important;box-sizing:border-box!important}
  [data-functions-grid]>div>div:first-child img{width:56px!important;height:56px!important}
  [data-functions-grid]>div>div:last-child{padding:14px 16px!important}
  [data-functions-grid] div[style*="font-size:20px"]{font-size:18px!important}
  [data-functions-grid] p{font-size:14px!important}

  section[data-screen-label="Testimonials"]{padding:64px 20px!important}
  section[data-screen-label="Testimonials"] h2{font-size:28px!important}
  [data-testimonials-grid]{grid-template-columns:1fr!important;gap:20px!important}
  [data-testimonials-grid]>div{padding:22px!important}

  section[data-screen-label="FAQ"]{padding:64px 20px!important}
  [data-faq-grid]{grid-template-columns:1fr!important;gap:32px!important}
  [data-faq-grid]>div:last-child{order:-1;text-align:center}
  [data-faq-grid] h2{font-size:32px!important}
  [data-faq-grid] details{padding:20px!important}
  [data-faq-grid] [data-faq-body] p{margin-left:0!important}

  section[data-screen-label="CEOMessage"]{padding:64px 20px!important}
  [data-ceo-grid]{grid-template-columns:1fr!important;gap:24px!important}
  [data-ceo-grid]>div:last-child{order:-1}
  [data-ceo-grid] img{max-width:340px!important;margin-left:auto!important;margin-right:auto!important;display:block!important}
  [data-ceo-grid] h2{font-size:32px!important}
  [data-ceo-grid] p{font-size:15px!important;line-height:1.9!important}

  section[data-screen-label="Company"]{padding:64px 20px!important}
  section[data-screen-label="Company"] h2{font-size:28px!important}
  [data-company-row]{grid-template-columns:1fr!important;gap:8px!important}

  section[data-screen-label="Contact"]{padding:64px 20px!important}
  section[data-screen-label="Contact"] h2{font-size:28px!important}

  [data-footer-row]{flex-direction:column!important}
}

/* ===== Mobile: 481-640px ===== */
@media(max-width:640px){
  header div[style*="height:76px"]{height:64px!important;padding-left:14px!important;padding-right:14px!important;gap:8px!important}
  header img[alt="POLI UP"]{height:20px!important}
  [data-cta-secondary],[data-cta-primary]{height:38px!important;font-size:12px!important;padding-left:13px!important;padding-right:13px!important}
  [data-menu-btn]{width:36px!important;height:36px!important}
  [data-mobile-menu]{top:64px!important}

  [data-hero-headline]{font-size:30px!important;line-height:1.35!important}
  [data-hero-canvas]{padding:28px 20px 20px!important}

  section[data-screen-label="Worries"]{padding:56px 20px 40px!important}
  [data-worries-heading]{margin-bottom:40px!important}
  [data-worries-heading] span{font-size:28px!important}
  [data-worries-grid]{gap:48px!important}

  [data-functions-grid]>div>div:first-child{width:88px!important;height:88px!important}

  [data-ceo-grid] h2{font-size:30px!important;line-height:1.45!important}
}

/* ===== Small Mobile: <=480px ===== */
@media(max-width:480px){
  [data-hero-headline]{font-size:30px!important}
  [data-worries-heading]{max-width:300px!important}
  [data-worries-heading] span{font-size:26px!important}
  section[data-screen-label="Points"] h2{font-size:26px!important}
  section[data-screen-label="MainFunctions"] h2{font-size:26px!important}
  [data-faq-grid] h2{font-size:28px!important}
}

