﻿/*-----------------------------------------------------	*/
/*	for all						*/
/*-----------------------------------------------------	*/

#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
	text-align: center;
}
.loadingBar {
	width: 0;
	height: 3px;
	background-color:#d7225d;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
	position: fixed;
	top: 0;
	left: 0;
	transition: all 0.2s linear 0s;
	z-index:10000;
}
#loading p {
	color:#ea3670;
}
.loaded {
  opacity: 0;
  visibility: hidden;
}
.spinner {
  width: 100px;
  height: 100px;
  margin: 200px auto;
	background:url(../images/clinic_logo.png);
	background-size:100px;
	position:relative;
}
.spinner div {
	position:absolute;
	left:0;
	top:0;
	width: 100px;
  height: 100px;
	z-index:-1;
	background-color: #d7225d;
	border-radius: 100%;
  animation: sk-scaleout 1.5s infinite ease-in-out;
}
/* ローディングアニメーション */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(2.0);
    opacity: 0;
  }
}

/* ------ General Settings ------ */

html {font-size: 1vw;}
body {
	/*font-size: calc(70% + 0.5vw);*/
	line-height:1.8;
	letter-spacing:0.05em;
}
#wrapper {
	width:100%;
	/*max-width:1920px;*/
	min-width:1200px;
	margin:0 auto;
	overflow:hidden;
	font-size: 1.128em;
}
@media screen and (min-width: 1600px) {
	html,
	#wrapper {font-size: 18px;}
}
@media screen and (max-width: 1200px) {
	html,
	#wrapper {font-size: 13.5px;}
}

a { transition: 0.3s; }

/* ------ Header ------ */
#header_section,
#header,
.header_inner {
	transition: all 0.5s ease
}
#header {
	width: 100%;
	border-top:3px #d7225d solid;
	position: fixed;
	top: 0;
	left: 0;
	z-index:10;
}
.header_inner {
	max-width:1600px;
	min-width:1200px;
	margin: 0 auto;
	padding:1.5em 5%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header_section #header {
	background-color:rgba(255,255,255,0.8);
}
.home_head #header.is-animation,
#header_section #header.is-animation {
	background-color: #fff;
}
.is-animation .header_inner {
	padding: 0.5em 5%;
}

.logo {
	width: 25%;
	margin-right:auto;
	position:relative;
	z-index: 999;
}
.logo a {
	display: block;
}
#gnav {
	width: 60%;
	padding-right:2em;
}
#gnav ul {
	width:100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#gnav ul li {}
#gnav ul li a {
	display:block;
	width:100%;
	padding:0 1em;
	text-align:center;
	font-weight:500;
	color:#ea3670;
}
#gnav ul li a span {
	display:block;
}
#gnav ul li a {
	text-decoration: none;
	transition: all 0.3s;
}
#gnav ul li a:hover {
	text-decoration: none;
	/*background:url(../images/gnav_btn_over.png) no-repeat center bottom;*/
	opacity:0.8;
}
#gnav ul li a.current {
	text-decoration: none;
	/*background:url(../images/gnav_current.png) no-repeat center bottom;*/
}
#gnav_btn {
	width:2.8em;
}

#site_nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	z-index: 99;
	border-top: 3px #d7225d solid;
	background:url(../images/nav_bg.png) no-repeat center top;
	background-size:100%;
	transition: background 0.8s ease
}
.nav_inner {
	width:100%;
	max-width:1600px;
	min-width:1200px;
	margin: 0 auto;
	padding:1.5em 5%;
}
#gnav_clbtn {
	width:100%;
	text-align:right;
}
#gnav_clbtn a {
	display:inline-block;
	padding:0.6em;
}
.nav_block {
	width:100%;
	padding:3em 8em 1em 5em;
	display: flex;
	justify-content: flex-end;
	position:relative;
}
.nav_block div {
	padding:0 2em;
}
.nav_block ul {}
.nav_block ul li {
	padding-bottom:0.8em;
}
.nav_block ul li li {
	padding-bottom:0;
	padding-top:0.5em;
	padding-left:1.5em;
	font-size:0.85em;
	position:relative;
}
.nav_block ul li li:before {
	content:"";
	width:0.8em;
	height:1px;
	background-color:#f63f8f;
	position:absolute;
	top:63%;
	left:0;
}
.nav02 ul:first-child {
	padding-bottom:1.5em;
}
.nav_block div > ul > li:first-child > a {
	color:#f63f8f;
}
.nav_block .fbtn {
	zoom:0.9;
	position:absolute;
	bottom:1em;
	top:22em;
}
.nav_block .fbtn a {
	color:#333;
	border:1px #f63f8f solid;
}

#pan {
	width:100%;
	background-color:#fff;
}
.pan_box {
	width:100%;
	margin:0 auto;
	max-width:1600px;
	min-width:1200px;
	padding:0 5%;
}
.pan_box p {
	padding:1em 50px;
	font-size:0.9em;
	line-height:1.1;
}
.pan_box a {
	margin-right:12px;
	padding-right:15px;
	color:#ec4d81;
	position:relative;
}
.pan_box a:before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #555;
  border-right: solid 1px #555;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
}

/* ------ Home ------ */

