:root{--ink:#263c43;--navy:#24465c;--muted:#6b7478;--paper:#faf8f3;--line:#e4e4dc;--gold:#ad8750;--blue:#e9f2f5;--white:#fff;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.85}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #347b9b;outline-offset:4px}button{border:0}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.6}button:disabled{opacity:.55;cursor:wait}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:12px;top:-80px;padding:8px 18px;background:white;z-index:9}.skip:focus{top:8px}.topbar{max-width:1440px;margin:auto;padding:23px 5%;display:flex;justify-content:space-between;align-items:center;background:var(--paper);gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.5;letter-spacing:.07em}.brand img{border-radius:50%;object-fit:cover}.brand-sub{display:block;font-size:16px;font-weight:600;letter-spacing:.04em}.topbar nav{display:flex;align-items:center;gap:28px;font-size:13px}.topbar nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.room-link{background:var(--navy);color:white;padding:9px 20px;border-radius:100px}.hero{position:relative;max-width:1440px;margin:auto;overflow:hidden;min-height:430px;background:#e8ddc7}.hero>img{width:100%;height:460px;object-fit:cover;object-position:65% center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,242,.95),rgba(255,252,242,.72) 27%,transparent 57%);pointer-events:none}.hero-caption{position:absolute;z-index:1;top:50%;transform:translateY(-50%);left:7%;max-width:420px}.hero-caption>span,.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600;color:var(--gold);display:block;margin-bottom:16px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(28px,3.2vw,44px);font-weight:500;letter-spacing:.07em;margin-bottom:18px}.hero p{font-size:14px;margin-bottom:24px}.text-link{font-size:13px;font-weight:600;letter-spacing:.03em}.promise{max-width:1120px;margin:auto;padding:48px 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-bottom:1px solid var(--line)}.promise>div{position:relative;padding-left:34px}.promise span{position:absolute;left:0;font-family:Georgia,serif;color:var(--gold);font-size:16px}.promise h2{font-size:14px;font-weight:600;margin-bottom:6px}.promise p{font-size:12px;color:var(--muted);margin:0}.journal{max-width:1120px;padding:68px 32px;margin:auto}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.section-head h2{font-family:"Yu Mincho",serif;font-size:27px;font-weight:500;letter-spacing:.04em;margin-bottom:24px}.section-head>p{font-size:12px;color:var(--muted);margin-bottom:28px}.eyebrow{margin-bottom:9px}.search{display:flex;gap:10px;max-width:470px;margin:0 0 22px}.search input{min-width:0;flex:1;border:1px solid var(--line);background:white;border-radius:8px;padding:9px 14px;font-size:14px}.search button{padding:8px 20px;border-radius:8px;background:var(--navy);color:white;font-size:13px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.chip{border:1px solid var(--line);padding:5px 17px;font-size:12px;border-radius:20px}.chip.active{color:white;background:var(--navy);border-color:var(--navy)}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.article-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:block;transition:transform .15s}.article-card:hover{transform:translateY(-3px)}.card-img,.card-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover}.card-placeholder{background:linear-gradient(125deg,#e5eef0,#f1e7d5);display:grid;place-items:center;font:italic 22px Georgia,serif;color:var(--navy)}.card-body{padding:23px}.tag{color:#866b43;font-size:11px;letter-spacing:.04em}.card-body h3{font-size:17px;margin:10px 0}.card-body>p{font-size:12px;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.empty{padding:48px 20px;text-align:center;background:white;border:1px dashed #d6d8d0;border-radius:16px}.empty-mark{display:block;font-size:25px;color:var(--gold);margin-bottom:12px}.empty h3{font-size:17px;font-weight:500}.empty p{font-size:13px;color:var(--muted)}.concierge{background:var(--blue);display:flex;gap:48px;align-items:center;padding:44px max(calc((100% - 920px)/2),32px);margin-top:12px}.concierge img{width:160px;height:160px;border-radius:50%;object-fit:cover;flex-shrink:0}.concierge h2{font:500 25px/1.65 "Yu Mincho",serif;letter-spacing:.05em;margin-bottom:15px}.concierge p{font-size:13px;color:#53656c}footer{max-width:1120px;margin:auto;padding:44px 32px 25px}.footer-brand{font-family:"Yu Mincho",serif;font-size:18px;margin-bottom:17px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;color:var(--muted)}footer>p{font-size:10px;color:var(--muted);margin:25px 0 0}.article{max-width:860px;margin:auto;padding:46px 32px 70px}.back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:28px}.article-heading h1,.page h1{font-family:"Yu Mincho",serif;font-size:32px;line-height:1.65;letter-spacing:.03em;margin:14px 0 18px;overflow-wrap:anywhere}.lede{color:var(--muted);font-size:15px}.article-meta{font-size:11px;color:var(--muted);margin-bottom:25px}.disclosure{font-size:12px;background:#efeee7;border-left:3px solid var(--gold);padding:14px 18px;margin-bottom:28px}.article-cover{width:100%;max-height:430px;object-fit:cover;border-radius:12px;margin-bottom:32px}.prose{overflow-wrap:anywhere;font-size:16px;line-height:2}.prose h2{font-size:23px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:45px}.prose h3{font-size:19px;margin-top:32px}.prose h4{font-size:17px}.prose p{margin-bottom:22px;white-space:pre-wrap}.prose a{color:#286e8d;text-decoration:underline;text-underline-offset:3px}.prose ul{padding-left:25px}.prose li{margin-bottom:9px}.prose code{background:#eeeee8;padding:2px 5px;border-radius:3px}.table-scroll{overflow-x:auto;margin:28px 0}.table-scroll table{min-width:500px;width:100%;border-collapse:collapse;font-size:13px;background:white}.table-scroll th,.table-scroll td{padding:12px 15px;border:1px solid var(--line);text-align:left;vertical-align:top}.table-scroll th{background:var(--blue);font-weight:600}.article-end{margin-top:50px;padding:30px;background:var(--blue);border-radius:14px}.article-end h2{font-size:19px}.article-end p{font-size:14px}.button{display:inline-block;background:var(--navy);color:white;border-radius:8px;padding:11px 23px;font-size:14px}.page{min-height:60vh}.admin-body{background:#f4f5f3}.admin-top{background:var(--navy);color:white;padding:17px 5%;display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-top h1{font-size:17px;margin:0}.admin-top a{font-size:12px}.admin-wrap{max-width:1160px;margin:auto;padding:28px 24px}.login-panel{max-width:460px;background:white;margin:48px auto;padding:32px;border-radius:16px;border:1px solid var(--line)}.login-panel h2{font-size:22px}.admin-body label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}.admin-body input,.admin-body textarea,.admin-body select{display:block;width:100%;border:1px solid #ced6d7;border-radius:7px;padding:10px 12px;background:white;font-size:16px;margin-top:6px;color:var(--ink)}.admin-body textarea{line-height:1.8;resize:vertical}.admin-body label small{font-weight:400;color:var(--muted);font-size:11px}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:25px}.secondary{background:white;border:1px solid #cdd6d9;border-radius:8px;color:var(--navy);padding:8px 16px;font-size:13px}.danger{color:#a13f3f;border-color:#dec4c4}.admin-grid{display:grid;grid-template-columns:265px 1fr;gap:25px}.admin-list,.editor-panel,.settings-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.admin-list h2,.settings-panel h2{font-size:16px}.article-choice{display:block;width:100%;text-align:left;background:#f7f8f5;border:1px solid var(--line);padding:13px;margin-bottom:10px;border-radius:8px;font-size:13px}.article-choice small{display:block;color:var(--muted);font-size:10px}.article-choice.selected{border-color:var(--navy);background:var(--blue)}.editor-panel h2{font-size:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:20px;position:sticky;bottom:0;background:white;border-top:1px solid var(--line);margin-top:20px;padding-bottom:10px}.hint{font-size:12px;color:var(--muted)}.status-message{padding:10px 15px;min-height:48px;font-size:13px;background:#e8f0e9;border-radius:8px;margin-bottom:20px;white-space:pre-wrap}.status-message.error{background:#fae9e5;color:#8d3025}.settings-panel{margin-top:25px}.settings-panel input{max-width:520px}.preview-box{margin-top:25px;border:1px solid var(--line);border-radius:12px;padding:25px;background:white}.preview-box>.preview-label{font-size:12px;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:10px}.preview-box .article-heading h1{font-size:26px}.cover-preview{max-width:260px;max-height:140px;object-fit:cover;border-radius:8px;margin-bottom:15px}[hidden]{display:none!important}
@media(max-width:800px){.topbar{padding:17px 5%;gap:12px}.brand-sub{font-size:13px}.brand img{width:35px;height:35px}.topbar nav{gap:14px;font-size:11px}.topbar nav>a:nth-child(2){display:none}.room-link{padding:7px 13px}.hero{min-height:0}.hero>img{height:auto;aspect-ratio:2/1;object-position:70% center}.hero:after{display:none}.hero-caption{position:relative;inset:auto;transform:none;background:#f1eee5;padding:29px 7% 33px;max-width:none}.hero-caption>span{font-size:9px}.hero h1{font-size:29px;margin-bottom:14px}.hero p{font-size:13px;margin-bottom:15px}.promise{padding:30px 6%;gap:16px}.promise>div{padding-left:0}.promise span{position:static;display:block;font-size:13px}.promise h2{font-size:12px}.promise p{font-size:10px}.journal{padding:43px 6%}.section-head{display:block}.section-head h2{font-size:24px;margin-bottom:14px}.section-head>p{margin-bottom:24px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card-body{padding:15px}.card-body h3{font-size:15px}.card-body>p{font-size:11px}.card-bottom{display:block}.card-bottom span{display:block;margin-top:5px}.concierge{padding:32px 6%;gap:24px}.concierge img{width:100px;height:100px}.concierge h2{font-size:20px}.concierge p{font-size:12px}.concierge .eyebrow{font-size:8px}.article{padding:30px 6% 50px}.article-heading h1,.page h1{font-size:26px}.article-end{padding:24px}.prose{font-size:16px}.admin-grid{grid-template-columns:1fr}.admin-list{padding:15px}.article-choices{display:flex;overflow-x:auto;gap:10px}.article-choice{min-width:180px;margin:0}.admin-wrap{padding:20px 15px}.editor-panel{padding:20px 16px}.form-row{grid-template-columns:1fr;gap:0}.editor-actions .button,.editor-actions .secondary{flex:1;min-width:110px}.admin-top h1{font-size:14px}}
@media(max-width:460px){.article-grid{grid-template-columns:1fr}.concierge{align-items:flex-start}.concierge img{width:76px;height:76px}.promise{gap:12px}.promise h2{font-size:11px}.empty{padding:34px 16px}.empty h3{font-size:15px}.topbar nav>a:first-child{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
