/* ******************************************************************
 *	File name		: base.css
 *	Summary			: css base
 * ******************************************************************
 */
 

/* -----------------------------------------------------------------
   base
----------------------------------------------------------------- */

body{
	position:relative;
	width:100%;
	height:100%;
	line-height:145%;
	color:#222;
	}
	#wrapper{
		position:relative;
		width:100%;
		height:100%;
		text-align:center;
}

/* --- responsive --- */
@media screen and (max-width:1143px){
	body::before{
		left:20px;
		width:calc(100% - 40px);
		height:53.1vw;
	}
}
@media screen and (max-width:767px){
	body::before{
		top:auto;
		bottom:0px;
	}
	body.bg_copy::before{
		top:auto;
		bottom:calc(50% - 80px);
	}
}

@media print {
	body{
		margin:0;
		width:1100px;
	}
}

/* 外部リンク（新しいタブで開くリンク）にアイコンを付与 */
#main_contents a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 1em;   /* アイコンのサイズ */
	height: 1em;
	margin-left: 4px; /* テキストとの余白 */
	background: url("../../image/base/external-link.svg") no-repeat center center;
	background-size: contain;
}
#main_contents .access_btn a[target="_blank"]::after {
	background: url("../../image/base/external-link_wh.svg") no-repeat center center;
}

/* -----------------------------------------------------------------
   header
----------------------------------------------------------------- */

header{
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	height:120px;
	margin:0px;
	z-index:100;
	}
	header::before{
		content:" ";
		position:fixed;
		top:-80px;
		left:0px;
		width:100%;
		height:80px !important;
		background:#FFF;
		opacity:0;
		transition-duration:0.5s;
		-moz-box-shadow:0px 0px 3px 3px rgba(0,0,0,0.2);
		-webkit-box-shadow:0px 0px 3px 3px rgba(0,0,0,0.2);
		box-shadow:0px 0px 3px 3px rgba(0,0,0,0.2);
	}
	#head_contents{
		position:relative;
		width:calc(100% - 80px);
		max-width:100%;
		height:100%;
		margin:0 auto;
		text-align:center;
		z-index:1;
	}
	header h1{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:absolute;
		top:23px;
		left:0px;
		width:317px;
		height:40px;
		text-align:left;
		color:#FFF;
		z-index:2;
		}
		header h1 a{
			display:-webkit-flex;
			display:flex;
			justify-content:center;
			align-items:center;
			height:100%;
		}
		header h1 a:hover{
			text-decoration:none;
}

/* nav */
header nav{
	position:absolute;
	top:15px;
	right:270px;
	height:50px;
	}
	header nav > ul{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:flex-end;
		flex-wrap:wrap;
		width:auto;
		max-width:100%;
		height:100%;
		list-style:none;
	}
	header nav > ul > li{
		display:inline-block;
		position:relative;
		margin:0 0 0 10px;
	}
	header nav > ul > li.sp_nav{
		display:none;
	}
	header nav > ul > li > a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:100%;
		height:100%;
		margin:0 auto;
		padding:0 13px;
		font-weight:500;
		font-size:0.9rem;
		text-decoration:none;
		text-align:center;
		color:#FFF;
		z-index:10;
	}
	header nav > ul > li:has(ul) > a{
		padding:0 23px 0 13px;
	}
	header nav > ul > li:has(ul) > a::before{
		content:" ";
		position:absolute;
		top:calc(50% - 10px);
		right:0px;
		width:10px;
		height:10px;
		border-bottom:1px solid #FFF;
		border-right:1px solid #FFF;
		transform:rotate(45deg);
		transition-duration:0.5s;
		z-index:100;
	}
	header nav > ul > li.active a,
	header nav > ul > li > a:hover{
		text-decoration:none;
		color:#00A0E9;
	}
	header nav > ul > li.active a::before,
	header nav > ul > li > a:hover::before{
		border-bottom:1px solid #00A0E9;
		border-right:1px solid #00A0E9;
	}
	header nav > ul > li > a::after{
		content:" ";
		position:absolute;
		left:50%;
		bottom:0px;
		width:0%;
		height:3px;
		background:#00A0E9;
		transition-duration:0.5s;
		transform:translate(-50%, 0);
	}
	header nav > ul > li.active > a::after,
	header nav > ul > li:hover > a::after{
		width:100%;
	}

	/* ul ul */
	header nav > ul > li > ul{
		position:absolute;
		top:100%;
		left:0px;
		min-width:100%;
		transition-duration:0.5s;
	}
	header nav > ul > li > ul > li{
		width:200px;
		height:0px;
		background:#FFF;
		overflow:hidden;
		transition-duration:0.5s;
	}
	header nav > ul > li:hover > ul{
		padding-top:10px;
	}
	header nav > ul > li:hover > ul > li{
		height:40px;
		}
		header nav > ul > li > ul > li a{
			display:-webkit-flex;
			display:flex;
			justify-content:flex-start;
			align-items:center;
			width:100%;
			height:100%;
			padding:0 10px;
			font-size:0.85rem;
			text-decoration:none;
			color:#000;
		}
		header nav > ul > li > ul > li a:hover{
			text-decoration:none;
			color:#00A0E9;
	}

