@charset "utf-8";
@import url("//share.cr-cms.net/hp_agency/hpagency.css");

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1&family=Zen+Maru+Gothic:wght@400;500&display=swap');

/*@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap');*/

/*フラット02 グリーン 1カラム*/

/*-------------------------------------------
Common
-------------------------------------------*/

.pc{display:inline;}
.sp{display:none;}

html{
  scroll-behavior: smooth;
}

body {
 	font-size:16px;
 	line-height:1.8;
  font-weight:500;
  letter-spacing: 0.5px;
	color:#2a2a2a;
  /*--/*--font-family: 'Zen Maru Gothic', sans-serif;--*/--*/
  /*font-family:"Zen Maru Gothic Regular 400","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS PGothic", sans-serif !important;*/
  font-family: "Open Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "BIZ UDGothic", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}



iframe{
	margin-bottom:1.5em;
}

/*-------------------------------------------
Wrap
-------------------------------------------*/
#wrap{
  background:#fff url(/materials/165727654396601.png) left top repeat-x;
}

#wrap_body {
    padding-top: 160px;
}

hr.line {
    width: 80%;
    margin: 16px auto;
}

/*-------------------------------------------
Link
-------------------------------------------*/
a {
	/* color: #DCAD4E; */
	text-decoration: underline;
	font-weight: normal;
  transition:0.6s;
}
a:hover {
	/* color: #fdc044; */
	text-decoration: underline;
  
}
a img {
	text-decoration:none;
	border:none;
  transition:0.6s;
}
#title h1:hover,
.text-link:hover,
#mainArticles a:hover img,
#sideBanners  a:hover img,
div.freeHtml a:hover img,
div.image img.gallery:hover {
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}


/*-------------------------------------------
Image
-------------------------------------------*/
#mainArticles img,
.mainArticles .article .image{
  overflow:inherit;
}
.mainArticles .article .article_center {
	max-width: 1024px;
}
.mainArticles .article img {
  margin: 5px 0 15px;
}

.gallery_grid li.galleryGrid .image img{
}



/*-------------------------------------------
Title
-------------------------------------------*/
#wrap_body #title{
    background:transparent;
}

#wrap_body #title {
  padding:0;
  width: 100%;
  height: 160px;
  position: absolute;
  top: 10px;
  background: #fff;
}
#title_outer{
  height:auto;
  width: 1024px;
  margin:auto;
  background: url(/materials/174893017839801.png) right center no-repeat;
  background-size: 550px;
}
/*ロゴ*/
#title h1 {
	margin: 0;
	padding: 0.7em 0;
	text-align: left;
	height: 82px;
	width: 353px;
}
#title h1 a {
    background: url(/materials/174729163961001.png) no-repeat left center / contain;
	display: inline-block;
	overflow: hidden;
	text-indent: 110%;
	white-space: nowrap;
	height: 100%;
	width: 100%;
  background-size:300px 42px;
}
#title .description {
  color: #666;
  font-size: 1em;
  margin: 0;
  line-height:1.3;
  text-align:center;
  padding: 6px 0 0;
	font-size:14px;
	display:none;
}

/*-------------------------------------------
Mainimage
-------------------------------------------*/
#mainImage {
		margin:0;
    width: 100%;
    background-color:transparent;
    min-width:1024px;
}
.mainImage img {
    width: 100%;
    min-width:1024px;
}


/*スライド*/
#slider .slick-slide {
	display: flex;
	justify-content: center;
}
.mainImage #slider li {
	height: auto !important;
}
.mainImage #slider li img {
	max-width: 100%;
	min-width: 1024px;
}

/*-------------------------------------------
Topmenu
-------------------------------------------*/
#topMenu_outer,  #topMenu_body, #topMenu .topMenu {
	width: 1024px;
	max-width: 1024px;
}
#topMenu {
    min-height: 40px;
    position: absolute;
    top: 115px;
    background:transparent;
    margin:0;
}

#topMenu_outer {
    margin: 0 auto;
    background: url(/materials/165733447319002.png) left top no-repeat;
}

#topMenu_body {
  border-right: 0px #aaa dotted;
}
#topMenu .topMenu li {
  width: 20%;
  height: 100%;
  box-sizing:border-box;
  padding:0;
  position: relative;
  border-left: 0px #aaa dotted;
}

#topMenu .topMenu li a {
    box-sizing: border-box;
    color: #2a2a2a;
    font-size:18px;
    font-weight: bold;
    letter-spacing: 0;
    padding:8px 0;
    width: 100%;
		background:none;
