body{
  font-family:"游ゴシック Medium",YuGothic,YuGothicM,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Noto Sans Japanese","メイリオ","ＭＳ Ｐゴシック","Helvetica",arial,sans-serif;
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  height:auto;
}
/* common.css が html の基準フォントサイズを62.5%(=10px)にしているため、
   本文側だけ明示的に16px基準へ戻す。
   共通ヘッダー・フッター（#js--header / #js--footer）は <main> の外にあるため
   対象にならず、本番の見た目がそのまま保たれる。
   .adps2 は <main> に付けたラッパークラス。直下のタグの種類に依存させないため、
   セレクタは要素名ではなくこのクラスに当てている。
   img / a / ul は :where() で囲み、元の要素セレクタと同じ詳細度(0,0,1)のまま
   当たる範囲だけを限定している（そのままクラスを前置すると詳細度が上がり、
   .subnav-btn などの色指定を打ち消してしまうため）。 */
.adps2{font-size:16px;}
:where(.adps2) img{max-width:100%; display:block;}
:where(.adps2) a{color:inherit; text-decoration:none;}
:where(.adps2) ul{list-style:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.section-head{max-width:640px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-size:clamp(26px,3.4vw,40px); font-weight:900; letter-spacing:.01em; margin:16px 0 14px;}
.section-head p{color:var(--ink-soft); font-size:15.5px; line-height:2;}
/* 本文中のテキストリンク。:where(.adps2) a の color:inherit / text-decoration:none を上書きする */
.text-link{color:var(--primary); font-weight:700; text-decoration:underline; text-underline-offset:.25em; transition:color .2s;}
.text-link:hover{color:var(--primary-2); text-decoration:none;}
.section-pad{padding:60px 0;}
.grad-text{
  background:linear-gradient(120deg,var(--accent),var(--primary) 65%,var(--primary-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}
.reveal.is-in{opacity:1; transform:translateY(0);}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; font-size:15px; padding:16px 30px; border-radius:99px;
  cursor:pointer; border:none; white-space:nowrap; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary{
  color:#fff; background:linear-gradient(120deg,var(--accent),var(--primary) 75%);
  box-shadow:0 10px 24px rgba(52,87,232,.32);
}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 14px 28px rgba(52,87,232,.4);}
.btn-outline{
  color:var(--primary); background:#fff; border:1.5px solid rgba(52,87,232,.3);
}
.btn-outline:hover{border-color:var(--primary); transform:translateY(-3px); box-shadow:var(--shadow-sm);}
.btn-sm{padding:11px 20px; font-size:13.5px;}
.btn svg{width:16px; height:16px; flex-shrink:0;}

.hero, .page-hero{
  position:relative; background:linear-gradient(155deg,#eef4ff 0%,#e6f1ff 45%,#dcecff 100%); color:var(--ink); overflow:hidden;
  padding:28px 0 36px;
}
.hero::before, .page-hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(50% 60% at 8% 0%, rgba(52,87,232,.24), transparent 60%),
    radial-gradient(45% 55% at 100% 12%, rgba(77,208,240,.32), transparent 60%),
    radial-gradient(50% 60% at 80% 95%, rgba(124,58,237,.14), transparent 60%),
    radial-gradient(40% 45% at 15% 100%, rgba(28,58,168,.16), transparent 60%);
  filter:blur(4px);
  pointer-events:none;
}
.hero::after, .page-hero::after{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:linear-gradient(rgba(15,24,38,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,24,38,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 30%, black, transparent 75%);
}
.hero .wrap, .page-hero .wrap{position:relative; z-index:2;}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;}
.hero-visual{position:relative;}
.hero-visual::before{
  content:""; position:absolute; inset:-14% -8%; z-index:-1;
  background:radial-gradient(circle at 50% 45%, rgba(77,208,240,.45), rgba(52,87,232,.18) 45%, transparent 72%);
  filter:blur(50px); pointer-events:none;
}
.hero-logo-wrap{display:inline-flex; flex-direction:row; align-items:center; gap:14px; margin:24px 0 24px;}
.hero-logo-furigana{font-size:14px; color:var(--ink-soft); letter-spacing:.28em;}
.hero-logo-img{height:112px; width:auto; display:block;}
.hero-copy h1,
.hero-copy .hero-title{
  font-size:clamp(28px,3.6vw,42px); font-weight:900; line-height:1.36; letter-spacing:.01em; margin:0 0 16px;
}
.hero-btns{display:flex; gap:14px; flex-wrap:wrap;}
.hero-stats{display:flex; flex-wrap:nowrap; gap:0;}
.hero-stats .stat{flex:1; padding:0 18px;}
.hero-stats .stat:first-child{padding-left:0;}
.hero-stats .stat:last-child{padding-right:0;}
.hero-stats .stat:not(:last-child){border-right:1px solid var(--line);}
.hero-stats .stat b{
  font-family:"Inter",sans-serif; font-size:26px; font-weight:800; display:block;
  background:linear-gradient(120deg,var(--primary-2),var(--primary)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-stats .stat span{font-size:11.5px; color:var(--ink-soft); letter-spacing:.03em;}

.hero-lead{font-size:15px; color:var(--ink-soft); max-width:520px; margin:0 0 32px; line-height:2;}
.hero-stats-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
.hero-stats-card--wide{
  margin-top:48px; padding:28px 40px; display:flex; align-items:center; gap:32px; flex-wrap:wrap;
}
.hero-stats-card--wide .hero-stats{flex:1 1 auto;}
.hero-stats-sub{display:flex; flex-direction:column; gap:4px; padding-left:32px; border-left:1px solid var(--line); max-width:220px;}
.hero-stats-sub b{font-size:18px; font-weight:800; color:var(--ink); line-height:1.4;}
.hero-stats-sub b small{font-size:13px; font-weight:700; color:var(--ink);}
.hero-stats-sub span{font-size:11.5px; color:var(--ink-soft); line-height:1.5;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.hero-visual-img{
  width:100%; filter:drop-shadow(0 30px 60px rgba(15,24,38,.16));
  animation:float 6s ease-in-out infinite;
}
.hero-banner{display:block; margin-top:24px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); transition:transform .2s ease, box-shadow .2s ease;}
.hero-banner img{width:100%; height:auto; display:block;}
.video-embed{max-width:960px; margin:0 auto; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); background:#000;}
.video-embed iframe{display:block; width:100%; height:100%; border:0;}
.hero-banner:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(15,24,38,.2);}

.subnav{
  background:rgba(255,255,255,.92); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:16px 0; border-bottom:1px solid var(--line);
  position:sticky; top:var(--header-h); z-index:40; transition:box-shadow .25s ease;
}
.subnav-inner{
  display:flex; align-items:center; gap:10px; flex-wrap:nowrap;
  overflow-x:auto; scrollbar-width:none;
  padding:16px 2px 6px;
  justify-content: center;
}
.subnav-inner::-webkit-scrollbar{display:none;}
.subnav-bar{display:flex; gap:6px; flex-wrap:nowrap; flex-shrink:0;}
.subnav-cta{display:flex; gap:8px; flex-shrink:0; white-space:nowrap;}
.subnav-cta .btn{height:44px; padding:0 22px; font-size:14px; font-weight:800; box-shadow:none;}
.subnav-cta .btn:hover{box-shadow:none;}
.subnav-btn{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  width:110px; height:44px; padding:0 4px; border-radius:14px; border:1.5px solid rgba(52,87,232,.3); background:#fff;
  color:var(--ink-soft); transition:all .25s ease;
  box-shadow:0 2px 8px rgba(52,87,232,.08);
  white-space:nowrap; flex-shrink:0;
}
.subnav-btn .snb-pre{font-size:9px; font-weight:600; letter-spacing:.06em; line-height:1.2; opacity:.7;}
.subnav-btn .snb-main{font-size:14px; font-weight:800; line-height:1.2;}
.subnav-btn:hover{border-color:rgba(52,87,232,.6); color:var(--primary); background:rgba(52,87,232,.06); transform:translateY(-2px); box-shadow:0 6px 16px rgba(52,87,232,.18);}
.subnav-btn.active{color:#fff; background:linear-gradient(120deg,var(--accent),var(--primary) 75%); border-color:transparent; box-shadow:none;}
.subnav-btn.active .snb-pre{opacity:.85;}
.subnav-btn.active:hover{transform:none;}

.trust{background:#fff; border-bottom:1px solid var(--line); padding:20px 0; overflow:hidden;}
.trust-marquee{
  width:100%; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.trust-track{--trust-h:40px; display:flex; align-items:center; gap:52px; width:max-content; animation:trust-scroll 170s linear infinite;}
.trust-track img{height:var(--trust-h); width:auto; object-fit:contain; transition:transform .3s ease; flex-shrink:0;}
.trust-track img:hover{transform:scale(1.08);}
.trust-marquee:hover .trust-track{animation-play-state:paused;}
@keyframes trust-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.concern-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:36px;}
.concern-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:24px;
  display:flex; align-items:center; box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
}
a.concern-card{color:inherit; text-decoration:none;}
a.concern-card[href]:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.concern-text{font-size:14.5px; font-weight:700; line-height:1.6;}
.concern-arrow{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; margin-top:6px;}
.concern-arrow > span{
  display:block; width:100%; box-sizing:border-box; text-align:center;
  background:linear-gradient(120deg,var(--accent),var(--primary) 75%); color:#fff;
  font-weight:900; font-size:24px; letter-spacing:.01em; line-height:1.4;
  padding:18px 36px; border-radius:99px;
}
.concern-arrow svg{width:26px; height:26px; color:var(--primary); animation:bounce-down 1.6s ease-in-out infinite;}
@keyframes bounce-down{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

.about-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center;}
.about-copy h3{font-size:clamp(22px,2.6vw,30px); font-weight:800; line-height:1.5; margin:14px 0 18px;}
.about-copy p{color:var(--ink-soft); font-size:15px; line-height:2;}
.stat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:34px;}
.stat-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); padding:20px 16px; text-align:center; box-shadow:var(--shadow-sm);}
.stat-card b{font-family:"Inter",sans-serif; font-size:26px; font-weight:800; background:linear-gradient(120deg,var(--primary),var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; display:block;}
.stat-card span{font-size:12px; color:var(--ink-soft);}
.about-visual{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.about-visual .tile{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
}
.about-visual a.tile{display:block; color:inherit; text-decoration:none;}
.about-visual a.tile[href]:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.tile-photo{
  height:150px; background:linear-gradient(135deg,rgba(52,87,232,.08),rgba(77,208,240,.1));
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.tile-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.tile-body{padding:20px 22px 22px;}
.tile h4{font-size:15px; font-weight:700; margin-bottom:6px;}
.tile p{font-size:13px; color:var(--ink-soft); line-height:1.9;}

.modules-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:20px 32px 32px; box-shadow:var(--shadow-sm);
}
.tabs-bar{
  display:flex; justify-content:center; overflow-x:auto; scrollbar-width:none;
  margin:0 -32px 28px; padding:0 32px; border-bottom:1px solid var(--line);
}
.tabs-bar::-webkit-scrollbar{display:none;}
.tab-btn{
  position:relative; flex:0 0 auto; padding:16px 28px 14px; border:0; background:none; border-radius:0;
  font-weight:700; font-size:15px; color:var(--ink-soft); cursor:pointer; white-space:nowrap;
  transition:color .2s ease, background-color .2s ease;
}
.tab-btn::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--accent),var(--primary)); transform:scaleX(0); transition:transform .25s ease;
}
.tab-btn + .tab-btn::before{
  content:""; position:absolute; left:0; top:50%; width:1px; height:20px; transform:translateY(-50%);
  background:var(--line);
}
.tab-btn:hover{color:var(--primary); background:rgba(52,87,232,.04);}
.tab-btn:focus-visible{outline:2px solid var(--primary); outline-offset:-2px;}
.tab-btn.active{color:var(--primary);}
.tab-btn.active::after{transform:scaleX(1);}
@media (max-width:640px){
  .tabs-bar{justify-content:flex-start; margin-bottom:24px;}
  .tab-btn{padding:14px 16px 12px; font-size:14px;}
}
.tab-panel{display:none;}
.tab-panel.active{display:block; animation:fadeUp .5s ease;}
@keyframes fadeUp{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}
.module-card{
  display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;
}
.module-card.is-4-6{grid-template-columns:4fr 6fr; align-items:start;}
.module-card.is-4-6 .module-visual{min-height:292px;}
.module-card.is-4-6 .module-btns{justify-content:center;}

