@charset "utf-8";
@import url("//share.cr-cms.net/hp_agency/hpagency.css");
/*-------------------------------------------
テンプレート
フラット02 ホワイト 1カラム
-------------------------------------------*/
/*カラー*/
:root {
	--first-color: #1abc6b;
	--second-color: #f2f5e5;
	--third-color: #3498DB;
	--text-color: #333;
	--bg-color01: #e0e0e0;
	--bg-color02: #9b9b9b;
	--border-color: #ccc;
}

html {
	scroll-behavior: smooth;
    transition: 0.5s all;
}

body {
    font-size: 16px;
    line-height: 1.8;
    font-family: sans-serif;
  	color:var(--text-color);
    font-weight: normal;
    letter-spacing: 0.5px;
}

body *{
	box-sizing:border-box;
}

.mainImage #slider li {
        height: auto !important;
}

#mainArticles a:hover img,
#sideBanners  a:hover img,
div.freeHtml a:hover img,
div.image img.gallery:hover,
a:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
  transition: 0.5s;
}

.article a{
	color:var(--third-color);
	text-decoration:underline;
}

.article a:hover{
  color:var(--first-color);
  text-decoration:none;
}

.article a.btn {
	display: flex;
	background: var(--first-color);
	width: fit-content;
	padding: 4px 8px;
	align-items: center;
	align-content: center;
	justify-content: center;
	color: #FFF;
	text-decoration: none;
	gap: 0.5em;
}

.article a.btn::before {
	content: "";
	display: block;
	border-top: 2px solid #FFF;
	width: 0.25em;
	height: 0.25em;
	border-right: 2px solid #FFF;
	transform: rotate(45deg);
}

.article a.btn:hover{
	background:var(--second-color);
	color:var(--first-color);
}

.article a.btn:hover::before{
	border-color:var(--first-color);
}

#mainArticles, #mainContents, #title_outer, #topMenu_outer, #pankuz, #footer_outer, #mainTopics, #listTopics, #topMenu .topMenu, #mainArticles_body {
    width: 1080px;
    margin: 0 auto;
}

.mainArticles .article, .mainArticles div.gallery {
    width: 100%;
}

.mainArticles .article, .mainArticles div.gallery {
	border-bottom: none;
	padding-bottom: 40px;
	margin-bottom: 40px;
}


/*---------------------------------------------
Flex
-------------------------------------------------*/
#wrap_body.wrap {
	display: flex;
	flex-wrap: wrap;
}

#wrap_body.wrap #title {
	order: 1;
}

#wrap_body.wrap #topMenu {
	order:3;
}

#wrap_body.wrap #contents {
	order: 4;
}

#wrap_body.wrap #footer {
	order: 5;
}

#wrap_body.wrap #mainImage {
	order:2;
}


#topMenu {
	position: static;
}

#wrap_body.wrap {padding-top: 0;}

.mainArticles .article.underImg .article_body {
	display: flex;
	flex-direction: column;
}

.mainArticles .article.underImg .article_body .image {
	order: 1;
}

/*---------------------
幅拡張（1200px）
-------------------------*/
#contents,#mainArticles, #title,
#title_outer, #mainContents, #sideContents_outer, #footer_outer {
	width: 100%;
}

.mainArticles .article, .mainArticles div.gallery, #mainTopics, #listTopics {
	width: 100%;
}

.mainArticles .article_body {
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

#topMenu .topMenu {
	max-width: 1080px;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
}

.mainArticles .article .image {
	max-width: 100%;
}

/*-----------------------------------
Gallery
------------------------------------*/
ul.galleryGrids {
	height: auto !important;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

li.galleryGrid {
	position: static  !important;
	height: auto  !important;
	left: unset  !important;
	top: unset  !important;
	padding:8px;
}

#topMenu, #title, #mainImage{
  background:#FFF;
}

/*-------------------------------------------
ヘッダー
-------------------------------------------*/
#title #title_outer {
  width:92%;
  height:100px;
  background: url(/materials/176904823564502.gif) right center no-repeat;
  background-size: 440px;
}
#title h1 {
  width: 400px;
  height: 96px;
}
#title h1 a {
  display: block;
  height: 100%;
  width: 100%;
  background: url(/materials/176904823564501.png) left center no-repeat;
  background-size: 100%;
  text-indent: -9000px;
  margin:0 auto;
}