/*--font-family: 'Shippori Mincho B1', serif;--*/
	/*font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif*/
}
#topMenu .topMenu li a:hover {
    color: #8DCC98;
    transition:0.5;
}


/*-------------------------------------------
contents
-------------------------------------------*/
#contents {
    margin: 0;
    padding:0;
    width: 100%;
    box-sizing:border-box;
    background:#fff;
}

/*maincontent*/
#mainContents {
	padding:0 0 40px 0;
	background:#fff url(/materials/167341925865502.jpg) repeat-x left top;
	width: 100%;
	background-size:90px auto;
}

#mainContents_outer{
    width: 100%;
    margin:0 auto;
}


.mainArticles .article .article_body , #mainContents #listTopics #listTopics_body{
	width:1024px;
	margin:0 auto;
}



.mainArticles .article {
	padding-bottom: 0px;
	border-bottom: none;
}



.mainArticles .article p {
	padding-bottom: 20px;
}
.mainArticles .article_right .image {
    margin-right: 0;
}
.mainArticles .article_left .image {
    margin-left: 0;
}
.mainArticles .article_right .image,
.mainArticles .article_left .image {
    max-width:50%;
}
#mainArticles, .mainArticles .article, .mainArticles div.gallery, #mainTopics, #listTopics {
    width: 100%;
    margin-bottom: 0em;
}
#mainArticles{
}


/*ぱんくず*/
#pankuz {
  display:auto;
}
#pankuz_body {
  width: 1024px;
  margin: auto;
}
.pankuz p {
  padding-top:10px;
  margin-bottom: 0;
  font-size: 1em;
  color: #666;
  text-align: right;
	
	display:none;
}

/*段落*/
#contents .article p {
  margin-bottom: 1em;
}

/*-------------------------------------------
最新情報
-------------------------------------------*/
#mainTopics {
  margin:3em auto;
  padding:0 1.5em 1.5em 1.5em;
  border-bottom: none;
  border:2px solid #8DCC98;
  width:1024px;
	box-sizing:border-box;
}

#mainTopics h2{
    /* font-size: 180%;
    text-align: center;
    padding: 0 0 15px 0;
    margin-top:1em;
    margin-bottom: 32px;
    -webkit-font-smoothing: subpixel-antialiased;
    color: #444;
    background: #fff; */

    padding:1.7em 0 0.5em 0;
    text-align: center;
    font-size:2.4em;
    letter-spacing: 0.1em;
    color:#2a2a2a;
    font-weight:normal;
    line-height:1.2;
    margin:0 0 1em 0;
    border:none;
    position: relative;
    /*--font-family: 'Shippori Mincho B1', serif;--*/
}
#mainTopics .topics li .thumb, #mainTopics .topics li .thumb img {
	max-width: 100px;
	max-height: 100px;
}
#mainTopics .topics li .date, .mainTopics .topics li .date {
	font-size: 1em;
}
#mainTopics .topics h3, .mainTopics .topics li h3 {
	font-size: 1em;
}
.mainTopics .topics li h3 a {
	text-decoration: underline;
}
.mainTopics .topics li h3 a:hover {
	text-decoration: underline;
}
#mainTopics .topics .description, .mainTopics .topics li .description {
	font-size: 1em;
	color: #aaa;
	margin-top: 0px;
}
#mainTopics .topics li .more a, .mainTopics .topics li .more {
	padding: 8px 16px;
	font-size: 1em;
}
.mainTopics .topics li .more a {
    border: none;
    background-color: #8DCC98;
    color: #fff;
    border: 2px solid #8DCC98;
		transition: all 0.5s ease-out;
	  /*font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;*/
}
.mainTopics .topics li .more a:hover {
    color: #8DCC98;
    background-color: #fff;
    border: 2px solid #8DCC98;
}
.mainTopics .topics {
		width: auto;
		padding: 0;
		margin: 0 auto;
  	border-bottom: none;
}
.mainTopics .topics li {
		padding: 40px 0px;
		font-size: 1em;
}
#mainTopics .listview {
    width: 110px;
    font-size: 1em;
    margin: 1em auto 0 auto;
}
#mainTopics .listview a {
    background: none;
    padding: 4px 8px;
    color: #444;
}