.module-frame{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:32px; box-shadow:var(--shadow-sm);
}
.module-frame .func-frame.is-nested{
  background:none; border:none; box-shadow:none; border-radius:0; padding:0;
  margin-top:32px; padding-top:32px; border-top:1px solid var(--line);
}
.module-copy{min-width:0;}
.module-copy .m-label{color:var(--primary); font-weight:800; font-size:13px; letter-spacing:.06em;}
.module-copy h3{font-size:24px; font-weight:800; margin:10px 0 14px;}
.module-copy p{color:var(--ink-soft); font-size:14.5px; margin-bottom:22px; line-height:1.9;}
.feature-list{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:26px;}
.feature-list.is-single-col{grid-template-columns:1fr;}
.feature-list li{
  display:flex; align-items:center; gap:9px; font-size:13.5px; font-weight:600;
  background:var(--bg-soft); border-radius:10px; padding:10px 12px;
}
.feature-list li .chk{
  width:18px; height:18px; border-radius:6px; background:linear-gradient(135deg,var(--accent),var(--primary));
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.feature-list li .chk svg{width:11px; height:11px; stroke:#fff; fill:none; stroke-width:3;}
.new-badge{
  display:inline-block; margin-left:8px; padding:2px 8px; border-radius:99px;
  background:#e6342b;
  color:#fff; font-size:10px; font-weight:800; letter-spacing:.04em; line-height:1.6; vertical-align:middle;
}
.module-btns{display:flex; gap:12px; flex-wrap:wrap;}
.module-visual{
  background:linear-gradient(155deg,var(--navy),var(--navy-2)); border-radius:var(--radius-md);
  min-height:280px; min-width:0; position:relative; overflow:hidden;
}
.module-visual .module-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left center;}

.shigaku{
  grid-column:1 / -1;
  min-width:0;
  margin-top:8px; background:linear-gradient(135deg,rgba(52,87,232,.05),rgba(77,208,240,.07));
  border:1px solid rgba(52,87,232,.14); border-radius:var(--radius-md); padding:22px 28px;
  box-shadow:var(--shadow-sm);
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
}
.func-frame + .shigaku{margin-top:36px;}
.shigaku-head{display:flex; align-items:center; gap:12px; flex-shrink:0; min-width:0;}
.shigaku h4{font-size:15px; font-weight:800; color:var(--ink);}
.shigaku-tags{display:flex; gap:8px; flex-wrap:wrap; flex:1 1 auto;}
.shigaku-tags span{
  background:#fff; border:1px solid rgba(52,87,232,.16); color:var(--ink-soft);
  font-size:12.5px; font-weight:700; padding:7px 14px; border-radius:99px;
  box-shadow:0 2px 6px rgba(52,87,232,.07);
  white-space:nowrap;
}
.shigaku-tags.is-solid span{background:var(--bg-soft); border-color:rgba(52,87,232,.2); color:var(--primary);}

.flow-light{background:#fff; position:relative;}
/* 上部の3段シェブロン（薄→濃） */
.concern-arrow::before{
  content:""; flex-shrink:0; margin:4px 0 14px;
  width:100px; height:92px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92' fill='none' stroke-width='10.5' stroke-linejoin='miter'%3E%3Cpolyline points='6,6 50,32 94,6' stroke='%23c3c8f7'/%3E%3Cpolyline points='6,33 50,59 94,33' stroke='%238f9bf0'/%3E%3Cpolyline points='6,60 50,86 94,60' stroke='%234a5de8'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* 矢印なし・.wrap 幅いっぱいの帯（見出しブロック内で使用） */
.concern-arrow--full::before{display:none;}
.section-head .concern-arrow--full{
  width:min(calc(100vw - 48px), calc(var(--maxw) - 48px));
  margin:32px 0 0 50%; translate:-50% 0;
}
.concern-arrow.concern-arrow--full > span{font-size:20px;}
@media (max-width:640px){
  .concern-arrow.concern-arrow--full > span{font-size:16px;}
}
.flow-track{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.flow-card{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:26px 20px 22px; position:relative; display:flex; flex-direction:column; gap:16px;
}
.flow-card::after{
  content:"›"; position:absolute; top:38px; right:-24px;
  font-size:28px; font-weight:900; color:var(--primary); line-height:1;
}
.flow-track .flow-card:last-child::after{display:none;}
.flow-pill{
  align-self:flex-start; background:linear-gradient(120deg,var(--accent),var(--primary));
  color:#fff; font-weight:800; font-size:13px; padding:7px 16px; border-radius:99px;
}
.flow-photo{
  width:100%; height:168px; border-radius:var(--radius-sm); overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.flow-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.flow-desc{font-size:12.5px; color:var(--ink-soft); border-top:1px dashed var(--line); padding-top:14px; margin:0; line-height:1.9;}
.flow-badge{
  position:absolute; top:-20px; right:-8px; width:82px; height:82px; border-radius:50%;
  background:conic-gradient(from 180deg, var(--accent), var(--primary), var(--primary-2), var(--accent));
  padding:4px; display:flex; align-items:center; justify-content:center;
  transform:rotate(-10deg); box-shadow:0 16px 32px rgba(52,87,232,.4), 0 0 0 1px rgba(255,255,255,.6) inset;
  z-index:2; animation:badge-pulse 3s ease-in-out infinite;
}
.flow-badge-inner{
  width:100%; height:100%; border-radius:50%; background:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  font-family:"Inter",sans-serif; box-shadow:inset 0 2px 6px rgba(15,24,38,.06);
}
.flow-badge-inner .star{font-size:11px; line-height:1; margin-bottom:1px; filter:drop-shadow(0 1px 1px rgba(245,158,11,.4));}
.flow-badge-inner span{display:block; font-size:8.5px; font-weight:700; color:var(--ink-soft); letter-spacing:.02em;}
.flow-badge-inner b{
  font-size:19px; font-weight:900; line-height:1.1;
  background:linear-gradient(120deg,var(--primary-2),var(--primary),var(--accent));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
@keyframes badge-pulse{0%,100%{transform:rotate(-10deg) scale(1);}50%{transform:rotate(-10deg) scale(1.06);}}

.support-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:48px;}
.support-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
  display:flex; flex-direction:column; gap:14px;
}
a.support-card{color:inherit; text-decoration:none;}
a.support-card[href]:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.support-card h3{font-size:17px; font-weight:800; color:var(--ink);}
.support-card > p{font-size:13.5px; color:var(--ink-soft); line-height:1.9;}
.support-points{display:flex; flex-direction:column; gap:9px;}
.support-points li{display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700; color:var(--ink);}
.support-points li .chk{
  width:18px; height:18px; border-radius:6px; background:linear-gradient(135deg,var(--accent),var(--primary));
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.support-points li .chk svg{width:11px; height:11px; stroke:#fff; fill:none; stroke-width:3;}
.support-quote{
  margin-top:auto; background:var(--bg-soft); border-radius:var(--radius-sm); padding:16px 18px;
  border-left:3px solid var(--primary);
}
.support-quote p{font-size:12.5px; color:var(--ink-soft); line-height:1.8;}
.support-quote p + p{margin-top:6px;}

/* サポート範囲の氷山図（テキストエリア＋画像エリア） */
.support-iceberg{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:40px; box-shadow:var(--shadow-sm); margin-bottom:48px;
}
/* 全体：テキスト（左）＋氷山図（右）の2カラム */
.iceberg-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center;}
/* テキストエリア（左：2ボックス縦積み。お客様=上／当社=下で氷山の水面上下に対応） */
.iceberg-boxes{display:flex; flex-direction:column; gap:20px; min-width:0;}
.iceberg-box{border-radius:var(--radius-md); padding:22px 24px; border:1px solid var(--line); min-width:0; text-align:center;}
.iceberg-box.is-visible{background:var(--card);}
.iceberg-box h3{font-size:16px; font-weight:800; color:var(--ink); margin-bottom:18px;}
.iceberg-box ul{
  display:grid; grid-template-columns:1fr 1fr; gap:11px 20px; text-align:left;
}
.iceberg-box li{
  position:relative; padding-left:18px; font-size:13px; font-weight:600;
  color:var(--ink-soft); line-height:1.8;
}
.iceberg-box li::before{
  content:""; position:absolute; left:0; top:8px; width:7px; height:7px;
  border-radius:50%; background:var(--primary);
}
/* 画像エリア */
.iceberg-visual{
  border-radius:var(--radius-md); overflow:hidden; min-height:280px; background:#eaf5ff;
  display:flex; align-items:center; justify-content:center;
}
.iceberg-visual img{width:100%; height:auto; display:block;}

.security-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:28px;}
.security-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
  display:flex; flex-direction:column; gap:14px;
}
a.security-card{color:inherit; text-decoration:none;}
a.security-card[href]:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.security-card h3{font-size:15.5px; font-weight:800; color:var(--ink);}
.security-card p{font-size:13px; color:var(--ink-soft); line-height:1.85;}

.efficiency-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.efficiency-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
  display:flex; flex-direction:column; gap:14px;
}
a.efficiency-card{color:inherit; text-decoration:none;}
a.efficiency-card[href]:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.efficiency-card h3{font-size:17px; font-weight:800; color:var(--ink);}
.efficiency-card > p{font-size:13.5px; color:var(--ink-soft); line-height:1.9;}

/* カード上部に配置する画像スロット（support-card/security-card/efficiency-cardで共通利用） */
.card-photo{
  width:100%; height:150px; border-radius:var(--radius-md); overflow:hidden;
  background:linear-gradient(135deg,rgba(52,87,232,.08),rgba(77,208,240,.12));
  display:flex; align-items:center; justify-content:center;
}
.card-photo img{width:100%; height:100%; object-fit:cover; display:block;}

.case-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.case-card{
  display:block; color:inherit; text-decoration:none;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease; overflow:hidden;
}
.case-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.case-card.has-photo{padding:0;}
.case-photo{position:relative; height:180px; background:var(--bg-soft);}
.case-photo > img{width:100%; height:100%; object-fit:cover; object-position:center top; display:block;}
.case-logo-badge{
  position:absolute; left:24px; bottom:-32px; width:84px; height:84px; border-radius:18px;
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-md);
  display:flex; align-items:center; justify-content:center; padding:12px;
}
.case-logo-badge img{width:100%; height:100%; object-fit:contain;}
.case-card-body{padding:28px;}
.case-card.has-photo .case-card-body{padding-top:50px;}
.case-tagrow{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.case-industry{font-size:11.5px; font-weight:700; color:var(--primary); background:rgba(52,87,232,.08); padding:6px 12px; border-radius:99px;}
.case-card h3{font-size:16.5px; font-weight:800; line-height:1.5; margin-bottom:14px;}
.case-meta{display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid var(--line);}
.case-meta .co{font-weight:700; font-size:13.5px; line-height:1.6;}
.case-meta .info{font-size:11.5px; color:var(--ink-faint); margin-top:6px; line-height:1.7;}
.case-meta span.link{font-size:12.5px; font-weight:700; color:var(--primary); white-space:nowrap;}

.osusume-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.osusume-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease; display:flex; flex-direction:column; gap:20px;
}
.osusume-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.osusume-head{display:flex; align-items:center; gap:16px;}
.osusume-ico{width:46px; height:46px; flex-shrink:0;}
.osusume-head h3{font-size:17px; font-weight:800;}
.osusume-card p{color:var(--ink-soft); font-size:14px; line-height:1.9; flex:1 0 auto; margin:0;}
.osusume-photo{border-radius:var(--radius-sm); overflow:hidden; height:190px;}
.osusume-photo img{width:100%; height:100%; object-fit:cover;}
.osusume-photo--mock{
  height:190px; overflow:visible; background:linear-gradient(135deg,rgba(52,87,232,.07),rgba(77,208,240,.1));
  display:flex; align-items:center; justify-content:center; padding:16px;
}
.osusume-photo--mock img{
  width:auto; height:auto; max-width:76%; max-height:86%; object-fit:contain;
  border-radius:6px; border:1px solid rgba(255,255,255,.7);
  box-shadow:0 20px 40px rgba(15,24,38,.2), 0 6px 14px rgba(15,24,38,.1);
  transform:rotate(-5deg); transition:transform .35s ease;
}
.osusume-card:hover .osusume-photo--mock img{transform:rotate(-2deg) scale(1.04);}

.col-list{display:grid; grid-template-columns:1fr; gap:8px;}
.col-row{display:flex; gap:14px; align-items:flex-start; padding:14px; border-radius:14px; color:inherit; text-decoration:none; transition:background .2s ease;}
.col-row:hover{background:var(--bg-soft);}
.col-row-body{flex:1; min-width:0;}
.col-row-date{display:block; font-size:11px; color:var(--ink-faint); margin-bottom:4px;}
.col-row-title{font-size:13.5px; font-weight:700; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.col-groups-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start;}
.col-group{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:20px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
}
.col-group-photo{width:100%; height:160px; border-radius:var(--radius-md); overflow:hidden; margin-bottom:14px; box-shadow:0 6px 16px rgba(15,25,60,.1);}
.col-group-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.col-group-title{font-size:15px; font-weight:800; color:var(--ink); margin-bottom:16px; padding-bottom:14px; border-bottom:2px solid var(--line);}
.col-more-toggle{display:flex; justify-content:center; margin-top:18px;}
.col-more-btn{
  background:none; border:1.5px solid rgba(52,87,232,.3); color:var(--primary); font-weight:700; font-size:13.5px;
  padding:11px 26px; border-radius:99px; cursor:pointer; transition:all .25s ease; display:inline-flex; align-items:center; gap:6px;
}
.col-more-btn:hover{background:rgba(52,87,232,.06); border-color:rgba(52,87,232,.6);}

.faq-list{display:flex; flex-direction:column; gap:12px; max-width:820px; margin:0 auto;}
.faq-item{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm); overflow:hidden;
}
.faq-question{
  display:flex; align-items:center; gap:14px; padding:20px 24px;
  cursor:pointer; list-style:none;
}
.faq-question::-webkit-details-marker{display:none;}
.faq-q-mark{
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--primary)); color:#fff;
  font-weight:900; font-size:13px; display:flex; align-items:center; justify-content:center;
}
.faq-q-text{flex:1; font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.6;}
.faq-arrow{width:18px; height:18px; color:var(--primary); flex-shrink:0; display:inline-flex; transition:transform .25s ease;}
.faq-arrow svg{width:100%; height:100%; display:block;}
.faq-item[open] .faq-arrow{transform:rotate(180deg);}
.faq-answer{padding:0 24px 22px;}
.faq-answer-inner{display:flex; gap:14px;}
.faq-a-mark{
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  background:var(--bg-soft); color:var(--primary);
  font-weight:900; font-size:13px; display:flex; align-items:center; justify-content:center;
}
.faq-answer-inner p{font-size:13.5px; color:var(--ink-soft); line-height:1.9;}

