@charset "utf-8";


/*************************************************

 import

*************************************************/
@import url('https://fonts.googleapis.com/css?family=Lato:700|Noto+Sans+JP:400,500,700|Noto+Serif+JP:600&display=swap&subset=japanese');
@import "init.css";


/*************************************************

 html, body

*************************************************/
body {
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

@media only screen and (max-width:991px) {}
@media only screen and (max-width:767px) {}


/* link off
-------------------------*/
/*#globalNavi .navi_feature a,
#globalNavi .navi_career a {
	pointer-events: none !important;
	color: #d5d5d5 !important;
}
#globalNavi .navi_feature a:before,
#globalNavi .navi_feature a:after,
#globalNavi .navi_career a:before,
#globalNavi .navi_career a:after {
	opacity: 0 !important;
}
#footer .offArea a {
	pointer-events: none !important;
	color: #d5d5d5 !important;
}
*/


/*************************************************

 siteCommonStyle

*************************************************/
/* selection */
::-moz-selection {
	background: #b2d7fe;
}
/*::selection {
	background: #b2d7fe;
}*/

/* a */
a {
	color: #6666ff;
	text-decoration: underline;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
.noT a:hover {
	text-decoration: none;
}

/* cap */
.caption,
.cap {
	color: #999999;
	font-size: 83.4%;
}
.cap {
	padding-top: 5px;
}

/* formText */
.formText {
	padding: 3px 2px;
	border: #ccc solid 1px;
}

a.tel {
	cursor: default;
}

/* img */
img {
	max-width: 100%;
	height: auto;
}

/* sp tb pc */
.spView,
.spViewInb,
.tbView  {
	display: none !important;
}
@media only screen and (max-width:991px) {
	.tbView {
		display: block !important;
	}
}
@media only screen and (max-width:767px) {
	.spView {
		display: block !important;
	}
	.spViewInb {
		display: inline-block !important;
	}
	.pcView {
		display: none !important;
	}
}

/* fade */
@media only screen and (min-width:768px) {
	.fade:hover,
	.fadeArea a:hover {
		opacity: 0.7;
	}
	.textBdr:hover,
	.textBdrList a:hover {
		text-decoration: underline !important;
	}
}

/* mintyo */
.lato {
	font-family: 'Lato', sans-serif;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}


/*.shadow {
	text-shadow:0px 0px 1px #fff,0 0 5px #fff,0 0 10px #fff,0 0 15px #fff,0 0 20px #fff,0 0 30px #fff,0 0 40px #fff;
}*/

/*#spMenu.on:before {
	margin-top: 0;
	transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
}
#spMenu.on:after {
	margin-top: 0;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
}*/


/*************************************************

 wrapper

*************************************************/
#wrapper {
	overflow: hidden;
	color: #000;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ＭＳ Ｐゴシック', sans-serif;
	font-size: 16px;
	line-height: 1.7;
	text-align: left;
}
.wrap {
	max-width: 1040px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}
.commonInner {
	max-width: 1040px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 55px;
	padding-left: 55px;
}
@media only screen and (max-width:767px) {
	#wrapper {
		font-size: 14px;
	}
	.commonInner {
		padding-right: 40px;
		padding-left: 40px;
	}
}



/*************************************************

 header

*************************************************/
#header {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0 40px;
	background-color: #fff;
	z-index: 100;
}
#header:before {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	content: '';
	width: 0;
	height: 1px;
	background-color: #e5160b;
	transition: 0.5s;
}
.headerInner {
	position: relative;
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 10px;
}
.siteSymbols .siteLogo {
	position: relative;
	height: 60px;
}
.siteSymbols .siteLogo a {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	line-height: 0;
}
@media only screen and (max-width:1050px) {
	.siteSymbols .siteLogo {
		width: 210px;
	}
}
@media only screen and (min-width:992px) {
	#header.on:before {
		left: 0;
		width: 100%;
	}
}
@media only screen and (max-width:991px) {
	#header {
		padding: 0 12px;
	}
	.headerInner {
		padding: 0;
	}
	.siteSymbols {
		position: relative;
		padding: 0 10px;
		background-color: #fff;
		z-index: 100;
	}
	.siteSymbols .siteLogo {
		width: 250px;
		height: 50px;
	}
}
@media only screen and (max-width:340px) {
	.siteSymbols .siteLogo {
		width: 220px;
	}
}



/*************************************************

 globalNavi

*************************************************/
#globalNavi {
	position: absolute;
	top: 0;
	right: 0;
	padding-right: 145px;
}
@media only screen and (max-width:1070px) {
	#globalNavi {
		padding-right: 120px;
	}
}
@media only screen and (min-width:992px) {
	#globalNavi {
		display: block !important;
	}
}
@media only screen and (max-width:991px) {
	#globalNavi {
		overflow: auto;
		box-sizing: border-box;
		position: fixed;
		display: none;
		top: 0;
		left: 0;
		width: 100%;
		max-height: 100%;
		padding: 50px 0;
		-webkit-overflow-scrolling: touch;
		background-color: #fff;
		z-index: 90;
	}
}




