@charset "utf-8";

/* ========================================================================================

Name: design.css

Description: Base Design And Common Settings

Update: 2021.12.02

======================================================================================== */

/* fonts
-------------------------------------------------- */

/* 全体共通
-------------------------------------------------- */
html {
	height:100%;
}

body {
	/* 英語用 */
	font-family: 'Roboto', sans-serif;
		-webkit-text-size-adjust:100%;
	font-size:15px;
	font-weight:400;
	line-height:1.9em;
	color: #000000;
	text-align:center;
	height:100%;
	position:relative;
	height:100%;
	background-color:#ffffff;
}
a {
	color: #027ac7;
	overflow: hidden;
	outline: none;
	text-decoration:none;
	transition:all ease-out 0.3s;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

a:hover {
	color:#000000;
	text-decoration: none;
	transition:all ease-out 0.3s;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

a:hover img {
	opacity:0.8;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

*:hover {
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

.link_txt a {
	color: #cc0000;
	overflow: hidden;
	outline: none;
	text-decoration:underline;
}

.link_txt a:hover {
	color: #cc0000;
	text-decoration:none;
}

.clearfix:after {
	content: "."; display: block; clear: both; height: 0; line-height: 0; font-size: 0; visibility: hidden;
}

.clearfix {
	_height: 1px; min-height: 1px;
	*zoom: 1;
}

* html .clearfix {
	height: 1%;
	display: inline-block;
}

.rollover:hover{
	opacity:0.8;
	filter: alpha(opacity=70);
}

/* IE8以下でレイアウトが大崩れしないように */
header,
footer,
main,
article,
section,
aside {
	display:block;
}

.font-roboto {
	font-family: 'Roboto', sans-serif;
}

.font-Noto-Serif {
	font-family: 'Noto Serif JP', serif;
}

.font-yumin {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

i.far {
	margin:0 5px;
}

@media screen and (min-width: 768px){
	
	a[href*="tel:"] {
		display:inline-block;
		line-height:1.33em;
		pointer-events: none;
		margin-bottom:-3px;
		text-decoration:none;
		color:#000 !important;
	}
	
}

@media screen and (max-width: 767px){
	
	html {
		height:100%;
	}
	
	body {
		-webkit-text-size-adjust:100%;
		font-size:14px;
		line-height:1.5em;
		height:100%;
		position:relative;
	}
	
}


/* ページ表示のフェード効果
-------------------------------------------------- */

.ready .earthExpand {
	opacity: 0;
}

.earthExpand.anime-start {
	animation-name:anime-earthExpand;
	animation-duration:0.5s;
	animation-delay: 2.0s;
	animation-fill-mode:forwards;
	animation-timing-function: cubic-bezier(.24,.92,.8,1.13);
	opacity: 0;
}

@media screen and (max-width: 767px){
	
	.earthExpand.anime-start {
		animation-delay: 0s;
	}
	
}

@keyframes anime-earthExpand {
	from {
		opacity: 0;
		transform:scale(0.6,0.6);
	}
	to {
		opacity: 1;
		transform:scale(1,1);
	}
}


.ready .slideInUp {
	opacity: 0;
}

.slideInUp.anime-start {
	animation-name:anime-slideInUp;
	animation-duration:0.8s;
	animation-delay: 0.3s;
	animation-fill-mode:forwards;
	animation-timing-function: cubic-bezier(.28,.68,.5,.94);
	animation-timing-function: cubic-bezier(.17,.67,.53,.98);
	opacity: 0;
}

@keyframes anime-slideInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ready .slideInLeft {
	opacity: 0;
}

.slideInLeft.anime-start {
	animation-name:anime-slideInLeft;
	animation-duration:0.8s;
	animation-delay: 0.5s;
	animation-fill-mode:forwards;
	animation-timing-function: cubic-bezier(.28,.68,.5,.94);
	opacity: 0;
}

@keyframes anime-slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-20px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.ready .slideInRight {
	opacity: 0;
}

.slideInRight.anime-start {
	animation-name:anime-slideInRight;
	animation-duration:0.8s;
	animation-delay: 0.5s;
	animation-fill-mode:forwards;
	animation-timing-function: cubic-bezier(.28,.68,.5,.94);
	opacity: 0;
}

@keyframes anime-slideInRight {
	from {
		opacity: 0;
		transform: translateX(20px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.ready .fade {
	opacity: 0;
}

.fade.anime-start {
	animation-name:anime-fade;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	animation-timing-function: cubic-bezier(.28,.68,.5,.94);
	opacity: 0;
}

@keyframes anime-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}


.ready .expand {
	opacity: 0;
}

.expand.anime-start {
	animation-name:anime-expand;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	animation-timing-function: cubic-bezier(.28,.68,.5,.94);
	opacity: 0;
}

@keyframes anime-expand {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


.delay02.anime-start {
	animation-delay: 0.8s;
}
.delay03.anime-start {
	animation-delay: 1.2s;
}
.delay04.anime-start {
	animation-delay: 1.6s;
}



@media screen and (min-width: 768px) and (max-width: 1000px){

	.lst-feature .lst-feature-outline:nth-child(odd) {
		animation-delay: 0.4s;
	}

	.lst-feature .lst-feature-outline:nth-child(even) {
		animation-delay: 0.8s;
	}
	
}

@media screen and (max-width: 767px){
	
	.delay02.anime-start {
		animation-delay: 0.4s;
	}
	.delay03.anime-start {
		animation-delay: 0.4s;
	}
	.delay04.anime-start {
		animation-delay: 0.4s;
	}
		
}


/* 画像マウスオン時に画像拡大（img）
-------------------------------------------------- */

.pct_zoom {
	overflow:hidden;
}

.pct_zoom img {
	transition: transform 0.15s ease-out;
}
.pct_zoom img:hover {
	opacity:1;
	transform: scale(1.12);
	transition: transform 0.3s ease-out;
}



/* HEADER
-------------------------------------------------- */

header {
	width:100%;
	height:170px;
	position:fixed;
	z-index:200;
	/*overflow:hidden;*/
	transition: 0.80s cubic-bezier(0.19, 1, 0.22, 1);
	pointer-events: none;
}

.scrolled header {
	transition: 0.80s cubic-bezier(0.19, 1, 0.22, 1);
	background-color:rgba(0,0,0,0.25);
}

header > .inner {
	width:auto;
	height:110px;
	margin:auto;
	text-align:left;
	position:relative;
}

#header-logo {
	position:absolute;
	left:84px;
	top:70px;
	width:150px;
	pointer-events: auto;
}

.nav-global {
	pointer-events: auto;
}

.nav-global a {
	display:block;
	color:#ffffff;
	padding:10px 2px;
	margin:0 6px;
	font-size:16px;
	line-height:1.5em;
	position:relative;
	overflow:visible;
}

.nav-global > ul > li > a {
	padding:10px 2px 20px;
}

.nav-global > ul > li > a::after {
	position:absolute;
	content:"";
	left:0;
	bottom:10px;
	background-color:#FFFFFF;
	height:2px;
	width:0;
	transition: 0.80s cubic-bezier(0.19, 1, 0.22, 1);
}

.nav-global > ul > li > a:hover::after {
	transition: 0.40s cubic-bezier(0.19, 1, 0.22, 1);
	width:100%;
}

/* Currnet Page */
.ctg-building .nav-global > ul > li.nav-building > a::after {
	width:100%;
}
.ctg-energy .nav-global > ul > li.nav-energy > a::after {
	width:100%;
}
.ctg-company .nav-global > ul > li.nav-company > a::after {
	width:100%;
}
.ctg-vision .nav-global > ul > li.nav-vision > a::after {
	width:100%;
}
.ctg-recruit .nav-global > ul > li.nav-recruit > a::after {
	width:100%;
}
.ctg-contact .nav-global > ul > li.nav-contact > a::after {
	width:100%;
}

.nav-lang {
	position:absolute;
	right:70px;
	top:20px;
	display:flex;
	pointer-events: auto;
}

.nav-lang li {
	list-style:none;
	color:#ffffff;
	font-size:13px;
	margin:0 1.5px;
}

.nav-lang li a ,
.nav-lang li span {
	color:#ffffff;
	padding:3px 20px 4px;
	background-color:rgba(0,0,0,0.1);
}

.nav-lang li a:hover {
	background-color:rgba(0,0,0,0.3);
}

.nav-global > ul {
	position:absolute;
	left:320px;
	right:44px;
	top:60px;
	display:flex;
	justify-content: flex-end;
}

.nav-global > ul > li {
	padding:0 20px;
	position:relative;
	display:flex;
	overflow:visible;
}

.nav-global > ul > li::after {
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:1px;
	height:50px;
	background-color:rgba(255,255,255,0.5);
	transform:rotate(18deg);
}

.nav-global > ul > li:nth-child(1)::after {
	display:none;
}

.nav-global > ul > li span.txt-sub {
	display:block;
	font-size:11px;
	font-weight:400;
	line-height:1.33em;
	padding-top:15px;
	position:absolute;
}

.nav-global > ul > li > ul {
	/*
	display:none;
	*/
	list-style:none;
	position:absolute;
	background-color:#fff;
	top:75px;
	left:13px;
	box-sizing:border-box;
	width:284px;
	padding:30px 20px;
	border-radius:8px;
	opacity:0;
	pointer-events: none;
	transform: translateY(10px);
	transition: 0.70s cubic-bezier(0.19, 1, 0.22, 1);
	filter: drop-shadow(0px 0px 6px rgba(155,155,155,0.3));
}

.nav-global > ul > li.nav-recruit > ul {
	left:-60px;
}

.nav-global > ul > li.nav-contact > ul {
	left:-160px;
}

.nav-global > ul > li:hover > ul {
	opacity:1;
	pointer-events:auto;
	transform: translateY(0);
}

.nav-global > ul > li > ul > li {
	display:block;
}

.nav-global > ul > li > ul a {
	color:#000;
	font-weight:400;
}

.nav-global > ul > li > a span.icon {
	display:none;
}

.nav-global > ul > li > ul a span {
	display:block;
	font-size:11px;
	line-height:1.33em;
}

.nav-global > ul > li > ul > li > ul {
	display:none;
}


@media screen and (min-width: 1021px) and (max-width: 1350px){
		
	.nav-global a {
	}
			
}

@media screen and (max-width: 1190px){
	
	header {
		width:100%;
		height:55px;
		position:fixed;
		z-index:200;
		/*overflow:hidden;*/
		transition: 0.80s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	.scrolled header {
		transition: 0.80s cubic-bezier(0.19, 1, 0.22, 1);
		background-color:rgba(0,0,0,0.25);
	}
	
	header > .inner {
		width:auto;
		height:55px;
		margin:auto;
		text-align:left;
		position:relative;
	}
	
	#header-logo {
		position:absolute;
		left:20px;
		top:15px;
		width:100px;
	}
	
	#btn-hamburger {
		position:absolute;
		display:block;
		width:25px;
		height:20px;
		right:20px;
		top:17px;
		pointer-events: auto;
	}
	
	#btn-hamburger span {
		position:absolute;
		display:block;
		width:25px;
		height:2px;
		/*transform:rotate(45deg);*/
		background-color:#ffffff;
		left:0;
		transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	#btn-hamburger span:nth-child(1) {
		top:5px;
	}
	
	#btn-hamburger span:nth-child(2) {
		bottom:5px;
	}
	
	.menu-open #btn-hamburger span:nth-child(1) {
		top:9px;
		transform:rotate(40deg);
	}
	
	.menu-open #btn-hamburger span:nth-child(2) {
		bottom:9px;
		transform:rotate(-40deg);
	}
	
	.nav-lang {
		position:absolute;
		right:auto;
		left:0;
		top:65px;
		width:100%;
		pointer-events: auto;
		display:none;
		text-align:left;
	}
	
	.menu-open .nav-lang {
		display:block;
	}
	
	.nav-lang li {
		display:inline-block;
		list-style:none;
		color:#ffffff;
		font-size:13px;
		margin:0 1.5px;
	}
	
	.nav-lang li a ,
	.nav-lang li span {
		color:#ffffff;
		padding:3px 20px 4px;
		background-color:rgba(255,255,255,0.5);
	}
	
	.nav-lang li a:hover {
		background-color:rgba(0,0,0,0.3);
	}
	
	.nav-global {
		display:none;
		background-color:#000;
	}

	.menu-open header ,
	.menu-open header > .inner {
		height:100%;
	}
	
	.menu-open .nav-global {
		display:block;
		overflow:scroll;
		height:100%;
	}
	
	.nav-global a {
		display:block;
		color:#ffffff;
		padding:10px 2px;
		margin:0 6px;
		line-height:1.5em;
		position:relative;
	}
	
	.nav-global > ul > li > a {
		padding:10px 50px 10px 20px;
		font-weight:400;
	}
	
	.nav-global > ul > li.has-subnavi > a {
		/*pointer-events: none;*/
	}
	
	.nav-global > ul > li > a span.icon {
		display:block;
		position:absolute;
		right:5px;
		top:0;
		bottom:0;
		margin:auto;
		width:20px;
		height:20px;
	}
	.nav-global > ul > li > a span.icon > span {
		position:absolute;
		background-color:#ffffff;
		width:15px;
		height:1px;
	}
	.nav-global > ul > li > a span.icon > span:nth-child(1) {
		top:10px;
	}
	.nav-global > ul > li > a span.icon > span:nth-child(2) {
		top:10px;
		transform:rotate(90deg);
	}
	.nav-global > ul > li.active > a span.icon > span:nth-child(2) {
		top:10px;
		transform:rotate(0deg);
	}
	
	.nav-global > ul > li > a::after {
		display:none;
	}
	
	.nav-global > ul > li > a:hover::after {
		display:none;
	}
	
	.nav-global > ul {
		position:inherit;
		left:auto;
		right:auto;
		top:auto;
		display:block;
		padding:110px 0 0;
		border-bottom:1px #333 solid;
	}
	
	.nav-global > ul > li {
		padding:0;
		margin:0;
		position:relative;
		display:block;
		align-items: center;
		border-top:1px #333 solid;
	}
	
	.nav-global > ul > li::after {
		display:none;
	}
	
	.nav-global > ul > li:nth-child(1)::after {
		display:none;
	}
	
	.nav-global > ul > li span.txt-sub {
		display:block;
		font-size:10px;
		font-weight:400;
		padding-top:0;
		position:relative;
	}
	
	.nav-global > ul > li > ul {
		/*
		display:none;
		*/
		list-style:none;
		position:relative;
		background-color:transparent;
		top:auto;
		left:auto;
		box-sizing:border-box;
		width:100%;
		padding:0;
		margin:0;
		border-radius:0;
		opacity:1;
		pointer-events: auto;
		transform: translateY(0);
		transition: 0.70s cubic-bezier(0.19, 1, 0.22, 1);
		filter: drop-shadow(0px 0px 6px rgba(155,155,155,0.3));
		/*
		height:0;
		overflow:hidden;
		visibility:hidden;
		*/
		display:none;
	}
	
	li.has-subnavi.active > ul {
		/*
		visibility:visible;
		height:auto;
		transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
		*/
	}
	
	.nav-global > ul > li.nav-recruit > ul {
		left:auto;
	}
	
	.nav-global > ul > li.nav-contact > ul {
		left:auto;
	}
		
	.nav-global > ul > li:hover > ul {
		opacity:1;
		pointer-events:auto;
		transform: translateY(0);
	}
	
	.nav-global > ul > li > ul > li {
		display:block;
		border-top:1px #333 solid;
	}
	
	.nav-global > ul > li > ul > li > a {
		color:#fff;
		font-weight:400;
		padding:10px 50px 10px 50px;
	}
	
	.nav-global > ul > li > ul a span {
		display:block;
		font-size:11px;
		line-height:1.33em;
	}
	
	.nav-global > ul > li > ul > li > ul {
		display:block;
		padding:0;
	}
	.nav-global > ul > li > ul > li > ul > li {
		border-top:1px #333 solid;
	}
	
	.nav-global > ul > li > ul > li > ul > li > a {
		color:#fff;
		font-weight:400;
		padding:10px 50px 10px 80px;
	}
		
}


/* FOOTER AREA
-------------------------------------------------- */

footer {
	background-color:#0d2f5b;
	color:#ffffff;
	font-size:14px;
	font-weight:400;
	line-height:1.67em;
	padding:110px 0 130px;
}

footer > .inner {
	max-width:1160px;
	padding:0 40px;
	margin:auto;
	text-align:left;
	display:flex;
}

footer a {
	color:#ffffff;
}

footer a:hover {
	color:#d0ebfb;
}

footer .txt-profile {
	flex-shrink:0;
	width:40%;
}

footer .txt-profile .logo {
	width:150px;
	margin:0;
}

footer .txt-profile p {
	margin-top:30px;
}

footer .txt-profile .copy {
	font-size:10px;
	line-height:1.2em;
}

.nav-footer {
	display:flex;
	flex-shrink:0;
	width:60%;
}

.nav-footer > ul {
	flex-shrink:0;
	width:30%;
	list-style:none;
}

.nav-footer > ul > li {
	padding:2px 0;
}

.nav-footer > ul > li a {
	line-height:1.2em;
}

.nav-footer > ul > li.sub + li.ctg ,
.nav-footer > ul > li.ctg + li.ctg {
	margin-top:25px;
}

.nav-footer > ul > li.sub::before {
	content:"－ "
}

.nav-footer > ul > li.sub {
	text-indent:-1.2em;
	padding-left:1.2em;
}

.nav-footer > ul:nth-child(1) {
	width:40%;
}


@media screen and (min-width: 768px) and (max-width: 1000px){
	
}

@media screen and (max-width: 767px){
	
	footer {
		background-color:#0d2f5b;
		color:#ffffff;
		font-size:14px;
		font-weight:400;
		line-height:1.67em;
		padding:20px 0 20px;
	}
	
	footer > .inner {
		max-width:1160px;
		padding:0 40px;
		margin:auto;
		text-align:left;
		display:block;
	}
	
	footer a {
		color:#ffffff;
	}
	
	footer a:hover {
		color:#d0ebfb;
	}
	
	footer .txt-profile {
		width:auto;
		text-align:center;
	}
	
	footer .txt-profile .logo {
		width:110px;
		margin:0 auto;
	}
	
	footer .txt-profile p {
		margin-top:15px;
		font-size:11px;
		line-height:1.5em;
	}
	
	footer .txt-profile .copy {
		font-size:10px;
		line-height:1.2em;
	}
	
	.nav-footer {
		display:flex;
		flex-shrink:0;
		width:60%;
		display:none;
	}

}


/* BASE LAYOUT and COMMON PARTS
-------------------------------------------------- */

body > .inner {
	overflow:hidden;
	position:relative;
}

main {
	position:relative;
}

main a {
	text-decoration:underline;
}

#page-index #page-heading {
	height:463px;
	height:642px;
}

#page-contents {
	padding:20px 0 150px;
}

