@import url("//share.cr-cms.net/hp_agency/hpagency.css");

/*---------------------------
テンプレート
フラット02 ホワイト 1カラム
----------------------------*/

.pc{display:inline;}
.sp{display:none;}

.ta_c{text-align:center !important;}
.ta_r{text-align:right !important;}
.ta_l{text-align:left !important;}

.mb0{margin-bottom: 0px !important;}
.pb0{padding-bottom: 0px !important;}
.m_auto{margin-left: auto; margin-right: auto;}

.mt20{margin-top: 20px;}
.mb20{margin-bottom: 20px;}
.mt20{margin-top: 20px;}
.mb20{margin-bottom: 20px;}
.mt30{margin-top: 30px;}
.mb30{margin-bottom: 30px;}
.mt40{margin-top: 40px;}
.mb40{margin-bottom: 40px;}

.pt20{padding-top: 20px;}
.pb20{padding-bottom: 20px;}
.pt20{padding-top: 20px;}
.pb20{padding-bottom: 20px;}
.pt30{padding-top: 30px;}
.pb30{padding-bottom: 30px;}
.pt40{padding-top: 40px;}
.pb40{padding-bottom: 40px;}


.fw_b{font-weight: bold;}

/*フォント*/
@font-face {
font-family: "Yu Gothic M";
src: local("Yu Gothic Medium");
}
@font-face {
font-family: "Yu Gothic M";
src: local("Yu Gothic Bold");
font-weight: bold;
}


body {
font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "Avenir Next", Verdana, "Yu Gothic","游ゴシック", Meiryo, "メイリオ", Osaka, sans-serif;
font-size: 16px;
letter-spacing: 1.5px;
line-height: 1.75;
font-size: 16px;
color: #333;
}
h2, h3, h4 {
font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "Avenir Next", Verdana, "Yu Gothic","游ゴシック", Meiryo, "メイリオ", Osaka, sans-serif;
font-feature-settings: "palt" 1;
font-kerning: auto;
}
#name {
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.mainArticles p {
margin-bottom: 16px;
}
p{
margin-left:0;
margin-right:15px;

}

a{
color:#8e6e3b;
}

/*コンテンツ背景色設定*/
#wrap {
background-color: unset;
/*--border-top: solid 4px #58c5ef;--*/
}
div#contents {
background-color: #FFF;
}

/*ヘッダー*/
#mainImage{
background-color:#FFFFFF;
}
#topMenu{
top:100px;
}
/*#mainImage_body{
margin-top:55px;
}*/

/*-----------------------------
タイトル
-----------------------------*/
#title {
text-align:left !important;
padding:0 !important;
height: 104px;
/*--height: 128px;--*/
/*--background: url(/materials/163999504940106.png)repeat;--*/
background: #e1f3f0;
}
#title h1 {
margin: 0;
}
#title h1 a {
background: url(/materials/176431020926401.png) left center no-repeat;
height: 104px;
display: inline-block;
margin: 0;
overflow: hidden;
padding: 0;
text-indent: -1000%;
white-space: nowrap;
width: 300px;
background-size: contain;
margin: 0;
}
#title .description {
/*--text-align: center;--*/
text-align: left;
font-size: 14px;
font-weight:bold;
text-shadow: 0 0 10px #fff,0 0 15px #fff;
top:0;
position: absolute;
color: #8e6e3b;
}

#title_outer {
height: 104px;
background-position: unset;
background: url(/materials/176431359395701.png) right center no-repeat;
background-size: 400px;
}

/*-----------------------------
トップイメージ
-----------------------------*/

/*TOPイメージを画面最上部に*/
div#mainImage {
position: relative;
width: 100%;
/*z-index: -1;
margin-top: -205px;*/
}

/*TOPイメージの上に白枠透過*/
/*-----------------------------div#mainImage_body:before {
content: "";
display: block;
z-index: 1;
background: url(/materials/156655482708501.png) top center no-repeat;
width: 100%;
height: 700px;
position: absolute;
/*max-height: 700px;*/


/*-----------------------------
トップメニュー
-----------------------------*/

/*グローバルメニューfix*/
#topMenu {
width: 100%;
position: absolute;
top: 150px;
min-height:auto;
/*--background:#ffffff4d;--*/
transition:padding 0.3s linear 0s;
padding-bottom: 5px;
}

#topMenu.fixed {
position: fixed;
top: 0;
z-index: 100;
background: rgba(255,255,255,0.9);
padding: 4px 0px;
box-shadow: 0 0 10px #aaa;
}

