@charset "utf-8";
/*------------------------------------------
  共通設定用
------------------------------------------*/
body {
    opacity: 0;
}
.fade {
    opacity: 1;
    transition: .5s;
}
.flex {
	display: flex;
	justify-content: space-between;
}
.content {
    width: 90%;
	max-width: 1040px;
}
li {
	list-style: none;
}
a:hover img {
	transition: 0.2s linear;
}
/* ボタン */
.c_top_btn a {
	min-width: 300px;
    max-width: 400px;
	display: block;
	padding: 15px 0;
	font-size: 1.6rem;
	text-align: center;
	color: #ddd;
	background: #2f5597;
	border-radius: 3px;
    margin: 30px auto 0;
}
.c_top_btn a:hover{
	text-decoration: none;
    opacity: .8;
    transition: .8s;
}

/* CVボタン */
.cv_account a {
	font-size: 2.3rem;
	text-align: center;
	max-width: 272px;
	margin: 0 auto;
	padding: 18px 20px 15px;
	display: block;
	background: linear-gradient(to right, #ff7002 , #ffbf00);
	border-radius: 5px;
	color: #fff;
	position: relative;
	filter: drop-shadow(0px 1px 3px rgba(0,0,0,0.2));
}
.cv_account a:after {
	content: '';
	position: absolute;
	width: 10px;
	height: 15px;
	background: url(/sevice_shared/img/svg/icn_arrow_bold_w.svg) no-repeat 0 0 / 10px;
	top: 26px;
	right: 15px;
}
.cv_account a:hover {
	text-decoration: none;
	opacity: .8;
	transition: 0.2s linear;
}

@media screen and (max-width: 768px) {
	.content {
		width: 90%;
	}
}

/*------------------------------------------
 MV
------------------------------------------*/
.main {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.main:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #000;
    opacity: .7;
}
.main video {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url(/sevice_shared/img/cloud/top/new/mv_bg.jpg) no-repeat 0 0 / cover;
  background-size: cover;
  z-index: -1;
}
.main .content {
    position: relative;
    padding: 30px 0;
}
.main_copy {
	width: 100%;
	max-width: 650px;
    position: relative;
    z-index: 2;
}
.main_copy h1 {
    padding: 0;
    max-width: 200px;
}
.main_copy h2 {
    line-height: 1.4;
    text-align: left;
    margin: 0 0 10px;
    padding: 0;
    font-size: 5rem;
}
.main_copy h2 span {
    display: block;
    font-size: 3rem;
}
.main_copy p {
    margin-bottom: 20px;
    line-height: 1.8;
}
.main_cta {
    justify-content: flex-start;
    margin-bottom: 20px;
}
.main_cta a {
	color: #fff;
    background: #4d9feb;
	display: block;
    width: 250px;
    padding: 20px;
    border-radius: 3px;
    box-sizing: border-box;
    margin-right: 20px;
    text-align: center;
}
.main_cta a:hover {
	text-decoration: none;
	opacity: .8;
	transition: 0.2s linear;
}
.main .mv_image {
    position: absolute;
    z-index: 1;
    top: -20px;
    right: 0;
    width: 600px;
    mix-blend-mode: screen;
}

@media screen and (max-width: 768px) {
	.main > .flex {
		display: block;
		overflow: visible;
	}
	.main_copy {
		margin-bottom: 30px;
	}
	.main_copy h1 {
		font-size: 4.0rem;
		margin-top: 10px;
	}
	.main_copy h2 {
		margin-top:0;
	}
}


/*------------------------------------------
  IDCFクラウドの最新情報
------------------------------------------*/
#cloud_info {
    background: #f5f5f5;
}
#cloud_info ul {
    justify-content: space-between;
    width: 1040px;
    padding-bottom: 25px;
}
#cloud_info .news {
    width: 24%;
    background: rgba(2, 12, 24, 0.83);
    position: relative;
    overflow: visible;
}
#cloud_info .news a {
    color: #fff;
    font-size: 1.4rem;
    display: block;
    height: 100%;
}
#cloud_info .news a:hover {
    text-decoration: none;
}
#cloud_info .news .title {
    padding: 15px 15px 40px;
    margin-bottom: 0px;
    font-weight: bold;
}
#cloud_info .news .date {
    position: absolute;
    right: 15px;
    bottom: 10px;
}
#cloud_info .news .category {
    position: absolute;
    background: #4d9feb;
    width: 110px;
    text-align: center;
    padding: 1px;
    left: 0;
    bottom: -20px;
}