.final-cta{background:var(--bg-soft); text-align:center;}
.final-cta h2{font-size:clamp(24px,3vw,36px); font-weight:900; margin:16px 0 14px;}
.final-cta p{color:var(--ink-soft); margin-bottom:34px; line-height:1.9;}
.final-cta .btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

@media (max-width:980px){
  .hero-grid, .about-grid, .module-card, .module-card.is-4-6{grid-template-columns:1fr;}
  .hero-stats-card--wide{flex-direction:column; align-items:stretch; gap:20px; padding:26px 28px;}
  .hero-stats-sub{border-left:none; border-top:1px solid var(--line); padding-left:0; padding-top:20px;}
  .concern-grid{grid-template-columns:1fr 1fr;}
  .flow-track{grid-template-columns:1fr 1fr;}
  .flow-card::after{display:none;}
  .case-grid{grid-template-columns:1fr;}
  .col-groups-grid{grid-template-columns:1fr;}
  .osusume-grid{grid-template-columns:1fr;}
  .support-grid{grid-template-columns:1fr;}
  .iceberg-grid{grid-template-columns:1fr;}
  .security-grid{grid-template-columns:1fr 1fr;}
  .efficiency-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .hero{padding:12px 0 32px;}
  .hero-btns .btn{width:100%;}
  .hero-logo-img{height:68px;}
  .hero-stats-card--wide{margin-top:36px;}
  .hero-stats{flex-wrap:wrap; gap:16px;}
  .hero-stats .stat{flex:1 1 40%; border-right:none !important; padding:0 !important;}
  .concern-grid{grid-template-columns:1fr;}
  .feature-list{grid-template-columns:1fr;}
  .flow-track{grid-template-columns:1fr;}
  .concern-arrow::before{margin:0 0 10px; width:70px; height:64px;}
  .concern-arrow > span{font-size:18px; padding:14px 20px;}
  .osusume-card{padding:24px;}
  .shigaku{flex-direction:column; align-items:flex-start; padding:20px 22px;}
  .trust .wrap{text-align:center;}
  .subnav{padding:12px 0;}
  .subnav-inner{overflow-x:visible;}
  .subnav-bar{display:none;}
  .support-card{padding:24px;}
  .support-iceberg{padding:24px;}
  .iceberg-grid{gap:20px;}
  .iceberg-boxes{gap:16px;}
  .iceberg-box ul{grid-template-columns:1fr;}
  .iceberg-visual{min-height:240px;}
  .security-grid{grid-template-columns:1fr;}
  .security-card{padding:22px;}
}
@media (min-width: 751px) {
  .subnav-cta {
    display: none;
  }
}

