@charset "utf-8";



/*-- 

common_main

====================================================== --*/

/*-- content --*/

.content_base{
	position:relative;
	padding:10rem 3rem;
	overflow:hidden;
	transition:padding .2s;
}
.content_inner{
	max-width:120rem;
	width:100%;
	margin:0 auto;
	transition:max-width .2s;
}
.content_inner > *{
	margin-bottom:6rem;
}
.content_inner > *:last-child{
	margin-bottom:0;
}
.content_base._wide{
	padding:0;
}
.content_base._wide .content_inner{
	max-width:100%;
}
/* tb */
@media screen and (max-width:835px){
	.content_base{
		padding:8rem 2rem;
	}
	.content_inner > *{
		margin-bottom:4.5rem;
	}
}
/* sp */
@media screen and (max-width:767px){
	.content_base{
		padding:6rem 1.6rem;
	}
	.content_inner > *{
		margin-bottom:3rem;
	}
	.content_inner > *:last-child{
		margin-bottom:0;
	}
}

/*-- content_sec --*/

#common_main{
	display:block;
	/*padding-top:9rem;*/
}
/* sp */
@media screen and (max-width:1000px){
	#common_main{
		/*padding-top:8rem;*/
	}
}

#content_sec{
	background:url("../img/bg.webp") no-repeat center center;
	background-size:cover;
	padding-top:6rem;
	display:flex;
	flex-direction:column-reverse;
}

/*-- content_sec_title --*/

#content_sec_title{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:2rem;
	padding:1rem 2rem 2rem;
}
#content_sec_title ._flag{
	height:4.3rem;
}
#content_sec_title ._flag img{
	object-fit:cover;
	width:auto;
	height:100%;
}
#content_sec_title ._title{
	text-align:center;
	color:var(--c-white);
	line-height:1.5;
	font-size:3rem;
}
/* tb */
@media screen and (max-width:835px){
	#content_sec_title ._title{
		font-size:2.4rem;
	}
}
/* sp */
@media screen and (max-width:767px){
	#content_sec_title{
		gap:1rem;
	}
	#content_sec_title ._title{
		font-size:1.6rem;
	}
	#content_sec_title ._flag{
		height:3rem;
	}
}

/*-- bg --*/

.bg_main{background:var(--c-main)!important;}
.bg_sub{background:var(--c-sub)!important;}
.bg_sub2{background:var(--c-sub2)!important;}
.bg_sub3{background:var(--c-sub3)!important;}
.bg_white{background:var(--c-white)!important;}
.bg_black{background:var(--c-black)!important;}
.bg_black-10{background:var(--c-black-10)!important;}
.bg_black-20{background:var(--c-black-20)!important;}
.bg_black-30{background:var(--c-black-30)!important;}
.bg_black-40{background:var(--c-black-40)!important;}
.bg_black-50{background:var(--c-black-50)!important;}
.bg_black-60{background:var(--c-black-60)!important;}
.bg_black-70{background:var(--c-black-70)!important;}
.bg_black-80{background:var(--c-black-80)!important;}
.bg_black-90{background:var(--c-black-90)!important;}
.bg_gray{background:var(--c-gray)!important;}
.bg_gray2{background:var(--c-gray2)!important;}
.bg_blue{background:var(--c-blue)!important;}
.bg_grade-black{background:var(--c-bg-grade-black)!important;}
.bg_grade-deepgreen{background:var(--c-bg-grade-deepgreen)!important;}
.bg_grade-deepred{background:var(--c-bg-grade-deepred)!important;}

/*-- bg_movie --*/

#bg_movie{
	position:fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:-1;
}
#bg_movie_image{
	width:100vw;
	height:100vh;
	object-fit:cover;
	opacity:0;
	transition:opacity 0.5s ease;
	will-change:transform;
	transform:translateZ(0);
}
#bg_movie_image.is-playing{
	opacity:1;
}
#bg_movie::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:1;
	background-color:var(--c-black-30);
}

/* bg_line */

.bg_line::before{
	content:"";
	height:0.2rem;
	width:100%;
	background:var(--c-sub-dark-grade);
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:auto;
}
/* sp */
@media screen and (max-width:767px){
	.bg_line::before{
		height:0.3rem;
	}
}

/* bg_blue */

.bg_blue *{
	color:var(--c-white);
}

/* shadow */

._shadow{
	box-shadow:0 0 2rem 0 var(--c-black-10);
}

/* border-radius */

._br20{
	border-radius:2rem;
}

/*-- anc --*/

.anc_base{
	font-size:0.1rem;
	position:absolute;
	top:-6rem;
	left:0;
}



/*-- 

common_header

====================================================== --*/

#common_header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:10;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:1.5rem 2rem;
	padding-left:4rem;
	min-height:9rem;
	transition:.3s;
}
body::after{
	content:"";
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:0;
	height:20rem;
	background:var(--c-bg-grade-black2);
}
/*
.fixed #common_header{
	background:var(--c-black-50);
	backdrop-filter:blur(5px);
}
*/
#common_header ._title{
	color:var(--c-white);
	line-height:1.5;
	font-size:2.6rem;
}
#common_header ._title a{
	color:var(--c-white);
	text-decoration:none;
}
/* tb */
@media screen and (max-width:835px){
	#common_header{
		padding-left:3rem;
	}
}
/* sp */
@media screen and (max-width:767px){
	#common_header{
		padding:0;
		padding-left:2rem;
		min-height:6rem;
	}
	#common_header ._title{
		font-size:2rem;
	}
}

