/* Responsive additions — desktop layout remains unchanged */
.pc{display:block}.sp{display:none}
@media(max-width:767px){
 *,*:before,*:after{box-sizing:border-box}
 html,body{width:100%;max-width:100%;overflow-x:hidden}
 body{font-size:14px;line-height:1.75;-webkit-text-size-adjust:100%}
 #wrapper,#header,#head,#contents,#contents_bm,#contents_head,#main_img,#slider,#slider ul,#slider li,#c_left,#c_right,#page,#page_box,#footer,#foot,#footer_inner{width:100%!important;max-width:100%!important;min-width:0!important}
 #wrapper{overflow:hidden}#header{height:auto!important;min-height:0!important;background-size:auto 100%;background-repeat:repeat-x}
 #head{height:auto!important;padding:10px 14px!important;display:flex;flex-direction:column;gap:6px}
 #h_left,#h_right{width:100%!important;float:none!important;height:auto!important}
 #h_copy{height:auto!important;line-height:1.5;font-size:10px}
 #logo h1 a{max-width:100%;background-size:contain!important}
 #h_right .h_address{text-align:left;font-size:12px}
 #h_right .h_tel{float:none;width:auto!important}
 #h_right .h_tel span{max-width:100%;background-size:contain!important}
 #h_right .h_access a{margin:4px 0!important;max-width:100%;background-size:contain!important}
 #navi.pc{display:none!important}.sp{display:block}
 .sp-nav{background:#fff;border-top:3px solid #9cc56c;position:relative;z-index:30}
 .sp-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 17px;background:#f0f7e8;border:0;color: #026295;font-weight:bold;font-size:16px;cursor:pointer}
 .sp-nav-toggle:after{content:'☰';font-size:23px;line-height:1}
 .sp-nav-toggle[aria-expanded=true]:after{content:'×'}
 .sp-nav-links{display:none;list-style:none;margin:0;padding:0}
 .sp-nav-links.is-open{display:block}
 .sp-nav-links li{margin:0;padding:0;border-bottom:1px solid #dce8d0}
 .sp-nav-links a{display:block;padding:12px 20px;color:#026295!important;background:#fff;text-indent:0!important;font-size:14px;font-weight:bold;line-height:1.5;height:auto!important;width:auto!important}
 #contents{padding:0 12px!important;margin:0 auto!important}
 #contents_head{height:auto!important}#contents_head img{display:block;width:100%!important;height:auto!important}
 #main_img{height:auto!important;margin:0!important;padding:0!important}
 #slider,#slider ul,#slider li{height:auto!important}#slider img,#main_img img{display:block;width:100%!important;height:auto!important}
 #contents_bm{display:flex!important;flex-direction:column!important;gap:18px;overflow:visible!important}
 #c_right{order:1;float:none!important;padding:0!important;margin:0!important}
 #c_left{order:2;float:none!important;padding:0!important;margin:0!important}
 #page,#page_box{padding:0!important;margin:0!important;float:none!important}
 #page_box{padding:12px!important}#page h2 img{max-width:100%;height:auto}
 #c_left > *,#c_left dl{max-width:100%!important}
 img,video,embed,object{max-width:100%;height:auto}
 iframe{max-width:100%}
 table{max-width:100%}#c_right table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
 td,th{overflow-wrap:anywhere}p,li,dd,dt{overflow-wrap:anywhere}
 .img_frame_right,.img_frame_left,img[align=right],img[align=left]{float:none!important;display:block;margin:12px auto!important;max-width:100%!important;height:auto!important}
 #c_left #banner table{display:table;width:auto!important;max-width:100%}
 #c_left #banner img{height:auto!important}
 #footer{height:auto!important;min-height:0!important;padding:16px 12px!important}
 [style*="width: 980px"],[style*="width:980px"]{max-width:100%!important}
.sp_none{
	display: none;
}
#page_box ul {
	margin-left: 0px;
}
.imgblock{
	display: block;
	text-align: center;
	margin: 0px auto;
}
#cat {
    width: auto;
}
#news {
    width: auto;
}
#news_box #text {
    margin-right: 0px;
    margin-left: 0px;
    font-size: 14px;
    width: auto;
}
#news_box #title {
    margin-right: 0px;
    margin-left: 0px;
}
#guide {
    width: auto;
}
#g_detail {
    width: auto;
    float: none;
}
#g_detail_t {
    width: auto;
}
#g_map {
	width: auto;
	float: none;
	text-align: center;
	margin: 20px 0px 0px 0px;
}
#time {
    width: auto;
    margin-top: 10px;
}
img.map_b{
    display: none;
}
#f_navi{
    display: none;
}
#foot{
    padding-top: 0;
    background: none;
	height: auto;
	text-align: center;
	padding-bottom: 0;
}
#map_big {
  width: auto;
}
#map_text {
  width: auto;
}
table.t_01 th,
table.t_01 td{
    font-size: 12px!important;
	padding: 5px;
}
table.t_01 td span{
    font-size: 12px!important;
}
.t_01 th:nth-child(1) {
	width: 15%!important;
}
.t_01 th:nth-child(2) {
	width: 40%!important;
}
.t_01 th:nth-child(3) {
	width: 30%!important;
}
.t_01 th:nth-child(4) {
	width: 15%!important;
}
#doc_img {
  float: none;
  text-align: center;
  display: block;
  margin: 0px auto;
}
.r_box {
  padding: 0;
  width: 100%;
}
.doc_img {
	width: auto;
	margin: 0;
	padding: 5px;
}
.dog_dental_docter{
	width: 35%;
}
.d_img {
  width: 70%;
  display: block;
  margin: 10px auto;
}
#setsubi {
  width: auto;
}
.contact_box{
  width: auto;
}
.img_right {
  float: none;
  display: block;
  text-align: center;
  margin: 0px auto 20px auto;
}
}
@media(min-width:768px){.sp{display:none!important}.pc_none{display: none;}}

