@charset "utf-8";

/*=============================================================
 COMMON
=============================================================*/
/* #container
-------------------------------------------------------------*/
#container{
	padding: 0 0 0 240px;
}
/* .boxSection
-------------------------------------------------------------*/
.boxSection{
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 0 20px;
	line-height: 1.75;
}

/*=============================================================
 ttl
=============================================================*/
/* .pageTtl
-------------------------------------------------------------*/
.pageTtl{
	position: relative;
	overflow: hidden;
}
.pageTtl img{
	width: 100%;
	height: auto;
}
.pageTtlTxt{
	width: 100%;
	padding: 0 20px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-65%);
	color: #fff;
	font-weight: 700;
}
.pageTtlTxt:after{
	content: "";
	width: 1px;
	height: 500%;
	background-color: #E50012;
	position: absolute;
	top: calc(100% + 20px);
	left: 50%;
}
.pageTtlTxt h1{
	display: inline-block;
	padding: 7px 20px;
	border-radius: 9999px;
	background-color: #E50012;
	font-size: calc(100vw * 16 / 1366);
}
.pageTtlTxt p.cap{
	padding: 20px 0 0;
	font-size: calc(100vw * 22 / 1366);
	line-height: 1.25;
}
.pageTtlTxt p.catch{
	padding: 15px 0 0;
	font-size: calc(100vw * 40 / 1366);
	line-height: 1.25;
}
/* .ttlLine
-------------------------------------------------------------*/
.ttlLine h2{
	margin: 90px 0 0;
	padding: 45px 0;
	position: relative;
	font-size: 29px;
	text-align: center;
}
.ttlLine h2:before{
	content: "";
	width: 50px;
	height: 6px;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 50%;transform: translateX(-50%);
}
/* .pageIntro
-------------------------------------------------------------*/
.pageIntro{
	padding: 70px 20px;
	position: relative;
	overflow: hidden;
	background: #000;
	color: #fff;
}
.pageIntro:before{
	content: "";
	width: 1px;
	height: 55px;
	background-color: #E50012;
	position: absolute;
	top: 0;
	left: 50%;
}
.pageIntro:after{
	content: "";
	width: 9px;
	height: 9px;
	background-color: #E50012;
	border-radius: 9999px;
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
}
.pageIntro .fontEnBold{
	text-align: center;
	color: #E50012;
	font-size: 20px;
}
.pageIntro h2{
	padding: 15px 0 25px;
	text-align: center;
	font-size: 29px;
	font-weight: bold;
}
/*=============================================================
 footer
=============================================================*/
/* #ftrMenu
-------------------------------------------------------------*/
#ftrMenu{
	width: 100%;
	margin: 40px 0 0;
	padding: 220px 20px 65px;
	background: url("../img/ftr_copy.svg") no-repeat center top;
	background-size: 863px 863px;
}
#ftrMenu p{
	width: 100%;
	max-width: 340px;
	margin: 0 auto;
	padding: 0 0 20px;
	font-size: 20px;
	color: #E50012;
	text-align: center;
}
#ftrMenu ul{
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
	border-top: 10px solid #000;
}
#ftrMenu ul li{
	border-bottom: 1px solid #000;
}
#ftrMenu ul li a{
	display: block;
	padding: 15px 40px 15px 15px;
	position: relative;
	font-weight: 700;
	opacity: 1 !important;
	font-size: 18px;
}
#ftrMenu ul li a>span{
	display: inline-block;
}

#ftrMenu ul li.txtSpe a{
	font-size: 25px;
}
#ftrMenu ul li.txtSpe a .fontEnBold{
	font-size: 33px;
}
#ftrMenu ul li a:hover{
	color: #E50012;
}
#ftrMenu ul li a:after{
	content: "";
	width: 20px;
	height: 20px;
	background: url("../img/arw_red.png") no-repeat 0 0;
	background-size: 100% 100%;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
#minutes #ftrMenu ul li.minutes a,
#management #ftrMenu ul li.management  a,
#business #ftrMenu ul li.business a,
#human #ftrMenu ul li.human a,
#qa #ftrMenu ul li.faq a,
#person #ftrMenu ul li.person a,
#features #ftrMenu ul li.culture a{
	color: #E50012;
}
#minutes #ftrMenu ul li.minutes a:before,
#management #ftrMenu ul li.management a:before,
#business #ftrMenu ul li.business a:before,
#human #ftrMenu ul li.human a:before,
#qa #ftrMenu ul li.faq a:before,
#person #ftrMenu ul li.person a:before,
#features #ftrMenu ul li.culture a:before{
	content: "";
	display: block;
	width: 6px;
	height: calc(100% - 10px);
	background-color: #E50012;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}




/* footer
-------------------------------------------------------------*/
#footer{
	width: 100%;
	height: 50px;
	background-color: #000;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	color: #fff;
	position: relative;
}
#footer ul{
	display: flex;
	align-items: center;
}
#footer ul li + li{
	margin-left: 1em;
}
#footer a{
	color: #fff;
}
#footer p{
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:970px){
/* footer
-------------------------------------------------------------*/
#footer{
	height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 0 50px;
}
#footer p.copyright{
	padding: 10px 0 0;
}
}
/* ftr-pagetop
-------------------------------------------------------------*/
#ftr-pagetop{
	visibility:hidden;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:11;
	opacity:0;
	transition:all 0.4s ease-out;
}
#ftr-pagetop.show{
	visibility:visible;
	opacity:1;
}
#ftr-pagetop.bottom{
	position:absolute;
	top:-62px;
	bottom:auto;
}
#ftr-pagetop a{
	display:block;
	width:42px;
	height:42px;
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 TUB
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:1200px){
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:899px){
/* #container
-------------------------------------------------------------*/
#container{
	padding: 62px 0 0;
}
/*=============================================================
 ttl
=============================================================*/
/* .pageTtl
-------------------------------------------------------------*/
.pageTtl{
	height: 300px;
}
.pageTtl figure{
		display: none;
}
.pageTtlTxt h1{
	font-size: min(3.4vw, 30px);
}
.pageTtlTxt p.cap{
	font-size: min(4.2vw, 20px);
}
.pageTtlTxt p.catch{
	font-size: min(8vw, 40px);
}
/* .ttlLine
-------------------------------------------------------------*/
.ttlLine h2{
	margin: 50px 0 0;
	padding: 36px 0 15px;
	font-size: 24px;
	text-align: left;
}
/* .pageIntro
-------------------------------------------------------------*/
.pageIntro{
	padding: 50px 0 30px;
}
.pageIntro:before{
	height: 35px;
}
.pageIntro:after{
	top: 30px;
}
.pageIntro .fontEnBold{
	font-size: 14px;
}
.pageIntro H2{
	font-size: 24px;
	text-align: left;
}
/*=============================================================
 footer
=============================================================*/
/* #ftrMenu
-------------------------------------------------------------*/
#ftrMenu{
padding: 150px 20px 80px;
	background-size: 730px 730px;
}
#ftrMenu ul li a{
	font-size: 16px;
}
#ftrMenu ul li.txtSpe a{
	font-size: 21px;
}
#ftrMenu ul li.txtSpe a .fontEnBold{
	font-size: 26px;
}
/* footer
-------------------------------------------------------------*/
#footer{
	font-size: 12px;
}
/* ftr-pagetop
-------------------------------------------------------------*/
#ftr-pagetop{
	bottom:70px;
}
}
