@charset "UTF-8";

.cf:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	line-height: 0;
}

.mainImg{
	background-image: url(../img/concept/main_l.jpg);
}

#wrapper{
    position: relative;
    z-index: 3;
}

.sec01 {
	position: relative;
	max-width: 1280px;
	padding-top: 113px;
	margin: 0 auto 57px;
}

.illust {
	z-index: 1
}
area {
	outline: none;
}
.cond,
.lng {
	position: absolute;
	top: 9%;
}
.cond {
	left: 11.33%;
}
.lng,
.pipe {
	left: 55%;
}
.pipe {
	position: absolute;
	top: 70%;
}

.links a {
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-weight: 900;
	font-size: 6.9rem;
	color: #fff;
	text-decoration: none;
}
.links a:hover {
	color: #ccc;
}
.links a:before {
	content: '► ';
	font-size: 3rem;
	vertical-align: middle;
}
.cond.links a:before {
	color: #ff6f20;
}
.lng.links a:before {
	color: #20ffd2;
}
.pipe.links a:before {
	color: #ff204a;
}
.unit {
	font-weight: normal;
	font-size: 3.4rem;
}

.sec02 {
	padding-top: 40px;
	background-color: #202631;
	overflow: visible;
}

.outline {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding-bottom: 58px;
	overflow: visible;
}
.sec02 .map {
	position: absolute;
	right: 50px;
	top: -90px;
	width: 565px;
	z-index: 2;
}
.sec02 table {
	width: 500px;
	margin-left: 10.9375%;
	font-size: 1.4rem;
	border-top: 2px solid #C0C1C4;
}
.sec02 table caption {
	font-size: 3rem;
	font-weight: 900;
	text-align: left;
	margin-bottom: 0.5em;
}
.sec02 table th {
	white-space: nowrap;
}
.sec02 table th,
.sec02 table td {
	padding: 0.5em 0.3rem;
	border-bottom: 2px solid #C0C1C4;
}

.sec03 {
	max-width: 1280px;
	margin: 0 auto;
	padding-top: 22px;
	color: #4c4c4c;
}
.sec03 .title,
.sec03 .ph {
	width: 50%;
    float: left;
}

.sec03 .title{
    padding: 2% 2% 0 2%;
    box-sizing: border-box;
}

.sec03 h3 {
	display: block;
    padding-left:1rem;
    margin-bottom: 20px;
}
.sec03 h3 span.jp {
	display: block;
	font-size: 2.6rem;
	font-weight: normal;
}
.sec03 h3 span.en {
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-weight: 900;
	font-size: 2.1rem;
	font-style: italic;
}

.sec03 p{
    font-size: 1.6rem;
    line-height: 2.4rem;
}

#fpso {
	display: block;
	background-color: #d5d7da;
	background-image: url(../img/concept/fac01.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-bottom: 22px;
    overflow: hidden;
}
.sec03 #fpso h3 {
	border-left: 11px solid #ca27d0;
}
#cpf {
	display: block;
	background-color: #d5d7da;
	background-image: url(../img/concept/fac02.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-bottom: 22px;
    overflow: hidden;
}
.sec03 #cpf h3 {
	border-left: 11px solid #27b6d0;
}
#glp {
	display: block;
	background-color: #d5d7da;
	background-image: url(../img/concept/fac03.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-bottom: 22px;
    overflow: hidden;
}
.sec03 #glp h3 {
	border-left: 11px solid #33d027;
}
#sps {
	display: block;
	background-color: #d5d7da;
	background-image: url(../img/concept/fac04.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-bottom: 22px;
    overflow: hidden;
}
.sec03 #sps h3 {
	border-left: 11px solid #d03f27;
}
.sec04 {
	max-width: 1280px;
	margin: 0 auto;
	background-image: url(../img/concept/line.gif);
	background-repeat: repeat-x;
	background-position: center 500px
}
#cond,
#lng {
	width: 35%;
	height: 400px;
	margin-bottom: 30px;
	border: 1px solid #575d6c;
    padding: 2%;
    box-sizing: border-box;
}
#cond {
	float: left;
	margin-left: 150px;
}
#lng {
	float: right;
	margin-right: 150px;
}
#pipe {
	max-width: 978px;
	clear: both;
	border: 1px solid #575d6c;
	margin-bottom: 35px;
	margin-left: auto;
	margin-right: auto;
}