.home_head {}
#mainvisual {
	width: 100%;
	margin-bottom:80px;
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 80%,rgba(255,113,159,1) 80%,rgba(255,113,159,1) 100%);
}
#mainvisual_inner {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#mainvisual_inner .img {
	width: 90%;
	height:680px;
	margin-left:10%;
	overflow: hidden;
	border-radius:0 0 0 20px;
	background-color:#fff;
}
#mainvisual_inner #viewer {
	width: 100%;
	height:680px;
	position:relative;
	border-radius:0 0 0 20px;
	overflow: hidden;
	z-index:1;
}
#mainvisual_inner #viewer img {
	width: 100%;
	height:680px;
  object-fit: cover;
	position: absolute;
	z-index:-1;
	border-radius:0 0 0 20px;
}
#mainvisual_inner #viewer img {
  transform: translate3d(0, 0, 0);
  animation: fadezoom 15s forwards;
  will-change: transform;
  backface-visibility: hidden;
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
@media screen and (min-width: 1600px) {
	#mainvisual_inner #viewer {
		height:680px;
	}
  #mainvisual_inner #viewer img {
		width:100%;
		height:680px;
		object-fit: cover;
	}
}
#mainvisual_inner .txt {
	width: 100%;
	height:100%;
	position:absolute;
	top:35%;
	left:20%;
	z-index:2;
}
#mainvisual .blog {
	width: 100%;
	height:100%;
	position:absolute;
	bottom:150px;
	left:75%;
	z-index:3;
}
#mainvisual_inner .txt img {
	width: 38.9em;
}
.bx-wrapper {
	margin:0 auto !important;
}

#mainvisual #top_cal {
	width: 100%;
	/*max-width:1600px;
	margin:0 auto;*/
	padding:1.2em 0 1.2em 10%;
	color:#fff;
}
#mainvisual #top_cal .top_cal_inner {
	padding-left:5%;
	font-size:1.3em;
	position:relative;
}
#cal_inc,
#cal_inc .cal_date {
	display: flex;
	align-items: center;
}
#mainvisual #top_cal span {
	font-size:1.3em;
}
#mainvisual #top_cal i {
	padding-right:0.8em;
	font-style:normal;
	display:block;
}
#mainvisual #top_cal i img {
	width: 2em;
	max-width:34px;
	vertical-align:middle;
}

.slider_block {
	max-width:1600px;
	min-width:1200px;
	margin:0 auto;
	padding: 0 5%;
}
#about .container {
	padding-bottom:80px;
	position:relative;
}

#slider .slides .round {
	box-shadow:0 0 15px rgba(100,100,100,0.3);
}
#slider .slides .col_set .col50 {
	padding-top:2.5%;
}
.bx-controls {
	text-align:center;
}
.bx-wrapper .bx-pager {
	width:70%;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	font-size: .85em;
	color: #666;
	border-radius:40px;
	border:5px #fff solid;
	background-color:#f2f2f2;
}

.bx-wrapper .bx-pager .bx-pager-item {
	width:33.33%;
}
.bx-wrapper .bx-pager .bx-pager-item a {
	display: block;
	padding:1em;
	transition:all .3s;
}
.bx-wrapper .bx-pager .bx-pager-item:nth-child(1) a {
	border-radius:40px 0 0 40px;
}
.bx-wrapper .bx-pager .bx-pager-item:nth-child(2) a {
	border-left:5px #fff solid;
	border-right:5px #fff solid;
}
.bx-wrapper .bx-pager .bx-pager-item:nth-child(3) a {
	border-radius:0 40px 40px 0;
}
.bx-wrapper .bx-pager .bx-pager-item a:hover,
.bx-wrapper .bx-pager .bx-pager-item a.active {
	color:#f63f8f;
	background-color: #fceaf4;
	text-decoration:none;
}

.custom-control {
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position:absolute;
	left:0;
	top:36%;
}
.custom-control div,
.custom-control div a {
	width:5em;
	height:5em;
	display:block;
}
.custom-control .custom-prev a {
	background:url(../images/slider_back.svg) no-repeat left center;
	background-size:50%;
}
.custom-control .custom-next a {
	background:url(../images/slider_next.svg) no-repeat right center;
	background-size:50%;
}

.special_txt_img {
	position:relative;
	padding:0 5% 5%;
	display: flex;
	align-items: center;
}
.special_txt_img .img {
	width:62.5%;
	border-radius:10px;
	overflow:hidden;
	transition:all .3s;
	position: relative;
	z-index: 1;
}
.special_txt_img .txt {
	position:absolute;
	right:0;
	width:55%;
	height:65%;
	border-radius:10px;
	background-color:rgba(255,255,255,0.8);
	box-shadow:5px 5px 15px rgba(185,43,89,0.1);
	padding:4% 3% 3%;
	text-align:center;
	z-index: 2;
}
.special_txt_img .txt h3 {
	padding-bottom:0.3em;
	color:#de528a;
	font-size:1.4em;
}