/* other li */
header nav ul li#nav_top{
	display:none;
}

header #nav_reserve,
header #nav_contact{
	position:absolute;
	top:7px;
	width:120px;
	height:36px;
	}
	header #nav_reserve{
		right:-140px;
	}
	header #nav_contact{
		right:-260px;
	}
	header #nav_reserve a,
	header #nav_contact a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:100%;
		height:100%;
		font-weight:500;
		font-size:0.90rem;
		transition-duration:0.5s;
	}
	header #nav_reserve a{
		background:#FCEB52;
		color:#000;
	}
	header #nav_contact a{
		background:#000;
		color:#FFF;
	}
	header #nav_reserve a:hover,
	header #nav_contact a:hover{
		text-decoration:none;
		background:#00A0E9;
		color:#FFF;
}

/* --- responsive --- */
@media screen and (max-width:1100px){
}

/* -----------------------------------------------------------------
   h_slide
----------------------------------------------------------------- */

header.h_slide{
	position:fixed !important;
	top:0px;
	left:0px;
	width:100%;
	height:80px;
	}
	header.h_slide.open_menu::before,
	header.h_slide::before{
		top:0px;
		opacity:1;
	}
	header.h_slide h1{
		top:20px;
		background:url(../../image/base/logo_b.png) no-repeat left center;
		background-size:contain;
	}
	header.h_slide h1 img{
		opacity:0;
	}
	header.h_slide nav{
		position:absolute;
		top:0px;
		height:100%;
	}
	header.h_slide nav > ul > li > a{
		color:#000;
	}
	header.h_slide nav > ul > li.active > a,
	header.h_slide nav > ul > li > a:hover{
		color:#00ABEB;
	}
	header.h_slide nav > ul > li > a::after{
		background:#00ABEB;
	}

	header.h_slide nav > ul > li:has(ul) > a{
		padding:0 23px 0 13px;
	}
	header.h_slide nav > ul > li:has(ul) > a::before{
		border-bottom:1px solid #000;
		border-right:1px solid #000;
	}
	header.h_slide nav > ul > li:has(ul):hover > a::before{
		border-bottom:1px solid #00ABEB;
		border-right:1px solid #00ABEB;
	}

	header.h_slide #nav_reserve,
	header.h_slide #nav_contact{
		top:22px;
}

/* -----------------------------------------------------------------
   nav icon
----------------------------------------------------------------- */

#nav_icon{
	display:none;
	position:fixed;
	top:12px;
	right:20px;
	width:36px;
	height:36px;
	background:none;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	cursor:pointer;
	z-index:1000;
	}
	#nav_icon::before,
	#nav_icon::after{
		content:" ";
		position:absolute;
		left:4px;
		width:29px;
		height:1px;
		background:linear-gradient(90deg, #1455C5, #60A0DB);
		transition-duration:0.5s;
	}
	#nav_icon::before{
		top:12px;
	}
	#nav_icon::after{
		top:20px;
	}

/* sp open menu */
.open_menu #nav_icon::before,
.open_menu #nav_icon::after{
		left:4px;
	}
	.open_menu #nav_icon::before{
		top:16px;
		transform:rotate(-135deg) !important;
	}
	.open_menu #nav_icon::after{
		top:16px;
		transform:rotate(135deg) !important;
	}
	.open_menu #nav_icon span{
		left:50%;
		width:0px;
}