/*-------------------------------------------
見出し
-------------------------------------------*/
#mainArticles h2, #mainServices h2, #listTopics h2 {
	padding:1.7em 0 0.5em 0;
	text-align: center;
	font-size:2.4em;
	letter-spacing: 0.1em;
	color:#2a2a2a;
	font-weight:normal;
	line-height:1.2;
	margin:0 0 1em 0;
	border:none;
  position: relative;
/*--font-family: 'Shippori Mincho B1', serif;--*/
	/*font-family:"Shippori Mincho B1";*/
}


#mainArticles h2:before, #mainServices h2:before, #mainTopics h2:before, #listTopics h2:before {
  content: '';
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 60px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #8DCC98;
}

.mainContents .article h3, .mainContents div.gallery h3, #mainServices h2 {
    font-size: 2.2em;
    text-align: center;
    letter-spacing: 0.1em;
    padding: 0;
    margin: 3em auto 2em auto;
    color: #2a2a2a;
    font-weight:normal;
    line-height:1.5;
    position: relative;

	/*--font-family:"Shippori Mincho B1", serif;--*/
}


.mainContents .article h3 a, .mainContents .article h3 a:hover {
    color: #2a2a2a;
    text-decoration: none;
}

.mainContents .article h4 {
  line-height: 1.4em;
  font-size: 1.4em;
  margin: 3em 0 1em 0;
  font-weight: bold;
  padding: 0 0 5px 1.5em;
  color: #2a2a2a;
  display:flex;
  border-bottom:1px dotted #8DCC98;
  position:relative;
  /*--font-family: 'Shippori Mincho B1', serif;--*/
	/*font-family:"Shippori Mincho B1", serif*/
}

.mainContents .article h4:before {
		position:absolute;
		content:"\025a0";
		color:#8DCC98;
		left:0;
		top:0em;
		width:2em;
		height:1em;
		margin:auto;
		box-sizing:border-box;
}
.mainContents .article h4.mark:before {
  position:absolute;
  content:"";
  color:#8DCC98;
  left:0;
  top:0em;
  width: 1.2em;
  height: 1.5em;
  margin:auto;
  box-sizing:border-box;
  background: url("/materials/173692445632401.jpg") no-repeat;
  background-size: contain;
}


.mainContents .article h4.lead {
	font-size: 1.5em;
	padding:0;
	color: #8DCC98;
	margin: 1.5em 0 0.5em 0;
	font-weight:bold;
	border:none;

	font-family:"Shippori Mincho B1", serif
}
.mainContents .article h4.lead:before {
	display:none;
}


.mainContents .article h5 {
  font-size: 1.3em;
  color: #DCAD4E;
  margin: 1.5em 0 0.2em 0;
  font-weight:bold;
	display:inline-block;

	font-family:"Shippori Mincho B1", serif
}

/*mainservice*/
#mainServices .services {
    padding: 0 36px;
}


/*-------------------------------------------
サイドコンテンツ
-------------------------------------------*/

#sideContents {
    background:#e9fdec;
    padding-top: 20px;
}

#sideContents a{
  color:#2a2a2a;
}

#sideContents a.linkbtn{
	color:#fff;
}


#sideContents a:hover{
  color:#8DCC98;
}


#sideContents_outer {
    padding: 0;
  width: 1024px;
}
#sideBlogCategories, #sideBlogDates {
    margin: 0;
}
.freeHtml {
    font-size: 1em;
}
.sideServices ul li a,
.sideBlogCategories a, 
.sideBlogDates a
{
    font-size: 0.95em;
    background:none;
    color:#2a2a2a;
    padding:0 15px 0 5px;
    text-decoration:underline;
}


.sideServices ul li a:before , .sideBlogCategories a:before ,  .sideBlogDates a:before{
  content: "\025b6";
  font-size: 70%;
  margin-right: 6px;
  display: inline-block;
  vertical-align: middle;
}

.sideMobile p{
    font-size: 1em;
}

.sideServices ul li a:hover , .sideBlogCategories a:hover , .sideBlogDates a:hover{
  color:#8DCC98;
}

.freeHtml_outer {
    padding: 0;
    background: none;
}
.side-logo {
    text-align: center;
    margin-bottom: 30px;
}
.side-logo img {
    max-width: 200px;
}

/*サイドコンテンツ*/

#sideContents .side{
	display:flex;
	margin-top:1.5em;
	justify-content:space-between;
}
#sideContents .side1{
	width:50%;
	margin-right:2em;
}
#sideContents .side1 p{
	/*--margin-bottom:20px;--*/
  margin-bottom:10px;
}