#mainImage {
background-color: transparent;
}

#topMenu_outer {
background: none;
margin: 0px auto;
}
#wrap_body {
padding-top: 0;
}
#topMenu .topMenu {
display: flex;
}
#topMenu .topMenu li {
padding: 10px 0 0 0;
flex: 1 0 auto;
width: auto;
}
#topMenu .topMenu li a {
width: auto;
background:none;
border-left: solid 1px #aaa;
line-height: 1.6;
/*--padding: 40px 0 8px 0;--*/
font-size: 18px;
box-sizing:border-box;
font-weight:bold;
color:#8e6e3b;
font-feature-settings: "palt";
letter-spacing: 0;
}
#topMenu .topMenu li:last-of-type a{
border-right:solid 1px #aaa;

}

#topMenu .topMenu li a:hover,
#topMenu .topMenu li:last-of-type a:hover{
background-color: #ffffff73;
color:#8e6e3b;
}



/*-----------------------------
見出し
-----------------------------*/
#mainArticles h2, #mainServices h2, #mainTopics h2, #listTopics h2{
background: url(/materials/176223860198001.png) center no-repeat;
background-size: 115px auto;
padding-bottom: 50px;
padding-top: 50px;
text-align: center;
border-bottom: none;
font-size: 32px;
font-weight: bold;
letter-spacing: 0.15em;
color: #8e6e3b;
margin-bottom: 1em;

}

.mainContents .article h3, .mainContents div.gallery h3 {
font-size: 30px;
text-align: center;
letter-spacing: 0.1em;
color: #8e6e3b;
font-weight: bold;
line-height: 1.5;
position: relative;
padding: 1em;
margin: 0.3em 0 1.5em 0;
background: url(/materials/176230231840601.png) bottom repeat-x;
border-bottom: none;
}
.article h3 a, .article h3 a:hover {
color: #7a5b40;
text-decoration: none;
}

.mainContents .article h4 {
font-size: 21px;
line-height: 1.6;
padding: 0.5em 0 0.4em 0.4em;
margin-bottom: 1em;
margin-top: 1.1em;
color: #8e6e3b;
/*--background: url(/materials/163999504940103.png) 5px no-repeat;--*/
background-color: #ffffdf;
background-size: 34px auto;
border-radius: 10px;
letter-spacing: 0.1em;
display: flex;
}

.article h4::before {
  content: "●";
  color: #8e6e3b;
  background: unset;

  position: static;
  margin-right: 4px;
}

.article .h4_features_01::before,
.article .h4_features_02::before,
.article .h4_features_03::before,
.article .h4_features_04::before{ 
  color: #8e6e3b;
  background: unset;

  position: static;
  margin-right: 4px;
}

.article .h4_features_01::before { content: "１.";}
.article .h4_features_02::before { content: "２.";}
.article .h4_features_03::before { content: "３.";}
.article .h4_features_04::before { content: "４.";}


/*h5*/
h5{
font-size: 20px;
line-height: 1.6;
padding: 0.4em 0;
margin-bottom: 1em;
margin-top: 0.5em;
border-bottom: 1px dotted #ffe5dd;
color: #8e6e3b;
display: flex;
}
.mainContents .article h6 {
font-size: 17px;
line-height: 30px;
font-weight: bold;
margin: 0 0 5px 0;
padding-left: 25px;
position: relative;
color: #333;
}
.mainContents .article h6:after {
content: '';
position: absolute;
top: 45%;
left: 0;
transform: translateY(-50%);
width: 10px;
height: 10px;
border: 3px solid #77bcf6;
border-radius: 100%;
}


/*-----------------------------
テーブル
-----------------------------*/
/*デフォルトテーブル*/
.article table:not(.contactTable) {
border-collapse: collapse;
border-left: 1px solid #ccc;
border-spacing: 0;
border-top: 1px solid #ccc;
margin: 10px auto;
width: 100% !important;
}