.img_txt_set {
	position:relative;
	padding:0;
}
.img_txt_set .img {
	width:100%;
	border-radius:10px;
	overflow:hidden;
	transition:all .3s;
	position: relative;
	z-index: 1;
}
.img_txt_set .img img,
.special_txt_img .img img {
	transition:all .6s ease-out;
}
.img_txt_set .txt {
	position:relative;
	width:90%;
	margin:-2em auto 0;
	border-radius:10px;
	padding:4% 2% 8%;
	text-align:center;
	background-color:rgba(255,255,255,0.8);
	box-shadow:5px 5px 15px rgba(185,43,89,0.1);
	z-index: 2;
}
.img_txt_set .txt:after,
.special_txt_img .txt:after {
	content:"";
	position:absolute;
	bottom:0.4em;
	right:0.4em;
	width:1.2em;
	height:1.2em;
	background:url(../images/link_icon.png)	no-repeat right bottom;
	background-size:cover;
	opacity:0.5;
	transition:all .3s;
}
.img_txt_set .txt h3 {
	padding-bottom:0.3em;
	color:#de528a;
	font-size:1.2em;
}

a .img_txt_set .txt,
a .special_txt_img .txt {
	color:#555;
	transition:all .3s;
}
.img_txt_set:hover .img img,
.special_txt_img:hover .img img {
	transform: scale(1.1);
}
.img_txt_set:hover .txt,
.special_txt_img:hover .txt {
	box-shadow:5px 5px 20px rgba(185,43,89,0.3);
}
.img_txt_set:hover .txt:after,
.special_txt_img:hover .txt:after {
	opacity:1;
}

.top_service {
	display: flex;
	align-items: center;
	padding-bottom:1.5em;
}
.top_service .pic {
	width:20%;
	padding-right:5%
}
.top_service div {
	width:80%;
}
#service .full_col {
	padding-bottom:80px;
}
#service .col_set {
	padding-bottom:0px;
}

.lead_box {
	text-align:center;
	padding-bottom:1.5em;
}
.facility_txt {
	padding:1.6em 0;
	text-align:center;
	border-radius:10px;
	background-color:#fff5f9;
	position:relative;
}
.facility_txt:after {
	content:"";
	position:absolute;
	bottom:0.6em;
	right:0.6em;
	width:1.2em;
	height:1.2em;
	background:url(../images/link_icon.png)	no-repeat right bottom;
	background-size:cover;
	opacity:0.5;
	transition:all .3s;
}
.facility_txt:hover:after {
	opacity:1;
}
.facility_txt h4 {
	padding-bottom:0.5em;
	font-size:1.4em;
	color:#ea3670;
}

#place {
	padding-bottom:4em;
}
#place .container {
	padding:5% 5%;
	text-align:center;
	position:relative;
	background:url(../images/home_bg_03.jpg) no-repeat center center;
}
/*
#place .container,
#place .place_info:before {
	background:url(../images/home_bg_03.jpg) no-repeat center center;
	background-size: cover;
}
#place .place_info:before {
	content: "";
	position: absolute;
	background-clip: content-box;
	width: 100%;
	height: 100%;
	padding: 30px;
	top: 0;
	left: 0;
	-webkit-filter: blur(3px);
	filter: blur(3px);
}
*/
#place .place_info_box {
	padding:30px 0 0;
	border-radius:10px;
	background-color:rgba(255,255,255,0.8);
	position:relative;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(12px);
}
#place .place_info_box .col_set {
	padding-bottom:0;
}
@media screen and (min-width: 1600px) {
	#place .container {
		background-size:cover;
	}
}
.note_box {
  width: 73%;
  margin: 0 auto;
  padding: 1.5em;
  text-align: center;
  border-radius: 10px;
  background-color: #fff;
}
.note_box h4 {
  color: #ea3670;
}

/* ------ Contents ------ */

#mv_block {
	position:relative;
	text-align:center;
	display: flex;
	align-items: center;
}
#mv_block .mv_img {
	width:100%;
	text-align:center;
	/*filter: contrast(75%);*/
}
#mv_block .mv_ttl {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	z-index:2;
	display: flex;
	align-items: center;
}
#mv_block .mv_ttl_inner {
	width:100%;
	margin:0 auto;
	max-width:1600px;
	min-width:1200px;
}
#mv_block .mv_ttl_inner h1 {
	font-size:2em;
	font-weight:500;
	color:#fff;
	padding-top:1.5em;
}
@media screen and (min-width: 1600px) {
	#mv_block {
		height:530px;
	}
	#mv_block .mv_img img {
		width:100%;
		height:530px;
		object-fit: cover;
	}
}