#title .description {
	display: none;
}

#title {
	padding: 12px 0;
}

#topMenu {
	background: var(--first-color);
	min-height: 52px;
}

#topMenu_outer {
	background: unset;
	/* height: 100%; */
}

#topMenu .topMenu li {
	width: calc(100% / 5);
	float: none;
	display: flex;
	align-items: anchor-center;
}

#topMenu .topMenu li a {
	width: 100%;
	padding: 0;
	display: block;
	font-size: 16px;
	background: unset;
	line-height: 52px;
	color: #FFF;
}

#topMenu .topMenu li::after {
	content: "";
	display: block;
	width: 1px;
	height: 1.5em;
	background: #FFF;
		opacity:0.8;
}

#topMenu .topMenu li:first-child::before {
	content: "";
	display: block;
	width: 1px;
	height: 1.5em;
	background: #FFF;
	opacity:0.8;
}

#topMenu .topMenu li a:hover {
	background: var(--second-color);
	color: var(--first-color);
}

/*-------------------
見出し
---------------------*/
.mainContents .article h3, #listTopics h2, .mainContents div.gallery h3 {
	font-size: 1.8em;
	position: relative;
	line-height: 1.5;
	text-align:center;
	background:var(--second-color);
	padding:16px 0;
 letter-spacing:unset;
}

.article h4 {
	font-size:1.3em;
	position:relative;
	overflow:hidden;
	padding:0 0.5em;
	margin-bottom:0.5em;
}
.article h4::before{
	content:"";
	width:4px;
	height: 100%;
	display:block;
	background: #F2F5E5;
	background: linear-gradient(0deg,rgba(242, 245, 229, 1) 0%, rgba(242, 245, 229, 1) 50%, rgba(26, 188, 107, 1) 50%, rgba(26, 188, 107, 1) 100%);
	position:absolute;
	left:0;
	margin-right:0.75em;
}

.article h5 {
	font-size: 1.15em;
	width: fit-content;
	padding-bottom: 0.2em;
	border-bottom: 1px dashed var(--first-color);
	margin-bottom: 0.5em;
}
/*-------------------------------------------
table
-------------------------------------------*/
.article table p {
    margin: 0;
}
.article table:not(.contactTable) {
    border-collapse: collapse;
    border-left: 1px solid #ccc;
    border-spacing: 0;
    border-top: 1px solid #ccc;
    margin: 10px auto;
}
.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.history{
	border: none;
}

.article table.history th{
	background:unset;
	border-bottom:none;
	vertical-align:top;
	position:relative;
}

.article table.history th::after{
	content:"";
	height:0.5em;
	width:0.5em;
	display:block;
	border-radius:100%;
	background:var(--first-color);
	position:absolute;
	right:-0.25em;
	top:calc(10px + (1.4em / 2));
}

.article table.history td{
	border-right:none;
	border-bottom:none;
}
/*-------------------------------------------
List
-------------------------------------------*/
/******noticelist******/
ol.pp {
margin-top: 1.5em;
padding-left: 2em;
}
ol.pp li {
list-style-type: decimal;
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 12px;
}
ul.notes {
list-style-type: none;
margin-left:1em;
}
ul.notes li {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 12px;
}
ul.notes li::before {
content: "◆";
margin-left: -1em;
}
ul.ps {
font-size: 16px;
list-style-type: none;
margin-left:1em;
margin-bottom: 20px;
}
ul.ps li::before {
content: "※";
margin-left: -1em;
}
ul.maru {
font-size: 16px;
list-style-type: none;
margin-left:1em;
}
ul.maru li::before {
content: "●";
margin-left: -1em;
}