/* navigations
-------------------------*/
#globalNavi .navigations > li {
	float: left;
}
#globalNavi .navigations > li.navi_home {
	display: none;
}
#globalNavi .navigations > li + li {
	margin-left: 45px;
}
@media only screen and (max-width:1070px) {
	#globalNavi .navigations > li + li {
		margin-left: 30px;
	}
}
@media only screen and (max-width:991px) {
	#globalNavi .navigations > li {
		float: none;
		border-bottom: #e5160b solid 1px;
	}
	#globalNavi .navigations > li:first-child {
		border-top: #e5160b solid 1px;
	}
	#globalNavi .navigations > li.navi_home {
		display: block;
	}
	#globalNavi .navigations > li + li {
		margin-left: 0;
	}
}


/* mainNavi */
#globalNavi .mainNavi a {
	box-sizing: border-box;
	display: table;
	width: 100%;
	height: 60px;
	color: #000;
	font-weight: 500;
	font-size: 11px;
	text-decoration: none;
}
#globalNavi .mainNavi a.on,
#globalNavi .current .mainNavi a,
.noT #globalNavi .mainNavi a:hover {
	color: #e5160b;
}
#globalNavi .mainNavi a  span {
	display: table-cell;
	vertical-align: middle;
}
@media only screen and (max-width:991px) {
	#globalNavi .mainNavi a {
		position: relative;
		height: 50px;
		padding: 0 40px;
		font-size: 16px;
		font-weight: 500;
	}
	#globalNavi .mainNavi a:before,
	#globalNavi .mainNavi a:after {
		position: absolute;
		top: 50%;
		right: 10px;
		display: block;
		content: '';
		width: 10px;
		height: 1px;
		background-color: #000;
		transition: 0.2s;
	}
	#globalNavi .mainNavi a.on:before {
		transform: rotate(45deg);
	}
	#globalNavi .mainNavi a:after {
		transform: rotate(-90deg);
	}
	#globalNavi .mainNavi a.on:after {
		transform: rotate(-45deg);
	}
	#globalNavi .mainNavi a span {
		display: table-cell;
		vertical-align: middle;
	}
	#globalNavi .navigations > li.navi_home a:before,
	#globalNavi .navigations > li.navi_home a:after {
		display: none;
	}
}

/* subNavi */
#globalNavi .subNavi {
	box-sizing: border-box;
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	display: none;
	padding: 50px 10px;
	background-color: rgba(255,255,255,0.9);
}
#globalNavi .subNavi .subInner {
	max-width: 800px;
	margin: 0 auto;
}
#globalNavi .subNavi .subTopBtn {
	margin-bottom: 30px;
}
#globalNavi .subNavi .subTopBtn a {
	display: block;
	padding: 18px 0;
	color: #e5160b;
	font-size: 18px;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.15em;
	border: #e5160b solid 1px;
	background-color: #fff;
	transition: 0.3s;
}
#globalNavi .subNavi .subTopBtn a span {
	position: relative;
	display: inline-block;
	padding-right: 45px;
}
#globalNavi .subNavi .subTopBtn a span:before,
#globalNavi .subNavi .subTopBtn a span:after {
	position: absolute;
	top: 0;
	right: 0;
	width: 24px;
	height: 100%;
	display: block;
	content: '';
	background: no-repeat center center;
	background-size: contain;
	transition: 0.3s;
}
#globalNavi .subNavi .subTopBtn a span:before {
	background-image: url(../../images/common/arw_01.svg);
}
#globalNavi .subNavi .subTopBtn a span:after {
	background-image: url(../../images/common/arw_02.svg);
	opacity: 0;
}
@media only screen and (min-width:992px) {
	.noT #globalNavi .subNavi .subTopBtn a:hover {
		color: #fff;
		background-color: #e5160b;
	}
	.noT #globalNavi .subNavi .subTopBtn a:hover span:before {
		opacity: 0;
	}
	.noT #globalNavi .subNavi .subTopBtn a:hover span:after {
		opacity: 1;
	}
}
@media only screen and (max-width:991px) {
	#globalNavi .subNavi {
		position: static;
		padding: 0 0 0 40px;
		border-top: #e5160b solid 1px;
	}
	#globalNavi .subNavi .subInner {
		max-width: none;
	}
	#globalNavi .subNavi .subTopBtn {
		margin-bottom: 0;
		border-bottom: #e5160b solid 1px;
	}
	#globalNavi .subNavi .subTopBtn a {
		position: relative;
		padding: 14px 0;
		color: #000;
		font-size: 14px;
		text-align: left;
		letter-spacing: 0;
		border: none;
		background-color: transparent;
	}
	#globalNavi .subNavi .subTopBtn a:before {
		position: absolute;
		top: 50%;
		right: 12px;
		display: block;
		content: '';
		width: 7px;
		height: 7px;
		margin-top: -4px;
		border-top: #e5160b solid 1px;
		border-right: #e5160b solid 1px;
		transform: rotate(45deg);
	}
	#globalNavi .subNavi .subTopBtn a span {
		padding-right: 0;
	}
	#globalNavi .subNavi .subTopBtn a span:before,
	#globalNavi .subNavi .subTopBtn a span:after {
		display: none;
	}
}