/* -----------------------------------------------------------------
   SP MENU
----------------------------------------------------------------- */
/* --- responsive --- */
@media only screen and (max-width:1140px){
	header{
		position:fixed;
		height:60px !important;
		z-index:999;
	}
	header::before,
	header.h_slide::before,
	header.open_menu::before{
		top:-20px !important;
		opacity:1 !important;
	}
	header #head_contents{
		height:60px;
	}
	header h1{
		position:absolute;
		top:10px !important;
		width:317px;
		height:40px;
		padding:0 0 0 0px;
		text-align:center;
		z-index:1000;
	}
	header h1{
		background:url(../../image/base/logo_b.png) no-repeat left center;
		background-size:contain;
	}
	header h1 img{
		opacity:0;
	}

	header #main_nav{
		position:fixed;
		top:60px;
		bottom:auto;
		left:auto;
		right:-100%;
		width:100%;
		height:100%;
		padding:20px 0;
		background:#F1F1F1;
		overflow-y:scroll;
		z-index:999;
		opacity:0.95;
		}
		header.open_menu #main_nav{
			right:0px;
			transition-duration:0.5s;
		}
		header.close_menu #main_nav{
			transition-duration:0.5s;
	}
	header nav{
		display:block;
		position:relative;
		height:auto;
		padding:0px;
	}
	header nav > ul{
		display:block;
		position:relative;
		width:100%;
		height:auto !important;
		margin:0 auto;
		padding:20px 20px 20px;
		}
		header nav > ul::after{
			content:" ";
			position:absolute;
			left:20px;
			bottom:30px;
			width:calc(100% - 40px);
			height:1px;
			background:rgba(0,0,0,0.2);
	}
	header nav > ul > li{
		position:relative !important;
		top:0px !important;
		left:auto !important;
		right:auto !important;
		width:100% !important;
		max-width:100% !important;
		margin:0 0 25px !important;
		text-align:center;
		color:#000;
		transition-duration:0.5s;
		background:none !important;
		border:none !important;
	}
	header nav > ul > li::before,
	header nav > ul > li::after{
		display:none;
	}
	header nav > ul > li.sp_nav{
		display:block;
	}
	header nav ul li a{
		display:block !important;
		position:relative !important;
		width:100% !important;
		height:100% !important;
		padding:8px !important;
		font-weight:500 !important;
		font-size:0.95rem !important;
		text-decoration:none;
		text-align:left !important;
		font-size:1.3rem !important;
		color:#000 !important;
		border:none !important;
		z-index:10;
		}
		header nav > ul > li:has(ul) > a:first-child{
			pointer-events:none;
		}
		header nav > ul > li.active a,
		header nav > ul > li > a:hover{
			background:none !important;
			color:#00ABEB !important;
		}
		header nav > ul > li > a::after{
			display:none;
	}

	#nav_icon{
		display:block;
	}

	header #nav_reserve,
	header #nav_contact{
		display:inline-block;
		position:relative !important;
		top:0px !important;
		right:0px !important;
		width:42%;
		height:36px;
		margin:0px -2px !important;
	}

	/* ul ul */
	header nav > ul > li > ul{
		position:relative !important;
		top:0px;
		padding:10px 0 10px 20px;
		border-left:2px solid #DDD;
	}
	header nav > ul > li > ul > li{
		width:100%;
		height:auto !important;
		padding:5px 0;
		background:none;
	}
	header nav > ul > li:hover > ul > li{
		height:auto;
		}
		header nav > ul > li > ul > li a{
			padding:2px !important;
			font-size:1.0rem !important;
	}

	header nav > ul > li:has(ul) > a{
		padding:0 23px 0 13px;
	}
	header nav > ul > li:has(ul) > a::before,
	header nav > ul > li:has(ul) > a::after,
	header.h_slide nav > ul > li:has(ul) > a::before,
	header.h_slide nav > ul > li:has(ul) > a::after,
	header.h_slide nav > ul > li:has(ul):hover > a::before,
	header.h_slide nav > ul > li:has(ul):hover > a::after{
		display:block;
		content:" " !important;
		position:absolute !important;
		top:calc(50% - 2px) !important;
		right:0px !important;
		width:20px;
		height:1px !important;
		border-bottom:none !important;
		border-right:none !important;
		transform:rotate(0deg);
		transition-duration:0.5s;
		background:#000 !important;
		z-index:100;
	}
	header nav > ul > li:has(ul) > a::after,
	header.h_slide nav > ul > li:has(ul) > a::after,
	header.h_slide nav > ul > li:has(ul):hover > a::after{
		width:20px !important;
		right:0px !important;
		left:auto !important;
		bottom:auto !important;
		transform:rotate(90deg) !important;
	}
	header nav > ul > li:has(ul).active > a::after,
	header.h_slide nav > ul > li:has(ul).active > a::after{
		width:0px !important;
		right:10px !important;
	}
}
@media only screen and (max-width:640px){
	header h1{
		top:10px !important;
		left:-20px !important;
		width:280px !important;
		height:40px !important;
		padding:0 0 0 0px !important;
	}
}