#contents_body {
	width:100%;
}
.contents {
	margin: 0 auto;
	padding:30px 0 0;
}
.container {
	/*visibility: hidden;*/
}
.section_bg {
	background-color:#fff4f8;
}
.section_bg.bgpt {
	padding-top:6%;
}
.section_bg.mb {
	margin-bottom:6%;
}
.section_img .ttl_img {
	text-align:center;
	object-fit: cover;
	max-height:188px;
	overflow:hidden;
}
.home .section_img .ttl_img {
	max-height:340px;
}
.section_img .ttl_img img  {
	width:100%;
}
.section_block {
	padding-top:4em;
}
.section .ttl_lv2,
.section_block .ttl_lv2 {
	padding-bottom:1.8em;
}
.section .ttl_lv2 h2,
.section_block .ttl_lv2 h2 {
	text-align:center;
	font-size:2.1em;
	font-weight:500;
	color:#ea3670;
}
.section_bg .ttl_lv2 {
	padding-bottom:30px;
}
.section_bg .ttl_lv2 h2 {
	text-align:center;
	font-size:2.1em;
	font-weight:500;
	color:#ea3670;
	background: linear-gradient(to bottom, #fff 0%,#fff 50%,#fff4f8 50%,#fff4f8 100%);
}
.section_img .ttl_lv2 {
	max-width:1600px;
	margin-top:-4.5em;
	padding:0 5% 3%;
}
.section_img .ttl_lv2 h2 {
	padding-top:1.0em;
	text-align:center;
	font-size:2.1em;
	font-weight:500;
	color:#ea3670;
	border-radius:10px 10px 0 0;
	-moz-background-clip: padding;
	-webkit-background-clip: padding;
	background-clip: padding-box;
	border: 10px solid rgba(255,255,255,0.5);
	border-bottom:0;
	background-color:rgba(255,255,255,0.8);
	position:relative;
}
h3 {
	font-size:1.6em;
	padding-bottom:1.1em;
}
h3.ttl_lv3 {
	color:#ea3670;
}
h4 {
	font-size:1.2em;
	padding-bottom:0.8em;
}

.full_col {
	width:100%;
	margin:0 auto;
	max-width:1600px;
	min-width:1200px;
	padding:0 5%;
}
.col_set {
	display: flex;
	flex-wrap: wrap;
	padding:0 2.5% 3%;
}
.col_set.rev {
	flex-direction: row-reverse;
}
.col_set.in1 {
	padding:0 5% 3%;
}
.col_set.in2 {
	padding:0 10% 3%;
}
.col_set .col100 {
	width:100%;
	padding:0 2.5% 3%;
}
.col_set .col50 {
	width:50%;
	padding:0 2.5% 3%;
}
.col_set .col25 {
	width:25%;
	padding:0 2.5% 3%;
}
.col_set.col4 {
	padding:0 3.5% 3%;
}
.col_set.col4 .col25 {
	width:25%;
	padding:0 1.5% 3%;
}
.col_set .col33 {
	width:33.33%;
	padding:0 2.5% 3%;
}
.col_set .col36 {
	width:36%;
	padding:0 2.5% 3%;
}
.col_set .col64 {
	width:64%;
	padding:0 2.5% 3%;
}

.column-block {
	padding:0 8px 15px;
}
.in_box {
	padding-top:3%;
}
.line-box {
	margin:0 30px;
	padding:20px 0;
	border:3px #DDD dashed;
}
.center_box {
	display:inline-block;
}
.box_wh {
	padding:4% 0 0;
	text-align:center;
	border-radius:10px;
	background-color:#fff;
}
.box_pk {
	padding:4% 0 0;
	text-align:center;
	border-radius:10px;
	background-color:#fff4f8;
}
.box_wh h3,
.box_pk h3 {
	font-size:1.8em;
	padding-bottom:30px;
}
.telbox_pk {
	width:80%;
	margin:0 auto;
	padding:3% 0 2.5%;
	text-align:center;
	border-radius:10px;
	background-color:#fff4f8;
}
.telbox_pk .tel {
	width:18em;
	margin:0 auto 1em;
}

.col_inner {
	width:63%;
	margin:0 auto;
	color:#777;
}
.list_circle li {
	position:relative;
	padding-left:1em;
}
.list_circle li:before {
	position:absolute;
	content:"●";
	color:#666;
	left:0;
	top:0;
}

section.nav {
	background-color:#FFE8F4;
}
section.nav .page_nav {
	padding:1.0em 0;
}
section.nav .page_nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
section.nav .page_nav ul li {
	padding:0 1.0em;
}
section.nav .page_nav ul li a {
	display:block;
	padding:0.5em 1.0em;
	border-radius:6px;
	color: #555;
}
section.nav .page_nav ul li a:hover,
section.nav .page_nav ul li.now a {
	display:block;
	color: #e35180;
	background-color:rgba(255,255,255,.6);
}

.flow_block {
	padding:2em 0 0;
	border-radius:15px;
	background-color:#fff;
}
.flow_block .flow_box {
	padding:4em 4em 3em;
	box-shadow:0 2px 3px rgba(100,100,100,0.1);
	position:relative;
}
.flow_block .flow_box:after {
	content:"";
	width:0px;
	height:0px;
  border-right: 100px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 100px solid transparent;
	border-top: 30px solid #fff;
	/*background-color:#fff;*/
	position:absolute;
	bottom:-60px;
	left:50%;
	margin-left:-100px;
	-webkit-filter:drop-shadow(0px 3px 2px rgba(100,100,100,0.1));
}
.flow_block .flow_box:first-child {
	padding-top:0;
}
.flow_block .flow_box:last-child {
	box-shadow:none;
}
.flow_block .flow_box:last-child:after {
	display:none;
}

dl.flow_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
dl.flow_box.rev {
	flex-direction: row-reverse;
}
dl.flow_box dt {
	width:30%;
}
dl.flow_box dt img {
	border-radius:100%;
}
dl.flow_box dd {
	width:60%;
}

.btn {
	width: 250px;
	height: 50px;
	margin: 20px auto 0;
	padding: 5px;
}
.btn a {
	display: block;
	width: 250px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	border-radius: 25px;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(to right, rgba(254,95,146,1) 0, rgba(255,131,171,1) 100%);
	transition:all .4s;
}
.btn a:hover {
	color: #fff;
	text-decoration: none;
	background: linear-gradient(to right, rgba(255,131,171,1) 0%,rgba(254,95,146,1) 100%);
	background-position:250px 0;
	box-shadow:5px 5px 20px rgba(185,43,89,0.3);
}
.round {
	border-radius:10px;
}
.banner img:hover {
	opacity:0.8;
}
.txt_img_l,
.txt_img_r {
	position:relative;
	padding:0;
	display: flex;
	align-items: center;
}
.txt_img_r {
	flex-direction: row-reverse;
}
.txt_img_l .img,
.txt_img_r .img {
	width:62.5%;
}
.txt_img_l .img img {
	border-radius:10px;
}
.txt_img_l .txt,
.txt_img_r .txt {
	position:absolute;
	right:5%;
	width:45%;
	height:80%;
	padding:0 5%;
	text-align:center;
	display: flex;
	align-items: center;
	border-radius:10px;
	box-shadow:5px 5px 20px rgba(185,43,89,0.1);
	background-color:rgba(255,255,255,0.8);
}
.txt_img_l .txt div,
.txt_img_r .txt div {
}
.txt_img_r .txt {
	left:5%;
}
.txt_img_l .txt p,
.txt_img_r .txt p {
	text-align:left;
}


.news_list {}
.news_list a {
	text-decoration:none;
}
.news_list li {
	margin-bottom:1em;
	padding:1em;
	border-radius:10px;
	background-color:#fff;
	transition:all .4s;
}
.news_list li:hover {
	box-shadow: 5px 5px 15px rgba(185,43,89,0.2);
}
.news_list dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.news_list dl dt {
	width:20%;
}
.news_list dl dd {
	width:76%;
}
.news_list dl dd .cat {
	display:block;
	width:6em;
	margin-bottom:0.5em;
	padding:0.2em 0.8em;
	text-align:center;
	font-size:0.8em;
	color:#fff;
	border-radius:6px;
	background-color:#faa8cb;
}

/*　診療案内　*/
#examination {}
.time_tb {
	margin-bottom:10px;
	border-radius:10px;
}
.time_tb th {
	padding:10px;
	border:3px #fff solid;
	background-color:#ff76a2;
	color:#FFFFFF;
	text-align:center;
	border-radius:10px;
}
.time_tb td {
	padding:10px;
	border:3px #fff solid;
	background-color:#ffb0ca;
	color:#FFFFFF;
	text-align:center;
	border-radius:10px;
}
.symptom_icon {
	width:70px;
}
.first_flow_box {
	background-color:#e1f5f9;
	padding:15px;
	border-radius:10px;
}
.first_flow_box h3 {
	color:#227fc2;
	font-size:18px;
	padding-bottom:5px;
}
.first_flow_ya {
	text-align:center;
}
.first_flow_ya img {
	vertical-align:top;
}

.cost_tb1,
.cost_tb2 {
	width:100%;
	border-radius:10px;
	border-collapse: separate;
	border-spacing: 5px;
}
.cost_tb1 tr:nth-child(odd),
.cost_tb2 tr:nth-child(odd) {
	background-color:#fafafa;
}
.cost_tb1 th,
.cost_tb2 th {
	padding:10px;
	text-align:center;
	background-color:#f1f1f1;
}
.cost_tb1 td,
.cost_tb2 td {
	padding:10px 20px;
}
.cost_tb1 td:nth-child(1) {
	width:60%;
}
.cost_tb1 td:nth-child(2),
.cost_tb1 td:nth-child(3) {
	width:20%;
	text-align:center;
}
.cost_tb2 td:nth-child(1) {
	width:25%;
}
.cost_tb2 td:nth-child(2) {
	width:35%;
}
.cost_tb2 td:nth-child(3),
.cost_tb2 td:nth-child(4) {
	width:20%;
	text-align:center;
}
.cost_tb1 tr:first-child th:first-child,
.cost_tb2 tr:first-child th:first-child {
  border-radius: 10px 0 0 0;
}
.cost_tb1 tr:first-child th:last-child,
.cost_tb2 tr:first-child th:last-child {
  border-radius: 0 10px 0 0;
}
/*
.cost_tb tr:last-child th:first-child {
  border-radius: 0 0 0 15px;
}
.cost_tb tr:last-child th:last-child {
  border-radius: 0 0 15px 0;
}
*/

/* クリニックの特長 */
.clinic_txt_img {
	position:relative;
	padding:0 5% 50px;
	display: flex;
	align-items: center;
}
.clinic_txt_img .img {
	width:62.5%;
}
.clinic_txt_img .img img {
	border-radius:10px;
}
.clinic_txt_img .txt_box {
	position:absolute;
	right:50px;
	width:60%;
	height:70%;
	border-radius:10px;
	background-color:rgba(255,255,255,0.8);
	overflow:auto;
}
.clinic_txt_img .txt {
	padding:6%;
	
}
.clinic_logo {
	width:25%;
	padding-bottom:1em;
	padding-left:1.5em;
	float:right;
}

.greeting_bg {
	position:relative;
}
.greeting_bg:before {
	content:"";
	position:absolute;
	left:10%;
	top:25%;
	width:500px;
	height:500px;
	border-radius:100%;
	/*background-color:#fff4f8;*/
	background: radial-gradient(ellipse at center, rgba(255,244,248,1) 30%,rgba(255,255,255,0) 90%, rgba(255,255,255,0) 100%);
	z-index:-1;
}
.greeting_bg:after {
	content:"";
	position:absolute;
	right:10%;
	top:15%;
	width:300px;
	height:300px;
	border-radius:100%;
	/*background-color:#fff4f8;*/
	background: radial-gradient(ellipse at center, rgba(255,244,248,1) 30%,rgba(255,255,255,0) 90%, rgba(255,255,255,0) 100%);
	z-index:-1;
}

/*　施設　*/
.facility_block {
	padding:0 5% 5%;
}
.facility_box {
	display: flex;
	flex-wrap: wrap;
	padding: 3% 0;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 36%,rgba(255,245,249,1) 36%,rgba(255,245,249,1) 100%);
}
.facility_box .col50 {
	width: 50%;
	padding: 0 2.5%;
}
.facility_slider {
	padding-top:1em;
}
.facility_slider li {
	text-align:center;
	padding:0 2em;
}
.facility_slider h4 {
	color: #ea3670;
}
.facility_slider span {
	display:block;
	padding-top:5px;
	text-align:center;
	font-size:0.85em;
}

