:root{--navy:#06265f;--blue:#103c7d;--pale:#f4f7fb;--line:#dce6f2;--gold:#c99b4b;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--navy);font-family:var(--serif);letter-spacing:.08em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.header{height:118px;display:flex;align-items:center;padding:0 5.5vw;gap:3vw;background:rgba(255,255,255,.96);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:8px;min-width:270px}.brandMark{width:60px;height:60px;flex-shrink:0}.brand b{font-size:16px;display:block;white-space:nowrap}.brand small{display:block;text-align:center;font-size:10px;margin-top:7px}.nav{display:flex;align-items:center;justify-content:flex-end;gap:2.25vw;width:100%;font-weight:600;font-size:13px;white-space:nowrap}.nav a:hover{opacity:.58}.navCta,.button{background:linear-gradient(135deg,#082c6b,#00327c);color:#fff;border-radius:999px;padding:17px 24px}.menuButton{display:none}.siteFooter{background:#08285f;color:#fff;text-align:center;padding:42px 20px}.siteFooter p{font-size:17px}.siteFooter nav{display:flex;justify-content:center;gap:25px;font-size:12px;margin:20px}.siteFooter small{font:10px Arial,sans-serif;letter-spacing:.2em}
@media(max-width:980px){.header{height:82px;padding:0 22px}.brand{min-width:0}.brandMark{width:42px;height:42px}.brand b{font-size:13px}.brand small{font-size:8px}.menuButton{display:flex;flex-direction:column;gap:5px;background:none;border:0;margin-left:auto;padding:12px}.menuButton span{width:26px;height:2px;background:var(--navy)}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px 25px 30px;flex-direction:column;align-items:flex-start;gap:18px;box-shadow:0 20px 30px rgba(0,30,70,.12)}.nav.open{display:flex}.navCta{width:100%;text-align:center}}
@media(max-width:700px){.header{position:sticky;top:0}}


/* ========================================
   デバイス別の改行
======================================== */

/* PCだけで改行 */
.brPc {
  display: inline;
}

/* スマホだけで改行 */
.brSp {
  display: none;
}

@media (max-width: 700px) {
  .brPc {
    display: none;
  }

  .brSp {
    display: inline;
  }
}


/* ========================================
   ボタンの封筒アイコン
======================================== */

.btnIcon {
  display: inline-block;
  margin-right: 2px;
  font-size: 2em;
  vertical-align: -0.15em;
}


/* ========================================
   スクロールでふわっと表示
======================================== */

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.isVisible {
  opacity: 1;
  transform: translateY(0);
}

/* カードが並ぶブロックは、少しずつ遅らせて表示 */
.revealGroup .reveal:nth-child(2) {
  transition-delay: 0.08s;
}

.revealGroup .reveal:nth-child(3) {
  transition-delay: 0.16s;
}

.revealGroup .reveal:nth-child(4) {
  transition-delay: 0.24s;
}

.revealGroup .reveal:nth-child(5) {
  transition-delay: 0.32s;
}

.revealGroup .reveal:nth-child(6) {
  transition-delay: 0.4s;
}

.revealGroup .reveal:nth-child(7) {
  transition-delay: 0.48s;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* ========================================
   フッターの認定バッジ
======================================== */

.footerBadge {
  width: 92px;
  height: 92px;
  margin: 0 auto 18px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow:
    0 0 0 3px rgba(255, 255, 255, 0.12),
    0 14px 30px rgba(0, 0, 0, 0.35);
}