.article table:not(.contactTable) td,
.article table:not(.contactTable) th {
border-bottom: 1px solid #ccc;
border-right: 1px solid #ccc;
height: auto;
padding: 10px;
box-sizing: border-box;
}
.article table:not(.contactTable) th {
background-color: #eaf2f4;
text-align: center;
}
/*ノーマルテーブル*/
.article table.normalTbl {
border: none;
background:none;
border-collapse: collapse;
border-spacing: 0;
margin: 1em auto 2em;
width: 100%;
}
.article table.normalTbl.half {
width: 44%;
}
.article table.normalTbl th {
border: none;
background:none;
border-bottom: 1px solid #8e6e3b;
color: #8e6e3b;
height: auto;
width: 25%;
line-height: 150%;
padding: 16px;
text-align: center;
vertical-align: middle;
white-space: nowrap;
background: none;
}
.article table.normalTbl td {
border: none;
background:none;
border-bottom: 1px solid #ccc;
height: auto;
line-height: 150%;
padding: 16px;
}
.article table.normalTbl thead th {
width: auto;
background: #8e6e3b;
color: #fff;
border-right: solid 1px #fff;
}
.article table.normalTbl.ex td:nth-child(3) {
text-align: right;
width: 10%;
}
.article table.normalTbl.ex td:nth-child(4) {
text-align: center;
width: 20%;
}


/* 診療時間テーブル */
.article table.radiusTbl, div.side table.radiusTbl {
width: 100%;
border-spacing: 0;
border-collapse: separate;
margin:8px 0px 20px 0px;
font-size: 18px;
}
.article table.radiusTbl th,
.article table.radiusTbl td,
div.side table.radiusTbl th,
div.side table.radiusTbl td{
border-top: 2px solid #ddd;
border-left: 2px solid #ddd;
padding: 10px 15px;
color: #333;
text-align:center;
}

.article table.radiusTbl th,
div.side table.radiusTbl th {
background: #8e6e3b !important;
color:#fff;
}
.article table.radiusTbl td,
div.side table.radiusTbl td{
background: #fff;
color:#333;
}
.article table.radiusTbl th:last-child,
.article table.radiusTbl td:last-child,
div.side table.radiusTbl th:last-child,
div.side table.radiusTbl td:last-child {
border-right: 2px solid #ddd;
}
.article table.radiusTbl tr:last-child th,
.article table.radiusTbl tr:last-child td,
div.side table.radiusTbl tr:last-child th,
div.side table.radiusTbl tr:last-child td{
border-bottom: 2px solid #ddd;
}

/*曜日を太字に*/
.article table.radiusTbl.schedule tr:first-child td,
div.side table.radiusTbl.schedule tr:first-child td {
font-weight: bold;
}





/*------------------------------
画像リンクホバーアクション
---------------------------------*/
#mainArticles a:hover img,
#sideBanners a:hover img,
div.freeHtml a:hover img,
div.image img.gallery:hover,
#title h1 a:hover {
filter: alpha(opacity=75);
-moz-opacity:0.75;
opacity:0.75;
}



/*----------------------------------
最新情報の文字サイズ調整
-------------------------------------*/
.sideServices ul li a {
font-size: 16px;
}
.sideMobile p {
font-size: 16px;
}

#article_contact_ext {
font-size: 16px;
}
.mainServices .service .description {
font-size: 16px;
}


/* トップの最新情報 #mainTopics
最新情報一覧ページ #listTopics */

/*日付*/
#mainTopics .topics li p.date ,
#listTopics .topics li p.date {
font-size: 16px;
color: #999;
}

/*リンクタイトル*/
#mainTopics .topics li h3 ,
#listTopics .topics li h3 {
font-size: 16px;
font-weight: normal;
}
/*リード文*/
#mainTopics .topics li p.description ,
#listTopics .topics li p.description {
color: #999;
font-size: 16px;
}
/*続き*/
#mainTopics .topics li p.more ,
#listTopics .topics li p.more {
font-size: 16px;
}
/*一覧を見る*/
#mainTopics .listview {
font-size: 16px;
}

#mainTopics .topics li .more a{
font-size:16px;
}

/*-------------------------------------------
フッター
--------------------------------------------*/
#sideContents_outer {
/*--padding: 30px 0 30px 0;--*/
padding: 0;
}
#sideContents {
/*--background: #e1f3f0;--*/
background: transparent;
color: #FFF;
margin-top: 0;
}
div.side {
text-align: center;
}
.freeHtml {
width: 100%;
clear: both;
margin: 20px 0 40px 0;
font-size: 16px;
}
.freeHtml_outer {
padding: 0px;
/*--background-color:#e1f3f0;--*/
}
#toFormBtn a {
background-color: #fff;
color: #00306e;
font-weight: bold;
margin: 10px auto 5px;
padding: 20px;
display: block;
text-decoration: underline;
border-radius: 3px;
}
#toFormBtn a:hover {
background-color: #6af;
color: #fff;
}
.sideMobile h2 {
background-image:none;
margin-bottom: 5px;
font-size: 16px;
padding:15px 0 10px 0;
}
.sideServices h2 {
padding:15px 26px 10px 0;
background-image:none;
margin-bottom: 5px;
font-size: 16px;
}
.sideServices ul li a {
background: url(/materials/156670179230401.png) 8px center no-repeat;
color: #fff;
font-size: 16px;
text-decoration:underline;
}
.sideServices ul li a:hover{
color:#ff0;
}

