/* Compatibility fixes only; the original main.css / smart.css define the design. */
.phone-mobile { display:none !important; }
.phone-desktop { cursor:text; }
.static-contact { clear:both; margin:20px 0; padding:18px; border:1px solid #d7d7d7; background:#fff; line-height:1.8; }
.static-contact h2 { margin:0 0 12px; font-size:17px; }
.static-contact .contact-number { font-size:22px; font-weight:bold; }
.static-map { clear:both; margin:16px 0; padding:24px 12px; border:1px solid #ddd; background:#f8f8f8; text-align:center; }
.meteor-clip { position:relative; }
.meteor-clip .meteor-shim { display:block; width:100%; height:auto; visibility:hidden; }
.meteor-clip .mslide { display:none; position:absolute; inset:0; width:100%; }
.meteor-clip .mslide.is-active { display:block; }
.meteor-buttons button { width:10px; height:10px; padding:0; margin:0 3px; border:1px solid #777; border-radius:50%; background:#eee; cursor:pointer; overflow:hidden; text-indent:-9999px; vertical-align:middle; }
.meteor-buttons button[aria-pressed="true"] { background:#666; }
.meteor-buttons button:focus-visible { outline:2px solid #00699a; outline-offset:2px; }
@media screen and (max-width:768px) {
 .phone-desktop { display:none !important; }
 .phone-mobile { display:inline !important; }
 .static-contact { box-sizing:border-box; max-width:100%; }
 .static-map { box-sizing:border-box; max-width:100%; }
}

.static-contact { box-sizing:border-box; width:calc(100% - 40px); margin:20px auto; }

/* PHASE03: original map geometry, no host-page JS/API key. */
.restored-map { clear:both; width:100%; margin:16px 0; }
.restored-map iframe { display:block; width:100%; max-width:100%; height:400px; border:0; }
.map-caption { font-size:11px; line-height:1.6; padding:3px 0; }
.map-privacy p { overflow-wrap:anywhere; }
/* Only the former overflowing intermediate desktop range is changed. */
@media screen and (min-width:769px) and (max-width:959px) {
 #container { width:calc(100% - 32px); max-width:927px; }
 #header { height:260px; }
 #header .logo { position:absolute; float:none; margin:0; padding:0; left:0; top:190px; }
 #header ul.btn { float:none; display:flex; justify-content:flex-end; margin:0; }
 #header ul.menu { position:absolute; float:none; right:0; top:55px; margin:0; display:flex; flex-wrap:wrap; }
 #header .huusha { left:calc(50% - 40px); }
 #wrap { width:100%; }
 #article { float:none; width:674px; max-width:100%; margin:0 auto 40px; }
 #sidebar { float:none; display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:20px; width:100%; margin:0 auto 40px; }
 #sidebar > div { flex:0 0 250px; margin-bottom:0; }
 #footer { width:100%; max-width:100%; box-sizing:border-box; }
}
@media screen and (min-width:769px) and (max-width:959px) {
 #ritsumei { background-size:100% auto; }
 #header { height:280px; }
 #header .logo { top:205px; }
 #article { display:block; }
 #footer .f_left { float:none; display:block; margin:0 auto 20px; }
 #footer .f_right { float:none; display:block; width:674px; max-width:100%; margin:0 auto; }
}

/* Owner review fixes, 2026-11-07. */
#footer .f_menu > strong { display:block; margin-bottom:4px; }
.meteor-slides { width:670px; max-width:100%; }
.meteor-clip { overflow:hidden; }
.meteor-clip .mslide.is-leaving { display:block; }
.meteor-slides:focus-within ul.meteor-nav { display:block; }
@media (hover:none) { .meteor-slides.navboth ul.meteor-nav { display:block; } }
@media screen and (max-width:768px) {
 .guide_q { background-repeat:no-repeat; background-position:left top; }
}
