/* Clinic information pages: shared cards, headings and accessible forms. */
.clinic-preview #page.clinic-guide{padding:0;overflow:hidden;background:#fff}.clinic-guide .guide-index{display:flex;flex-wrap:wrap;gap:9px;padding:22px 28px;background:#f5f9f6;border-bottom:1px solid #e0eae3}.clinic-guide .guide-index a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;background:#fff;border:1px solid #dbe8df;border-radius:8px;color:#426b56;text-decoration:none;font-size:12px;line-height:1.6}.clinic-guide .guide-index a:hover,.clinic-guide .guide-index a:focus-visible{background:#e9f4ee;border-color:#8ab7a0}.clinic-guide .guide-index a span{color:#659e82}.clinic-guide .guide-section,.clinic-guide .guide-lead{padding:32px;border-bottom:1px solid #e3ece6;scroll-margin-top:24px}.clinic-guide .guide-section:last-child{border-bottom:0}.clinic-guide .guide-lead{background:linear-gradient(135deg,#edf6ef,#fcfdfb)}.clinic-preview #main .clinic-guide .guide-section>h3{display:flex;align-items:center;gap:14px;padding:0;margin:0 0 26px;border:0;background:none;color:#2d5b43;font-size:22px;line-height:1.6}.clinic-guide .guide-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;border-radius:10px;background:#e9f4ed;font-size:13px;color:#4b8a68;letter-spacing:.04em}.clinic-guide .guide-eyebrow{display:block;font-size:11px;font-weight:bold;letter-spacing:.16em;color:#799d88;margin-bottom:12px}.clinic-preview #main .clinic-guide p,.clinic-guide .guide-copy{font-size:14px;line-height:2;color:#445e50;overflow-wrap:anywhere}.clinic-preview #main .clinic-guide p{margin:0 0 16px}.clinic-preview #main .clinic-guide p:last-child{margin-bottom:0}.clinic-preview #main .clinic-guide h4{background:none;border:0;border-left:3px solid #7cab91;color:#365f47;font-size:17px;line-height:1.7;padding:3px 0 3px 14px;margin:28px 0 16px}.clinic-guide .facility-grid{display:grid;gap:24px}.clinic-guide .facility-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.clinic-guide .facility-card{min-width:0;background:#fff;border:1px solid #dfeae2;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px #244d3c05}.clinic-guide .facility-card figure{margin:0;background:#f3f7f4;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.clinic-preview #page .facility-card figure img{display:block;float:none;margin:0;width:100%;height:100%;object-fit:contain;max-width:100%;border-radius:0}.clinic-guide .facility-rooms figure{height:205px}.clinic-guide .facility-copy{padding:23px}.clinic-preview #main .facility-copy h4{margin:0 0 12px;border:0;padding:0;font-size:18px}.clinic-preview #main .facility-copy p{font-size:13px;line-height:1.95}.clinic-guide .facility-floor{display:inline-block;padding:3px 10px;margin:0 0 10px;border-radius:20px;background:#eaf4ed;color:#548667;font-size:11px;font-weight:bold}.clinic-guide .facility-equipment .facility-card{display:grid;grid-template-columns:220px minmax(0,1fr)}.clinic-guide .facility-equipment figure{padding:20px;box-sizing:border-box;min-height:190px}.clinic-preview #page .facility-equipment figure img{height:auto;max-height:250px;width:100%;object-fit:contain}.clinic-guide .guide-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.clinic-guide a.guide-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 20px;background:#347e60;color:#fff;border:1px solid #347e60;border-radius:8px;text-decoration:none;font-size:13px;font-weight:bold;transition:background .18s}.clinic-guide a.guide-button-light{color:#3f7357;background:#fff;border-color:#cbded1}.clinic-guide a.guide-button:hover{background:#225b43;color:#fff}.clinic-guide .access-address{background:linear-gradient(135deg,#f1f8f3,#fff)}.clinic-guide .access-map-frame{border:1px solid #dbe7df;border-radius:13px;overflow:hidden;background:#f0f5f1}.clinic-guide .access-map-frame iframe{display:block;border:0;width:100%;height:380px}.clinic-guide .access-routes{display:grid;gap:16px}.clinic-guide .access-route{display:flex;gap:20px;padding:22px;background:#f7faf7;border:1px solid #e0ebe2;border-radius:12px}.clinic-guide .guide-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;height:48px;background:#e5f1e9;color:#518064;border-radius:13px}.clinic-guide .guide-icon svg{width:25px;height:25px}.clinic-preview #main .access-route h4{margin:0 0 7px;border:0;padding:0;font-size:16px}.clinic-preview #main .access-route p{margin:0;font-size:14px}.clinic-preview #page.clinic-guide table{width:100%!important;max-width:100%;border:1px solid #dce8df;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;margin:18px 0;font-size:13px;height:auto!important}.clinic-preview #page.clinic-guide table th{background:#edf5ef;color:#426b51;font-weight:700;padding:14px 16px;line-height:1.8;border:0;border-bottom:1px solid #dce8df;vertical-align:top}.clinic-preview #page.clinic-guide table td{padding:14px 16px;line-height:1.9;border:0;border-bottom:1px solid #e4ece6;color:#425c4c}.clinic-preview #page.clinic-guide table tr:last-child>th,.clinic-preview #page.clinic-guide table tr:last-child>td{border-bottom:0}.clinic-preview #page.clinic-guide .clinic-table-scroll{margin:18px 0;border-radius:10px;max-width:100%;overflow-x:auto}.clinic-preview #page.clinic-guide .clinic-table-scroll table{margin:0}.clinic-preview #page.clinic-guide .clinic-restored-table:not(.clinic-keyvalue-table){min-width:660px}.clinic-guide-clinic .guide-copy>h4{margin-top:30px}.clinic-preview #page.clinic-guide-clinic .t2 th{width:160px;scroll-margin-top:24px}.clinic-guide-hospitalization .guide-copy>.introduction{display:flow-root;padding:18px;background:#f0f6f1;border-radius:12px;margin-bottom:22px}.clinic-guide-hospitalization .introduction img{border-radius:10px;max-width:45%;height:auto}.clinic-guide .contact-phone{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:22px;padding:24px;background:#edf6ef;border:1px solid #dbeade;border-radius:12px;color:#356a4c;text-decoration:none}.clinic-guide .contact-phone span{font-size:12px}.clinic-guide .contact-phone strong{font-size:29px;line-height:1.5;letter-spacing:.05em}.clinic-guide .contact-phone small{font-size:11px;color:#6a8d75}.clinic-guide .contact-form-lead{padding:16px 20px;background:#f4f8f5;border-radius:9px;margin-bottom:26px!important}.clinic-guide .fluentform{margin:22px 0 0}.clinic-guide .fluentform .ff-el-group{margin-bottom:24px}.clinic-guide .fluentform .ff-el-input--label label{color:#365d47;font-size:14px;font-weight:700;margin-bottom:9px}.clinic-guide .fluentform .ff-el-form-control{background:#fcfdfb;border:1px solid #cbded1;border-radius:8px;padding:12px 14px;height:auto;min-height:47px;box-shadow:none;color:#34513f;font-size:15px;line-height:1.7;max-width:100%;box-sizing:border-box}.clinic-guide .fluentform textarea.ff-el-form-control{min-height:175px}.clinic-guide .fluentform .ff-el-form-control:focus{border-color:#528b69;outline:3px solid #528b691c;outline-offset:1px;background:#fff}.clinic-guide .fluentform button.ff-btn-submit{display:block;min-width:200px;max-width:100%;margin:32px auto 6px;background:#347e60;border:0;border-radius:9px;color:#fff;padding:15px 28px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #245d4317}.clinic-guide .fluentform button.ff-btn-submit:hover{background:#245e45}.clinic-guide .fluentform .ff-message-success{padding:22px;border:1px solid #b9d5c3;border-radius:10px;background:#edf6ef;color:#305b42}
@media(max-width:1100px){.clinic-guide .facility-equipment .facility-card{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:600px){.clinic-guide .guide-section,.clinic-guide .guide-lead{padding:25px 18px}.clinic-guide .guide-index{padding:17px;gap:8px}.clinic-guide .guide-index a{flex:1 1 130px;padding:10px 12px;font-size:11px;gap:10px}.clinic-preview #main .clinic-guide .guide-section>h3{font-size:19px;gap:10px;margin-bottom:21px}.clinic-guide .guide-number{flex-basis:31px;height:31px;font-size:11px;border-radius:8px}.clinic-guide .facility-rooms{grid-template-columns:minmax(0,1fr)}.clinic-guide .facility-rooms figure{height:auto;min-height:185px;padding:15px}.clinic-preview #page .facility-rooms figure img{width:auto;max-height:220px;height:auto;max-width:100%}.clinic-guide .facility-copy{padding:20px}.clinic-guide .facility-equipment .facility-card{grid-template-columns:minmax(0,1fr)}.clinic-guide .facility-equipment figure{min-height:0;padding:22px}.clinic-preview #page .facility-equipment figure img{width:auto;max-height:210px}.clinic-guide .access-map-frame iframe{height:300px}.clinic-guide .access-route{padding:18px 15px;gap:14px}.clinic-guide .guide-icon{flex-basis:39px;height:39px;border-radius:10px}.clinic-guide .guide-actions{flex-direction:column}.clinic-guide a.guide-button{gap:12px}.clinic-preview #page.clinic-guide table th,.clinic-preview #page.clinic-guide table td{padding:12px;font-size:12px}.clinic-preview #page.clinic-guide-clinic .t2,.clinic-preview #page.clinic-guide-clinic .t2 tbody,.clinic-preview #page.clinic-guide-clinic .t2 tr,.clinic-preview #page.clinic-guide-clinic .t2 th,.clinic-preview #page.clinic-guide-clinic .t2 td{display:block;width:auto!important;min-width:0;box-sizing:border-box}.clinic-preview #page.clinic-guide-clinic .t2 td{font-size:13px}.clinic-guide .fluentform .ff-el-group{margin-bottom:22px}.clinic-guide .fluentform .ff-el-form-control{font-size:16px}.clinic-guide .contact-phone strong{font-size:26px}.clinic-guide-hospitalization .introduction img{float:none;width:100%;max-width:100%;margin:0 0 15px}}


/* Clinic contact form: paired name fields and a calm, focused form panel. */
.clinic-preview #page.clinic-contact #contact-form{background:linear-gradient(145deg,#f5faf6,#fff 55%)}
.clinic-contact #contact-form .contact-form-lead{background:none;padding:0;margin-bottom:24px!important;color:#718576;font-size:13px}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform{padding:28px;background:#fff;border:1px solid #dce9df;border-radius:15px;box-shadow:0 8px 28px #244d3c06}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform fieldset{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:25px;min-width:0}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-group{grid-column:1/-1;margin:0;min-width:0}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-group:has(input[name="your-name01"]),:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-group:has(input[name="your-name02"]){grid-column:auto}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-input--label{margin-bottom:9px}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-input--label label{display:inline-flex;align-items:center;gap:9px;margin:0;color:#335c46;font-size:14px;line-height:1.6}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-input--label.ff-el-is-required label:after{content:"必須";display:inline-block;margin:0;padding:2px 7px;color:#527a60;background:#eaf3ec;border-radius:4px;font-size:10px;font-weight:600;line-height:1.6;vertical-align:middle}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-form-control{background:#f7faf7;border:1px solid #d5e2d9;border-radius:9px;min-height:51px;padding:13px 15px;font-size:15px;transition:background .18s,border-color .18s,box-shadow .18s}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-form-control:hover{border-color:#a4c4af}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-form-control:focus{background:#fff;border-color:#579c75;outline:0;box-shadow:0 0 0 3px #66a98420}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform textarea.ff-el-form-control{min-height:195px;resize:vertical}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff_submit_btn_wrapper{border-top:1px solid #e5ede7;padding-top:25px;margin-top:2px;text-align:center}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform button.ff-btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-width:240px;margin:0;padding:16px 26px;border-radius:9px;background:#347f5f;box-shadow:0 4px 12px #27634419;line-height:1.6;transition:background .18s,transform .18s}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform button.ff-btn-submit:after{content:"→";font-size:18px;font-weight:400;line-height:1}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform button.ff-btn-submit:hover{background:#255f45;transform:translateY(-1px)}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform button.ff-btn-submit:focus-visible{outline:3px solid #73b99a;outline-offset:4px}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform button.ff-btn-submit:disabled{transform:none;opacity:.65;cursor:wait}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-is-error .ff-el-form-control{border-color:#b55757;background:#fff8f7}
:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .error.text-danger{font-size:12px;margin-top:7px}
@media(max-width:600px){:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform{padding:22px 16px;border-radius:12px}:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform fieldset{column-gap:12px;row-gap:22px}:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-input--label label{font-size:13px;gap:7px}:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff-el-form-control{font-size:16px;padding:12px;min-height:49px}:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform .ff_submit_btn_wrapper{padding-top:22px}:is(.clinic-contact #contact-form,.clinic-guide-hospitalization) .fluentform button.ff-btn-submit{min-width:0;width:100%;gap:24px}}

/* Monthly outpatient changes: group every original entry by physician. */
.clinic-guide .clinic-monthly-notice{margin-top:32px;padding:25px;background:#f5f8f4;border:1px solid #e1e9db;border-radius:13px}
.clinic-preview #main .clinic-guide .clinic-monthly-title{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 22px;padding:0;border:0;background:none;color:#385e45;font-size:18px;line-height:1.7}
.clinic-guide .monthly-label{display:inline-block;padding:4px 10px;border-radius:5px;background:#e6eee0;color:#718058;font-size:10px;font-weight:700;letter-spacing:.06em}
.clinic-guide .monthly-doctors{display:grid;gap:15px}
.clinic-guide .monthly-doctor{display:grid;grid-template-columns:220px minmax(0,1fr);background:#fff;border:1px solid #dfe8dd;border-radius:10px;overflow:hidden}
.clinic-preview #main .clinic-guide .monthly-doctor h5{display:flex;align-items:flex-start;gap:11px;padding:22px 17px;margin:0;border:0;background:#edf4ec;font-size:14px;line-height:1.9;color:#3c6348;font-weight:700}
.clinic-guide .monthly-doctor-icon{display:flex;align-items:center;justify-content:center;flex:0 0 29px;height:29px;background:#fff;border-radius:8px;color:#699578}
.clinic-guide .monthly-doctor-icon svg{display:block;width:22px;height:22px}
.clinic-preview #page.clinic-guide .monthly-doctor ul{display:grid;gap:9px;list-style:none;padding:18px;margin:0}
.clinic-preview #page.clinic-guide .monthly-doctor li{position:relative;padding:10px 12px 10px 27px;border:0;border-radius:6px;background:#f3f8f4;color:#456451;font-size:13px;line-height:1.8;margin:0;overflow-wrap:anywhere}
.clinic-preview #page.clinic-guide .monthly-doctor li:before{content:"";position:absolute;left:12px;top:19px;width:5px;height:5px;border-radius:50%;background:#80a58c}
.clinic-preview #page.clinic-guide .monthly-doctor .is-closed{background:#fbf6e9;color:#7f6b3d}
.clinic-preview #page.clinic-guide .monthly-doctor .is-closed:before{background:#bfa66c}
.clinic-preview #page.clinic-guide .monthly-doctor .is-surgery{background:#eef5f4;color:#4f7570}
.clinic-preview #page.clinic-guide .monthly-doctor .is-weekly{font-size:12px}
@media(max-width:600px){.clinic-guide .clinic-monthly-notice{padding:20px 14px;margin-top:26px}.clinic-preview #main .clinic-guide .clinic-monthly-title{font-size:17px;line-height:1.8}.clinic-guide .monthly-doctor{grid-template-columns:minmax(0,1fr)}.clinic-preview #main .clinic-guide .monthly-doctor h5{align-items:center;padding:14px 16px}.clinic-preview #page.clinic-guide .monthly-doctor ul{padding:14px;gap:9px}.clinic-preview #page.clinic-guide .monthly-doctor li{font-size:12px;padding:10px 11px 10px 25px}.clinic-preview #page.clinic-guide .monthly-doctor li:before{left:11px;top:18px}}

.clinic-preview #page.clinic-guide .monthly-doctor li{list-style:none}.clinic-preview #main .clinic-guide .monthly-doctor h5{letter-spacing:0}