/* ==================================================================
   ADPS 人事ページ（/hr/adps~/）固有スタイル
   ================================================================== */
.section-pad.is-white{background:#fff;}
.section-pad.is-soft{background:var(--bg-soft);}
.section-pad.is-flush-bottom{padding-bottom:0;}
.view-more{text-align:center; margin-top:36px;}
.breadcrumb-mini{display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:12.5px; color:var(--ink-soft); margin-bottom:22px;}
.breadcrumb-mini a{color:var(--ink-soft); font-weight:600;}
.breadcrumb-mini a:hover{color:var(--primary);}
.breadcrumb-mini span.sep{color:var(--ink-faint);}
.breadcrumb-mini span.cur{color:var(--primary); font-weight:700;}
.hero .breadcrumb-mini{margin-bottom:0;}
.hero .hero-logo-wrap{margin:0 0 8px;}
.hero .hero-logo-img{height:92px;}
.hero .hero-copy h1{margin:0 0 12px;}
.hero .hero-lead{margin:0 0 24px; line-height:1.85;}
.hero .hero-visual-img{margin-top:-40px;}
.hero .hero-banner{margin-top:16px;}
.hero .hero-stats-card--wide{margin-top:28px;}
@media (max-width:640px){
  .hero .hero-logo-img{height:60px;}
  .hero .hero-stats-card--wide{margin-top:24px;}
}

.page-hero{padding:28px 0 96px;}
.page-hero .hero-copy h1,
.page-hero .hero-copy .hero-title{font-size:clamp(26px,3.4vw,40px); line-height:1.42; margin:16px 0 16px;}
.page-hero .hero-visual-img{border-radius:var(--radius-md);}
.page-hero .hero-visual-img--up{margin-top:-65px;}
.hero-logo-label{font-size:44px; font-weight:800; color:#1D4CBF; letter-spacing:.02em;}
.hero-logo-label--md{font-size:40px;}
.hero-logo-wrap > h1{flex-shrink:0;}
@media (max-width:640px){
  .hero-logo-label{font-size:28px; white-space:nowrap;}
  .hero-logo-label--long{font-size:21px;}
  .page-hero .hero-logo-wrap{margin:0 0 12px;}
  .page-hero .hero-logo-wrap > h1{margin:0;}
  .page-hero .hero-logo-wrap + .hero-title{margin-top:0;}
  .hero .hero-logo-wrap{margin:22px 0 12px;}
  .hero .hero-logo-wrap > h1{margin:0;}
}

.worry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:36px;}
.worry-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:26px;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
}
a.worry-card[href]:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.worry-text{font-size:14.5px; font-weight:700; line-height:1.7;}

