@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap";
html,body{width:100%;max-width:100%;overflow-x:hidden}body{color:#222;background:#f7f7f7;margin:0;font-family:Noto Sans JP,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.7}header{z-index:100;background:#fff;border-bottom:1px solid #e5e5e5;padding:.5rem 0;position:sticky;top:0}header nav ul{justify-content:center;gap:2.5rem;margin:0;padding:0;list-style:none;display:flex}header nav a{color:#222;letter-spacing:.04em;padding:.25rem .5rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:color .2s}header nav a:hover{color:#0070f3}.hero{text-align:center;background:#fff;border-bottom:1px solid #e5e5e5;padding:4rem 1rem 3rem}.hero-title{color:#222;letter-spacing:.04em;margin-bottom:1.2rem;font-size:2.7rem;font-weight:700}.hero-sub{color:#666;margin-bottom:2.2rem;font-size:1.2rem}.hero-btn,.logout-btn,.google-btn,.login-btn{color:#fff;cursor:pointer;letter-spacing:.04em;background:#0070f3;border:none;border-radius:999px;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;transition:background .2s;box-shadow:0 2px 8px #0070f314}.hero-btn:hover,.logout-btn:hover,.google-btn:hover,.login-btn:hover{background:#005bb5}main{box-sizing:border-box;background:#fff;border-radius:18px;width:100%;max-width:1100px;margin:.5rem auto;padding:.1rem .2rem;box-shadow:0 4px 24px #0000000a}.section-title{color:#222;text-align:center;letter-spacing:.04em;margin-bottom:2rem;font-size:2.1rem;font-weight:700}.card-list{flex-wrap:wrap;justify-content:center;gap:2.5rem;display:flex}.card{text-align:left;background:#f7f7f7;border:1px solid #ececec;border-radius:14px;flex:260px;min-width:220px;max-width:320px;margin-bottom:1.7rem;padding:2.2rem 1.7rem;box-shadow:0 2px 8px #00000008}.card h3{color:#0070f3;letter-spacing:.03em;margin-bottom:.7rem;font-size:1.18rem;font-weight:700}.card p{color:#444;font-size:1rem}footer{color:#888;text-align:center;letter-spacing:.03em;background:#fff;border-top:1px solid #e5e5e5;margin-top:2.5rem;padding:1.5rem 0 1rem;font-size:.98rem}.input-box{box-sizing:border-box;background:#fafbfc;border:1px solid #d0d7de;border-radius:8px;width:100%;margin-top:.3rem;margin-bottom:.5rem;padding:.75rem 1rem;font-size:1rem;transition:border .2s,box-shadow .2s}.input-box:focus{background:#fff;border:1.5px solid #0070f3;outline:none;box-shadow:0 0 0 2px #e3f0ff}.login-btn{width:100%;margin-bottom:12px}.google-btn{color:#222;width:100%;box-shadow:none;background:#fff;border:1.5px solid #d0d7de;justify-content:center;align-items:center;margin-bottom:0;font-weight:600;display:flex}.google-btn:hover{background:#f5f5f5;border-color:#bdbdbd}.google-btn img{vertical-align:middle;margin-right:8px}.logout-btn{color:#0070f3;box-shadow:none;white-space:nowrap;background:#fff;border:2px solid #0070f3;border-radius:999px;width:auto;min-width:120px;height:auto;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700}.logout-btn:hover{color:#0070f3;background:#e3f0ff}.header-nav{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;display:flex}.nav-logo,.nav-logo-mobile{flex:none;margin-left:1.5rem}.nav-pc{justify-content:space-between;align-items:center;gap:0;max-width:1200px;height:72px;margin:0 auto;padding:0 2rem;display:flex}.nav-pc__logo{flex:0 0 220px;justify-content:flex-start;align-items:center;display:flex}.nav-pc__menu{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.nav-pc__action{flex:0 0 220px;justify-content:flex-end;align-items:center;display:flex}.nav-logo.nav-logo--pc{letter-spacing:.08em;color:#222;flex-direction:column;font-size:1.3rem;font-weight:700;text-decoration:none;display:flex}.nav-list{justify-content:center;gap:2.2rem;width:auto;margin:0;padding:0;font-size:1rem;list-style:none;display:flex}@media (max-width:1200px){.nav-list{font-size:.85rem}}@media (max-width:1000px){.nav-list{font-size:.8rem}}.nav-auth{align-items:center;gap:1.5rem;margin-left:1.5rem;display:flex}.nav-mobile{display:none}.hamburger{cursor:pointer;z-index:110;background:0 0;border:none;margin-left:1rem;padding:.5rem}.mobile-menu{z-index:200;background:#fff;flex-direction:column;gap:2rem;width:80vw;max-width:320px;height:100vh;padding:2.5rem 1.5rem 1.5rem;animation:.2s slideInRight;display:flex;position:fixed;top:0;right:0;box-shadow:-2px 0 16px #0000001f}@keyframes slideInRight{0%{right:-100%}to{right:0}}.close-btn{color:#888;cursor:pointer;z-index:210;background:0 0;border:none;font-size:2rem;position:absolute;top:1.2rem;right:1.2rem}.nav-logo-mobile{display:none}@media (max-width:900px){main{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:1.5rem 2vw}.card-list{flex-direction:column;align-items:center;gap:1.2rem}.card{box-sizing:border-box;width:100%;max-width:100%}.nav-pc{display:none}.nav-mobile{align-items:center;margin-right:20px;display:flex}.nav-list{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.header-nav{justify-content:space-between;padding:0 1rem}.nav-logo-mobile{letter-spacing:.08em;color:#222;align-items:center;height:48px;padding-left:0;font-size:1.1rem;font-weight:700;display:flex}.nav-logo{display:none}.logout-btn{justify-content:center;align-items:center;width:100%;margin:.5rem 0;display:flex}}@media (max-width:600px){.hero-title{font-size:1.5rem}.section-title{font-size:1.2rem}main{padding:1rem 4vw}header nav ul{flex-direction:column;gap:1rem}}@media (min-width:901px){.header-nav{justify-content:center;min-height:56px}.nav-logo{letter-spacing:.08em;color:#222;align-items:center;height:100%;padding-left:1.2rem;font-size:1.1rem;font-weight:700;line-height:1;display:flex;position:absolute;top:0;bottom:0;left:0}.nav-pc{justify-content:center;align-items:center;width:100%;display:flex}.nav-logo-mobile{display:none}}.nav-logo--pc{flex-direction:row;gap:.5rem;display:flex}@media (min-width:768px){.nav-logo--pc{flex-direction:column;justify-content:center;align-items:center;gap:0;height:100%}.nav-logo-line{line-height:1.1;display:block}}.scroll-down-icon{z-index:100001;cursor:pointer;background:#b4b4b4d9;border:none;padding:0;transition:transform .2s;animation:1.2s infinite scrollDownBlink;position:fixed;bottom:24px;right:24px;box-shadow:0 2px 8px #0000001f;display:block!important}@keyframes scrollDownBlink{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.scroll-down-icon:hover{transform:scale(1.12)translateY(4px);box-shadow:0 4px 16px #0000002e}@media (max-width:600px){.scroll-down-icon{width:44px;height:44px;bottom:142px;right:12px}.scroll-down-icon svg{width:44px;height:44px}}
