@charset "utf-8";

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

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:none!important;}
.sp{display:block!important;}


/*Contents layout
----------------------------------------------------*/
header:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}


/*header
----------------------------------------------------*/
header{
	position:fixed;
	height:85px;
}

header .ttl_logo{
	float:none;
	width:220px;
	margin:0;
	padding:26px 0 0 0;
}

header .ttl_logo img{
	width:100%;
	height:auto;
}

header .box_right{
	position:fixed;
	left:0;
	bottom:0;
	width:100%;
	padding:3% 3% 1.5% 3%;
    background-color:rgba(255,255,255,0.85);
	border-top:1px solid #305FA9;
}

header .box_right p{
	float:none;
	width:8.5em;
	margin:0 auto;
	padding-left:38px;
	background:url(../img/icon_tel.png) no-repeat left bottom;
	background-size:contain;
	font-size:30px;
	line-height:0.75;
}

header .box_right span{
	float:none;
	text-align:center;
}

.menu-container{
	position:absolute;
	top:0;
}

.menu-container .menu{
	width:100%;
	margin:0 auto;
}


/*navigation
----------------------------------------------------*/

/*icon
-----------------------------------*/
.menu-mobile{
	position:fixed;
	top:28px;
	right:10px;
	z-index:999;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  /*position: relative;
  width: 50px;
  height: 44px;*/
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #06407F;
  border-radius: 0px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 10px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}


/*navi
-----------------------------------*/
.menu > ul {
	position:absolute;
	top:-2000px;
	height: 100vh;
	overflow:auto;
	overflow-y:scroll;
    background-color:rgba(12,67,154,0.85);
	z-index:99;
}

.menu-container {
	width: 100%;
}
.menu-mobile {
	display: block;
}
.menu-dropdown-icon > a{
	padding-left:74px!important;
}

.menu-dropdown-icon:before {
	content:url(../img/common/icon_ar_nav.png);
	display: none;
	cursor: pointer;
	float: right;
	padding: 1.2em 2em 0 2em;
	background: #fff;
	color: #333;
}	

.menu-dropdown-icon:before {
	display: block;
}

.menu > ul.show-on-mobile{
	top:0;
}

.menu > ul {
  -webkit-transition: 1s;
  -moz-transition: 1s;
  -ms-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}

.menu > ul > li {
	float: none;
	width: 100%;
	border-bottom:1px solid #9B9B9B;
	border-left:0!important;
	border-right:0;
	background:#FFF;
	display:block;
	/*display: none;*/
}

.menu > ul > li:nth-of-type(1){
	padding-top:10px
}

.menu > ul > li a {
	width: 100%;
	padding: 1.5em;
	color:#333;
	display: block;
}


/*mainImage
----------------------------------------------------*/
#slider {
	position:relative;
	top:0;
	height:auto;
	margin-bottom:0;
}

.mask{
	height:auto;
	padding-top:50px;
}

.mask p{
	width:80%;
	margin:0 auto;
	text-align:center;
}

.mask p.ttl{
	margin-bottom:10px;
	font-size:24px;
	line-height:1.2;
	text-align:center;
}

.mask p a{
	padding:2px 20px;
	font-size:16px;
}

.mainImage .mask .contents{
	font-size:32px;
}

.toppage .mask{
	position:relative;
	top:300px;
	margin-bottom:40px;
	padding:15px 0;
}

.toppage .mask .contents{
	font-size:16px;
}


/*contents
----------------------------------------------------*/
#wrapper{
	padding-top:40px;
}

.contents{
	position:relative;
	width:94%;
	margin:0 auto;
}


/*top
----------------------------------------------------*/
.mainImage{
	position:relative;
	width:100%;
	height:300px;
}

.mainImage .mask{
	padding:15px 3%;
	font-size:18px;
	text-align:center;
}

.mainImage .mask span{
	padding-left:1em;
	font-size:20px;
	text-align:center;
	display:block;
}

.main{
	float:none;
	width:100%;
	padding-top:10em;
}

.box_news dl dt,
.box_news dl dd{
	float:none;
	width:100%;
}

.side{
	position:relative;
	top:0;
	right:0;
	width:106%;
	margin-left:-3%;
	padding:5% 3% 10% 3%;
}

.side h2{
	font-size:20px;
}

.side p{
	font-size:14px;
}

.side iframe{
	width:100%;
	height:250px;
}

#sec02 {
    padding: 30px 0 1px 0;
}

#sec02 dl{
	float:none;
	width:100%;
	margin-bottom:30px;
}

#sec02 dl dt img{
	width:100%;
	max-width:200px;
	height:auto;
	margin:0 auto;
}

#sec03{
	padding:30px 0;
}

#sec03 ul{
	width:100%;
}

#sec03 ul li{
	width:100%;
}

#sec03 ul li:nth-of-type(1){
	float:none;
	margin-bottom:30px;
}

#sec03 ul li:nth-of-type(2){
	float:none;
}


/*common
----------------------------------------------------*/
#wrapper_contents h2{
	margin-bottom:8vw;
	font-size:6vw;
}

#wrapper_contents h2 div{
	margin-bottom:2vw;
	font-size:3.4vw;
}

.kakomi{
	padding:20px;
}

.kakomi .box_left{
	float:none;
	width:100%;
	margin-bottom:20px;
}

.kakomi .box_right{
	float:none;
	width:100%;
}


/*about
----------------------------------------------------*/
.mainImage.main_about{
	height:250px;
	margin-bottom:50px;
	background:url(../img/mainImage_about.jpg) no-repeat center;
	background-size:cover;
}