/* subNavi subBoxStyle */
#globalNavi .subBoxStyle .list {
	overflow: hidden;
}
#globalNavi .subBoxStyle .list ul {
	display: flex;
	justify-content: center;
	margin: -50px -25px 0;
	flex-wrap: wrap;
}
#globalNavi .subBoxStyle .list li {
	box-sizing: border-box;
	width: 33.3333%;
	padding: 50px 25px 0;
}
#globalNavi .subBoxStyle .list li a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #e5160b;
	border: #cd0012 solid 1px;
}
#globalNavi .subBoxStyle .list li .img {
	position: relative;
	height: 180px;
	background: no-repeat center center;
	background-size: cover;
}
#globalNavi .subBoxStyle .list li .img .sq {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 68px;
	height: 68px;
	color: #fff;
	background-color: #cd0012;
	text-align: center;
	transform: translate(-50%,-50%);
	line-height: 1;
}
#globalNavi .subBoxStyle .list li .txt {
	display: table;
	width: 100%;
	height: 50px;
	font-size: 15px;
	line-height: 1.2;
}
#globalNavi .subBoxStyle .list li .txt .cell {
	display: table-cell;
	vertical-align: middle;
}
#globalNavi .subBoxStyle .list li .txt .sptxt {
	display: none;
}
#globalNavi .subBoxStyle .list li .txt .ico {
	position: relative;
	display: inline-block;
	width: 38px;
	text-indent: -9999px;
}
#globalNavi .subBoxStyle .list li .txt .ico:before,
#globalNavi .subBoxStyle .list li .txt .ico:after {
	position: absolute;
	top: 50%;
	left: 20%;
	display: block;
	content: '';
	width: 60%;
	height: 1px;
	background-color: #e5160b;
	transition: 0.3s;
}
#globalNavi .subBoxStyle .list li .txt .ico:before {
	transform: rotate(45deg);
}
#globalNavi .subBoxStyle .list li .txt .ico:after {
	transform: rotate(-45deg);
}

@media only screen and (min-width:992px) {
	.noT #globalNavi .subBoxStyle .list li a:hover {
		color: #fff;
		background-color: #e5160b;
	}
	.noT #globalNavi .subBoxStyle .list li a:hover .txt .ico:before,
	.noT #globalNavi .subBoxStyle .list li a:hover .txt .ico:after {
		background-color: #fff;
	}
}
@media only screen and (max-width:991px) {
	#globalNavi .subBoxStyle .list ul {
		display: block;
		margin: 0;
	}
	#globalNavi .subBoxStyle .list li {
		width: auto;
		padding: 0;
	}
	#globalNavi .subBoxStyle .list li + li {
		border-top: #e5160b solid 1px;
	}
	#globalNavi .subBoxStyle .list li a {
		position: relative;
		color: #000;
		border: none;
		text-align: left;
	}
	#globalNavi .subBoxStyle .list li a:before {
		position: absolute;
		top: 50%;
		right: 12px;
		display: block;
		content: '';
		width: 7px;
		height: 7px;
		margin-top: -4px;
		border-top: #e5160b solid 1px;
		border-right: #e5160b solid 1px;
		transform: rotate(45deg);
	}
	#globalNavi .subBoxStyle .list li .img {
		display: none;
	}
	#globalNavi .subBoxStyle .list li .txt {
		height: 50px;
		font-size: 14px;
	}
	#globalNavi .subBoxStyle .list li .txt .sptxt {
		display: inline-block;
		margin-right: 20px;
		font-size: 10px;
	}
	#globalNavi .subBoxStyle .list li .txt .ico {
		width: auto;
		text-indent: 0;
	}
	#globalNavi .subBoxStyle .list li .txt .ico:before,
	#globalNavi .subBoxStyle .list li .txt .ico:after {
		display: none;
	}
}


#globalNavi .navi_projects .list li:nth-child(1) .img {
	background-image: url(../../images/common/projects_img01.jpg);
}
#globalNavi .navi_projects .list li:nth-child(2) .img {
	background-image: url(../../images/common/projects_img02.jpg);
}
#globalNavi .navi_projects .list li:nth-child(3) .img {
	background-image: url(../../images/common/projects_img03.jpg);
}

#globalNavi .navi_feature .list li:nth-child(1) .img {
	background-image: url(../../images/common/feature_img01.jpg);
}
#globalNavi .navi_feature .list li:nth-child(2) .img {
	background-image: url(../../images/common/feature_img02_2025.jpg);
}
#globalNavi .navi_feature .list li:nth-child(3) .img {
	background-image: url(../../images/common/feature_img03.jpg?v=2);
}