.slid_map {
	position:relative;
}
.slid_map ul li {
	position:absolute;
	width:2.2em;
	height:2.2em;
}
.slid_map ul li a {
	display:block;
	width:2.2em;
	height:2.2em;
	border-radius:100%;
	/*background-color:#CCC;*/
}
.slid_map ul li a.active {
	/*background-color:#F00;*/
}
.slid_map ul.custom-pager1 li:nth-child(1) {
	top:30%;
	left:63%;
}
.slid_map ul.custom-pager1 li:nth-child(2) {
	top:49%;
	left:42%;
}
.slid_map ul.custom-pager1 li:nth-child(3) {
	top:79%;
	left:71%;
}
.slid_map ul.custom-pager2 li:nth-child(1) {
	top:29%;
	left:70%;
}
.slid_map ul.custom-pager2 li:nth-child(2) {
	top:59%;
	left:77%;
}
.slid_map ul.custom-pager2 li:nth-child(3) {
	top:56%;
	left:58%;
}
.slid_map ul.custom-pager2 li:nth-child(4) {
	top:70%;
	left:49%;
}
.slid_map ul.custom-pager2 li:nth-child(5) {
	top:87%;
	left:65%;
}
.slid_map ul.custom-pager2 li:nth-child(6) {
	top:87%;
	left:37%;
}
.slid_map ul.custom-pager2 li:nth-child(7) {
	top:79%;
	left:5%;
}
.slid_map ul.custom-pager2 li:nth-child(8) {
	top:47%;
	left:32%;
}
.slid_map ul.custom-pager2 li:nth-child(9) {
	top:24%;
	left:47%;
}