.func-frame{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:32px; box-shadow:var(--shadow-sm);
}
.func-frame-head{margin-bottom:20px;}
.func-frame-head h3{display:flex; align-items:center; gap:10px; font-size:18px; font-weight:800; color:var(--primary);}
.func-frame > .feature-list.is-func-grid{margin-bottom:0;}
.feature-list.is-func-grid{grid-template-columns:repeat(4,1fr); row-gap:2px;}
.feature-list.is-func-grid li{background:none; padding:5px 0;}
.func-subsection{margin-top:28px; padding-top:24px;}

.func-cta{margin-top:56px; text-align:center; padding:0 24px;}
.func-cta h2{font-size:clamp(24px,3vw,32px); font-weight:900; margin-bottom:14px;}
.func-cta p{color:var(--ink-soft); margin-bottom:28px; line-height:1.9;}
.func-cta .btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

.plan-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:44px;}
.plan-card{border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); background:var(--card);}
.plan-card-header{padding:16px 24px; font-size:17px; font-weight:800; text-align:center; color:#fff;}
.plan-card.is-onpremises .plan-card-header{background:linear-gradient(135deg,var(--accent),var(--primary));}
.plan-card.is-cloud .plan-card-header{background:linear-gradient(135deg,var(--primary),var(--primary-2));}
.plan-card-body{padding:28px;}
.plan-card-body p{font-size:14px; color:var(--ink-soft); line-height:1.9; margin-bottom:20px;}
.plan-card-body img{width:100%; border-radius:var(--radius-sm);}

.feature-block{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:44px; display:grid; grid-template-columns:4fr 6fr; gap:44px; align-items:center; box-shadow:var(--shadow-sm);
  margin-bottom:28px; scroll-margin-top:180px;
}
.feature-block:last-child{margin-bottom:0;}
.feature-num{color:var(--primary); font-weight:800; font-size:13px; letter-spacing:.06em; font-family:"Inter",sans-serif;}
.feature-copy h3{font-size:22px; font-weight:800; margin:10px 0 18px; line-height:1.6;}
.feature-list-plain{display:flex; flex-direction:column;}
.feature-list-plain li{
  display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--ink-soft); line-height:1.8;
  padding:14px 0;
}
.feature-list-plain li + li{border-top:1px solid rgba(52,87,232,.12);}
.feature-list-plain li .chk{
  width:18px; height:18px; border-radius:6px; background:linear-gradient(135deg,var(--accent),var(--primary));
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
}
.feature-list-plain li .chk svg{width:11px; height:11px; stroke:#fff; fill:none; stroke-width:3;}
.feature-visual{display:flex; flex-direction:column; gap:14px;}
.feature-visual img{border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); width:100%;}
.feature-visual-row-2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}

