/* ------------------------------------------------------------------------
    Header
------------------------------------------------------------------------  */
header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    box-sizing: border-box;
	
	
	z-index: 10;
}
header .Header_Container{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 80px;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
	background: #fff;
}
/* Header Name */
header .Header_SiteName a{
	display: flex;
	align-items: center;
}
/* logo */
header .Header_Logo {
	display: flex;
	align-items: center;
	max-width: 70px;
}
/* name */
header .Header_Name {
	padding-left: 10px;
}
header .Header_Name > *{
	line-height: 1em;
}
header .Header_Name h1{
	font-weight: 500;
}
header .Header_Name p{
	font-size: .875em;
	color: #898989;
}
@media screen and (max-width:1023px){
	header {
		border-bottom: 1px solid #ccc;
	}
}
@media screen and (min-width:1024px){
	/* logo */
	header .Header_Logo {
		max-width: 120px;
	}
	/* name */
	header .Header_Name h1{
		font-size: 1.125em;
	}
}

/* Header Menu */
header .Header_Menu ul{
	display: flex;
	align-items: center;
}
header .Header_Menu ul li{
	margin-left: 1em;
	margin-right: 1em;
}
header .Header_Menu ul li.Header_SearchBtn a{
	display: flex;
	height: 20px;
	width: 20px;
}
header .Header_Menu ul li.Sign{
	width: 102px;
}


@media screen and (min-width:1024px){
	header .Header_Container{
		padding-left: 20px;
		padding-right: 20px;
	}
	/* logo */
	header .Header_Logo {
	}
}

/* Lang */
header .Header_Menu ul{
	margin-right: 45px;
}
header #LANG {
	position: absolute;
	top: 0;
	right: 0;
	width: 45px;
	height: 100%;
	z-index: 10;
}
header .Lang_Area {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
/* Active name */
header .Lang_Active {
	font-size: 1.125em;
	font-weight: 500;
}
/* SelectBox */
header #LANG .Lang_SelectBox{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: #fff;
}
header #LANG .Lang_SelectBox .List{
	display: none;
	position: absolute;
	width: 300%;
	right: -20px;
	top: 0;
	background: #fff;
	opacity: 0;
}
header #LANG .Lang_SelectBox .List.active{
	display: block;
	animation: is-fade-in .6s ease 0s both;
}
header #LANG .Lang_SelectBox .List a{
	display: block;
	padding: 0 20px;
	transition: all .6s 0s ease;
}
header #LANG .Lang_SelectBox .List a.arr:after {
	right: 20px;
}
@media screen and (max-width:1023px){
	header .Header_Menu{
		display: none;
	}
	header #LANG {
		display: none;
	}
}
@media screen and (min-width:1024px){
	header #LANG {
		right: 20px;
		height: 80px;
		cursor: pointer;
	}
	header #LANG .Lang_SelectBox .List a:hover{
		background: #ececec;
	}
	
}