#sideBanners {
margin: 0;
}
#sideBanners li img {
background-color: #213752;
padding: 18px 0;
}
#footer {
padding: 25px 0 25px 0;
background-color: #91d3c8;
}
.footer li a {
text-decoration: underline;
color: #FFF;
font-size: 16px;
}
.footer li a:hover{
color:#ff0;
}

.footer * {
font-size: 16px;
color: #FFF;
}
.footer .copyright {
padding: 20px 0 0 0;
clear: both;
}

/*スマホ画面下リンクパーツ*/
#bottomLink{
display: none;
}

#topMenu_outer {
background:none;
}

/*---基本設定ここまで---*/

/*TOPイメージを幅100%に*/
.mainImage #slider li img {
max-width: 100%;
}

/*カテゴリ*/
#sideBlogCategories,
#sideBlogDates {
width: 100%;
display: inline-block;
margin: 0 0 45px;
}
.sideBlogCategories h2, .sideBlogDates h2 {
margin-bottom: 10px;
line-height: inherit;
font-size: 16px;
padding: 10px;
}
.sideBlogCategories h2::before, .sideBlogDates h2::before {
content: "■";
margin-right: 10px;
font-family: monospace;
}
.sideBlogCategories li ,
.sideBlogDates li {
margin: 10px;
line-height: inherit;
display: inline-block;
}

/*記事下の区切り線削除*/
.mainArticles .article{
border-bottom: none;
padding-bottom:0;
}

/*リンクボタン*/
a.linkBtn {
display: inline-block;
background: #66cc33;
padding: 10px 10px 10px 45px;
color: #FFF;
border: 2px solid #66cc33;
border-radius: 10px;
text-decoration: none;
background: url(/materials/152835545656001.png) 10px center no-repeat #66cc33;
}

a.linkBtn:hover {
text-decoration: underline;
}
.bottom0{
padding-bottom:0 !important;
margin-bottom:0 !important;
}
#topMenu{
position:relative;
top:0px;
background: #e1f3f0;
}

.maru img{
border-radius:15px;
}


#yoyaku{
margin: 0;
padding: 0;
position: absolute;
top: 150px;
z-index:9999;
}

/*201808_IE対応---*/
div#mainImage{
position:static;
}

.topic.odd{
z-index:2147483647;
}


/*-------------------------------------------
サイドコンテンツ
--------------------------------------------*/

#side{
width:980px;
}
#side p{
margin-bottom:0em;
}
#side_left{
float:left;
margin:0 30px 0 0;
}
#side_right{
float:left;
text-align:left;
margin:0 0 50px 0;
}
#side_right span{
font-size:200%;
font-weight:bold;
}


/*プロフィール*/
dl.profile{
max-width: 700px;
font-size:18px;
margin:0;
}
dl.profile dt{
float:left;
clear:left;
width:130px;
font-weight:bold;
padding:1px 0 1px 16px;
}
dl.profile dt:before {
content: "■";
color: #ffd400;
}
dl.profile dd{
float:left;
width:540px;
}
dl.profile a{
color:#fff;
}
dl.profile a:hover{
color:#ff0;
}

/*-------------------------------------------
その他
--------------------------------------------*/

/*ページリストデザイン*/
ul.ps {
font-size: 16px;
list-style-type: none;
margin-left:1em;
/*--color:#339fd1;--*/
}
ul.ps li::before {
content: "※";
margin-left: -1em;
font-family: "メイリオ", sans-serif;
}
ul.maru {
font-size: 16px;
list-style-type: none;
margin-left:1em;
}
ul.maru li::before {
content: "●";
margin-left: -1em;
font-family: "メイリオ", sans-serif;
}


/*リスト*/
.mainContents ul.listmark{
margin:10px 0;
}
.mainContents ul.listmark li {
display: inline-block;
margin:0;
padding:2px 25px 2px 22px;
font-size:110%;
font-weight:500;
}
.mainContents ul.listmark li:before {
content: "●";
color: #ffc5da;
}
.mainContents ul.listmark li:last-of-type {
float: none;
}