#page-home #page-contents {
	padding:0 0 0;
}

#page-contact #page-contents {
	max-width:700px;
	margin:80px auto 0;
	text-align:left;
}

#page-vision #page-contents {
	padding:20px 0 150px;
}

.ctg-building #page-contents {
	padding:20px 0 100px;
}

.type-index #page-heading {
	height:642px;
}

.type-grand #page-heading {
	height:463px;
}

.ctg-building #page-heading {
	background:url(../img/building/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-energy #page-heading {
	background:url(../img/energy/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-company #page-heading {
	background:url(../img/company/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-contact #page-heading {
	background:url(../img/contact/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-contact-energy #page-heading {
	background:url(../img/contact/pct_main_orange.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-news #page-heading {
	background:url(../img/news/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-vision #page-heading {
	background:url(../img/vision/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-recruit #page-heading {
	background:url(../img/recruit/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-construction_management #page-heading {
	background:url(../img/recruit/works/construction_management/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-attraction #page-heading {
	background:url(../img/recruit/attraction/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-personality #page-heading {
	background:url(../img/recruit/personality/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-faq #page-heading {
	background:url(../img/recruit/faq/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-privacy #page-heading {
	background:url(../img/privacy/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-graduate #page-heading {
	background:url(../img/recruit/graduate/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-career-index #page-heading ,
#page-career-detail #page-heading {
	background:url(../img/recruit/career/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-career-detail.ctg-career #page-heading {
	background:url(../img/recruit/career/pct_main_energy.jpg) no-repeat center top;
	background-size:cover;
}

#page-graduate-index #page-heading {
	background:url(../img/recruit/graduate/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-works-technology #page-heading {
	background:url(../img/recruit/works/technology/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-works-sales #page-heading {
	background:url(../img/recruit/works/sales/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-works-design #page-heading {
	background:url(../img/recruit/works/design/pct_main.jpg) no-repeat center top;
	background-size:cover;
}

#page-heading {
	position:relative;
}

#page-heading > .inner {
	display:flex;
	justify-content: center;
	align-items: center;
	height:100%;
}

#page-heading > .inner h1 {
	color:#ffffff;
	background-color:rgba(0,131,215,0.8);
	font-size:40px;
	font-weight:300;
	line-height:1.5em;
	padding:0.6em 1.2em;
	margin-bottom:-60px;
}

.ctg-contact.ctg-contact-energy #page-heading > .inner h1 ,
.ctg-recruit.ctg-career #page-heading > .inner h1 ,
#page-works-technology #page-heading > .inner h1 ,
.ctg-energy #page-heading > .inner h1 {
	background-color:rgba(248,150,53,0.8);
}

#page-heading > .inner h1 span.txt-sub {
	display:block;
	font-size:0.7em;
	line-height:1.2em;
	margin-top:5px;
	padding-bottom:5px;
}

#page-heading .txt-overlay {
	position:absolute;
	left:-8px;
	bottom:-12px;
	color:#fff;
	opacity:0.3;
	text-align:left;
	font-family: 'Roboto', sans-serif;
	font-size:86px;
	font-weight:100;
	line-height:1.0em;
	user-select:none;
}

.ctg-banner {
}

.ctg-banner nav {
	padding-bottom:1px;
}

.ctg-banner nav ul {
	display:flex;
	padding:0;
}

.ctg-banner nav ul li {
	position:relative;
	box-sizing:border-box;
	width:50%;
	border:1px #ffffff;
	border-right-style:solid;
	height:260px;
	display:flex;
}

.ctg-banner.bnr-col2 nav ul li {
	width:50%;
}

.ctg-banner.bnr-col3 nav ul li {
	width:33.33%;
}

.ctg-banner nav ul li:last-child {
	border:none;
}

.ctg-banner nav a {
	position:relative;
	display:block;
	width:100%;
	text-align:center;
	display:flex;
	justify-content: center;
	align-items:center;
	color:#ffffff;
	font-size:21px;
	line-height:1.33em;
	text-decoration:none;
	z-index:2;
}

.ctg-banner nav li::after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background-color:rgba(0,0,0,0.6);
	z-index:1;
	transition: 0.40s cubic-bezier(0.19, 1, 0.22, 1);
}

.ctg-banner nav li:hover::after {
	background-color:rgba(0,0,0,0.0);
}

.ctg-building .ctg-banner nav ul li:nth-child(1) {
	background:url(../img/building/btn_building.jpg) no-repeat center top;
	background-size:cover;
}
.ctg-building .ctg-banner nav ul li:nth-child(2) {
	background:url(../img/building/btn_feature.jpg) no-repeat center top;
	background-size:cover;
}
.ctg-building .ctg-banner nav ul li:nth-child(3) {
	background:url(../img/building/btn_safety.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-energy .ctg-banner nav ul li:nth-child(1) {
	background:url(../img/energy/btn_energy.jpg) no-repeat center top;
	background-size:cover;
}
.ctg-energy .ctg-banner nav ul li:nth-child(2) {
	background:url(../img/energy/btn_center.jpg) no-repeat center top;
	background-size:cover;
}

.ctg-company .ctg-banner nav ul li:nth-child(1) {
	background:url(../img/company/btn_company.jpg) no-repeat center top;
	background-size:cover;
}
.ctg-company .ctg-banner nav ul li:nth-child(2) {
	background:url(../img/company/btn_quality.jpg) no-repeat center top;
	background-size:cover;
}


@media screen and (min-width: 768px) and (max-width: 1000px){
	
}


@media screen and (max-width: 767px){
	
	body > .inner {
		overflow:hidden;
		position:relative;
	}
	
	main {
		position:relative;
	}
	
	main a {
		text-decoration:underline;
	}
	
	#page-index #page-heading {
		height:172px;
	}
	
	#page-contents {
		padding:10px 0 70px;
	}
	
	#page-home #page-contents {
		padding:0 0 0;
	}
	
	#page-contact #page-contents {
		max-width:700px;
		margin:20px 20px 0;
		text-align:left;
	}
	
	#page-vision #page-contents {
		padding:20px 0 70px;
	}
	
	.ctg-building #page-contents {
		padding:0 0 50px;
	}
	
	.type-index #page-heading {
		height:172px;
	}
	
	.type-grand #page-heading {
		height:172px;
	}
	
	.ctg-building #page-heading {
		background:url(../img/building/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-energy #page-heading {
		background:url(../img/energy/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-company #page-heading {
		background:url(../img/company/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-contact #page-heading {
		background:url(../img/contact/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-contact-energy #page-heading {
		background:url(../img/contact/pct_main_orange.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-news #page-heading {
		background:url(../img/news/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-vision #page-heading {
		background:url(../img/vision/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-recruit #page-heading {
		background:url(../img/recruit/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-construction_management #page-heading {
		background:url(../img/recruit/works/construction_management/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-attraction #page-heading {
		background:url(../img/recruit/attraction/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-personality #page-heading {
		background:url(../img/recruit/personality/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-faq #page-heading {
		background:url(../img/recruit/faq/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-privacy #page-heading {
		background:url(../img/privacy/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-graduate #page-heading {
		background:url(../img/recruit/graduate/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-career-index #page-heading ,
	#page-career-detail #page-heading {
		background:url(../img/recruit/career/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-works-technology #page-heading {
		background:url(../img/recruit/works/technology/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-works-sales #page-heading {
		background:url(../img/recruit/works/sales/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-works-design #page-heading {
		background:url(../img/recruit/works/design/pct_main.jpg) no-repeat center top;
		background-size:cover;
	}
	
	#page-heading {
		position:relative;
	}
	
	#page-heading > .inner {
		display:flex;
		justify-content: center;
		align-items: center;
		height:100%;
	}
	
	#page-heading > .inner h1 {
		color:#ffffff;
		background-color:rgba(0,131,215,0.8);
		font-size:17px;
		font-weight:400;
		line-height:1.5em;
		padding:0.3em 0.6em;
		margin-bottom:-30px;
	}
	
	.ctg-energy #page-heading > .inner h1 {
		background-color:rgba(248,150,53,0.8);
	}
	
	#page-heading > .inner h1 span.txt-sub {
		display:block;
		font-size:0.7em;
		line-height:1.2em;
		margin-top:5px;
		padding-bottom:5px;
	}
	
	#page-heading .txt-overlay {
		position:absolute;
		left:-3px;
		bottom:-5px;
		color:#fff;
		opacity:0.3;
		text-align:left;
		font-size:32px;
		font-weight:100;
		line-height:1.0em;
		user-select:none;
	}
	
	.ctg-banner {
	}
	
	.ctg-banner nav {
		padding-bottom:1px;
	}
	
	.ctg-banner nav ul {
		display:flex;
		padding:0;
	}
	
	.ctg-banner nav ul li {
		position:relative;
		box-sizing:border-box;
		width:50%;
		border:1px #ffffff;
		border-right-style:solid;
		height:70px;
		display:flex;
	}
	
	.ctg-banner.bnr-col2 nav ul li {
		width:50%;
	}
	
	.ctg-banner.bnr-col3 nav ul li {
		width:33.33%;
	}
	
	.ctg-banner nav ul li:last-child {
		border:none;
	}
	
	.ctg-banner nav a {
		position:relative;
		display:block;
		width:100%;
		text-align:center;
		display:flex;
		justify-content: center;
		align-items:center;
		color:#ffffff;
		font-size:12px;
		font-weight:400;
		line-height:1.33em;
		text-decoration:none;
		z-index:2;
		box-sizing:border-box;
		padding:0 5px;
	}
	
	.ctg-banner nav li::after {
		content:"";
		position:absolute;
		left:0;
		right:0;
		top:0;
		bottom:0;
		background-color:rgba(0,0,0,0.6);
		z-index:1;
		transition: 0.40s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	.ctg-banner nav li:hover::after {
		background-color:rgba(0,0,0,0.0);
	}
	
	.ctg-building .ctg-banner nav ul li:nth-child(1) {
		background:url(../img/building/btn_building.jpg) no-repeat center top;
		background-size:cover;
	}
	.ctg-building .ctg-banner nav ul li:nth-child(2) {
		background:url(../img/building/btn_feature.jpg) no-repeat center top;
		background-size:cover;
	}
	.ctg-building .ctg-banner nav ul li:nth-child(3) {
		background:url(../img/building/btn_safety.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-energy .ctg-banner nav ul li:nth-child(1) {
		background:url(../img/energy/btn_energy.jpg) no-repeat center top;
		background-size:cover;
	}
	.ctg-energy .ctg-banner nav ul li:nth-child(2) {
		background:url(../img/energy/btn_center.jpg) no-repeat center top;
		background-size:cover;
	}
	
	.ctg-company .ctg-banner nav ul li:nth-child(1) {
		background:url(../img/company/btn_company.jpg) no-repeat center top;
		background-size:cover;
	}
	.ctg-company .ctg-banner nav ul li:nth-child(2) {
		background:url(../img/company/btn_quality.jpg) no-repeat center top;
		background-size:cover;
	}
	
}




/* COMMON PARTS
-------------------------------------------------- */

.sec-basic {
	padding:0 20px;
	margin-top:70px;
}

.sec-basic > .inner {
	max-width:1160px;
	margin:auto;
	text-align:left;
}

.sec-lead > .inner {
	max-width:960px;
}

.ttl-lv2-01 {
	text-align:center;
	font-size:35px;
	font-weight:400;
	line-height:1.5em;
	padding:0 0 20px;
	position:relative;
}

.ttl-lv2-01::after {
	position:absolute;
	content:"";
	left:50%;
	bottom:0;
	width:60px;
	height:3px;
	margin-left:-30px;
	background-color:#0099CC;	
}

.ttl-lv2-02 {
	text-align:center;
	font-size:35px;
	font-weight:300;
	line-height:1.5em;
	padding:0 0 20px;
	position:relative;
}

.ttl-lv2-02 span {
	display:block;
}

.ttl-lv2-02 span.txt-en {
	font-family: 'Roboto', sans-serif;
	font-size:15px;
	font-weight:400;
	line-height:1.33em;
	color:#999999;
	margin-top:10px;
}

.ctg-energy .ttl-lv2-01::after {
	background-color:#f89635;	
}


/* text */
.txt-lead-01 {
	text-align:center;
	font-size:35px;
	line-height:1.67em;
}

.txt-lead-02 {
	text-align:center;
	font-size:24px;
	font-weight:300;
	line-height:1.67em;
}

.sec-lead p {
	margin-top:40px;
}


/* table */
.tbl-basic-01 {
	width:100%;
	margin-top:45px;
	border:none;
	line-height:2.2em;
}

.tbl-basic-01 th,
.tbl-basic-01 td {
	border:1px #CCCCCC;
	border-style:solid none;
	padding:15px 30px 15px 35px;
}

.tbl-basic-01 th {
	width:23%;
	background-color:#eff3f6;
	font-weight:400;
	text-align:center;
}

.tbl-history th {
	text-align:left;
}

.tbl-license th {
	vertical-align:middle;
}

table th .hosoku {
	font-size:13px;
	line-height:1.25em;
}

/* button */

.btn-base {
	text-align:center;
}

.btn-base a {
	display:block;
	color:#fff;
	background-color:#000;
	text-decoration:none;
	font-size:18px;
	font-weight:400;
	line-height:1.25em;
	margin:auto;
	padding:25px 20px 28px;
	box-sizing:border-box;
	max-width:370px;
	position:relative;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

.btn-base a::after {
	content:"";
	position:absolute;
	width:34px;
	height:2px;
	background-color:#0099FF;
	background: #cc891d;
	background: linear-gradient(to right, #0083d7 0%, #0083d7 50%, #f89635 50%, #f89635 100%);
	right:15px;
	top:0;
	bottom:0;
	margin:auto;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

.btn-base a:hover {
	background-color:#333;
}

.btn-base a:hover::after {
	/*right:10px;*/
}



@media screen and (min-width: 768px) and (max-width: 1000px){
	
}

@media screen and (max-width: 767px){
	
	.sec-basic {
		padding:0 20px;
		margin-top:40px;
	}
	
	.sec-basic > .inner {
		max-width:1160px;
		margin:auto;
		text-align:left;
	}
	
	.sec-lead > .inner {
		max-width:960px;
	}
	
	.ttl-lv2-01 {
		text-align:center;
		font-size:20px;
		font-weight:400;
		line-height:1.5em;
		padding:0 0 10px;
		position:relative;
	}
	
	.ttl-lv2-01::after {
		position:absolute;
		content:"";
		left:50%;
		bottom:0;
		width:40px;
		height:2px;
		margin-left:-20px;
		background-color:#0099CC;	
	}
	
	.ttl-lv2-02 {
		text-align:center;
		font-size:18px;
		font-weight:400;
		line-height:1.5em;
		padding:0 0 10px;
		position:relative;
	}
	
	.ttl-lv2-02 span {
		display:block;
	}
	
	.ttl-lv2-02 span.txt-en {
		font-family: 'Roboto', sans-serif;
		font-size:9px;
		font-weight:400;
		line-height:1.33em;
		color:#999999;
		margin-top:5px;
	}
	
	.ctg-energy .ttl-lv2-01::after {
		background-color:#f89635;	
	}
	
	
	/* text */
	.txt-lead-01 {
		text-align:center;
		font-size:20px;
		line-height:1.5em;
	}
	
	.txt-lead-02 {
		text-align:center;
		font-size:18px;
		font-weight:400;
		line-height:1.5em;
	}
	
	.sec-lead p {
		margin-top:20px;
	}
	
	
	/* table */
	.tbl-basic-01 {
		width:100%;
		margin-top:30px;
		border:none;
		font-size:12px;
		line-height:1.5em;
	}
	
	.tbl-basic-01 th,
	.tbl-basic-01 td {
		border:1px #CCCCCC;
		border-style:solid none;
		padding:10px 8px 10px 8px;
	}
	
	.tbl-basic-01 th {
		width:23%;
		background-color:#eff3f6;
		font-weight:400;
		text-align:center;
	}
	
	.tbl-history th {
		text-align:left;
		width:35%;
	}
	
	.tbl-license th {
		vertical-align:middle;
	}
	
	table th .hosoku {
		font-size:13px;
		line-height:1.25em;
	}
	
	/* button */
	
	.btn-base {
		text-align:center;
	}
	
	.btn-base a {
		display:block;
		color:#fff;
		background-color:#000;
		text-decoration:none;
		font-size:14px;
		font-weight:400;
		line-height:1.25em;
		margin:auto;
		padding:15px 15px 15px;
		box-sizing:border-box;
		max-width:280px;
		position:relative;
		transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	.btn-base a::after {
		content:"";
		position:absolute;
		width:20px;
		height:2px;
		background-color:#0099FF;
		background: #cc891d;
		background: linear-gradient(to right, #0083d7 0%, #0083d7 50%, #f89635 50%, #f89635 100%);
		right:10px;
		top:0;
		bottom:0;
		margin:auto;
		transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	.btn-base a:hover {
		background-color:#333;
	}
	
	.btn-base a:hover::after {
		/*right:10px;*/
	}
	
}


/* HOME
-------------------------------------------------- */

#site-mv {
	position:relative;
	height:850px;
}

#site-mv .txt-lead {
	box-sizing:border-box;
	position:absolute;
	width:100%;
	height:100%;
	display:flex;
	flex-direction: column;
	justify-content:center;
	text-align:left;
	margin:auto;
	align-items:center;
	z-index:10;
	pointer-events: none;
}

#site-mv h2 {
	font-family: 'Shippori Mincho', serif;
	font-size:43px;
	font-weight:400;
	line-height:1.67em;
	color:#FFFFFF;
}

#site-mv .service {
	display:flex;
	height:100%;
	background:url(../img/home/pct_main.jpg) no-repeat center center;
	background-size:cover;
}

#site-mv .service > div {
	width:50%;
	height:100%;
	position:relative;
	color:#fff;
}

#site-mv .service > div > p {
	position:absolute;
	z-index:2;
	opacity:0.6;
	user-select:none;
	font-family: 'Roboto', sans-serif;
	font-size:80px;
	font-weight:100;
	line-height:1.2em;
	color:#fff;
	pointer-events: none;
}

#site-mv .service > .building > p {
	left:-8px;
	bottom:-19px;
	text-align:left;
}

#site-mv .service > div.energy > p {
	right:-8px;
	bottom:-19px;
	text-align:right;
}

#site-mv .service > div > a {
	position:absolute;
	content:"";
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:1;
	opacity:0.65;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

#site-mv .service > div.building > a {
	/*background-color:#000033;*/
	background-color:#0b2045;
}

#site-mv .service > div.energy > a {
	background-color:#f89635;
}

#site-mv .service > div > a:hover {
	background-color:transparent;
}

#site-mv .service > div::before {
	position:absolute;
	content:"";
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:1;
	opacity:0.1;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

#site-mv .service > div:hover {
	/*cursor:pointer;*/
}

#site-mv .service > div:hover::before {
	/*opacity:0;*/
}

#site-mv .service > div.building::before {
	background-color:#000;
}

#site-mv .service > div::after {
	position:absolute;
	content:"";
	margin:auto;
	top:0;
	bottom:0;
	z-index:2;
	width:280px;
	height:310px;
	box-sizing:border-box;
	border-width:10px;
	pointer-events: none;
}

#site-mv .service > div.building::after {
	right:0;
	border-color:#ffffff;
	border-style:solid none solid solid;
}

#site-mv .service > div.energy::after {
	left:0;
	border-color:#f89635;
	border-style:solid solid solid none;
}

.lst-development.lst-topics {
	position:relative;
}

.lst-development.lst-topics li a {
	padding:20px 15px;
}

.ctg-news .lst-development.lst-topics li a {
	padding:20px 40px 20px 15px;
}

.lst-development.lst-topics li {
	position:relative;
}

.ctg-news .lst-development.lst-topics::before {
	position:absolute;
	content:"";
	height:1px;
	background:#0083d7;
	top:-1px;
	left:0;
	width:15%;
}

.ctg-news .lst-development.lst-topics li::after {
	position:absolute;
	content:"";
	height:1px;
	background:#0083d7;
	bottom:-1px;
	left:0;
	width:15%;
}

.ctg-news .lst-development.lst-topics li::before {
	position:absolute;
	content:"";
	height:1px;
	background:#0083d7;
	top:0;
	bottom:0;
	right:5px;
	margin:auto;
	width:10px;
}

.lst-topics li a .title::after {
	display:none;
}

.btn-topics a {
	max-width:260px;
	width:260px;
	font-size:16px;
	line-height:1.25em;
	display:inline-block;
	margin:0 10px;
}

.home-biz-outline {
	margin:50px -20px 0;
}

.home-biz-outline > .inner {
	max-width:1060px;
	margin:auto;
}

.home-biz-outline .biz-outline {
	margin-top:10px;
}

.home-biz-outline .biz-outline > div {
	padding:0;
	padding-bottom:40px;
	position:relative;
}

.home-biz-outline .biz-outline figure {
	position:static;
	z-index:1;
}

.home-biz-outline .biz-outline figure figcaption {
	z-index:3;
	font-size:62px;
	font-weight:100;
	line-height:1.1em;
	bottom:-10px;
	user-select:none;
	z-index:1;
}

.home-biz-outline .biz-outline dl {
	text-align:center;
	margin-top:-30px;
}

.home-biz-outline .biz-outline dt {
	font-size:28px;
}

.home-biz-outline .biz-outline dd {
	font-size:15px;
	margin-top:10px;
}

.biz-outline > div p.btn-base {
	position:relative;
	z-index:4;
	font-size:40px;
	line-height:1.25em;
}

.biz-outline > div p.btn-base a {
	max-width:240px;
	padding:20px 20px 22px;
}

.home-has-bgarea {
	background:url(../img/home/bg_bottom.jpg) no-repeat center bottom;
	background-color:#f6f6f8;
	background-size: 100% auto;
	padding:60px 20px 220px;
	margin-top:60px;
}

.home-has-bgarea > .inner {
	max-width:1060px;
	margin:auto;
}

.home-has-bgarea ul.menu {
	display:flex;
	list-style:none;
	margin:0 -30px;
	padding:0;
}

.home-has-bgarea ul.menu li {
	box-sizing:border-box;
	width:50%;
	padding:0 30px;
}

.home-has-bgarea ul.menu li a {
	background-color:#ffffff;
}

.home-has-bgarea a {
	display:block;
	text-decoration:none;
	color:#000000;
}

.home-has-bgarea ul.menu li a p {
	padding:30px 30px 70px;
	position:relative;
}

.home-has-bgarea ul.menu li a p::after {
	content:"";
	position:absolute;
	width:64px;
	height:3px;
	background-color:#000000;
	margin:auto;
	left:0;
	right:0;
	bottom:50px;
}

.home-has-bgarea ul.menu li:nth-child(1) a p::after {
	background-color:#f89636;
}

.home-has-bgarea ul.menu li:nth-child(2) a p::after {
	background-color:#0183d7;
}

.home-has-bgarea ul.menu li a p span {
	display:block;
	font-size:25px;
	line-height:1.33em;
}

.home-has-bgarea ul.menu li a p span.font-roboto {
	font-size:14px;
	font-weight:400;
	margin-top:15px;
}

.home-bnr-recruit {
	margin-top:80px;
}

.home-bnr-recruit a {
	display:block;
	display:flex;
	flex-direction: column;
	justify-content: center;
	background:url(../img/home/bg_recruit.jpg) no-repeat right top;
	background-size:cover;
	height:350px;
	text-align:left;
	color:#fff;
	box-sizing:border-box;
	padding:20px 60px;
}

.home-bnr-recruit a:hover {
	opacity:0.85;
}

.home-bnr-recruit a h2 {
	font-size:30px;
	font-weight:300;
	line-height:1.5em;
}

.home-bnr-recruit a p {
	font-size:32px;
	font-weight:400;
	line-height:1.5em;
	letter-spacing:0.15em;
	padding-top:20px;
}


@media screen and (min-width: 768px) and (max-width: 1000px){
	
}

@media screen and (max-width: 767px){
	
	#site-mv {
		position:relative;
		height:325px;
	}
	
	#site-mv .txt-lead {
		position:absolute;
		width:100%;
		height:100%;
		display:flex;
		justify-content:center;
		align-items:center;
		z-index:10;
		pointer-events: none;
	}
	
	#site-mv h2 {
		font-family: 'Noto Serif JP', serif;
		font-size:20px;
		font-weight:400;
		line-height:1.5em;
		color:#FFFFFF;
	}
	
	#site-mv .service {
		display:flex;
		height:100%
	}
	
	#site-mv .service > div {
		width:50%;
		height:100%;
		position:relative;
		color:#fff;
	}
	
	#site-mv .service > div > p {
		position:absolute;
		z-index:2;
		opacity:0.6;
		user-select:none;
		font-family: 'Roboto', sans-serif;
		font-size:32px;
		font-weight:100;
		line-height:1.0em;
	}
	
	#site-mv .service > div.building > p {
		left:-3px;
		bottom:-6px;
		text-align:left;
	}
	
	#site-mv .service > div.energy > p {
		right:-3px;
		bottom:-6px;
		text-align:right;
	}
	
	#site-mv .service > div > a {
		position:absolute;
		content:"";
		left:0;
		right:0;
		top:0;
		bottom:0;
		z-index:1;
		opacity:0.65;
		transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	#site-mv .service > div a:hover {
		background-color:transparent;
	}
	
	#site-mv .service > div.building::before {
		background-color:#000033;
	}
	
	#site-mv .service > div.energy::before {
		background-color:#f89635;
	}
	
	#site-mv .service > div::after {
		position:absolute;
		content:"";
		margin:auto;
		top:0;
		bottom:0;
		z-index:2;
		width:140px;
		height:155px;
		box-sizing:border-box;
		border-width:5px;
	}
	
	
	.lst-development.lst-topics {
		position:relative;
	}
	
	.lst-development.lst-topics li a {
		padding:15px 0;
	}
	
	.ctg-news .lst-development.lst-topics li a {
		padding:10px 20px 10px 0;
	}
	
	.lst-development.lst-topics li {
		position:relative;
	}
	
	.ctg-news .lst-development.lst-topics::before {
		position:absolute;
		content:"";
		height:1px;
		background:#0083d7;
		top:-1px;
		left:0;
		width:15%;
	}
	
	.ctg-news .lst-development.lst-topics li::after {
		position:absolute;
		content:"";
		height:1px;
		background:#0083d7;
		bottom:-1px;
		left:0;
		width:15%;
	}
	
	.ctg-news .lst-development.lst-topics li::before {
		position:absolute;
		content:"";
		height:1px;
		background:#0083d7;
		top:0;
		bottom:0;
		right:5px;
		margin:auto;
		width:10px;
	}
	
	.lst-topics li a .title::after {
		display:none;
	}
	
	.btn-topics a {
		max-width:180px;
		font-size:14px;
		line-height:1.25em;
	}
	
	.home-biz-outline {
		margin:20px -20px 0;
	}
	
	.home-biz-outline .biz-outline > div {
		padding:0;
		position:relative;
	}
	
	.home-biz-outline .biz-outline figure figcaption {
		z-index:3;
		font-size:40px;
		font-weight:100;
		line-height:1.1em;
		bottom:-5px;
		user-select:none;
		z-index:1;
	}
	
	.biz-outline > div p {
		position:absolute;
		bottom:20px;
		z-index:4;
		font-size:16px;
		font-weight:400;
		line-height:1.25em;
	}
	
	.home-biz-outline .biz-outline dl {
		text-align:left;
		margin-top:-50px;
	}
	
	.home-biz-outline .biz-outline dt {
		font-size:16px;
	}
	
	.home-biz-outline .biz-outline dd {
		font-size:12px;
		margin-top:10px;
	}
	
	.biz-outline > div p.btn-base {
		position:relative;
		z-index:4;
		font-size:40px;
		line-height:1.25em;
	}
	
	.biz-outline > div p.btn-base a {
		max-width:180px;
		padding:15px 15px 16px;
	}
	
	.home-has-bgarea {
		background:url(../img/home/bg_bottom.jpg) no-repeat center bottom;
		background-size: 100% auto;
		background-color:#f6f6f8;
		padding:45px 20px 110px;
	}
	
	.home-has-bgarea > .inner {
		max-width:1060px;
		margin:auto;
	}
	
	.home-has-bgarea ul.menu {
		display:flex;
		list-style:none;
		margin:0 -10px;
	}
	
	.home-has-bgarea ul.menu li {
		box-sizing:border-box;
		width:50%;
		padding:0 10px;
	}
	
	.home-has-bgarea ul.menu li a {
		background-color:#ffffff;
	}
	
	.home-has-bgarea a {
	
		display:block;
		text-decoration:none;
		color:#000000;
	}
	
	.home-has-bgarea ul.menu li a p {
		padding:15px 10px 35px;
	}
	
	.home-has-bgarea ul.menu li a p::after {
		content:"";
		position:absolute;
		width:50px;
		height:2px;
		background-color:#000000;
		margin:auto;
		left:0;
		right:0;
		bottom:20px;
	}
	
	.home-has-bgarea ul.menu li a p span {
		display:block;
		font-size:14px;
		line-height:1.33em;
	}
	
	.home-has-bgarea ul.menu li a p span.font-roboto {
		font-size:8px;
		font-weight:400;
		margin-top:7px;
		color:#999;
	}
	
	.home-bnr-recruit {
		margin-top:20px;
	}
	
	.home-bnr-recruit a {
		display:block;
		display:flex;
		flex-direction: column;
		justify-content: center;
		background:url(../img/home/bg_recruit.jpg) no-repeat right top;
		background-size:cover;
		height:110px;
		text-align:left;
		color:#fff;
		box-sizing:border-box;
		padding:20px 20px;
	}
	
	.home-bnr-recruit a h2 {
		font-size:13px;
		font-weight:300;
		line-height:1.5em;
	}
	
	.home-bnr-recruit a p {
		font-size:13px;
		font-weight:400;
		line-height:1.5em;
		letter-spacing:0.15em;
		padding-top:7px;
	}
	
}




