@charset "utf-8";
/* CSS Document */


/* Reset
=========================================== */

* {
	margin:0px;
	padding:0px;
}

html,body {
	height:100%;
}

html {
    font-size: 62.5%;
}

body {
	font-size:1.6rem;
	line-height:1em;
	background: #fafafa;
	font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", helvecia,sans-serif,sans-serif;
	color:#333333;
	position:relative;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

img {
	border:none;
	vertical-align:bottom;
	width: 100%;
}

li { list-style-type:none; }

a {
	outline:none;
	font-style:normal;
}

strong {
	font-family:"ヒラギノ角ゴ ProN W6";
	font-weight:bold;
}

a:link ,
a:visited ,
a:hover ,
a:active {
	text-decoration:none;
}


.clearfix {
     zoom:1;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clear {
	clear: both;
}

.txtIndent {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;	
}


/* 改行設定
-------------------- */

/*

.pc-only_br  = PCのみ改行
.tab-only_br = タブレットのみ改行
.sp-only_br  = SPのみ改行

.pc-tab_br = PCとタブレットで改行
.tab-sp_br = タブレットとSPで改行

*/

.sp-only_br {
	display:none;
}

.tab-only_br {
	display:none;
}

.tab-sp_br {
	display: none;
}

@media screen and (max-width: 768px) {

	.pc-only_br {
		display:none;
	}

	.tab-only_br {
		display:inline;
	}

	.tab-sp_br {
		display: inline;
	}

}

@media screen and (max-width: 640px){

	.tab-only_br {
		display:none;
	}

	.sp-only_br {
		display:inline;
	}

	.pc-tab_br {
		display: none;
	}

}

/* 表示切り替え用 */

@media screen and (max-width: 640px){
	.only-tabpc {
		display: none !important;
	}
	.only-tab {
		display: none !important;
	}
}
@media screen and (min-width: 641px){
	.only-sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.only-pc {
		display: none !important;
	}
}
@media screen and (min-width: 769px) {
	.only-tab {
		display: none !important;
	}
}


/* module
=========================================== */

.mod-ttlBox {
	position: relative;
	margin-bottom: 20px;	
}

.mod-ttlBox_txt {
	background:url(../img/bg_pattern01.gif) repeat;
	background-size: 28px;
	color: #e50044;
	font-family: ヒラギノ丸ゴ W5 JIS2004;
	font-size:1.8rem;
	letter-spacing:1px;
	padding: 30px 40px;
	transform: rotate(0.028deg);
	-webkit-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
}

.mod-panList {
	position: absolute;
	right: 4%;
	top: 50%;
	margin-top:-0.5em;
	font-size: 1.2rem;
}

.mod-panList a {
	color: #e50044;
	text-decoration: underline;
}

.mod-panList a:hover {
	text-decoration: none;
}

@media screen and (max-width: 768px){

	.mod-ttlBox_txt {
		padding: 30px 4%;
		font-size:1.3rem;
	}

	.mod-panList {
		position: static;
		right: auto;
		top: auto;
		margin-top: auto;
		background: #fff9fa;
		padding:10px 0 10px 4%;
	}

}


/* layout
=========================================== */

#allWrap {
	margin:auto;
	max-width: 1280px;
	/*height: 100%;*/
	position: relative; 
	background: url(../img/bg_side.gif) no-repeat;
	-webkit-background-size: 240px 100%;
	background-size: 240px 100%;
}

.contents {
	padding: 20px 0 0 40px;
}

.mainCont {
	margin:0 40px 0 240px;
}

@media screen and (max-width: 1050px){

	#allWrap {
		background: none;
	}

	.contents {
		padding-left: 0;
		margin-top: 50px;
	}

	.mainCont {
		margin-left:50px;
		margin-right:50px; 
	}	

}

@media screen and (max-width: 768px){

	.mainCont {
		margin-left:30px;
		margin-right:30px; 
	}	

}

@media screen and (max-width: 640px){

	.contents {
		padding-top: 0;
	}

	.mainCont {
		margin-left:0;
		margin-right:0; 
	}	

}


/* sec_loading
=========================================== */

#sec_loading {
	background: #FFF;
	width: 100%;
	height: 100%;
	position: fixed;
	text-align: center;
	top: 0;
	left: 0;
	z-index: 9999;
}

.loading_logo {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin:-68px 0 0 -110px;
	width: 220px;
	text-align: center;
	display: none;
}

@media screen and (max-width: 768px){

	.loading_logo {
		margin:-12% 0 0 -15%;
	}

}