#globalNavi .navi_career .list li:nth-child(1) .img {
	background-image: url(../../images/common/career_img01.jpg?v=2);
}
#globalNavi .navi_career .list li:nth-child(2) .img {
	background-image: url(../../images/common/career_img02.jpg?v=2);
}
#globalNavi .navi_career .list li:nth-child(3) .img {
	background-image: url(../../images/common/career_img03.jpg);
}



/* subNavi navi_navi_job-people */
#globalNavi .navi_job-people .list {
	overflow: hidden;
}
#globalNavi .navi_job-people .list ul {
	display: flex;
	margin: -20px -25px 0;
	flex-wrap: wrap;
}
#globalNavi .navi_job-people .list li {
	box-sizing: border-box;
	width: 33.3333%;
	padding: 20px 25px 0;
	line-height: 1.1;
}
#globalNavi .navi_job-people .list li a {
	box-sizing: border-box;
	display: table;
	width: 100%;
	color: #e5160b;
	font-size: 12px;
	text-decoration: none;
	border: #e5160b solid 1px;
	background-color: #fff;
	table-layout: fixed;
}
#globalNavi .navi_job-people .list li a .img,
#globalNavi .navi_job-people .list li a .txt {
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}
#globalNavi .navi_job-people .list li .img {
	width: 65px;
}
#globalNavi .navi_job-people .list li .txt {
	/* padding-left: 2px; */
}
#globalNavi .navi_job-people .list li .txt .tb {
	display: table;
	width: 100%;
}
#globalNavi .navi_job-people .list li .txt .tb > * {
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}
#globalNavi .navi_job-people .list li .txt .tb .num {
	width: 4.1em;
}
#globalNavi .navi_job-people .list li .txt small {
	font-size: 11px;
}
@media only screen and (min-width:992px) {
	.noT #globalNavi .navi_job-people .list li a:hover {
		color: #fff;
		background-color: #e5160b;
	}
}
@media only screen and (max-width:991px) {
	#globalNavi .navi_job-people .list ul {
		justify-content: space-between;
		margin: 0;
	}
	#globalNavi .navi_job-people .list li {
		width: 49%;
		padding: 0;
		border-bottom: #e5160b solid 1px;
	}
	#globalNavi .navi_job-people .list li:nth-child(11),
	#globalNavi .navi_job-people .list li:nth-child(12) {
		border-bottom: none;
	}
	#globalNavi .navi_job-people .list li a {
		position: relative;
		height: 50px;
		padding-right: 20px;
		color: #000;
		border: none;
	}
	#globalNavi .navi_job-people .list li a:before {
		position: absolute;
		top: 50%;
		right: 12px;
		display: block;
		content: '';
		width: 7px;
		height: 7px;
		margin-top: -4px;
		border-top: #e5160b solid 1px;
		border-right: #e5160b solid 1px;
		transform: rotate(45deg);
	}
	#globalNavi .navi_job-people .list li .img {
		width: 0;
		display: none;
	}
	#globalNavi .navi_job-people .list li .txt {
		padding-left: 0;
		width: 100%;
	}
	#globalNavi .navi_job-people .list li .txt .tb > * {
		padding-left: 8px;
	}
	#globalNavi .navi_job-people .list li .txt .tb .num {
		width: 2em;
		padding: 0;
		font-size: 14px;
		text-align: center;
	}
	#globalNavi .navi_job-people .list li .txt .tb .num span {
		display: block;
		margin-bottom: 1px;
		font-size: 10px;
	}
	#globalNavi .navi_job-people .list li .txt small {
		font-size: 9px;
	}
}


/* entryBtn
-------------------------*/
#globalNavi .entryBtn {
	position: absolute;
	top: 0;
	right: 0;
	width: 104px;
	height: 100%;
}
#globalNavi .entryBtn a {
	display: table;
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	background-color: #e5160b;
	text-decoration: none;
}
#globalNavi .entryBtn a span {
	display: table-cell;
	vertical-align: middle;
}
#globalNavi .entryBtn a span > * {
	display: block;
	font-weight: 500;
	line-height: 1;
}
#globalNavi .entryBtn a small {
	margin-bottom: 5px;
	font-size: 10px;
}
#globalNavi .entryBtn a strong {
	font-size: 18px;
	letter-spacing: 0.1em;
}
#globalNavi .entryBtn a img {
	display: none;
}
@media only screen and (max-width:991px) {
	#globalNavi .entryBtn {
		position: static;
		width: auto;
		height: auto;
		margin-top: 35px;
	}
	#globalNavi .entryBtn a {
		display:  block;
		width: auto;
		height: auto;
		max-width: 250px;
		margin: 0 auto;
		padding: 15px 0;
		background: #e18d36;
		background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
		background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
		background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	}
	#globalNavi .entryBtn a span {
		display: none;
	}
	#globalNavi .entryBtn a img {
		display: block;
		max-width: 165px;
		margin: 0 auto;
	}
}


