/*
Theme Name: AidBase
Theme URI: https://aidnetwork.jp/
Author: AidNetwork
Description: AidCMS専用の軽量ベーステーマ。ヘッダー、フッター、共通レイアウトを提供します。
Version: 1.0.0-alpha51
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aidbase
*/
:root{--aidbase-radius-sm:12px;--aidbase-radius-md:20px;--aidbase-radius-pill:999px;--aidbase-navy:#0b1d3a;--aidbase-blue:#2182d6;--aidbase-cyan:#35a6c7;--aidbase-green:#79be68;--aidbase-brand-primary:#2182d6;--aidbase-brand-secondary:#35a6c7;--aidbase-brand-tertiary:#79be68;--aidbase-brand-gradient:linear-gradient(105deg,#2182d6 0%,#35a6c7 48%,#79be68 100%);--aidbase-brand-gradient-soft:linear-gradient(135deg,rgba(33,130,214,.12) 0%,rgba(53,166,199,.10) 48%,rgba(121,190,104,.12) 100%);--aidbase-line:#e9eef4;--aidbase-muted:#647184}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--aidbase-navy);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.aidbase-inner{width:min(1180px,calc(100% - 48px));margin:auto}.aidbase-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(233,238,244,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.aidbase-header-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.aidbase-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}.aidbase-brand img{display:block;max-height:48px;width:auto}.aidbase-brand-text{display:flex;flex-direction:column;line-height:1}.aidbase-brand-name{font-size:24px;font-weight:800;letter-spacing:-.03em}.aidbase-brand-tag{font-size:10px;font-weight:650;letter-spacing:.04em;margin-top:8px;color:#5d6979}.aidbase-nav-wrap{display:flex;align-items:center;gap:28px}.aidbase-nav{display:flex;align-items:center;gap:28px}.aidbase-nav ul{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}.aidbase-nav a{text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap;transition:color .2s}.aidbase-nav a:hover{color:var(--aidbase-blue)}.aidbase-header-contact{display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:999px;background:var(--aidbase-blue);color:#fff;text-decoration:none;font-size:14px;font-weight:750;box-shadow:0 10px 24px rgba(33,103,214,.18)}.aidbase-header-contact svg{width:17px;height:17px}.aidbase-menu-toggle{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}.aidbase-menu-toggle span{display:block;width:25px;height:2px;margin:6px auto;background:var(--aidbase-navy);transition:.25s}.aidbase-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}.aidbase-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.aidbase-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}.aidbase-footer{background:#f8fafc;border-top:1px solid var(--aidbase-line);padding:60px 0 26px}.aidbase-footer-main{display:grid;grid-template-columns:1.35fr 2fr;gap:80px;padding-bottom:38px}.aidbase-footer-brand{font-size:24px;font-weight:800;margin-bottom:10px}.aidbase-footer-tag{color:var(--aidbase-muted);font-size:13px;line-height:1.8;margin:0 0 18px}.aidbase-footer-address{color:#4e5c6d;font-style:normal;font-size:13px;line-height:2.05}.aidbase-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.aidbase-footer-links strong{display:block;font-size:14px;margin-bottom:13px}.aidbase-footer-links a{display:block;text-decoration:none;color:#566476;font-size:13px;margin:9px 0}.aidbase-footer-links a:hover{color:var(--aidbase-blue)}.aidbase-footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-top:1px solid var(--aidbase-line);padding-top:24px;color:#788393;font-size:12px;line-height:1.7;text-align:left}.aidbase-footer-bottom span:first-child{margin-right:auto}.aidbase-footer-bottom span:last-child{text-align:right}.aidbase-missing-plugin{padding:100px 0;min-height:55vh}@media(max-width:900px){.aidbase-inner{width:min(100% - 32px,1180px)}.aidbase-header-row{min-height:68px}.aidbase-header-contact{display:none}.aidbase-menu-toggle{display:block}.aidbase-nav-wrap{position:absolute;display:none;top:68px;left:0;right:0;padding:15px 16px 22px;background:#fff;border-bottom:1px solid var(--aidbase-line);box-shadow:0 16px 30px rgba(11,29,58,.08)}.aidbase-nav-wrap.is-open{display:block}.aidbase-nav,.aidbase-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.aidbase-nav a{display:block;padding:13px 8px;border-bottom:1px solid #f0f3f7}.aidbase-footer-main{grid-template-columns:1fr;gap:36px}.aidbase-footer-links{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.aidbase-brand-name{font-size:21px}.aidbase-brand-tag{font-size:9px}.aidbase-footer-links{grid-template-columns:1fr 1fr}.aidbase-footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.aidbase-footer-bottom span:last-child{text-align:left}.aidbase-footer{padding-top:46px}}

/* AidCMS alpha5 footer settings integration */
.aidbase-footer-logo{display:block;max-width:180px;max-height:60px;width:auto;height:auto;object-fit:contain}.aidbase-footer-address a{color:inherit;text-decoration:none}.aidbase-footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.aidbase-footer-socials a{display:inline-flex;align-items:center;min-height:34px;padding:5px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:inherit;text-decoration:none;font-size:12px}.aidbase-footer-socials a:hover{background:rgba(255,255,255,.08)}

/* AidBase 1.0.0-alpha7: shared interactive radius */
.aidbase-header-contact{border-radius:var(--aidbase-radius-pill)}


/* AidBase 1.0.0-alpha14: structured mobile navigation */
.aidbase-mobile-nav{display:none}
@media(max-width:900px){
  body.aidbase-menu-open{overflow:hidden}
  .aidbase-nav-wrap{top:100%;padding:0;background:#fff;border-bottom:0;box-shadow:0 18px 36px rgba(11,29,58,.13);max-height:calc(100dvh - 68px);overflow:hidden}
  .aidbase-nav--desktop,.aidbase-nav-wrap>.aidbase-header-contact{display:none}
  .aidbase-mobile-nav{display:block;height:calc(100dvh - 68px);background:linear-gradient(180deg,#fff 0%,#fff 68%,#f4faff 100%)}
  .aidbase-mobile-nav__scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px calc(34px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .aidbase-mobile-nav a{text-decoration:none}
  .aidbase-mobile-nav__home{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;min-height:54px;padding:0 4px 14px;border-bottom:1px solid var(--aidbase-line);font-size:16px;font-weight:800}
  .aidbase-mobile-nav__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eef5ff;color:var(--aidbase-blue)}
  .aidbase-mobile-nav__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .aidbase-mobile-nav__arrow{font-size:25px;font-weight:500;color:#8b98aa}
  .aidbase-mobile-nav__section{margin-top:24px}
  .aidbase-mobile-nav__heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:0 2px 12px}
  .aidbase-mobile-nav__heading span{font-size:18px;font-weight:850;letter-spacing:-.02em}
  .aidbase-mobile-nav__heading small{color:#7b8797;font-size:10px;font-weight:650}
  .aidbase-mobile-nav__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .aidbase-mobile-nav__grid>a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:16px 15px 14px;border:1px solid #e5ebf2;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(31,64,105,.055);overflow:hidden}
  .aidbase-mobile-nav__grid strong{font-size:14px;font-weight:820;line-height:1.35}
  .aidbase-mobile-nav__grid small{margin-top:5px;color:#7a8798;font-size:10px;font-weight:650;line-height:1.4}
  .aidbase-mobile-nav__service-mark{position:absolute;top:0;left:0;width:100%;height:4px;background:#2167d6}
  .aidbase-mobile-nav__service-mark--green{background:#66b66a}.aidbase-mobile-nav__service-mark--orange{background:#e8a15b}.aidbase-mobile-nav__service-mark--purple{background:#8d78d6}
  .aidbase-mobile-nav__links{border-top:1px solid var(--aidbase-line)}
  .aidbase-mobile-nav__links a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 4px;border-bottom:1px solid var(--aidbase-line);font-size:14px;font-weight:760}
  .aidbase-mobile-nav__links a span:last-child{color:#8b98aa;font-size:22px;font-weight:500}
  .aidbase-mobile-nav__recruit{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px;padding:17px 20px;border-radius:20px;background:#0b1d3a;color:#fff;box-shadow:0 14px 28px rgba(11,29,58,.16)}
  .aidbase-mobile-nav__recruit span:first-child{display:flex;flex-direction:column;gap:4px}.aidbase-mobile-nav__recruit small{color:#c9d4e4;font-size:10px;font-weight:650}.aidbase-mobile-nav__recruit strong{font-size:15px;font-weight:820}
  .aidbase-mobile-nav__contact{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:14px 18px;border-radius:999px;background:var(--aidbase-blue);color:#fff;font-size:14px;font-weight:820;box-shadow:0 14px 28px rgba(33,103,214,.2)}
  .aidbase-mobile-nav__contact .aidbase-mobile-nav__icon{background:rgba(255,255,255,.16);color:#fff}
  .aidbase-mobile-nav__note{margin:12px 10px 0;color:#738094;font-size:10px;font-weight:600;line-height:1.7;text-align:center}
}
@media(max-width:380px){
  .aidbase-mobile-nav__scroll{padding-inline:16px}.aidbase-mobile-nav__grid{gap:8px}.aidbase-mobile-nav__grid>a{padding-inline:12px}.aidbase-mobile-nav__heading small{display:none}
}

/* === alpha35 UI polish: mobile navigation and CTA family === */
@media(max-width:980px){
  .aidbase-mobile-nav{
    background:
      radial-gradient(circle at 88% 8%,rgba(33,130,214,.10),transparent 28%),
      radial-gradient(circle at 8% 92%,rgba(121,190,104,.10),transparent 30%),
      linear-gradient(180deg,#fff 0%,#f9fcff 54%,#f7fcf7 100%);
  }
  .aidbase-mobile-nav__grid{gap:12px}
  .aidbase-mobile-nav__grid>a{
    --menu-accent:#2182d6;
    --menu-accent-2:#66b66a;
    display:grid;
    grid-template-columns:42px 1fr 22px;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:12px;
    min-height:112px;
    padding:17px 15px;
    border:1px solid color-mix(in srgb,var(--menu-accent) 18%,#e7edf4);
    border-radius:22px;
    background:
      radial-gradient(circle at 100% 0,color-mix(in srgb,var(--menu-accent-2) 16%,transparent),transparent 42%),
      linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--menu-accent) 5%,#fff) 100%);
    box-shadow:0 14px 34px rgba(23,51,78,.07);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  .aidbase-mobile-nav__grid>a:active{transform:scale(.975)}
  .aidbase-mobile-nav__grid>a:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(23,51,78,.11)}
  .aidbase-mobile-nav__service--homecare{--menu-accent:#2167d6;--menu-accent-2:#66b66a}
  .aidbase-mobile-nav__service--consultation{--menu-accent:#5d9f70;--menu-accent-2:#9dc994}
  .aidbase-mobile-nav__service--child{--menu-accent:#78ad63;--menu-accent-2:#d8b65d}
  .aidbase-mobile-nav__service--after{--menu-accent:#43a9a2;--menu-accent-2:#f0a65a}
  .aidbase-mobile-nav__service-icon{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:15px;
    background:linear-gradient(145deg,color-mix(in srgb,var(--menu-accent) 14%,#fff),color-mix(in srgb,var(--menu-accent-2) 12%,#fff));
    color:var(--menu-accent);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--menu-accent) 14%,transparent);
  }
  .aidbase-mobile-nav__service-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .aidbase-mobile-nav__grid strong{align-self:end;font-size:14px}
  .aidbase-mobile-nav__grid small{align-self:start;margin:3px 0 0}
  .aidbase-mobile-nav__service-arrow{grid-column:3;grid-row:1/3;align-self:center;color:var(--menu-accent);font-size:17px;font-weight:800;transition:transform .2s ease}
  .aidbase-mobile-nav__grid>a:hover .aidbase-mobile-nav__service-arrow{transform:translateX(3px)}
  .aidbase-mobile-nav__service-mark{display:none!important}

  .aidbase-mobile-nav__recruit,
  .aidbase-mobile-nav__contact{
    display:grid;
    grid-template-columns:1fr 32px;
    align-items:center;
    gap:16px;
    min-height:76px;
    margin-top:14px;
    padding:18px 20px;
    border:0;
    border-radius:22px;
    color:#fff;
    box-shadow:0 16px 34px rgba(26,104,151,.18);
    overflow:hidden;
    position:relative;
    transition:transform .2s ease,box-shadow .2s ease;
  }
  .aidbase-mobile-nav__recruit{margin-top:28px;background:linear-gradient(115deg,#17375c 0%,#2182d6 56%,#35a6c7 100%)}
  .aidbase-mobile-nav__contact{background:var(--aidbase-brand-gradient,linear-gradient(105deg,#2182d6 0%,#35a6c7 48%,#79be68 100%))}
  .aidbase-mobile-nav__recruit:before,.aidbase-mobile-nav__contact:before{content:"";position:absolute;width:120px;height:120px;right:-44px;top:-52px;border-radius:50%;background:rgba(255,255,255,.13)}
  .aidbase-mobile-nav__recruit:active,.aidbase-mobile-nav__contact:active{transform:scale(.985)}
  .aidbase-mobile-nav__recruit:hover,.aidbase-mobile-nav__contact:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(26,104,151,.24)}
  .aidbase-mobile-nav__recruit>span:last-child,.aidbase-mobile-nav__contact>span:last-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);font-size:16px;z-index:1}
  .aidbase-mobile-nav__recruit span:first-child{z-index:1}
  .aidbase-mobile-nav__recruit small{color:rgba(255,255,255,.76)}
  .aidbase-mobile-nav__contact{grid-template-columns:34px 1fr 32px;font-size:14px}
  .aidbase-mobile-nav__contact .aidbase-mobile-nav__icon{width:34px;height:34px;background:rgba(255,255,255,.15);z-index:1}
  .aidbase-mobile-nav__contact>span:nth-child(2){z-index:1}
}

/* === alpha36 Aid Navigator: branded service panels === */
@media(max-width:980px){
  .aidbase-mobile-nav__scroll{padding-top:14px}
  .aidbase-mobile-nav__welcome{position:relative;margin:0 0 18px;padding:18px 18px 17px;border:1px solid rgba(33,130,214,.10);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,251,255,.92));box-shadow:0 14px 36px rgba(31,73,112,.07);overflow:hidden}
  .aidbase-mobile-nav__welcome:after{content:"";position:absolute;right:-34px;top:-46px;width:132px;height:132px;border-radius:50%;background:var(--aidbase-brand-gradient-soft);filter:blur(1px)}
  .aidbase-mobile-nav__welcome-kicker{position:relative;z-index:1;display:block;margin-bottom:7px;color:var(--aidbase-brand-primary);font-size:9px;font-weight:900;letter-spacing:.18em}
  .aidbase-mobile-nav__welcome strong{position:relative;z-index:1;display:block;font-size:20px;line-height:1.42;letter-spacing:-.035em}
  .aidbase-mobile-nav__welcome p{position:relative;z-index:1;max-width:82%;margin:7px 0 0;color:#667488;font-size:11px;font-weight:600;line-height:1.7}
  .aidbase-mobile-nav__home{min-height:48px;padding-bottom:12px;font-size:14px}
  .aidbase-mobile-nav__section{margin-top:20px}
  .aidbase-mobile-nav__heading span{display:flex;align-items:center;gap:8px}
  .aidbase-mobile-nav__heading span i{font-style:normal;color:var(--aidbase-brand-primary);font-size:8px;font-weight:900;letter-spacing:.14em}
  .aidbase-mobile-nav__grid{grid-template-columns:1fr 1fr;gap:12px}
  .aidbase-mobile-nav__grid>a{display:grid;grid-template-columns:40px 1fr 24px;grid-template-rows:1fr;align-items:center;min-height:154px;padding:17px 14px 15px;border-radius:25px;overflow:hidden;isolation:isolate}
  .aidbase-mobile-nav__service-art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
  .aidbase-mobile-nav__service-art:before{content:"";position:absolute;right:-25px;top:-35px;width:112px;height:112px;border-radius:38% 62% 55% 45%/44% 46% 54% 56%;background:linear-gradient(145deg,color-mix(in srgb,var(--menu-accent) 18%,transparent),color-mix(in srgb,var(--menu-accent-2) 13%,transparent));transform:rotate(18deg)}
  .aidbase-mobile-nav__service-art:after{content:"";position:absolute;left:-28px;bottom:-46px;width:106px;height:106px;border-radius:50%;border:18px solid color-mix(in srgb,var(--menu-accent) 7%,transparent)}
  .aidbase-mobile-nav__service-art span{position:absolute;right:14px;bottom:14px;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--menu-accent-2) 17%,transparent);box-shadow:-28px -18px 0 -8px color-mix(in srgb,var(--menu-accent) 16%,transparent)}
  .aidbase-mobile-nav__service-icon{grid-column:1;grid-row:1;align-self:start;width:40px;height:40px;border-radius:14px;z-index:1}
  .aidbase-mobile-nav__service-copy{grid-column:1/4;grid-row:1;align-self:end;display:flex;flex-direction:column;min-width:0;padding-top:50px;z-index:1}
  .aidbase-mobile-nav__service-copy em{margin-bottom:5px;color:var(--menu-accent);font-size:7px;font-style:normal;font-weight:900;letter-spacing:.14em}
  .aidbase-mobile-nav__service-copy strong{font-size:15px;line-height:1.25;letter-spacing:-.025em}
  .aidbase-mobile-nav__service-copy small{display:block;min-height:30px;margin-top:6px;color:#5d6979;font-size:10px;font-weight:650;line-height:1.5}
  .aidbase-mobile-nav__service-copy b{display:inline-flex;align-self:flex-start;margin-top:9px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--menu-accent) 13%,transparent);color:var(--menu-accent);font-size:8px;font-weight:850;line-height:1}
  .aidbase-mobile-nav__service-arrow{grid-column:3;grid-row:1;align-self:start;justify-self:end;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 6px 16px rgba(34,73,108,.08);font-size:13px}
  .aidbase-mobile-nav__grid>a:hover .aidbase-mobile-nav__service-art:before{transform:rotate(25deg) scale(1.08)}
  .aidbase-mobile-nav__service-art:before{transition:transform .35s ease}
  .aidbase-mobile-nav__links{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-top:0}
  .aidbase-mobile-nav__links a{min-height:58px;padding:0 13px;border:1px solid #e7edf3;border-radius:17px;background:rgba(255,255,255,.78);box-shadow:0 8px 22px rgba(29,64,96,.045);font-size:12px}
  .aidbase-mobile-nav__links a span:first-child{display:flex;align-items:center;gap:8px}
  .aidbase-mobile-nav__links a i{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#eef6ff;color:var(--aidbase-brand-primary);font-size:8px;font-style:normal;font-weight:900}
  .aidbase-mobile-nav__links a:last-child{grid-column:1/-1}
  .aidbase-mobile-nav__recruit,.aidbase-mobile-nav__contact{border-radius:24px}
}
@media(max-width:430px){
  .aidbase-mobile-nav__grid{gap:10px}
  .aidbase-mobile-nav__grid>a{min-height:148px;padding-inline:12px}
  .aidbase-mobile-nav__service-copy strong{font-size:14px}
  .aidbase-mobile-nav__service-copy small{font-size:9px}
  .aidbase-mobile-nav__welcome strong{font-size:18px}
}
@media(max-width:350px){
  .aidbase-mobile-nav__grid{grid-template-columns:1fr}
  .aidbase-mobile-nav__grid>a{min-height:130px}
}