/*------------------------------------------
  お客さまのビジネスを加速するソリューション
------------------------------------------*/
#solution {
    background: #23385b;
}
#solution ul {
    justify-content: space-between;
}
#solution li {
    width: 32%;
    background: #fff;
    border-top: 6px solid #4D9FEB;
}
#solution li a {
    color: #333;
    display: block;
    height: 100%;
}
#solution li a:hover {
    text-decoration: none;
}
#solution li h4 {
    text-align: center;
    margin-bottom: 10px;
}
#solution li p {
    margin: 0;
    padding: 0 30px 20px;
}


/*------------------------------------------
  導入事例
------------------------------------------*/
#case {
	background: #010D1E;
}
#case li {
    margin-bottom: 10px;
}
#case li a {
    color: #fff;
}
#case li a:hover {
    text-decoration: none;
    background: rgba(255, 255, 255, 0.1);
    transition: .2s;
}
#case li figure {
    width: 30%;
    flex: none;
}
#case li div {
    width: 67%;
    padding: 20px 0;
}
#case li div .industry {
    font-size: 1.4rem;
    margin-bottom: 5px;
    position: relative;
    padding-left: 40px;
}
#case li div .industry:before {
    content: '';
    position: absolute;
    width: 35px;
    height: 1px;
    background: #fff;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
#case li div .name {
    color: #4d9feb;
    font-size: 2rem;
}

/*------------------------------------------
  スクロールバー調整用
------------------------------------------*/
#pattern .simplebar-track.simplebar-horizontal {
	background: #52a3f2;
}
.simplebar-scrollbar:before {
	opacity: 0.2;
}
#pattern .scroll_box {
	padding-bottom: 15px;
}


/*------------------------------------------
  構成例
------------------------------------------*/
#pattern {
	position: relative;
	background: url(/sevice_shared/img/cloud/top/bg_circle04.png) no-repeat 95% top,
				url(/sevice_shared/img/cloud/top/bg_circle05.png) no-repeat left bottom;
	background-color: #439bf1;
}
.pattern:after { 
	clear: both;
	content: ".";
	display: block;
	height: 0.1px;
	line-height: 0;
	visibility: hidden;
} 
.pattern .col3 {
	display: block;
	float: left;
	margin: 0px 0px 30px;
	width: 60%;
}
.lh {
	line-height: 64px;
}
#pattern h2,
#pattern p,
#pattern li,
#pattern li a {
	color:#fff;
}
#pattern p{
	border: solid 2px #fff;
	padding:10px;
	margin: 20px 10px;
	text-align:center;
}
#pattern ul.flex {
	-webkit-overflow-scrolling: touch;
}
#pattern ul.flex > li {
	border-right: 1px solid #fff;
}
#pattern ul.flex > li:last-child {
	border-right: none;
}
#pattern li {
	min-width: 310px;
	padding: 0 15px;
}
#pattern figure {
	margin: 0 10px;
}
#pattern .point li {
	position: relative;
	padding: 0 0 0 10px;
	margin-left: 5px;
	margin-bottom: 5px;
}
#pattern .point li:before {
	content: '';
	position: absolute;
	width: 3px;
	height: 3px;
	background: #fff;
	border-radius: 50%;
	left: 0;
	top: 10px;
}
#pattern li > a {
	display: block;
	width: 110px;
	margin: 0 auto;
	padding: 15px 0;
	position: relative;
}
#pattern li > a:after {
	content: '';
	position: absolute;
	width: 8px;
	height: 15px;
	background: url(/sevice_shared/img/svg/icn_arrow_bold_w.svg) no-repeat 0 0 / 8px;
	top: 20px;
	right: -5px;
}
#pattern .c_top_btn a {
	margin: 20px auto;
}


/*----------------------------------------------------------------------------------------------------
	for Tablet（1039px以下）
-----------------------------------------------------------------------------------------------------*/
@media (max-width: 1039px) {
    .main .content {
        position: static;
    }
    /*#cloud_info ul {
        flex-wrap: wrap;
    }
    #cloud_info .news {
        width: 48%;
        margin-bottom: 20px;
    }
    #cloud_info .news .category {
        bottom: 0;
    }*/
}
@media screen and (max-width: 768px) {
    .main_copy h2 {
        font-size: 2.6rem;
    }
    .main_copy h2 span {
        font-size: 1.8rem;
    }
    .main .mv_image {
        width: 350px;
        top: auto;
        right: -20px;
        bottom: -30px;
    }
    .main_cta {
        flex-wrap: wrap;
        justify-content: center;
    }
    .main_cta a {
        margin: 0 10px 10px;
    }
    #solution ul {
        flex-wrap: wrap;
    }
    #solution li {
        width: 100%;
        margin-bottom: 20px;
    }
    #case li a {
        flex-wrap: wrap;
        justify-content: center;
        max-width: 417px;
        margin: 0 auto 20px;
    }
    #case li figure {
        width: 100%;
    }
    #case li div {
        width: 100%;
    }
	#pattern {
		background-size: 70%;
	}
    .lh {
        line-height: 48px;
    }
}