.sec04 h3 {
	position: relative;
	border-left-width: 25px;
	border-left-style: solid;
	line-height: 1;
    padding-left: 1rem;
    margin-bottom: 20px;
}

.sec04 #cond h3 {
	border-left-color: #ff6f20;
}
.sec04 #lng h3 {
	border-left-color: #20ffd2;
}
.sec04 #pipe h3 {
	border-left-color: #ff204a;
}
.sec04 h3 .data {
	display: block;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-weight: 900;
	font-size: 6.9rem;
}
.sec04 h3 .jp {
	display: block;
	font-size: 2rem;
}
.sec04 h4 {
	margin: 150px 30px 20px 40px;
	font-size: 1.8rem;
	line-height: 2;
	border-bottom: 1px solid #575d6c;
}
.sec04 p {
	margin-bottom: 1em;
	font-size: 1.8rem;
	margin: 20px 30px 20px 40px;
}
.sec04 #pipe h3{
    position: relative;
}

.sec04 #pipe h3:before{
    content:' ';
    position: absolute;
    top: 0;
    left:0;
    border:20px solid #ff204a;

}

.sec04 #pipe h3 .data {
    position: absolute;
	width: 100%;
	text-align: center;
	top:35px;
	height: 89px;
	overflow: visible;
	background-image: url(../img/concept/d_wave.png);
	background-repeat: no-repeat;
	background-position: center center;
}


@media only screen and (max-width:1239px) {
	.sec02 {
		padding-top: 10px;
	}
	.sec02 table,
	.sec02 .map {
		position: static;
		margin: 30px auto;
	}
	#cond,
	#lng {
		width: 46%;
	}
	#cond {
		margin-left: 1%;
	}
	#lng {
		margin-right: 1%;
	}
	#pipe {
		max-width: 99%;
	}
}
@media only screen and (max-width:899px) {
	.links a {
		font-size: 4.3125rem;
	}
	.links a:before {
		font-size: 1.875rem;
	}
	.unit {
		font-weight: normal;
		font-size: 2.125rem;
	}
	.sec04 #pipe h3 .data {
		width: 90%;
		background-size: contain
	}
}
@media only screen and (max-width:767px) {
	.mainImg {
		height: 50%;
	}
	h1 {
		padding-top: 20%;
		line-height: 1;
	}
	h1 > span {
		line-height: 2;
	}
	.sec01 {
		width: 100%;
	}
	.sec03 {
		padding-top: 11px;
	}
	#fpso,
	#cpf,
	#glp,
	#sps {
		display: block;
		background-position: left top;
		margin-bottom: 11px;
	}
	.sec03 .title,
	.sec03 .ph {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.sec03 .title {
		height: 300px;
		position: relative;
	}
	#cond,
	#lng,
	#pipe {
		float: none;
		width: 85%;
		height: inherit;
		margin-left: auto;
		margin-right: auto;
	}
	.sec04 {
		background: none;
	}
	#pipe {
		width: 85%;
		background-image: url(../img/concept/line.gif);
		background-repeat: repeat-x;
		background-position: center 75px;
	}
}

@media only screen and (max-width:568px) {
	.mainImg {
		height: 60%;
	}
	.sec01 {
		padding-top: 0;
	}
	.cond,
	.lng,
	.pipe {
		position: static;
		margin-left: 15px;
	}
	.sec02 table,
	.sec02 .map {
		width: 90%;
	}
	.sec02 table caption {
		font-size: 2rem;
	}
	.sec03 .title {
		height: auto;
        padding-bottom: 2%;
	}
	.sec03 h3 {
		top: 40%;
	}
	.sec03 h3 span.jp {
		font-size: 1.8rem;
	}
	.sec03 h3 span.en {
		font-size: 2rem;	}
	.sec04 {
		background: none;
	}
	.sec04 h3 .data {
		font-size: 4.3125rem
	}
	#cond,
	#lng {
		width: 90%;
		height: inherit;
	}
	#pipe {
		width: 90%;
	}
}

@media only screen and (max-width:399px) {
    .mainImg{
        height: 50%;
    }
}