/*　スタッフ　*/
#staff {}
#staff .title-lv1 {
	color:#ffa94a;
}
#staff .title-lv2 {
	border-top:1px #ffa94a dashed;
}
#staff .title-lv3 {
	border-left:4px #ffa94a solid;
}
/*　アクセス　*/
#access {}
#access .title-lv1 {
	color:#01b042;
}
#access .title-lv2 {
	border-top:1px #01b042 dashed;
}
#access .title-lv3 {
	border-left:4px #01b042 solid;
}

/* よくある質問 */
.faq_box {
	padding-top:60px;
}
.shadeGroup{
	padding-bottom:0px;
	margin-bottom:15px;
	border-radius:10px;
	background-color:#fff5f9;
	transition:all .3s;
}
.section_bg .shadeGroup{
	background-color:#fff;
}
.shadeGroup.shadeClose{
	box-shadow:5px 5px 15px rgba(185,43,89,0.2);
}
h4.shadeBtn {
	padding-bottom:0;
	font-weight:normal;
}
.shadeContents{
	padding:5px 15px 25px 80px;
	background:url(../images/icon_a.svg) no-repeat 25px 0px;
	background-size:40px;
}
.shadeOpen .shadeBtn,
.shadeClose .shadeBtn,
.shadeOpen .shadeContents,
.shadeClose .shadeContents{
	
}
.shadeOpen .shadeBtn,
.shadeClose .shadeBtn {
	cursor:pointer;
	background:url(../images/icon_q.svg) no-repeat 25px 20px;
	background-size:40px;
}
.shadeOpen .shadeBtn a,
.shadeClose .shadeBtn a {
	padding:25px 110px 25px 90px;
	display:block;
}
.shadeOpen .shadeBtn a {
	background:url(../images/icon_op.svg) no-repeat right 25px center;
	background-size:40px;
}
.shadeClose .shadeBtn a {
	background:url(../images/icon_cl.svg) no-repeat right 25px center;
	background-size:40px;
}