.box_time{
	border:1px solid #CCC;
}

.box_time .box_left{
	float:none;
	width:100%;
	padding:20px 20px 0 20px;
	border-right:0;
}

.box_time .box_right{
	float:none;
	width:100%;
	padding:20px;
}

.box_about{
	width:100%;
}

.box_about dl{
	/*float:left;
	width:46%;
	margin:0 2% 6% 2%;*/
	float:none;
	width:100%;
	margin-bottom:6%;
}

.box_about dl dt{
	/*width:100%;
	height:auto;*/
	width:150px;
	height:150px;
	margin:0 auto;
	padding:45px 0;
	border-radius:100%;
	background:#CCCC33;
	font-size:22px;
}

.box_about dl:nth-of-type(1) dt{background:#E18A14;}
.box_about dl:nth-of-type(2) dt{background:#B5111E;}
.box_about dl:nth-of-type(3) dt{background:#DC84A9;}
.box_about dl:nth-of-type(4) dt{background:#628F3D;}

.box_about dl dd{
	padding:10px 0 0 0;
	text-align:center;
	display:block;
}

.box_about_facility dl{
	float:left;
	width:46%;
	margin:0 2% 4% 2%;
}

.box_about_facility dl:nth-child(3),
.box_about_facility dl:nth-child(5){
	clear:left;
}

.box_about_facility dl:nth-child(4){
	clear:right;
}

.box_about_facility dl dd span{
	padding:10px 3%;
	text-align:center;
}

/*medical
----------------------------------------------------*/
.mainImage.main_medical{
	height:250px;
	margin-bottom:50px;
	background:url(../img/mainImage_medical.jpg) no-repeat center;
	background-size:cover;
}

.box_medical_sub ul li{
	margin:0 auto 10px auto!important;
	display:block;
}

.box_medical_sub ul li a{
	width:100%;
	padding:15px;
}

.ttl_medical {
	margin:-180px auto 20px auto!important;
}

.box_medical01{
	margin-bottom:80px;
	padding:100px 20px 20px 20px;
}

.box_medical02{
	margin-bottom:80px;
	padding:100px 20px 20px 20px;
}

.box_medical03{
	margin-bottom:50px;
	padding:100px 20px 20px 20px;
}

#med01,
#med02,
#med03{
	margin-top:-160px;
	padding-top:160px;
}


/*first
----------------------------------------------------*/
.mainImage.main_first{
	height:250px;
	margin-bottom:50px;
	background:url(../img/mainImage_first.jpg) no-repeat center;
	background-size:cover;
}


/*doctor
----------------------------------------------------*/
.mainImage.main_doctor{
	height:250px;
	margin-bottom:50px;
	background:url(../img/mainImage_doctor.jpg) no-repeat center;
	background-size:cover;
}

.box_doctor .box_left{
	float:none;
	width:100%;
	margin-bottom:20px;
}

.box_doctor .box_right{
	float:none;
	width:100%;
}


/*access
----------------------------------------------------*/
.mainImage.main_access{
	height:250px;
	margin-bottom:50px;
	background:url(../img/mainImage.jpg) no-repeat center;
	background-size:cover;
}

.ttl_tel{
	font-size:36px;
	line-height:1.0;
}

.ttl_tel img{
	margin:0 auto 10px auto;
	vertical-align:baseline;
	display:block;
}

.box_map{
	width:100%;
	height:400px;
}

.box_map iframe{
	width:100%;
	height:400px;
}


/*recruit
----------------------------------------------------*/
#wrapper_contents .ttl04{
    margin-bottom: 4vw;
    padding-bottom: 4vw;
}

.box_subnav ul{
	width:90%;
	margin:0 auto;
	border-top:1px solid #CCC;
}

.box_subnav ul li{
	margin:0 auto 4vw auto!important;
	display:block;
}

.box_subnav ul li a{
	padding:2vw 0;
}

.fontL{
	font-size: 8vw;
}

.box_recruit_ph{
	margin-bottom:6vw;
}

.h4_recruit{
	font-size: 4vw;
}

.box_spot{
	padding:3vw;
}

.box_spot .box_left{
	float:none;
	width:100%;
	margin-bottom:6vw;
}

.box_spot .box_right{
	float:none;
	width:100%;
}

.box_spot h5{
	font-size:4vw;
}

.ttl_close{
	width:90%;
	margin:8vw auto 10vw auto;
	padding:6vw;
	font-size: 4vw;
}









/*blog
----------------------------------------------------*/
.box_blog{
	float:none;
	width:100%;
	margin-bottom:40px;
}

.box_blog_side{
	float:none;
	width:100%;
	padding:15px;
}


/*footer
----------------------------------------------------*/
.box_bana{
	width:94%;
	margin:0 auto 12vw auto;
}

.box_bana img{
	width:100%;
	height:auto;
}

.box_footer{
	width:100%;
}

.box_footer span{
	float:none;
	width:94%;
	margin:0 auto;
	padding:0;
	text-align:center;
	display:block;
}

footer h2{
	float:none;
	width:94%;
}

footer h2 img{
	width:100%;
	max-width:260px;
	margin-bottom:15px;
}

footer .box_link{
	display:none;
}

footer .copyright{
	padding:20px 0 85px 0;
	background:#0C439A;
	color:#FFF;
	text-align:center;
	font-size:12px;
}


/*page top
----------------------------------------------------*/
#page-top{
	display:none!important;
}


}