/* officialBtn
-------------------------*/
#globalNavi .officialBtn {
	display: none;
}
@media only screen and (max-width:991px) {
	#globalNavi .officialBtn {
		display: block;
		max-width: 250px;
		margin: 25px auto 0;
	}
	#globalNavi .officialBtn a {
		display: block;
		padding: 10px 0;
		color: #e6160b;
		font-size: 13px;
		text-align: center;
		font-weight: 700;
		text-decoration: none;
		line-height: 1.1;
		border: #e6160b solid 3px;
		border-radius: 40px;
	}
	#globalNavi .officialBtn a span {
		position: relative;
		display: inline-block;
		padding-right: 22px;
	}
	#globalNavi .officialBtn a span:before {
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		content: '';
		width: 16px;
		height: 16px;
		margin-top: -8px;
		background: url(../../images/common/ico_blank.svg) no-repeat center center;
		background-size: contain;
	}
}



/* headerSns
-------------------------*/
#globalNavi .headerSns {
	display: none;
}
@media only screen and (max-width:991px) {
	#globalNavi .headerSns {
		display: flex;
		justify-content: space-between;
		max-width: 260px;
		margin: 20px auto 0;
	}
	#globalNavi .headerSns li {
		width: 16%;
	}
}




/*************************************************

 spMenu

*************************************************/
#spMenu {
	display: none;
}
@media only screen and (max-width:991px) {
	#spMenu {
		overflow: hidden;
		position: absolute;
		top: 0;
		right: 0;
		width: 55px;
		height: 100%;
		display: block;
		cursor: pointer;
	}
	#spMenu span {
		position: absolute;
		top: 32px;
		left: 0;
		display: block;
		width: 100%;
		color: #e6160b;
		font-size: 10px;
		font-weight: 700;
		text-align: center;
		line-height: 1;
	}
	#spMenu:before,
	#spMenu:after {
		position: absolute;
		top: 10px;
		left: 50%;
		display: block;
		content: '';
		width: 30px;
		height: 21px;
		margin-left: -15px;
		background: no-repeat center center;
		background-size: 100% auto;
		transition: 0.2s;
	}
	#spMenu:before {
		background-image: url(../../images/common/spmenu_close.svg);
	}
	#spMenu:after {
		background-image: url(../../images/common/spmenu_open.svg);
		opacity: 0;
	}
	.open #spMenu:before {
		opacity: 0;
	}
	.open #spMenu:after {
		opacity: 1;
	}
}



/*************************************************

 container

*************************************************/
#container {
	padding-top: 60px;
}
@media only screen and (max-width:991px) {
	#container {
		padding-top: 50px;
	}
}





/*************************************************

 footer

*************************************************/
#footer {
	position: relative;
}
@media only screen and (max-width:767px) {
	#footer {
		padding-bottom: 65px;
	}
	.footerInner {
		margin: 0 20px;
		padding: 40px 0;
		background: #d90a00;
		background: -moz-linear-gradient(top,  #d90a00 0%, #e01905 50%, #e18d36 100%);
		background: -webkit-linear-gradient(top,  #d90a00 0%,#e01905 50%,#e18d36 100%);
		background: linear-gradient(to bottom,  #d90a00 0%,#e01905 50%,#e18d36 100%);
	}
}

/* pageTop
-------------------------*/
#pageTop {
	position: absolute;
	top: 40px;
	left: 0;
	width: 100%;
	z-index: 50;
}
#pageTop > div {
	position: fixed;
	bottom: 0;
	/*right: calc(50% - 550px);*/
	right: 5%;
	display: none;
	margin-right: -30px;
	padding-bottom: 10px;
	z-index: 50;
	line-height: 0;
	animation-name: fuwafuwa;
	animation-duration: 3s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;

}
#pageTop.scrolling > div {
	animation: none;
	transform: none;
}
#pageTop.stop > div {
	position: absolute;
}
@keyframes fuwafuwa {
	0% { transform: translateY(0) }
	33.33333% { transform: translateY(-8px) }
	66.66666% { transform: translateY(8px) }
	100% { transform: translateY(0) }
}

#pageTop a {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 60px;
	height: 60px;
	color: #000;
	text-align: center;
	text-decoration: none;
	border-radius: 50%;
	border: #e4160b solid 1px;
	background-color: #fff;
}
#pageTop a span {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	display: block;
	font-size: 18px;
	transform: translateY(-50%);
	transition: 0.3s;
}
.noT #pageTop a:hover span {
	opacity: 0.6;
}
@media only screen and (max-width:1155px) {
	#pageTop > div {
		right: 10px;
		margin: 0;
	}
}
@media only screen and (max-width:767px) {
	#pageTop {
		display: none !important;
	}
}