/*お知らせ*/
.news_detail {}
.news_detail .cat {
	display:inline-block;
	width:6em;
	margin-right:1em;
	padding:0.2em 0.8em;
	text-align:center;
	font-size:0.8em;
	color:#fff;
	border-radius:6px;
	background-color:#faa8cb;
}
.news_detail .date {}
.news_detail .news_photo {
	margin-bottom:20px;
	text-align:center;
}
.related-box {
	padding:15px;
	background-color:#f6f6f6;
}
.related-box .title-lv3 {
	font-size:16px;
	margin: 0 0 8px;
}
.related-box .related-site p,
.related-box .related-pdf li {
	padding-left:15px;
}
.related-site {
	padding-bottom:15px;
}
.page_list {
	text-align:center;
	padding-top:20px;
}
.page_list a,
.page_list .now {
	display:inline-block;
	min-width:2em;
	padding:5px 2px 4px;
	color:#FFFFFF;
	border-radius:7px;
	font-size:16px;
}
.page_list a {
	background-color:#f8aec6;
}
.page_list .now {
	background-color:#ec4d81;
}

/*医院長活動報告*/
dl.report-list-header {
	width: 100%;
	display:table;
}
dl.report-list-header dt.col1 {
	width: 15%;
	display:table-cell;
	/*border-left: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;*/
}
dl.report-list-header dt.col2 {
	width: 15%;
	display:table-cell;
	border-left: 1px solid #cccccc;
	/*border-bottom: 1px solid #cccccc;*/
}
dl.report-list-header dt.col3 {
	width: 70%;
	display:table-cell;
	border-left: 1px solid #cccccc;
	/*border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;*/
}
dl.report-list-header dt .th {
	padding:15px;
	/*border-top: 1px solid #cccccc;*/
	box-sizing:border-box;
	background-color:#EEE;
}
dl.report-list-header dt.col1 .th {
	border-radius:10px 0 0 0;
}
dl.report-list-header dt.col3 .th {
	border-radius:0 10px 0 0;
}
dl.report-list {
	width: 100%;
	display:table;
	margin-top:10px;
	cursor:pointer;
	transition:all .4s;
}
dl.report-list:hover {
	box-shadow: 5px 5px 15px rgba(185,43,89,0.2);
}
dl.report-list dd.col1 {
	width: 15%;
	display:table-cell;
	/*border-left: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;*/
}
dl.report-list dd.col2 {
	width: 15%;
	display:table-cell;
	border-left: 1px solid #ddd;
	/*border-bottom: 1px solid #cccccc;*/
}
dl.report-list dd.col3 {
	width: 70%;
	display:table-cell;
	border-left: 1px solid #ddd;
	/*border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;*/
}
dl.report-list dd .td {
	padding: 15px;
	background: #fff;
	box-sizing:border-box;
}

.link_list {
	display: flex;
	flex-wrap: wrap;
}
.link_list li {
	width:25%;
	padding-bottom:1em;
}
.link_list li.x2 {
	width:50%;
}
.link_list li a {
	padding-right:1.5em;
	background:url(../images/icon_link.svg) no-repeat right center;
	background-size:1em;
}
.report_detail .cat {
	display:inline-block;
	width:8em;
	background-color:#ccc;
}

