@charset "UTF-8";
/*
Theme Name:Original Style - 1column
Version:1.1
2016.11.05
*トップページの指定
*/
/*-------- 下層*/
.page-clinic .table01 th {
  width: 140px;
}


.home #contents > .inner {/* トップページ幅 100% */
	width:100%;
	max-width:100%;
}
.topinner {/* コンテンツは1000pxに */
	width:1000px;
	margin:0 auto;
	max-width:96%;
}

/* tinyMCE用に見出しをリセット */
.toppage h3,
.toppage h4,
.toppage h5 {
	background:none;
	border:none;
	color:inherit;
	font-size:inherit;
	line-height:inherit;
	margin:0;
	padding:0;
}
.toppage h3::before,
.toppage h3::after ,
.toppage h4::before,
.toppage h4::after,
.toppage h5::before,
.toppage h5::after {
	display:none;
}


/*==========================
	　mainimage
==========================*/

/*-- スライダーの時 ------------*/

.slider { }
.slick-slide img { margin:0 auto;}

button.slick-arrow {/* 矢印ボタン */
	background:none;
	border:none;
	position:absolute;
	top:50%;
	margin-top:-20px;
	height:40px;
	width:16px;
	text-indent:-9px;
	z-index:1;
}
button.slick-arrow:hover {
 	cursor:pointer;
	opacity:0.7;
}
button.slick-prev {/* 矢印（前へ）ボタン */
	background:url(img/btn_prev.png) no-repeat;
	left:18%;
	margin-left:-16px;
}
button.slick-next {/* 矢印（次へ）ボタン */
	background:url(img/btn_next.png) no-repeat;
	right:18%;
	margin-right:-16px;
}
@media screen and (max-width: 1650px) {
button.slick-prev {	left:13.7%;}
button.slick-next {	right:13.7%;}
}
@media screen and (max-width: 1400px) {
button.slick-prev {	left:8%;}
button.slick-next {	right:8%;}
}
@media screen and (min-width: 1200px) {
.slick-track {}
.slick-slide:not(.slick-center) {/* 前と次の画像を半透明に */
	opacity: 0.4;
	-moz-opacity: 0.4;
	filter: alpha(opacity=40);
}
}

/*==========================
	新着情報
==========================*/
.topnews .news {
	margin-bottom:0;
	position:relative;
}

/* 新着情報見出し */

.topnews h3 {
	font-size:28px;
	padding:0.4em 0 0.6em 2.6em;
	background:url(img/h3_icon.svg) no-repeat 0.6em top;
	position:relative;
	text-align:left;
	margin-bottom:1.2em;
}
.topnews h3::before ,
.topnews h3::after {
	position:absolute;
	content:"";
	display:block;
	bottom:0;
	left:0;
	height:2px;
}
.topnews h3::before {
	background:#ccc;
	width:100%;
}
.topnews h3::after {
	background:#1a1a1a;
	width:24%;
}

/* 一覧へボタン */

.topnews .btn {
	position:absolute;
	top:10px;
	right:20px;
}
.topnews .news .btn a {
	display:inline-block;
	line-height:1.2;
	padding:0.25em 0.5em 0.15em;
	text-decoration:none;
	color:#555;
	font-size:16px;
	letter-spacing:0.08em;
}
.topnews .news .btn a:hover {
	color:#ff0000;
}

/* 新着情報 */
.topnews .news dl {
	line-height:1.3;
	margin:1.2em 0;
}
.topnews .news dt {
	 font-weight:nomal;
	 color:#ff0000;
	padding:0 20px 7px;
}
.topnews .news dd {
	margin-bottom:18px;
	padding:0 20px 15px;
	border-bottom:1px dashed #e6e6e6;
}
.topnews .news dd a {
	 text-decoration:none;
	 color:#555;
}
.topnews .news dd a:hover {
	color:#ff0000;
}