/* -----------------------------------------------------------------
   main
----------------------------------------------------------------- */

main{
	display:block;
	position:relative;
	margin-top:0px;
	padding:0px;
	width:100%;
	z-index:1;
}
#main_contents{
	position:relative;
	width:100%;
	max-width:100%;
	margin:0 auto;
	background:#FFF;
}

section{
	position:relative;
	width:100%;
	max-width:100%;
	margin:0 auto;
}
.contents{
	position:relative;
	width:1280px;
	max-width:100%;
	padding:50px 20px;
	margin:0 auto;
	}
	.contents.line{
		padding:80px 20px 50px;
	}
	.contents.line::before,
	.contents.line::after{
		content:" ";
		position:absolute;
		top:0px;
		left:20px;
		height:2px;
		}
		.contents.line::before{
			width:calc(100% - 40px);
			background:#EBF1F6;
			z-index:0;
		}
		.contents.line::after{
			width:80px;
			background:#00A0E9;
			z-index:1;

}

/* --- responsive --- */
@media screen and (max-width:767px){
	.contents.line{
		padding:50px 20px 30px;
	}
	.contents.line::before,
	.contents.line::after{
		left:20px;
		}
		.contents.line::before{
			width:calc(100% - 40px);
	}
}

/* -----------------------------------------------------------------
   footer
----------------------------------------------------------------- */

footer{
	position:relative;
	width:100%;
	margin:0px;
	background:#F1F1F1;
	text-align:left;
	z-index:10;
}
footer *{
}

footer #reserve_section{
	position:relative;
	width:100%;
	height:310px;
	background:#1354C5;
	}
	footer #reserve_section::before{
		content:" ";
		position:absolute;
		top:0px;
		left:0px;
		width:0%;
		height:100%;
		background:#00A0E9;
		transition-duration:0.4s;
		z-index:0;
		}
		footer #reserve_section:hover::before{
			width:100%;
	}
	footer #reserve_section *{
		z-index:10;
	}
	footer #reserve_section a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		color:#FFF;
		width:100%;
		height:100%;
		text-decoration:none;
		}
		footer #reserve_section a:hover{
			text-decoration:none;
		}
		footer #reserve_section a::after{
			content:" ";
			position:absolute;
			top:0px;
			left:0px;
			width:100%;
			height:100%;
			background:none;
			z-index:999;
	}
	footer #reserve_section a div{
		display:inline-block;
		text-align:center;
	}
	footer #reserve_section a h2{
		position:relative;
		margin:0 0 10px;
		padding:0 70px;
		font-size:5.0rem;
		line-height:1.0;
		}
		footer #reserve_section a h2::before,
		footer #reserve_section a h2::after{
			content:" ";
			position:absolute;
			transition-duration:0.5s;
		}
		footer #reserve_section a h2::before{
			top:calc(50%);
			right:15px;
			width:40px;
			height:1px;
			background:#FFF;
		}
		footer #reserve_section a h2::after{
			top:calc(50% - 15px);
			right:20px;
			width:30px;
			height:30px;
			border-top:1px solid #FFF;
			border-right:1px solid #FFF;
			transform:rotate(45deg);
	}

