@charset "utf-8";
/* CSS Document */


/* 全体
----------------------------*/
div.building{
	background-image: url("/cloud/hybrid/img/bg_main.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	width: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	margin: 0 auto;
}


/* ヘッダー
----------------------------*/
.header {
	position: relative;
	height: 640px;
}
@media screen and (min-width:740px) and ( max-width:770px) {
	.header .content h1 {
		font-size: 4.1rem;
	}
	.gtxt_ie {
		font-size: 1.6rem!important;
	}
}
div.scroll {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: rgb(48,173,237);
	background: linear-gradient(140deg, rgba(48,173,237,0.6) 0%, rgba(196,28,102,0.6) 10%, rgba(107,157,231,0.6) 30%, rgba(35,190,71,0.6) 60%, rgba(3,198,203,0.6) 80%, rgba(236,98,67,0.6) 100%);
    background-size: 400% 100%;
	background-position: center;
	-webkit-animation: bgscroll 20s ease infinite;
	animation: bgscroll 20s ease infinite;
}
div.scroll:after{
	content: '';
	width: 29%;
	height: 100%;
	background-color: #fff;
	position: absolute;
	top: 0;
	right: 0;
}
@media screen and (min-width:1500px) {
	div.scroll:after{
		width: 39%;
	}
}

@keyframes bgscroll {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}


.header div.content {
	position: relative;
	height: 100%;
	width: 100%;
	margin-bottom: 8px;
}
.header div.intro{
	width: 50%;
	/*padding-top: 90px;*/
	color: #fff;
	float: left;
	padding-left: 10px;
}
.header div.intro{
	min-width: 440px;
	font-size: 4rem;
}
.header div.intro p.description{
	line-height: 32px;
}
.header div.intro p.description br.wid{
	display: none;
}
@media screen and (min-width:740px) and ( max-width:916px) {
	.header div.intro p.description br.wid{
		display: inline;
	}
}

.header div.graph{
	position: absolute;
	height: 100%;
	width: calc( 50% - 162px);
	background-color: #fff;
	min-width: 218px;
	right: 0;
}
.header div.graph img.right-diagonal{
	position: absolute;
	top: 0px;
	left: -283px;
	height: 100%;
	max-width: initial;
	/* max-width: 283px; */
}
.header div.graph div.text{
	width: 342px;
	color: #333;
	position: absolute;
	top: 100px;
	left: -119px;
	left: -70px;
}
@media screen and (max-width:880px) {
	.header div.graph div.text{
		left: -128px;
	}
}
.header div.graph div.chart{
	height: 225px;
	position: relative;
}
.header div.graph div.chart p.text{
	position: absolute;
	top: 100px;
	left: 97px;
}
.header div.graph div.chart span.number{
	font-size: 70px;
}
.header div.graph div.chart p.number span.percent{
	font-size: 30px;
}
.header div.bottom-diagonal {
	position: absolute;
	bottom: 61px;
	left: 0px;
	width: 100%;
}
.header div.bottom-diagonal img{
	width: 100%;
}
.header nav{
	position: absolute;
	bottom: 0px;
	left: 0px;
	right: 0px;
	width: 100%;
	margin: 0 auto;
	background-color: #333;
	display: block;
}
.header nav div.content{
	margin-top: -10px;
}
.header nav.fix div.content{
	margin-top: 0px;
}
.header nav div.arrow {
	clear: both;
	text-align: center;
	height: 24px;
}
.header nav div.arrow a{
	position: absolute;
	z-index: 100;
	text-decoration: none;
}
.header nav div.arrow a {
	padding-top: 60px;
	top: -64px;
	left: 0;
	right: 0;
	color: #999;
}
.header nav div.arrow a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 50px;
	margin-left: -15px;
	border: 2px solid #999;
	border-radius: 50px;
	box-sizing: border-box;
}
.header nav div.arrow a span::before {
	position: absolute;
	top: 10px;
	left: 50%;
	content: '';
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #999;
	border-radius: 100%;
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb {
	0% {
		-webkit-transform: translate(0, 0);
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		-webkit-transform: translate(0, 20px);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		transform: translate(0, 0);
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		transform: translate(0, 20px);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

.header nav.fix div.arrow{
	display: none;
}

@media screen and (max-width:980px) {
	.header nav.fix{
		height: 48px;
		box-sizing: border-box;
	}
	.header nav div.arrow a {
		top: -36px;
	}
	.header nav div.arrow a span {
		height: 40px;
	}
	.header nav div.arrow a {
		padding-top: 42px;
		left: 0;
		right: 0;
	}
}
@media screen and (max-width:739px) {
	.header {
		height: 565px;
	}
	.header nav{
		display: none;
	}
	.header div.graph {
		background: none;
	}
	.header div.graph img.right-diagonal {
		display: none;
	}
	div.scroll:after {
		background: none;
	}
	.header div.intro {
		width: 100%;
		min-width: auto;
		text-align: center;
		padding-top: 20px;
		padding-left: 0px;
	}
	.header div.intro p {
		text-align: center!important;
		font-size: 1.4rem !important;
	}
	.header div.intro h1{
		margin-bottom: 330px;
		font-size: 2.8rem !important;
		font-weight: bold;
	}
	.header div.intro p:first-child {
		font-weight: normal;
		font-size: 1.8rem !important;
	}
	.header div.graph div.text{
		left: 0px;
		width: 100%;
		position: relative;
		top: 92px;
		background-image: url(/cloud/hybrid/img/sp_bg_graph.png);
		background-size: 100% 100%;
		padding: 45px 0;
	}
	.header div.graph div.text p{
		font-size: 1.6rem!important;
		text-align: center !important;
		margin-top: 0px !important;
	}
	.header div.graph div.text p:last-child{
		font-size: 1.2rem!important;
	}
	.header div.graph div.text p span.textf_l.bold{
		font-size: 1.6rem!important;;
	}
	.header div.graph div.chart {
		height: auto;
		top: -45px;
	}
	.header div.graph {
		width: 100%;
	}
	.header div.graph canvas{
		width: 200px !important;
		height: 200px !important;
		margin: 0 auto;
		left: 0;
		right: 0;
	}
	#animation_container{
		margin: 0 auto;
		width: 160px !important;
		height: 120px !important;
	}
	.header div.graph div.chart p.text {
		position: absolute;
		top: 66px;
		left: 0;
		right: 0;
		margin: 0 auto;
		text-align: center;
	}
	.header div.graph div.chart span.number {
		font-size: 4rem !important;
	}
	.header div.intro p.description {
		line-height: 24px;
		font-size: 1.6rem !important;
		text-align: left !important;
		width: 96%;
		margin: 0 auto !important;
	}

	.header div.bottom-diagonal{
		display: none;
	}

	div.scroll{
		background: none;
		-webkit-animation: none;
		animation: none;
	}
	div.scroll.view-sp{
		background: url(/cloud/hybrid/img/main_grad_sp.png);
	}

}


/* サービスの“いいとこどり”<br>IDCFハイブリッドクラウドの魅力
----------------------------*/
section.charm{
	/* padding-top: 50px; koma del 171218 */
	padding-bottom: 80px; /* 170px fix koma 171218 */
	text-align: center;
	background-image: url("/cloud/hybrid/img/bg_grad_charm.png");
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	position: relative;
}
section.charm div.content{
	color: #fff;
	padding-top: 170px;
}
section.charm div.description{
	padding: 35px;
	text-align: left;
	background-color: rgba(51,51,51,0.6);
}

section.charm img.bottom-diagonal{
	position: absolute;
	/* bottom: 0px; koma del 171218 */
	left: 0px;
	width: 100%;
	/*min-width: 980px;*/
}

@media screen and (max-width:739px) {
	section.charm {
		/* padding-top: 10px; koma del 171218 */
		padding-bottom: 0;
		/* background: none; koma del 171228 */
		height: 900px;
	}
	section.charm div.content {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	section.charm h2{
		font-size: 1.9rem;
	}
	section.charm div.description {
			padding: 4%;
			text-align: left;
			background-color: rgba(51,51,51,0.6);
			letter-spacing: 1px;
	}
	section.charm div.description p {
		margin-bottom: 0;
	}
}



/* 構成例
----------------------------*/
section.composition{
	background-color: #fff;
	position: relative;
}
section.composition p.description{
	text-align: center;
}
section.composition ul.example-list a,
section.composition ul.example-list a:link,
section.composition ul.example-list a:visited,
section.composition ul.example-list a:hover,
section.composition ul.example-list a:active {
	color: #fff;
}
section.composition ul.example-list{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	overflow: hidden;
	/* padding-bottom: 20px; koma del 171225 */
}
section.composition li.example{
	float: left;
	width: 32%;
	margin-right: 2%;
	padding: 22px 14px 14px;
	box-sizing: border-box;
}


section.composition p.e1{
	min-height: 110px;
}
section.composition p.e2{
	min-height: 44px;
}
@media screen and (min-width:874px) {
	section.composition p.e1 {
		min-height: 88px;
	}
	section.composition li.example ul {
		min-height: 132px;
	}
}

section.composition li.example:last-child{
	margin-right: 0;
	display: table-cell;
}
section.composition h3{
	text-align: center;
	background-repeat: no-repeat;
	background-position: left bottom;
	line-height: 22px;
}
section.composition hr{
	border: 0;
}
section.composition h4{
	font-size: 1.6rem;
}
section.composition li.example p,
section.composition li.example li{
	color: #333;
}
/* section.composition li.example ul {
	min-height: 176px;
} koma del 171225 */
section.composition li.example li{
	background-repeat: no-repeat;
	background-position: left 2px;
	padding-left: 25px;
}
section.composition li.example a {
	width: 85%;
	height: 55px;
	line-height: 57px;
	display: block;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
}
section.composition li.example a:hover {
	opacity: 0.7;
}
section.composition li.example a img{
	margin-left: 16px;
	margin-bottom: 4px;
}
section.composition li.example.pattern-01{
	border: 4px solid #c43c3e;
	color: #c43c3e;
}
section.composition li.example.pattern-01 hr{
	border-top: 4px #eec6c6 dotted;
}
section.composition li.example h3.comp_ttl {
	line-height: 1;
	font-size: 2rem;
}
section.composition li.example h3.comp_ttl span {
	display: block;
}
section.composition li.example h3.comp_ttl span > span {
	display: inline-block;
	padding: 3px 6px 3px 30px;
}
section.composition li.example.pattern-01 h3.comp_ttl span.comp_ttl_cloud > span {
	background: url(/cloud/hybrid/img/icon_cloud_onpre_s.png) no-repeat 0 0;
}
section.composition li.example.pattern-01 h3.comp_ttl span.comp_ttl_service > span {
	background: url(/cloud/hybrid/img/icon_onpre_s.png) no-repeat 0 0;
}
section.composition li.example.pattern-02 h3.comp_ttl span.comp_ttl_cloud > span {
	background: url(/cloud/hybrid/img/icon_bare_s.png) no-repeat 0 0;
}
section.composition li.example.pattern-02 h3.comp_ttl span.comp_ttl_service > span {
	background: url(/cloud/hybrid/img/icon_cloud_bare_s.png) no-repeat 0 0;
}
section.composition li.example.pattern-03 h3.comp_ttl span.comp_ttl_cloud > span {
	background: url(/cloud/hybrid/img/icon_dc_s.png) no-repeat 0 0;
}
section.composition li.example.pattern-03 h3.comp_ttl span.comp_ttl_service > span {
	background: url(/cloud/hybrid/img/icon_cloud_dc_s.png) no-repeat 0 0;
}


section.composition li.example.pattern-01 ul li{
	background-image: url("/cloud/hybrid/img/icon_cons_check01.png");
}
section.composition li.example.pattern-01 a {
	background-image: url("/cloud/hybrid/img/btn_cons_01.png");
}
section.composition li.example.pattern-02{
	border: 4px solid #0a559a;
	color: #0a559a;
}
section.composition li.example.pattern-02 hr{
	border-top: 4px #bfcbdd dotted;
}

section.composition li.example.pattern-02 ul li{
	background-image: url("/cloud/hybrid/img/icon_cons_check02.png");
}

section.composition li.example.pattern-02 a {
	background-image: url("/cloud/hybrid/img/btn_cons_02.png");
}

section.composition li.example.pattern-03{
	border: 4px solid #3bb55d;
	color: #3bb55d;
}
section.composition li.example.pattern-03 hr{
	border-top: 4px #c5e9cf dotted;
}
/* section.composition li.example.pattern-03 h3{
	background-image: url("/cloud/hybrid/img/icon_cons_03.png");
} */
section.composition li.example.pattern-03 ul li{
	background-image: url("/cloud/hybrid/img/icon_cons_check03.png");
}
section.composition li.example.pattern-03 a {
	background-image: url("/cloud/hybrid/img/btn_cons_03.png");
}
section.composition a.inquiry{
	width: 600px;
	height: 78px;
	line-height: 78px;
	text-align: center;
	background-color: #000;
	display: block;
	margin: 0 auto;
}
section.composition p.inquiry {
	max-width: 600px;
}
section.composition p.inquiry a {
	position: relative;
}
section.composition p.inquiry a span {
	position: absolute;
	top: 26px;
	right: 117px;
	width: 18px;
	height: 18px;
	border-left: 2px solid #333;
	border-bottom: 2px solid #333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}
section.composition p.inquiry a:hover span {
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
section.composition p.inquiry a img{
	margin-left: 12px;
}
section.composition a.inquiry:hover{
	opacity: 0.7;
}
section.composition img.bottom-diagonal{
	width: 100%;
}

@media screen and (max-width:739px) {
	section.composition{
		padding: 20px 0;
	}
	section.composition div.example-list-over{
		width: 90%;
		margin: 0 auto;
	}
	section.composition ul.example-list {
		overflow: visible;
	}
	section.composition li.example{
		float: left;
		width: auto;
		margin-right: 0;
		/* padding: 32px 14px 14px; */
		box-sizing: border-box;
		border: 4px solid #c43c3e;
		color: #c43c3e;
	}
	section.composition li.example h3.comp_ttl span {
		font-size: 1.5rem;
	}
	section.composition li.example h3.comp_ttl span > span {
		padding: 5px 0 5px 30px;
	}

	section.composition p.e1{
		min-height: initial;
	}
	section.composition p.e2{
		min-height: initial;
	}
	section.composition li.example ul {
		min-height: initial;
	}
	section.composition ul.example-list img.back{
		position: absolute;
		top: 40%;
		left: -6%;
		z-index: 100;
		width: 10%;
	}
	section.composition ul.example-list img.next{
		position: absolute;
		top: 40%;
		right: -6%;
		z-index: 100;
		width: 10%;
	}
	section.composition p.center{
		text-align: left !important;
	}
	section.composition img.bottom-diagonal{
		padding-top: 20px;
	}
}



/* たくさんのお客さまにご利用いただいているハイブリッドクラウド
----------------------------*/
section.use{
	position: relative;
	width: 100%;
	/* background: #eee; */
	background: #fff;
	margin-top: -1px;
}
section.use p.description{
	text-align: center;
}
section.use ul{
	margin: 0 auto;
	overflow: hidden;
}
section.use ul li{
	box-sizing: border-box;
	width: 25%;
	float: left;
	margin-bottom: 12px;
	text-align: center;
	padding-top: 11px;
	padding: 1%;
	background-color: #fff;
}
section.use ul li:nth-child(4n){
	margin-right: 0;
}
section.use img.bottom-diagonal{
	width: 100%;
}
@media screen and (max-width:739px) {
	section.use{
		padding-top: 20px;
	}
/*   section.use h2 {
		font-size: 1.5rem;
	} */
	section.use p.description{
		text-align: left;
	}
	section.use ul li:nth-child(4n){
		margin-right: 2%;
	}
	section.use ul li:nth-child(3n){
		margin-right: 0%;
	}
	section.use ul li{
		width: 32%;
	}
}



/* IDCフロンティアサービスラインアップ
----------------------------*/
section.lineup{
	position: relative;
	width: 100%;
	margin-top: -1px;
	padding-bottom: 50px;
	background: #eee;
	background-image: url("/cloud/hybrid/img/bg_line_gray.png");
}
section.lineup div.content{
	width: 1500px;
	max-width: 96%;
}
section.lineup img.top-diagonal{
	width: 100%;
}
section.lineup a,
section.lineup a:link,
section.lineup a:visited,
section.lineup a:hover,
section.lineup a:active {
	color: #333;
}
section.lineup li{
	float: left;
	text-align: center;


	width: 20%;
}
section.lineup div.logo {
	width: 70%;
	position: relative;
	margin: 0 auto;
}
section.lineup div.logo img:nth-child(1){
	margin: 0 auto;
	opacity: 0.7;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
section.lineup div.logo img:nth-child(2){
	position: absolute;
	height: auto;
	width: 70%;
	max-width: 161px;
	top: 15%;
	left: 0px;
	right: 0px;
	margin: 0 auto;
	-moz-transition: -moz-transform 0.2s linear;
	-webkit-transition: -webkit-transform 0.2s linear;
	-o-transition: -o-transform 0.2s linear;
	-ms-transition: -ms-transform 0.2s linear;
	transition: transform 0.2s linear;
}
section.lineup a:hover div.logo img:nth-child(2){
	-webkit-transform: scale(1.125);
	-moz-transform: scale(1.125);
	-o-transform: scale(1.125);
	-ms-transform: scale(1.125);
	transform: scale(1.125);
}
section.lineup a:hover div.logo img:nth-child(1){
	opacity: 1;
}
section.lineup div.text {
	width: 231px;
	width: 85%;
	margin: 0 auto;
}
section.lineup h3{
	font-size: 1.7rem;
}
section.lineup div.text p{
	text-align: left;
}

@media screen and (max-width:739px) {
	section.lineup img.top-diagonal{
		margin-bottom: 20px;
	}
	section.lineup div.logo {
		width: 84%;
		height: auto;
		overflow: hidden;
	}
	section.lineup div.text {
		width: 90%;
	}
	section.lineup h3{
		font-size: 1.5rem;
	}
	section.lineup div.text p{
		font-size: 1.2rem;
	}
	section.lineup div.logo img:nth-child(1){
		position: static;
		width: 100%;
	}
	section.lineup div.logo img:nth-child(2){
		top: 14%;
		width: 70%;
		max-width: 100%;
	}
}
