/***************************
 *
 * モジュール
 *
 **************************/

/* 
一般
*/
img{

}
.clear {
	clear: both;
}
.clearfix:after {
	clear: both;
	height: 0px;
	display: block;
	content: ".";
	visibility: hidden;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.center {
	text-align: center;
}
.underline {
	text-decoration: underline;
}
.white {
	color: white;
}

.fl-l {
	float: left;
}
.fl-r {
	float: right;
}

.big {
	font-size: 1.3em;
}
.no-margin {
	margin-left: 0px !important;
	margin-right: 0px !important;
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}
.ib {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
.img-left {
	float: left;
	margin-right: 5px;
	margin-bottom: 20px;
}
.img-right {
	float: right;
	margin-left: 5px;
	margin-bottom: 20px;
}
small {
	font-size: 80%;
}
.relative {
	position: relative;
}


/* 
カラー
*/
.red {
	color: #ec6864;
}
.blue {
	color: #4d60b4;
}
.pink {
	color: #f67171;
}
.bg-white {
	background: white;
}
.orange {
	color: #de6905;
}


/* 
OVER
*/
.over:hover {
	-ms-filter: "alpha(opacity=7)";
	opacity: 0.7;
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;		
}
.zoom {
	
}
.zoom:hover {
	-webkit-transform: scale(1.5);
	transform: scale(1.5);	
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;		
}

/* 
フォント
*/
.serif {
	font-family: "游明朝体", "Yu Mincho", YuMincho, '游明朝', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.serif-all * {
	font-family: "游明朝体", "Yu Mincho", YuMincho, '游明朝', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.jp {
	/*font-weight: bold;*/

}

.italic {
	font-style: italic;
}

.en {
	font-family: 'Montserrat', sans-serif;
}

/* 
ボタン
*/

.btn {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	text-align: center;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;

        position: relative;
        overflow: hidden;
        z-index: 2;
}
.btn:before {
	position: absolute;
	left: -100%;
	top: 0px;
	width: 100%;
	height: 100%;
	content: "　";
	background: #f2f2f2;
	z-index: 0;

}
.btn:hover, .btn:focus, .btn:active {
	color: #ebe9e5;
}
.btn:hover:before, .btn:focus:before, .btn:active:before {
	left: 0;
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;	
	z-index: -10;	

}



.btn a {
	color: #5d4d48;	
	text-decoration: none;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	height: 100%;
	padding: 5px 0px;
	/*font-size: 90%;*/
	line-height: 1.3em;
	z-index: 6;
	border: 1px solid #bbb4b1;

	font-size: 15px;
}
.btn a:hover {
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;	

}



/* ボタン用サイズ */
.btn-455 a {
	width: 455px;
}
.btn-120 a {
	width: 120px;
}
.btn-160 a {
	width: 160px;
}
.btn-210 a {
	width: 210px;
}
.btn-300 a {
	width: 300px;
}


.fix-page .btn a {
	width: 350px;
	font-size: 18px;
}
.fix-page .btn {
	display: block;
	width: 350px;
	margin: 20px auto;
}

/* ボタン用カラー */
.btn-trans {
	border: 1px solid #222222;
}
.btn-trans a {
	padding: 12px 18px;
	border: none;
	font-size: 12px;
	color: #222;
}
.btn-orange {
	border-bottom: 3px solid #c18730;
	border-radius: 25px;
	background: #f8b551;
}
.btn-orange a {
	color: white;
	border: none;
	font-size: 14px;
	padding-top: 9px;
	padding-bottom: 9px;
	text-shadow: 0px -1px 0px #c18730;
}
.btn-orange:before {
	background: #c18730;
	left: 0px;
	top: 50px;
}
.btn-orange a:hover {
	color: white;
}
.btn.btn-orange:hover:before, .btn.btn-orange:focus:before, .btn.btn-orange:active:before {
	left: 0;
	top: 0 !important;	
}
.btn-green {
	border-bottom: 3px solid #87a540;
	border-radius: 25px;
	background: #b3d465;
}
.btn-green a {
	color: white;
	border: none;
	font-size: 14px;
	padding-top: 9px;
	padding-bottom: 9px;
	text-shadow: 0px -1px 0px #87a540;
}
.btn-green:before {
	background: #87a540;
	left: 0px;
	top: 50px;
}
.btn-green a:hover {
	color: white;
}
.btn.btn-green:hover:before, .btn.btn-green:focus:before, .btn.btn-green:active:before {
	left: 0;
	top: 0 !important;	
}

.btn-blue {
	border-bottom: 3px solid #3ba3ac;
	border-radius: 25px;
	background: #66cdd6;
}
.btn-blue a {
	color: white;
	border: none;
	font-size: 12px;
	padding-top: 9px;
	padding-bottom: 9px;
	text-shadow: 0px -1px 0px #3ba3ac;
}
.btn-blue:before {
	background: #3ba3ac;
	left: 0px;
	top: 50px;
}
.btn-blue a:hover {
	color: white;
}
.btn.btn-blue:hover:before, .btn.btn-blue:focus:before, .btn.btn-blue:active:before {
	left: 0;
	top: 0 !important;	
}

.btn-purple {
	border-bottom: 3px solid #615295;
	border-radius: 25px;
	background: #9a8dc7;
}
.btn-purple a {
	color: white;
	border: none;
	font-size: 10px;
	padding-top: 9px;
	padding-bottom: 9px;
	text-shadow: 0px -1px 0px #87a540;
}
.btn-purple:before {
	background: #615295;
	left: 0px;
	top: 50px;
}
.btn-purple a:hover {
	color: white;
}
.btn.btn-purple:hover:before, .btn.btn-purple:focus:before, .btn.btn-purple:active:before {
	left: 0;
	top: 0 !important;	
}


.btn-detail {
	border-bottom: 2px solid #dcdcdc;
	border-radius: 25px;
	background: white;
}
.btn-detail a {
	color: white;
	border: none;
	font-size: 10px;
	padding-top: 9px;
	padding-bottom: 9px;
	text-shadow: 0px -1px 0px #dcdcdc;
}
.btn-detail:before {
	background: #dcdcdc;
	left: 0px;
	top: 50px;
}
.btn-detail a:hover {
	color: white;
}
.btn.btn-detail:hover:before, .btn.btn-detail:focus:before, .btn.btn-detail:active:before {
	left: 0;
	top: 0 !important;	
}

.btn-white {
	border-bottom: 3px solid #dcdcdc;
	border-radius: 25px;
	background: white;
}
.btn-white a {
	color: #19bcb5;
	border: none;
	font-size: 14px;
	padding-top: 9px;
	padding-bottom: 9px;
	text-shadow: 0px -1px 0px gray;
}
.btn-white:before {
	background: #dcdcdc;
	left: 0px;
	top: 50px;
}
.btn-white a:hover {
	color: white;
}
.btn.btn-white:hover:before, .btn.btn-white:focus:before, .btn.btn-white:active:before {
	left: 0;
	top: 0 !important;	
}

.btn-black {
	background: black;
	margin-top: 10px;
	margin-bottom: 10px;
}
.btn-black a {
	border: none;
	color: white;
	font-size: 16px;
	padding: 4px 0;
}
.btn-black a:hover {
	animation: btn-bg 5s linear infinite;
	color: black;
}
.btn-pink {
	background: #f67171;
	margin-top: 10px;
	margin-bottom: 10px;
}
.btn-pink a {
	border: none;
	color: white;
	font-size: 16px;
	padding: 4px 0;
}
.btn-pink a:hover {
	animation: btn-bg 5s linear infinite;
	color: black;
}

@keyframes btn-bg {
	 0% {background-position: 0 0, 0 0, 0 0;}
	 100% {background-position: 100px 0;}
}
@-webkit-keyframes btn-bg {
	 0% {background-position: 0 0, 0 0, 0 0;}
	 100% {background-position: 100px 0;}
}
@-moz-keyframes btn-bg {
	 0% {background-position: 0 0, 0 0, 0 0;}
	 100% {background-position: 100px 0;}
}
@-ms-keyframes btn-bg {
	 0% {background-position: 0 0, 0 0, 0 0;}
	 100% {background-position: 100px 0;}
}

/* ボタン用アイコン */
.icon {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	line-height: 0;
	vertical-align: middle;
	margin-right: 10px;
	margin-left: 5px;
}
.icon-right-fix {
	position: absolute;
	right: 0px;
	top: 11px;
}
.icon-access {
	background: url(../img/icon-access.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 13px;
	height: 20px;
}
.icon-contact {
	background: url(../img/icon-contact.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 17px;
	height: 17px;
}
.icon-hospital {
	background: url(../img/icon-hospital.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 16px;
	height: 15px;
}
.icon-news {
	background: url(../img/icon-news.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 24px;
	height: 25px;
}
.icon-about {
	background: url(../img/icon-about.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 26px;
	height: 28px;
}
.icon-blog {
	background: url(../img/icon-blog.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 25px;
	height: 26px;
}
.icon-mail {
	background: url(../img/icon-mail.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 25px;
	height: 19px;
}
.icon-tel {
	background: url(../img/icon-tel.png) 0 0 no-repeat;
	background-size: 100% 100%;
	width: 32px;
	height: 33px;
}

@keyframes levitate {
    0% {
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(8px, 0);
        -moz-transform: translate(8px, 0);
        -ms-transform: translate(8px, 0);
        -o-transform: translate(8px, 0);
        transform: translate(8px, 0)
    }
}

@-webkit-keyframes levitate {
    0% {
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(8px, 0);
        -moz-transform: translate(8px, 0);
        -ms-transform: translate(8px, 0);
        -o-transform: translate(8px, 0);
        transform: translate(8px, 0)
    }
}



/* 
ボックス
*/
.box-1100 {
	width: 1100px;
	margin: 0px auto;
	position: relative;
}
.box-1050 {
	width: 1050px;
	margin: 0px auto;
	position: relative;
}
.box-1020 {
	width: 1020px;
	margin: 0px auto;
	position: relative;
}
.box-1000 {
	width: 1000px;
	margin: 0px auto;
	position: relative;
}
.box-970 {
	width: 970px;
	margin: 0px auto;
	position: relative;
}
.box-960 {
	width: 960px;
	margin: 0px auto;
	position: relative;
}
.box-800 {
	width: 800px;
	margin: 0px auto;
	position: relative;
}
.box-680 {
	width: 680px;
	margin: 0px auto;
	position: relative;
}
.box-640 {
	width: 640px;
	margin: 0px auto;
	position: relative;
}
.box-630 {
	width: 630px;
	margin: 0px auto;
	position: relative;
}
.box-450 {
	width: 450px;
	margin: 0px auto;
	position: relative;
}
.box-white {

}


/* 
ヘッダー
*/
.header-logo {
	padding-top: 20px;	
	padding-bottom: 27px;
}
.header-right {
	position: absolute;
	top: 20px;
	right: 0px;
}
.mynavi{
	position: absolute;
	top: 20px;
	left: 300px;
}
.mynavi_footer{display:none;
}
.list-header-btn {
	
}
.list-header-btn li {
	display: inline-block;
	margin-left: 5px;
}

/*
GLOBAL NAVI	
*/
.l-nav .menu {
	width: 970px;
	margin: 0 auto;
}
.l-nav .menu > li {
	float: left;
	width: 161px;
	text-align: center;
	background: url(../img/nav-sep.gif) left top no-repeat;
	position: relative;
}
.l-nav .menu > li:nth-child(6) {
	background: url(../img/nav-sep.gif) left top no-repeat,
	url(../img/nav-sep.gif) right top no-repeat;
}
.l-nav .menu > li > a, .l-nav .menu > li > span {
	font-size: 16px;
	height: 51px;
	box-sizing: border-box;
	padding-top: 5px;
	display: block;
}
.l-nav .menu > li > a:hover, .l-nav .menu > li > span:hover {
	text-decoration: none;
}
.l-nav .menu > li .en {
	padding-top: 12px;
	font-size: 10px;
	color: #c0c0c0;
	display: block;
}


.l-nav .menu > li:hover .submenu {
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;	
	visibility: visible;
	opacity: 1;
}


.l-nav .submenu {
	position: absolute;
	left: 0px;
	top: 100%;
	width: 100%;
	border-top: 1px solid #d9d9d9;
	visibility: hidden;
	opacity: 0;
}

.l-nav .menu > li:nth-child(6) .submenu {
	width: 100%;
}
.l-nav .submenu li {
	text-align: left;
	background: white;
	border-bottom: 1px solid #d9d9d9;
}
.l-nav .submenu li a {
	display: block;
	padding: 10px;
}


/*
Main Slider
*/

/*
パンくず
*/
.bread {
	padding: 10px 0;
	background: url(../img/bg-content-bottom.gif) 0 0 repeat;
	text-align: center;
}
.bread li {
	display: inline;
	font-size: 10px;
}
.bread li * {
	font-size: 10px;
}
.bread li a {

}


/*
サイドバー
*/
.sidebar-inner {
	float: right;
	margin-right: 40px;
	width: 240px;
}
.nav-side li {
	background: url(../img/bullet-side.png) left 17px no-repeat;
	padding: 10px 20px;
	font-size: 14px;
	color: #00b5ad;
}
.nav-side li a {
	color: #00b5ad;
}
.l-sidebar .list-box-menu {
	margin-top: 30px;
}
.l-sidebar .list-box-menu > li {
	float: none;
	width: 240px;
	height: 260px;
	margin: 0 0 20px 0;
}
.l-sidebar .main-menu {
	width: auto;
	margin: 0;
}

.l-sidebar .box-menu .box-menu-text {
	top: 171px;
}
.l-sidebar .box-menu .box-menu-text .box-menu-title .en {
	padding-top: 0;
}


/*
フッター
*/
.page-top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 100;
}
.l-footer-top {
	background: #19bcb5;
	padding: 20px 0;
	color: white;
}
.l-footer-bottom {
	background: #f7f7f7;
	padding: 45px 0;
}
.l-footer-top p {
	font-size: 20px;
	text-shadow: 0px -1px 0px gray;
	line-height: 1.6em;
}
.footer-top-tel {
	position: absolute;
	left: 430px;
	top: 10px;
	font-size: 40px;
	color: white;
	text-shadow: 0px -1px 0px gray;
}
.footer-top-tel .icon {
	position: relative;
	top: -3px;
}
.footer-top-tel a {
	color: white;
}
.l-footer-top .btn {
	position: absolute;
	top: 12px;
	right: 0px;
}
.footer-bottom-logo {
	text-align: center;
}
.footer-nav {
	text-align: center;
	margin: 40px auto;
}
.footer-nav li {
	display: inline-block;
	background: url(../img/footer-nav-sep.png) right center no-repeat;
	padding: 0 15px;
}
.footer-nav li:last-child {
	background: none;	
}
.l-footer-bottom p {
	text-align: center;
	line-height: 2em;
}
.copyright {
	text-align: center;
	font-size: 10px;
	color: #cccccc;
	background: #444444;
	padding: 20px 0;
}
/*
INDEX
*/

/* MAIN SLIDER */
.main-slider {
	background: url(../img/bg-main-slider.jpg) center top no-repeat;
	height: 445px;
	position: relative;
	z-index: 1;
}
.main-slider h2 {
	padding-top: 70px;
	padding-bottom: 25px;
}
.main-slider p {
	line-height: 2em;
	color: #666666;
}
.main-slider .btn {
	margin-top: 25px;
}
.main-slider .btn a {
	font-size: 14px;	
}

/* MAIN MENU */
.main-menu {
	width: 970px;
	margin: 70px auto 50px;
}
.list-box-menu {
	
}
.list-box-menu > li {
	float: left;
	width: 300px;
	margin-right: 35px;
	margin-bottom: 35px;
}
.list-box-menu > li:nth-child(3n) {
	margin-right: 0;
}
.list-box-menu > li:nth-child(1) .box-menu-text {
	background: #f39e5f;
	opacity: 0.9;
}
.list-box-menu > li:nth-child(2) .box-menu-text {
	background: #35bcb6;
	opacity: 0.9;
}
.list-box-menu > li:nth-child(3) .box-menu-text {
	background: #8677bb;
	opacity: 0.9;
}
.list-box-menu > li:nth-child(4) .box-menu-text {
	background: #80c269;	
	opacity: 0.9;
}
.list-box-menu > li:nth-child(5) .box-menu-text {
	background: #f29c9f;
	opacity: 0.9;
}
.list-box-menu > li:nth-child(6) .box-menu-text {
	background: #44b486;
	opacity: 0.9;
}

.box-menu {
	position: relative;
	overflow: hidden;
}
.box-menu > a {
	
}
.box-menu > a:hover .box-menu-text {
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;	
	height: 100%;
	top: 0px;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}
.box-menu > a:hover .box-menu-title {
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	-ms-transition: 0.5s ease;
	-o-transition: 0.5s ease;
	transition: 0.5s ease;	
	padding-top: 65px;
}
.box-menu > a:hover .box-menu-content {

	-webkit-transition: 1.5s ease;
	-moz-transition: 1.5s ease;
	-ms-transition: 1.5s ease;
	-o-transition: 1.5s ease;
	transition: 1.5s ease;	
	display: block;
}
.box-menu .box-menu-pic {
	
}
.box-menu .box-menu-text {
	text-align: center;
	color: white;
	position: absolute;
	left: 0px;
	top: 230px;
	width: 100%;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}
.box-menu .box-menu-text .box-menu-title {
	font-size: 20px;
	padding-top: 15px;
	padding-bottom: 20px;
}
.box-menu .box-menu-text .box-menu-title .en {
	font-size: 10px;
	display: block;
	padding-top: 15px;
}
.box-menu .box-menu-text .box-menu-content {
	line-height: 2em;
	text-align: center;

	font-size: 12px;
	display: none;
}

.box {
	border-radius: 8px;
}
.box .box-title {
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	color: white;
	font-size: 20px;
	position: relative;
}
.box .box-title > .en {
	font-size: 10px;
	color: white;
	font-weight: normal;
	padding-left: 20px;
}
.box .box-title .btn {
	background: white;
	border-bottom: 2px solid #dcdcdc;
	position: absolute;
	top: 25px;
	right: 30px;
}
.box .box-title .btn a {
	color: white;
	width: 80px;
}
.box .box-inner {
	box-sizing: border-box;
	padding: 30px 20px;
}
.box-left {
	width: 470px;
	float: left;
}
.box-right {
	width: 470px;
	float: right;
}

.box-red .box-title {
	background: #ed7583;
	padding: 28px 35px;
}
.box-red .btn-detail {
	
}
.box-red .btn a {
	color: #ed7583 !important;
}
.box-red .box-inner {
	background: #fdf1f2;
}

.box-blue .box-title {
	background: #459ab5;
	padding: 28px 35px;
}
.box-blue .btn-detail {
	
}
.box-blue .btn a {
	color: #ed7583 !important;
}
.box-blue .box-inner {
	background: #eff9fb;
}


.main-news .box-inner {
	height: 260px;
	
}
.main-about .box-inner {
	height: 260px;	
}

.list-news {
	
}
.list-news > li {
	border-bottom: 1px solid #fbe3e5;
}
.news {
	padding: 15px;
}
.news .news-time {
	display: inline-block;
	font-size: 14px;
	padding-right: 24px;
}
.news .news-title {
	display: inline-block;
	font-size: 14px;
}

.list-nursing {
	
}
.list-nursing > li {
	float: left;
	width: 200px;
	margin-right: 23px;
	background: url(../img/bullet-about.png) left center no-repeat;
	padding: 15px 20px;
	border-bottom: 1px solid #dff3f7;
	box-sizing: border-box;
	font-size: 13px;
}
.list-nursing > li:nth-child(2n) {
	margin-right: 0;	
}

.box-purple .box-title {
	background: #9a8dc7;
	padding: 28px 35px;
}
.box-purple .btn-detail {
	
}
.box-purple .btn a {
	color: #ed7583 !important;
}
.box-purple .box-inner {
	background: #f5f3fd;
}
.box-purple .btn-detail a {
	color: #9a8dc7 !important;
}

.main-blog {
	margin: 70px auto;
}

.list-blog {
	width: 898px;
	margin: 0 auto;
}
.list-blog > li {
	float: left;
	width: 200px;
	margin-right: 32px;
}
.list-blog > li:nth-child(4n) {
	margin-right: 0;	
}

.blog {
	
}
.blog > a {
	
}
.blog .blog-pic {
	
}
.blog .blog-text {
	text-align: center;
}
.blog .blog-time {
	padding: 15px 0;
	display: block;
}
.blog .blog-title {
	
}