/*
Theme Name: アンゼン岡山
Theme URI: https://anzen-okayama.com
Author: Stone Sharp
Author URI: https://stonesharp.co.jp
Description: 株式会社アンゼン岡山 オリジナルテーマ。安全標識・保安用品・土木建築資材のリース・販売。
Version: 1.0.0
License: Private
Text Domain: anzen-okayama
*/

/* ============================================================
   COLOR: ポップビビッド  Pink × Yellow × Green
   ============================================================ */
:root {
  --primary:        #FF6B9D;
  --primary-dark:   #cc3366;
  --primary-shadow: rgba(255,107,157,0.45);
  --primary-pale:   #FFF0F7;
  --secondary:      #2ECC71;
  --secondary-dark: #18a058;
  --accent:         #FFE135;
  --accent-warm:    #FFA500;
  --purple:         #B87BFF;
  --sky:            #5BC8FF;
  --dark:           #1A1A2E;
  --text:           #2D2D4E;
  --text-mid:       #6B7280;
  --white:          #ffffff;
  --hero-bg:        linear-gradient(155deg,#FFF5FB 0%,#FFFDE0 50%,#F0FFF8 100%);
  --ticker-bg:      #FF6B9D;
  --service-bg:     linear-gradient(160deg,#1A1A2E 0%,#16213E 60%,#0F3460 100%);
  --contact-bg:     linear-gradient(135deg,#FF6B9D 0%,#FF8CC8 40%,#B87BFF 100%);
  --dl-bg:          linear-gradient(135deg,#FF6B9D,#FF9D50);
  --dl-bar-bg:      linear-gradient(135deg,#FF6B9D,#B87BFF);
  --s-a:#FFFDF0; --s-b:#FFF0F7; --s-c:#F0FFF4; --s-d:#EBF8FF;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--primary-pale);}
::-webkit-scrollbar-thumb{background:var(--dl-bar-bg);border-radius:4px;}

/* ===== DL STICKY BAR ===== */
#dl-bar{position:fixed;top:0;left:0;right:0;z-index:2000;background:var(--dl-bar-bg);padding:9px 20px;display:flex;align-items:center;justify-content:center;gap:16px;transform:translateY(-100%);transition:transform .4s cubic-bezier(.34,1.3,.64,1);box-shadow:0 4px 20px rgba(0,0,0,.2);}
#dl-bar.show{transform:translateY(0);}
.dl-bar-text{font-family:'M PLUS Rounded 1c',sans-serif;font-size:13px;font-weight:700;color:white;}
.dl-bar-text strong{color:var(--accent);}
.dl-bar-btn{display:inline-flex;align-items:center;gap:7px;background:white;color:var(--primary);font-family:'M PLUS Rounded 1c',sans-serif;font-size:13px;font-weight:800;padding:7px 18px;border-radius:20px;transition:all .2s;box-shadow:0 3px 0 rgba(0,0,0,.12);white-space:nowrap;}
.dl-bar-btn:hover{transform:translateY(-2px);}
.dl-bar-close{position:absolute;right:16px;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;line-height:1;}
.dl-bar-close:hover{color:white;}

/* ===== HEADER ===== */
#header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);padding:0 40px;height:66px;display:flex;align-items:center;justify-content:space-between;transition:all .3s;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--primary),var(--accent),var(--secondary),var(--sky),var(--purple)) 1;}
#header.scrolled{box-shadow:0 4px 24px var(--primary-shadow);}
.header-logo{font-family:'M PLUS Rounded 1c',sans-serif;font-size:21px;font-weight:900;color:var(--dark);display:flex;align-items:center;gap:10px;}
.header-logo-badge{background:var(--dl-bar-bg);color:white;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:700;}

/* WPカスタムメニュー出力スタイル */
#header-nav-wrap{display:flex;align-items:center;}
#header-nav-wrap ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
#header-nav-wrap ul li a{color:var(--text);font-size:13px;font-weight:700;padding:6px 12px;border-radius:20px;transition:all .2s;white-space:nowrap;}
#header-nav-wrap ul li a:hover{background:var(--primary-pale);color:var(--primary);}
#header-nav-wrap ul li.menu-item-dl a{background:var(--accent);color:var(--dark);box-shadow:0 3px 0 var(--accent-warm);font-size:12px;}
#header-nav-wrap ul li.menu-item-dl a:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--accent-warm);}
#header-nav-wrap ul li.menu-item-cta a{background:var(--dl-bar-bg);color:white;box-shadow:0 3px 12px var(--primary-shadow);}
#header-nav-wrap ul li.menu-item-cta a:hover{transform:translateY(-2px);}
/* サブメニュー */
#header-nav-wrap ul li{position:relative;}
#header-nav-wrap ul li ul{display:none;position:absolute;top:100%;left:0;background:white;border-radius:12px;padding:8px 0;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:200px;z-index:100;}
#header-nav-wrap ul li:hover > ul{display:block;}
#header-nav-wrap ul li ul li a{display:block;padding:10px 18px;border-radius:0;font-size:13px;color:var(--text);}
#header-nav-wrap ul li ul li a:hover{background:var(--primary-pale);color:var(--primary);}

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.hamburger span{width:24px;height:3px;background:var(--primary);border-radius:2px;display:block;}

/* ===== MOBILE NAV ===== */
.mobile-nav{display:none;position:fixed;inset:0;background:var(--contact-bg);z-index:2100;flex-direction:column;align-items:center;justify-content:center;gap:26px;}
.mobile-nav.open{display:flex;}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;align-items:center;gap:26px;margin:0;padding:0;}
.mobile-nav ul li a{color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:22px;font-weight:800;transition:all .2s;}
.mobile-nav ul li a:hover{transform:scale(1.1);}
.mn-close{position:absolute;top:22px;right:22px;color:white;font-size:32px;cursor:pointer;font-family:'M PLUS Rounded 1c',sans-serif;background:none;border:none;}

/* ===== HERO ===== */
#hero{min-height:100vh;background:var(--hero-bg);position:relative;overflow:hidden;display:flex;align-items:center;padding-top:66px;}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;}
.hero-orb-1{width:520px;height:520px;background:radial-gradient(circle,rgba(255,107,157,.11),transparent 70%);top:-120px;right:-80px;animation:orbPulse 7s ease-in-out infinite;}
.hero-orb-2{width:420px;height:420px;background:radial-gradient(circle,rgba(46,204,113,.09),transparent 70%);bottom:-100px;left:-80px;animation:orbPulse 9s ease-in-out infinite 1s;}
.hero-orb-3{width:220px;height:220px;background:radial-gradient(circle,rgba(255,225,53,.14),transparent 70%);top:35%;left:42%;animation:orbPulse 5s ease-in-out infinite 2s;}
@keyframes orbPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.2);}}
.deco{position:absolute;pointer-events:none;font-size:22px;animation:decoSpin 6s linear infinite;opacity:.5;}
@keyframes decoSpin{0%{transform:rotate(0)scale(1);}50%{transform:rotate(180deg)scale(1.3);}100%{transform:rotate(360deg)scale(1);}}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 40px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:flex-end;min-height:calc(100vh - 66px);padding-bottom:60px;}
.hero-content{padding-top:60px;display:flex;flex-direction:column;justify-content:center;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--dark);font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:900;padding:6px 16px;border-radius:20px;box-shadow:3px 3px 0 var(--accent-warm);margin-bottom:20px;animation:badgePop .6s .2s both cubic-bezier(.34,1.56,.64,1);width:fit-content;}
@keyframes badgePop{from{opacity:0;transform:scale(.5)rotate(-10deg);}to{opacity:1;transform:scale(1)rotate(0);}}
.hero-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(36px,5.2vw,66px);font-weight:900;color:var(--dark);line-height:1.15;letter-spacing:-.02em;margin-bottom:16px;animation:fadeUp .7s .4s both;}
.hero-title .tp{color:var(--primary);}
.hero-title .ts{-webkit-text-stroke:3px var(--primary);color:transparent;}
.hero-subtitle{font-size:15px;color:var(--text-mid);line-height:1.9;margin-bottom:28px;animation:fadeUp .7s .6s both;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px;animation:fadeUp .7s .75s both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'M PLUS Rounded 1c',sans-serif;font-size:14px;font-weight:800;padding:14px 26px;border-radius:50px;transition:all .2s;letter-spacing:.03em;cursor:pointer;}
.btn-primary{background:linear-gradient(135deg,var(--primary),#FF9D50);color:white;box-shadow:0 5px 0 var(--primary-dark),0 6px 18px var(--primary-shadow);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--primary-dark),0 10px 26px var(--primary-shadow);}
.btn-secondary{background:white;color:var(--secondary);border:2.5px solid var(--secondary);box-shadow:0 5px 0 var(--secondary-dark);}
.btn-secondary:hover{transform:translateY(-3px);background:var(--s-c);}
.hero-dl-box{background:white;border:3px solid var(--accent);border-radius:20px;padding:18px 22px;display:flex;align-items:center;gap:16px;box-shadow:5px 6px 0 var(--accent-warm),0 8px 24px rgba(255,165,0,.2);animation:fadeUp .7s .9s both;transition:all .25s;cursor:pointer;max-width:480px;text-decoration:none;}
.hero-dl-box:hover{transform:translateY(-4px);box-shadow:8px 10px 0 var(--accent-warm),0 12px 32px rgba(255,165,0,.28);}
.hero-dl-icon{font-size:40px;flex-shrink:0;animation:dlBounce 2s ease-in-out infinite;}
@keyframes dlBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.hero-dl-label{background:var(--primary);color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;display:inline-block;margin-bottom:6px;}
.hero-dl-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:16px;font-weight:900;color:var(--dark);margin-bottom:4px;}
.hero-dl-sub{font-size:12px;color:var(--text-mid);line-height:1.5;}
.hero-dl-btn{margin-left:auto;flex-shrink:0;background:var(--dl-bg);color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:13px;font-weight:800;padding:10px 20px;border-radius:50px;box-shadow:0 4px 0 var(--primary-dark);transition:all .2s;white-space:nowrap;}
.hero-dl-btn:hover{transform:translateY(-2px);}

/* ヒーロービジュアル */
.hero-visual{position:relative;display:flex;align-items:flex-end;justify-content:center;height:calc(100vh - 66px - 60px);min-height:480px;}
.hero-chara-bg-circle{position:absolute;width:360px;height:360px;background:linear-gradient(135deg,rgba(255,107,157,.12),rgba(255,225,53,.12));border-radius:50%;bottom:40px;left:50%;transform:translateX(-50%);animation:orbPulse 5s ease-in-out infinite;}
.hero-ground{position:absolute;bottom:0;left:-10%;right:-10%;height:50px;background:linear-gradient(180deg,transparent,rgba(200,255,220,.5));pointer-events:none;}
.hero-ground-line{position:absolute;bottom:48px;left:-10%;right:-10%;height:2px;background:rgba(46,204,113,.2);pointer-events:none;}
.hero-ground-dots{position:absolute;bottom:45px;left:-10%;right:-10%;height:4px;background-image:radial-gradient(circle,rgba(46,204,113,.25) 1px,transparent 1px);background-size:18px 4px;animation:dotsFlow 1.2s linear infinite paused;pointer-events:none;}
.hero-ground-dots.active{animation-play-state:running;}
@keyframes dotsFlow{from{background-position:0 0;}to{background-position:-18px 0;}}
.hero-chara{position:absolute;bottom:48px;display:flex;flex-direction:column;align-items:center;will-change:left,right,transform;z-index:3;}
.hero-chara img{width:180px;display:block;transform-origin:bottom center;filter:drop-shadow(0 10px 20px rgba(0,0,0,.14));will-change:transform;transition:none;}
.hero-chara .c-shadow{width:80px;height:14px;background:radial-gradient(ellipse,rgba(0,0,0,.16),transparent 70%);border-radius:50%;margin-top:-6px;transition:transform .3s ease;}
.c-bubble{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:white;border:2.5px solid var(--primary);border-radius:12px 12px 12px 0;padding:7px 14px;font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:700;color:var(--primary);white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none;box-shadow:2px 2px 0 rgba(255,107,157,.15);margin-bottom:8px;z-index:10;}
.c-bubble::after{content:'';position:absolute;bottom:-10px;left:0;border-top:10px solid white;border-right:10px solid transparent;}
.c-bubble.green{border-color:var(--secondary);color:var(--secondary-dark);}
.c-bubble.show{opacity:1;}
.effect-pop{position:absolute;font-size:20px;pointer-events:none;animation:effectFly 1s ease-out forwards;z-index:20;}
@keyframes effectFly{0%{opacity:1;transform:translateY(0)scale(1);}100%{opacity:0;transform:translateY(-60px)scale(1.4);}}
.hero-stat-cards{position:absolute;top:40px;left:0;display:flex;flex-direction:column;gap:10px;z-index:4;}
.hero-stat-card{background:white;border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:9px;box-shadow:4px 4px 0 rgba(0,0,0,.07);animation:cardSlide .5s both cubic-bezier(.34,1.3,.64,1);}
.hero-stat-card:nth-child(1){animation-delay:1.6s;border-left:4px solid var(--primary);}
.hero-stat-card:nth-child(2){animation-delay:1.8s;border-left:4px solid var(--secondary);}
.hero-stat-card:nth-child(3){animation-delay:2.0s;border-left:4px solid var(--accent-warm);}
@keyframes cardSlide{from{opacity:0;transform:translateX(-20px);}to{opacity:1;transform:translateX(0);}}
.stat-emoji{font-size:20px;}
.stat-num{font-family:'M PLUS Rounded 1c',sans-serif;font-size:16px;font-weight:900;color:var(--dark);line-height:1;}
.stat-label{font-size:11px;color:var(--text-mid);margin-top:2px;}
.ticker-wrap{position:absolute;bottom:0;left:0;right:0;background:var(--ticker-bg);height:42px;overflow:hidden;display:flex;align-items:center;}
.ticker-inner{display:flex;gap:44px;animation:tick 18s linear infinite;white-space:nowrap;}
.ticker-inner span{font-family:'M PLUS Rounded 1c',sans-serif;font-size:13px;font-weight:700;color:white;}
.ticker-inner .sep{color:var(--accent);}
@keyframes tick{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ===== SECTION COMMON ===== */
.section{padding:88px 0;position:relative;}
.section-inner{max-width:1200px;margin:0 auto;padding:0 40px;}
.s-label{display:inline-block;font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em;padding:4px 14px;border-radius:20px;margin-bottom:10px;}
.sl-primary{background:var(--primary-pale);color:var(--primary);}
.sl-green{background:#F0FFF4;color:var(--secondary-dark);}
.sl-sky{background:#EBF8FF;color:#0077cc;}
.section-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(26px,3.8vw,44px);font-weight:900;color:var(--dark);line-height:1.25;}
.section-title .tp{color:var(--primary);}
.section-title .tg{color:var(--secondary);}
.section-title.white{color:white;}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;}
.more-btn{display:inline-flex;align-items:center;gap:6px;font-family:'M PLUS Rounded 1c',sans-serif;font-size:13px;font-weight:700;color:var(--primary);background:var(--primary-pale);padding:7px 18px;border-radius:20px;transition:all .2s;}
.more-btn:hover{background:var(--primary);color:white;transform:translateY(-2px);}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s;}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s,transform .7s;}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s,transform .7s;}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none;}