/* footerLogo
-------------------------*/
#footer .footerLogo {
	margin-bottom: 80px;
	text-align: center;
}
#footer .footerLogo a {
	display: inline-block;
}
@media only screen and (max-width:767px) {
	#footer .footerLogo {
		margin-bottom: 25px;
	}
	#footer .footerLogo a img {
		max-width: 100px;
	}
}



/* footerLogo
-------------------------*/
#footer .footerNavi {
	display: flex;
	max-width: 1000px;
	margin: 0 auto 50px;
	padding: 0 25px;
}
#footer .footerNavi [class^="box"] {
	box-sizing: border-box;
	padding: 0 20px;
}
#footer .footerNavi [class^="box"] + [class^="box"] {
	border-left: #d3d3d3 solid 1px;
}
#footer .footerNavi [class^="box"] li {
	display: block;
}
#footer .footerNavi [class^="box"] ul,
#footer .footerNavi [class^="box"] li {
	line-height: 1.2;
}
#footer .footerNavi [class^="box"] > ul {
	padding-left: 14px;
}
#footer .footerNavi [class^="box"] > ul > li + li {
	margin-top: 15px;
}
#footer .footerNavi [class^="box"] ul a {
	display: inline-block;
	color: #000;
	font-size: 10px;
	text-decoration: none;
}
#footer .footerNavi [class^="box"] > ul > li li a {
	color: #6f6f6f;
}
#footer .footerNavi .ttl {
	position: relative;
	margin-bottom: 15px;
	padding-left: 14px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}
#footer .footerNavi .ttl:before {
	position: absolute;
	top: 4px;
	left: 0;
	display: block;
	content: '';
	width: 7px;
	height: 7px;
	background-color: #e4160b;
}
#footer .footerNavi .btn {
	margin-bottom: 12px;
	line-height: 1;
}
#footer .footerNavi .btn a {
	display: inline-block;
	color: #000;
	font-size: 10px;
	text-decoration: none;
}
#footer .footerNavi .flex {
	display: flex;
	justify-content: space-between;
}
#footer .footerNavi .flex ul {
	width: 49%;
}
#footer .footerNavi .box01 { width: 18.5%; }
#footer .footerNavi .box02 { width: 45.5%; }
#footer .footerNavi .box03 { width: 18.5%; }
#footer .footerNavi .box04 { width: 19.5%; }

@media only screen and (max-width:767px) {
	#footer .footerNavi {
		display: none;
	}
}


/* footerLinks
-------------------------*/
#footer .footerLinks {
	padding: 20px 50px;
	background: #d90a00;
	background: -moz-linear-gradient(left,  #d90a00 0%, #e01905 50%, #e18d36 100%);
	background: -webkit-linear-gradient(left,  #d90a00 0%,#e01905 50%,#e18d36 100%);
	background: linear-gradient(to right,  #d90a00 0%,#e01905 50%,#e18d36 100%);
}
#footer .footerLinks > .clearfix {
	max-width: 920px;
	margin: 0 auto;
}
#footer .footerLinks .topBtn {
	float: left;
}
#footer .footerLinks .right {
	overflow: hidden;
	float: right;
}
#footer .footerLinks .right .official {
	float: left;
	line-height: 1.3;
}
#footer .footerLinks .right .official a {
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}
#footer .footerLinks .right .official a span {
	position: relative;
	display: inline-block;
	padding-right: 32px;
}
#footer .footerLinks .right .official a span:before {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	content: '';
	width: 24px;
	height: 16px;
	margin-top: -8px;
	background: url(../../images/common/ico_blank02.svg) no-repeat center center;
	background-size: contain;
}
#footer .footerLinks .right .sns {
	float: left;
	padding-left: 40px;
}
#footer .footerLinks .right .sns ul {
	display: flex;
	width: 168px;
	justify-content: space-between;
}
#footer .footerLinks .right .sns ul li {
	width: 16%;
}
@media only screen and (max-width:767px) {
	#footer .footerLinks {
		padding: 0;
		background: transparent;
	}
	#footer .footerLinks .topBtn {
		display: none;
	}
	#footer .footerLinks .right {
		float: none;
	}
	#footer .footerLinks .right .official {
		float: none;
		margin-bottom: 35px;
		line-height: 1;
	}
	#footer .footerLinks .right .official a {
		box-sizing: border-box;
		max-width: 250px;
		display: block;
		margin: 0 auto;
		padding: 10px 0;
		text-align: center;
		border: #fff solid 3px;
		border-radius: 40px;
	}
	#footer .footerLinks .right .official a span {
		padding-right: 25px;
	}
	#footer .footerLinks .right .official a span:before {
		width: 16px;
		height: 16px;
		margin-top: -8px;
		background-image: url(../../images/common/ico_blank_w.svg);
	}
	#footer .footerLinks .right .sns {
		float: none;
		padding-left: 0;
	}
	#footer .footerLinks .right .sns ul {
		width: auto;
		max-width: 240px;
		margin: 0 auto;
	}
	#footer .footerLinks .right .sns ul li {
		width: 16%;
	}
}