@media screen and (max-width: 640px){

	.loading_logo {
		margin:-20% 0 0 -25%;
		width: 50%;
	}

}


/* sec_nav
=========================================== */

#sec_nav {
	width: 240px;
	/*height: 100%;*/
	position: absolute;
	z-index: 9998;
	left: 0;
	top: 0;
	background: #e50044;
	color: #FFF;
}

.nav_ttl {
	width: 186px;
	height: 104px;
	margin:55px auto 60px auto;
	background: url(../img/nav_logo_pc.png) no-repeat center center #e50044;
	background-size: 100% 100%;
}

.nav_ttl a {
	display: block;
	width: 100%;
	height: 100%;
}

.nav_menuBtn {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	background: #cf003e;
	text-align: center;
	font-size: 2.4rem;
}

.nav_menuBtn_line {
	display:block;
	width:26px;
	height:2px;
	background:#FFF;
	margin:auto;
}

.nav_menuBtn_line + .nav_menuBtn_line  {
	margin-top:6px;
}

.nav_menuBtn.close .navLine1 {
	width:26px;
	transform:rotate(45deg);
	-webkit-transform: rotate(45deg);
	margin-top:10px;
}

.nav_menuBtn.close .navLine2 {
	display:none;
}

.nav_menuBtn.close .navLine3 {
	width:26px;
	transform:rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	margin-top:-2px !important;
}

.nav_cont {
	background: #e50044;
}

.nav_list {
	margin:0 10px 70px 10px; 
}

.nav_list li {
	position: relative;
}

.nav_list li :before {
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	position: absolute;
	left: 10px;
	top: 15px;
}

.nav_list li + li {
	margin-top: 5px;
}

.nav_list li a {
	color: #FFF;
	display: block;
	font-size: 1.4rem;
	background: #cf003e;
	padding:10px 10px 10px 25px;
	border-radius: 4px;
	font-family: ヒラギノ丸ゴ W4 JIS2004;
	transform: rotate(0.028deg);
	-webkit-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	transition-property: all;
	transition-duration: 0.3s;    
	-moz-transition-property: all;
	-moz-transition-duration: 0.3s;
	-webkit-transition-property:all;
	-webkit-transition-duration:  0.3s;
	-ms-transition-property: all;
	-ms-transition-duration:  0.3s;	
}

.nav_list li span {
	font-size: 0.8em;
}

.nav_list li a:hover {
	background: #e43758;
}

.nav_contact {
	margin:0 20px 40px 20px; 
	font-family: ヒラギノ丸ゴ W6 JIS2004;
	-webkit-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}

.nav_contact dt {
	font-size: 1.3rem;
}

.nav_contact dd {
	border-top:1px solid #FFF;
	margin-top: 10px;
	padding-top: 10px;
}

.nav_contact .tel {
	font-size: 1.9rem;
	display: block;
}

.nav_contact .fax {
	font-size: 1.6rem;
	display: block;
	padding-top: 8px;
}

.nav_contact .time {
	font-size: 1.4rem;
}

.nav_recruit {
	margin:0 20px 40px 20px; 
	font-family: ヒラギノ丸ゴ W6 JIS2004;
	-webkit-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
.nav_recruit dt {
	font-size: 1.3rem;
}
.nav_recruit dd {
	border-top:1px solid #FFF;
	margin-top: 10px;
	padding-top: 10px;
	font-size: 1.4rem;
	line-height: 1.5;
}

.nav_bnr {
	margin: 0 20px;
}

.nav_bnr a:hover {
	-moz-opacity: 0.90;
	opacity: 0.90;
	-ms-filter: "alpha(opacity=90)";
}

@media screen and (max-width: 1050px){

	#sec_nav {
		width: 100%;
		height: 50px;
		position: fixed;
		z-index: 9998;
	}

	.nav_ttl {
		margin-top:8px;
		margin-bottom:0;
		width: 186px;
		height: 31px;
		overflow: hidden;
		background: url(../img/nav_logo_tab.png) no-repeat center center #e50044;
		background-size: 100% auto;
	}

	.nav_menuBtn {
		display: block;
		width: 50px;
		height: 35px;
		padding-top: 15px;
		cursor: pointer;
	}

	.nav_cont {
		display: none;
		padding-top: 20px;
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 50px;
		box-sizing: border-box;
	}

	.nav_cont_inner {
		overflow: auto;
		padding-bottom: 130px;
		-webkit-overflow-scrolling: touch;
		height: 100%;
		box-sizing: border-box;
	}

	.nav_list {
		margin-bottom:0; 
	}	

	.nav_contact {
		margin-top: 30px;
		margin-bottom:30px;
	}

	.nav_recruit {
		margin-bottom: 0;
	}

	.nav_bnr {
		width: calc(100% - 40px);
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
	}	
	
}