/* ==========================================
   Top page mobile refinement / 2026-10-21
   Desktop appearance is intentionally unchanged.
   ========================================== */
@media screen and (max-width:767px) {
  /* Header: readable branding and a tappable telephone link */
  #header {background:#fff!important;box-shadow:0 2px 8px rgba(39,75,54,.08);}
  #head {display:block!important;padding:12px 15px 14px!important;}
  #h_left,#h_right {width:100%!important;float:none!important;}
  #h_copy {height:auto!important;margin:0 0 7px!important;font-size:10px!important;line-height:1.45!important;}
  #logo h1 {margin:0!important;padding:0!important;}
  #logo h1 a {display:block!important;width:min(280px,100%)!important;height:47px!important;margin:0!important;background-size:contain!important;background-position:left center!important;}
  #h_right {display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px!important;}
  #h_right .h_address {order:3;flex-basis:100%;font-size:11px!important;text-align:left!important;}
  #h_right .h_tel {order:1;flex:1 1 180px;min-width:0;float:none!important;}
  #h_right .h_tel span {width:100%!important;height:auto!important;min-height:32px!important;background:none!important;text-indent:0!important;overflow:visible!important;color:#2980b9;font-weight:700;font-size:20px;line-height:1.4;}
  #h_right .h_access {order:2;flex:0 0 auto;}
  #h_right .h_access a {display:flex!important;align-items:center;justify-content:center;width:auto!important;height:auto!important;min-height:36px;margin:0!important;padding:7px 12px!important;border:1px solid #91c1d4;border-radius:5px;background:#f1f9fc!important;text-indent:0!important;font-size:11px;font-weight:700;color:#267293;line-height:1.35;text-decoration:none;}
  /* Full-width hero: image stays proportional */
  #contents {padding:0!important;}
  #main_img,#slider,#slider ul,#slider li {width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;}
  #main_img {overflow:hidden!important;background:none!important;}
  #slider {margin:0!important;padding:0!important;}
  #slider ul,#slider li {margin:0!important;padding:0!important;float:none!important;}
  #slider img {display:block!important;width:100%!important;max-width:100%!important;height:auto!important;}
  #contents_bm {padding:16px 13px 24px!important;margin:0!important;}
  /* Six primary links: CSS cards instead of fixed-size image sprites */
  #c_right .top-feature-nav {width:100%!important;margin:0 0 20px!important;padding:0!important;}
  #c_right .top-feature-nav ul {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin:0!important;padding:0!important;list-style:none!important;}
  #c_right .top-feature-nav li {float:none!important;display:block!important;width:auto!important;height:auto!important;min-width:0!important;margin:0!important;padding:0!important;text-indent:0!important;}
  #c_right .top-feature-nav li a,
  #c_right .top-feature-nav li a:hover {display:flex!important;align-items:center;justify-content:center;position:relative;width:100%!important;height:auto!important;min-height:92px!important;padding:14px 10px 21px!important;border:1px solid #d8e5d0;border-radius:9px;background:#f5f9f0!important;box-shadow:0 2px 0 #d7e4cc;text-indent:0!important;text-align:center;color:#476c35!important;font-size:14px!important;font-weight:700;line-height:1.5!important;text-decoration:none!important;overflow-wrap:normal!important;}
  #c_right .top-feature-nav li a:after {content:'›';position:absolute;right:11px;bottom:4px;color:#8eac72;font-size:22px;font-weight:400;}
  #c_right .top-feature-nav li:nth-child(3n+2) a {background:#f1f8fa!important;border-color:#d2e7eb;box-shadow:0 2px 0 #d2e5e9;color:#31788b!important;}
  #c_right .top-feature-nav li:nth-child(3n) a {background:#fff8ee!important;border-color:#f0e0c5;box-shadow:0 2px 0 #eadcc7;color:#926b36!important;}
  #c_right .top-feature-nav + #cat {margin-top:8px!important;}
  /* Mobile menu below the brand; prevent small inherited sprite styles */
  .sp-nav-toggle {min-height:46px;}
  .sp-nav-links a {min-height:44px;}
}
@media screen and (max-width:360px) {
  #c_right .top-feature-nav ul {gap:8px!important;}
  #c_right .top-feature-nav li a {font-size:12px!important;padding:10px 7px 18px!important;min-height:88px!important;}
  #h_right .h_tel span {font-size:18px;}
}

