.reservation-app{--ink:#17342d;--green:#176b58;--mint:#daf0e8;--cream:#f5f1e8;--coral:#ef765f;--line:#d9e2de;--muted:#687873;background:#fafbf9;color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif}
@scope (#reservationApp){*{box-sizing:border-box}:scope{margin:0;background:#fafbf9;color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand>i{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--green);color:var(--green);font:800 23px Georgia;border-radius:50%}.brand b{font:800 112px Arial;letter-spacing:.16em}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.11em}.tel{font-size:12px;color:var(--muted)}.tel b{margin-left:10px;color:var(--green);font-size:17px}.hero{padding:52px 7vw 0;background:linear-gradient(116deg,#eff7f3 0 60%,#e1eee8 60%)}.hero>small,.heading small{color:var(--coral);font:bold 12px Arial;letter-spacing:.18em}.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.17;margin:12px 0}.hero h1 em{font-style:normal;color:var(--green)}.hero>p{color:var(--muted);font-size:14px;line-height:1.8}.hero nav{display:flex;max-width:820px;margin-top:38px}.hero nav button{flex:1;border:0;border-bottom:3px solid transparent;background:#ffffff88;padding:17px;text-align:left;color:#81908b;font-weight:bold}.hero nav button i{display:block;font-style:normal;font:700 12px Arial}.hero nav button.on{background:#fff;color:var(--green);border-color:var(--coral)}main{max-width:1500px;margin:auto;padding:55px 5vw 90px}.heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.heading h2{font-size:clamp(25px,3vw,36px);margin:6px 0 0}.heading p{color:var(--muted);font-size:12px}.dateNav{display:grid;grid-template-columns:repeat(3,auto) minmax(220px,1fr) repeat(3,auto);gap:8px;background:#fff;padding:9px;border:1px solid var(--line);border-radius:14px}.dateNav button{border:0;background:#f4f7f5;color:var(--green);padding:10px;border-radius:8px}.dateNav label{text-align:center;position:relative}.dateNav label small{display:block;color:var(--muted)}.dateNav input{position:absolute;inset:0;opacity:0}.dateNav strong{font-size:18px}.legend{display:flex;gap:24px;align-items:center;padding:17px 4px;font-size:12px;color:var(--muted)}.legend i{font-style:normal;background:#eee;padding:5px 8px;border-radius:5px}.legend .ok{background:var(--mint);color:var(--green)}.legend>b{margin-left:auto;background:#fff0e8;color:#9b4c32;padding:8px 12px;border-radius:20px}.tableWrap{position:relative;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 50px #17342d16}table{border-collapse:separate;border-spacing:0;min-width:1250px;width:100%;font-size:12px}th,td{border-right:1px solid #edf0ee;border-bottom:1px solid #edf0ee;padding:0;text-align:center}thead th{height:45px;background:#f4f7f5;color:var(--muted);font-weight:normal}thead th:first-child,tbody th{position:sticky;left:0;z-index:3;width:154px;min-width:154px}thead th:first-child{background:var(--ink);color:#fff;z-index:4}tbody th{background:#fff;text-align:left;padding:11px 15px}tbody th b{font-size:14px}tbody th small{display:block;color:var(--muted)}td button{border:0;width:100%;height:48px;background:transparent;color:var(--green)}td button.busy,td button.hold{background:#f5f6f5;color:#97a39f}td button.selected{background:var(--green);color:#fff}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#ffffffcc;color:var(--green);font-weight:bold}#selection{position:sticky;bottom:15px;max-width:720px;margin:24px auto 0;background:var(--ink);color:#fff;border-radius:14px;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 40px #0d2c2350}#selection div{display:flex;gap:15px;align-items:baseline}#selection small{color:#aac0ba}#selection strong{font-size:19px}#selection button,.action button,.submit{border:0;background:var(--coral);color:#fff;padding:15px 20px;border-radius:8px;font-weight:bold}.equipmentLayout{display:grid;grid-template-columns:240px 1fr;gap:24px}#bookingTabs{display:flex;flex-direction:column;gap:9px}#bookingTabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px;text-align:left}#bookingTabs button.on{background:var(--mint);border-color:var(--green)}#bookingTabs b,#bookingTabs span,#bookingTabs small{display:block}#bookingTabs span,#bookingTabs small{color:var(--muted);font-size:12px}#bookingTabs .add{text-align:center;color:var(--green);border-style:dashed}.equipmentPanel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}#categories{display:flex;overflow:auto;border-bottom:1px solid var(--line)}#categories button{white-space:nowrap;border:0;border-bottom:3px solid transparent;background:#fff;padding:18px 15px;color:var(--muted)}#categories button.on{color:var(--green);border-color:var(--coral);font-weight:bold}#equipmentGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px}#equipmentGrid article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:15px}#equipmentGrid article>i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eef7f3;color:var(--green)}#equipmentGrid small{display:block;color:var(--muted)}.counter{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.counter button{border:0;background:#f4f7f5;width:30px;height:30px;color:var(--green)}.counter strong{width:30px;text-align:center;padding-top:6px}.action{margin-top:28px;background:var(--ink);color:#fff;border-radius:14px;padding:20px;display:flex;justify-content:flex-end;align-items:center;gap:35px}.action small{display:block;color:#aac0ba}.action strong{font-size:27px}.confirm{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.summary{position:relative;display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 40px 19px 18px;margin-bottom:10px}.summary>i{font:700 25px Georgia;color:#b8c6c1}.summary h3{margin:4px 0}.summary h3 em{font-style:normal;color:var(--muted);font-size:12px}.summary>strong{text-align:right}.summary>strong small{display:block;color:var(--muted)}.summary>button{position:absolute;right:8px;top:8px;border:0;background:none}.total{background:var(--ink);color:#fff;border-radius:12px;padding:22px;display:flex;justify-content:space-between}.total span small{display:block;color:#aac0ba}.total strong{font-size:28px}.confirm ul{color:var(--muted);font-size:12px;line-height:1.9}.confirm form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:27px;box-shadow:0 18px 60px #17342d18}.confirm form h3{margin-top:0}.confirm label{display:block;font-size:12px;font-weight:bold;margin-bottom:15px}.confirm label em{color:var(--coral);font-style:normal}.confirm input,.confirm select,.confirm textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:7px;padding:12px;background:#fbfcfb}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confirm .agree{display:flex;gap:8px;align-items:center}.confirm .agree input{width:auto;margin:0}.submit{width:100%}#formMessage{text-align:center;color:var(--green)}footer{display:flex;align-items:center;gap:50px;padding:35px 5vw;background:#e8f1ed;color:var(--muted);font-size:12px}footer>a{margin-left:auto;color:var(--green);font-size:20px;font-weight:bold}#toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:10;background:var(--ink);color:#fff;border-radius:30px;padding:13px 22px;box-shadow:0 10px 30px #0003}
@media(max-width:850px){.dateNav{grid-template-columns:repeat(3,1fr)}.dateNav label{grid-column:1/-1;grid-row:1}.equipmentLayout,.confirm{grid-template-columns:1fr}#bookingTabs{flex-direction:row;overflow:auto}#bookingTabs button{min-width:180px}#equipmentGrid{grid-template-columns:1fr}.heading{display:block}.two{grid-template-columns:1fr}}@media(max-width:560px){header{height:64px}.tel{font-size:0}.tel b{font-size:12px}.hero{padding:35px 20px 0}.hero h1{font-size:36px}.hero nav button{padding:12px 7px;font-size:12px}main{padding:40px 14px 65px}.legend{gap:8px;flex-wrap:wrap}.legend>b{margin-left:0}#selection{bottom:7px;z-index:8;align-items:stretch;flex-direction:column;gap:12px}#selection div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:10px;row-gap:3px}#selection div small{grid-column:1/-1}#selection strong{min-width:0;overflow-wrap:anywhere}#selection button{width:100%;font-size:12px}.action{justify-content:space-between;gap:8px}.summary{grid-template-columns:32px 1fr}.summary>strong{grid-column:2;text-align:left}footer{flex-wrap:wrap;gap:18px}footer>a{margin-left:0}}

}