/* ENERGY > 
-------------------------------------------------- */

.tbl_practicable_test {
	clear:both;
	margin-top:60px;
}

.tbl_practicable_test table {
	width:100%;
}

.tbl_practicable_test table .taC {
	text-align:center;
	background-color:#f1f1f1;
}

.tbl_practicable_test table .vaM {
	vertical-align:middle;
}

.tbl_practicable_test table caption {
	text-align:left;
	font-size:18px;
	font-weight:600;
	line-height:1.5em;
	padding-bottom:10px;
}

.tbl_practicable_test table tr > * {
	border:1px #ccc solid;
	font-size:14px;
	line-height:1.5em;
	box-sizing:border-box;
	padding:7px 8px 8px;
}

.tbl_practicable_test table tr th {
	font-weight:500;
	background-color:#f89635;
	color:#fff;
	text-align:center;
	padding:10px 8px 10px;
}

.tbl_practicable_test table tr td {
	vertical-align:middle;
}

.tbl_practicable_test table tr th:nth-child(1) ,
.tbl_practicable_test table tr th:nth-child(4) {
	width:10.5%;
}

.tbl_practicable_test table tr th:nth-child(2) ,
.tbl_practicable_test table tr th:nth-child(5) {
	width:13.5%;
}

.tbl_practicable_test table tr th:nth-child(3) ,
.tbl_practicable_test table tr th:nth-child(6) {
	width:26%;
}

