@charset "UTF-8";
/* OLIOA 共通（サービスページ用）：配色・ヘッダー・フッター・ボタン。クラス名は o から始まる */
:root{
  --shiro:#FFFFFF; --asa:#FFFBF2; --hi:#F5B82E; --sora:#3BA7E5; --sora-bg:#EAF5FC; --fukasora:#0F6FAE; --kon:#1B2A47; --sub:#55657D; --line:#DCE6EE;
  --mincho:'OLIOA Mincho','Shippori Mincho B1','Hiragino Mincho ProN','Yu Mincho','YuMincho','Noto Serif JP',serif;
  --sans:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI','Yu Gothic','Meiryo','Noto Sans JP',system-ui,sans-serif;
  --num:'Inter Tight','Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic UI','Meiryo',sans-serif;
}
@font-face{font-family:'Inter Tight';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-tight-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'OLIOA Mincho';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/svc-mincho.woff2) format('woff2');unicode-range:U+20-22,U+25-29,U+2B-3B,U+3F,U+41-5A,U+61-7A,U+B0,U+2014,U+2026,U+3000-3002,U+300C-300D,U+301C,U+3041-3096,U+30A1-30FC,U+4E00,U+4E07,U+4E09,U+4E86,U+4EBA,U+4EE3,U+4EE5,U+4EFB,U+4F1A,U+4FE1,U+4FEE,U+5065,U+5099,U+5143,U+5168,U+5206-5207,U+521D,U+5225,U+524D,U+52D5,U+5354,U+53D6,U+5408,U+540D,U+542B,U+544A,U+5473,U+5546,U+554F,U+56DE,U+5730,U+57DF,U+57FA,U+5831,U+5927,U+5B63,U+5B88,U+5B8C,U+5B9A,U+5BA2,U+5C02,U+5C4A,U+5E38,U+5E74,U+5E97,U+5F15,U+5F35,U+5F62,U+5FA9,U+601D,U+610F,U+623B,U+6255,U+6291,U+63A2,U+63DB,U+652F,U+6574,U+6599,U+65AD,U+65B0,U+65B9,U+65E5,U+65E9,U+6642,U+66F4,U+66F8,U+671F,U+675F,U+691C,U+69CB,U+6B63,U+6BB5,U+6BCE,U+6C17,U+6CD5,U+6D41,U+6E96,U+70B9,U+7121,U+7279,U+7406,U+7528,U+7533,U+753B,U+7570,U+76EE,U+76F4,U+76F8,U+77E5,U+78BA,U+7B54,U+7BA1,U+7BC0,U+7D04,U+7D44,U+7D61,U+805E,U+81EA,U+8449,U+8868,U+898B,U+89E6,U+8A00,U+8A08,U+8A18,U+8A2D,U+8A3A,U+8A71,U+8A8D,U+8AC7,U+8CEA,U+8D77,U+8EAB,U+8F09,U+8FBC,U+9001,U+9023,U+9078,U+91D1,U+9593,U+964D,U+96C6,U+9762,U+FF01,U+FF08-FF09,U+FF0B,U+FF0F,U+FF1F}
@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/olioa-icons.woff2) format('woff2')}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
/* ---------- 基本 ---------- */
html{scroll-padding-top:84px}
body{background:var(--shiro);color:var(--kon);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.95;letter-spacing:.03em}
::selection{background:var(--hi);color:var(--kon)}
a{color:inherit}
:focus-visible{outline:3px solid var(--sora);outline-offset:3px;border-radius:4px}
.oskip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--kon);color:#fff;padding:10px 16px;border-radius:0 0 8px 0}
.oskip:focus{left:0}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- ボタン ---------- */
.obtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:999px;
  font-family:var(--sans);font-size:14.5px;font-weight:700;letter-spacing:.08em;line-height:1.2;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;cursor:pointer;border:0}
.obtn-sun{background:var(--hi);color:var(--kon);box-shadow:0 6px 18px rgba(245,184,46,.34)}
.obtn-sun:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(245,184,46,.42)}
.obtn-line{background:rgba(255,255,255,.7);color:var(--kon);box-shadow:inset 0 0 0 1.5px rgba(27,42,71,.22)}
.obtn-line:hover{background:#fff;box-shadow:inset 0 0 0 1.5px var(--fukasora)}
.oarrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:var(--fukasora);letter-spacing:.06em;border-bottom:1.5px solid rgba(15,111,174,.3);padding-bottom:3px;transition:border-color .25s,gap .25s}
.oarrow::after{content:"→";font-family:var(--num)}
.oarrow:hover{border-color:var(--fukasora);gap:12px}

/* ---------- 共通ヘッダー ---------- */
.ohd{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;gap:28px;height:72px;padding:0 clamp(18px,4vw,44px);
  background:rgba(255,255,255,.0);transition:background .3s ease,box-shadow .3s ease,height .3s ease}
