:root{--bg:#fff;--fg:#111;--accent:#ff2c5a;--line:#dedede;--font-body:"Noto Sans JP",sans-serif;--font-nav:"Jost",sans-serif;--font-display:"Cinzel",serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(1176px,100% - 48px);margin-inline:auto}.site-header{z-index:100;border:.5px solid var(--line);background:#fffffff5;border-radius:999px;height:64px;transition:left .42s cubic-bezier(.4,0,.2,1),opacity .24s .24s,transform .36s;position:fixed;top:20px;left:40px;right:40px}.site-header.hero-header{opacity:0;pointer-events:none;transform:translateY(-12px)}.site-header.hero-header.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.header-inner{z-index:2;justify-content:space-between;align-items:center;height:100%;padding:0 60px;display:flex;position:relative}.brand{color:var(--accent);font-family:var(--font-display);font-size:20px;font-weight:400}.nav-links{font-family:var(--font-nav);align-items:center;gap:28px;font-size:14px;font-weight:400;display:flex}.nav-links a{transition:color .16s}.nav-links a:hover{color:var(--accent)}.menu-toggle,.mobile-menu{display:none}body.menu-collapsed .site-header,body.menu-collapsed .site-header.hero-header.visible{opacity:0;pointer-events:none;left:calc(100% - 136px)}.floating-menu-toggle{border:.5px solid var(--line);z-index:120;cursor:pointer;opacity:0;pointer-events:none;background:#fffffff5;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:56px;height:56px;transition:opacity .36s,transform .36s;display:flex;position:fixed;top:20px;right:40px;transform:translateY(-12px)}body.menu-collapsed .floating-menu-toggle{opacity:1;pointer-events:auto;transition:opacity .24s .32s,transform .24s .32s;transform:translateY(0)}.floating-menu-toggle span{transform-origin:50%;background:#111;width:20px;height:1px;transition:transform .26s,opacity .2s;display:block}.floating-menu-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.floating-menu-toggle.is-open span:nth-child(2){opacity:0}.floating-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.floating-brand{z-index:120;color:var(--accent);font-family:var(--font-display);opacity:0;pointer-events:none;font-size:20px;font-weight:400;transition:opacity .3s;position:fixed;top:38px;left:50%;transform:translate(-50%)}body.menu-collapsed .floating-brand{opacity:1;pointer-events:auto;transition:opacity .4s .32s}.floating-menu{border:.5px solid var(--line);z-index:119;width:220px;font-family:var(--font-nav);letter-spacing:.06em;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:20px;flex-direction:column;gap:0;padding:22px 24px 24px;font-size:15px;transition:opacity .26s,transform .26s,visibility 0s linear .26s;display:flex;position:fixed;top:86px;right:40px;transform:translateY(-10px)}.floating-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.floating-menu a{border-bottom:.5px solid #eee;padding:10px 4px;transition:color .16s}.floating-menu a:last-child{border-bottom:0}.floating-menu a:hover,.floating-menu a:focus-visible{color:var(--accent)}main{min-height:calc(100vh - 72px)}.page-main{padding-top:114px}.section-kicker{color:var(--accent);margin-bottom:6px;font-size:13px;display:block}.section-title{font-family:var(--font-display);font-size:40px;font-weight:400;line-height:1.25}footer{border-top:.5px solid var(--line);justify-content:center;align-items:center;height:72px;display:flex}footer small{color:#999;font-family:var(--font-nav);letter-spacing:.02em;font-size:12px;font-weight:400}@media (width>=901px){.floating-menu{border:.5px solid var(--line);background:#fffffff5;border-radius:999px;flex-direction:row;align-items:center;gap:28px;width:auto;height:56px;padding:0 34px;font-size:14px;display:flex;top:48px;right:108px;transform:translateY(-50%)translate(12px)}.floating-menu.is-open{transform:translateY(-50%)translate(0)}.floating-menu a{border-bottom:0;padding:0}}@media (width<=900px){.site-header{left:20px;right:20px}.header-inner{padding:0 28px}.nav-links{gap:16px;font-size:12px}.wrap{width:min(100% - 40px,1176px)}.floating-menu-toggle,.floating-menu{right:20px}body.menu-collapsed .site-header{left:calc(100% - 96px)}.floating-brand{left:50%}}@media (width<=600px){.site-header{height:54px;top:10px;left:10px;right:10px}.header-inner{padding:0 5px 0 18px}.brand{font-size:13px}.nav-links{display:none}.menu-toggle{cursor:pointer;background:0 0;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:flex}.menu-toggle span{transform-origin:50%;background:#111;width:20px;height:1px;transition:transform .26s,opacity .2s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-menu{border:.5px solid var(--line);font-family:var(--font-nav);letter-spacing:.06em;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:20px;flex-direction:column;gap:0;padding:22px 24px 24px;font-size:15px;transition:opacity .26s,transform .26s,visibility 0s linear .26s;display:flex;position:absolute;top:62px;left:0;right:0;transform:translateY(-10px)}.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.mobile-menu a{border-bottom:.5px solid #eee;padding:10px 4px;transition:color .16s}.mobile-menu a:last-child{border-bottom:0}.mobile-menu a:hover,.mobile-menu a:focus-visible{color:var(--accent)}.page-main{padding-top:84px}.wrap{width:calc(100% - 28px)}.section-title{font-size:34px}.floating-menu-toggle{width:48px;height:48px;top:10px;right:10px}.floating-menu{right:10px}body.menu-collapsed .site-header{left:calc(100% - 68px)}.floating-brand{font-size:13px;top:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.nav-links a,.menu-toggle span,.mobile-menu,.mobile-menu a,.floating-menu-toggle,.floating-menu-toggle span,.floating-menu,.floating-menu a,.floating-brand{transition:none!important}}