/* character */
#chara_box{
	position:absolute;
	top:0px;
	left:50%;
}
#c_01{
	position:absolute;
	top:-9px;
	left:calc(50% - 181px);
	width:50px;
	height:39px;
	background:url(../../image/base/chara/a_01.png) no-repeat 0 0;
	background-size:contain;
}
#c_01{
	position:absolute;
	top:-12px;
	left:calc(50% - 185px);
	width:50px;
	height:39px;
	background:url(../../image/base/chara/a_01.png) no-repeat 0 0;
	background-size:contain;
	}
	#c_01::before{
		content:" ";
		position:absolute;
		top:-80px;
		left:calc(50% - 43px);
		width:87px;
		height:177px;
		background:url(../../image/base/chara/a_02.png) no-repeat 0 0;
		background-size:contain;
}
#c_02{
	position:absolute;
	top:-14px;
	left:calc(50% - 68px);
	width:40px;
	height:40px;
	background:url(../../image/base/chara/b_01.png) no-repeat 0 0;
	background-size:contain;
	}
	#c_02::before{
		content:" ";
		position:absolute;
		top:-111px;
		left:calc(50% - 55px);
		width:111px;
		height:250px;
		background:url(../../image/base/chara/b_02.png) no-repeat 0 0;
		background-size:contain;
}
#c_03{
	position:absolute;
	top:-14px;
	left:calc(50% + 41px);
	width:50px;
	height:41px;
	background:url(../../image/base/chara/c_01.png) no-repeat 0 0;
	background-size:contain;
	}
	#c_03::before{
		content:" ";
		position:absolute;
		top:-81px;
		left:calc(50% - 44px);
		width:76px;
		height:206px;
		background:url(../../image/base/chara/c_02.png) no-repeat 0 0;
		background-size:contain;
}
#c_04{
	position:absolute;
	top:-9px;
	left:calc(50% + 126px);
	width:55px;
	height:35px;
	background:url(../../image/base/chara/d_01.png) no-repeat 0 0;
	background-size:contain;
	}
	#c_04::before{
		content:" ";
		position:absolute;
		top:-132px;
		left:calc(50% - 46px);
		width:91px;
		height:200px;
		background:url(../../image/base/chara/d_02.png) no-repeat 0 0;
		background-size:contain;
}

footer #reserve_section a + #chara_box #c_01::before,
footer #reserve_section a + #chara_box #c_02::before,
footer #reserve_section a + #chara_box #c_03::before,
footer #reserve_section a + #chara_box #c_04::before{
	animation:turn 2.0s linear 0s infinite;
}

@keyframes turn{
	0%   {transform:rotate(0deg);}
	25%  {transform:rotate(10deg);}
	50%  {transform:rotate(0deg);}
	75%  {transform:rotate(-10deg);}
	100% {transform:rotate(0deg);}
}

/* --- responsive --- */
@media screen and (max-width:1000px){
	footer #reserve_section a h2{
		padding:0 60px 0 20px;
		font-size:3.0rem;
		}
		footer #reserve_section a h2::before,
		footer #reserve_section a h2::after{
			content:" ";
			position:absolute;
			transition-duration:0.5s;
		}
		footer #reserve_section a h2::before{
			width:30px;
		}
		footer #reserve_section a h2::after{
			top:calc(50% - 10px);
			right:20px;
			width:20px;
			height:20px;
	}
	#chara_box{
		transform:scale(0.7,0.7);
	}
}

	footer #reserve_section a p{
		font-size:1.3rem;
	}

	footer #ft_recruit strong{
		display:block;
		margin:0 0 10px;
		font-size:2.5rem;
		line-height:1.5;
	}
	footer #ft_recruit #ft_recruit_btn{
		position:absolute;
		top:calc(50%);
		right:20px;
	}
	footer #ft_recruit #ft_recruit_btn a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:330px;
		min-height:55px;
		padding:0 50px;
		font-weight:bold;
		-moz-border-radius:2rem;
		-webkit-border-radius:2rem;
		border-radius:2rem;
		background:#FFF;
		color:#000;
		transition-duration:0.5s;
	}
	footer #ft_recruit #ft_recruit_btn a:hover{
		text-decoration:none;
		opacity:0.7;
	}
	footer #ft_recruit #ft_recruit_btn a::before,
	footer #ft_recruit #ft_recruit_btn a::after{
		content:" ";
		position:absolute;
		transition-duration:0.5s;
	}
	footer #ft_recruit #ft_recruit_btn a::before{
		top:calc(50%);
		right:20px;
		width:16px;
		height:1px;
		background:#000;
	}
	footer #ft_recruit #ft_recruit_btn a::after{
		top:calc(50% - 5px);
		right:20px;
		width:10px;
		height:10px;
		border-top:1px solid #000;
		border-right:1px solid #000;
		transform:rotate(45deg);
}

/* ft_banner */
footer #ft_banner{
	position:relative;
	width:1500px;
	max-width:100%;
	padding:50px 20px;
	margin:0 auto;
	}
	footer #ft_banner ul{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	footer #ft_banner ul li{
		width:220px;
		border:2px solid #FFF;
		transition-duration:0.5s;
	}
	footer #ft_banner ul li:hover{
		border:2px solid #1354C5;
}