ul.bglist {
	border: 2px dotted var(--first-color);
	background: var(--second-color);
	padding: 16px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

ul.bglist li {
	padding: 4px;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
	width: 48%;
}

ul.bglist li::before {
	content: "";
	display: block;
	background: var(--first-color);
	width: 0.5em;
	height: 0.5em;
	border-radius: 100%;
}
/*---------------------
Text
----------------------*/
.article p {
	margin-bottom: 1em;
}
.article p:last-child{
	margin-bottom:0;
}
/*---------------
Topics
---------------------*/
.mainTopics .topics {
	width: 960px;
	margin: 0 auto;
	border-bottom: none;
}

#mainTopics .topics h3 a,
.mainTopics .topics li h3 a{
	font-size: 18px;
	color: var(--first-color);
}

#mainTopics .topics .description, #mainTopics .topics li .date,
.mainTopics .topics .description, .mainTopics .topics li .date{
	font-size: 14px;
}

#mainTopics .topics li .date,
.mainTopics .topics li .date{
	color: var(--text-color);
	background: var(--second-color);
	width: fit-content;
	padding: 4px;
	border-radius: 4px;
}

#mainTopics .topics li .more a,
.mainTopics .topics li .more a{
	font-size: 14px;
	border: 2px  solid var(--second-color);
	color: var(--first-color);
	background: var(
	--second-color);
}

#mainTopics .listview a {
	font-size: 16px;
}

#mainTopics .listview {
	padding: 16px 0;
}

.mainTopics .topics li .more a:hover {
	color: #333;
	border: none;
}

#sideContents_body, #footer_body{
	max-width: 1080px;
	margin: 0 auto;
}

.sideServices ul li a,
.sideBlogCategories a, .sideBlogDates a,
.sideMobile p,
.footer .topMenu, .footer .copyright,.footer .copyright a{
	font-size: 14px;
	color:var(---text-color);
	padding: 0;
}

#footer,
#sideContents_outer {
	background: var(--bg-color01);
}

.footer .topMenu {
	display: flex;
	justify-content: center;
	gap: 1em;
}

.footer .topMenu li a {
	color: var(--text-color);
}

.footer .copyright {
	text-align: center;
}

#sideContents_outer {
	padding-bottom: 40px;
	padding-top: 80px;
}

.sideServices ul li a, 
.sideBlogCategories li a, .sideBlogDates li a {
	background: unset;
	padding: 8px 0;
	flex: 1 0 auto;
	display: flex;
}

.sideServices ul li a, #sideBlogCategories li a, #sideBlogDates li a{
	display: flex;
	gap: 0.5em;
	flex-wrap: nowrap;
	align-items: center;
	text-decoration: none;
	flex: 1 0 auto;
	width: 100%;
	line-height: 1.8;
}

.sideServices ul li a::before,
.sideBlogCategories li a::before, .sideBlogDates li a::before{
	content: "";
	display: block;
	height: 0.5em;
	width: 0.5em;
	border-radius:100%;
	background: var(--first-color);
	opacity:0.5;
}

.sideServices ul li:hover,
.sideBlogCategories li:hover, .sideBlogDates li:hover{
	background: var(--second-color);
	transition: 0.3s all;
}

.sideServices ul li,
.sideBlogCategories li, .sideBlogDates li{
	padding-left: 8px;
}

.sideServices ul li a:hover,
.sideBlogCategories li a:hover, .sideBlogDates li a:hover{
	text-decoration: none;
}

.sideBlogCategories li, .sideBlogDates li{
	display:block;
	margin: 0;
}

#sideServices, #sideBlogCategories, #sideBlogDates {
	width: 32%;
	min-width:calc(1080px * 0.32);
}

#sideContents_body {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: flex-start;
}

.sideBlogCategories h2, .sideBlogDates h2 {
	margin-bottom: unset;
}

#mainTopics h2 {
	border-bottom: none;
}

#mainArticles h2 {
	border: none;
	font-size: 32px;
	padding: 32px 0;
}

#mainTopics {
	border: none;
}

.article table.clinic {
	line-height: 1.3;
	font-size: 14px;
}

	.article table.clinic td, .article table.clinic th {
		padding:8px;
	}

div.fixed {
	word-break: break-all;
	width: 100%;
	height: 600px;
	border: 1px solid #ffffff;
	background: #fff;
	overflow: auto;
}

.article table.clinic thead{
position: sticky;
	top: 0;
	height: 100px;
}

.article table.clinic thead th{
	background:var(--second-color);
	color:#333;
}
.article table.clinic tbody th,
.article table.clinic tbody td{
	border-bottom-style:dashed;
}

.article table.clinic tbody tr:last-child th,
.article table.clinic tbody tr:last-child td{
	border-bottom-style:solid;
}

.article.link p {
	margin-bottom: 2em;
}

.article.link p:last-child {
	margin-bottom: 0;
}

#listTopics h2 {
	border: none;
}

.footer li {float: none;margin-right: unset;}