#sideContents .side2{
	width:50%;
}
#sideContents .side2 p{
  margin-top:2px;
	margin-bottom:16px;
}

#sideContents .timeTbl{line-height: 1.3; margin-bottom: 10px;}

.sideServices h2 , .sideMobile h2{
  font-size:1.5em;
  background:none;
	padding:0 0 5px 0;
	margin:2em 0 0 0;
/*--font-family: 'Shippori Mincho B1', serif;--*/
	/*font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif*/
}

.sideBlogCategories h2, .sideBlogDates h2{
		font-size:1.5em;
		background:none;
		padding:0 0 5px 0;
		margin-top:2em;
		margin-right:1.5em;
		color:#2a2a2a;
/*--font-family: 'Shippori Mincho B1', serif;--*/
	/*font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif*/

}
.sideBlogCategories h2:before, .sideBlogDates h2:before{
  display:none;
}


.sideBlogCategories h2:after, .sideBlogDates h2:after{
  display:none;
}


/*-------------------------------------------
Footer
-------------------------------------------*/
#footer{
  background:#fff;
	padding:2em 0 1em 0;
}

.footer * {
    font-size: 1em;
    color: #2a2a2a;
}
.footer li a {
    color: #2a2a2a;
    font-size: 1em;
}

.footer li a:hover {
  text-decoration:underline;
  color: #2a2a2a;
}
.footer .copyright{
  text-align:center;
}

.footer .topMenu{
  width:max-content;
  margin:0 auto;
}
.footer p a:hover{
  text-decoration:underline;
  color: #2a2a2a;
}

.footer a:hover , .footer p a:hover{
  color:#2a2a2a;
}

/*-------------------------------------------
Table
-------------------------------------------*/


.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%;
}
.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: #f7f7f7;
    text-align: center;
}

/*-------------------------------------
テーブル
---------------------------------------*/

/*テーブル*/
.article table.table{
  border-collapse:collapse;
  width:100%;
  margin:0 0 15px 0 !important;
}
.article table.table th,
.article table.table td{
  padding:15px;
  border-bottom:solid 1px #ccc;
}
.article table.table th{
  background:#f7f7f7;
  width:30%;
}



.article table.normalTbl {
  border-top:1px solid #ccc;
}

.article table.normalTbl {
  border-left: none;
  border-bottom:none;
}
.article table.normalTbl td, .article table.normalTbl th {
  border-top:none;
  border-bottom: dotted 1px #ccc;
  border-right: none;
}
.article table.normalTbl th {
  text-align:center;
  /*--background:#fcf3c0;--*/
  background: #fff;
}

.article table.normalTbl tr:last-child td, .article table.normalTbl tr:last-child th {
  border-bottom:1px solid #ccc;
}


/*-------------------------------------
テーブル(診療時間)
---------------------------------------*/

.article table.table2 , #sideContents table.table2{
  border-collapse:collapse;
  margin:0 0 20px 0;
  width:100%;
}
.article table.table2 th,#sideContents table.table2 th,
.article table.table2 td,#sideContents table.table2 td{
  padding:7px;
  text-align: center;
  color:#2a2a2a;
  background:#fff !important;
  border:solid 1px #ccc;
}
.article table.table2 th,#sideContents table.table2 th{
  background:#DCAD4E !important;
  color:#fff;
}


/*-------------------------------------------
Gallery
-------------------------------------------*/
.gallery_grid {
	width:1024px;
	margin:20px auto 0 auto;
}
.gallery_grid2 li.galleryGrid { width: 50%;}
.gallery_grid3 li.galleryGrid { width: 33.33%;}
.gallery_grid4 li.galleryGrid { width: 25%;}
.gallery_grid5 li.galleryGrid { width: 20%;}

.gallery_grid li.galleryGrid .galleryGrid_outer {
  padding: 0 10px 18px;
}
.gallery_grid li.galleryGrid .image {
  margin-bottom: 0;
}
.gallery_grid li.galleryGrid .comment {
  text-align: center;
  font-size: 1em;
  line-height: 1.5;
  font-weight: normal;
  margin-top: 15px;
}

/*サイト案内*/
#siteGuide .comment {
  font-size: 17px;
  line-height: 1.4em;
  padding-top: 0px;
  height: 2.4em;
  color: #646464;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1em;
  margin-top: 0;
}
#siteGuide .comment a {
font-weight: bold;
color: #cd853f;
text-decoration: underline;
}

