@charset "Shift_JIS";

* { margin: 0; padding: 0; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }

html { margin: 0; padding: 0; height: 100%; color: #333333; }
body { margin: 0px auto; padding: 0; height: 100%; text-align: center; background: #ffffff url(body_bk.png) left top repeat-x; }

img { font-size: 0; line-height: 0; vertical-align: bottom; border: none; }
ul,dl,ol { list-style-type: none; list-style-position: outside; }
p { text-align: justify; /*IE6*/text-justify: inter-ideograph; }
h3,h4,h5,h6 { text-align: left; }
em { color: #000000; }

a { color: #0069b8; /*FFhack*/outline: none; }
a:hover { color: #2e9939; }

a.arrow { background-position: left 50%; background-repeat: no-repeat; background-image: url(link_arrow.png); padding-left: 11px; }
a.arrow:hover { background-image: url(link_arrow_hover.png); }


/**/
* html div#container { height: 100%; } /*IE6*/
#container { width: 960px; margin: 0px auto; text-align:left; min-height: 100%; position: relative; background: #FFFFFF url(container_bk.png) left top repeat-y; }

.clearfix { /zoom: 1; }/*IE67*/
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

.m_foot { clear: both; font-size: 0; line-height: 0; height: 0; }

.green { color: #0069b8; }
.red { color: #FF3333; }
.black { color: #000000; }
.bold { font-weight: bold; }
.s_box { margin: 0 60px; }
.p_img1 { float: left; margin: 0 20px 20px 0; }
.p_img2 { display:block; float: right; margin: 0 0 20px 20px; }
.p_img22 { display:block; float: right; margin: 0 0 20px 0; }
.p_img23 { display:block; float: right; margin: 0 0 0 20px; }
.tcenter {text-align: center; }

/*ヘッダー*/
#header { position: relative; height: 100px; background: url(header_bk4.png) left top no-repeat; }

#header #h_description { display:block; font-size: 12px; line-height: 14px; font-weight: normal; color: #c2f2ee; margin: 0 0 0 270px; padding: 1px 0 0 0; }
#header #h_logo { font-size: 20px; line-height: 30px; display:block; width: 370px; height: 70px; position: absolute; top: 15px; left: 25px; }
#header #h_logo a { display:block; height: 70px; text-indent: -9999px; }

#header #h_access { font-size: 12px; line-height: 14px; display:block; width: 200px; height: 100px; position: absolute; top: 0px; left: 750px; text-indent: -9999px; background: url(header_access.png) left top no-repeat; }
#header #h_message { display:block; width: 320px; height: 50px; position: absolute; top: 25px; left: 420px; text-indent: -9999px; background: url(header_message.png) left top no-repeat; }
#header.nomes #h_message { background: none; }
#header #h_online { display:block; width: 250px; height: 50px; position: absolute; top: 25px; left: 480px; }
#header #h_online a { display:block; font-weight: bold; color: #fff; background: #ff8080; font-size: 17px; line-height: 50px; text-align: center; border-radius: 10px; text-decoration: none;
-webkit-box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.5); box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.5); }
#header #h_online a:hover { background: #ff9999; }

/*フッター*/
address { position: absolute; bottom: 0; left: 10px; width: 940px; height: 25px; font-size: 11px; line-height: 20px; text-align: right; font-style: normal; background: url(footer_bk.png) left top repeat-x; }
* html address {  bottom: -1px; } /*IE6*/
address span { display: block; padding-top: 4px; margin: 0 10px 0 0; font-family: serif; color: #0069b8; }
address span a { text-decoration: none; color: #0069b8; font-family: serif; }
address span a:hover { text-decoration: underline; color: #0069b8;  }


/*共通*/
#main { display:block; position: relative; padding: 0 10px 80px 10px; overflow: hidden; /*IEhack*/zoom: 1; }
#main #box_c,#main #box_l { float: right; display: block; }
#main #box_c { width: 740px; }
#main #box_l { width: 200px; }

#main #box_c .div_group { margin:0 30px; }
#main #box_c .div_ttl { height: 100px; margin: 0; position: relative; background-color: #e6f2fa; background-position: left top; background-repeat: no-repeat; }
#main #box_c .div_ttl h1 { display: block; clear: both; font-size: 24px; line-height: 30px; margin: 0px 0 0 30px; text-indent: -9999px; }
#ttl_doctor { background-image: url(h1_doctor.png); }
#ttl_cureinfo { background-image: url(h1_cureinfo.png); }
#ttl_access { background-image: url(h1_access.png); }
#ttl_treatment { background-image: url(h1_treatment.png); }
#ttl_contents { background-image: url(h1_contents.png); }
#ttl_contents_null { background-image: url(h1_null.png); }
#ttl_online { background-image: url(h1_online.png); }
#main #box_c #ttl_contents_null h1 { text-indent: 0; }

#main #box_c .div_ttl h1.noimg { font-size: 24px; line-height: 30px; color: #0069b8; background-position: left top; background-repeat: no-repeat; position: absolute; top: 30px; left: 45px; width: 400px; }
#main #box_c h1.notxi { text-indent: 0; }
#main #box_c h1 span { font-size: 14px; }
#main #box_c h1 span.sttl { font-size: 16px; padding-left: 50px; }

#main #box_c .div_ttl #bred { display: block; font-size: 12px; line-height: 25px; height: 25px; margin: 0 0 0 10px; }
#main #box_c .div_ttl #bred li { float: left; margin: 0 0 0 0; padding: 0 0 0 5px; background: none; }
#main #box_c .div_ttl #bred li a { padding-right: 15px; background: url(bred_arrow.png) right 50% no-repeat; }

#main #box_c h2 { display: block; margin: 50px 0 30px 0; font-size: 18px; line-height: 18px; padding: 4px 0 0 15px; color: #0069b8; background: #FFFFFF url(h2_bk.png) 1px 50% no-repeat; border-color: #CCCCCC; border-style: solid; border-width: 1px 0 1px 0; }
:root *> #main #box_c h2 { line-height: 20px; padding-top: 2px;  }/*exIE*/
#main #box_c h2 span { font-size: 14px; margin-left: 5px; }
#main #box_c h3 { font-size: 16px; line-height: 18px; color: #0069b8; margin: 30px 30px 15px 30px; background: url(h3_bk.png) left bottom no-repeat; border-bottom: 2px solid #c2ddf2; text-indent: 10px; }
#main #box_c h3.cboth { margin-top: 0; padding-top: 30px; clear: both; }
#main #box_c h3 span { font-size: 12px; margin: 0 5px; }
#main #box_c h4 { font-size: 14px; line-height: 18px; margin: 15px 20px 10px 20px; }
#main #box_c h4.big { font-size: 16px; line-height: 18px; margin: 30px 30px 0 30px; border-bottom: 2px solid #f7d2d2; text-indent: 5px; }
#main #box_c p { font-size: 14px; line-height: 22px; margin: 15px 60px; }
#main #box_c p.in_p { text-indent: 0; }
#main #box_c p.in_p_bd { text-indent: 0; padding: 5px 1em; border: 1px solid #c2ddf2; background: #e6f2fa; }
#main #box_c p.in_p_bd span.green { margin-left: -1em; }
#main #box_c p.top_p { text-indent: 0; margin: 30px 30px 0px 30px; padding: 10px 30px; background: #edf5fa; }
#main #box_c p.top_p2 { text-indent: 0; margin: 30px 30px 0px 30px; padding: 10px 30px; }
#main #box_c p strong { color: #000000; }
#main #box_c ul { font-size: 14px; line-height: 18px; margin: 17px 60px 30px 60px; }
#main #box_c li { padding-left: 1em; margin: 10px 0; background: url(list_dot_1.png) left 3px no-repeat; }
#main #box_c ul.slist { font-size: 14px; line-height: 18px; margin: -10px 80px -10px 80px; }
#main #box_c ul.slist li { margin: 5px 0; }
#main #box_c ul.flist { margin: 0 0px 0 60px; }
#main #box_c ul.flist li { display: block; float: left; width: 180px; margin: 0 0 10px 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#main #box_c ul.flist li.wide { width: 240px; }

/*メインメニュー*/
#main_menu { display: block; margin: 0; font-size: 14px; line-height: 15px; }
#main_menu li { display: block; width: 200px; height: 60px; /line-height: 0; }
#main_menu #mm_home { height: 40px;}
#main_menu li a { display: block; height: 60px; background-position: left top; background-repeat: no-repeat; text-indent: -9999px; /line-height: normal; }
#main_menu li a:hover { background-position: right top; }
#main_menu #mm_home a { height: 40px; background-image: url(mm_home.png); }
#main_menu #mm_doctor a { background-image: url(mm_doctor.png); }
#main_menu #mm_cureinfo a { background-image: url(mm_cureinfo.png); }
#main_menu #mm_access a { background-image: url(mm_access.png); }
#main_menu #mm_treatment a { background-image: url(mm_treatment.png); }


/*サイドメニュー*/
#box_l #sm_contents { margin: 20px 15px 10px 15px; padding-bottom: 5px; background: #FFFFFF url(sm_foot.png) left bottom no-repeat; }
#box_l #sm_contents p { margin: 10px 7px 0 7px; font-size: 11px; line-height: 15px; }
#box_l #sm_contents ul { margin: 5px 5px 0 5px; font-size: 14px; line-height: 16px; }
#box_l #sm_contents li { border-bottom: 1px dashed #CCCCCC; }
#box_l #sm_contents li a { display: block; padding: 5px 2px 5px 2px; _zoom: 1; }
#box_l #sm_contents li a:hover { background: #e6f2fa; }

#box_l #sm_contents h2 { display: block; height: 40px; margin: 0; font-size: 14px; line-height: 20px; }
#box_l #sm_contents h2 a { display: block; height: 40px; background: url(sm_head.png) left top no-repeat; text-indent: -9999px; }
#box_l #sm_contents h2 a:hover { background-position: left bottom; }

/*#box_l #twit { margin: 20px 0 10px 10px;}*/

#box_l #sm_link h2 { display: block; margin: 40px 10px 15px 10px; padding: 2px; font-size: 14px; line-height: 16px; font-weight: normal; border-left: 3px solid #0069b8; border-top: 1px solid #ccc; }
#box_l #sm_link h2 span { font-size: 12px; margin-left: 5px; }
#box_l #sm_link dl { font-size: 14px; line-height: 20px; margin: 0 15px; }
#box_l #sm_link dt { background-color: none; line-height: 50px; text-align: center; }
#box_l #sm_link dt a { display: block; line-height: 50px; }
#box_l #sm_link dt a:hover img,#box_l #sm_link dt a.btn:hover { filter: alpha(opacity=70); -moz-opacity:0.7; opacity:0.7; }
#box_l #sm_link dt a.btn { font-size: 14px; line-height: 18px; padding: 2px 0; background: #0069b8; color: #fff; text-decoration: none; border-radius: 20px; }

#box_l #sm_link dd { font-size: 12px; line-height: 16px; margin: 3px 0 20px 0; text-align: center; }
#box_l #sm_link dd .big { font-size: 14px; line-height: 16px; }
#box_l #sm_link dd .tcenter { display: block; }


/*トップページ*/
#main #box_c #top_head { display: block; height: 340px; margin: 0; background: url(top_headimg2.jpg) left top no-repeat; position: relative; }
#main #box_c #top_head h1,#main #box_c #top_head p { text-indent: -9999px; }
#main #box_c #top_head span { display: block; width: 215px; height: 35px; position: absolute; left: 35px; top: 280px; }
#main #box_c #top_head span a { display: block; width: 215px; height: 35px; background: url(top_headbtn.png) left top no-repeat; text-indent: -9999px; }
#main #box_c #top_head span a:hover { background-position: left bottom; }

/*#main #box_c #tm_message { }*/

#main #box_c #tm_contents { display: block; margin-top: 50px; padding-top: 20px; padding-bottom: 13px; background: #e6f2fa; }
#main #box_c #tm_contents h2 { display: block; width: 215px; height: 35px; border: none; padding: 0; margin: 0 10px; }
#main #box_c #tm_contents h2 a { display: block; width: 255px; height: 35px; background: url(top_contentsbtn.png) left top no-repeat; text-indent: -9999px; }
#main #box_c #tm_contents h2 a:hover { background-position: left bottom; }

#main #box_c #tm_contents p { margin-bottom: 20px; }
#main #box_c #tm_contents p img { margin-top: -20px; }
#main #box_c #tm_contents ul { display: block; margin: 0; width: 280px; float:left; background: #FFFFFF; }
#main #box_c #tm_contents li { display: block; height: 20px; clear: both; font-size: 16px; line-height: 20px; margin: 10px; }
#main #box_c .in_box { margin: 0px 20px; padding: 5px 10px; background: #FFFFFF; }

#main #box_c #tm_contents dl { display: block; margin: 0px 20px; padding: 1px 0px 0px 0px; background: #FFFFFF; }
#main #box_c #tm_contents dt { display: block; height: 40px; margin: 10px 0 0 15px; font-size: 16px; line-height: 20px; font-weight: bold; }
#main #box_c #tm_contents dt span { display: block; font-size: 12px; }
#main #box_c #tm_contents dt a { display: block; width: 290px; border-left: 3px solid #0069b8; padding: 0 0 0 5px; }
#main #box_c #tm_contents dd { display: block; margin: -40px 0 0 0; padding: 0 15px 10px 325px; font-size: 12px; line-height: 16px; border-bottom: 2px solid #e6f2fa; }


#main #box_c #tm_info h2 { margin: 0; padding: 0; border: none; background: #EEEEEE; line-height: 25px; height: 25px; }
#main #box_c #tm_info p {}
#main #box_c #tm_info dl { font-size: 12px; line-height: 16px; border: 1px solid #CCCCCC; padding: 0 10px; height: 150px; overflow: auto; }
#main #box_c #tm_info dt { margin: 5px 0 2px 0; padding: 0; font-weight: bold; }
#main #box_c #tm_info dd { margin: 0; padding: 0 1em; border-bottom: 1px dashed #CCCCCC; }
#main #box_c #tm_info dd a { margin-left: 10px; }

#main #box_c #tm_time { display: block; margin-top: 50px; background: url(img_building.jpg) right 50% no-repeat;}
#main #box_c #tm_time img { position: absolute; top: 0; right: 0; }
#main #box_c #tm_time div.t_time2 { display: block; width: 450px; }
#main #box_c #tm_time div.t_time2 a { margin-left: 20px; }
#main #box_c #tm_time h2 { margin: 0 0 30px 0; }
.t_time2 table { margin: 0 0 0 60px; font-size: 14px; line-height: 25px; border-collapse: collapse; border: 1px solid #0069b8; width: 330px; }
.t_time2 th,.t_time2 td { text-align: center; }
.t_time2 th { background: #0069b8; color: #FFFFFF; line-height: 18px; padding-top: 2px; }
.t_time2 th.dayth { width: 30px; border-left: 1px solid #FFFFFF; }
.t_time2 td { border-left: 1px solid #0069b8; border-top: 1px solid #0069b8; }
.t_time2 td.optime { color: #fc97ca; }
.t_time2 td.tzone { background: #e6f2fa; }

/*お知らせ*/
#tm_news { margin: 20px 60px; }
#tm_news #newsbox,#tm_news #infobox,.area_banner { overflow-x: hidden; overflow-y: auto; background: #e6f2fa; padding: 1px 0px 10px 25px; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border: 2px solid #e6f2fa; }
.area_banner { padding: 10px 0px 10px 25px; }
.div_group .area_banner { margin: 0px 35px 40px 35px; }
.div_group p + div.area_banner { margin-top: 40px; }

#main #box_c .area_banner p { margin: 0; }
.area_banner a { text-decoration: none; color: #333333; display: flex; justify-content: flex-start; align-items: center; }
.area_banner a:hover { text-decoration: underline; color: #2e9939; }
.area_banner img { margin-right: 10px; width: 250px; height: 100px; }

#tm_news #newsbox { height: 400px; margin: -20px 35px -20px 35px; }
#tm_news #newsbox.member { height: auto; margin: -20px 35px -32768px 35px;padding-bottom: 32768px; }
#tm_news.online #newsbox { height: auto; min-height: 400px; margin-top: 5px; }
#main #box_c #tm_news h3 { margin: 30px 35px 5px 35px; }

#tm_news #infobox { height: 175px; margin: -20px 35px 0 35px; }
#newsbox dl,#infobox dl { margin: 0; width: 560px; }
#newsbox dt,#infobox dt { font-size: 16px; line-height: 20px; padding-top: 5px; margin-top: 9px; font-weight: bold; background: #fff; border-right: 1px solid #ccc; border-bottom: 1px dashed #ccc; border-left: 4px solid #7ecef4; }
#newsbox dt .n_date,#infobox dt .n_date { font-size: 12px; line-height: 20px; display: block; float: left; width: 115px; font-weight: normal; text-indent: 5px; color: #666; }
#newsbox dd,#infobox dd { font-size: 14px; line-height: 18px; clear: left; padding: 5px 20px 5px 115px; border-bottom: 1px solid #ccc;  border-right: 1px solid #ccc; background: #fff; border-left: 4px solid #fff; }
#main #box_c #newsbox p,#main #box_c #infobox p { margin: 0; padding-top: 10px; }

#tm_news_footer { display: block; height: 90px; width: 610px; margin: -0px 35px -0px 35px; background: #fff; position: absolute; bottom: 0; }
#tm_news_footer span { display: block; height: 10px; width: 100%; background: #e6f2fa; border-radius: 0 0 10px 10px; -moz-border-radius: 0 0 10px 10px; -webkit-border-radius: 0 0 10px 10px; }


/*コンテンツトップ*/
#main #box_c #contents_main { margin: 0 0 0 30px; padding-top: 30px; }
#main #box_c #contents_main h2 { margin: 0; }
#main #box_c #contents_main h3 { font-size: 16px; line-height: 20px; margin: 15px 15px 5px 15px; }

#main #box_c #contents_main div.mbox { display: block; float:left; width: 350px; }
#main #box_c #ct_movie,#main #box_c #ct_colum { margin: 0 20px 0 0 }

#main #box_c #ct_movie h2 { margin-bottom: 10px; }
#main #box_c #ct_movie h3 { clear: both; padding-top: 20px; margin: 0 30px 0px 30px; }
#main #box_c #ct_movie p { margin: 10px 60px 0 60px; }

#main #box_c #ct_m_top { padding: 30px 0 0 0; }
#main #box_c #ct_m_top p { margin-top: 0; }
#mediaspace_box { display: block; width: 430px; height: 250px; float: left; }


/*担当医のご紹介*/
#main #box_c #doctor_message h2 { border-top: none; border-bottom: 2px solid #c2ddf2; background: none; padding: 0; margin: 50px 30px 30px 30px; }

#main #box_c #doctor_main dl { margin: -80px 60px 30px 140px; font-size: 14px; border-left: 1px solid #CCCCCC; padding-left: 10px; }
#main #box_c #doctor_main dt { line-height: 18px; padding-top: 2px; font-weight: bold; border-bottom: 1px dashed #CCCCCC; }
#main #box_c #doctor_main dd { line-height: 22px; margin: 5px 1em 20px 1em; }


/*診療内容*/
#main #box_c #cureinfo_main dl {}
#main #box_c #cureinfo_main dt { line-height: 18px; padding-top: 2px; font-weight: bold; border-bottom: 1px dashed #CCCCCC; }
#main #box_c #cureinfo_main dd { line-height: 22px; margin: 5px 1em 20px 1em; }


/*診療時間・アクセス*/
#access_main {}
#access_map { margin: 0 0 0 30px; }

#access_txt { margin-right: 30px; }
#main #box_c #access_txt h3 { clear: none; margin: 0 220px 0px 30px; }
#main #box_c #access_txt ul { margin-bottom: 0; }
#main #box_c #access_txt li { margin-bottom: 0; }

#gmaplink { margin-left: 20px; }

.t_time table { margin: 0 0 0 60px; font-size: 14px; line-height: 30px; border-collapse: collapse; border: 1px solid #0069b8; width: 560px; }
.t_time th,.t_time td { text-align: center; }
.t_time th { background: #0069b8; color: #FFFFFF; line-height: 18px; padding-top: 4px; }
.t_time th.dayth { width: 55px; border-left: 1px solid #FFFFFF; }
.t_time td { border-left: 1px solid #0069b8; border-top: 1px solid #0069b8; }
.t_time td.optime { color: #fc97ca; }
.t_time td.tzone { background: #e6f2fa; }
#main #box_c .t_time p { text-indent: 0; }
#main #box_c .t_time p span.s_txt { font-size: 12px; line-height: 14px; display: block; padding: 0 0 10px 14px; }

#main #box_c #t_adress p { text-indent: 0; }
#main #box_c #t_adress p span.btn_access { margin: 0 0 0 15px; }

#main #box_c #access_main dl { line-height: 20px; padding: 11px 10px 1px 10px; background: #f0fcfb; }
#main #box_c #access_main dt { display: block; width: 50px; text-align: center; font-weight: bold; background: #00b3a4; color: #FFFFFF; }
#main #box_c #access_main dd { margin: -20px 0 10px 50px; }