.feature-block--full{grid-template-columns:1fr;}
.feature-block--full .feature-visual{margin:28px 0;}
.feature-block--full .feature-visual > img{width:100%; margin:0 auto; box-shadow:none;}
.feature-block--full .feature-visual > img.feature-visual-fixed-h{height:300px; width:auto; max-width:100%; display:block; margin:0 auto;}
.feature-block--full .feature-visual-row-2{gap:24px;}
.feature-block--full .feature-visual-row-2 img{height:300px; width:auto; max-width:100%; display:block; margin:0 auto; box-shadow:none;}
.pattern-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:28px 0;}
.pattern-card{padding:24px; display:flex; flex-direction:column; gap:14px;}
.pattern-head{display:flex; align-items:center; gap:10px;}
.pattern-head h4{font-size:15px; font-weight:800;}
.pattern-card img{height:300px; width:auto; max-width:100%; display:block; margin:0 auto;}
.pattern-card p{font-size:12.5px; color:var(--ink-soft); line-height:1.8;}
.pattern-note{color:var(--ink-faint); font-size:11px;}

.col-frame{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:40px; box-shadow:var(--shadow-sm);
}
.col-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px 32px;}
.col-card{display:block; color:inherit; text-decoration:none; padding:14px; border-radius:14px; transition:background .2s ease;}
.col-card:hover{background:var(--bg-soft);}
.col-card time{display:block; font-size:12px; color:var(--ink-faint); margin-bottom:8px;}
.col-card h3{font-size:14.5px; font-weight:700; line-height:1.6;}
.col-frame-more{text-align:center; margin-top:32px;}