#siteGuide .gallery_grid li.galleryGrid .image {
  margin-bottom: 0px;
  padding-bottom: 0px;
  background-color: #d3e9d7;
  border-radius: 20%;
  width: 178px;
  height: 178px;
  /*--height: 146px;--*/
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}


/*--
.guide .galleryGrids{
  display: flex;
  flex-wrap: wrap;
}
.guide .galleryGrids .galleryGrid{
  position: static !important;
}
.guide .gallery_grid li.galleryGrid .comment {
  font-size: 0.9em;
  text-align: center;
}--*/
/*-------------------------------------------
お問い合わせテーブル
-------------------------------------------*/
table.contactTable {
    width: 100%;
    border-bottom: solid 1px #aaa;
}
table.contactTable tr td label {
    display: block;
    margin: 0 0 8px 10px;
}
table.contactTable th {
    width: 34%;
    background:#fbf7eb;
}
table.contactTable th, table.contactTable td {
    padding: 18px;
    border-top: solid 1px #aaa;
}
table.contactTable input.button, table.contactTable input[type="button"] {
  background-color: #bbdbf3;
  border: 2px solid #bbdbf3;
  border-radius: 5px;
  color: #fff;
  display: block;
  margin: 10px auto;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  max-width: 640px;
  font-size: 1em;
  width:300px;
  box-sizing: border-box;
  letter-spacing: 1px;
  overflow: hidden;
  text-decoration:none !important;

}
select.validator-input {
    font-size: 1em;
}
table.contactTable .textField {
width: 100%;
}
table.contactTable input.button:hover,table.contactTable input[type="button"]:hover {
  background-color: #FFF;
  color: #2a2a2a !important;
}
.mainArticles .article p.contact-note {
    padding: 6px 0 0;
    font-size: 1em;
    color: #666;
}
table.contactTable .th_headline {
    text-align: center;
    font-size: 1em;
    font-weight: bold;
    letter-spacing: 0.16em;
    color: #8bbf1b;
}
table.contactTable input.button{
	width: 33%;
}
table.contactTable input.button,
table.contactTable input.button:hover {
}
table.contactTable input[type="button"]{
        width:33%;
	background: #aaa;
        border:2px solid #aaa;
}
table.contactTable input[type="button"]:hover {
  filter:alpha(opacity=80);
  opacity:0.8;
  transition:0.5;
}
table.contactTable input[type="text"], table.contactTable input[type="password"], table.contactTable textarea {
    padding: 6px;
    border: solid 1px #b6b6b6;
    font-size: 1em;
    margin-left:0;
}
.validator-form .validator-message-valid,
.validator-form .validator-message-invalid{
    padding-left: 24px;
    font-size: 1em;
    padding-top: 2px;
}
body.body-media-pc.ams-build #sideContact {
    position: absolute;
}



/*-------------------------------------------
List
-------------------------------------------*/

ol.pp {
  padding-left: 2em;
}
ol.pp li {
  list-style-type: decimal;
  padding: 5px;
}

ul.notes {
  list-style-type: none;
  margin-left:1em;
  margin-bottom:1em;
  font-weight:bold;
}
ul.notes li{
  margin:1em 0;
}
ul.notes li::before {
  content: "◆";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
}

ul.ps {
  list-style-type: none;
  margin-left:1em;
  /*--color:#666;--*/
}
ul.ps li::before {
  content: "※";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
}

ul.maru {
  list-style-type: none;
  margin-left:1em;
  margin-top:1em;
  margin-bottom:1em;
  font-weight:normal;
  font-size:1.1em;
}
ul.maru li::before {
  color:#7fd9e6;
  content: "●";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
}



ul.ten {
  list-style-type: none;
  margin-left:1em;
  margin-bottom:1em;
  font-weight:normal;
  font-size:1.1em;
}
ul.ten li::before {
  color:#2a2a2a;
  content: "・";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
}

/*-------------------------------------------
Button
-------------------------------------------*/
a.linkbtn {
  border: 2px solid #8DCC98;
  color: #fff;
  display: flex;
  align-items: center;
  margin: 8px auto;
  padding: 8px 2em;
  width:fit-content;
  text-align: center;
  text-decoration: none;
  font-size:1em;
  box-sizing: border-box;
  letter-spacing: 1px;
  overflow: hidden;
  background: #8DCC98;
	transition: all 0.5s ease-out;
}
a.linkbtn:hover {
  background:#fff;
	color:#8DCC98;
}
a.linkbtn:before {
  content: "\025b6";
  font-size: 70%;
  margin-right: 6px;
  display: inline-block;
  vertical-align: middle;
}



