/* PAW login: the landing page's palette and rounded typeface.
   PC基準1080px＋左右28px。スマホの配置変更はentry-mobile.cssへ分離する。
   入力欄の100%等は、固定した親の枠内での寸法関係として維持する。 */
*{box-sizing:border-box}
body{margin:0}
h1,h2,h3,p{margin:0}
label{display:block}
a{color:inherit;text-decoration:none}
button{border:0;background:none;cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
svg{flex-shrink:0;vertical-align:middle}
button,input{font:inherit;-webkit-tap-highlight-color:transparent}
.paw-login{
  --login-ink:#244a33;--login-muted:#657f66;--login-line:#c8d9c1;
  min-width:1136px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:0 28px;
  color:var(--login-ink);background:linear-gradient(30deg,#b8d0a7 0%,#d7e7cf 55%,#fff 100%);
  font-family:"PAW M PLUS Rounded","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-weight:500;font-size:16px;line-height:1.75;
}
.paw-login :is(h1,h2,strong,b,button){font-weight:700}
.paw-login a:focus-visible,.paw-login button:focus-visible,.paw-login input:focus-visible{outline:3px solid #678f64;outline-offset:4px}
.paw-login-header{display:flex;justify-content:space-between;align-items:center;gap:20px;width:1080px;min-height:104px;margin:0 auto}
.paw-login-brand{display:inline-flex;align-items:center;gap:10px;flex:none;text-decoration:none}
.paw-login-brand img{display:block;width:52px;height:52px}
.paw-login-brand>span{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:28px;font-weight:700;line-height:1;letter-spacing:.02em}
.paw-login-brand small{font-size:10px;letter-spacing:.12em;color:#6d8d74}
.paw-login-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;font-size:14px;color:#547454}
.paw-login-back svg{width:16px;height:16px;transform:rotate(180deg)}
.paw-login-back:hover{color:#244a33;text-decoration:underline;text-underline-offset:5px}
.paw-login-shell{flex:1;display:grid;grid-template-columns:440px minmax(0,1fr);align-content:center;align-items:stretch;gap:64px;width:1080px;margin:0 auto;padding:28px 0 44px}
.paw-login-card{display:flex;flex-direction:column;justify-content:center;width:440px;justify-self:start;min-width:0;padding:36px;border:1px solid var(--login-line);border-radius:24px;background:rgba(252,254,249,.94);box-shadow:0 18px 55px rgba(48,82,48,.07)}
.paw-login-card h1{margin:0 0 40px;font-size:28px;line-height:1.5;color:var(--login-ink)}
.paw-login-form{--login-label-height:26px;--login-label-gap:8px;display:grid;gap:30px}
.paw-login-field{min-width:0}
.paw-login-field>label{margin:0 0 var(--login-label-gap);font:inherit;font-weight:700;font-size:15px;line-height:var(--login-label-height)}
.paw-login-field input{display:block;width:100%;max-width:100%;min-width:0;height:56px;padding:14px 16px;border:1px solid #bbcfb4;border-radius:10px;background:#fff;color:#244a33;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5}
.paw-login-field input::placeholder{color:#8b9b87;opacity:1}
.paw-login-field input:focus{border-color:#638c60}
.paw-password-control{position:relative}
.paw-password-control input{padding-right:88px}
.paw-login .paw-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-width:68px;min-height:42px;padding:7px 8px;border-radius:7px;background:#eef5e8;color:#52744e;font:inherit;font-size:13px;font-weight:700;line-height:1.4}
.paw-login .paw-password-toggle:hover{background:#e2edd9}
.paw-login .form-error{margin:0;border:1px solid #e5beb7;border-radius:9px;padding:12px 14px;background:#fff0eb;color:#a33d32;font-size:14px;line-height:1.7}
.paw-login .form-error:empty{display:none}
.paw-login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;margin:calc(var(--login-label-height) + var(--login-label-gap)) 0 0;padding:14px 20px;border:1px solid #cf8541;border-radius:10px;background:#e9a15c;color:#fff;font:inherit;font-weight:700;font-size:18px;line-height:1.5;box-shadow:0 3px 0 rgba(116,72,29,.1);transition:background .15s}
.paw-login-submit:hover{background:#de914a}
.paw-login-submit svg{width:19px;height:19px}
.paw-login-footer{padding:16px 0 26px;text-align:center;color:#6c8364;font-size:12px;letter-spacing:.05em}
.paw-login .entry-notice{margin:0 0 24px;padding:14px 16px;border:1px solid #e4d4b7;border-radius:8px;background:#fbf6ec;color:#856b40;font-size:14px;line-height:1.8}
.paw-login-quote{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0 16px 0 24px;color:var(--login-ink)}
.paw-quote-category{display:inline-block;padding:4px 14px;border:1px solid #a4bf99;border-radius:999px;font-size:13px;line-height:1.8;color:#52744e;letter-spacing:.08em}
.paw-quote-body{display:flex;align-items:center;flex:1;width:100%;min-height:11em;margin:24px 0 14px;font-size:29px;line-height:2.2}
.paw-quote-text{width:100%;margin:0;font-size:inherit;line-height:inherit;font-weight:700;letter-spacing:.045em;overflow-wrap:anywhere;white-space:pre-line}
.paw-quote-text ruby{ruby-position:over}
.paw-quote-text rt{font-size:.46em;font-weight:500;letter-spacing:.035em;line-height:1}
.paw-quote-author{width:100%;min-height:1.75em;margin:0;text-align:right;font-size:15px;color:#52744e}
.paw-quote-meaning{width:100%;margin-top:28px;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.38)}
.paw-quote-meaning>span{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#64855b;letter-spacing:.1em}
.paw-quote-meaning p{min-height:3.9em;margin:0;font-size:16px;line-height:1.95;white-space:pre-line;overflow-wrap:anywhere}

@media(prefers-reduced-motion:reduce){.paw-login *{transition:none}}