p.txt_note_test {
	font-size:13px;
	line-height:1.5em;
	margin:10px 0 0;
	padding:0;
	text-align:right;
}

.lst-development {
	list-style:none;
	margin:50px 0 0;
	padding:0;
	border-top:1px #ccc solid;
}

.lst-development li {
	border-bottom:1px #ccc solid;
}

.lst-development li a {
	display:block;
	padding:15px 15px;
	color:#000;
	text-decoration:none;
	display:flex;
}

.lst-development li a .date {
	flex-shrink:0;
	width:20%;
}

.lst-development li a .title::after {
	font-family: "Font Awesome 5 Free";
	content:"\f1c1";
	margin-left:10px;
	font-size:20px;
	color:#f89635;
}

.lst-development li.has-pdf a .title::after {
	display:inline;
}

.sec-entrust-flow {
	background-color:#f1f0ef;
	padding:70px 20px 70px;
}

.sec-energy-contact > .inner ,
.sec-entrust-flow > .inner {
	max-width:1060px;
}

.sec-entrust-flow .flow {
	margin-top:50px;
}

.sec-entrust-flow .policy {
	text-align:center;
	font-size:20px;
	font-weight:400;
	line-height:1.5em;
	background-color:#fff;
	border:2px #f89635 solid;
	border-radius:30px;
	padding:8px 20px;
	margin-top:25px;
}