/*表組み*/
dl.table_style {
	background-color:#fdfdfd;
	border: 1px solid #cccccc;
	border-top: none;
	width: 100%;
}
dl.table_style dt {
	clear: left;
	float: left;
	width: 22%;
	font-weight:bold;
}
dl.table_style dd {
	margin-left: 22%;
}
dl.table_style dt .th {
	padding:10px;
	border-top: 1px solid #cccccc;
}
dl.table_style dd .td {
	padding: 10px;
	background: #fff;
	border-left: 1px solid #cccccc;
	border-top: 1px solid #cccccc;
}
.req {
	margin-left:10px;
	padding:4px 8px 3px;
	display:inline-block;
	background-color:#CC0000;
	color:#FFFFFF;
	font-size:70%;
	line-height:110%;
}
/*　フォーム　*/
dl.form_tb {
	background-color:#fafafa;
	border-bottom: 1px solid #ddd;
	width: 100%;
}
dl.form_tb dt {
	clear: left;
	float: left;
	width: 22%;
	font-weight:bold;
}
dl.form_tb dd {
	margin-left: 22%;
}
dl.form_tb dt .th {
	padding:1.0em;
	border-top: 1px solid #ddd;
}
dl.form_tb dd .td {
	padding:1.0em;
	background: #fff;
	border-left: 1px solid #ddd;
	border-top: 1px solid #ddd;
	font-size:0.9em;
	color:#555;
}
dl.form_tb.conf {
	margin-bottom:2.0em;
}
dl.form_tb.conf dd .td {
	font-size:1.0em;
}
input[type=text] {
	font-size:1.0em;
	border: 1px solid #cccccc;
	border-radius:8px;
	padding:0.5em;
}
input[type=text].w30 {
	width:30%;
}
input[type=text].w50 {
	width:50%;
}
input[type=text].w70 {
	width:70%;
}
input[type=text].w90 {
	width:95%;
}
textarea {
	font-size:1.0em;
	width:100%;
	height:10em;
	border: 1px solid #cccccc;
	border-radius:8px;
	vertical-align:bottom;
	padding:0.3em 0.5em;
}
.submit-btn {
	margin-top:15px;
	text-align:center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.submit-btn input {
	display: block;
	width: 250px;
	height: 50px;
	margin:0 1em;
	line-height: 50px;
	font-size:1.0em;
	text-align: center;
	border:0;
	border-radius: 25px;
	color: #fff;
	text-decoration: none;
	outline:none;
	background:none;
	background: linear-gradient(to right, rgba(254,95,146,1) 0, rgba(255,131,171,1) 100%);
	transition:all .4s;
	cursor:pointer;
}
.submit-btn input:hover {
	color: #fff;
	text-decoration: none;
	background: linear-gradient(to right, rgba(255,131,171,1) 0%,rgba(254,95,146,1) 100%);
	background-position:250px 0;
	box-shadow:5px 5px 20px rgba(185,43,89,0.3);
}
.error_messe {
	color:#CC3300;
}
form em {
	margin-top:0.6em;
	font-style:normal;
	float:right;
}
em.must {
	background: #ff80a9;
}
em.free {
	background: #a9deff;
}
em.must,
em.free {
	width:3.2em;
	display:inline-block;
	font-size: 0.6em;
	color:#fff;
	padding: 0px;
	letter-spacing: 0.1em;
	border-radius:5px;
	text-align:center;
}
.progressbar_block {
	width:70%;
	margin: 0 auto;
}
.progressbar {
	width:100%;
	padding: 0;
	counter-reset: step;
	z-index: 0;
	position: relative;
}
.progressbar li {
	list-style-type: none;
	width: 33.33%;
	float: left;
	font-size: 12px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	color: #aaa;
}
.progressbar li:before {
	width: 24px;
	height: 24px;
	content: counter(step);
	counter-increment: step;
	line-height: 24px;
	display: block;
	text-align: center;
	margin:3px auto 5px auto;
	border-radius: 50%;
	background-color: #eee;
}
.progressbar li:after {
	width: 100%;
	height: 2px;
	content: '';
	position: absolute;
	background-color: #eee;
	top: 15px;
	left: -50%;
	z-index: -1;
}
.progressbar li:first-child:after {
	content: none;
}
.progressbar li.now {
	color: #222;
	font-size:1em;
}
.progressbar li.now:before,
.progressbar li.cmp:before {
	background-color: #eea3bb;
	color:#fff;
}
.progressbar li.now:before {
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin:0 auto 5px auto;
}
.progressbar li.now + li:after,
.progressbar li.cmp + li:after {
	background-color: #eea3bb;
}


/* ------ Footer ------ */
footer {
	width: 100%;
	padding:20px 5%;
	background-color:#ff719f;
	position:relative;
	color:#FFF;
}
.footer_inner {
	width:100%;
	margin:0 auto;
	max-width:1600px;
	min-width:1200px;
	padding:10px 0;
	font-size:0.9em;
	display: flex;
	justify-content: space-between;
}
.footer_inner .box1 {
	margin-right:auto;
}
.footer_logo {
	margin-bottom:8px;
	font-size:1.3em;
	font-weight:500;
}

.fnav1 {
	display: flex;
}
.fnav1 li {
	padding-bottom:0.6em;
	padding-right:2em;
}
.fnav1 li a {
	color: #FFF;
}
.fnav2 {
	display: flex;
}
.fnav2 li {
	padding-right:2em;
}
.fnav2 li a {
	font-size:0.9em;
	color: #ffdeea;
}
.fbtn {
	padding-left:20px;
}
.fbtn a {
	display:block;
	padding:0.7em 3em 0.7em 1.4em;
	color:#e35180;
	border-radius:5px;
	background:url(../images/icon_link.svg) no-repeat right 1.4em center;
	background-size:1em;
	background-color:rgba(255,255,255,0.7);
}

.copyright {
	text-align: right;
	color: #FFC1DB;
	font-size:0.8em;
}

#pageTop {
	position: fixed;
	right: 0px;
	bottom:100px;
	margin: 0;
	z-index:98;
}
#pageTop p {
	transition: all 0.3s;
	transform:rotate(45deg);
	transform-origin:right bottom;
}
#pageTop p.on {
	transform:rotate(0deg);
}
#pageTop img {
	width:124px;
}

.sp, .tb {
	display:none;
}
.no_pc {
	display:none !important;
}

.grad-trigger,
.grad-btn {
	display:none;
}


/* アニメーション設定 */
.arrowWrap {
  position: absolute;
	left: 3.5%;
  bottom: 0;
  height: 125px
}
.arrowInner p {
  font-size: 12px;
	color: #ea3670;
  text-align: end;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.arrow {
  width: 1px;
  height: 60px;
  margin: 20px auto 0;
  background-color: #fff;
  position: relative;
  overflow: hidden;
}
.arrow::before {
  content: '';
  width: 3px;
  height: 60px;
  margin: 50px auto 0;
  background-color: #ea3670;
  position: absolute;
  top: -110px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
	/*
  70% {
    -webkit-transform: translate3d(-50%, 80px, 0);
    transform: translate3d(-50%, 80px, 0);
  }
	*/
  100% {
    -webkit-transform: translate3d(-50%, 120px, 0);
    transform: translate3d(-50%, 120px, 0);
  }
}

pc_center {
	text-align:center;
}