:root{--pink:#e83e73;--pink2:#f05d91;--text:#111}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--text);background:#f7f7f7;font-size:16px;overflow-x:hidden}
img{max-width:100%;height:auto}
iframe{max-width:100%}
.map iframe,.insta-embed{width:100%;height:100%;border:0}
a{text-decoration:none;color:inherit}
.wrap{width:min(1120px,calc(100% - 48px));margin:auto}

header{min-height:72px;background:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #eee}
.header-inner{width:min(1480px,calc(100% - 32px));margin:auto;display:flex;align-items:center;gap:20px;position:relative;padding:10px 0}
.logo{display:flex;align-items:center;justify-content:center;width:180px;flex-shrink:0}
.logo img{display:block;width:100%;max-width:180px;height:auto}
.logo-copy{font-size:11px;line-height:1.6;font-weight:700;margin-right:auto;max-width:280px}
nav{display:flex;gap:14px;font-size:13px;font-weight:700;white-space:nowrap;flex-wrap:wrap;justify-content:flex-end}
.contact-top{background:linear-gradient(90deg,#dc376d,#ee467b);color:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;height:44px;padding:0 16px;font-size:14px;white-space:nowrap;flex-shrink:0}
.mail-icon{font-size:20px;margin-right:8px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px;cursor:pointer;margin-left:auto}
.menu-btn span{display:block;height:2px;background:#222;margin:6px 0;border-radius:2px}

.cta-band{min-height:160px;background:linear-gradient(100deg,#df386c,#e94073);color:#fff;display:flex;align-items:center;padding:32px 0}
.cta-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;align-items:center}
.cta-copy small{font-size:15px;opacity:.95}
.cta-copy strong{display:block;font-size:22px;font-weight:600;margin-top:6px}
.cta-button{min-height:56px;padding:0 16px;background:#fff;color:var(--pink);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;gap:10px;font-weight:600;text-align:center}
.site-footer{padding:28px 0;background:#f7f7f7;text-align:center;font-size:12px;color:#777;line-height:1.8}

@media(max-width:1200px){
.logo-copy{display:none}
.header-inner{gap:12px}
nav{gap:10px;font-size:12px}
}

@media(max-width:980px){
.menu-btn{display:block !important}
nav{display:none !important;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;white-space:normal;padding:12px 16px 20px;box-shadow:0 12px 24px rgba(0,0,0,.08);gap:0}
nav a{padding:12px 8px;border-bottom:1px solid #f1f1f1}
header.nav-open nav{display:flex !important}
header{position:sticky !important;height:auto !important}
.logo-copy{display:none !important}
.contact-top{font-size:0;padding:0 14px;width:48px;height:44px;justify-content:center}
.contact-top .mail-icon{margin:0;font-size:22px}
.cta-row{grid-template-columns:1fr !important;gap:12px}
.wrap,.header-inner{width:min(100% - 24px,1120px)}
}

.page-hero h1{font-size:clamp(26px,4vw,36px)}
.page-cta a{max-width:100%}
.flow-icon img{max-height:92px;width:auto}
@media(max-width:980px){
.page-hero-inner,.intro-grid,.partner-grid,.kes,.access-item,.access-body{grid-template-columns:1fr !important}
.page-hero{padding:32px 0 16px}
.page-hero-visual{justify-content:center}
.intro-photo{height:220px}
.flow-grid{grid-template-columns:1fr 1fr !important}
.flow-card{min-height:0}
.pdf-btn,.partner-btn,.page-cta a,.submit button{min-width:0;width:100%;max-width:360px}
}
@media(max-width:600px){
.flow-grid{grid-template-columns:1fr !important}
.profile th,.profile td{display:block;width:100%;padding:8px 0}
.profile th{border-bottom:0}
}