.sec-energy-contact .txt-info {
	display:flex;
	border:1px #ccc;
	border-style: solid none;
	margin-top:30px;
	padding:25px 0;
}

.sec-energy-contact .txt-info dl {
	width:33.33%;
	text-align:center;
}

.sec-energy-contact .txt-info dt {
	font-size:20px;
	font-weight:400;
	line-height:1.25em;
}

.sec-energy-contact .txt-info dd {
	font-family: 'Roboto', sans-serif;
	font-size:32px;
	font-weight:400;
	line-height:1.25em;
	margin-top:5px;
}

.sec-energy-contact .txt-info dd a {
	color:#000;
	text-decoration:none;
}

.sec-energy-contact .txt-info dd a[href*="mailto:"] {
	font-size:20px;
	line-height:1.25em;
}

.sec-energy-contact .txt-info dd a i {
	font-size:24px;
	margin-right:5px;
	color:#f89635;
}

.iso_mark {
	max-width:378px;
	margin: 40px auto 0;
}

.iso_pdf_dl {
	text-align:center;
	box-sizing:border-box;
	max-width:740px;
	border:1px #cccccc solid;
	padding:20px 40px;
	margin: 20px auto 0;
}

.iso_pdf_dl h3 {
	font-size:18px;
	line-height:1.33em;
	margin:0;
	padding:0 0 10px;
}