/*-------------------------------------------
その他
-------------------------------------------*/

strong{
  font-weight:bold;
  font-size:1.2em;
/*--font-family: 'Zen Maru Gothic', sans-serif;--*/

  /*font-family:"Zen Maru Gothic Medium 500","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS PGothic", sans-serif !important;*/
}


/*ハーフ記事2*/
.mainArticles .article.half2 , .mainArticles .article.half2b {
  border: none;
  width: calc((1024px / 2) - 20px);
  display: inline-block;
  box-sizing: border-box;
  padding: 10px;
  margin: 0 0 3em 0;
  text-align:left;
  vertical-align: top;
  background: #fff;
}

.mainArticles .article.half2:nth-of-type(2n+1) {
	margin-left:calc((100% - 1024px) / 2 );
}

.mainArticles .article.half2:nth-of-type(2n) {
	margin-right:calc((100% - 1024px) / 2);
}


.mainArticles .article.half2b:nth-of-type(2n+1) {
	margin-right:calc((100% - 1024px) / 2 );
}

.mainArticles .article.half2b:nth-of-type(2n) {
	margin-left:calc((100% - 1024px) / 2);
}


.mainArticles .article.half2 .article_body , 
.mainArticles .article.half2b .article_body{
	width:100%;
}

/*h4*/
.mainContents .article.half2 h4 , .mainContents .article.half2b h4{
    line-height: 1.4em;
    font-size: 1.4em;
    margin: 0 0 1em 0;
    font-weight: bold;
    padding: 0 0 5px 1.5em;
    color: #2a2a2a;
    display:flex;
    border-bottom:1px dotted #c4a33d;
		position:relative;
}
.mainContents .article.half2 h4:before ,
.mainContents .article.half2b h4:before{
		position:absolute;
		content:"\025a0";
		color:#DCAD4E;
		left:0;
		top:0em;
		width:2em;
		height:1em;
		margin:auto;
		box-sizing:border-box;
}

.mainContents .article.half2 img ,
.mainContents .article.half2b img{
  max-width:480px !important;
}


/*ハーフ記事3*/
.mainArticles .article.half3 {
  border: none;
  width: calc((1024px / 3) - 2em );
  display: inline-block;
  box-sizing: border-box;
  padding: 0;
	height:490px;
  text-align:left;
  vertical-align: top;
  background: #fff;
	border-radius:1em;
	border:1px solid #ccc;
}

.mainArticles .article.half3:nth-child(3n) {
	margin-right:calc((100vw - 1024px) / 2 );
	margin-bottom:2em;
}

.mainArticles .article.half3:nth-child(3n+1) {
	margin-left:calc((100vw - 1024px) / 2 ); 
	margin-right:1.5em; 
	margin-bottom:2em;
}

.mainArticles .article.half3:nth-child(3n+2) {
	margin-right:1.5em;
	margin-bottom:2em;
}

.mainArticles .article.half3 .article_body{
	width:100%;
}

.mainContents .article.half3 img{
  max-width:310px !important;
	margin:0;
}

.mainArticles .article.half3 p{
	padding:0 1em;
}

/*h4*/
.mainContents .article.half3 h4{
  font-size: 1.4em;
  color: #2a2a2a;
  padding:0;
  border:none;
  width:auto;
  margin:0 1em 0.7em 1em;
  text-align:center;
  background:none;
	line-height:1.5;
	display:block;
}

.mainContents .article.half3 h4:before{
	display:none;
}



/*中央寄せ*/
.align_c{
  text-align:center;
}

/*右寄せ*/
.align_r{
  text-align:right;
}
.mainTopics .topics li .date {
	font-weight:bold;
	/* color: #c4a33d; */
}




/*診療内容*/
#serviceList{
  background: #7fd9e6 url(/materials/167713402556401.png)no-repeat;
    background-size: cover;
  margin:5em 0 0 0;
  padding:0 0 2em 0;
}

#serviceList h3{
	margin:2em auto;
	text-shadow:0 0 5px #fff;
}