/* --- responsive --- */
@media screen and (max-width:1360px){
	footer #ft_banner{
		position:relative;
		width:432px;
		max-width:100%;
		padding:50px 50px 20px;
	}
}


/* ft_banner */
#ft_contents{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
	width:1280px;
	max-width:100%;
	padding:50px 20px;
	margin:0 auto;
}

footer address{
	position:relative;
	width:420px;
	max-width:100%;
	margin:0 0 60px;
	}
	footer address h3{
		position:relative;
		margin:0 0 10px;
		font-weight:bold;
		font-size:1.2rem;
		line-height:1;
	}
	footer address p{
		position:relative;
		margin:0 0 20px;
		font-weight:normal;
		font-size:0.92rem;
	}
	footer address h3 + p{
		margin:0 0 50px;
}

footer #ft_menu{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
	width:480px;
	max-width:calc(100% - 450px);
	}
	footer #ft_menu > ul{
		width:48%;
	}
	footer #ft_menu > ul li{
		position:relative;
		margin:0 0 25px;
	}
	footer #ft_menu > ul li a{
		display:block;
		padding:4px 8px;
		font-size:1.0rem;
		transition-duration:0.5s;
		color:#000;
	}
	footer #ft_menu ul li a:hover{
		text-decoration:none;
		background:rgba(0,171,235,0.2);
	}
	footer #ft_menu ul li a:hover:after{
		width:100%;
	}
	/* ul ul */
	footer #ft_menu > ul li ul{
		margin:10px 0 0 0;
		padding-left:20px;
		border-left:2px solid #DDD;
	}
	footer #ft_menu > ul li ul li{
		margin:0px;
	}
	footer #ft_menu > ul li ul li a{
		font-size:0.87rem;
	}

footer p#copy{
	position:relative;
	width:100%;
	margin:0px;
	padding:30px 0 10px;
	font-weight:400;
	font-size:0.77rem;
	text-align:right;
}

/* --- responsive --- */
@media screen and (max-width:1000px){
	footer address{
		width:100%;
	}
	footer address h3{
		text-align:center;
		}
		footer address h3 + p{
			text-align:center;
	}
	footer #ft_menu{
		display:none;
	}
	footer p#copy{
		padding:0px 0 10px;
		font-size:0.70rem;
		text-align:center;
	}
}

/* -----------------------------------------------------------------
   btn
----------------------------------------------------------------- */

.btn{
	position:relative;
	width:320px;
	max-width:100%;
	height:55px;
	background:#1354C5;
	text-align:center;
	}
	.btn::before,
	.btn::after{
		content:" ";
		position:absolute;
		transition-duration:0.5s;
	}
	.btn::before{
		top:1px;
		left:1px;
		width:0px;
		height:calc(100% - 2px);
		background:#FFF;
	}
	.btn::after{
		top:12px;
		right:58px;
		width:1px;
		height:31px;
		background:#FFF;
	}
	.btn:hover::before{
		width:calc(100% - 59px);
	}
	.btn a{
		display:-webkit-flex;
		display:flex;
		justify-content:flex-start;
		align-items:center;
		position:relative;
		width:100%;
		height:100%;
		padding:0 70px 0 20px;
		font-weight:500;
		color:#FFF;
		transition-duration:0.5s;
		letter-spacing:3px;
		z-index:100;
	}
	.btn a:hover{
		text-decoration:none;
		color:#1354C5;
	}
	.btn a::before,
	.btn a::after{
		content:" ";
		position:absolute;
		transition-duration:0.5s;
	}
	.btn a::before{
		top:calc(50%);
		right:23px;
		width:17px;
		height:1px;
		background:#FFF;
	}
	.btn a::after{
		top:calc(50% - 5px);
		right:23px;
		width:10px;
		height:10px;
		border-top:1px solid #FFF;
		border-right:1px solid #FFF;
		transform:rotate(45deg);
	}
	.btn a:hover::before{
		right:23px;
		transform:rotate(90deg);
	}
	.btn a:hover::after{
		right:25px;
	}

/* --- responsive --- */
@media screen and (max-width:767px){
	.btn{
		width:100%;
	}
	.btn a{
		width:100%;
	}
}


