/* CSS Document */




/*============================================================================

	header

============================================================================*/
#header{
	position: absolute;
	width:100%;
    height: 80px;
	background: #FFF;
    display: flex;
    align-items: center;
    z-index: 999;
}
@media screen and (max-width:640px) {
}

/*------------------------------ h1 ロゴ ------------------------------*/
header h1{
	position: relative;
	padding-left: 5%;
	margin-right: auto;
}
header h1 img{
	width:auto;
	height: 70px;
}
@media screen and (max-width:1400px) {
	header h1{
		padding-left: 2%;
	}
	header h1 img{
		height: 60px;
	}
}

/*------------------------------ 電話番号とお問い合わせ ------------------------------*/
#header_contact {
    display: flex;
    align-items: center;
    height: 100%;
}
#h_tel {
    width: 200px;
    background-color: #f0f0f0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#h_contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #152f69;
    color: #fff;
    height: 100%;
    width: 160px;
    transition: ease-out 0.3s;
}
#h_contact em {
	position: relative;
	top: 4px;
}
@media screen and (max-width:1400px) {
	#h_tel {
		width: 160px;
		box-sizing: border-box;
		padding: 0 5%;
	}
	#h_tel em img {
		max-width: 100%;
	}
	#h_contact {
		width: 120px;
		font-size: 14px;
	}
	#h_contact em {
		top: 7px;
	}
}


#h_tel:hover {
	background: #b8d2db;
}
#h_contact:hover {
	background: #42a0be;
}





/*============================================================================

	nav

============================================================================*/
nav {
	position: relative;
}
nav ul{
	margin-right: 20px;
	text-align: center;
}
nav li {
	position:relative;
	display: inline-block;
	margin: 0 12px;
}
nav li a {
	position:relative;
	display: block;
	font-size: 14px;
	font-weight: 500;
}
@media screen and (max-width:1400px) {
	nav li {
		margin: 0 9px;
	}
}



/*------------------------------ ホバーのボーダー ------------------------------*/
nav li a::before{
    position: absolute;
	left: 0;
	right:0;
	bottom: -5px;
	width:100%;
	height: 1px;
	margin:auto;
	background-color: #42a0be;
	transition: 0.15s  ease-out;
	transform: scaleX(0);
	content: "";
	z-index: 1;
}
nav li a:hover::before{
	transform: scaleX(1);
}



/*------------------------------ PC＊スクロール後設定 ------------------------------*/
#header.HeightMin{
	position: fixed;
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from { opacity: 0; transform: translateY(-170px);}
  to { opacity: 1; transform: translateY(0);}
}









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


/*============================================================================

	header

============================================================================*/
#header {
	display:none;
}



/*------------------------------ ロゴ ------------------------------*/
#sp_header_logo {
	position: absolute;
	width: 210px;
	padding-top: 10px;
	margin-left: 20px
}
#sp_header_logo img {
	position: relative;
	width: 100%;
	z-index: 999;
}



/*============================================================================

	navi

============================================================================*/
nav{
	display:none;
}
.ham_nav {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:65px;
	background: #FFF;
	box-sizing: border-box;
	border-bottom: 1px solid #eee;
	z-index: 9998;
}
.ham_nav dl{
}
.ham_nav dl dt {
	cursor:pointer;
}
.ham_nav dl dd {
	position: fixed;
	right: -100%;
	width: 100%;
	height: 1000px;
	background: rgba(194,223,234,.5);
	transition: all 0.5s ease-in-out;
	z-index: 9999;
}
.ham_nav dl dd.active {
	right: 0%;
}
.ham_nav ul{
	position: absolute;
	right: -100%;
	width: 85%;
	min-width: 300px;
	height: 1000px;
	padding-top: 70px;
	background: #f7f7f7;
	transition: all 0.5s ease-in-out;
	z-index: 99999;
}
.ham_nav ul.active {
	right: 0%;
}
.ham_nav ul li {
	position: relative;
	line-height:2.8;
}
.ham_nav ul li::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 30px;
    margin-top: -4px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #3a7f95; 
    border-right: 2px solid #3a7f95;
    transform: rotate(45deg); 
    z-index: 1;
}
.ham_nav ul li:last-of-type::before {
    display: none;
}
.ham_nav ul li a {
	display: block;
    border-bottom: 1px solid #eee;
    padding: 12px 0 12px 55px;
    line-height: 1.5;
}
	
/*------------------------------ btn　お問い合わせ ------------------------------*/
.ham_nav li:last-of-type a {
	position: relative;
	display: block;
	width: 80%;
	height: 50px;
	margin: 25px auto 0;
	padding: 0;
	background: #152f69;
	color: #FFF;
	text-align: center;
	line-height: 45px;
	box-sizing: border-box;
	border: 1px solid #152f69;
	border-radius: 5px;
	transition: ease .2s;
}

.ham_nav li:last-of-type a span {
	position: relative;
	z-index: 3;
}
.ham_nav li:last-of-type a i {
	display: inline-block;
	width: 15px;
	line-height: 1;
	margin-right: 10px;
}
.ham_nav ul li:last-of-type::before {
	display: none;
}
	
	

/*------------------------------ ハンバーガー ------------------------------*/
.ham_nav dt a {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 65px;
    height: 65px;
    background: #f2f2f2;
    z-index: 9999999;
}
.ham_nav dt a span {
    position: absolute;
    display: block;
    left: 20px;
    width: 25px;
    height: 2px;
    background: #222;
    transition: all 0.4s;
}
.ham_nav dt a span:nth-child(1) {
    top: 24px;
}
.ham_nav dt a span:nth-child(2) {
    top: 32px;
}
.ham_nav dt a span:nth-child(3) {
    top: 40px;
}
.ham_nav dt a.active span:nth-child(1) {
    top: 32px;
    transform: rotate(45deg);
}
.ham_nav dt a.active span:nth-child(2) {
    opacity: 0;
    left: -20px;
}
.ham_nav dt a.active span:nth-child(3) {
    top: 32px;
    transform: rotate(-45deg);
}
	

}