/* ------------------------------------------------------------------------
    Humburger
------------------------------------------------------------------------  */
.hamburger {
	opacity: 0;
	width: 40px;
	height: 40px;
	vertical-align: middle;
	cursor: pointer;
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 110;
	transform: translateY(-50%);
	transition: all .5s;
}
.hamburger p{
	position: absolute;
	left: -10%;
	bottom: 0;
	min-width: 120%;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1em;
}
.hamburger.is-open{
	left: 20px;
	display: none;
}
.hamburger span {
	display: block;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.hamburger span:nth-of-type(1) {
	top: 0;
}
.hamburger span:nth-of-type(2) {
	top: 25%;
}
.hamburger span:nth-of-type(3) {
	top: 50%;
}
/* open
.hamburger.is-open p{
	font-size: 1.2rem;
}
.hamburger.is-open p{
	color: #999;
}
.hamburger.is-open span{
	background-color: #999;
}
.hamburger.is-open span:nth-of-type(1) {
	top:20%;
	transform: rotate(-45deg);
}
.hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}
.hamburger.is-open span:nth-of-type(3) {
	top:20%;
 	transform: rotate(45deg);
}
/* Close */
.Close_btn {
	position: relative;
	width: 40px;
	height: 40px;
	vertical-align: middle;
	cursor: pointer;
	margin-top: 5px;
	margin-left: 20px;
}
.Close_btn p{
	position: absolute;
	left: -10%;
	bottom: 0;
	min-width: 120%;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	color: #999;
	line-height: 1em;
}
.Close_btn span {
	display: block;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #999;
}
.Close_btn span:nth-of-type(1) {
	top:20%;
	transform: rotate(-45deg);
}
.Close_btn span:nth-of-type(2) {
	top:20%;
 	transform: rotate(45deg);
}
/* none */
@media screen and (min-width:1024px){
	.hamburger,
	.Close_btn {
		display: none;
	}
}
/* ------------------------------------------------------------------------
    nav
------------------------------------------------------------------------  */
/* Nav */
nav {}
/* SP */
.NavSp{}
@media screen and (max-width:1023px){	
	/* nav */
	nav{
		background: #fff;
	}
	/* menu */
	nav {
		display: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;

		overflow: auto !important;
		overflow-x: auto !important;
		overflow-y: scroll !important;
		webkit-overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
	}
	nav.active {
		display: inherit;
		animation: is-fade-in .6s ease 0s both;
	}
	/* Navigation Head */
	.Nav_HD {
		position: relative;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	/* Lang */
	#SP_LANG {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		height: 90px;
		margin-right: 20px;
	}
	#SP_LANG .Ac_Label{
		padding-right: 2em;
	}
	/* Lang List */
	.Nav_Lang_List {
		width: 100%;
		display: none;
	}
	.Lang_List{
		border-top: 1px solid #ccc;
		display: flex;
		flex-wrap: wrap;
	}
	.Lang_List li{
		width: 50%;
		box-sizing: border-box;
		text-align: center;
		background: #999;
		
		border-bottom: 1px solid #ccc;
	}
	.Lang_List li:nth-child(odd){
		border-right: 1px solid #ccc;
	}
	.Lang_List li a{
		display: block;
		padding: .5em;
		color: #fff;
	}
	
	/* List */
	nav > ul {
		border-top: 1px dotted #7f7f7f;
	}
	nav > ul > li {
		border-bottom: 1px dotted #7f7f7f;
	}
	nav > ul > li .Ac_Label{
		position: relative;
		display: block;
		padding-top: 1em;
		padding-bottom: 1em;
		padding-right: 20px;
		padding-left: 20px;
		font-size: 1.142em;
	}
	nav > ul > li .Ac_Label > span{
		right: 20px;
	}
	/* SubMenu */
	nav > ul> li .SubMenu{
		display: none;
	}
	nav > ul> li .SubMenu ul.container{
		padding-left: 0;
		padding-right: 0;
	}
	nav > ul> li .SubMenu ul a{
		display: block;
		padding-top: 1em;
		padding-bottom: 1em;
		padding-left: 20px;
		padding-right: 20px;
		position: relative;
		background: #dcdcdc;
		border-top: 1px dotted #7f7f7f;
	}
	nav > ul> li .SubMenu ul a:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;

		width: 6px;
		height: 6px;
		border-top: solid 1px #000;
		border-right: solid 1px #000;
		-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
	
		transition: all .2s ease;
	}
	
	/* Nav_Subtitle */
	.Nav_Subtitle {
		font-weight: 500;
		font-size: 1.125em;
		text-align: center;
		margin-bottom: .5em;
	}
	.Nav_Message {
		margin-bottom: 1em;
	}
	
	/* Sign In */
	.Nav_Signin {
		text-align: center;
		padding-top: 1.5em;
		padding-bottom: 1.5em;
		background: #dcdcdc;
	}
	
	/* Contact */
	.Nav_Contact{
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
	
	/* Sign Up */
	.Nav_Signup{
		text-align: center;
		padding-top: 1.5em;
		padding-bottom: 1.5em;
		background: #dcdcdc;
	}
}