.voice-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.voice-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
  display:flex; flex-direction:column; gap:18px;
}
a.voice-card[href]:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.voice-logo{height:28px;}
.voice-logo img{height:100%; width:auto; max-width:140px; object-fit:contain;}
.voice-text{font-size:14px; color:var(--ink); line-height:1.9;}
.voice-meta{font-size:12.5px; font-weight:700; color:var(--ink-soft); padding-bottom:16px; border-bottom:1px solid var(--line);}

@media (max-width:980px){
  .feature-block{grid-template-columns:1fr;}
  .worry-grid{grid-template-columns:1fr 1fr;}
  .col-grid{grid-template-columns:1fr 1fr;}
  .pattern-grid{grid-template-columns:1fr;}
  .voice-grid{grid-template-columns:1fr 1fr;}
  .plan-grid{grid-template-columns:1fr;}
  .feature-list.is-func-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .page-hero{padding:12px 0 64px;}
  .worry-grid{grid-template-columns:1fr;}
  .col-grid{grid-template-columns:1fr;}
  .feature-block{padding:28px;}
  .feature-visual-row-2{grid-template-columns:1fr;}
  .voice-grid{grid-template-columns:1fr;}
  .feature-list.is-func-grid{grid-template-columns:1fr;}
  .feature-block--full .feature-visual > img.feature-visual-fixed-h{height:auto; width:100%;}
  .feature-block--full .feature-visual-row-2 img{height:auto; width:100%;}
  .pattern-card img{height:auto; width:100%;}
}