/*==========================
	汎用に使えるボタン
==========================*/
.btn-style { text-align:center; }
.btn-style a {
	background: #eb0792;
	width:100%;
	max-width:300px;
	padding:0.8em 1em;
	text-align:center;
	color:#fff;
	display:inline-block;
	text-decoration:none;
	line-height:1.2;
	box-sizing:border-box;
	font-size:16px;
	border-radius:6px;
	position:relative;
}
.btn-style a::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 8px;
    margin-top: -4px;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    width: 8px;
}
.btn-style a:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
 	cursor:pointer;
}
.under .btn-style a {
	width:auto;
	min-width:280px;
}
.under .btn-style{
	text-align:left;
}
.btn_box{
	text-align:center;
}
.btn_box .btn-style {
    display: inline-block;
	max-width: 48%;
}
/*==========================
	loopSlider　無限ループスライダー
==========================*/
.loopSliderWrap {
    top: 0;
    left: 0;
    height: 200px;
    overflow: hidden;
    position: absolute;
}

.loopSlider {
    margin: 0 auto;
    width: 100%;
    height: 200px;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.loopSlider ul {
    height: 200px;
    float: left;
    overflow: hidden;
}

.loopSlider ul li {
    width: 300px;
    height: 200px;
    float: left;
    display: inline;
    overflow: hidden;
}

/*==========================
	　TOP コンテンツ
==========================*/

.top .mainblock a {
	text-decoration:none;
}
.top .mainblock a:hover {
}

/*-- 余白・背景 --------------*/


.topnews {
	padding:3em 0;
}

/*-- 見出し --------------*/

.top h2{
	text-align:center;
	font-size:36px;
	line-height:1.3;
	letter-spacing:0.05em;
	margin:0 0 30px;
}
.top h3{
	text-align:center;
	font-size:24px;
	line-height:1.3;
	letter-spacing:0.05em;
	margin:0 0 10px;
}
/*-- ボックスその他 --------------*/
.top01{
	background:url(img/top01_bg01.png) no-repeat center top;
	background-size:cover;
	padding:50px 0;
}
.top01 .con_l,.top01 .con_r{
	width:48%;
}
.top01 .con_r{
	text-align:right;
}
.top01 .table01 th {
    width: 20%;
}
.top01 .btn-style a {
	width:100%;
	max-width:100%;
}
.top01 .map_p{
	display:inline-block;
}
.top01 .map_p:hover{
	text-decoration:underline;
}
.top02{
	background:url(img/top01_bg02.png) no-repeat center top;
	background-size:cover;
	padding:50px 0;
	background-size:cover;
}
.top02 .box01{
	width:60%;
}
.top02 .span01{
	font-size:20px;
}
.top02 .name02{
	font-size:26px;
}
.top02 .name02 .span01 {
    font-size: 36px;
    padding-left: 10px;
}
.top03 {
    padding: 40px 0;
}
.top03 .con_l,.top03 .con_r{
	width:48%;
}
.top03 .news {
    box-sizing: border-box;
    max-width: 100%;
    position: relative;
	background:#fff;
	padding:0;
}
.top03 .clearfix{
	margin:0 0 50px;
}
#main .news .btn a {
    display: inline-block;
    line-height: 1.2;
    padding: 4px 20px 4px;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.05em;
    position: relative;
	background:#655b59;
}
#main .news .btn a::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 7px;
    margin-top: -5px;
    position: absolute;
    right: 7px;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    width: 7px;
}

#main .news .btn a:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
}
#main .news dt{
    color: #333;
    float: left;
    width: 26%;
    overflow: hidden;
}
.news h3 {
    font-size: 22px;
    color: #333;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    padding: 0px 0 10px 0;
    margin-bottom: 0.6em;
    border-bottom: 1px solid #655b59;
    text-align: left;
}
.news h3 span {
    font-size: 14px;
    padding-left: 10px;
    vertical-align: middle;
}
.news .btn {
    position: absolute;
    top: 0px;
    right: 0;
}
.news dd {
    margin-bottom: 10px;
    padding: 0 0 10px 123px;
	border-bottom:1px solid #cccccc;
}
.news dd a {
	 text-decoration:none;
	 color:#333;
}
.news dd a:hover {
	 text-decoration:underline;
}

