:root{
--ai-text:#222;
--ai-muted:#666;
--ai-border:#e5e5e5;
--ai-main:#4b2121; --ai-sub:#a26261;
--ai-accent:#d08c93;
--ai-beige:#ded0c2;
} .entry-body{
color:var(--ai-text);
line-height:1.9;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
text-underline-offset:2px;
word-break:normal;
overflow-wrap:anywhere;
} .entry-body > * + *{ margin-top:1.25em; } .entry-body p{ margin:0; }
.entry-body p + p{ margin-top:1em; } .entry-body em{ font-style:italic; }
.entry-body strong{ font-weight:700; } .entry-body a{ text-decoration-thickness:2px; text-underline-offset:2px; }
.entry-body a:hover{ text-decoration-thickness:3px; } .entry-body img{ max-width:100%; height:auto; }
.entry-body figure{ margin:1.25em 0; }
.entry-body figcaption,
.entry-body .wp-element-caption{
color:var(--ai-muted);
font-size:0.95em;
line-height:1.6;
margin-top:0.5em;
} .entry-body hr{
border:none;
border-top:1px solid var(--ai-border);
margin:2em 0;
} .entry-body blockquote{
margin:1.5em 0;
padding:0.75em 1em;
border-left:4px solid var(--ai-beige);
background:rgba(222,208,194,.18);
color:#444;
}
.entry-body blockquote p:last-child{ margin-bottom:0; } .entry-body code{ background:#f6f6f6; padding:0 .3em; border-radius:3px; }
.entry-body pre{
background:#f6f6f6; padding:1em; border-radius:6px;
overflow-x:auto; line-height:1.7;
} h2,
h2.wp-block-heading{
font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;
font-weight:600;
font-size:1.6rem;
line-height:1.35;
border-bottom:3px solid #a26261; padding-bottom:.3em;
 margin:0 0 .9em; }
.entry-body h3.wp-block-heading{
margin-top:2em; margin-bottom:.6em;
padding-left:.6em; border-left:4px solid var(--ai-sub);
line-height:1.45; font-weight:700;
}
.entry-body h4.wp-block-heading{
margin-top:1.8em; margin-bottom:.5em;
padding:.25em .5em;
border-left:3px solid var(--ai-accent);
background:linear-gradient(90deg, rgba(208,140,147,.15), rgba(208,140,147,0));
line-height:1.5; font-weight:600;
} .entry-body h5.wp-block-heading{
margin-top:1.6em; margin-bottom:.4em;
padding-left:.5em;
border-left:2px solid var(--ai-border);
background:linear-gradient(90deg, rgba(222,208,194,.12), rgba(222,208,194,0));
line-height:1.5; font-weight:600;
}
.entry-body h6.wp-block-heading{
margin-top:1.4em; margin-bottom:.3em;
padding-left:.5em;
border-left:2px dotted var(--ai-border);
color:inherit; line-height:1.5; font-weight:600; opacity:.95;
} .entry-body h2 + p,
.entry-body h3 + p,
.entry-body h4 + p,
.entry-body h5 + p,
.entry-body h6 + p{ margin-top:.75em; } .entry-body ul,
.entry-body ol{ padding-left:1.4em; margin:1em 0; }
.entry-body li{ margin:.35em 0; line-height:1.9; }
.entry-body li > ul,
.entry-body li > ol{ margin-top:.35em; }
.entry-body li::marker{ color:var(--ai-sub); } .entry-body dl{ margin:1.2em 0; }
.entry-body dt{ font-weight:700; margin-top:.5em; }
.entry-body dd{ margin-left:1em; } .entry-body .wp-block-table{ margin:1.5em 0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.entry-body .wp-block-table table{
width:100%; min-width:640px; border-collapse:collapse; border-spacing:0;
}
.entry-body .wp-block-table th,
.entry-body .wp-block-table td{
border:1px solid var(--ai-border);
padding:.6em .8em; line-height:1.6; vertical-align:top;
}
.entry-body .wp-block-table thead th{
background:#f7f3f0; color:#222; font-weight:700;
}
.entry-body .wp-block-table tbody tr:nth-child(odd){
background:rgba(222,208,194,.25);
}
.entry-body .wp-block-table caption{
caption-side:bottom; color:var(--ai-muted); font-size:.95em; padding-top:.5em; text-align:left;
} .entry-body details{
margin:.9em 0; border:1px solid var(--ai-border);
border-radius:6px; padding:.6em .8em; background:#fff;
}
.entry-body details summary{ cursor:pointer; font-weight:600; list-style:none; }
.entry-body details summary::-webkit-details-marker{ display:none; }
.entry-body details summary::before{ content:"▶ "; color:var(--ai-sub); }
.entry-body details[open] summary::before{ content:"▼ "; }  :root{
--cs-open-bg: #87e087; --cs-closed-bg: #e08787; --cs-text: #ffffff;
--cs-banner-height: 0px; } body{ padding-top: var(--cs-banner-height); }
.clinic-status{
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1500;
width: 100%;
box-sizing: border-box;
margin: 0;
padding: 10px 16px 10px 64px;
border: none;
background: #888; color: var(--cs-text);
font-size: clamp(14px, 1.6vw, 18px);
line-height: 1.6;
text-align: center;
}
.clinic-status__inner{ display: block; }
.clinic-status__text{ font-weight: 700; letter-spacing: 0.02em; }
.clinic-status.is-open{  background: var(--cs-open-bg); }
.clinic-status.is-closed{ background: var(--cs-closed-bg); }
.clinic-status.is-loading{ opacity: .95; } body.admin-bar .clinic-status{ top: 32px; }
@media (max-width: 782px){
body.admin-bar .clinic-status{ top: 46px; }
}  .entry-body .wp-block-columns p {
margin: 0 0 1em; } .entry-body .wp-block-columns p:last-child {
margin-bottom: 0;
} .entry-body .wp-block-columns ul,
.entry-body .wp-block-columns ol {
margin-bottom: 1em;
}  .u-404__title {
color: #222;
border-bottom: 2px solid #d08c93;
display: inline-block;
padding-bottom: .35rem;
margin-bottom: 1rem;
font-size: 1.8rem;
font-weight: 700;
line-height: 1.3;
} .u-404__text {
color: #333;
margin-bottom: 1.25rem;
font-size: 1.1rem;
line-height: 1.7;
} .u-404__btns {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: .8rem;
margin-top: 1.2rem;
} .u-404__btn .wp-block-button__link {
background-color: #4b2121;
color: #fff;
border-radius: 10px;
padding: .9rem 1.2rem;
font-weight: 600;
transition: background-color .2s, transform .1s;
} .u-404__btn .wp-block-button__link:hover {
background-color: #d08c93;
transform: translateY(-1px);
}  html { font-size: 100%; } html[data-fz="sm"] { font-size: 93.75% !important; } html[data-fz="md"] { font-size: 100%   !important; } html[data-fz="lg"] { font-size: 112.5% !important; }  html[data-fz] body,
html[data-fz] .entry-content,
html[data-fz] .entry-content p,
html[data-fz] .entry-content li,
html[data-fz] .wp-block-paragraph,
html[data-fz] p, html[data-fz] li, html[data-fz] dt, html[data-fz] dd {
font-size: 1rem !important;
} .ai-fz-toggle{
position: fixed; z-index: 2147483647;
top: 12px; right: 12px;
display: inline-flex; align-items: center; gap: .5rem;
padding: .5rem .75rem; border-radius: 9999px;
border: 1px solid #8fb3ff; background: #e7f0ff;
box-shadow: 0 2px 8px rgba(0,0,0,.06);
font-size: .9375rem; cursor: pointer; user-select: none;
}
.ai-fz-toggle:hover { filter: brightness(.98); }
.ai-fz-toggle__dot{ width:6px; height:6px; border-radius:50%; background:#3b82f6; }
.ai-fz-toggle__label{ font-weight:600; }
.ai-fz-panel{
position: fixed; z-index: 2147483647;
display: none; gap: .5rem; padding: .5rem;
border-radius: 12px; border: 1px solid #cbd5e1;
background: #fff; box-shadow: 0 6px 24px rgba(0,0,0,.12);
}
@media (min-width:768px){ .ai-fz-panel{ right:12px; top:56px; bottom:auto; } }
@media (max-width:767.98px){ .ai-fz-panel{ right:12px; top:56px; } }
.ai-fz-btn{
min-width: 2.5rem; padding: .4rem .6rem;
border-radius: 10px; border: 1px solid #cbd5e1;
background: #f8fafc; font-size: .9375rem; line-height:1;
cursor: pointer;
}
.ai-fz-btn[aria-pressed="true"]{ border-color:#3b82f6; background:#e7f0ff; font-weight:700; } .ai-fz-toggle:focus-visible,.ai-fz-btn:focus-visible{ outline:2px solid #3b82f6; outline-offset:2px; }
.admin-bar .ai-fz-toggle{ top: calc(12px + 32px); } html, body {
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN",
Meiryo, sans-serif;
}