@charset "UTF-8";
/* CSS Document */
html { width: 100%;height: 100%;margin: 0;	padding: 0;} 
body{width:100%;height: 100%;margin:0;padding:0; -webkit-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;}
body.open_navigation{	position: fixed;height: 100vh;}

.mincho{font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}

.clearfix:after{content: "";clear: both;display: block;}
:hover{-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;-o-transition: all 0.3s ease;transition: all  0.3s ease;}

@media (min-width:1051px) {	
	header{height: 80px;}
	header .wrapper{width: 100%; height: 80px;position: fixed;top: 0;left: 0;background: white;z-index:9999}	
	header .wrapper h1{ position: fixed;top:0px;left:3%;width:20%;min-width: 250px;max-width: 350px;height: 80px;margin: 0;padding: 0;z-index:1;display: flex;align-items: center;font-size: 0}
	header .wrapper h1 img{width: 100%;margin: 0;padding: 0}
	header .wrapper h1 a:hover{opacity:0.5;}
	
	#nav_group{position: fixed;top:40px;right:5%;width:70%;margin: 0;padding: 0;z-index:1}
	#nav_group nav{display: flex;justify-content: flex-end;gap:0 2%}
	#nav_group nav a{display: block;margin: 0 0px;padding:0;text-decoration: none;color:black;font-size:clamp(14px, 0.8vw, 18px);letter-spacing: 1px;line-height: 1; font-weight: 600;}	
	#nav_group nav a:hover{color:#00b1b5;}	
	.button{display:none}	
}
@media (max-width: 1050px) {
	
	header{height: 80px;}	
	header .wrapper{width: 100%; height: 80px;position: fixed;top: 0;left: 0;background: white;z-index:9999}	
	
	header .wrapper h1{ position: fixed;top:0px;left:3%;width:50%;min-width:200px;max-width:350px;height: 80px;margin: 0;padding: 0;z-index:1;display: flex;align-items: center;font-size: 0;z-index:9999}
	header .wrapper h1 img{width: 100%;margin: 0;padding: 0}
	header .wrapper h1 a:hover{opacity:0.5;}
	
	.button{display:block;	position: fixed;	right:0;top:0px;width: 80px;height:80px;padding:0px;margin: 0;z-index: 9999;background:white} 	
	.button span {display:block;position: absolute;	height:2px;	background:#00b1b5;right:20%;	-webkit-transition: .35s ease-in-out;	-moz-transition: .35s ease-in-out;	transition: .35s ease-in-out;}
    .button span:nth-child(1) {	top:40%;width:60%;}
    .button span:nth-child(2) {	top:50%;width:60%;}
    .button span:nth-child(3) {	top:60%;width:60%;}    
	.button.open_navigation{z-index:999;}
	.button.open_navigation span{display:block;background:#a3cbcc;}
    .button.open_navigation span:nth-child(1) {width:50%;top: 50%;right: 20%;	-webkit-transform: rotate(45deg);	-moz-transform: rotate(45deg);	transform: rotate(45deg);}
    .button.open_navigation span:nth-child(2) {width: 0;	left: 50%;	 	}
    .button.open_navigation span:nth-child(3) {	width:50%;top:50%;right: 20%;	-webkit-transform: rotate(-45deg);	-moz-transform: rotate(-45deg);	transform: rotate(-45deg);}
	
	/*ID名から直書き*/
	#nav_group.open_navigation{	display: block;	animation-duration: 0.6s;	animation-name:button_open;z-index:1;}         
    @keyframes button_open{ from { opacity:0.1;}        to { opacity:1;}    }
	
	#nav_group{display: none;width: 100%;height:100vh;position:fixed;	top:80px;left: 0;background: rgba(000,000,000,0.5);}
	
	#nav_group .inner{position:fixed;	top:0px;left: 0;width:100%;height:75vh;margin:80px auto 0 auto;padding:0px 0 0 0;box-sizing: border-box;overflow-y: scroll;	-webkit-overflow-scrolling: touch;	overflow-scrolling: touch;}	
	#nav_group .inner nav a{position: relative;display:block;margin: 0 auto 0px auto;padding:30px 5%; text-decoration:none;color:white;font-size:clamp(14px, 1.2vw, 24px);letter-spacing:1px;font-weight:400;background:#00b1b5;border-top: 1px solid #a0d8d8;line-height: 1}
	#nav_group .inner nav a::after {content:'';position: absolute;top:50%;right:5%;transform: translateY(-50%);font: var(--fa-font-solid);content:'\f105';color: white;font-size:clamp(12px, 0.4vw, 16px);}
	#nav_group .inner nav a:hover::after {color:#d2ffe0}
	#nav_group .inner nav a:hover{background: #008989}			
}


/*フッター*/
footer{background: linear-gradient(90deg, #0044e8 0%, #00987f 100%);padding:3% 0;margin: 0 auto;}	
footer .inner{display: flex;justify-content: space-between;column-gap: 3%;width: 80%;min-width:1000px;margin: 0 auto;}
footer .inner .map_area{}
footer .inner .map_area .logo{width:20%;margin-bottom: 2%}
footer .inner .map_area .logo img{width:100%;}
footer .inner .map_area .list{display: flex;  justify-content: flex-start;  column-gap: 2%}
footer .inner .map_area .list a{ display: block;text-decoration: none;color: white;font-size:clamp(11px, 0.6vw, 14px);letter-spacing: 1px;line-height: 1; }
footer .inner .map_area .list a:first-of-type{position: relative;}
footer .inner .map_area .list a:first-of-type::before{position: absolute;content:'｜';left: 102%;top:50%;transform: translateY(-50%);}
footer .inner .map_area .list a:hover{color:#93EBEA;}

footer .inner small{margin:0;padding: 0;display: block;color: #e5dfe5;font-size:clamp(12px, 0.6vw, 14px);letter-spacing: 1px;line-height: 1; font-weight: 300}

@media (max-width: 1050px) {
	footer{padding:5% 0 120px 0;}
	footer .inner{display:inherit;width: 80%;min-width:inherit;margin: 0 auto;}
	footer .inner .map_area{margin-bottom:5%;}
	footer .inner .map_area .logo{width:30%;max-width: 150px;margin:0 auto 4% auto}
	footer .inner .map_area .list{display: flex;  justify-content:center;  column-gap: 2%}
	footer .inner .map_area .list a:first-of-type::before{position: absolute;content:'｜';left: 100%;top:50%;transform: translateY(-50%);}
	
	footer .inner small{margin:0;padding: 0;display: block;color: #e5dfe5;font-size:clamp(12px, 0.6vw, 14px);letter-spacing: 1px;line-height: 1; font-weight: 300;text-align: center}
}

/*追従CTA*/
#cta_fixed a{position:relative;z-index:0;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.2);display: block;text-decoration:none;color:white;line-height:1;box-sizing:border-box;border-bottom:6px solid #00b1b5;font-size:clamp(12px, 1.1vw, 16px);letter-spacing:0px;font-weight:600;}
#cta_fixed a.line{color: #363f39;border-bottom: 6px solid #62ed75}

#cta_fixed a.line:before{  content:"";  width:100%;  height:100%;  position:absolute;  z-index:-1;  top: 0;left:0;  transition:0.5s;background: linear-gradient(45deg, #c8ff60 0%, #89ff68 100%);color: #363f39}
#cta_fixed a.line:after{  content:"";  width:100%;  height:100%;  position:absolute;  z-index:-2; top: 0; left:0; background:linear-gradient(#ffffa2,#ebff5c);}
#cta_fixed a.line span{position: relative;}
#cta_fixed a.line span::before{position: absolute;top:50%;right: 105%;transform: translateY(-50%);content:'';background: url("../img/icon_line.png") no-repeat;background-position: 50% 50%;background-size:100% auto ;}

#cta_fixed a.consultation:before{  content:"";  width:100%;  height:100%;  position:absolute;  z-index:-1;  top: 0;left:0;transition:0.5s;background: linear-gradient(45deg, #0044e8 0%, #6556e2 100%);}
#cta_fixed a.consultation:after{  content:"";  width:100%;  height:100%;  position:absolute;  z-index:-2; top: 0; left:0; background:linear-gradient(#00006b,#2905a7);}
#cta_fixed a.consultation span{position: relative;}
#cta_fixed a.consultation span::before{position: absolute;top:50%;right: 105%;transform: translateY(-50%);font: var(--fa-font-solid);content:'\f4ad';}

#cta_fixed a:hover:before{  opacity:0;}

@media (min-width: 1301px) {	
	#cta_fixed{position:fixed;bottom:10%;/*transform: translateY(-50%);*/right: 0;width:15%;min-width: 150px;max-width: 270px;z-index: 9999}
	#cta_fixed a{padding: 20px 0px 20px 24%;border-radius:50px 0 0 50px}
	#cta_fixed a.line{margin-bottom:5%;}
	#cta_fixed a:before{border-radius:50px 0 0 50px}
	#cta_fixed a:after{border-radius: 50px 0 0 50px}
	
	#cta_fixed a.line span::before{width:25px;height: 100px;}
	#cta_fixed a.consultation span::before{font-size:18px;}
}

@media (max-width: 1300px) {
	/* この幅からCTAが画面下部の横並びバーになるため、フッターを底上げして重なりを防ぐ
	   （バー実高は約90px：ボタン62px＋上下パディング14px×2） */
	footer{padding-bottom:120px;}

	#cta_fixed{position:fixed;bottom: 0%;left: 0;width: 100%;background:rgba(2,0,35,0.2);padding:14px 0%;}
	#cta_fixed .inner{margin: 0 auto;display: flex;justify-content: space-between;}
	#cta_fixed a{display:block;padding: 20px 20px 20px 40px;width: 49%;border-radius: 100vmax;box-sizing: border-box;text-align: center}
	#cta_fixed a:before{border-radius: 100vmax}
	#cta_fixed a:after{border-radius:  100vmax}
	
	#cta_fixed a.line span::before{width:25px;height: 100px;}
	#cta_fixed a.consultation span::before{font-size:18px;}
}

@media screen and (min-width:701px) and ( max-width:1300px)  {		
	#cta_fixed .inner{width: 50%;min-width: 600px;}
	#cta_fixed a.line span::before{width:25px;height: 100px;}
	#cta_fixed a.consultation span::before{font-size:18px;}
}

@media (max-width: 700px) {	
	#cta_fixed .inner{width: 95%;}
	#cta_fixed a{padding: 20px 10px 20px 20px;}
	#cta_fixed a.line span::before{width:20px;height: 80px;}
	#cta_fixed a.consultation span::before{font-size:14px;}
}
