:root{font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;color:#163444;background:#f0fbff;font-size:16px;line-height:1.7;--sky:#159fdb;--yellow:#ffe15b;--pink:#ffafd2}*{box-sizing:border-box}body{margin:0}a{color:#075a83}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;border:2px solid #163444;border-radius:28px;background:var(--yellow);color:#163444;padding:10px 22px;min-height:48px;font-weight:700}button:hover{background:#ffed9b}button:disabled{opacity:.65;cursor:wait}button.quiet{background:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #cf2566;outline-offset:4px}[hidden]{display:none!important}header{max-width:1160px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;font-weight:900;font-size:30px;color:#163444;line-height:1.35}.brand span{display:block;font-size:16px;font-weight:600}main{max-width:1160px;margin:auto;padding:0 28px 50px}h1,h2,p{margin-top:0}h1{font-size:clamp(30px,4vw,46px);line-height:1.5;letter-spacing:.02em;margin-bottom:14px}h2{font-size:23px;line-height:1.5;margin-bottom:16px}.eyebrow{font-weight:800;letter-spacing:.12em;font-size:16px}.hero{background:var(--sky);color:white;border-radius:36px 36px 90px 36px;padding:40px 42px 32px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;min-height:310px}.hero p{margin-bottom:8px}.hero-note{margin-top:24px}.friends{width:35%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.friends img:first-child{width:76%;transform:rotate(-7deg)}.friends img:last-child{width:44%;margin-left:-14%;align-self:flex-start;animation:float 5s ease-in-out infinite}.panel{background:white;border:2px solid #163444;border-radius:24px;padding:26px 28px;box-shadow:4px 5px 0 #163444}.today-row{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin:28px 0 40px}.today{background:#fff5bc}.today strong{font-size:26px}.deadlines{background:#ffe4ef}.deadlines ul{padding-left:20px;margin-bottom:0}.demo{border-left:5px solid #ba5300;background:#fff3d5;padding:12px 16px;margin:20px 0 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.section-head h2{margin-bottom:0}.section-head span{font-size:16px}.tools nav{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app{text-decoration:none;color:inherit;display:block;background:white;border:2px solid #163444;border-radius:22px;padding:24px;box-shadow:3px 4px 0 #163444;transition:transform .15s}.app:hover{transform:translateY(-3px)}.app strong{display:block;font-size:22px;line-height:1.5;margin:12px 0 6px}.app .number{font-size:16px;font-weight:800;color:#075a83}.app .arrow{float:right;border-radius:50%;background:var(--yellow);width:34px;height:34px;text-align:center}.app:first-child{background:#d9f3ff}.coming{margin:24px 0 36px}.coming span{display:inline-block;padding:2px 12px;border-radius:20px;background:#ffdfed;margin-left:12px}.news article{border-top:1px solid #b5d9e8;padding:22px 0 4px}.news h3{font-size:20px;margin:8px 0}.news article p{white-space:pre-wrap;overflow-wrap:anywhere}.news small{font-size:16px;color:#456779}label{display:block;font-weight:700;margin:16px 0}input,textarea{display:block;width:100%;border:2px solid #7695a5;background:white;border-radius:12px;padding:12px;margin-top:6px;color:#163444}textarea{resize:vertical}#notice-form{background:#effaff;border-radius:16px;padding:20px;margin-bottom:24px}#message:not(:empty){padding:16px;background:#fff0f4;border:2px solid #a32953;border-radius:16px;margin:0 0 20px}.login{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:40px;margin-top:20px;background:#fff}.login>div{background:#d8f4ff;padding:26px;border-radius:20px}.login-friend{height:210px;max-width:100%}.login form{align-self:center}footer{max-width:1160px;margin:auto;padding:22px 28px 40px;border-top:1px solid #b5d9e8;font-weight:700}footer span{display:block;font-weight:400}.skip{position:absolute;left:12px;top:-70px;z-index:5;background:white;padding:12px}.skip:focus{top:10px}@keyframes float{50%{transform:translateY(-9px) rotate(5deg)}}@media(max-width:700px){header{padding:20px}.brand{font-size:25px}header button{padding:8px 12px}main{padding:0 18px 32px}.hero{padding:28px 24px 24px;border-radius:25px 25px 55px 25px;min-height:300px}.hero h1{font-size:28px}.hero-note{max-width:205px}.friends{position:absolute;right:0;bottom:10px;width:32%;opacity:1}.hero>div:first-child{position:relative;z-index:1}.today-row{grid-template-columns:1fr;gap:20px;margin:22px 0 32px}.panel{padding:22px}.tools nav{grid-template-columns:1fr 1fr;gap:14px}.app{padding:18px 15px}.app strong{font-size:20px}.app .arrow{width:28px;height:28px}.section-head{align-items:flex-start;flex-wrap:wrap}.section-head>span{display:none}.login{grid-template-columns:1fr;gap:20px;padding:20px}.login>div{position:relative;padding:20px}.login>div p{max-width:210px}.login-friend{height:100px;position:absolute;right:0;bottom:0}.login h1{font-size:30px}footer{padding:20px}.news .section-head button{width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

select{font:inherit;width:100%;padding:12px;border:2px solid #7695a5;border-radius:12px;background:white}input[type=checkbox]{display:inline-block;width:24px;height:24px;vertical-align:middle;margin-right:10px}#access-panel{margin:32px 0}#setup-key{display:block;overflow-wrap:anywhere;font-size:18px;background:#fff5bc;padding:12px}fieldset{border:1px solid #7695a5;border-radius:12px}