.iso_pdf_dl dl {
	display:inline-block;
	padding:0 20px;
}

.iso_pdf_dl dl > * {
	display:inline-block;
}

.iso_pdf_dl a i {
	color:#f89635;
	margin-left:5px;
}



@media screen and (min-width: 768px) and (max-width: 1000px){
	
}


@media screen and (max-width: 767px){
	
	.tbl_practicable_test {
		clear:both;
		margin-top:15px;
		overflow:scroll;
		border:1px #ccc;
		border-style: none solid;
	}
	
	.tbl_practicable_test table {
		width:750px;
		margin:0 -1px;
	}
	
	.tbl_practicable_test table .taC {
		text-align:center;
		background-color:#f1f1f1;
	}
	
	.tbl_practicable_test table .vaM {
		vertical-align:middle;
	}
	
	.tbl_practicable_test table caption {
		text-align:left;
		font-size:14px;
		font-weight:600;
		line-height:1.5em;
		padding-bottom:5px;
	}
	
	.tbl_practicable_test table tr > * {
		border:1px #ccc solid;
		font-size:12px;
		line-height:1.5em;
		box-sizing:border-box;
		padding:7px 8px 8px;
	}
	
	.tbl_practicable_test table tr th {
		font-weight:500;
		background-color:#f89635;
		color:#fff;
		text-align:center;
		padding:10px 8px 10px;
	}
	
	.tbl_practicable_test table tr td {
		vertical-align:middle;
	}
	
	.tbl_practicable_test table tr th:nth-child(1) ,
	.tbl_practicable_test table tr th:nth-child(4) {
		width:10.5%;
	}
	
	.tbl_practicable_test table tr th:nth-child(2) ,
	.tbl_practicable_test table tr th:nth-child(5) {
		width:13.5%;
	}
	
	.tbl_practicable_test table tr th:nth-child(3) ,
	.tbl_practicable_test table tr th:nth-child(6) {
		width:26%;
	}
	
	p.txt_note_test {
		font-size:11px;
		line-height:1.5em;
		margin:5px 0 0;
		padding:0;
	}
	
	p.txt_table_swipe {
		font-size:11px;
		line-height:1.5em;
		margin:20px 0 -10px;
		padding:0;
	}
		
	.lst-development {
		list-style:none;
		margin:20px 0 0;
		padding:0;
		border-top:1px #ccc solid;
	}
	
	.lst-development li {
		border-bottom:1px #ccc solid;
	}
	
	.lst-development li a {
		display:block;
		padding:10px 0;
		color:#000;
		text-decoration:none;
		display:inherit;
	}
	
	.lst-development li a span {
		display:block;
	}
	
	.lst-development li a .date {
		flex-shrink:0;
		width:auto;
		padding-bottom:5px;
	}
	
	.lst-development li a .title::after {
		font-family: "Font Awesome 5 Free";
		content:"\f1c1";
		margin-left:10px;
		font-size:20px;
		color:#f89635;
	}
	
	.sec-entrust-flow {
		background-color:#f1f0ef;
		padding:35px 20px 35px;
	}
	
	.sec-energy-contact > .inner ,
	.sec-entrust-flow > .inner {
		max-width:1060px;
	}
	
	.sec-entrust-flow .flow.sp_only {
		margin-top:20px;
		padding:0;
		list-style:none;
	}
	
	.sec-entrust-flow .flow.sp_only li {
		color:#fff;
		background-color:#f89635;
		margin-top:10px;
		border-radius:3px;
		text-align:center;
		font-size:16px;
		padding:5px 5px;
		position:relative;
	}
	
	.sec-entrust-flow .flow.sp_only li + li::before {
		content:"";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 6px 0 6px;
		border-color: #f89635 transparent transparent transparent;
		position:absolute;
		left:50%;
		top:-9px;
	}
	
	.sec-entrust-flow .policy {
		text-align:center;
		font-size:14px;
		font-weight:400;
		line-height:1.5em;
		background-color:#fff;
		border:2px #f89635 solid;
		border-radius:30px;
		padding:8px 10px;
		margin-top:25px;
	}
	
	.sec-energy-contact .txt-info {
		display:block;
		border:1px #ccc;
		border-style: solid none;
		margin-top:15px;
		padding:15px 0;
	}
	
	.sec-energy-contact .txt-info dl {
		width:100%;
		text-align:center;
		display:flex;
		align-items:center;
		padding:5px 0; 
	}
	
	.sec-energy-contact .txt-info dt {
		flex-shrink:0;
		width:100px;
		font-size:14px;
		font-weight:400;
		line-height:1.25em;
		text-align:left;
	}
	
	.sec-energy-contact .txt-info dd {
		font-family: 'Roboto', sans-serif;
		font-size:20px;
		font-weight:400;
		line-height:1.25em;
		margin-top:0;
		text-align:left;
	}
	
	.sec-energy-contact .txt-info dd a {
		color:#000;
		text-decoration:none;
	}
	
	.sec-energy-contact .txt-info dd a[href*="mailto:"] {
		font-size:13px;
		line-height:1.25em;
	}
	
	.sec-energy-contact .txt-info dd a i {
		font-size:18px;
		margin-right:5px;
		color:#f89635;
	}
	.iso_mark {
		max-width:378px;
		margin: 30px auto 0;
	}
	
	.iso_pdf_dl {
		text-align:center;
		box-sizing:border-box;
		max-width:740px;
		border:1px #cccccc solid;
		padding:15px 40px;
		margin: 20px auto 0;
	}
	
	.iso_pdf_dl h3 {
		font-size:15px;
		line-height:1.33em;
		margin:0;
		padding:0 0 10px;
	}
	
	.iso_pdf_dl dl {
		display:inline-block;
		padding:0 20px;
	}
	
	.iso_pdf_dl dl > * {
		display:inline-block;
	}
	
	.iso_pdf_dl a i {
		margin-left:5px;
	}	
}