/* spTxts
-------------------------*/
#footer .spTxts {
	margin-top: 30px;
	color: #fff;
	text-align: center;
}
#footer .spTxts dt {
	margin-bottom: 13px;
	font-size: 15px;
}
#footer .spTxts dd {
	font-size: 11px;
	line-height: 1.5;
}


/* copyright
-------------------------*/
#footer .copyright {
	padding: 20px 0;
	font-size: 9px;
	text-align: center;
	letter-spacing: 0.2em;
}
@media only screen and (max-width:767px) {
	#footer .copyright {
		padding: 8px 0;
		font-size: 8px;
		border-top: #e1160b solid 1px;
	}
}


/* spFixedBanner
-------------------------*/
#spFixedBanner {
	display: none;
}
@media only screen and (min-width:768px) {
	#spFixedBanner {
		display: none !important;
	}
}
@media only screen and (max-width:767px) {
	#spFixedBanner {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		display: block;
		text-align: center;
		line-height: 0;
		z-index: 30;
	}
	#spFixedBanner a {
		display: block;
		padding: 15px 0;
		background: #e18d36;
		background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
		background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
		background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
		opacity: 0;
		pointer-events: none;
	}
	#spFixedBanner a img {
		width: 170px;
	}
	#spFixedBanner.action a {
		pointer-events: auto;
		transition-duration: 0.5s;
		opacity: 1;
	}
	#spFixedBanner.action.scrolling a {
		opacity: 0;
		pointer-events: none;
	}
}




/* cube 2025 */

#link_area {
	text-align: center;
}

#link_area .link_area_inner {
	margin: 0 auto;
	padding: 60px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media only screen and (min-width:768px) {
	.link_area_inner {
		width: 100%;
		flex-direction: row;
		gap: 3%;
	}
}
@media only screen and (max-width:767px) {
	.link_area_inner {
		width: 90%;
		flex-direction: column;
		gap: 10px 3%;
	}
}


#link_area .link_area_inner  img {
}