#serviceList ul.galleryGrids li.galleryGrid .galleryGrid_outer{
  margin:5%;
  padding:0;
}
#serviceList ul.galleryGrids li.galleryGrid .image{
  padding:3em 2em;
  background:#fff;
  border:none;
	border-radius:0;
}
#serviceList ul.galleryGrids li.galleryGrid .image img{
  max-width:100%;
}
#serviceList ul.galleryGrids li.galleryGrid .comment{
  color:#fff;
  font-weight:normal;
	background:#DCAD4E;
	padding:0.5em 0;
}





/*院長挨拶*/
ol.greeting{
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
	padding:2em;
	border:1px solid #DCAD4E;
	margin-bottom:2em;
}
ol.greeting li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
	width:100%;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol.greeting li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #DCAD4E;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}




/*ナンバーリスト*/
ol.number {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:1em;
  background: #f7f7f7;
	overflow:hidden;
}
ol.number li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
	float:left;
	width:45%;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol.number li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #DCAD4E;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/*感染対策*/
.mainArticles .article.disinfecting{
    background-color: #f1f3ec;
    margin: 0;
    padding:0 0 4em 0;
}

ul.StyleCheckList {
    list-style: outside none;
    line-height: 2;
    padding-left: 2.5em;
}
ul.StyleCheckList li {
    position: relative;
    font-size: 16px;
}
ul.StyleCheckList li::before {
    display: block;
    content: '';
    position: absolute;
    top: 0.4em;
    left: -2em;
    width: 0.9em;
    height: 0.5em;
    border-left: 4px solid #E55;
    border-bottom: 4px solid #E55;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.bannar{
	margin:2em 0;
}

/*追記*/
ul.galleryGrids li.galleryGrid .comment{
  /*--font-family: 'Zen Maru Gothic', sans-serif;--*/
 /* font-family:"Zen+Maru+Gothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS PGothic", sans-serif !important;*/
}
p{
  /*--font-family: 'Zen Maru Gothic', sans-serif;--*/
/*font-family:"Zen+Maru+Gothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS PGothic", sans-serif !important;*/
}
/*追従型ボタン*/
.freeHtml #contact-box{
  position:fixed;
  top:250px;
  right:0px;
  z-index:100;
  width:50px;
}



ul.faq {
  padding: 10px 0 20px;
}
ul.faq li.qus ,
ul.faq li.ans {
  display: block;
  font-size: 100%;
  line-height: 1.6;
  margin-bottom: 20px;
  padding-left: 45px;
}
ul.faq li.qus::before ,
ul.faq li.ans::before {
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 100%;
  height: 32px;
  line-height: 32px;
  margin: 0 8px 0 -40px;
  text-align: center;
  width: 32px;
}
ul.faq li.qus::before {
  background-color: #eb6d8d;
  content: "Q";
}
ul.faq li.ans::before {
  background-color: #ffc0cb;
  content: "A";
}




.ul>*{
  margin-left: 1.5em;
  list-style: disc;
}

div.envelope-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items:flex-start;
  justify-content: space-between;
  gap: 16px;
}

div.envelope-wrap div.envelope {
  width: calc(50% - 8px);
  margin-top: 0;
  margin-bottom: 0;
}

div.envelope {
  margin-top: 15px;
  background: #e9fdec;
  margin-bottom: 2em;
  margin-right: 0;
  margin-left: 0;
  padding-top: 1em;
  padding-bottom: 1em;
  padding-right: 30px;
  padding-left: 35px;
  box-sizing: border-box;
  border-radius: 0px;
}
.mainContents .article .envelope h4{
  margin-top: 0;
}
div.envelope2{
  padding: 2em;
  border: none;
  margin-bottom: 2em;
  	background: #fbeef4;
}

ol.merit {
  counter-reset:number;
  list-style-type: none;
  padding:0.5em;
}
ol.merit li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol.merit li:before{
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display:inline-block;
  background: #8DCC98;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  top: 8px;
}



.article table.priceTbl th{
  width: 50%;
}
.article table.priceTbl tr.totalRow th,
.article table.priceTbl tr.totalRow{
  background: #8DCC98;
  color: #FFF;
}


ul.kamokuUl {
  list-style: none;
  padding:0;
  margin:0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
ul.kamokuUl>li {
  display: inline-flex;
  /* padding-left: 1em;
  text-indent: -1.1em;
  margin-bottom: 0.6em; */
}

#contents table.timeTbl{
  border-collapse: collapse;
  width: 100%;
}
#contents table.timeTbl th,
#contents table.timeTbl td{
  padding: 8px;
  box-sizing: border-box;
  text-align: center;
  border: solid 1px #8DCC98;
}
#contents table.timeTbl th{
  background: #e9fdec;

}