/*リスト2*/
.mainContents ul.listmark2{
margin:10px 0;
}
.mainContents ul.listmark2 li {
background: url(/materials/156669929504908.png) 0 9px no-repeat;
margin:0;
padding:2px 25px 2px 22px;
font-size:110%;
font-weight:500;
}

#sideContact{
position:relative;
}

#sideMobile{
margin-bottom:50px;
}

.pankuz p{
display:none;
}

.gallery_grid2 li.galleryGrid{
margin-bottom:20px;
}

.gallery_grid li.galleryGrid .image{
margin-top:25px;
}

/*マーカー*/
.marker {
background : #f9f0d5;
font-weight:bold;
font-size:120%;
background : linear-gradient(transparent 60%, #FFE5E6 60%);
}


#mainTopics{
margin-top:30px;
}

.mainTopics .topics li{
border-bottom:none !important;
}

#sideContact {
display: none;
}


.mainArticles .article.mini .image, .mainArticles .article.mini img {
width: 240px;
}
.zero_margin {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

.sita .article_body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
flex-direction: column;
}
.sita .article_body .image {
order: 1;
}

ul.check {
list-style: outside none;
line-height: 2;
padding-left: 2.5em;
}
ul.check li {
position: relative;
border-bottom: dashed 1px #ccc;
margin: 1em 0;
line-height: 1.5;
padding: .25em 0 .5em;
display: flex;
font-weight: bold;
}
ul.check li::before {
display: block;
content: '';
position: absolute;
top: 0.4em;
left: -2em;
width: 0.9em;
height: 0.5em;
border-left: 4px solid #c71c1c;
border-bottom: 4px solid #E55;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

ul.notes, ul.ps, ul.maru, ul.star {list-style-type: none; margin-left:1em;}
ul.notes li::before, ul.ps li::before, ul.maru li::before, ul.star li::before{margin-left: -1em;}

ul.notes li::before {content: "◆";}
ul.ps li::before {content: "※";}
ul.maru li::before {content: "●";}
ul.star li::before {content: "★";}

ul.simpleList, ol.orderList { padding-left: 2em; }

ul.simpleList li { list-style-type: disc; padding: 5px; }
ol.orderList li { list-style-type: decimal; padding: 5px; }

/*-------------------------------------------
サイト案内ギャラリー
-------------------------------------------*/
#siteGuide .gallery_grid li.galleryGrid .galleryGrid_outer {
  padding:10px;
  margin:10px;
  background:#fff;
  border-radius:10px;
}
#siteGuide .gallery_grid li.galleryGrid .image {
  /*--padding:10% 25%;--*/
  background:#9be5d9;
  width: 200px;
  height: 200px;
  vertical-align: middle;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#siteGuide .gallery_grid li.galleryGrid .image img{
    max-width: 150px;
    max-height: 150px;
    margin: auto;

}

#siteGuide .comment {
  padding-bottom: 10px;
  padding-top: 10px;
  font-weight: bold;
  color: #8e6e3b;
  text-align: center;
  font-size: 1.0em;
}


/*---------------------------
記事
----------------------------*/
/*col2*/
.article.col2{
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    border-radius: 6px;
    width: 47%;
    margin: 1%;
}
.mainArticles .article.col2 img,.mainArticles .article.col3 img {
    max-width: 100%!important;
	margin-bottom: 0!important;
}

.mainArticles .article.col2 p,.mainArticles .article.col3 p{
margin-bottom: 0!important;
}

.mainArticles .article.col2 h3,.mainArticles .article.col3 h3{
    font-size: 1.2em;
    line-height: 1.5;
    margin-top: 0 !important;
}
div.mainArticles .article.col2 p,div.mainArticles .article.col3 p{
margin-bottom: 0!important;
	text-align: left;
}

/*col3*/
.article.col3  {
    width: calc(980px / 3) !important;
    max-width: 320px !important;
    padding: 1em;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    margin: 20px 0;
    background: #fff9cf;
    border-radius: 8px;
    font-size: 19px;
    vertical-align: top;
}

/*流れ*/

.mainArticles .article.Flow{
  overflow:visible;
  background:#FFF;
  border-radius:4px;
  border:1px solid #8e6e3b;
  display:block;
  padding:1.5em;
  position:relative;
  margin-bottom:35px;
  margin-left:0;
  box-sizing:border-box;
  width:100%;
}

.mainArticles .article.Flow::after{
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border-top:20px solid #8e6e3b;
  border-right:30px solid transparent;
  border-left:30px solid transparent;
}

.mainArticles .article.Flow.last::after{
  display:none;
}