@charset "UTF-8";


@media screen and (max-width : 768px){

a, a:link { text-decoration:none; }

/* sp */
.sp { display:block!important; }
.sp_off { display:none!important; }


/* structure
====================================================================================================================================== */
.wrapper { margin:0; width:100%; }

#all { font-size:1.5em; }
#header { position:relative; height:60px; z-index:2; }
.g_navi { height:auto; }
#main { width:100%; margin:30px 0 80px; }
#main.page_in { }
#all #conts { width:auto; float:none; margin:0; padding:0 10px; }
#all #sidebar { clear:both; display:block; float:none; margin:0 auto; padding-top:10px; }
#footer { padding:20px 10px 15px; font-size:0.75em; }

/* common
====================================================================================================================================== */

.side_box, .center_box, .section_box { margin:0 0 30px; }

/*default heading*/
#conts h1, h2.top_heading { font-size:1.5em; /*border-left:none;*/ border-right:solid 1px #c8c9ca; padding:20px 12px 0; margin:0 0 20px; }
h2 { font-size:1.25em; padding:0 10px 8px 32px; margin-bottom:20px; }
h2:after { width:26px; height:22px; }
#sidebar h2 { margin-bottom:20px; padding-bottom:12px; }
h2.top_heading:after { display:none; }
#sidebar h2 { background:url(../images/line03.png) no-repeat center bottom; border:none; }
h2.page_title { margin-bottom:20px; padding:12px 12px 12px 50px; }
h2.page_title:after { width:34px; height:33px; left:10px; margin-top:-15px; }

/*container*/
#banner_sotomachi { margin-bottom: 30px; }
.section_box, .side_box, .center_box { margin-bottom:40px; }

/*heading*/
#sidebar .heading .more_btn { top:-5px; }

/*list*/
.list_box { padding-bottom:15px; margin-bottom:15px; }
.list_box .tit { line-height:1.5; }
.list_box .tit a { background-position:left 0.3em; }
.list_box .date { font-size:0.8em; }

/*banner*/
#conts a.bnr { font-size:0.9em; line-height:1.5; margin-bottom:15px; }
#conts a.bnr:after { right:10px; margin-top:-12px; width:14px; height:25px; }
#conts a.bnr .icon_img { width:180px; margin-right:15px; }
#conts a.bnr .icon_img img { height:120px; }
#conts a.bnr .tit { font-size:1.35em; padding-top:15px; padding-right:35px; }
#conts a.bnr .comment { padding-right:35px; }
#conts a.bnr .comment:before { right: 25px; }

/*movie*/
#conts video { width:100%; height:auto; }


/* 文章枠用CSS
====================================================================================================================================== */
/*画像2つ*/
.common_box02 .img_box, .common_box02 figure { overflow:hidden; }
#conts .common_box02 .img_box img, #conts .common_box02 figure img { float:none; width:auto; }

/*3列+コメント枠*/
#conts .common_box03 .box, .common_box03 a { overflow:hidden; }
.common_box03 figure, #conts .common_box03 .img_box { margin:15px; }
.common_box03 figure, #conts .common_box03 .img_box { max-height:120px; }
#conts .common_box03 h3 { margin-left:15px; margin-right:15px; }
#conts .common_box03 p { margin:0 15px 15px; }

/*水色枠*/
.point_box { background-size:100% auto; padding:10px 10px 5px; line-height:1.5; }


/* header
====================================================================================================================================== */
#header:after { content:""; position:absolute; left:0; bottom:-2px; display:block; width:100%; height:5px; background:url(../images/line01.png) repeat-x center top; background-size:auto 100%; overflow:hidden; }
/*サイトタイトル*/
#header #site_title { margin:13px 0 0 15px; }
#header #site_title .copy { font-size:0.88em; margin-bottom:15px; }
#header #site_title a { width:220px; height:34px; background-size:100% auto; }


/* globalnavi
====================================================================================================================================== */
#globalnavi { position:absolute; left:0px; top:60px; clear:both; width:100%; height:auto; z-index:100; display:none; }
/*メニューボタン*/
#menu_btn_sp { position:absolute; right:0; top:0; z-index:4; }
#menu_btn_sp a { display:block; width:60px; height:60px; background:url(../images/icon_menu.png) no-repeat center center; background-size:34px auto; text-indent:100%; white-space:nowrap; overflow:hidden; }

#globalnavi { background:#fff; }

.g_navi:before, .g_navi:after, #main_visual:after { background-size:auto 100%; height:4px; }

#globalnavi.g_navi:before, #globalnavi.g_navi:after { display:none; }

.g_navi ul { width:100%; font-size:0.88em; }
#globalnavi.g_navi ul li, #all #footernavi.g_navi ul li { width:50%; border-bottom:solid 1px #c8c9ca; }
.g_navi ul li a, .g_navi ul li span { height:auto; padding:5px 0; margin:0; }
.g_navi ul li a:hover { background:#eee; }
#globalnavi.g_navi .item01 a, #globalnavi.g_navi .item01 span { background:none; width:auto; height:auto; text-indent:0; }
#globalnavi.g_navi .item01 a span:hover, #globalnavi.g_navi .item01 span.on { color:#2ca6e0; }
#globalnavi.g_navi .item01 a span { margin:0; padding:0; }
#all #globalnavi.g_navi ul .close { width:100%; }
#all #globalnavi.g_navi ul .close a { display:block; background:#2ca6e0; text-align:center; color:#fff; height:auto; padding:10px 0; margin:0; line-height:1; border:none; }



/* contents
====================================================================================================================================== */
/*img*/
#conts img.width_sp_ls { display:block; float:none; width:auto; margin-left:auto; margin-right:auto; }
#conts img.width_sp_ls.left_align_img, #conts img.width_sp_ls.right_align_img { margin-bottom:10px; }

/*お知らせ*/
#news { padding-bottom:90px; }
#news:after { right:15px; }

/*ai動物クリニックについて*/
#conts .point_box h3.nikukyu { width:90px; background-size:100% auto; padding:15px 0; font-size:1.2em; }

/*当院のご案内*/
#info_clinic { line-height:1.5; }
#info_clinic p { margin-bottom:10px; }
#info_clinic .address { font-size:1.25em; margin-bottom:12px; }
#info_clinic address { margin-bottom:15px; }
#info_clinic address span { padding-right:10px; border-right:solid 1px #c8c9ca; margin-right:10px; }
#info_clinic address .tel, #info_clinic address .fax { letter-spacing:0.1em; }
#info_clinic strong { color:#60bce8; font-weight:normal; }

/*table*/
#conts table { font-size:0.95em; }

#conts table.schedule { font-size:1.15em; }
#conts table.schedule th { padding:6px; }
#conts table.schedule td { padding:5px; font-size:1.2em; }
#conts table.schedule th.text_left, #conts table.schedule td.text_left { font-size:1em; }
#conts table.schedule td .maru { width:16px; height:16px; background-size:100% auto; }
#conts table.schedule td.maru_text { font-size:0.75em; }


/* sidebar
====================================================================================================================================== */
#contact_box.top_m { margin-top:0; }


/* footer
====================================================================================================================================== */
#footer .contact { display:block; margin-bottom:10px; }
#footer ul { display:block; margin-bottom:10px; }


/* foot_fixed_box
====================================================================================================================================== */
#foot_fixed_box a { right:3px; width:100px; height:82px; /*margin-left:-60px;*/ background-size:100% auto; }


}

@media screen and (max-width : 560px){
/*banner*/
#conts a.bnr { /*line-height:1.4;*/ }
#conts a.bnr .icon_img { width:140px; }
#conts a.bnr .icon_img img { height:94px; }
#conts a.bnr .tit { font-size:1.2em; padding-top:10px; }
#conts a.bnr .comment { /*font-size:0.9em; padding-top:4px;*/ }

}

@media screen and (max-width : 478px){
/* 文章枠用CSS
====================================================================================================================================== */
/*スタンダード（画像右／左寄せ）*/
#all .common_box .img_box { float:none; margin-right:0; }
#all .common_box .img_box img { float:none; display:block; margin:0 auto 15px; }
/*右*/
.common_box.right .img_box { margin-left:0; }

/*3列+コメント枠*/
#conts .common_box03 .box, #conts .common_box03 a { border:solid 1px #c8c9ca; border-top:none; width:100%; float:none; overflow:hidden; }
#conts .common_box03 .box:first-child, #conts .common_box03 a:first-child { border-top:solid 1px #c8c9ca; }
.common_box03 figure, .common_box03 .img_box { max-height:none; }
.common_box03 img { width:auto; max-width:100%; height:auto; }

/*box内アンカー*/
#all #conts .common_box03 .link a { border:none; }

/*img*/
#conts img.width_sp { float:none; width:auto; max-width:100%; display:block; margin-left:auto; margin-right:auto; }
#conts img.width_sp.left_align_img, #conts img.width_sp.right_align_img { margin-bottom:10px; }

/*table*/
#conts table.schedule { font-size:0.9em; }

#conts table.list { width:100%; border-left:none; border-right:none; border-top:none; }
#conts table.list tr { display:block; margin-bottom:10px; }
#conts table.list th { display:block; width:100%; padding-top:5px; padding-bottom:5px; border:none; border-bottom:solid 2px #60bce8; white-space:normal; padding:0 0 4px; margin-bottom:10px; }
#conts table.list td { display:list-item; list-style-position:inside; width:100%; border:none; padding:0 0 4px; }

/*banner*/
#conts a.bnr .icon_img { width:100px; }
#conts a.bnr .icon_img img { height:67px; }
#conts a.bnr .tit { }
/*バナーコメントを2行に収める*/
#conts a.bnr .tit { position:relative; height:3.6em; overflow:hidden; }
#conts a.bnr .tit:before, #conts a.bnr .tit:after { position: absolute; }
#conts a.bnr .tit:before { content: "..."; top:1.8em; right: 25px; }
#conts a.bnr .tit:after { content: ""; background:#e1f3fb url(../images/gradient.png) repeat-x left -45px; background-size:auto auto; height: 100%; width: 100%; }
#conts a.bnr .comment { display:none; }

}