/* gnh_cv */

.gnh_cv a{
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	color:var(--c-white);
	background:var(--c-main-grade);
	padding:1rem 4rem;
	min-height:6rem;
	transition:.3s;
}
.gnh_cv a:hover{
	opacity:1;
	filter:brightness(1.2);
}
/* sp */
@media screen and (max-width:767px){
	.gnh_cv a{
		padding:1rem 2rem;
	}
}



/*-- 

pagetop

====================================================== --*/

#pagetop{
	position:fixed;
	right:4rem;
	bottom:4rem;
	display:none;
	align-items:center;
	justify-content:center;
	background:var(--c-black);
	box-shadow:0 0 4rem 2rem rgba(255,255,255,0.4);
	width:8rem;
	height:8rem;
	z-index:-1;
	opacity:0;
	border-radius:999.9rem;
	transition:all .3s;
}
#pagetop span{
	position:absolute;
	width:8rem;
	height:8rem;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
#pagetop::before{
	content:"";
	display:inline-block;
	width:1em;
	height:1em;
	border-top:0.2rem solid var(--c-white);
	border-left:0.2rem solid var(--c-white);
	transform:rotate(45deg);
	margin-top:0.5rem;
}
#pagetop.active{
	display:flex;
	opacity:1;
	z-index:2;
}
#pagetop:hover{
	opacity:1;
	box-shadow:0 0 4rem 2rem rgba(255,255,255,0.2);
}
/* sp */
@media screen and (max-width:767px){
	#pagetop{
		right:2rem;
		bottom:2rem;
		box-shadow:0 0 2rem 1rem rgba(255,255,255,0.4);
		width:6rem;
		height:6rem;
	}
	#pagetop span{
		width:6rem;
		height:6rem;
	}
	#pagetop::before{
		content:"";
		display:inline-block;
		width:1em;
		height:1em;
		border-top:0.2rem solid var(--c-white);
		border-left:0.2rem solid var(--c-white);
		transform:rotate(45deg);
		margin-top:0.5rem;
	}
}



/*-- 

common_footer

====================================================== --*/


#common_footer{
	width:100%;
	background:var(--c-black);
	color:var(--c-white);
	font-size:1.5rem;
	padding:5rem 3rem 2rem;
}
#common_footer a{
	color:var(--c-white);
}

/*-- footer_inner_top --*/

.footer_inner_top{
	display:flex;
	flex-wrap:wrap;
	max-width:140rem;
	margin:0 auto;
	gap:4rem;
}
.footer_inner_top ._title{
	width:100%;
	font-size:5rem;
}
.footer_inner_top ._address{
	width:50%;
}
.footer_inner_top ._stitle{
	display:block;
	font-size:2rem;
}
.footer_inner_top ._address ._zip{
	display:block;
	margin-top:2rem;
}
.footer_inner_top ._utility{
	border-left:0.1rem solid var(--c-white-50);
	width:calc(50% - 4rem);
	padding-left:4rem;
}
.footer_inner_top ._utility .lst_disc li{
	margin-top:2rem;
}

/*-- footer_inner_bottom --*/

.footer_inner_bottom{
	width:100%;
	font-size:1.5rem;
	text-align:center;
	padding-top:6rem;
}
/* tb */
@media screen and (max-width:835px){
	#common_footer{
		font-size:1.5rem;
		padding:4rem 2rem 2rem;
	}
	.footer_inner_top{
		gap:3rem;
	}
	.footer_inner_top ._title{
		font-size:4rem;
	}
	.footer_inner_top ._address{
		width:50%;
	}
	.footer_inner_top ._stitle{
		font-size:2rem;
	}
	.footer_inner_top ._address ._zip{
		margin-top:2rem;
	}
	.footer_inner_top ._utility{
		width:calc(50% - 3rem);
		padding-left:3rem;
	}
	.footer_inner_top ._utility .lst_disc li{
		margin-top:2rem;
	}
	.footer_inner_bottom{
		font-size:1.5rem;
		padding-top:5rem;
	}
}
/* sp */
@media screen and (max-width:767px){
	#common_footer{
		font-size:1.4rem;
		padding:3rem 1.6rem 1.6rem;
	}
	.footer_inner_top{
		gap:2rem;
		flex-direction:column;
	}
	.footer_inner_top ._address{
		width:80%;
		margin:0 auto;
	}
	.footer_inner_top ._stitle{
		font-size:1.8rem;
	}
	.footer_inner_top ._address ._zip{
		margin-top:2rem;
	}
	.footer_inner_top ._utility{
		width:80%;
		margin:0 auto;
		padding-left:0;
		border:none;
		border-top:0.1rem solid var(--c-white-50);
		padding-top:2rem;
	}
	.footer_inner_top ._utility .lst_disc li{
		margin-top:2rem;
	}
	.footer_inner_bottom{
		font-size:1.4rem;
		padding-top:4rem;
	}
}