.article table.flowTbl {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  margin: 30px auto;
  width: 95%;
  list-style:none;
  border-left:1px dashed #999;
  padding-left:0;
}
.article table.flowTbl td {
  border:none;
  border-radius: 8px;
  display: block;
  height: auto;
  margin-bottom: 40px;
  padding: 0 0 0 4%;
  position: relative;
}
.article table.flowTbl td:before{
  content:"";
  width:20px;
  height:20px;
  border-radius:50%;
  background:#8DCC98;
  position:absolute;
  left:-0.6em;
  top:0.5em;
}

.flowTbl td::after {
content: "";
border-bottom: 1px solid;
width: 18px;
background: #2f2e2e;
position: absolute;
top: 1.1em;
left: 4px;
}

.article table.flowTbl strong{
color:#333;
font-weight:bold;
font-size:1.5em;
display:inline-block;
margin-bottom:0.5em;
}


.article table.defineTbl th:first-of-type{
  width: 200px;
}
.defineTitle{
  display: none;
}
.side img{
  max-width: 100%;
}

.mainArticles .article.envelope {
	padding-bottom: 40px;
}

.mainContents .article.envelope h4 {
	margin-top: 1em;
}

/*---------------
スライドショー高さ可変
----------------------------*/
.mainImage #slider li {
        height: auto !important;
}

 ul.link {
    display: flex;
    gap: 1em;
    justify-content: center;
    margin-bottom: 15px;
}

ul.link a img {
    /*--max-width: 61px;--*/
    /*--max-width: 150px;--*/
    max-height: 150px;
}

/*-------------------------------------------
flow
-------------------------------------------*/
body{
	counter-reset:count-number;
}

.mainArticles .article.articleFlow{
	overflow:visible;
}
.mainArticles .articleFlow{
  width: 1024px;
	position:relative;
	border-bottom:solid 1px #b4b4b4;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.mainArticles .articleFlow .article_outer {
    padding-left: 120px;
    box-sizing: border-box;
}

.mainArticles .articleFlow .article_body{width: initial;}

.mainArticles .articleFlow:before{
	  counter-increment: count-number 1;
    content: counter(count-number, decimal-leading-zero);
    display: inline-block;
    color: #FFF;
    background-color: #f8c098;
    padding: 25px;
    line-height: 1;
    font-size: 28px;
    position: absolute;
    left: 0;
}

.articleFlow:after{
	content: "";
    width: 30px;
    position: absolute;
    bottom: -16px;
    left: 50%;
    margin-left: -15px;
    background-color: #FFF;
    height: 30px;
    border: 1px solid;
    border-color: transparent transparent #b4b4b4 #b4b4b4;
    transform: rotate(-45deg);
}

.articleFlow.last:after{
	display:none;
}

.flowWrap {
  overflow: hidden;
  margin-bottom: 5%;
  font-size: 15px;
  counter-reset: count-number;
}

.flowWrap .flow_box {
  border-bottom: solid 1px #b4b4b4;
  padding: 3% 0;
  position: relative;
  clear: both;
}

.flowWrap .flow_box:last-child {
  border-bottom: none;
}

.flowWrap .flow_box:not(:first-child):before {
  content: "";
  width: 30px;
  position: absolute;
  top: -15px;
  left: 50%;
  margin-left: -15px;
  background-color: #FFF;
  height: 30px;
  border: 1px solid;
  border-color: transparent transparent #b4b4b4 #b4b4b4;
  transform: rotate(-45deg);
}

.flowWrap .flow_box:after {
  content: "";
  display: block;
  overflow: hidden;
  clear: both;
}

.flowWrap h3 {
  color: #ff6600;
  font-weight: 500;
  font-size: 24px;
  margin-bottom: 15px;
}

.flowWrap p {
  margin-bottom: 1em;
}

.flowWrap .flow_box_in {
  float: hidden;
  padding-left: 140px;
  position: relative;
}

.flowWrap .flow_box_in:before {
  counter-increment: count-number;
  content: counter(count-number, decimal-leading-zero);
  display: inline-block;
  color: #FFF;
  background-color: #f4661b;
  padding: 25px;
  line-height: 1;
  font-size: 28px;
  position: absolute;
  left: 0;
}