.top03 .column{
	background:#eb0792;
	border-radius:10px;
	box-sizing:border-box;
	position:relative;
	color:#fff;
	padding:20px 0;
	margin-bottom:20px;
}
.top03 .link_box_top p {
    font-size: 24px;
    width: 90%;
    margin: 0 auto 10px;
}
.top03 .link_box_top p span{
	font-size:18px;
}
.top03 .link_box_top{
	border-bottom:1px solid #fff;
}
.top03 .link_box_bottom p {
    font-size: 16px;
    margin: 20px auto 0;
    position: relative;
    padding: 6px 30px 0 60px;
    box-sizing: border-box;
    display: inline-block;
}
.top03 .link_box_bottom p::before {
    content: "";
    position: absolute;
    background: url(img/top03_icon01.png) no-repeat center center;
    width: 25px;
    height: 34px;
    left: 20px;
    top: 0;
}
.top03 .link_box_bottom p::after {
    content: "";
    position: absolute;
    background: url(img/top03_icon02.png) no-repeat center center;
    width: 26px;
    height: 26px;
    right: 0;
    top: 5px;
}
.top03 p a{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-indent:-9999px;
	-webkit-transition:none;
	transition:none;
}
.top03 p a:hover{
    background-color:#FFF;
    filter:alpha(opacity=20);
    -moz-opacity: 0.2;
    opacity: 0.2;
}
.mainblock .top03 p.link_p{
	margin-bottom:0;
}
.top04{
	padding:0 0 50px;
}
.top04 .columns{
	margin-bottom:30px;
}
.top04 ul li a {
    text-decoration: none;
    position: relative;
    line-height: 1.4;
    display: block;
    padding: 8px 10px 7px 30px;
	border-bottom:1px solid #dfdfdf;
}
.top04 ul li a:hover {
    text-decoration: underline !important;
}
.top04 ul li a::after{
    position: absolute;
    content: "";
    width: 15px;
    height: 15px;
    top: 50%;
	left: 3px;
	margin-top:-8px;
    background:url(img/top04_icon01.png) no-repeat center top;
}

.me{
font-size: 26px;
	vertical-align: bottom;
}


/********************************
	Responsive
*********************************/

