*{box-sizing:border-box}a{color:inherit;text-decoration:none}
.legacy-page .page-hero h1 { text-wrap: balance; }
@media (max-width: 800px) { .legacy-page .page-hero h1 { font-size: 28px; line-height: 1.5; } }
@media (max-width: 360px) { .legacy-page .page-hero h1 { font-size: 24px; } }
.pop-mock-site .pop-header { display: flex; }
.pop-mock-site .pop-header { position: fixed; background: rgba(255, 255, 255, 0.96); border-bottom: 1px solid rgb(232, 237, 241); }
.pop-header { position: absolute; inset: 0px 0px auto; z-index: 20; height: 72px; padding: 0px clamp(22px, 5.4vw, 86px); display: flex; align-items: center; justify-content: space-between; color: rgb(6, 17, 38); }
.pop-logo { display: inline-flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 900; letter-spacing: -0.02em; }
.pop-logo-mark { width: 31px; height: 25px; display: block; background: radial-gradient(circle at 22% 68%, rgb(85, 184, 244) 0px, rgb(85, 184, 244) 28%, transparent 29%), radial-gradient(circle at 53% 31%, rgb(255, 217, 67) 0px, rgb(255, 217, 67) 27%, transparent 28%), radial-gradient(circle at 78% 69%, rgb(245, 154, 164) 0px, rgb(245, 154, 164) 28%, transparent 29%); filter: drop-shadow(rgba(8, 20, 38, 0.1) 0px 3px 5px); }
.pop-header nav { display: flex; align-items: center; gap: clamp(18px, 2.3vw, 34px); font-size: 12px; font-weight: 900; }
.pop-menu-toggle { display: none; width: 44px; height: 44px; padding: 0px; border: 0px; border-radius: 6px; background: rgb(255, 255, 255); color: rgb(6, 17, 38); cursor: pointer; font-size: 26px; line-height: 1; }
.pop-menu-toggle:focus-visible { outline: rgb(60, 148, 255) solid 2px; outline-offset: 3px; }
@media (max-width: 900px) { .pop-header .pop-menu-toggle { display: grid; place-items: center; }
.pop-header.menu-open nav { position: absolute; top: 64px; left: 16px; right: 16px; display: flex; flex-direction: column; align-items: stretch; gap: 0px; padding: 12px 20px 20px; border: 1px solid rgb(225, 234, 241); border-radius: 8px; background: rgb(255, 255, 255); box-shadow: rgba(8, 20, 38, 0.12) 0px 16px 40px; max-height: calc(-80px + 100svh); overflow-y: auto; font-size: 14px; }
.pop-header.menu-open nav a { padding: 16px 0px; }
.pop-header.menu-open nav a:not(.pop-nav-button) { border-bottom: 1px solid rgb(237, 242, 246); }
.pop-header.menu-open nav .pop-nav-button { margin-top: 16px; padding: 12px 18px; justify-content: space-between; } }
.pop-nav-button { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0px 16px 0px 18px; border-radius: 999px; color: rgb(255, 255, 255); background: rgb(60, 148, 255); box-shadow: rgba(60, 148, 255, 0.25) 0px 10px 22px; }
.pop-nav-button::after { content: "→"; }
.pop-footer { position: relative; padding: 44px clamp(30px, 7vw, 110px) 24px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; background: rgb(233, 243, 250); border-top: 1px solid rgb(216, 231, 242); }
.pop-footer::before, .pop-footer::after { content: none; }
.pop-footer > * { position: relative; z-index: 2; }
.pop-footer nav, .pop-footer .footer-bottom { display: flex; align-items: center; gap: 24px; color: rgb(35, 52, 79); font-size: 12px; font-weight: 500; }
.pop-footer .footer-bottom { grid-column: 1 / -1; justify-content: space-between; border-top: 1px solid rgb(206, 223, 235); padding-top: 20px; color: rgb(82, 108, 128); font-size: 11px; }
.footer-bottom small { font-size: inherit; }
.pop-footer a:hover { color: rgb(52, 135, 190); }
.pop-footer a:focus-visible { outline: rgb(131, 201, 238) solid 2px; outline-offset: 5px; }
.footer-brand { display: grid; justify-items: start; gap: 12px; }
.pop-footer .pop-logo { width: max-content; padding: 0px; border-radius: 0px; background: transparent; box-shadow: none; }
@media (max-width: 900px) { .pop-header { height: 64px; padding: 0px 22px; }
.pop-header nav { display: none; }
.pop-logo { font-size: 18px; }
.pop-footer { grid-template-columns: 1fr; padding-block: 26px; }
.pop-footer nav, .pop-footer > div:last-child { flex-wrap: wrap; justify-content: flex-start; } }
.legacy-page .pop-header{position:fixed;background:rgba(255,255,255,.96);border-bottom:1px solid #e8edf1}.legacy-page main{padding-top:72px}.legacy-page .pop-header strong,.legacy-page .pop-footer strong{font-family:"Noto Sans JP",sans-serif}.legacy-page [id]{scroll-margin-top:88px}.legacy-page h1,.legacy-page h2,.legacy-page h3{font-family:"Noto Sans JP",sans-serif;letter-spacing:0}.legacy-page .pop-header nav{margin:0}.legacy-page .pop-footer{margin-top:40px}.legacy-page .pop-footer nav{margin:0}.legacy-page .pop-footer a{font-size:inherit}@media(max-width:900px){.legacy-page main{padding-top:64px}}

.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:#fff;color:#081426;padding:8px 16px;transform:translateY(-150%)}.skip-link:focus{transform:none}.contact-copy h1{font-size:40px;line-height:1.55;margin:0;color:#07162b;letter-spacing:0}@media(max-width:800px){.contact-copy h1{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-line{opacity:1;transform:none}}

.legacy-page .pop-footer strong{color:#07162b}