/* 機能対応比較表（学校法人版） */
.compare-table-wrap{
  border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-sm); background:var(--card);
}
.compare-table{width:100%; border-collapse:collapse;}
.compare-table th{
  font-size:15px; font-weight:800; color:#fff; padding:16px 20px; text-align:left;
  display:flex; align-items:center; gap:10px;
}
.compare-table thead tr{display:grid; grid-template-columns:1.4fr 1fr 1fr;}
.compare-table thead th:first-child{background:linear-gradient(155deg,var(--navy),var(--navy-2));}
.compare-table thead th:nth-child(2){background:var(--ink-soft);}
.compare-table thead th:last-child{background:linear-gradient(135deg,var(--accent),var(--primary));}
.compare-table th .th-icon{
  width:26px; height:26px; border-radius:7px; background:rgba(255,255,255,.22);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.compare-table th .th-icon svg{width:15px; height:15px; stroke:#fff; fill:none; stroke-width:2.2;}
.compare-table tbody tr{display:grid; grid-template-columns:1.4fr 1fr 1fr; border-top:1px solid var(--line);}
.compare-table td{padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14.5px; font-weight:700; color:var(--ink);}
.compare-table tbody td:last-child{background:var(--bg-soft);}
.compare-table td.compare-label .row-icon{
  width:32px; height:32px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));
  display:flex; align-items:center; justify-content:center; color:#fff;
}
.compare-table td.compare-label .row-icon svg{width:16px; height:16px; stroke:#fff; fill:none; stroke-width:2.2;}
.compare-table td.compare-label a{color:var(--primary); text-decoration:underline; text-underline-offset:3px; font-weight:700;}
.compare-table td.compare-label a:hover{color:var(--primary-2);}
.compare-table td.compare-status{gap:8px; color:var(--primary-2); font-weight:800;}
.compare-table td.compare-status .status-icon{
  width:22px; height:22px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),var(--primary));
  display:flex; align-items:center; justify-content:center;
}
.compare-table td.compare-status .status-icon svg{width:13px; height:13px; stroke:#fff; fill:none; stroke-width:3;}
.compare-table td.compare-status .status-icon.is-crown svg{width:14px; height:14px; stroke:none; fill:#ffc94d;}
.compare-table td.compare-status.is-standard{color:var(--ink-soft);}
.compare-table td.compare-status.is-standard .status-icon{background:var(--ink-soft);}
@media screen and (max-width:600px){
  .compare-table th, .compare-table td{padding:12px 14px; font-size:13px;}
  .compare-table thead tr, .compare-table tbody tr{grid-template-columns:1.1fr 1fr 1fr;}
}

/* ==================================================================
   デザイン変数とリセット
   ヘッダー・フッター（共通パーツ）にかかる上書きは common.css へ移した。
   ここに残しているのは ADPS 製品ページ用の変数とリセットのみ。
   ================================================================== */
:root {
  --bg-soft: #eaf1fb;
  --ink: #0f1826;
  --ink-soft: #57667a;
  --ink-faint: #93a1b3;
  --line: #e1e8f2;
  --card: #ffffff;
  --accent: #4dd0f0;
  --primary: #3457e8;
  --primary-2: #1c3aa8;
  --navy: #445fe6;
  --navy-2: #2a3bb0;
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --shadow-sm: 0 4px 16px rgba(15, 25, 60, .06);
  --shadow-md: 0 12px 40px rgba(15, 25, 60, .10);
  --maxw: 1180px;
  --header-h: 100px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