/* ENERGY > CENTER
-------------------------------------------------- */

.energy-gallery-main {
    margin: 60px auto 0;
    text-align: center;
}

.energy-gallery-main img {
    max-width: 800px;
    margin: auto;
}

.energy-gallery-main figcaption {
    font-size: 22px;
    line-height: 1.5em;
    margin-top: 30px;
}

.lst-energy-gallery {
	display:flex;
	flex-wrap:wrap;
	list-style:none;
	margin:40px -11px 0;
	padding:0;
}

.lst-energy-gallery li {
	box-sizing:border-box;
	width:33.33%;
	padding:22px 11px 0;
}

.lst-energy-gallery2022 {
	display:flex;
	flex-wrap:wrap;
	list-style:none;
	max-width:960px;
	margin:20px auto 0;
	padding:0;
}

.lst-energy-gallery2022 li {
	box-sizing:border-box;
	width:50%;
	padding:22px 11px 0;
}

.sec-center-access {
	background-color:#f1f0ef;
	padding:70px 20px 100px;
}

.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 42.86%;
	position: relative;
	margin-top:30px;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

.btn-root a {
	max-width:260px;
}

.access_detail {
	display:flex;
	margin:80px -13px 0;
}

.access_detail > div.inner {
	width:50%;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	background-color:#fff;
	border:13px #f1f0ef;
	border-style:none solid;
	padding:30px 25px 30px 0;
}

.access_detail > div.inner .icon {
	width:31.39%;
	flex-shrink:0;
	vertical-align:middle;
}

.access_detail > div.inner dt {
	font-size:24px;
	line-height:1.5em;
}

.access_detail > div.inner dt strong {
	color:#f7882d;
	font-weight:400;
}