/* Mobile refinement v3: original branding and supplied artwork */
@media screen and (max-width:767px){
 #header{position:relative;background:linear-gradient(to bottom,#fff 0%,#e6e6e6 100%)!important;box-shadow:0 1px 4px #b6c4c9!important;}
 #head{padding: 0px 106px 0px 0px !important;min-height: 47px !important;}
 #h_copy,#h_right .h_tel,#h_right .h_address{display:none!important;}
 #h_left{width:100%!important;}
 #logo,#logo h1{width:100%!important;max-width:280px!important;height:auto!important;}
 #logo h1 a{display:block!important;width:100%!important;max-width:280px!important;height:47px!important;background-image:url('../img/logo.jpg')!important;background-repeat:no-repeat!important;background-size:contain!important;background-position:left center!important;}
 #h_right{position:absolute!important;right:56px;top:3px;width:40px!important;margin:0!important;display:block!important;}
 #h_right .h_access a{display:flex!important;width:40px!important;height:40px!important;min-height:0!important;padding:0!important;overflow:hidden!important;white-space:nowrap;font-size:0!important;color:transparent!important;background:#f4f8f8!important;border:1px solid #c7d7d9!important;border-radius:5px!important;}
 #h_right .h_access a:before{content:'⌖';font-size:29px;color:#5597a5;line-height:1;}
 .sp-nav{position:absolute!important;right:6px;top:3px;z-index:99;width:44px;background:transparent!important;border:0!important;}
 .sp-nav-toggle{width:44px!important;height:40px!important;min-height:40px!important;padding:0!important;justify-content:center!important;font-size:0!important;background:#f4f8f8!important;border:1px solid #c7d7d9!important;border-radius:5px!important;}
 .sp-nav-toggle:after{font-size:25px!important;}
 .sp-nav-links{position:absolute;top:45px;right:0;width:min(300px,calc(100vw - 12px));box-shadow:0 5px 16px #0002;border:1px solid #d4dfdc;background:white;}
 #c_right .top-feature-nav li a,#c_right .top-feature-nav li a:hover{background:linear-gradient(#fff,#f4f5ee 72%,#e5e7d8)!important;border:1px solid #d5d9cb!important;border-radius:5px!important;box-shadow:0 2px 0 #d6d8c9!important;color:#8b997f!important;padding:12px 7px 12px 53px!important;min-height: 55px !important;font-size:12px!important;text-align:left!important;justify-content:flex-start!important;}
 #c_right .top-feature-nav li:nth-child(n) a{background:linear-gradient(#fff,#f4f5ee 72%,#e5e7d8)!important;border-color:#d5d9cb!important;color: #b9854c !important;box-shadow:0 2px 0 #d6d8c9!important;}
 #c_right .top-feature-nav li a:before{content:'';position:absolute;left:7px;top:50%;transform:translateY(-50%);width:33px;height:38px;background-repeat:no-repeat;background-size:contain;background-position:center;}
	
 #c_right .top-feature-nav li.bn1 a:before{background-image:url('../img/box_navi01.png');}
 #c_right .top-feature-nav li.bn2 a:before{background-image:url('../img/box_navi02.png');}
 #c_right .top-feature-nav li.bn3 a:before{background-image:url('../img/box_navi03.png');}
 #c_right .top-feature-nav li.bn8 a:before{background-image:url('../img/box_navi04.png');}
 #c_right .top-feature-nav li.bn_dental a:before{background-image:url('../img/box_navi05.png');}
 #c_right .top-feature-nav li.bn6_3 a:before{background-image:url('../img/box_navi06.png');}
#cat .neko2 a:hover {
  background-position: 0 0px;
}
#cat .other a:hover {
  background-position: 0 0px;
}
 #c_right .top-feature-nav li a:after{right:5px;bottom:1px;font-size:18px;color:#a9b6a0;}
 #cat,#cat ul{width:100%!important;max-width:100%!important;}
 #cat ul{display:grid!important;grid-template-columns:1fr;gap:9px;padding:0!important;margin:0!important;}
 #cat li,#cat li a{display:block!important;float:none!important;width:100%!important;max-width:320px!important;height:auto!important;aspect-ratio:320/105;margin:0 auto!important;padding:0!important;overflow:hidden!important;font-size:0!important;text-indent:-9999px!important;background-size:100% 100%!important;background-repeat:no-repeat!important;}
 #cat .neko2 a,#cat .neko2 a:hover{background-image:url('../img/neko2_sp.png')!important;}
 #cat .other a,#cat .other a:hover{background-image:url('../img/welcome_sp.png')!important;}
 .map-text-link .sp{display:inline!important;}
 #g_map .map-text-link{display:block;text-align:center;margin:8px auto;padding:10px 12px;border:1px solid #d3ded6;border-radius:4px;background:linear-gradient(#fff,#e8eee8);color:#c18346;text-decoration:none;font-size:14px;font-weight:bold;}
 .schedule-hint{font-size:12px;color:#548a8c;margin:8px 0 5px!important;text-align:right;}
 #time .schedule-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
 #time .schedule-scroll #time_t{display:table!important;width:680px!important;min-width:680px!important;max-width:none!important;overflow:visible!important;table-layout:fixed;}
 #time .schedule-scroll #time_t td{overflow-wrap:normal!important;word-break:normal!important;}
}

/* SP header: Google Maps-style location pin */
@media screen and (max-width:767px){
 #h_right .h_access a::before{content:""!important;display:block!important;width:25px!important;height:25px!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235597a5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%205-8%2012-8%2012S4%2015%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.7%22%2F%3E%3C%2Fsvg%3E")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;font-size:0!important;}
}


/* SP sidebar navigation: full-width text links (2026-10-24) */
@media screen and (max-width:767px) {
  #c_left #c_l_navi, #c_left #c_l_navi2 {
    display:block!important;width:100%!important;max-width:none!important;
    height:auto!important;margin:0 0 22px!important;padding:0!important;
    background:none!important;
  }
  #c_left #c_l_navi .n_t, #c_left #c_l_navi2 .n_t2 {
    width:100%!important;height:auto!important;min-height:40px!important;
    margin:0!important;padding:10px 14px!important;
    background:linear-gradient(to bottom,#f7a5a9,#e37e84)!important;
    border:1px solid #db8c91;border-radius:4px 4px 0 0;
    color:#fff!important;font-size:15px!important;font-weight:bold;
    line-height:1.5!important;text-indent:0!important;text-align:left;
  }
  #c_left #c_l_navi2 .n_t2 {
    background: linear-gradient(to bottom,#f7a5a9,#e37e84) !important;
    border-color:#79aaa8;
	  border:1px solid #db8c91;
  }
  #c_left #c_l_navi ul, #c_left #c_l_navi2 ul {
    display:block!important;width:100%!important;margin:0!important;
    padding:0!important;list-style:none!important;
	   border: 1px solid #cccccc!important;
  }
  #c_left #c_l_navi li, #c_left #c_l_navi2 li {
    display:block!important;width:100%!important;margin:0!important;padding:0!important;
  }
  #c_left #c_l_navi li a, #c_left #c_l_navi li a:hover,
  #c_left #c_l_navi2 li a, #c_left #c_l_navi2 li a:hover {
    position:relative;display:flex!important;align-items:center;
    width:100%!important;max-width:none!important;height:auto!important;
    min-height:45px!important;margin:0!important;padding:11px 34px 11px 14px!important;
    background: #2A7B9B;