@media screen and (min-width:1024px){
	.NavSp{display: none;}
	
	nav {
		position: relative;
		width: 100%;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		background: #fff;
	}
	/* list */
	nav ul.Nav_List{
		width: 100%;
		display: flex;
	}
	nav ul.Nav_List > li {
		flex: 1;
		text-align: center;
		cursor: pointer;
	}
	nav ul.Nav_List > li p{
		display: inline-block;
		padding-top: 5px;
		padding-bottom: 5px;
		text-align: center;
		padding-right: 1.875em;
	}
	/* Submenu */
	nav ul.Nav_List > li .SubMenu{
		display: none;
		position: absolute;
		left: 0;
		top:100%;
		width: 100%;
		background: #fff;
		padding: 20px;
		opacity: 0;
	}
	/* active */
	nav ul.Nav_List > li .SubMenu.active{
		display: block;
		animation: is-fade-in .6s ease 0s both;
	}
	
	nav ul.Nav_List > li .SubMenu ul.container{
		max-width: 1400px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	nav ul.Nav_List > li .SubMenu ul li{
		margin-top: 5px;
		margin-bottom: 5px;
		margin-left: 5px;
		margin-right: 5px;
	}
	nav ul.Nav_List > li .SubMenu ul li:before{
		content: '[ ';
	}
	nav ul.Nav_List > li .SubMenu ul li:after{
		content: ' ]';
	}
	
	/* hover */
	nav ul.Nav_List > li{
		transition: all .6s 0s ease;
	}
	nav ul.Nav_List > li:hover{
		background: #ececec;
	}
}


/* Search Triger */
@media screen and (max-width:1023px){
	.Nav_SearchBtn{
		position: absolute;
		right: 80px;
		top: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50px;
		height: 50px;
	}
	.Nav_SearchBtn img{
		width: 20px;
		height: 20px;
	}
}

/* Search */
.Search_Area {
	display: none;
	width: 100%;
	background: #fff;
}
.Search_Area .container{
	position: relative;
	padding-top: 3.5em;
	padding-bottom: .5em;
}
/* Search Close */
.Search_Area .container .Search_Close{
	display: block;
	position: absolute;
	right: 15px;
	top: 15px;
	content: '';
	width: 20px;
	height: 20px;
		
	cursor: pointer;
}
.Search_Area .container .Search_Close span{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.Search_Area .container .Search_Close span:before,
.Search_Area .container .Search_Close span:after{
	position: absolute;
	left: 50%;
	top: 50%;
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
}
.Search_Area .container .Search_Close span:before{
	transform: translate(-50%,-50%) rotate(45deg);
}
.Search_Area .container .Search_Close span:after{
	transform: translate(-50%,-50%) rotate(-45deg);
}
/* Search Btn */
.Search_Area .Form-Btn{
	margin-top: 1.5em;
}
@media screen and (min-width:1024px){
	.Search_Area {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 20;
		
		padding-top: 2.5em;
		padding-bottom: 2.5em;
	}
	.Search_Area .container{
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
	
	/* Search Close */
	.Search_Area .container .Search_Close{
		right: -80px;
		top: -20px;
		width: 30px;
		height: 30px;
		
		cursor: pointer;
	}
	
	/* active */
	.Search_Area.active{
		display: block;
		animation: is-fade-in .6s ease 0s both;
	}
	.Search_Area .container{
		max-width: 750px;
	}
}
/* ------------------------------------------------------------------------
    Main
------------------------------------------------------------------------  */
main {
	width: 100%;
	/*
	overflow: hidden;
	*/
	padding-top: 80px;
}
@media screen and (min-width:1024px){
	main {
		padding-top: 120px;
	}
}
/* ------------------------------------------------------------------------
    Section
------------------------------------------------------------------------  */
section.TypeTop{
	margin-bottom: 4em;
}
section.TypeA,
section.TypeB{
	margin-bottom: 4em;
	margin-top: 4em;
}
@media screen and (min-width:1024px){
	section.TypeTop{
		margin-bottom: 9.35em;
	}
	section.TypeA{
		margin-top: 9.35em;
		margin-bottom: 9.35em;
	}
	section.TypeB{
		margin-top: 5em;
		margin-bottom: 5em;
	}
}

/* ------------------------------------------------------------------------
    Page Title
------------------------------------------------------------------------  */
#PAGE_TITLE h2{
	text-align: center;
}

/* ------------------------------------------------------------------------
    BreadCrumb
------------------------------------------------------------------------  */
#BREAD_CRUMB {
	display: none;
}
@media screen and (min-width:1024px){
	#BREAD_CRUMB {
		display: inherit;
		background: #ececec;
	}
	#BREAD_CRUMB *{
		font-size: 14px;
	}
	#BREAD_CRUMB .container{
		max-width: 1400px;
		display: flex;
		padding-bottom: .5em;
		padding-top: .5em;
	}
	#BREAD_CRUMB .container .Home{
	}
	#BREAD_CRUMB .container ul{
		display: flex;
		flex-wrap: wrap;
	}

	/* anchor */
	#BREAD_CRUMB .container a{
		color: inherit;
	}
	#BREAD_CRUMB .container a:hover{
		opacity: .6;
	}
	#BREAD_CRUMB .container .Home a,
	#BREAD_CRUMB .container ul li:not(:last-child) a{
		position: relative;
		padding-right: 2em;
	}
	#BREAD_CRUMB .container .Home a:after,
	#BREAD_CRUMB .container ul li:not(:last-child) a:after{
		position: absolute;
		right: .75em;
		top: 50%;
		transform: translateY(-50%);
		content: '>';
	}
}
/* ------------------------------------------------------------------------
    Footer
------------------------------------------------------------------------  */
footer{
	background: #dcdcdc;
	padding-top: 1.875em;
	padding-bottom: 1.875em;
}
footer .container{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
footer .container > .Ft_SiteName{
	margin-bottom: 1em;
}
footer .container > .Ft_SiteName,
footer .container > .Ft_Link{
	width: 100%;
}
footer .container > .Ft_Link a{
	margin-left: 1em;
	margin-right: 1em;
	font-size: .875em;
}
@media screen and (max-width:768px){
	footer .container > .Ft_SiteName{
		display: flex;
		justify-content: center;
	}
	footer .container > .Ft_Link a{
		width: calc(100% - 2em);
		text-align: center;
	}
}
@media screen and (min-width:769px){
	footer .container > .Ft_SiteName,
	footer .container > .Ft_Link{
		max-width: 50%;
	}
	footer .container > .Ft_Link{
		display: flex;
		justify-content: flex-end;
	}
}
.copy {
	font-size: 12px;
}
@media screen and (max-width:768px){
	.copy {
		width: 100%;
		text-align: center;
		margin-top: 1em;
	}
}
@media screen and (min-width:769px){
	.copy {
		position: absolute;
		left: 20px;
		bottom: -1em;
	}
}