.access_detail > div.inner dd {
	margin-top:10px;
	line-height:1.5em;
}



@media screen and (min-width: 768px) and (max-width: 1000px){
	
}


@media screen and (max-width: 767px){
    
    .energy-gallery-main {
        margin: 25px auto 0;
        text-align: center;
    }
    
    .energy-gallery-main > div {
        padding: 0 30px;
    }
   
    .energy-gallery-main img {
        max-width: none;
        margin:0;
    }
    .energy-gallery-main figcaption {
        font-size: 14px;
        line-height: 1.5em;
        margin-top: 15px;
    }
	
	.lst-energy-gallery {
		display:flex;
		flex-wrap:wrap;
		list-style:none;
		margin:20px -5px 0;
		padding:0;
	}
	
	.lst-energy-gallery li {
		box-sizing:border-box;
		width:50%;
		padding:10px 5px 0;
	}
	
	.lst-energy-gallery2022 {
		display:flex;
		flex-wrap:wrap;
		list-style:none;
		max-width:960px;
		margin:20px -5px 0;
		padding:0;
	}
	
	.lst-energy-gallery2022 li {
		box-sizing:border-box;
		width:50%;
		padding:10px 5px 0;
	}
	
	.sec-center-access {
		background-color:#f1f0ef;
		padding:35px 20px 35px;
	}
	
	.gmap {
		height: 0;
		overflow: hidden;
		padding-bottom: 42.86%;
		position: relative;
		margin-top:30px;
	}
	.gmap iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
	}
	
	.btn-root a {
		max-width:260px;
	}
	
	.access_detail {
		display:block;
		margin:40px 0 0;
	}
	
	.access_detail > div.inner {
		width:100%;
		box-sizing:border-box;
		display:flex;
		align-items:center;
		background-color:#fff;
		border:0 #f1f0ef;
		border-style:none solid;
		padding:15px 15px 15px 0;
		margin:10px 0 0;
	}
	
	.access_detail > div.inner .icon {
		width:31.39%;
		flex-shrink:0;
		vertical-align:middle;
	}
	
	.access_detail > div.inner dt {
		font-size:18px;
		font-weight:400;
		line-height:1.5em;
	}
	
	.access_detail > div.inner dt strong {
		color:#f7882d;
		font-weight:400;
	}
	
	.access_detail > div.inner dd {
		margin-top:10px;
		line-height:1.5em;
	}
	
}




/* RECRUIT > ENTRY
-------------------------------------------------- */

.form-step {
	text-align:center;
	font-family: 'Roboto', sans-serif;
	font-size:25px;
	font-weight:400;
	line-height:1.25em;
	color:#666666;
	padding:0;
}

.form-step li {
	display:inline-block;
	padding:0 0 0 10px;
}

.form-step li + li::before {
	content:"/";
	margin-right:15px;
	color:#666666;
	font-weight:300;
}

.form-step li.active {
	color:#027ac7;
}

.ctg-contact-energy .form-step li.active {
	color:#f89635;
}

.navi-form {
	margin:20px -10px 0;
	padding:0;
	background-color:#eee;
	border-radius:6px;
	padding:10px;
	text-align:center;
}

.navi-form li {
	display:inline-block;
	padding:0 10px;
}

.navi-form li::before {
	font-family: "Font Awesome 5 Free";
	content:"\f101";
	color:#0083d7;
	font-weight:bold;
	margin-right:4px;
}

.ctg-contact-energy .navi-form li::before {
	color:#f89635;
}

.navi-form li a {
	font-size:16px;
	font-weight:500;
	color:#000000;
	text-decoration:none;
}

.navi-form li a:hover {
	text-decoration:underline;
}

.frm-entry {
	margin-top:60px;
}

.frm-entry > dl {
	margin-top:25px;
}

.frm-entry dt {
	font-weight:500;
}

.frm-entry dd {
	margin-top:5px;
}

.frm-entry dt .need {
	display:inline-block;
	color:#fff;
	background-color:#027ac7;
	border-radius:2px;
	font-size:12px;
	font-weight:300;
	line-height:1em;
	padding:2px 8px 3px;
	margin-left:5px;
	text-align:center;
}

.ctg-contact-energy .frm-entry dt .need {
	background-color:#f89635;
}

.frm-entry dd .need {
	box-sizing:border-box;
	width:100%;
	display:block;
	position:relative;
	border-radius:4px;
	color:#CC0000;
	font-style:normal;
	background-color:#fcf8ec;
	padding:2px 8px 3px;
}
.frm-entry dd .input .need {
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
}
.frm-entry dd .input {
	box-sizing:border-box;
	width:100%;
	display:block;
	position:relative;
	border-radius:4px;
	color:#000;
	font-style:normal;
	background-color:#eee;
	padding:2px 8px 3px;
}

.frm-entry .hosoku {
	color:#666;
	font-size:13px;
	display:inline-block;
}

.frm-entry input ,
.frm-entry textarea,
.frm-entry select {
	padding:10px;
	border:1px #cccccc solid;
}

.frm-entry input.w-small {
	width:50px;
	text-align:right;
}

.frm-entry input.w-mid {
	width:80px;
	text-align:right;
}

.chk-works dl {
	border:1px #ccc;
	border-style:none solid solid solid;
}

.chk-works dt {
	background-color:#f3f6f8;
	border-top:1px #ccc solid;
	padding:20px 25px;
}

.chk-works dd {
	padding:20px 25px;
}

.chk-works ul {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}

.chk-works ul li {
	width:33.33%;
	max-width:33.33%;
	box-sizing:border-box;
	flex-shrink:0;
}

.chk-works input {
	margin-right:7px;
}

.chk-works p {
	font-weight:400;
}

.chk-works ul + p {
	margin-top:15px;
}



@media screen and (min-width: 768px) and (max-width: 1000px){
	
}


@media screen and (max-width: 767px){
	
	.form-step {
		text-align:center;
		font-family: 'Roboto', sans-serif;
		font-size:16px;
		font-weight:400;
		line-height:1.25em;
		color:#666666;
		padding:0;
	}
	
	.form-step li {
		display:inline-block;
		padding:0 0 0 10px;
	}
	
	.form-step li + li::before {
		content:"/";
		margin-right:15px;
		color:#666666;
		font-weight:300;
	}
	
	.form-step li.active {
		color:#027ac7;
	}
	
	.navi-form {
		margin:20px -10px 0;
		padding:0;
		background-color:#eee;
		border-radius:6px;
		padding:10px;
		text-align:left;
	}
	
	.navi-form li {
		display:block;
		padding:0 10px;
	}
	
	.navi-form li a {
		font-size:14px;
		font-weight:500;
		color:#000000;
		text-decoration:underline;
	}
		
	.frm-entry {
		margin-top:30px;
	}
	
	.frm-entry dl {
		margin-top:25px;
	}
	
	.frm-entry dt {
		font-weight:500;
	}
	
	.frm-entry dd {
		margin-top:5px;
	}
	
	.frm-entry dt .need {
		display:inline-block;
		color:#fff;
		background-color:#027ac7;
		border-radius:2px;
		font-size:12px;
		font-weight:300;
		line-height:1em;
		padding:2px 8px 3px;
		margin-left:5px;
		text-align:center;
	}
	
	.frm-entry .hosoku {
		color:#666;
		font-size:13px;
		display:inline-block;
	}
	
	.frm-entry input ,
	.frm-entry textarea,
	.frm-entry select {
		box-sizing:border-box;
		padding:10px;
		border:1px #cccccc solid;
	}
	
	.frm-entry input.w50per {
		width:100% !important;
	}
	
	.frm-entry input.w-small {
		width:50px;
		text-align:right;
	}
	
	.frm-entry input.w-mid {
		width:80px;
		text-align:right;
	}
	
	.chk-works dl {
		border:1px #ccc;
		border-style:none solid solid solid;
	}
	
	.chk-works dt {
		background-color:#f3f6f8;
		border-top:1px #ccc solid;
		padding:10px 15px;
	}
	
	.chk-works dd {
		padding:10px 15px 20px;
	}
	
	.chk-works ul {
		list-style:none;
		margin:0;
		padding:0;
		display:flex;
		flex-wrap:wrap;
	}
	
	.chk-works ul li {
		width:50%;
		box-sizing:border-box;
		font-size:12px;
		line-height:1.5em;
		margin-top:5px;
	}
	
	.chk-works input {
		margin-right:5px;
	}
	
	.chk-works p {
		font-weight:400;
	}
	
	.chk-works ul + p {
		margin-top:15px;
	}
	
}



.comp-msg {
	text-align:center;
	margin-top:30px;
	border:1px #CCCCCC solid;
	border-radius:4px;
	padding:30px 20px;
}

.comp-msg-note {
	font-size:0.9em;
	line-height:1.5em;
}

