@charset "UTF-8";
@import url(../css/base.css);
@import url(../css/fonts.css);
@import url("https://fonts.googleapis.com/css?family=Kosugi+Maru|M+PLUS+Rounded+1c:100,400,500,700");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:300,400,500,600,700");
@import url("https://fonts.googleapis.com/css?family=Varela+Round");
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
#wpadminbar {
	display: none;
}
body {
	/* Track */
	/* Handle */
}

body::-webkit-scrollbar {
	display: block;
	width: 10px;
	height: 10px;
}

body::-webkit-scrollbar-track {
	border-radius: 10px;
	background: #fff;
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}

body::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: -webkit-gradient(linear, left bottom, left top, from(#0a8c17), color-stop(76%, #2dcf94), to(#2dcf94));
	background: -webkit-linear-gradient(bottom, #0a8c17 0%, #2dcf94 76%, #2dcf94 100%);
	background: linear-gradient(to top, #0a8c17 0%, #2dcf94 76%, #2dcf94 100%);
	-webkit-box-shadow: inset 0 0 6px #fff;
	box-shadow: inset 0 0 6px #fff;
}

body::-webkit-scrollbar-thumb:window-inactive {
	background: -webkit-gradient(linear, left top, left bottom, from(#d4e4ef), to(#86aecc));
	background: -webkit-linear-gradient(top, #d4e4ef 0%, #86aecc 100%);
	background: linear-gradient(to bottom, #d4e4ef 0%, #86aecc 100%);
}

h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
	font-size: 100%;
	-webkit-text-size-adjust: none;
}

header, section, footer, aside, nav, main, article, figure {
	display: block;
	padding: 0;
	margin: 0;
}

img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

a {
	color: #333;
	text-decoration: none;
}

a:hover,
a:active {
	color: #333;
	text-decoration: none;
}

a:not([target*="_blank"]),
a.ov_link {
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

a:not([target*="_blank"]):hover,
a.ov_link:hover {
	opacity: 0.7;
}

a.logo:hover, .logo a:hover,
a.ft_logo:hover, .ft_logo a:hover {
	opacity: 1 !important;
}

a.text_link {
	color: #f29823;
}

a.text_link:hover {
	opacity: 1 !important;
	text-decoration: underline;
}

a.no-hover:hover {
	opacity: 1 !important;
}

@media only screen and (min-width: 769px) {
	a.tel_click {
		pointer-events: none;
	}
}

table {
	width: 100%;
}

p {
	line-height: 2;
	letter-spacing: 0px;
	word-wrap: break-word;
	margin-bottom: 15px;
}

p:empty {
	display: none !important;
}

p:last-child {
	margin-bottom: 0;
}

.bold {
	font-weight: bold !important;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	word-break: break-all;
}

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
	overflow-x: auto !important;
}

body {
	background-color: #fff;
	-webkit-text-size-adjust: none;
}

.wrapper {
	overflow: hidden;
}

.inner {
	width: 1000px;
	margin: 0 auto;
}

#main {
	padding-bottom: 0px;
}

/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
body {
	color: #333333;
}

.f-rounded {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

.f-maru {
	font-family: 'Kosugi Maru', sans-serif;
}

.f-noto {
	font-family: 'Noto Serif JP', serif;
}

.f-tangerine {
	font-family: 'Tangerine', cursive;
}

.f-varela {
	font-family: 'Varela Round', sans-serif;
}

.mincho {
	font-family: "遊明朝 Yumincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

h1 {
	font-size: 10px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

header {
	background-color: rgba(255, 255, 255, 0.8);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
}

.header_top {
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	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;
}

.logo {
	width: 30%;
	max-width: 400px;
}

.right_head {
	width: 70%;
	max-width: 1065px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.h_button {
	background-color: #ff8400;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 32%;
	max-width: 330px;
}

.h_button .left_block {
	width: 40%;
}

.h_button .right_block {
	width: 60%;
}

.h_button .time, .h_button .map, .h_button .tel {
	position: relative;
	font-family: "Kosugi Maru";
	font-weight: 500;
	letter-spacing: 1px;
}

.h_button a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	color: #fff;
}

.h_button .time, .h_button .map {
	height: 50%;
	font-size: 18px;
}

.h_button .time a::before, .h_button .map a::before {
	content: "";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-right: 5%;
}

.h_button .time {
	background-color: #3d9cc9;
}

.h_button .time a::before {
	background-image: url("../images/shared_hbtn_icon_time.png");
}

.h_button .map {
	background-color: #43af69;
}

.h_button .map a::before {
	background-image: url("../images/shared_hbtn_icon_pin.png");
}

.h_button .tel {
	background-color: #ffa8d3;
	height: 100%;
	font-size: 24px;
	font-family: 'Varela Round', sans-serif;
}

.h_button .tel a {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.h_button .tel a::before {
	content: "";
	background-image: url("../images/shared_hbtn_icon_tel.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	width: 100%;
	height: 35px;
	margin-bottom: 1px;
}

.pc_navi {
	width: 68%;
}

.pc_navi > ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	text-align: center;
}

.pc_navi > ul > li {
	background-repeat: no-repeat;
	background-position: center top 10px;
	border-left: 1px solid #c6e7d2;
}

.pc_navi > ul > li:nth-child(1) {
	width: 16%;
}

.pc_navi > ul > li:nth-child(2) {
	width: 18%;
}

.pc_navi > ul > li:nth-child(3) {
	width: 18%;
}

.pc_navi > ul > li:nth-child(4) {
	width: 24%;
}

.pc_navi > ul > li:nth-child(5) {
	width: 24%;
}

.pc_navi > ul > li > a, .pc_navi > ul > li > p {
	cursor: pointer;
	position: relative;
	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;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
	margin: 0;
	height: 100px;
	text-decoration: none;
	text-align: center;
	font-family: "Kosugi Maru";
	font-weight: 500;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 1px;
	color: #333333;
	-webkit-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.pc_navi > ul > li > a span, .pc_navi > ul > li > p span {
	display: block;
	padding-top: 10px;
	font-family: 'Tangerine', cursive;
	font-size: 112.5%;
	font-weight: 300;
	color: #ea545d;
}

.pc_navi > ul > li > p.title {
	position: relative;
}

.pc_navi > ul > li > p.title::after {
	content: "";
	position: absolute;
	bottom: 20px;
	left: 50%;
	border: 4px solid #43af69;
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-right-color: transparent;
	-webkit-transform: translateX(-50%) scaleX(1.4);
	-ms-transform: translateX(-50%) scaleX(1.4);
	transform: translateX(-50%) scaleX(1.4);
}

.pc_navi > ul > li.home a {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

.pc_navi > ul > li.home a::before {
	width: 100%;
	height: 16px;
	display: block;
	margin-bottom: 10px;
}

.pc_navi > ul .subInner {
	background-color: rgba(67, 175, 105, 0.9);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0px;
	-webkit-transform: translate(0%, 100%);
	-ms-transform: translate(0%, 100%);
	transform: translate(0%, 100%);
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	width: auto;
	opacity: 0;
	visibility: hidden;
	z-index: 1;
}

.pc_navi > ul .subInner.active {
	opacity: 1;
	visibility: visible;
}

.pc_navi > ul .subInner ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1000px;
	margin: 0 auto;
	padding: 15px 0;
}

.pc_navi > ul .subInner ul li {
	padding: 0 0px;
	margin-right: 11px;
}

.pc_navi > ul .subInner ul li a {
	position: relative;
	display: block;
	padding: 12px 15px;
	-webkit-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	text-align: left;
	letter-spacing: 0px;
}

.pc_navi > ul .subInner ul li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 4px solid #fff;
	border-top-color: transparent;
	border-bottom-color: transparent;
	border-right-color: transparent;
}

/*==========================================================================*/
/*                              Footer                                      */
/*==========================================================================*/
footer {
	background: url(../images/shared_footer_bg.jpg) center top repeat;
	background-size: cover;
	padding: 34px 0 0px;
	position: relative;
}

footer p, footer a {
	color: #fff;
}

footer .ft_link {
	width: 45%;
}

footer .ft_link .ft_logo {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	margin-bottom: 20px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 3px;
}

footer .info {
	width: 48%;
	max-width: 460px;
	padding-top: 30px;
}

footer .info .ft_map {
	width: 100%;
	height: 420px;
}

footer .info .button {
	margin-top: 31px;
}

footer .ft_link {
	font-size: 14px;
	color: #fff;
}

footer .ft_link ul:last-child {
	margin-bottom: 0;
}

footer .ft_link li {
	background: url(../images/shared_bullet01.png) left 6px top 6px no-repeat;
	position: relative;
	padding-left: 22px;
	letter-spacing: 0px;
	margin-bottom: 15.5px;
}

footer .ft_link li:last-child {
	margin-bottom: 0;
}

footer .ft_link li.sm {
	background-image: none;
	padding-left: 40px;
}

footer .ft_link li.sm::before {
	content: "";
	border: 3px solid #fff;
	border-top-color: transparent;
	border-bottom-color: transparent;
	border-right-color: transparent;
	display: block;
	position: absolute;
	top: 50%;
	left: 28px;
	-webkit-transform: translateY(-50%) scaleX(1.4);
	-ms-transform: translateY(-50%) scaleX(1.4);
	transform: translateY(-50%) scaleX(1.4);
}

footer .ft_link li.last {
	margin-bottom: 23px;
}

footer .ft_link a:hover {
	opacity: 1;
}

footer .calendar {
	margin-top: 32px;
}

footer .copyright {
	padding-top: 31px;
	padding-bottom: 32px;
	font-size: 12px;
	text-align: center;
	letter-spacing: 3.5px;
}

.totop {
	background-image: url(../images/totop.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	border: 0px;
	display: none;
	position: fixed;
	width: 60px;
	height: 60px;
	bottom: 45px;
	right: 25px;
	margin: 0;
	z-index: 6;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
}

.totop [class*="icon-"]::before {
	margin: 0;
	position: relative;
	top: -3px;
	display: block;
	font-size: 40px;
	font-weight: bold;
	color: inherit;
}

.totop:hover {
	opacity: 0.7;
	-webkit-animation-name: bounce;
	animation-name: bounce;
}

.bounce {
	-webkit-animation-name: bounce;
	animation-name: bounce;
}

.animated {
	-webkit-animation-duration: .5s;
	animation-duration: .5s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

@-webkit-keyframes bounce {
	0%,
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	50% {
		-webkit-transform: translateY(-5px);
		transform: translateY(-5px);
	}
}

@keyframes bounce {
	0%,
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	50% {
		-webkit-transform: translateY(-5px);
		transform: translateY(-5px);
	}
}

.fixed_banner {
	position: fixed;
	right: 0;
	z-index: 5;
	bottom: 135px;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.fixed_banner a {
	display: block;
	padding: 13px 10px 8px;
	color: #fff;
	font-family: 'Kosugi Maru', sans-serif;
	letter-spacing: 0px;
	line-height: 1.4;
	text-align: center;
}

.fixed_banner a::before {
	content: "";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	width: 100%;
	margin-bottom: 8px;
}

.fixed_banner .tel {
	background-color: #ff71b7;
}

.fixed_banner .tel a {
	font-family: 'Varela Round', sans-serif;
	font-size: 24px;
	font-weight: normal;
	letter-spacing: 3px;
}

.fixed_banner .tel a::before {
	background-image: url("../images/shared_fixed_bnr_icon01.png");
	height: 27px;
}

.fixed_banner .web {
	background-color: #43af69;
}

.fixed_banner .web a {
	font-size: 16px;
	font-weight: 700;
}

.fixed_banner .web a::before {
	background-image: url("../images/shared_fixed_bnr_icon02.png");
	height: 32px;
}

.fixed_banner .mail {
	background-color: #3d9cc9;
}

.fixed_banner .mail a {
	font-size: 14px;
	font-weight: 500;
}

.fixed_banner .mail a::before {
	background-image: url("../images/shared_fixed_bnr_icon03.png");
	height: 27px;
}

/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.accContainer {
	/**/
}

.accBtn {
	/**/
}

.accBtn::before,
.accBtn::after {
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.accBlock {
	/**/
}

.triangle {
	/**/
}

.triangle_btt {
	/**/
}

.accBtn.triangle, .accBtn.triangle_btt {
	position: relative;
}

.accBtn.triangle:after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 0;
	height: 0;
	border-radius: 20px;
	border-color: inherit;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 10px solid;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.accBtn.triangle.rotate:after {
	-webkit-transform: translateY(-50%) rotateX(180deg);
	transform: translateY(-50%) rotateX(180deg);
}

.accBtn.triangle_btt:after {
	content: "";
	position: relative;
	top: 0px;
	width: 0;
	height: 0;
	border-radius: 20px;
	border-color: inherit;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 10px solid;
	display: block;
	margin: 10px auto 0;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.accBtn.rotate:after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

.TabContainer .TabContent {
	position: relative;
	overflow: hidden;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.TabContainer .TabContent > ul > li {
	opacity: 0;
	z-index: -10;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.TabContainer .TabContent > ul > li.active {
	opacity: 1;
	z-index: 1;
	visibility: visible;
}

.TabContainer .TabPager {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 35px;
}

.TabContainer .TabPager li {
	width: 33.3%;
}

.TabContainer .TabPager li:last-child {
	margin-right: 0;
}

.TabContainer .TabPager li a {
	position: relative;
	display: block;
	width: 100%;
	background-color: #f0f0f0;
	font-size: 16px;
	line-height: 60px;
	color: #3e3e3f;
	text-decoration: none;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.TabContainer .TabPager li a.active {
	background-color: #3e3e3f;
	color: #fff;
}

.TabContainer .TabPager li a::after {
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	bottom: -12px;
	left: calc(50% - 6px);
	border-top: 12px solid transparent;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.TabContainer .TabPager li a.active::after {
	border-top: 12px solid #3e3e3f;
}

.rel {
	position: relative;
}

.ovh {
	overflow: hidden !important;
}

.ovs {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	/* Lets it scroll lazy */
}

.lt0 {
	letter-spacing: 0 !important;
}

figure {
	margin: 0;
	text-align: center;
	line-height: 1;
}

.fblock {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	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;
}

.key {
	position: relative;
}

.gMap {
	width: 100%;
	height: 100%;
}

.button.style01 {
	background: url(../images/shared_btn_arrow01.png) right 15px center no-repeat;
	border-radius: 8px;
	display: block;
	padding: 13px 10px;
	max-width: 380px;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.5;
	color: #fff;
	text-decoration: none;
	text-align: center;
	position: relative;
	outline: 0px solid;
	outline-color: #60607e;
	outline-offset: 0px;
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.button.style01::after {
	display: block;
	font-family: Meiryo, arial, clean, verdana, 'Hiragino Kaku Gothic Pro', "ＭＳ Ｐゴシック", Osaka, sans-serif;
	font-size: 29px;
	font-weight: bold;
	position: absolute;
	right: 15px;
	top: 51%;
	line-height: 0;
	-webkit-transform: translateY(-50%) scaleX(0.7);
	-ms-transform: translateY(-50%) scaleX(0.7);
	transform: translateY(-50%) scaleX(0.7);
}

.button.style01:hover {
	opacity: 1;
	-webkit-transition: all .4s ease-out;
	-o-transition: all .4s ease-out;
	transition: all .4s ease-out;
	-webkit-box-shadow: 0 0 20px rgba(58, 58, 77, 0.7);
	box-shadow: 0 0 20px rgba(58, 58, 77, 0.7);
	outline-width: 3px;
	outline-color: rgba(127, 127, 143, 0);
	outline-offset: 15px;
}

.button.style01.md {
	font-size: 18px;
}

.button.style01.md::after {
	font-size: 23px;
	right: 12px;
}

.button.bg01 {
	background-color: #43af69;
}

.button.bg02 {
	background-color: #3d9cc9;
}

.button.bg03 {
	background-color: #80ce80;
}

.button.bg04 {
	background-color: #ffa8d3;
}

.button.bg05 {
	background-color: #f48ec0;
}

.image_l img, .image_r img {
	max-width: 100%;
}

.image_l {
	float: left;
	max-width: 350px;
	margin-right: 35px;
	margin-bottom: 15px;
}

.image_r {
	float: right;
	max-width: 350px;
	margin-left: 35px;
	margin-bottom: 15px;
}

.txt_l {
	float: left;
	width: calc(100% - 385px);
}

.txt_r {
	float: right;
	width: calc(100% - 385px);
}

/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/
/* index
------------------------------------------------------------------------*/
.home_page .key {
	background-image: url("../images/idx_key_bg.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	height: 800px;
	margin-top: 100px;
	overflow: hidden;
}

.home_page .key .inner {
	width: auto;
	height: 100%;
}

.home_page .key .slick-slider {
	z-index: 2;
}

.home_page .key .key_text {
	position: absolute;
	-webkit-transform: translate(0%, 50%);
	-ms-transform: translate(0%, 50%);
	transform: translate(0%, 50%);
	left: calc(50% - 20px);
	right: 0;
	bottom: calc(50% - 4px);
}

.home_page .topic_path {
	display: none;
}

.home_page h3 {
	position: relative;
	margin-bottom: 35px;
	color: #333333;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 3px;
}

.home_page h3 .eng {
	padding-left: 23px;
	font-size: 50%;
	font-weight: 400;
	letter-spacing: 0px;
	color: #3d9cc9;
}

.home_page h3 i {
	background: url(../images/shared_icon_h3.png) center bottom no-repeat;
	background-size: contain;
	width: 48px;
	height: 42px;
	display: inline-block;
	font-style: normal;
	position: relative;
	top: 8px;
	margin-right: 13px;
}

.index01 {
	background: url(../images/idx01_bg.jpg) center no-repeat;
	background-size: cover;
	padding-top: 78px;
	height: 600px;
	margin-bottom: 1px;
}

.index01 h3 {
	margin-bottom: 47px;
}

.index01 .list {
	background-color: rgba(255, 255, 255, 0.8);
	border: 1px solid #a0d6b3;
	border-radius: 10px;
	padding: 42px 0 22px 39px;
	margin-bottom: 54px;
}

.index01 .list li {
	background: url(../images/idx01_list_check.png) left top 3px no-repeat;
	width: 50%;
	padding: 7px 10px 7px 46px;
	margin-bottom: 17px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 1px;
}

.index01 .btn_group {
	max-width: 650px;
	margin: 0 auto;
}

.index01 .btn_group > div {
	width: 46%;
}

.index02 {
	padding-bottom: 52px;
}

.index02 h3 {
	background: url(../images/idx02_bg_top.jpg) center repeat;
	padding: 45px 0 45px;
	margin-bottom: 53px;
}

.index02 .list {
	border-style: solid;
	border-color: #43af69;
	border-width: 1px  0   0  1px;
}

.index02 .list .item {
	background-color: #effff5;
	position: relative;
	width: 25%;
	padding: 38px 10px 22px;
	border-style: solid;
	border-color: #43af69;
	border-width: 0  1px 1px  0;
	text-align: center;
	-webkit-transition: 0.3s all ease;
	-o-transition: 0.3s all ease;
	transition: 0.3s all ease;
}

.index02 .list .item p {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 80px;
	margin-top: 14px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 2px;
}

.index02 .list .item a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.index02 .list .item:hover {
	background-color: #43af69;
	color: #fff;
}

.index03 {
	background: url(../images/idx03_bg.jpg) center no-repeat;
	background-size: cover;
	padding-top: 72px;
	padding-bottom: 78px;
	margin-bottom: 1px;
}

.index03 h3 {
	margin-bottom: 70px;
}

.index03 .list.top {
	margin-bottom: 92px;
}

.index03 .list .item {
	background-color: #fff;
	border: 1px solid #43af69;
	border-radius: 10px;
	width: 49%;
	max-width: 480px;
	padding: 80px 35px 116px;
	position: relative;
	text-align: center;
}

.index03 .list .item::before {
	content: "";
	background-color: #fff;
	position: absolute;
	top: -1px;
	left: 50%;
	max-width: 180px;
	width: 100%;
	height: 2px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.index03 .list .item p {
	margin-bottom: 0;
}

.index03 .list .item .point {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.index03 .list .item .ttl {
	font-size: 20px;
	font-weight: 700;
	color: #43af69;
	letter-spacing: 2px;
	margin: 28px 0 18px;
}

.index03 .list .item p:not(.ttl) {
	font-size: 14px;
	line-height: 2.3;
}

.index03 .list .item a {
	position: absolute;
	left: 50%;
	bottom: 45px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	max-width: 200px;
	width: 100%;
	padding: 9px 0;
	font-weight: 400;
}

.index04, .index05 {
	background-color: #f6f6f6;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 1px;
	padding-top: 68px;
	padding-bottom: 86px;
}
.index05 {
	background-position: left 25% center;
}
.index05 p {
	text-shadow: 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6;
}

.index04 .text, .index05 .text {
	width: 50%;
}

.index04 h3, .index05 h3 {
	border-bottom: 2px solid #333333;
	padding-bottom: 13px;
	margin-bottom: 30px;
}

.index04 .button, .index05 .button {
	margin-top: 57px;
	max-width: 300px;
}

.index04 {
	background-image: url(../images/idx04_bg.jpg);
}

.index04 h3 .eng {
	color: #3d9cc9;
}

.index05 {
	background-image: url(../images/idx05_bg.jpg);
}

.index05 .text {
	margin-left: auto;
}

.index05 h3 .eng {
	color: #ffa8d3;
}

.index06 {
	background: url(../images/idx06_bg.jpg) center no-repeat;
	background-size: cover;
	height: 869px;
	padding-top: 93px;
	margin-bottom: 1px;
}

.index06 .text {
	background-color: #fff;
	border-radius: 10px;
	max-width: 800px;
	margin: 0 auto;
	padding: 60px 40px;
}

.index06 dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top: 1px solid #9f9f9f;
	padding: 21px 0px;
}

.index06 dl:last-child {
	border-bottom: 1px solid #9f9f9f;
}

.index06 dl dt, .index06 dl dd {
	font-size: 18px;
	letter-spacing: 1.8px;
}

.index06 dl dt {
	width: 170px;
	padding: 0 15px;
}

.index06 dl dd {
	width: calc(100% - 170px);
}

.index06 .button {
	margin-top: 37px;
	max-width: 300px;
}

.index07 {
	background: url(../images/idx07_bg.jpg);
	padding: 86px 0 94px;
	margin-bottom: 1px;
}

.index07 .fblock {
	margin: 0 auto;
}

.index07 .feedbox, .index07 .fb {
	width: auto;
	border-radius: 10px;
	overflow: hidden;
}

.index07 .feedbox {
	background-color: #fff;
	padding: 30px 30px 78px;
	position: relative;
}

.index07 .feedbox .ttl {
	margin-bottom: 18px;
	padding-left: 2px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 26px;
	font-weight: 500;
	color: #333333;
	letter-spacing: 2.5px;
}

.index07 .feedbox ._feed {
	max-height: 190px;
	overflow: auto;
}

.index07 .feedbox ._feed a {
	display: block;
	border-top: 1px solid #eeeeee;
}

.index07 .feedbox ._feed a:last-child {
	border-bottom: 1px solid #eeeeee;
}

.index07 .feedbox dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 17px 0;
	font-size: 16px;
}

.index07 .feedbox dt {
	padding-left: 10px;
	width: 128px;
	font-size: 15px;
	color: #43af69;
}

.index07 .feedbox dd {
	width: calc(100% - 128px);
	padding-right: 10px;
}

.index07 .feedbox .button {
	background-repeat: no-repeat;
	background-position: right 5px center;
	position: absolute;
	right: 28px;
	top: 50px;
	border: 0;
	padding: 0px 10px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #43af69;
	line-height: 1.5;
	letter-spacing: 2px;
}

.index07 .feedbox .button::after {
	content: "\203A";
	display: inline-block;
	padding-left: 5px;
}

.advertisement {
	background: url(../images/ad_bg.jpg) center no-repeat;
	background-size: cover;
	padding-top: 80px;
	padding-bottom: 89px;
	margin-bottom: 1px;
}

.advertisement .info {
	background-color: rgba(255, 255, 255, 0.7);
	border-radius: 10px;
	padding: 46px 30px 30px;
}

.advertisement .info > div {
	width: 48%;
}

.advertisement p {
	margin-bottom: 0;
}

.advertisement .ad_logo {
	margin-bottom: 18px;
}

.advertisement .note {
	margin-bottom: 27px;
	color: #396747;
	font-weight: 700;
}

.advertisement .time_table {
	margin-top: 25px;
}

.idx_map .box {
	height: 450px;
}

.idx_map .btn_grp {
	background-color: #a8ffa8;
}

.idx_map .btn_grp .inner {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	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;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 60px;
}

.idx_map .btn_grp p, .idx_map .btn_grp a {
	display: block;
	margin: 0;
	padding: 0px 0;
	color: #333;
}

.idx_map .btn_grp p {
	text-align: left;
	letter-spacing: 0;
}

.idx_map .btn_grp a {
	position: relative;
	padding-left: 5px;
	text-align: right;
}

.idx_map .btn_grp a::after {
	content: "\203A";
	font-size: 18px;
	position: absolute;
	left: -10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.idx_map .btn_grp a:hover {
	text-decoration: underline;
}

.idx_gallery {
	padding: 30px 0 30px;
}

.idx_gallery ul li {
	border: 0px solid #fff;
	display: block !important;
}

.slick-arrow {
	display: block;
	border: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: transparent;
	position: absolute;
	top: 37%;
	width: 38px;
	height: 38px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
	color: transparent;
}

.slick-arrow:focus {
	outline: 0;
}

.slick-prev {
	left: -55px;
}

.slick-next {
	right: -55px;
}

/* END index
------------------------------------------------------------------------*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/* START under
------------------------------------------------------------------------*/
.under #main {
	padding-bottom: 100px;
}

.under .key {
	background: url(../images/shared_under_key_bg.jpg) center bottom no-repeat;
	background-size: cover;
	height: 300px;
	margin-top: 100px;
}

.under .key .inner {
	position: relative;
	height: 100%;
}

.under h2 {
	position: absolute;
	top: 50%;
	left: auto;
	right: 0px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	font-size: 44px;
	color: #538b3c;
	letter-spacing: 3.7px;
	text-align: right
}

.under h2, .under h3, .under h4, .under h5, .under h6 {
	line-height: 1.4;
}

.under h2:last-child, .under h3:last-child, .under h4:last-child, .under h5:last-child, .under h6:last-child {
	margin-bottom: 0;
}

.under h3 {
	background-color: #43af69;
	background-size: auto 40px;
	position: relative;
	margin: 0 auto 45px;
	padding: 13px 0px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
	font-size: 32px;
	letter-spacing: 3px;
	color: #fff;
	text-align: center;
	z-index: 0;
}

.under h4 {
	background-position: left 7px bottom, right top;
	margin-bottom: 30px;
	padding-bottom: 4px;
	border-bottom: 3px solid #43af69;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
	font-size: 30px;
	color: #333333;
	letter-spacing: 3px;
}

.under h5 {
	background: url(../images/shared_under_h5_bg.png) left 2px top 9px no-repeat;
	padding: 0px 15px 4px 31px;
	margin-bottom: 20px;
	border-bottom: 1px solid #43af69;
	position: relative;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
	font-size: 26px;
	color: #333333;
	letter-spacing: 2.5px;
}

.under h6 {
	position: relative;
	padding: 0px 15px;
	margin-bottom: 15px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 600;
	font-size: 21px;
	color: #31ac80;
	letter-spacing: 3px;
}

.under h6::before {
	content: "";
	background-color: #31ac80;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 5px;
	-webkit-transform: translateY(0%);
	-ms-transform: translateY(0%);
	transform: translateY(0%);
}

.under section {
	padding-top: 80px;
}

.under section.head {
	padding-top: 50px;
}

.under section .secH4 {
	padding-top: 60px;
}

.under section .secH5 {
	padding-top: 40px;
}

.under table {
	border-radius: 3px;
}

.under table.rollTable {
	width: 100%;
}

.under table.tbl_style01 th, .under table.tbl_style01 td {
	border: 1px solid #538b3c;
}

.under table.tbl_style01 th img, .under table.tbl_style01 td img {
	max-width: 100%;
}

.under table.tbl_style01 th {
	background-color: #46675c;
	padding: 10px;
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	color: #fff;
}

.under table.tbl_style01 td {
	background-color: #fff;
	padding: 10px 15px;
	color: #555555;
	font-size: 16px;
}

.under table.tbl_style01.rowHead tr th:not(:last-child) {
	border-right: 1px solid #fff;
}

.under table.tbl_style01.colHead tr:not(:last-child) th {
	border-bottom: 1px solid #fff;
}

.under table.tbl_style02 th, .under table.tbl_style02 td {
	border: 2px solid #efefef;
	border-left: none;
	border-right: none;
}

.under table.tbl_style02 th img, .under table.tbl_style02 td img {
	max-width: 100%;
}

.under table.tbl_style02 th {
	background: none;
	padding: 10px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: normal;
	font-size: 18px;
	color: #538b3c;
}

.under table.tbl_style02 td {
	padding: 10px;
}

.under .tbl_note {
	display: none;
	margin-top: 10px;
	color: #b4b4b4;
	font-size: 11px;
	letter-spacing: 0;
}

.under ul.list01.mcol_2 {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.under ul.list01.mcol_2 li {
	width: 50%;
}

.under ul.list01 li {
	background-size: 10px auto;
	position: relative;
	padding-left: 20px;
	padding-bottom: 10px;
	letter-spacing: 1.6px;
}

.under ul.list01 li:last-child {
	padding-bottom: 0;
}

.under ul.list01 li::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #46675c;
	position: absolute;
	left: 0;
	top: 7px;
}

.under .list_note {
	margin-top: 15px;
	padding-left: 20px;
}

.under .list_note.no_mt {
	margin-top: 0;
}

.under .topic_path {
	font-size: 14px;
	line-height: 1.45;
	letter-spacing: 1.5px;
	padding: 27px 0 7px;
}

.under .topic_path ul {
	background: url(../images/shared_path_icon.png) left top 4px no-repeat;
	display: block;
	padding: 4px 10px 4px 38px;
}

.under .topic_path ul::after {
	content: "";
	display: block;
	clear: both;
}

.under .topic_path ul li {
	float: left;
}

.under .topic_path a {
	text-decoration: none;
	color: #43af69;
}

.under .topic_path a:hover {
	opacity: 1;
	text-decoration: underline;
}

.under .topic_path span {
	display: inline-block;
	padding: 0 12px;
	-webkit-transform: scaleX(0.6);
	-ms-transform: scaleX(0.6);
	transform: scaleX(0.6);
	color: #43af69;
}

@-webkit-keyframes fade_drop {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 0.2;
	}
	50% {
		-webkit-transform: translateY(5px);
		transform: translateY(5px);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
		opacity: 0.2;
	}
}

@keyframes fade_drop {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 0.2;
	}
	50% {
		-webkit-transform: translateY(5px);
		transform: translateY(5px);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
		opacity: 0.2;
	}
}

.clinic_tbl01 th {
	width: 200px;
	text-align: right;
}

.clinic_tbl02 {
	text-align: center;
}

.clinic_tbl02 th:first-child {
	width: 200px;
}

.clinic_tbl02 th:not(:first-child) {
	width: calc((100% - 200px) / 7);
}

.feature_box .item {
	background: url("../images/feature_box_bg02.png"), url("../images/feature_box_bg01.jpg");
	background-size: auto, cover;
	background-position: left bottom, center;
	background-repeat: no-repeat;
	position: relative;
	border: 1px solid #6eed3a;
	padding: 99px 102px 87px;
	margin-bottom: 70px;
	z-index: 0;
}

.feature_box .item.last {
	margin-bottom: 0;
}

.feature_box .item::before {
	content: "";
	background-image: url(../images/feature_box_bg03.png);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: contain;
	display: block;
	width: 182px;
	height: 172px;
	position: absolute;
	right: -36px;
	top: -23px;
}

.feature_box .item dl {
	position: relative;
}

.feature_box .item dt {
	margin-bottom: 30px;
	color: #379112;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 2px;
}

.feature_box .item dd {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #333;
}

.feature_box .item p {
	margin-bottom: 20px;
}

.feature_box .item figure {
	padding: 5px;
	background: rgba(255, 255, 255, 0.3);
}

.feature_box .item figure, .feature_box .item figure img {
	border-radius: 7px;
}

.flow_box {
	position: relative;
	z-index: 0;
}

.flow_box::before {
	content: "";
	border-left: 1px dashed #8c8c8c;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

.flow_box .item {
	position: relative;
	padding: 25px 70px;
	margin-bottom: 65px;
}

.flow_box .item.last {
	margin-bottom: 0;
}

.flow_box .item .ttl {
	position: relative;
	margin-bottom: 21px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 25px;
	font-weight: bold;
	letter-spacing: 3px;
	line-height: 1.5;
	color: #e8398f;
}

.flow_box .label {
	display: table;
	padding-left: 40px;
	position: relative;
	margin-bottom: 0px;
	font-family: "Times New Roman", serif;
	font-size: 22px;
	color: #e10b4e;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.flow_box .label::after {
	content: "";
	border-bottom: 1px solid #e10b4e;
	width: calc(100% + 80px);
	position: absolute;
	bottom: 0;
	left: -40px;
}

.flow_box .label::before {
	content: "";
	background-color: #e1004e;
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	bottom: -7px;
	left: -7px;
	z-index: 1;
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
	-webkit-animation: flow_deco 4s cubic-bezier(1, 0.21, 0.32, 0.94) 0s infinite;
	animation: flow_deco 4s cubic-bezier(1, 0.21, 0.32, 0.94) 0s infinite;
}

.flow_box .label.label01::before {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}

.flow_box .label.label02::before {
	-webkit-animation-delay: 0.7s;
	animation-delay: 0.7s;
}

.flow_box .label.label03::before {
	-webkit-animation-delay: 1.4s;
	animation-delay: 1.4s;
}

.flow_box .label.label04::before {
	-webkit-animation-delay: 2.1s;
	animation-delay: 2.1s;
}

@-webkit-keyframes flow_deco {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	50% {
		-webkit-transform: rotate(calc(360deg * 1.5));
		transform: rotate(calc(360deg * 1.5));
		border-radius: 30%;
	}
	100% {
		-webkit-transform: rotate(calc(360deg * 3));
		transform: rotate(calc(360deg * 3));
		border-radius: 0%;
	}
}

@keyframes flow_deco {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	50% {
		-webkit-transform: rotate(calc(360deg * 1.5));
		transform: rotate(calc(360deg * 1.5));
		border-radius: 30%;
	}
	100% {
		-webkit-transform: rotate(calc(360deg * 3));
		transform: rotate(calc(360deg * 3));
		border-radius: 0%;
	}
}

.qa_box {
	margin-bottom: 30px;
}

.qa_box.last {
	margin-bottom: 0;
}

.qa_box dl {
	color: #333;
}

.qa_box dt, .qa_box dd {
	padding: 15px 30px 5px 54px;
}

.qa_box dt {
	background: url(../images/qa_box_bg01.png) left top 10px no-repeat;
	font-weight: bold;
	font-size: 18px;
	color: #fff;
	text-shadow: 0px 0px 1px #538b3c, 0px 0px 1px #538b3c, 0px 0px 1px #538b3c,
		0px 0px 1px #538b3c, 0px 0px 1px #538b3c, 0px 0px 1px #538b3c,
		0px 0px 1px #538b3c, 0px 0px 1px #538b3c, 0px 0px 1px #538b3c,
		0px 0px 1px #538b3c, 0px 0px 1px #538b3c, 0px 0px 1px #538b3c,
		0px 0px 1px #538b3c, 0px 0px 1px #538b3c, 0px 0px 1px #538b3c,
		0px 0px 1px #538b3c, 0px 0px 1px #538b3c, 0px 0px 1px #538b3c;
}

.qa_box dd {
	background: url(../images/qa_box_bg02.png) left top 10px no-repeat;
}

.sitemap > ul > li p {
	margin-bottom: 0;
}

.sitemap > ul > li a, .sitemap > ul > li p {
	display: block;
	width: 100%;
	padding: 15px 15px 15px 30px;
	border-bottom: dotted 1px #ccc;
	color: #333333;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.sitemap > ul > li a:before, .sitemap > ul > li p:before {
	content: '';
	position: absolute;
	width: 15px;
	height: 3px;
	background: #ccc;
	left: 0;
	top: 50%;
	margin-top: -2px;
}

.sitemap > ul > li p:after {
	content: '';
	position: absolute;
	width: 3px;
	height: 14px;
	background: #ccc;
	left: 6px;
	top: 50%;
	margin-top: -7px;
}

.sitemap > ul > li a:hover {
	text-decoration: none;
	background: rgba(0, 0, 0, 0.05);
}

.sitemap > ul > li li a {
	padding-left: 70px;
}

.sitemap > ul > li li a:before {
	left: 40px;
}

/**************** NgocTT ****************/
.hospital_map01 iframe {
	display: block;
}

.doctor_box01 dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.doctor_box01 dl dt {
	width: 70px;
}

.doctor_box01 dl dd {
	width: calc(100% - 70px);
}

.disease_box01 {
	background: #fbfbfb;
	border: solid 1px #80ce80;
	border-radius: 20px;
	padding: 0px 60px 40px;
	margin-top: 80px;
	position: relative;
}

.disease_box01:before {
	content: '';
	height: 1px;
	width: 240px;
	background: #fbfbfb;
	position: absolute;
	left: 40px;
	top: -1px;
}

.disease_box01 .label {
	margin: 0;
	font-size: 60px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	line-height: 1;
	display: inline-block;
}

.disease_box01 h4 {
	border-bottom: none;
	margin-top: -40px;
	position: relative;
}

.faq_box01 {
	background: #fbfbfb;
	border: solid 1px #80ce80;
	border-radius: 20px;
	padding: 40px;
	margin-top: 80px;
	position: relative;
}

.faq_box01 h4 {
	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
	padding-bottom: 12px;
}

.faq_box01 h4,
.faq_box01 .text {
	position: relative;
	padding-left: 70px;
}

.faq_box01 h4:before,
.faq_box01 .text:before {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-align: center;
	line-height: 50px;
	background: #43af69;
	position: absolute;
	color: #fff;
	left: 0;
	top: -5px;
	font-size: 30px;
	font-weight: 700;
}

.faq_box01 h4:before {
	content: 'Q';
}

.faq_box01 .text:before {
	content: 'A';
	background: #ffa8d3;
}

/* END under
------------------------------------------------------------------------*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/* START BLOG
------------------------------------------------------------------------*/
#pagination {
	margin: 40px auto 0;
	text-align: center;
}

#pagination span,
#pagination a {
	color: #fff;
	display: inline-block;
	background-color: #68d4cc;
	border-radius: 100%;
	padding: 7px 10px 5px;
	margin-top: 10px;
	line-height: 1;
	background-color: #63ce88;
}

#pagination span {
	opacity: 0.5;
}

#pagination a:hover {
	background: none repeat scroll 0 0 #ddd;
	text-decoration: none;
}

#pagination .active a, #pagenation a.active:hover {
	background: none repeat scroll 0 0 #000000;
	color: #FFFFFF;
}

.blog-item {
	background: #f5f5f5;
	margin-bottom: 20px;
	padding: 20px;
}

.blog-item:last-child {
	margin-bottom: 0;
}

.blog-item .thumb {
	float: left;
	width: 240px;
	margin-right: 30px;
	text-align: center;
	background-color: #f5f5f5;
}

.blog-item .date {
	border-bottom: solid 1px rgba(0, 0, 0, 0.05);
	letter-spacing: 2px;
	padding-bottom: 5px;
	margin-bottom: 10px;
	font-size: 12px;
	line-height: 1;
}

.blog-item .title a {
	font-weight: bold;
	margin-bottom: 0px;
	color: #494949;
}

.blog-item .excerpt {
	font-size: 14px;
}

.blog-content .date {
	color: #f77e2f;
	text-align: center;
	margin-bottom: 30px;
}

/* END BLOG
------------------------------------------------------------------------*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/* START Mail
------------------------------------------------------------------------*/
form table.iqfm-table input[type="text"], form table.iqfm-table select, form table.iqfm-table textarea {
	border: 1px solid #ddd;
	padding: 8px;
	border-radius: 5px;
}

form table.iqfm-table input[name="text-2"],
form table.iqfm-table input[name="tel-4"],
form table.iqfm-table input[name="email-5"] {
	width: 50%;
}

form table.iqfm-table input[name="code-front-zip-3"] {
	width: 10%;
}

form table.iqfm-table input[name="code-back-zip-3"] {
	width: 15%;
}

form table.iqfm-table input[name="zip-name-zip-3"] {
	width: 60%;
}

form table.iqfm-table textarea {
	width: 60%;
	height: 7em;
}

form table.iqfm-table input[type="radio"] {
	margin: 5px 3px 5px 0px;
}

form table.iqfm-table {
	width: 100%;
	margin-bottom: 40px;
}

form table.iqfm-table tr {
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}

form table.iqfm-table th {
	width: 30%;
	padding: 15px;
	font-weight: normal;
	vertical-align: middle;
	text-align: left;
	border-collapse: collapse;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 600px) {
	form table.iqfm-table th {
		width: 100%;
		display: block;
	}
}

form table.iqfm-table td {
	width: 70%;
	padding: 15px;
	border-collapse: collapse;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	form table.iqfm-table td {
		width: 100%;
		display: block;
	}
	form table.iqfm-table input[name="text-1"] {
		width: 90%;
		max-width: 400px;
	}
	form table.iqfm-table textarea[name="textarea-8"] {
		width: 90%;
	}
}

form table.iqfm-table th span {
	color: #ffffff;
	background: #ff0000;
	padding: 3px 4px;
	border-radius: 3px;
}

.input_btn input[type="submit"] {
	display: block;
	width: 200px;
	height: 45px;
	background: #ff972d;
	border: none;
	padding: 10px;
	text-align: center;
	color: #ffffff;
	font-size: 100%;
	font-weight: normal;
	margin: 0px auto;
	text-decoration: none;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.input_btn input[type="submit"]:hover {
	opacity: 0.8;
}

.iqfm-table {
	margin-bottom: 15px;
}

.iqfm-table th, .iqfm-table td {
	border: 1px solid #DCDCDC;
	padding: 8px 36px 8px 14px;
}

.iqfm-table th {
	background-color: #ff972d;
	white-space: nowrap;
	text-align: left;
	vertical-align: top;
	color: #fff;
}

.radio-gender01 .wpcf7-list-item {
	margin-right: 15px;
}

.button.thanks_btn {
	background-color: #f8614c;
	padding: 10px;
	font-size: 21px;
}

/* END Mail
------------------------------------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1399px) {
	.h_button .time, .h_button .map {
		font-size: 12px;
	}
	.h_button .time a::before, .h_button .map a::before {
		width: 14px;
		height: 14px;
	}
	.h_button .tel {
		font-size: 16px;
	}
	.h_button .tel a::before {
		height: 25px;
		margin-bottom: 5px;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {
	html > body {
		font-size: 14px;
	}
	.home_page h3 {
		background-size: 370px auto;
		margin-bottom: 30px;
		font-size: 22px;
	}
	.home_page h3 .eng {
		padding-top: 10px;
	}
	.button.style01, .button.style02 {
		font-size: 14px;
	}
	.totop {
		width: 60px;
		height: 60px;
		right: 10px;
	}
	.pc_navi > ul > li > a, .pc_navi > ul > li > p {
		font-size: 12px;
	}
	.pc_navi > ul .subInner ul li a {
		font-size: 12px;
	}
	.fixed_banner .item a {
		height: 48px;
		font-size: 15px;
	}
	.fixed_banner .item a::before {
		width: 28px;
		height: 28px;
	}
	footer .ft_link .ttl {
		font-size: 20px;
		padding-bottom: 10px;
		line-height: 1.8;
	}
	footer .ft_link li {
		background-position: left top 4px;
		font-size: 11px;
	}
	footer .ft_link {
		padding-left: 5px;
	}
	footer .info .note {
		font-size: 11px;
	}
	.index04 {
		background-position: right 28% center;
	}
	.index05 {
		background-position: left 28% center;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1000px) {
	.inner {
		width: auto;
		padding-left: 10px;
		padding-right: 10px;
	}
	.h_button .time, .h_button .map, .h_button .tel {
		letter-spacing: 0;
	}
	.h_button .time, .h_button .map {
		font-size: 10px;
	}
	.h_button .time a::before, .h_button .map a::before {
		width: 12px;
		height: 12px;
	}
	.h_button .tel {
		font-size: 13px;
	}
	.h_button .tel a::before {
		height: 20px;
	}
	.home_page .key {
		height: 500px;
	}
}