@media screen and (max-width: 640px){

	.nav_ttl {
		margin-left: 2%;
	}

}


/* sec_medicalMenu
=========================================== */

#sec_medicalMenu {
}

.medicalMenu_list {
	width: 92%;
	margin:20px 0 1% 4.5%;
	zoom:1;
}

.medicalMenu_list:after {
    content: "";
    display: block;
    clear: both;
}

.medicalMenu_list li {
	float: left;
	width: 24%;
	margin:0 1% 1% 0;
}

.medicalMenu_list li a:hover {
	-moz-opacity: 0.70;
	opacity: 0.70;
	-ms-filter: "alpha(opacity=70)";
}

@media screen and (max-width: 1050px){

	.medicalMenu_list li {
		width: 24%;
		margin:0 1% 1% 0;
	}

}

@media screen and (max-width: 640px){

	.medicalMenu_list {
		margin-bottom:4%;
	}

	.medicalMenu_list li {
		float: left;
		width: 48%;
		margin:0 2% 2% 0;
	}

}


/* sec_footer
=========================================== */

#sec_footer {
	margin:70px 0 0 200px;
	padding:0 40px 80px 35px;
	background: #FFF;
	border-top: 2px solid #ed0f2d;
	overflow: hidden;
	text-align: center;
}

.footer_txt {
	float: left;
	text-align: left;	
}

.footer_nav {
	float: right;
}

.footer_logo {
	width: 258px;
	padding:30px 0 20px 0;
}

.footer_address {
	font-size: 1.3rem;
	padding:0 0 10px 0;
}

.footer_contact {
	font-family: ヒラギノ丸ゴ W6 JIS2004;
	-webkit-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	transform: rotate(0.028deg);	
}

.footer_contact .tel {
	font-size: 2.4rem;
	padding:0 0.3em 0 0;
}

.footer_contact .fax {
	font-size: 1.4rem;
}

.footer_nav {
	padding-top: 70px;
	font-size: 1.3rem;
}

.footer_nav_list {
	padding-bottom: 40px;
	overflow: hidden;
}

.footer_nav_list li {
	float: left;
	position: relative;
}

.footer_nav_list li:before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	position: absolute;
	left: 0px;
	top: 4px;
}

.footer_nav_list li + li {
	margin-left: 45px;
}

.footer_nav_list a {
	color: #333333;
	font-size: 1.3rem;
	padding-left: 15px;
}

.footer_nav_list a:hover {
	text-decoration: underline;
}

.footer_copyright {
	color: #bababa;
	font-size: 1.2rem;
	text-align: right;
}

@media screen and (max-width: 1050px){

	#sec_footer {
		margin-left:auto;
	}

}

@media screen and (max-width: 768px){

	#sec_footer {
		padding-bottom:40px;
		padding-left: 4%;
		padding-right: 4%;
	}

	.footer_txt {
		float: none;
		display: inline-block;
		text-align: center;
		padding-bottom: 30px;
	}

	.footer_nav {
		float: none;
		padding-top: 0;
	}

	.footer_nav_list {
		display: inline-block;
	}	

	.footer_nav_list li + li {
		margin-left: 25px;
	}

	.footer_copyright {
		text-align: center;
	}	

}

@media screen and (max-width: 640px){

	#sec_footer {
		margin-top:30px;
		padding-bottom:20px;
		background: none;
		border:none;
	}

	.footer_txt {
		padding-bottom: 20px;
	}	

	.footer_logo {
		width: 68%;
		margin-left: auto;
		margin-right: auto;
		padding-top: 0;
	}

	.footer_address {
		font-size: 1.2rem;
	}	

	.footer_nav_list {
		padding-bottom: 15px;
	}

	.footer_nav_list a {
		font-size: 1.2rem;
	}	

	.footer_contact .tel {
		display: block;
		padding-right:0;
		padding-bottom: 10px;
		font-size: 2.0rem;
	}

	.footer_contact .fax {
		display: block;
	}

	.footer_address {
		padding-bottom:15px;
	}

	.footer_copyright {
		font-size: 1.1rem;
	}

}