/*************************************************

 commonRecruitArea

*************************************************/
.commonRecruitArea {
	padding: 100px 0;
	text-align: center;
}
.commonRecruitArea .inTitle {
	margin-bottom: 40px;
	line-height: 1;
}
.commonRecruitArea .inTitle > * {
	display: block;
}
.commonRecruitArea .inTitle strong {
	display: inline-block;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: 0.05em;
	background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
	background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.commonRecruitArea .inTitle small {
	margin-top: 15px;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.commonRecruitArea .inBtn a {
	display: block;
	max-width: 500px;
	margin: 0 auto;
	padding: 23px 0;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	text-decoration: none;
	background: #e18d36;
	background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
	background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
}
.commonRecruitArea .inBtn a span {
	position: relative;
	display: inline-block;
	padding-left: 40px;
}
.commonRecruitArea .inBtn a span:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	content: '';
	width: 30px;
	height: 24px;
	margin-top: -12px;
	background: url(../../images/common/arw_03.svg) no-repeat center center;
	background-size: contain;
}

@media only screen and (max-width:767px) {
	.commonRecruitArea {
		padding: 35px 0;
	}
	.commonRecruitArea .inTitle {
		margin-bottom: 35px;
	}
	.commonRecruitArea .inTitle img {
		width: 105px;
	}
	.commonRecruitArea .inTitle strong {
		font-size: 25px;
	}
	.commonRecruitArea .inTitle small {
		font-size: 13px;
	}
	.commonRecruitArea .inBtn a {
		max-width: 260px;
		padding: 18px 0;
		font-size: 20px;
	}
	.commonRecruitArea .inBtn a span {
		padding-left: 35px;
	}
	.commonRecruitArea .inBtn a span:before {
		width: 25px;
		height: 20px;
		margin-top: -10px;
	}
}




/*************************************************

 each common small section style

*************************************************/

/* commonBorderSec
-------------------------*/
.commonBorderSec {
	position: relative;
}
.commonBorderSec:before,
.commonBorderSec:after {
	position: absolute;
	top: 0;
	display: block;
	content: '';
	width: 1px;
	height: 0;
	background-color: #e1160b;
	transition-duration: 0.4s;
	transition-timing-function: cubic-bezier(.8,.01,.54,1);
	z-index: 10;
}
.commonBorderSec.on:before,
.commonBorderSec.on:after {
	height: 100%;
}
.commonBorderSec:before {
	/*left: calc(50% - 520px);*/
	left: 5%;
}
.commonBorderSec:after {
	/*right: calc(50% - 520px);*/
	right: 5%;
}
@media only screen and (max-width:1155px) {
	.commonBorderSec:before {
		left: 40px;
	}
	.commonBorderSec:after {
		right: 40px;
	}
}
@media only screen and (max-width:767px) {
	.commonBorderSec:before {
		left: 20px;
	}
	.commonBorderSec:after {
		right: 20px;
	}
}



/* commonCenterBdr
--------------------------------*/
.commonCenterBdr {
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 1px;
	background-color: #e1160b;
	transition-duration: 0.6s;
	z-index: 2;
}
.commonCenterBdr.on {
	left: 0;
	width: 100%;
}

/* commonFixedTxt
--------------------------------*/
.commonFixedTxtLeft,
.commonFixedTxtRight {
	position: relative;
	top: 0;
	width: 100%;
	z-index: 10;
}
.commonFixedTxtLeft > div,
.commonFixedTxtRight > div {
	position: absolute;
	top: 0;
	height: 10em;
	font-size: 15px;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
	line-height: 1;
}
.commonFixedTxtLeft > div {
	/*left: calc(50% - 555px);*/
	left: 5%;
	margin-left: -25px;
}
.commonFixedTxtRight > div {
	/*right: calc(50% - 555px);*/
	right: 5%;
	margin-right: -25px;
}
.commonFixedTxtLeft.fix > div,
.commonFixedTxtRight.fix > div {
	position: fixed;
	top: 80px;
}
@media only screen and (max-width:1155px) {
	.commonFixedTxtLeft > div {
		left: 13px;
		margin: 0;
	}
	.commonFixedTxtRight > div {
		right: 13px;
		margin: 0;
	}
}
@media only screen and (max-width:767px) {
	.commonFixedTxtLeft > div,
	.commonFixedTxtRight > div {
		font-size: 8px;
	}
	.commonFixedTxtLeft > div {
		left: 6px;
	}
	.commonFixedTxtRight > div {
		right: 6px;
	}
}


/* breadcrumb
--------------------------------*/
.breadcrumb {
	max-width: 900px;
	padding: 20px;
}
.breadcrumb li {
	position: relative;
	float: left;
	font-size: 11px;
}
.breadcrumb li + li {
	padding-left: 1.5em;
}
.breadcrumb li + li:before {
	position: absolute;
	top: 0;
	left: 0.3em;
	display: block;
	content: '＞';
}
.breadcrumb li a {
	display: block;
	color: #000;
	text-decoration: none;
}
@media only screen and (max-width:767px) {
	.breadcrumb {
		display: none;
	}
}


/* commonAnimeBoder
-------------------------*/
.commonAnimeBoder {
	position: relative;
	height: 50px;
	width: 100%;
	z-index: 2;
}
.commonAnimeBoder > div {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 50px;
	display: block;
	content: '';
	background-color: #e4160b;
	clip:rect(0px,1px,0px,0px);
	animation-name: clipAnime;
	animation-duration: 2.5s;
	animation-iteration-count: infinite;
}
@keyframes clipAnime {
	0% {
		clip:rect(0px,1px,0px,0px);
	}
	40% {
		clip:rect(0,1px,50px,0);
	}
	60% {
		clip:rect(0,1px,50px,0);
	}
	100% {
		clip:rect(50px,1px,50px,0);
	}
}

/* commonAnchor
-------------------------*/
.commonAnchor {
	overflow: hidden;
	position: relative;
	top: -60px;
	height: 0;
}
@media only screen and (max-width:767px) {
	.commonAnchor {
		top: -50px;
	}
}


/* effect anime
--------------------------------*/
.effect {
	position: relative;
	overflow: hidden;
}
.effect > * {
	opacity: 0;
	transition-delay: 0.4s;
}
.effect:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: #e5160b;
	transform: translateX(-105%);
	opacity: 1;
	z-index: 3;
}

.effect.on > * {
	opacity: 1;
}
.effect.on:after {
	animation-name: effectAnime;
	animation-duration: 1s;
	animation-delay: 0s;
	animation-timing-function: cubic-bezier(.8,.01,.54,1);
	animation-iteration-count: forwards;
}
@keyframes effectAnime {
	0% {
		transform: translateX(-105%);
	}
	30% {
		transform: translateX(0);
	}
	70% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(100%);
	}
}



/* fade anime
--------------------------------*/
.effectFU,
.effectFL,
.effectFR,
.effectFD {
	opacity: 0;
	transition-duration: 1.3s;
}

.effectIn {
	opacity: 0;
	transition-duration: 1.8s;
}

.effectFU {transform: translateY(50px);}
.effectFL {transform: translateX(50px);}
.effectFR {transform: translateX(-50px);}
.effectFD {transform: translateY(-50px);}
@media only screen and (max-width:767px) {
	.effectFU {transform: translateY(20px);}
	.effectFL {transform: translateX(20px);}
	.effectFR {transform: translateX(-20px);}
	.effectFD {transform: translateY(-20px);}
}


.effectFU.on,
.effectFL.on,
.effectFR.on,
.effectFD.on,
.effectIn.on {
	opacity: 1;
	transform: translate(0,0);
}
