*{box-sizing:border-box}body{color:#192d4d;background:#edf3fc;margin:0;font:16px/1.65 Arial,Noto Sans JP,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}main{max-width:1180px;margin:auto;padding:45px 24px}header{margin-bottom:30px}h1{margin:8px 0;font-size:32px;line-height:1.45}header p{color:#61718a;margin:0}.eyebrow{letter-spacing:.12em;color:#245cca;font-size:14px;font-weight:700}.layout{grid-template-columns:1.45fr 1fr;align-items:start;gap:24px;display:grid}section{background:#fff;border:1px solid #d7e2f3;border-radius:20px;padding:28px}h2{margin:10px 0 24px;font-size:22px}.month{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.month h2{margin:0}.month strong{font-size:46px;line-height:1}.month small{color:#6a7890;margin-left:10px;font-size:18px}.month>span{color:#687891;font-size:14px}.week,.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.week{text-align:center;color:#67768e;margin-bottom:10px;font-size:14px}.week span:first-child{color:#bd3c59}.week span:last-child{color:#245cca}.calendar button{color:#243d62;background:#fff;border:1px solid #dfe7f4;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:82px;display:flex}.calendar b{font-size:20px}.calendar small{white-space:nowrap;color:#73829b;font-size:12px}button.selected{color:#fff!important;background:#245cca!important;border-color:#245cca!important}button.selected small{color:#e1eaff}.calendar button:hover:not(:disabled){background:#f0f5ff;border-color:#245cca}button:disabled{cursor:default;color:#a4aebc!important;background:#f4f6f9!important}.note{color:#6c7a90;margin:20px 0 0;font-size:14px}.empty{color:#6e7d95;padding:35px 0 70px}.empty b{color:#d3e1fa;font-size:64px}.label{margin-bottom:8px;font-size:14px;font-weight:700}.times{gap:8px;margin-bottom:24px;display:flex}.times button{color:#22467a;background:#fff;border:1px solid #c7d6ee;border-radius:8px;flex:1;padding:10px 4px}label{margin:16px 0;font-size:14px;font-weight:700;display:block}em{color:#b43857;margin-left:8px;font-size:12px;font-style:normal}label small{color:#758198;margin-left:8px}input,textarea{color:#192d4d;background:#fff;border:1px solid #c7d5e9;border-radius:8px;width:100%;margin-top:7px;padding:12px;font-size:16px;display:block}input:focus,textarea:focus{outline-offset:2px;outline:2px solid #245cca}.submit{color:#fff;background:#245cca;border:0;border-radius:10px;width:100%;margin-top:20px;padding:15px;font-weight:700}.submit:disabled{color:#fff!important;background:#a2b6d9!important}.error{color:#b12e47}.success{background:#eef5ff;border-radius:12px;padding:20px}.receipt{overflow-wrap:anywhere;font-size:14px}.success button{color:#245cca;background:#fff;border:1px solid #b6caed;border-radius:8px;margin-top:20px;padding:10px}footer{text-align:center;color:#78869b;margin-top:30px;font-size:14px}button:focus-visible{outline-offset:3px;outline:3px solid #f4b537}@media (max-width:850px){.layout{grid-template-columns:1fr}main{padding:28px 16px}section{padding:20px}h1{font-size:26px}.calendar button{min-height:70px}}@media (max-width:420px){section{padding:16px}.calendar{gap:3px}.calendar button{min-height:58px}.calendar small{display:none}}.time-request{background:#fff8dd;border:1px solid #ddd5bf;border-radius:24px;max-width:700px;margin:45px auto;padding:30px}
