/* HPと同じ地球ビジュアル・ネイビー・明朝体を、静かなログイン画面に再構成。 */
:root{--navy:#0b162b;--blue:#56a7d5;--ink:#182b45;--muted:#526276;--line:#dce3eb;--sans:"Hiragino Sans","Yu Gothic",system-ui,sans-serif;--serif:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-family:var(--sans);font-synthesis:none;color:#fff;background:var(--navy);-webkit-text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}[hidden]{display:none!important}
.page{min-height:100svh;background:linear-gradient(90deg,rgba(7,17,35,.35),rgba(11,27,53,.65)),url('/brand/earth.webp') center/cover fixed;display:flex;flex-direction:column}
.header,.footer{width:calc(100% - 112px);max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.header{min-height:100px;border-bottom:1px solid #ffffff24;gap:24px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none}.brand img{width:49px;height:49px;object-fit:contain}.brand span{font:18px/1.3 Georgia,serif;letter-spacing:.22em}.header-label{font-size:12px;letter-spacing:.08em;color:#c5d3e4}
.layout{width:calc(100% - 112px);max-width:1264px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 408px;gap:clamp(48px,7vw,112px);align-items:center;padding:64px 0 72px}
.introduction{padding:0 0 20px}.eyebrow{display:flex;align-items:center;gap:18px;font-size:13px;letter-spacing:.14em;color:#8fc6e8;margin:0 0 30px}.eyebrow:before{content:"";width:32px;height:1px;background:var(--blue)}h1{font-family:var(--serif);font-weight:500;font-size:clamp(42px,4.1vw,64px);line-height:1.55;letter-spacing:.04em;margin:0 0 28px}.intro-copy{font-size:14px;line-height:2.15;color:#c5d3e4;margin:0;max-width:40em}.workspace-tools{list-style:none;display:flex;flex-wrap:wrap;gap:14px 22px;padding:24px 0 0;margin:32px 0 0;border-top:1px solid #ffffff2b;font-size:12px;color:#bdcde0}.workspace-tools li{display:flex;align-items:center;gap:9px}.workspace-tools li:before{content:"";width:5px;height:5px;border:1px solid #76acd0;transform:rotate(45deg)}
.login-panel{background:#fff;color:var(--ink);padding:36px 36px 28px;border-radius:4px;box-shadow:0 20px 70px #020a1d40;min-width:0;scroll-margin:20px}.panel-heading{display:flex;align-items:center;gap:10px;color:#416583;font-size:12px;letter-spacing:.05em;margin-bottom:24px}.lock-icon{width:23px;height:23px}h2{font-size:27px;line-height:1.5;font-weight:600;letter-spacing:.02em;margin:0 0 14px}.panel-description{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 28px}.google-login{display:flex;justify-content:center;min-height:44px}#google-button{min-height:44px;max-width:100%}.method-note{text-align:center;font-size:11px;color:var(--muted);margin:10px 0 0}.method-divider{display:flex;align-items:center;gap:14px;color:#748093;font-size:11px;margin:24px 0 16px}.method-divider:before,.method-divider:after{content:"";height:1px;background:var(--line);flex:1}
summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.password-method>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #bbc8d7;border-radius:3px;padding:13px 14px;font-size:12px;font-weight:600;min-height:48px}.password-method>summary:hover{background:#f2f6fa}.password-method[open]>summary svg{transform:rotate(180deg)}#password-login{display:grid;gap:16px;margin-top:22px}#password-login label{display:grid;gap:8px;font-size:12px;font-weight:500}input{width:100%;min-height:44px;border:1px solid #aebdce;border-radius:3px;padding:10px 12px;background:#fff;color:var(--ink);font-size:16px}.field-hint{font-size:11px;line-height:1.8;color:var(--muted);margin:-10px 0 0}.setup-method summary{font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:4px 0}.setup-method label{margin-top:14px}.setup-method .field-hint{margin:8px 0 0}.submit-button{border:0;border-radius:3px;background:#163c63;color:#fff;min-height:46px;font-size:13px;font-weight:600;cursor:pointer}.submit-button:hover{background:#235786}.submit-button:disabled{opacity:.55;cursor:wait}.help-copy{font-size:11px;line-height:1.9;color:var(--muted)}.access-note{font-size:11px;line-height:1.9;color:var(--muted);margin:20px 0 0}.contact-note{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:11px;line-height:1.9;color:var(--muted)}.contact-note strong{color:#354b64;font-weight:600}.contact-note p{margin:5px 0 0}.message{padding:12px 14px;background:#fff1ef;color:#932e25;border-left:3px solid #b1473e;font-size:12px;line-height:1.9;margin:20px 0 0;overflow-wrap:anywhere}
.footer{border-top:1px solid #ffffff24;min-height:70px;gap:20px;font-size:10px;color:#b0bfd2}.footer nav{display:flex;gap:24px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #53a9df;outline-offset:4px}.skip-link{position:absolute;top:8px;left:8px;z-index:5;padding:12px;background:#fff;color:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}
@media(min-width:1600px){.layout{padding-top:80px;padding-bottom:90px}}
@media(max-width:1000px){.header,.footer,.layout{width:calc(100% - 64px)}.layout{grid-template-columns:minmax(0,1fr) 360px;gap:32px}.login-panel{padding:30px 26px}.desktop-break{display:none}h1{font-size:42px}}
@media(max-width:760px){.page{background-attachment:scroll;background-position:35% top}.header,.footer,.layout{width:calc(100% - 40px)}.header{min-height:82px}.brand img{width:38px;height:38px}.brand{gap:8px}.brand span{font-size:14px;letter-spacing:.16em}.header-label{font-size:10px;max-width:8em;line-height:1.7;text-align:right}.layout{grid-template-columns:1fr;padding:38px 0 40px;gap:30px;max-width:480px}.introduction{padding:0}.eyebrow{font-size:11px;margin-bottom:18px;gap:12px}h1{font-size:32px;line-height:1.5;margin-bottom:16px}.intro-copy{font-size:12px;line-height:1.9}.workspace-tools{margin-top:20px;padding-top:18px;gap:12px;font-size:10px}.login-panel{padding:28px 24px 24px}h2{font-size:25px}.panel-heading{margin-bottom:18px}.footer{padding:18px 0;flex-direction:column;align-items:flex-start;gap:12px}.footer nav{gap:20px}}
/* GISのスタイルが遮断/遅延しても、公式ボタン自体を操作可能な寸法で保つ。 */
#google-button .S9gUrf-YoZ4jf{position:relative}
#google-button [role="button"]{width:280px;max-width:100%;min-height:44px;border:1px solid #747775;border-radius:4px;background:white;color:#1f1f1f;cursor:pointer;font:500 14px/1.4 var(--sans);padding:10px 12px}
#google-button .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{display:flex;align-items:center;justify-content:center;gap:12px}
#google-button .nsm7Bb-HzV7m-LgbsSe-Bz112c,#google-button svg{display:block;width:20px;height:20px;flex-shrink:0}
#google-button .L6cTce{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#google-button iframe[style*="height: 0px"]{border:0;width:0;height:0;display:block}
