.mc-v31-document { margin:0; background:#fff; }
.mc-v31-document__content { width:100%; overflow:hidden; }
.mc-v3111-header { position:relative; z-index:1000; background:#fff; border-bottom:3px solid #d2a13b; font-family:"Noto Sans JP",sans-serif; }
.mc-v3111-header__inner { width:min(1220px,calc(100% - 40px)); min-height:76px; margin:0 auto; display:flex; align-items:center; gap:28px; }
.mc-v3111-header__logo { display:flex; align-items:center; flex:0 0 auto; }
.mc-v3111-header__logo img { display:block; width:145px; height:auto; }
.mc-v3111-header__nav { margin-left:auto; display:flex; align-items:center; gap:22px; }
.mc-v3111-header__nav a { color:#12395f; text-decoration:none; font-size:13px; font-weight:700; white-space:nowrap; }
.mc-v3111-header__nav a:hover,.mc-v3111-header__nav a:focus-visible { color:#1673ad; }
.mc-v3111-header__nav a:last-child { padding:11px 16px; border-radius:7px; background:#12395f; color:#fff; }
.mc-v3111-header__toggle { display:none; margin-left:auto; width:44px; height:44px; border:0; border-radius:7px; background:#12395f; padding:10px; }
.mc-v3111-header__toggle span { display:block; height:2px; margin:5px 0; background:#fff; }
.mc-v31-page a[aria-disabled="true"] { pointer-events:none; cursor:default; text-decoration:none; }
.mc-v31-global-footer { background:#082f52; color:#fff; font-family:"Noto Sans JP",sans-serif; }
.mc-v31-global-footer__inner { max-width:1180px; margin:0 auto; padding:48px 24px 36px; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:36px; }
.mc-v31-global-footer__brand > a { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:9px 16px; background:#fff; border-radius:10px; }
.mc-v31-global-footer__brand img { display:block; width:150px; height:auto; filter:none; }
.mc-v31-global-footer__brand p { margin:14px 0 0; color:#dceaf5; font-size:14px; }
.mc-v31-global-footer nav { display:flex; flex-direction:column; gap:10px; }
.mc-v31-global-footer b { margin-bottom:4px; font-size:14px; color:#9dd5ff; }
.mc-v31-global-footer a { color:#fff; text-decoration:none; font-size:14px; }
.mc-v31-global-footer a:hover { text-decoration:underline; }
.mc-v31-global-footer__copyright { border-top:1px solid rgba(255,255,255,.2); padding:18px 24px; text-align:center; color:#c9dbe9; font-size:12px; }
.mc-footer-version { display:block; margin-top:5px; color:rgba(201,219,233,.72); font-size:10px; letter-spacing:.03em; line-height:1.4; }
@media (max-width:1020px) {
  .mc-v3111-header__inner { min-height:68px; }
  .mc-v3111-header__toggle { display:block; }
  .mc-v3111-header__nav { display:none; position:absolute; top:100%; left:0; right:0; padding:16px 22px 22px; background:#fff; border-bottom:3px solid #d2a13b; box-shadow:0 12px 24px rgba(8,47,82,.16); flex-direction:column; align-items:stretch; gap:0; }
  .mc-v3111-header__nav.is-open { display:flex; }
  .mc-v3111-header__nav a { padding:13px 8px; border-bottom:1px solid #d7e1e9; font-size:15px; }
  .mc-v3111-header__nav a:last-child { margin-top:12px; text-align:center; border-bottom:0; }
}
@media (max-width:700px) { .mc-v31-global-footer__inner { grid-template-columns:1fr; gap:28px; padding:38px 22px 30px; } .mc-v3111-header__inner{width:calc(100% - 28px)} .mc-v3111-header__logo img{width:128px} }

/* Common CTA hover: keep the original colour and sweep a soft light across it. */
.btn.btn-primary,
.btn.btn-secondary,
.btn-submit,
.mobile-cta-btn,
.header-btn,
.mc-v3111-header__nav a:last-child {
	position:relative !important;
	isolation:isolate;
	overflow:hidden !important;
}
.btn.btn-primary::after,
.btn.btn-secondary::after,
.btn-submit::after,
.mobile-cta-btn::after,
.header-btn::after,
.mc-v3111-header__nav a:last-child::after {
	content:"";
	position:absolute;
	top:-40%;
	left:-35%;
	width:18%;
	height:180%;
	pointer-events:none;
	background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.12) 22%,rgba(255,255,255,.82) 50%,rgba(255,255,255,.12) 78%,transparent 100%);
	transform:skewX(-22deg) translateX(-260%);
	z-index:3;
}
.btn.btn-primary:hover::after,
.btn.btn-secondary:hover::after,
.btn-submit:hover::after,
.mobile-cta-btn:hover::after,
.header-btn:hover::after,
.mc-v3111-header__nav a:last-child:hover::after { animation:mc-v3111-shine .62s ease-out both; }
@keyframes mc-v3111-shine { from { transform:skewX(-22deg) translateX(-260%); } to { transform:skewX(-22deg) translateX(820%); } }
@media (prefers-reduced-motion:reduce) { .btn.btn-primary:hover::after,.btn.btn-secondary:hover::after,.btn-submit:hover::after,.mobile-cta-btn:hover::after,.header-btn:hover::after,.mc-v3111-header__nav a:last-child:hover::after { animation:none; } }