.ohd.on,.ohd.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.ohd-logo{display:flex;align-items:center;gap:10px;margin-right:auto}
.ohd-logo img{display:block;height:36px;width:36px}
.ohd-logo img.w{height:17px;width:auto}
.ohd-nav{display:none;align-items:center;gap:6px;font-size:14px;font-weight:500;letter-spacing:.06em}
.ohd-nav>a,.ohd-dd>button{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 13px;border-radius:999px;background:none;border:0;color:var(--kon);font:inherit;letter-spacing:inherit;cursor:pointer;transition:background .2s}
.ohd-nav>a:hover,.ohd-dd>button:hover,.ohd-dd:focus-within>button{background:rgba(59,167,229,.12)}
.ohd-nav>a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--hi);border-radius:0}
.ohd-dd{position:relative}
.ohd-dd>button::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.ohd-panel{position:absolute;top:calc(100% + 6px);left:-16px;width:340px;padding:10px;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(27,42,71,.16),0 0 0 1px var(--line);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.ohd-dd:hover .ohd-panel,.ohd-dd:focus-within .ohd-panel,.ohd-dd.open .ohd-panel{opacity:1;visibility:visible;transform:none}
.ohd-panel a{display:block;padding:10px 14px;border-radius:12px;line-height:1.5}
.ohd-panel a:hover{background:var(--sora-bg)}
.ohd-panel b{display:block;font-size:14px;font-weight:700}
.ohd-panel span{display:block;font-size:12px;color:var(--sub);letter-spacing:.02em}
.ohd-panel hr{border:0;border-top:1px solid var(--line);margin:6px 8px}
.ohd-cta{display:none;min-height:44px;padding:10px 22px}
.ohd-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:46px;height:46px;padding:0 11px;border:0;border-radius:12px;background:rgba(255,255,255,.75);cursor:pointer}
.ohd-burger span{display:block;height:2px;border-radius:2px;background:var(--kon);transition:transform .3s,opacity .3s}
.ohd-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.ohd-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ohd-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(min-width:1000px){.ohd-nav{display:flex}.ohd-cta{display:inline-flex}.ohd-burger{display:none}}

/* スマホメニュー */
.omm{position:fixed;inset:72px 0 0 0;z-index:890;background:#fff;overflow-y:auto;padding:18px clamp(18px,5vw,40px) 48px;display:none}
.omm.open{display:block}
.omm h2{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--fukasora);margin:22px 0 6px}
.omm a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);font-size:16px;font-weight:700;letter-spacing:.04em}
.omm a small{font-size:12px;font-weight:400;color:var(--sub)}
.omm .obtn{margin-top:26px;width:100%;border-bottom:0;justify-content:center}
@media(min-width:1000px){.omm,.omm.open{display:none}}

/* ---------- 共通フッター ---------- */
.oft{background:linear-gradient(180deg,#F4F9FD 0%,#EAF4FB 100%);padding:clamp(56px,8vw,88px) clamp(20px,5vw,60px) 28px;color:var(--kon)}
.oft-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:36px}
.oft-brand .ohd-logo{margin:0 0 16px}
.oft-tag{font-family:var(--mincho);font-weight:600;font-size:19px;letter-spacing:.08em;line-height:1.6}
.oft-org{margin-top:10px;font-size:13px;line-height:1.9;color:var(--sub)}
.oft-col h2{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--fukasora);margin-bottom:10px}
.oft-col a{display:block;padding:6px 0;font-size:14px;letter-spacing:.04em;line-height:1.6}
.oft-col a:hover{color:var(--fukasora)}
.oft-copy{max-width:1120px;margin:44px auto 0;padding-top:20px;border-top:1px solid rgba(27,42,71,.1);font-family:var(--num);font-size:12px;letter-spacing:.08em;color:var(--sub);display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between}
@media(min-width:760px){.oft-in{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}}


/* ---- サービスページ共通の合わせ込み ---- */
body{padding-top:72px}
h1,h2{font-family:var(--mincho);font-weight:600!important;letter-spacing:.04em!important}
.olocal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;padding:10px clamp(18px,4vw,44px);background:#F4F9FD;border-bottom:1px solid #DCE6EE;font-size:13.5px;font-weight:700;line-height:1.5}
.olocal b{margin-right:auto;font-family:var(--mincho);font-size:15px;letter-spacing:.04em;color:var(--kon)}
.olocal a{padding:6px 2px;color:var(--fukasora);text-decoration:none}
.olocal a.obtn{min-height:38px;padding:8px 18px;color:var(--kon);font-size:13.5px}
@media(max-width:760px){.olocal{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:18px;scrollbar-width:none}.olocal::-webkit-scrollbar{display:none}.olocal b{margin-right:4px}}
h1,h2,h3{word-break:auto-phrase;text-wrap:balance}
.hero-media{position:relative;aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#CFEAFB 0%,#EAF6FD 42%,#FFFDF6 72%,#FFEFC4 100%);box-shadow:0 24px 60px rgba(27,42,71,.12)}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.hero-media video{opacity:0;transition:opacity .8s ease}
.hero-media video.on{opacity:1}
.gnote{max-width:960px;margin:0 auto;padding:28px clamp(18px,4vw,44px) 40px;font-size:12px;line-height:1.9;color:#62718A}
.gnote a{color:var(--fukasora);text-decoration:underline}
.ohd a,.omm a,.oft a{text-decoration:none}
