@CHARSET "UTF-8";

a{text-decoration:none!important;color:inherit;}
ul{list-style:none;padding:0;}
img{height:auto;max-width:100%;}
p,th,td,li,dt,dd,a,figcaption{line-height:2;}
p{margin:0 0 20px;}
p:last-of-type{margin:0;}

/* HEADER */
.site-header{
	background-color:#53C5BE;
	position:fixed;
	top:0;
	left:0;
	z-index:99;
	width:100%;
	font-family:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;}
.site-header a{
	text-decoration:none;}
.header-inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	max-width:1200px;
	width:calc(100% - 40px);
	margin:0 auto;
	height:80px;}
.site-header .logo{
	margin:0;
	line-height:0;}
.main-nav{
	gap:30px;
	display:flex;
	align-items:center;}
.nav-list{
	display:flex;
	gap:20px;
	margin:0;}
.nav-list a{
	font-weight:bold;
	position:relative;
	color:#FFF;}
.nav-list a::after{
	position:absolute;
	bottom:18px;
	content:"";
	display:block;
	height:3px;
	width:100%;
	background-color:transparent;
	-webkit-transition:all .3s ease 0s;
	-o-transition:all .3s ease 0s;
	transition:all .3s ease 0s;}
.nav-list a:hover::after{
	background-color:#FFF;}
.has-child{
	position:relative;}
.menu-parent{
	justify-content:space-between;
	justify-content:center;
	position:relative;
	width:100%;}
.nav-list .sub-menu{
	position:absolute;
	top:80px;
	left:-50%;
	min-width:220px;
	display:none;
	flex-direction:column;
	padding:0;}
.nav-list .sub-menu li a{
	background-color:#47a5b5;
	display:block;
	padding:10px;
	color:#FFF;
	height:auto;}
.nav-list .sub-menu li a:hover{
	background-color:#3b90ad;}
.nav-list .sub-menu li a:hover::after{
	display:none;}
.submenu-toggle{
	background:none;
	border:none;
	color:#FFF;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:25px;
	cursor:pointer;
	padding:10px;
	position:absolute;
	height:20px;
	width:20px;
	top:0;
	bottom:0;
	right:20px;
	margin:auto;}
.submenu-toggle::before{
	content:"+";}
.submenu-toggle.is-open::before{
	content:"−";}
.nav-buttons{
	display:flex;
	gap:12px;}
.headbtn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:12px 5rem 12px 2rem;
	font-weight:bold;
	text-align:center;
	color:#FFF;
	box-sizing:border-box;}
.headbtn::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:10px;
	margin:auto;
	width:30px;
	height:30px;
	background-repeat:no-repeat;
	background-image:url('../other/arrow.svg');}
.btn-blue{
	background-color:#55B9E2;}
.btn-green{
	background-color:#A2D700;}
.hamburger, .menu-close{
	display:none;}
@media only screen and (min-width:1024px){
	.site-header .logo{
		position:absolute;
		left:5em;}
	.main-nav{
		margin:0 0 0 auto;}
	.has-child:hover .sub-menu{
		display:flex;}
	.nav-list li a{
		height:80px;
		display:flex;
		align-items:center;}
	.submenu-toggle{
		display:none;}
}
@media only screen and (max-width:1023px){
	.site-header .logo img{
		width:auto;
		height:50px;}
	.header-inner{
		height:60px;}
	.hamburger{
		display:block;
		background:none;
		border:none;
		width:40px;
		height:40px;
		position:relative;
		cursor:pointer;
		padding:0;}
	.hamburger span{
		display:block;
		width:30px;
		height:2px;
		background-color:#FFF;
		margin:6px auto;}
	.main-nav{
		position:fixed;
		top:0;
		right:-100%;
		width:80%;
		height:100vh;
		background-color:#1791B8;
		z-index:100;
		transition:0.3s;
		padding:95px 0 60px;
		flex-direction:column;
		gap:0;}
	.main-nav.is-active{
		right:0;}
	.nav-list{
		flex-direction:column;
		text-align:center;
		gap:0;
		margin-bottom:30px;
		width:100%;}
	.nav-list a{
		font-size:18px;
		padding:10px;
		display:block;}
	.nav-list a::after{
		display:none;}
	.nav-buttons{
		flex-direction:column;
		width:100%;
		gap:15px;}
	.menu-close{
		display:block;
		position:absolute;
		width:55px;
		height:65px;
		top:20px;
		right:20px;
		background:rgba(255,255,255,0.3);
		border:none;
		color:#FFF;
		padding:5px;
		cursor:pointer;
		font-size:25px;}
	.menu-close small{
		font-size:12px;
		display:block;
		margin:0 0 2px;}
	.overlay.is-active{
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background:rgba(0,0,0,0.5);
		z-index:90;}
	.nav-list .sub-menu{
		display:none;
		position:static;
		background:none;
		padding:0;}
	.nav-list .sub-menu.is-open{
		display:block;}
	.nav-list .sub-menu li a{
		padding:10px;
		font-size:16px;
		background-color:#157caf;}
	.nav-list .sub-menu li a:hover{
		background-color:#1474a5;}
	.headbtn{
		width:calc(100% - 40px);
		margin:auto;}
}

/* FOOTER */
#footer{
	padding:50px 20px;
	position:relative;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;}
#footer::after{
	box-sizing:border-box;
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.5);}
#footer .inner{
	position:relative;
	z-index:1;}
.footer-container{
	color:#FFF;}
.footer-nav-area{
	max-width:520px;
	margin:auto;}
.footer-nav ul{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	max-width:240px;
	margin:auto;}
.footer-nav ul li a{
	font-weight:bold;}
.footer-nav ul li a:hover{
	color:#5dbce2;}
.footer-btns{
	margin:20px 0;}
.btn-green-sm,
.btn-blue-sm{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-left:auto;
	margin-right:auto;
	gap:10px;
	width:100%;
	height:64px;
	padding:0 30px 0 0;
	box-sizing:border-box;
	transition:0.3s;}
.btn-green-sm::after,
.btn-blue-sm::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:15px;
	margin:auto;
	width:30px;
	height:30px;
	background-repeat:no-repeat;
	background-image:url('../other/arrow.svg');}
.footer-btns .btn-green-sm:hover,
.footer-btns .btn-blue-sm:hover{
	color:#FFF!important;}
.footer-btns .btn-green-sm{
	margin-bottom:15px;
	background:#a6df00;}
.footer-btns .btn-green-sm:hover{
	background:#6ca400;}
.footer-btns .btn-blue-sm{
	background:#5dbce2;}
.footer-btns .btn-blue-sm:hover{
	background:#4285a0;}
.footer-sns a{
	display:block;
	width:240px;
	padding:15px 20px;
	transition:0.3s;
	border-top:1px solid #FFF;
	border-bottom:1px solid #FFF;
	margin:10px auto 50px;}
.footer-sns a:hover{
	background-color:rgba(255, 255, 255, 0.2);}
.footer-sns a .icon{
	display:flex;
	gap:10px;
	align-items:center;}
.footer-sns a .icon img,
.footer-btns .btn-green-sm img{
	width:26px;
	height:26px;
	margin:0;}
.footer-logo{
	text-align:center;}
.footer-txt{
	margin:20px 0 0;
	text-align:center;}
.footer-txt .address{
	margin:0 0 40px;}
.footer-txt .copyright{
	font-size:12px;}
@media only screen and (min-width:1024px){
	#footer{
		padding:95px 20px;
		position:relative;
		background-repeat:no-repeat;
		background-size:cover;
		background-position:center;}
	.footer-container{
		display:flex;
		flex-direction:row-reverse;
		justify-content:space-between;
		align-items:center;}
	.footer-nav-area{
		margin:0;}
	.footer-nav ul{
		display:flex;
		flex-wrap:wrap;
		gap:20px;
		max-width:none;}
	.footer-btns{
		display:flex;
		gap:20px;
		margin:15px 0;}
	.footer-logo{
		text-align:left;}
	.footer-txt{
		margin:35px 0 0;
		text-align:left;}
	.footer-txt .address{
		margin:0 0 60px;}
	.footer-sns a{
		margin:0;}
}
@media only screen and (max-width:1024px){
	#footer{
		background-position:center left 25%;
		background-size:250%;}
}