/* ===== NEWS（WP投稿出力） ===== */
#news{background:var(--s-a);}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.news-card{background:white;border-radius:18px;overflow:hidden;border:2.5px solid transparent;box-shadow:4px 5px 0 rgba(255,107,157,.1);transition:all .3s;cursor:pointer;}
.news-card:hover{border-color:var(--primary);transform:translateY(-6px)rotate(-.4deg);box-shadow:6px 9px 0 rgba(255,107,157,.18);}
.news-card-thumb{height:165px;display:flex;align-items:center;justify-content:center;font-size:52px;overflow:hidden;background:linear-gradient(135deg,#FFE5F1,#FFD4E8);}
.news-card-thumb img{width:100%;height:100%;object-fit:cover;}
.news-card-thumb.no-thumb{background:linear-gradient(135deg,#FFE5F1,#FFD4E8);}
.news-card-body{padding:16px 18px 20px;}
.nc-tag{font-size:11px;font-weight:700;padding:3px 11px;border-radius:20px;display:inline-block;margin-right:7px;background:var(--primary-pale);color:var(--primary);}
.nc-date{font-size:12px;color:var(--text-mid);}
.nc-meta{display:flex;align-items:center;gap:7px;margin-bottom:9px;flex-wrap:wrap;}
.news-card h3{font-size:14px;font-weight:700;line-height:1.65;color:var(--text);}
.news-card h3 a{color:inherit;}
.news-card h3 a:hover{color:var(--primary);}

/* ===== ABOUT ===== */
#about{background:var(--s-b);overflow:hidden;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.about-visual-wrap{position:relative;display:flex;align-items:center;justify-content:center;}
.about-morph{width:340px;height:340px;background:linear-gradient(135deg,var(--primary-pale),#FFF8D0);border-radius:60% 40% 55% 45%/50% 55% 45% 50%;animation:morph 7s ease-in-out infinite;display:flex;align-items:center;justify-content:center;position:relative;}
@keyframes morph{0%,100%{border-radius:60% 40% 55% 45%/50% 55% 45% 50%;}33%{border-radius:40% 60% 45% 55%/55% 45% 55% 45%;}66%{border-radius:55% 45% 60% 40%/45% 55% 45% 55%;}}
.about-deco-sm{position:absolute;font-size:26px;animation:decoFloat 4s ease-in-out infinite;}
.about-deco-sm:nth-child(1){top:4px;left:4px;}
.about-deco-sm:nth-child(2){top:4px;right:4px;animation-delay:.7s;}
.about-deco-sm:nth-child(3){bottom:10px;left:20px;animation-delay:1.4s;}
.about-deco-sm:nth-child(4){bottom:10px;right:20px;animation-delay:2.1s;}
@keyframes decoFloat{0%,100%{transform:translateY(0)rotate(0);}50%{transform:translateY(-10px)rotate(15deg);}}
#about-chara-img{width:240px;position:relative;z-index:2;filter:drop-shadow(0 10px 20px rgba(255,107,157,.2));cursor:pointer;animation:idleFloat 3s ease-in-out infinite;}
.about-text{font-size:15px;color:var(--text-mid);line-height:2;margin:18px 0 24px;}
.about-points{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
.about-point{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;background:white;border-radius:14px;border:2px solid transparent;box-shadow:3px 4px 0 rgba(0,0,0,.06);transition:all .25s;}
.about-point:hover{border-color:rgba(255,107,157,.3);transform:translateX(6px);}
.ap-icon{font-size:24px;flex-shrink:0;}
.ap-text h4{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:3px;}
.ap-text p{font-size:13px;color:var(--text-mid);line-height:1.6;}

/* ===== SERVICE ===== */
#service{background:var(--service-bg);position:relative;overflow:hidden;padding-bottom:180px;}
.svc-bg-orbs{position:absolute;inset:0;pointer-events:none;}
.svc-bg-orbs span{position:absolute;border-radius:50%;opacity:.07;}
.svc-bg-orbs span:nth-child(1){width:500px;height:500px;background:var(--primary);top:-150px;right:-80px;animation:orbPulse 10s ease-in-out infinite;}
.svc-bg-orbs span:nth-child(2){width:400px;height:400px;background:var(--sky);bottom:-100px;left:-60px;animation:orbPulse 13s ease-in-out infinite reverse;}
.svc-bg-orbs span:nth-child(3){width:200px;height:200px;background:var(--accent);top:40%;left:44%;animation:orbPulse 7s ease-in-out infinite 2s;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:2;}
.svc-card{background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 20px 24px;transition:all .35s cubic-bezier(.34,1.3,.64,1);position:relative;cursor:pointer;}
.svc-card:nth-child(1){--cc:var(--primary);}
.svc-card:nth-child(2){--cc:#A8E063;}
.svc-card:nth-child(3){--cc:var(--sky);}
.svc-card:nth-child(4){--cc:var(--accent);}
.svc-card:nth-child(5){--cc:var(--purple);}
.svc-card:hover{transform:translateY(-10px)rotate(-1deg)scale(1.02);border-color:var(--cc);box-shadow:0 20px 48px rgba(0,0,0,.45);}
.svc-num{font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:900;color:var(--cc);background:rgba(255,255,255,.08);display:inline-block;padding:3px 12px;border-radius:20px;margin-bottom:14px;}
.svc-icon{font-size:44px;display:block;margin-bottom:12px;animation:iconWobble 3s ease-in-out infinite;}
.svc-card:nth-child(1) .svc-icon{animation-delay:0s;}
.svc-card:nth-child(2) .svc-icon{animation-delay:.4s;}
.svc-card:nth-child(3) .svc-icon{animation-delay:.8s;}
.svc-card:nth-child(4) .svc-icon{animation-delay:1.2s;}
.svc-card:nth-child(5) .svc-icon{animation-delay:1.6s;}
@keyframes iconWobble{0%,100%{transform:rotate(0)scale(1);}25%{transform:rotate(-7deg)scale(1.08);}75%{transform:rotate(7deg)scale(1.04);}}
.svc-card h3{font-size:15px;font-weight:700;color:white;margin-bottom:9px;line-height:1.4;}
.svc-card p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.7;}
.svc-chara-stage{position:absolute;bottom:0;left:0;right:0;height:160px;overflow:hidden;pointer-events:none;z-index:5;}
.svc-ground-dots{position:absolute;bottom:2px;left:0;right:0;height:4px;background-image:radial-gradient(circle,rgba(255,107,157,.3) 1px,transparent 1px);background-size:18px 4px;animation:dotsFlow 1.2s linear infinite paused;}
.svc-ground-dots.active{animation-play-state:running;}
#svc-shige{position:absolute;bottom:0;display:flex;flex-direction:column;align-items:center;will-change:left;}
#svc-shige img{width:160px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4));}
#svc-shige .c-shadow{width:72px;height:12px;background:radial-gradient(ellipse,rgba(0,0,0,.25),transparent 70%);border-radius:50%;margin-top:-4px;}

/* ===== DOWNLOAD ===== */
#download{background:var(--s-a);overflow:hidden;}
.dl-section-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.dl-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.dl-card{background:white;border-radius:16px;padding:20px 18px;border:2.5px solid transparent;box-shadow:4px 5px 0 rgba(0,0,0,.07);transition:all .3s;cursor:pointer;display:flex;flex-direction:column;gap:10px;}
.dl-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:6px 8px 0 rgba(255,107,157,.18);}
.dl-card-icon{font-size:32px;}
.dl-card h4{font-family:'M PLUS Rounded 1c',sans-serif;font-size:14px;font-weight:700;color:var(--dark);line-height:1.4;}
.dl-card p{font-size:12px;color:var(--text-mid);line-height:1.6;}
.dl-card-btn{display:inline-flex;align-items:center;gap:6px;background:var(--dl-bg);color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:700;padding:8px 14px;border-radius:20px;width:fit-content;box-shadow:0 3px 0 var(--primary-dark);transition:all .2s;}
.dl-card-btn:hover{transform:translateY(-2px);}
.dl-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.dl-chara-wrap{position:relative;}
#dl-chara-img{width:220px;filter:drop-shadow(0 10px 20px rgba(255,107,157,.2));cursor:pointer;}
.dl-badge{position:absolute;top:-10px;right:-20px;background:var(--dl-bg);color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:700;padding:8px 16px;border-radius:20px;box-shadow:3px 4px 0 rgba(0,0,0,.12);animation:badgeBounce 2.5s ease-in-out infinite;white-space:nowrap;}
@keyframes badgeBounce{0%,100%{transform:scale(1)rotate(-2deg);}50%{transform:scale(1.05)rotate(2deg);}}

/* ===== SDGs ===== */
#sdgs{background:var(--s-c);overflow:hidden;}
.sdgs-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.sdgs-items{display:flex;flex-direction:column;gap:18px;margin-top:26px;}
.sdgs-item{display:flex;gap:16px;align-items:flex-start;padding:20px;background:white;border-radius:16px;box-shadow:4px 5px 0 rgba(46,204,113,.1);border:2px solid transparent;transition:all .3s;}
.sdgs-item:hover{border-color:var(--secondary);transform:translateX(7px);}
.sdgs-num{width:48px;height:48px;background:linear-gradient(135deg,var(--secondary),#A8E063);border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:'M PLUS Rounded 1c',sans-serif;font-size:22px;font-weight:900;color:white;flex-shrink:0;box-shadow:3px 4px 0 var(--secondary-dark);}
.sdgs-item h4{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:6px;}
.sdgs-item p{font-size:13px;color:var(--text-mid);line-height:1.7;}
.sdgs-visual-wrap{position:relative;display:flex;align-items:center;justify-content:center;}
.sdgs-morph{width:310px;height:310px;background:linear-gradient(135deg,#d4f5e0,#e8ffe8);border-radius:50% 40% 60% 45%/45% 60% 40% 55%;animation:morph 8s ease-in-out infinite reverse;display:flex;align-items:center;justify-content:center;}
#sdgs-chara-img{width:240px;filter:drop-shadow(0 10px 20px rgba(46,204,113,.22));cursor:pointer;}
.sdgs-badge{position:absolute;top:-8px;right:-18px;background:linear-gradient(135deg,var(--secondary),var(--sky));color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:700;padding:8px 16px;border-radius:20px;box-shadow:3px 4px 0 rgba(0,0,0,.12);animation:badgeBounce 2.5s ease-in-out infinite;white-space:nowrap;}
.sdgs-cert{position:absolute;bottom:4px;left:-24px;background:white;border:3px solid var(--secondary);border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:4px 5px 0 rgba(46,204,113,.18);animation:certFloat 4s ease-in-out infinite 1s;}
@keyframes certFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.sdgs-cert-icon{font-size:24px;}
.sdgs-cert-txt{font-size:12px;font-weight:700;color:var(--dark);}
.sdgs-cert-txt span{display:block;color:var(--secondary-dark);font-size:13px;}

/* ===== CONTACT ===== */
#contact{background:var(--contact-bg);position:relative;overflow:hidden;padding:90px 0;}
.ct-orbs{position:absolute;inset:0;pointer-events:none;}
.ct-orbs span{position:absolute;border-radius:50%;background:rgba(255,255,255,.1);}
.ct-orbs span:nth-child(1){width:400px;height:400px;top:-100px;right:-70px;animation:orbPulse 7s ease-in-out infinite;}
.ct-orbs span:nth-child(2){width:300px;height:300px;bottom:-60px;left:-50px;animation:orbPulse 9s ease-in-out infinite 1s;}
.ct-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.ct-text{font-size:15px;color:rgba(255,255,255,.82);line-height:1.9;margin:16px 0 26px;}
.ct-tel{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.28);border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:13px;margin-bottom:18px;}
.ct-tel-icon{font-size:30px;}
.ct-tel-num{font-family:'M PLUS Rounded 1c',sans-serif;font-size:32px;font-weight:900;color:white;letter-spacing:.05em;line-height:1;}
.ct-tel-info{font-size:12px;color:rgba(255,255,255,.65);margin-top:3px;}
.ct-btns{display:flex;flex-direction:column;gap:11px;}
.ct-btn{display:flex;align-items:center;gap:12px;padding:17px 26px;border-radius:50px;font-family:'M PLUS Rounded 1c',sans-serif;font-size:14px;font-weight:800;transition:all .25s;cursor:pointer;}
.ct-btn-white{background:white;color:var(--primary);box-shadow:0 5px 0 rgba(0,0,0,.1),0 6px 22px rgba(0,0,0,.14);}
.ct-btn-white:hover{transform:translateY(-4px);}
.ct-btn-outline{background:transparent;color:white;border:2.5px solid rgba(255,255,255,.55);}
.ct-btn-outline:hover{background:rgba(255,255,255,.14);border-color:white;transform:translateY(-4px);}
.ct-visual{display:flex;align-items:center;justify-content:center;position:relative;}
.ct-chara-wrap{position:relative;}
#ct-chara-img{width:240px;filter:drop-shadow(0 14px 28px rgba(0,0,0,.3));cursor:pointer;}
.ct-speech{position:absolute;top:10px;right:-18px;background:white;color:var(--primary);font-family:'M PLUS Rounded 1c',sans-serif;font-size:13px;font-weight:700;padding:10px 16px;border-radius:14px 14px 14px 0;box-shadow:4px 4px 0 rgba(255,107,157,.2);white-space:nowrap;animation:speechPop .5s 2s both cubic-bezier(.34,1.56,.64,1);}
.ct-speech::after{content:'';position:absolute;bottom:-11px;left:0;border-top:11px solid white;border-right:11px solid transparent;}
@keyframes speechPop{from{opacity:0;transform:scale(0);}to{opacity:1;transform:scale(1);}}

/* ===== FOOTER ===== */
#footer{background:#0A0A18;padding:56px 0 0;}
.ft-inner{max-width:1200px;margin:0 auto;padding:0 40px;}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.07);}
/* フッターブランドエリア */
.ft-brand{}
.ft-logo{font-family:'M PLUS Rounded 1c',sans-serif;font-size:19px;font-weight:900;background:var(--dl-bar-bg);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:13px;}
.ft-desc{font-size:13px;color:rgba(255,255,255,.38);line-height:1.8;}
.ft-addr{margin-top:13px;font-size:12px;color:rgba(255,255,255,.28);line-height:1.9;}
/* フッターウィジェットエリア */
.ft-widget-area{}
.ft-widget-area .widget{margin-bottom:0;}
.ft-widget-area .widget-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:12px;font-weight:800;letter-spacing:.15em;margin-bottom:13px;background:var(--dl-bar-bg);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;}
.ft-widget-area ul{list-style:none;margin:0;padding:0;}
.ft-widget-area ul li{margin-bottom:8px;}
.ft-widget-area ul li a{font-size:13px;color:rgba(255,255,255,.38);transition:color .2s;}
.ft-widget-area ul li a:hover{color:rgba(255,107,157,.7);}
.ft-widget-area p{font-size:13px;color:rgba(255,255,255,.38);line-height:1.8;}
.ft-bottom{padding:18px 0;display:flex;justify-content:space-between;align-items:center;}
.ft-copy{font-size:12px;color:rgba(255,255,255,.18);}
.ft-powered{color:rgba(255,255,255,.18);font-size:11px;}

/* ===== FLOAT CTA ===== */
.float-area{position:fixed;bottom:26px;right:22px;z-index:500;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.float-cta-btn{display:flex;align-items:center;gap:9px;background:linear-gradient(135deg,var(--primary),#FF9D50);color:white;font-family:'M PLUS Rounded 1c',sans-serif;font-size:14px;font-weight:800;padding:13px 20px;border-radius:50px;box-shadow:0 5px 0 var(--primary-dark),0 7px 22px var(--primary-shadow);transition:all .2s;white-space:nowrap;}
.float-cta-btn:hover{transform:translateY(-4px);}
#float-chara-img{width:68px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.14));cursor:pointer;animation:floatSmall 2.5s ease-in-out infinite;}
@keyframes floatSmall{0%,100%{transform:translateY(0)rotate(-8deg);}50%{transform:translateY(-10px)rotate(8deg);}}
.scroll-top{position:fixed;bottom:26px;left:22px;z-index:500;width:46px;height:46px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 var(--accent-warm),0 5px 14px rgba(255,225,53,.4);cursor:pointer;transition:all .3s;opacity:0;transform:translateY(12px);font-size:18px;border:none;}
.scroll-top.show{opacity:1;transform:translateY(0);}
.scroll-top:hover{transform:translateY(-4px)scale(1.08);}

/* ===== 投稿・アーカイブページ ===== */
.page-wrap{max-width:900px;margin:0 auto;padding:120px 40px 80px;}
.page-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(24px,4vw,38px);font-weight:900;color:var(--dark);margin-bottom:40px;padding-bottom:16px;border-bottom:3px solid var(--primary);}
.post-list{display:flex;flex-direction:column;gap:24px;}
.post-item{background:white;border-radius:16px;padding:24px 28px;border:2px solid transparent;box-shadow:4px 5px 0 rgba(0,0,0,.06);transition:all .3s;display:flex;gap:20px;align-items:flex-start;}
.post-item:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:6px 8px 0 rgba(255,107,157,.15);}
.post-date{font-size:12px;color:var(--text-mid);white-space:nowrap;padding-top:2px;}
.post-cat{display:inline-block;background:var(--primary-pale);color:var(--primary);font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;margin-right:8px;}
.post-item-title{font-size:15px;font-weight:700;color:var(--dark);line-height:1.6;}
.post-item-title a{color:inherit;}
.post-item-title a:hover{color:var(--primary);}
.single-content{background:white;border-radius:20px;padding:40px;box-shadow:4px 5px 0 rgba(0,0,0,.06);}
.single-content h1{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(20px,3vw,30px);font-weight:900;color:var(--dark);margin-bottom:20px;line-height:1.4;}
.single-meta{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid var(--primary-pale);}
.entry-content{font-size:15px;line-height:1.9;color:var(--text);}
.entry-content h2{font-family:'M PLUS Rounded 1c',sans-serif;font-size:22px;font-weight:700;color:var(--dark);margin:32px 0 14px;}
.entry-content p{margin-bottom:16px;}
.entry-content img{border-radius:12px;margin:20px 0;}
.wp-pagenavi,.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px;}
.wp-pagenavi a,.wp-pagenavi span,.page-numbers{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-family:'M PLUS Rounded 1c',sans-serif;font-size:14px;font-weight:700;background:white;color:var(--text);border:2px solid #eee;transition:all .2s;}
.wp-pagenavi a:hover,.page-numbers:hover{background:var(--primary-pale);border-color:var(--primary);color:var(--primary);}
.wp-pagenavi .current,.page-numbers.current{background:var(--primary);color:white;border-color:var(--primary);}

/* ===== RESPONSIVE ===== */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;min-height:auto;}
  .hero-visual{display:none;}
  .about-grid,.sdgs-grid,.dl-section-inner{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .news-grid{grid-template-columns:1fr;}
  .ct-inner{grid-template-columns:1fr;}
  .ft-top{grid-template-columns:1fr 1fr;}
  #header-nav-wrap{display:none;}
  .hamburger{display:flex;}
}
@media(max-width:600px){
  .section-inner,.hero-inner,.ct-inner,.page-wrap{padding:0 20px;}
  #header{padding:0 20px;}
  .svc-grid,.ft-top{grid-template-columns:1fr;}
  .dl-cards{grid-template-columns:1fr;}
  .float-area{right:14px;}
  .page-wrap{padding-top:90px;}
}