background: linear-gradient(0deg,rgba(42, 123, 155, 1) 0%, rgba(241, 237, 234, 1) 0%, rgba(253, 253, 252, 1) 100%);
	border:0!important;border-bottom:1px solid #e4e4e4!important;
    color:#bd7378!important;text-indent:0!important;
    font-size:14px!important;font-weight:normal!important;line-height:1.55!important;
    text-decoration:none!important;box-shadow:none!important;
  }
  #c_left #c_l_navi2 li a, #c_left #c_l_navi2 li a:hover {color: #bd7378 !important;}
  #c_left #c_l_navi li a::after, #c_left #c_l_navi2 li a::after {
    content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;
    border-top:1px solid #aaa;border-right:1px solid #aaa;
    transform:translateY(-50%) rotate(45deg);
  }
  #c_left #c_l_navi li a:active, #c_left #c_l_navi2 li a:active {background:#f7f8f5!important;}
  /* Keep the original blog / social artwork, centered instead of stretched. */
  #c_left #blog, #c_left #insta, #c_left #req, #c_left #link,
  #c_left #fb, #c_left #banner {
    width:100%!important;max-width:100%!important;
    margin-left:auto!important;margin-right:auto!important;
    text-align:center!important;float:none!important;
  }
  #c_left #blog a, #c_left #insta a, #c_left #req a, #c_left #link a {
    width:222px!important;max-width:100%!important;
    margin:0 auto 7px!important;background-position:0 0!important;
  }
  #c_left #banner table {margin:0 auto!important;}
  #c_left #fb iframe, #c_left #fb .fb-page {margin-left:auto!important;margin-right:auto!important;}
}


/* Lower-page image titles: keep desktop art, use readable text on phones */
@media screen and (max-width:767px) {
  #contents h2.responsive-page-title {
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:40px!important;
    margin:0 0 16px!important;
    padding:8px 12px 3px!important;
    border:1px solid #deded3!important;
    border-bottom:2px solid #e69b77!important;
    background:linear-gradient(to bottom,#fffefa 0%,#f2f0e5 100%)!important;
    color:#c47d39!important;
    font-size:clamp(17px,4.6vw,18px)!important;
    font-weight:normal!important;
    line-height:1.5!important;
    text-align:left!important;
    text-indent:0!important;
  }
  #contents h2.responsive-page-title > img.pc {display:none!important;}
  #contents h2.responsive-page-title > span.sp {display:block!important;}
}

/* Mobile: keep the complete header visible while scrolling.
   Fixed positioning works even when #wrapper has overflow:hidden. */
@media screen and (max-width:767px) {
  #wrapper {
    padding-top:47px!important;
  }
  #header {
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:47px!important;
    min-height:47px!important;
    z-index:9999!important;
  }
  #header #head {height:47px!important;}
  #header .sp-nav {z-index:10000!important;}
}