@media screen and (min-width: 768px) {/* タブレットまで */

/*==========================
	mainimage
==========================*/

/*-- 一枚画像の時 ------------*/

.mainimage {
	background:url(img/main_image.jpg) no-repeat center;
	background-size:cover;
	height:811px;
}

/*==========================
	　TOP コンテンツ
==========================*/

/*-- ボックスその他 --------------*/
.columns {
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.columns.wrap {
		flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
}
.under .columns {
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.under .columns.reverse{
		-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
	}
	.under .columns.col2 >* {
		max-width:48%;
		  -webkit-box-flex-basis:48%;
  -webkit-flex-basis:48%;
  flex-basis:48%;
	}
.top03 .columns,.top04 .columns{
	-webkit-justify-content:space-between;
	-ms-flex-pack: space-between;
	-webkit-box-pack:space-between;
	justify-content: space-between;
	flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
}
.top03 .columns .column {
  -webkit-box-flex-basis: 100%;
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.top04 .columns .column {
  -webkit-box-flex-basis: 32%;
  -webkit-flex-basis: 32%;
  flex-basis: 32%;
}


}

@media screen and (min-width: 768px)  and (max-width: 1280px) {/* 程よいブラウザサイズでメインイメージを縮小 */
.mainimage {
	background-size:cover;
	height:400px;
}
.top02 {
    background-position: 60% 0;
}
.top02 .box01{
	background:rgba(255,255,255,0.8);
	padding:10px;
	box-sizing:border-box;
}
.top03 .link_box_bottom p {
    font-size: 14px;
}
}
@media screen and (min-width: 768px)  and (max-width: 1041px) {

}

@media screen and (max-width: 1041px) {/*コンテンツが横幅いっぱいになったら*/
.top h2 {
    font-size: 28px;
}
.h3_bg {
	background-image: url(img/top01_bg_tab.svg) ;
	background-size:100% auto;
}
.h3_bg h3 {
	font-size:28px;
	line-height:1.4em;
}
.top01 .table01 {
    font-size: 14px;

}

}

@media screen and (max-width: 767px) {/* スマホ */

.topinner {
	width:420px;
	margin:0 auto;
	box-sizing:border-box;
}

/*==========================
	　mainimage
==========================*/
.mainimage,
.slider { margin-bottom: 0;}
.mainimage img {
    height: auto;
    max-width: none;
    max-height: none;
    width: 100%;
}

/*==========================
	新着情報
==========================*/
#main .news {
    margin-top: 0;
    margin-bottom: 1.5em;
    position: relative;
}
#main .news h3 { font-size:20px;}
#main .news h3 .subtitle { font-size:12px; margin-left:0;}
#main .news dt,#main .news dd { padding-left:10px; padding-right:10px;}
#main .news .btn {
    right: 5px;
    top: 0px;
}
#main .news dt {
    float: none;
    width: 100%;
}
#main .news .btn a {
	font-size:12px;
}

/*==========================
	電話ボタン
==========================*/

#main > .telbtn {
	margin-bottom:1.2em;
}
.telbtn {
	text-align:center;
	margin-bottom:1em;
}
.telbtn a {
	background:#ff0000;
	text-align:center;
	width:280px;
	max-width:100%;
	color:#fff;
	display:inline-block;
	padding:10px 5px 10px;
	text-decoration:none;
	font-size:24px;
	box-sizing:border-box;
	letter-spacing:0.08em;
	border-radius:4px;
	line-height:1.2em;
}
.telbtn a .subtxt {
	font-size:14px;
	display:block;
	margin-bottom:1px;
}
.telbtn a:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
}

/*==========================
	loop
==========================*/

.loopSlider {    height: 100px;}
.loopSlider ul {    height: 100px;}
.loopSlider ul li {
    width: 150px;
    height: 100px;
}

/*==========================
	　TOP コンテンツ
==========================*/

/*-- 余白・背景 --------------*/


/*-- 見出し --------------*/
.top h2 {
    font-size: 26px;
}
.top h3 {
    font-size: 20px;
}
.top01 .con_l, .top01 .con_r {
    width: 100%;
}
.top02 {
    background: none;
    padding: 50px 0 0;
}
.top02 .box01 {
    width: 100%;
}
.top02 .name02 .span01 {
    font-size: 32px;
}
.top03 .con_l, .top03 .con_r {
    width: 100%;
}
.top03 .link_box_bottom p {
    font-size: 12px;
    padding: 3px 25px 0 55px;
}
.top03 .link_box_bottom p::after {
    top: 2px;
}
.top04 {
    padding: 0;
}
.top04 .column{
    max-width: 490px;
    margin: 0 auto;
}
.top04 .column {
    max-width: 320px;
    margin: 0 auto 30px;
}
/*-- ボックスその他 --------------*/
.btn_box .btn-style {
    display: block;
    max-width: 100%;
    margin: 0 auto 10px;
}

}

@media screen and (max-width: 480px) {/* スマホ480px */
}

@media screen and (max-width: 320px) {/* スマホ320px */
}
.mainimage{
	position:relative;
}
.mainimage a:hover {
    background-color: #FFF;
    filter: alpha(opacity=30);
    -moz-opacity: 0.3;
    opacity: 0.3;
}
.box_link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.box_link a {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
}

/*-- タブメニュー ------------*/
.sec04 {
	padding: 100px 0 0;
}
.sec04 h2{
	text-align:
	center;
	line-height: 1;
	margin-bottom:60px;
}

.tab_btn_wrap{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1.5em;
}
.tab_btn{
  width: 80px;
  background: #ccc;
  text-align: center;
  cursor: pointer;
  padding: 0.2em 0.5em;
  margin: 1px;
}
.tab_btn:hover{
  opacity: 0.7;
}
.tab_btn.active{
  color: #fff;
  background: #ff0096;
}

.tab_item{
  display: none;
}
.tab_item.active{
  display: block;
}

.tab_btn_wrap{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
	width: 1000px;max-width: 100%;
	margin: auto;}
.tab_btn{
  font-size: 18px;
  text-align: center;
  color: #fff;
  background: #ffb3e0;
  line-height: 1.3;
  margin: 0;
  box-sizing: border-box;
  width: 19%;
  border-radius: 10px 10px 0 0;
		height:80px;
	display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content:  center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.tab_btn.active{
  background: #ff0096;
}
.tab_item{
  box-sizing: border-box;
padding: 60px 0 40px;
	width:1000px;
	max-width:100%;
	margin:
	auto;
}
.tab_item_wrap{
	background: #fef0f8;
	border-top: 4px solid #ff0096;
}
.tab_item h3{
	color:#ff0096;
	font-weight: bold;
	background:
	none;
	letter-spacing: 0;
	padding: 0 8px;
	display:
	table;
	text-align:
	center;
	line-height:1;
	margin:0 auto 20px;
	padding-bottom:10px;
	border-bottom:1px solid #ffaadc;
}
.tab_item h3:before{
	display:none;
}
.tab_item .btn-style{
	margin-bottom:20px;
	width: 23%;
}
.tab_item .btn-style a{

	height:90px;display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;-webkit-box-align: center;-ms-flex-align: center;align-items: center;text-align: left;font-weight: bold;color:#333;
	background:#fff;border: 1px solid #ff0096;padding-left:30px;box-sizing: border-box;max-width: 100%;width: 100%;min-width: 0;}
.tab_item .btn-style a::before {
	width:6px;
	height:6px;
    border-top: 1px solid #ff0096;
    border-right: 1px solid #ff0096;
}
.tab_item .columns{
	display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}

.tab_item .columns.col3 li:not(:nth-child(3n)){
	margin-right:2%;
}
	.sec04 .cont02{
		margin-top: 40px;
	}
@media screen and (min-width: 768px) {
	
	.sec04 .columns.col3 >* {
		max-width:32%;
		  -webkit-box-flex-basis:32%;
  -webkit-flex-basis:32%;
  flex-basis:32%;
	}
}
@media screen and (min-width: 768px)  and (max-width: 1041px) {
	.tab_btn{
    font-size:14px;
}
.tab_item .btn-style a{
    padding:10px;
    padding-right:20px;
    font-size: 14px;
}
.tab_item .btn-style a::before{
    right:10px;
}
}
@media screen and (max-width: 1041px) {
		.tab_btn_wrap,
	.tab_item{
		max-width:96%;
	}
}
@media screen and (max-width: 767px) {
.sec04{
    padding: 30px 0 0;
}

.tab_btn {
    width: 32%;
    border-radius: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    height: 60px;
}
.tab_btn:not(:nth-child(3n)) {
    margin-right:2%;
}
.tab_btn_wrap {
    -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.tab_item{
    padding: 30px 0;
}
.tab_item .btn-style{
    width:100%;
    margin-bottom:10px;
    margin-right:0!important;
}
.tab_item .btn-style a{
    height:60px;
    font-size:14px;
}
	.sec04 h2{
		margin-bottom:30px;
	}

}