@charset "utf-8";
/*=========================================

	/datadenter/配下のテンプレートCSS

=========================================*/


/*----------------------------------------------------------------------------------------------------
  共通設定
-----------------------------------------------------------------------------------------------------*/

/* ----- フォント指定 ----------------- */
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css?family=Josefin+Sans);

body {
	font-family: 'Noto Sans Japanese', Meiryo, "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
}
.underline {
	text-decoration: underline;
}

/* ----- ヘッダー ----------------- */

.l-header {
	background-color: #7d86b0;
	height: 64px;
}
.l-header > .wrap ,
.l-header > .wrap > .links {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.l-header > .wrap > .links > .wrap {
	height: 100%;
}
.l-header.showDown {
	top:0;
}
.l-header > .wrap > .logo {
	width: 203px;
}


/* ----- フッター ----------------- */

.l-footer > .links > .inner > .company > h2.logo {
	display: block;
	margin: 0 0 13px 0 !important;
}
.l-footer > .links > .inner > .company > h2.logo:before,
.l-footer > .links > .inner > .company > h2.logo:after {
	border: none;
	content: none;
}


/* ----- セクション ----------------- */
section {
	width: 100%;
	max-width: 1100px;
	padding: 80px 30px 0;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}
section#PageTit {
	padding: 0 30px;
	z-index: 5;
}
/* 横幅100%のセクションの場合は以下 */
section.w_max {
	width: 100%;
	max-width: inherit;
	padding: 0;
}

/* ----- ページトップの画像 ----------------- */
section#PageHead {
	width: 100%;
	max-width: inherit;
	height: 220px;
	margin: 0 0 -50px;
	padding: 0;
	overflow: hidden;
	z-index: 1;
}
section#PageHead .wrap {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: skewY(3deg) translateY(4.3%);
	transform: skewY(3deg) translateY(4.3%);
}
section#PageHead .bg {
	background: url(//cdn.www.idcf.jp/sevice_shared/img/datacenter/img_pagehead.jpg) no-repeat right 25% top;
	background-size: cover;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: -38%;
	left: 0;
}
/* ----- パンくず ----------------- */
.lnav {
	border: none;
	color: #262D44;
	padding: 0 0 75px;
}
.lnav ul {
	max-width: 1040px;
}
.lnav li {
	background: url(/sevice_shared/img/datacenter/icn_arrow_list.svg) no-repeat right 50% !important;
	margin-right: 6px !important;
	font-size: 15px !important;
	font-size: 1.5rem !important;
}
.lnav ul li:last-child {
	background: none !important;
}
.lnav a {
	color: #262D44;
}
/* ----- ページナビ（タブ切り替え風） ----------------- */
.nav_product {
    border-bottom: 2px solid #262d44;
}
.nav_product ul {
	display: flex;
	justify-content: center;
}
.nav_product ul > li {
    width: 32%;
    font-size: 1.5rem;
    border: 2px solid #999;
    border-bottom: #fff;
    text-align: center;
    margin: 0 5px;
}
.nav_product ul li.active {
	font-weight: bold;
	position: relative;
    padding: 20px 15px 20px 50px;
    border-color: #262d44;
    box-sizing: border-box;
}
.nav_product ul li.active:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: #fff;
    bottom: -2px;
    left: 0;
}
.nav_product ul li a {
	color: #999;
	position: relative;
	display: block;
    padding: 20px 15px 20px 50px;
    box-sizing: border-box;
    height: 100%;
}
.nav_product ul li span {
    position: relative;
}
.nav_product ul li span:before {
    content: '';
    position: absolute;
    top: 50%;
    left: -40px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    opacity: .6;
}
.nav_product ul li.active span:before {
    opacity: 1;
}
.nav_product ul li.dc_vb span:before {
    background: url(/sevice_shared/img/svg/datacenter/icn_datacenter_vb.svg) no-repeat 0 0 / 35px;
}
.nav_product ul li.dc_private span:before {
    background: url(/sevice_shared/img/svg/cloud/icn_cloud_private.svg) no-repeat 0 0 / 35px;
}
.nav_product ul li.dc_ocx span:before {
    background: url(/sevice_shared/img/svg/datacenter/icn_datacenter_ocx.svg) no-repeat 0 0 / 35px;
}
.nav_product ul li a {
    text-decoration: none;
}

/* ----- 見出しタイトル ----------------- */
h1 {
	margin: 0 0 60px;
	padding: 0;
	line-height: 1.2;
	font-size: 46px;
	font-size: 4.6rem;
	font-weight: bold;
	color: #262D44;
}
h1.multi_line {
	font-size: 30px;
	font-size: 3.0rem;
}
h1 span.dc-subtitle {
	display: block;
	padding: 0 0 46px;
	font-family: 'Josefin Sans', Meiryo, "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	color: #B07783;
	letter-spacing: -0.02em;
	line-height: 1.0;
}
h1 span.dc-subtitle:before {
	display: inline-block;
	content: "";
	width: 50px;
	height: 1px;
	background-color: #B07783;
	vertical-align: middle;
	margin-right: 7px;
	margin-top: -5px;
}
h1 span.sub_title {
	display: block;
	font-size: 2.0rem;
}
h1 span.date_schedule {
    background: #86376a;
    color: #fff;
    font-size: 1.8rem;
    padding: 3px 10px;
    margin-bottom: 10px;
    display: inline-block;
    display: block;
    width: 200px;
    text-align: center;
}
h2 {
	display: flex;
	margin: 0 auto 60px !important;
	padding: 0;
	text-align: center;
	line-height: 1.5;
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: bold;
	align-items: center;
}
h2:before,
h2:after {
	border-top: 1px solid #ccc;
	content: "";
	flex-grow: 1;
}
h2:before {
	margin-right: 3rem;
}
h2:after {
	margin-left: 3rem;
}
h2.en_h2 {
	font-size: 28px;
	font-size: 2.8rem;
}
h3 {
	margin: 0 0 20px;
	padding: 0;
	line-height: 1.35;
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	color: #B07783;
}
h3.line {
	padding: 40px 0 24px;
	position: relative;
}
h3.line:before {
	display: block;
	content: "";
	background: #B07783;
	width: 80px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 0;
}
h4 {
	margin: 0 0 20px;
	padding: 0 0 0 10px;
	line-height: 1.35;
	font-size: 19px;
	font-size: 1.9rem;
	font-weight: bold;
	position: relative;
	border-left: 4px solid #262D44;
}
h5 {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}

/* ----- レティナ対応するアイコン画像 ----------------- */
.retina-icn img {
	width: 100%;
	max-width: 55px;
}

/* ----- テキスト関連 ----------------- */
p {
	line-height: 1.8;
	font-size: 16px;
	font-size: 1.6rem;
}
h2 + p {
	text-align: center;
}
h2 + p.clear {
	text-align: left;
}
b {
	font-weight: bold;
}
.text_small {
	font-size: 60%;
}
.text_gray {
	font-size: 14px;
	font-size: 1.4rem;
	color: #999;
}
.text_red {
	font-size: 12px;
	font-size: 1.2rem;
	color: #FF0000;;
}

/* ----- リンク関連 ----------------- */
.c-button.arrow {
	display: inline-block;
	width: auto;
	padding: 5px 36px 5px 4px;
}
a:hover span.auto_br {
	text-decoration: underline;
}

/* ----- リスト（矢印） ----------------- */
ul.list_arrow {
   margin: 12px 0;
}
h2 + ul.list_arrow {
   margin-top: 0;
}
ul.list_arrow li {
	padding-left: 10px;
	line-height: 26px;
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
}
ul.list_arrow li:before {
	display: block;
	content: "";
	background: url("/sevice_shared/img/datacenter/icn_arrow_list.svg") no-repeat 0 0;
	width: 5px;
	height: 8px;
	position: absolute;
	left: 0;
	top: 0.7em;
}
ul.list_tag li {
	display: inline-block;
	background: #FFF;
	margin: 0 5px 5px 0;
	padding: 0.5em;
	line-height: 1;
	font-size: 12px;
	font-size: 1.2rem;
	border: solid 1px #CCC;
}

/* ----- ボタン ----------------- */
section > .btns {
	width: auto;
	padding: 40px 0 0;
	text-align: center;
	box-sizing: border-box;
}
section > .btns > li {
	display: inline-block;
}
section > .btns > li + li {
	margin-left: 40px;
}

.c_button {
	display: block;
	background: #FFF;
	width: auto;
	min-width: 300px;
	margin: 0 auto;
	padding: 15px 20px;
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #5299d3;
	box-sizing: border-box;
	border-radius: 100px;
	-webkit-box-shadow: 0px 4px 1px 0px rgba(179, 179, 179, 0.2);
	box-shadow: 0px 4px 1px 0px rgba(179, 179, 179, 0.2);
	text-decoration: none;
	-webkit-transition: all .4s ease-out;
	transition: all .4s ease-out;
	border: solid 1px transparent;
}
.c_button:hover {
	text-decoration: none;
	border: solid 1px #5299D3;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.c_button:hover span.auto_br {
	text-decoration: none;
}
.c_button.blue {
	background: #5299D3;
	color: #FFF;
}
.c_button.blue:hover {
	border: 1px solid #DDD;
}
.c_button.blue:hover span.auto_br {
	text-decoration: none;
}
.c_button.gray {
	background: #F5F6F9;
	color: #262D44;
	border: 1px solid #CCC;
}
.c_button.border {
	background: none;
	color: #262D44;
	border: 1px solid #262D44;
	box-shadow: none;
}
.c_button.border:hover {
	background: #EEE;
	color: #999;
	border: 1px solid #999;
}

/* ----- ページトップへ戻る----------------- */
.pages-top > .page-top {
	cursor: pointer;
	position: fixed;
	bottom: 80px;
	right: 15px;
	padding-left: 96px;
	line-height: 1;
	-webkit-transform-origin: right;
	transform-origin: right;
	opacity: 0;
	-webkit-transform: rotate(90deg) translateX(100%);
	transform: rotate(90deg) translateX(100%);
	z-index: 140;
	-webkit-transition: all .4s ease-out .4s;
	transition: all .4s ease-out .4s;
	zoom: 1.005;
}
.pages-top > .page-top.active {
	opacity: 1;
	-webkit-transform: rotate(90deg) translateX(0);
	transform: rotate(90deg) translateX(0);
}
.pages-top > .page-top > span {
	font-family: "Josefin Sans", sans-serif;
	font-size: 13px;
	font-size: 1.3rem;
	color: #FFFFFF;
	line-height: 0;
	font-style: italic;
	font-weight: bold;
	padding: 3px 6px;
	-webkit-transition: all .6s ease-in-out;
	transition: all .6s ease-in-out;
}
.pages-top > .page-top:after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 90px;
	height: 1px;
	background-color: #FFFFFF;
	margin-top: -1px;
}
.pages-top > .page-top:hover span {
	background-color: #FFFFFF;
	color: #262d44;
}
.pages-top > .page-top:hover:after {
	-webkit-animation: PageTopIcon 2s ease-in-out infinite;
	animation: PageTopIcon 2s ease-in-out infinite;
}
.pages-top > .page-top.colorB span {
	color: #262d44;
}
.pages-top > .page-top.colorB:after {
	background-color: #262d44;
}
.pages-top > .page-top.colorB:hover span {
	background-color: #262d44;
	color: #FFFFFF;
}

/* ----- 画像のあしらい ----------------- */
.img {
	text-align: center;
}
/* 画像を丸型に切り抜き */
.img_circle {
	width: 160px;
	height: 160px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	background-size:cover;
	border-radius: 50%;
}
.img_circle img {
	position: absolute;
	left: -25%;
	top: 0;
	max-width: 160%;
}
figure {
	position: relative;
	margin: 0 auto;
	text-align: center;
}
figcaption {
	background: #FFF;
	padding: 8px 15px;
	font-size: 14px;
	font-size: 1.4rem;
	position: absolute;
	right: 0;
	bottom: -1px;
	font-weight: bold;
}

/* ----- テーブル ----------------- */
table {
	width: 100%;
	table-layout: fixed;
	border: 2px solid #E2E5EE;
}
table th,
table td {
	padding: 12px 20px !important;
	text-align: left;
	vertical-align: middle;
	border: 1px solid #CECECE;
}
table th {
	background: #F0F2F6;
	font-weight: bold;
}
table th.t_head {
	background: #E2E5EE;
}
table td {
	padding: 18px 20px !important;
}

/* ----- 画像のテキスト回り込み ----------------- */
.img_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.sinet #usage .img_wrap {
	align-items: center;
}
.img_wrap.right {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.img_wrap +  .img_wrap {
	margin-top: 80px;
}
.text_wrap {
	flex: 1;
	text-align: left;
}
.img_wrap .img {
	max-width: 50%;
   width: 100%\9; /* IE10以下 */
}
@media all and (-ms-high-contrast: none){
  .img_wrap .img {
	width: 100%; /* IE10以上 */
  }
}
.img_wrap.left .img {
	margin:0 40px 0 0;
}
.img_wrap.right .img {
	margin:0 0 0 40px;
}

/* ----- 画像の横並び ----------------- */
.img_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}
.img_box figure:nth-of-type(n+2) {
	padding-left: 20px;
}
.img_box img {
	width: 100%;
	
}
/* ----- 要素横並び ----------------- */
.flex_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	word-break: normal;
	
}
#DC_List .flex_box {
	flex-wrap: wrap;
}
.flex_block {
	-webkit-flex-grow: 1;
	flex-grow: 1;
}
.w_txt {
	max-width: 170px;
}
.w_txt_3col {
	max-width: 260px;
}
.flex_block:nth-of-type(n+2) {
	margin-left: 2%;
}
/* 2カラムの場合 */
.flex_box.col_02 .flex_block {
	width: 50%;
}
.flex_box.col_02 .flex_block:nth-of-type(n+2) {
	margin-left: 7.5%;
}
.flex_box.col_02 .flex_block h2 {
	text-align: left !important;
}
/* 3カラムの場合 */
.flex_box.col_03 .flex_block {
	width: 33.3%;
}
.flex_box.col_03 .flex_block:nth-of-type(n+2) {
	margin-left: 4%;
}
/* 囲み線あり */
.flex_box .border {
	border: 1px solid #CCC;
	position: relative;
	box-sizing: border-box;
}
#DC_List .flex_box .border {
	width: 138px;
	margin-top: 10px;
	flex-grow: initial;
}
.flex_box .border span {
	background: url("/sevice_shared/img/datacenter/icn_arrow_list.svg") no-repeat left center;
	padding-left: 10px;
	line-height: 1.35;
	font-size: 14px;
	font-size: 1.4rem;
	color: #262D44;
	text-align: left;
	position: absolute;
	bottom: 15px;
	left: 20px;
}
.flex_box .no_link span {
	background: none;
	padding-left: 0;
}
.flex_box .border span.en_collocation {
	font-size: 12px;
	font-size: 1.2rem;
}
.flex_box .border span.auto_br {
	background: none;
	padding: 0;
	position:static;
}
.flex_box .border img {
	padding: 40px 0 70px;
}
.flex_box figure.border {
	margin: 0;
	text-align: center;
}
.flex_box figure.border img {
	padding: 0;
}
.flex_box.column_border > div.flex_block {
	border: 1px solid #ccc;
	margin-bottom: 20px;
	padding: 30px 20px;
	box-sizing: border-box;
	width: 49%;
	flex-grow: 0;
}
.flex_box.column_border .flex_block:nth-of-type(n+2) {
	margin-left: auto;
}
.flex_box.column_border ul {
	margin-left: 20px;
}
.flex_box.column_border ul li {
	font-size: 1.6rem;
	list-style: disc;
	margin-bottom: 5px;
}
.flex_box.column_border ul li:last-child {
	margin-bottom: 0;
}

/* 囲み戦ありのリンク */
.flex_box .border a {
	display: block;
	width: 100%;
	min-height:50px;
	text-align: center;
	box-sizing: border-box;
}
.flex_box .border a:before, .flex_box .border a:after {
	content:"";
	width: 0;
	height: 2px;
	position: absolute;
	transition: all 0.2s linear;
	background: #000;
}
.flex_box .linear a:before, .flex_box .linear a:after {
	transition: all 0.5s linear;
}
.flex_box .border a > p {
	margin: 0;
}
.flex_box .border p {
	margin: 0;
}
.flex_box .border a p:before, .flex_box .border a p:after{
	content:"";
	width:2px;
	height:0;
	position: absolute;
	transition: all 0.2s linear;
	background: #000;
}
.flex_box .border a:hover p:before, .flex_box .border a:hover p:after{
	height: 100%;
}
.flex_box .border a:hover:before, .flex_box .border a:hover:after {
	width: 100%;
}
.flex_box .border a:before, .flex_box .border a:after{
	transition-delay: 0s;
}
.flex_box .border a p:before, .flex_box .border a p:after{
	transition-delay: 0s;
}
.flex_box .border a:before{
	right: -1px;
	top: -1px;
}
.flex_box .border a:after{
	left: -1px;
	bottom: -1px;
}
.flex_box .border a p:before{
	left: -1px;
	top: -1px;
}
.flex_box .border a p:after{
	right: -1px;
	bottom: -1px;
}
.flex_box .border a:hover:before, .flex_box .border a:hover:after{
	transition-delay: 0.2s;
}
.flex_box .border a:hover p:before, .flex_box .border a:hover p:after{
	transition-delay: 0s;
}
.flex_box .border a:hover img {
	opacity: 1;
}

.flex_box .border a:hover span.auto_br {
	text-decoration: none;
}

/* ----- タブ ----------------- */
.tab_wrap{
}
input[type="radio"]{
	display:none;
}
.tab_area{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	width: 80%;
	margin: 0 auto;
}
.tab_area label{
	-webkit-flex-grow: 1;
	flex-grow: 1;
	background:#F5F6F9;
	padding:15px 5px;
	text-align:center;
	line-height: 1.35;
	font-size: 14px;
	font-size: 1.4rem;
	color:#999;
	border: 1px solid #E2E5EE;
	box-sizing: border-box;
	cursor:pointer;
	transition:ease 0.2s opacity;
	position: relative;
}
.tab_area label + label {
	border-left: none;
}
.tab_area label:hover{
	background:#5299D3;
	color:#FFF;
}
.tab_area label:after {
	display: none;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 9px 0 9px;
	border-color: #5299D3 transparent transparent transparent;
	position: absolute;
	bottom: -9px;
	left: 50%;
	margin-left: -9px;
}
.tab_area.bottom label:after {
	border-width: 0 9px 10px 9px;
	border-color: transparent transparent #5299D3 transparent;
	bottom: 0;
	top: -9px;
}
.panel_area{
}
.tab_panel{
	width:100%;
	padding:80px 0;
	display:none;
}
#tab1:checked ~ .tab_area .tab1_label{background:#5299D3; color:#FFF; border: none;}
#tab1:checked ~ .tab_area .tab1_label:after{display: block;}
#tab1:checked ~ .panel_area #panel1{display:block;}
#tab2:checked ~ .tab_area .tab2_label{background:#5299D3; color:#FFF; border: none;}
#tab2:checked ~ .tab_area .tab2_label:after{display: block;}
#tab2:checked ~ .panel_area #panel2{display:block;}
#tab3:checked ~ .tab_area .tab3_label{background:#5299D3; color:#FFF; border: none;}
#tab3:checked ~ .tab_area .tab3_label:after{display: block;}
#tab3:checked ~ .panel_area #panel3{display:block;} 

/* ----- よくあるご質問 ----------------- */
dl.dc_qa dt,dl.dc_qa dd {
	padding: 0 0 12px 32px;
	font-size: 1.6rem;
	position: relative;
}
dl.dc_qa dd + dt {
	margin-top: 18px;
}
dl.dc_qa dt:before {
	display: block;
	content: "";
	background: url(/sevice_shared/img/datacenter/common/icn_qa_question.svg) no-repeat center center;
	width: 25px;
	height: 25px;
	position: absolute;
	left: 0;
	top: 0;	
}
dl.dc_qa dd:before {
	display: block;
	content: "";
	background: url(/sevice_shared/img/datacenter/common/icn_qa_answer.svg) no-repeat center center;
	width: 25px;
	height: 25px;
	position: absolute;
	left: 0;
	top: 0;	
}

/* ----- 薄赤背景部分のスタイル ----------------- */
section.w_max.red {
	background: #FBF9FA;
	margin-top: 80px;
	padding: 60px 0;
}
section.w_max.red > h2 {
	padding: 0 30px 40px !important;
}
section.w_max.red > p {
	width: 100%;
	max-width: 1100px;
	padding: 0 30px;
	margin: 0 auto;
	box-sizing: border-box;
}
section.w_max.red h2,
section.w_max.red > h2 {
	padding: 0!important;
	display: block;
}
section.w_max.red h2:before,
section.w_max.red h2:after {
	content: none;
	display: block;
}
section.w_max.red .flex_box.col_03 {
	width: 100%;
	max-width: 1100px;
	padding: 0 30px;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
}
section.w_max.red .flex_block:nth-of-type(n+2) {
	margin-left: 70px;
}
section.w_max.red h3 {
	text-align: left;
	margin: 20px 0 10px !important;
}
section.w_max.red p {
	text-align: left;
}
section.w_max.red .c_button.border {
	width: 80%;
	min-width: 120px;
	padding: 12px 20px;
	margin-top: 30px;
}

/* ----- データセンター拠点一覧（ページ下部インクルードファイル） ----------------- */
#DC_List  {
}
#DC_List .flex_block {
	margin-right: 1%;
}
.flex_block:nth-of-type(n+2) {
	margin-left: 0;
}
@media (max-width: 768px) {
	#DC_List.english .flex_box .border span {
		bottom: 5px;
		left: 10px;
	}
	.flex_box.sp_col_03 .flex_block:first-child {
		margin-top: 0;
	}
}

/* サービス導入・ご相談 セクション */
.pages-top > .consultation {
	width: 100%;
	background-color: #eff3f5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 270px;
	padding: 0;
}
.pages-top > .consultation .c-button.shadow {
	-webkit-box-shadow: 0px 4px 1px 0px rgba(179, 179, 179, 1);
	box-shadow: 0px 4px 1px 0px rgba(179, 179, 179, 1);
}
.pages-top > .consultation .c-button.shadow:hover {
	-webkit-box-shadow: none;
	box-shadow: none;
	/*border: solid 1px #86376a;*/
}
.pages-top > .consultation li:first-child .c-button.shadow {
	background: #86376a;
	color: #fff;
}
.pages-top > .consultation li:nth-child(2) .c-button.shadow {
	background: #364482;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.pages-top > .consultation {
		height: 88.8vw;
	}
}
.pages-top > .consultation > h2 {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 20px!important;
}
@media screen and (max-width: 768px) {
	.pages-top > .consultation > h2 {
		font-size: 44px;
		font-size: 5.86667vw;
		margin-bottom: 4.66vw;
	}
}

.pages-top > .consultation > .btns {
	width: 100%;
	max-width: 910px;
	padding: 0 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.pages-top > .consultation > .btns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

.pages-top > .consultation > .btns > li {
	width: 31.52941%;
	margin-left: 0;
}

@media screen and (max-width: 768px) {
	.pages-top > .consultation > .btns > li {
		width: 64.66vw;
		margin: 0 auto 2.93vw!important;
	}
}

/* ----- 資料ダウンロードセクション ----------------- */
section#download {
	max-width: none;
	background: #eff3f5;
	margin-top: 100px;
}
section#download h2 {
	display: block;
	margin-bottom: 0!important;
}
section#download h2:before,
section#download h2:after {
	content: none;
}
section#download iframe {
	max-width: 1040px;
	margin: 0 auto;
	display: block;
}

/* ----- 資料ダウンロード_誘導セクション ----------------- */
.area_cv {
	background: #eff3f5;
	display: flex;
	align-items: center;
	padding: 0 50px;
	width: 90%;
	max-width: 1040px;
}
.area_cv > div {
	width: 50%;
	text-align: center;
	padding: 20px 0;
}
.area_cv h5 {
	font-size: 2.0rem;
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 5px;
}
.area_cv p {
	font-size: 1.5rem;
}
.area_cv .c_button {
	max-width: 400px;
}

/*----------------------------------------------------------------------------------------------------
   for タブレット（1039px以下）
-----------------------------------------------------------------------------------------------------*/

@media (max-width: 1039px) {
	.flex_box .border span {
		font-size: 1px;
		font-size: 1rem;
		bottom: 18px;
		left: 20px;
	}
	.w_txt {
		max-width: none;
	}
	.w_txt_3col {
		max-width: none;
	}
	.flex_box.col_02 .flex_block ,
	.flex_box.col_03 .flex_block {
		width: 100%;
	}
    .nav_product {
        border-bottom: none;
    }
    .nav_product ul {
        display: block;
    }
    .nav_product ul > li {
        border-color: #262d44;
        border-bottom: 2px solid;
        width: 90%;
        margin: 0 auto 5px;
    }
    .nav_product ul li a {
        color: #262d44;
    }
    .nav_product ul li span:before {
        opacity: 1;
    }
    .nav_product ul li.active {
        display: none;
    }
}

/*----------------------------------------------------------------------------------------------------
   for SP（768px以下）
-----------------------------------------------------------------------------------------------------*/

@media (max-width: 768px) {
	
	/* ----- ヘッダー ----------------- */

	.l-header {
		height: 18.53vw;
	}
	.l-header > .wrap {
		position: relative;
	}
	.l-header > .wrap > .logo {
		position: absolute;
		bottom: 0;
		z-index: 100;
		width: 34.66vw;
	}
	.l-header.showDown > .wrap > .logo {
		position: static;
		z-index: 100;
	}
	.l-header > .wrap > .links > .wrap {
		height: auto;
	}
	/*.pages-top {
		margin-top: 18.53vw;
	}*/

	/* ----- セクション ----------------- */
	section {
		width: 100%;
		padding: 60px 5.33vw 0;
	}

	/* ----- ページトップの画像 ----------------- */
	section#PageHead {
		height: 150px;
		margin: 0;
	}
	section#PageHead.english {
		height: 220px;
	}
	/* ----- パンくず ----------------- */
	.lnav {
		display: inline-block;
		position: absolute;
		top: -135px;
	}
	.lnav li {
		background: url(/sevice_shared/img/datacenter/icn_arrow_list_w.svg) no-repeat right 50% !important;
		color: #FFF;
		font-size: 18px !important;
		font-size: 2.34375vw !important;
	}
	.lnav ul li a ,
	.lnav ul li a:hover {
		color: #FFF;
	}

	/* ----- 見出しタイトル ----------------- */
	h1 {
		margin: 0 0 30px;
		font-size: 64px;
		font-size: 7.33333vw;
	}
	h1.multi_line{
		line-height: 42px;
	}
	h1 span.dc-subtitle {
		font-size: 22px;
		font-size: 2.93333vw;
	}
	h2 {
		font-size: 44px;
		font-size: 5.72916vw;
		margin-bottom: 30px!important;
	}
	h2.en_h2 {
		font-size: 44px;
		font-size: 5.72916vw;
	}
	h2:before {
		margin-right: 1rem;
	}
	h2:after {
		margin-left: 1rem;
	}
	h3 {
		font-size: 28px;
		font-size: 3.64583vw;
	}
	h3.line {
		padding: 20px 0 0;
	}
	h4 {
		font-size: 28px;
		font-size: 3.64583vw;
	}

	/* ----- テキスト関連 ----------------- */
	p {
		font-size: 24px;
		font-size: 3.125vw;
	}
	.text_gray,
	.text_red {
		font-size: 22px;
		font-size: 2.86458vw;
	}

	/* ----- リンク関連 ----------------- */
	.link {
		display: block;
		margin: 0;
	}
	.link a {
		font-size: 24px;
		font-size: 3.125vw;
	}
	.flex_box .border a:before,
	.flex_box .border a:after,
	.flex_box .border a p:before,
	.flex_box .border a p:after {
		content: none;
	}

	/* ----- アンカーリンク ----------------- */
	.anchor_link li {
		display: block;
		padding: 0 30px;
	}	
	.anchor_link li + li {
		margin: 20px 0 0;
	}
	.anchor_link li a {
		font-size: 24px;
		font-size: 3.125vw;
	}

	/* ----- リスト ----------------- */
	ul.list_arrow li {
		line-height: 1.6;
		font-size: 22px;
		font-size: 2.86458vw;
	}
	ul.list_arrow li + li {
		margin-top: 5px;
	}
	ul.list_tag li {
		font-size: 20px;
		font-size: 2.60416vw
	}
    ul.list_disc {
        font-size: 3.125vw;
    }

	/* ----- ボタン ----------------- */
	section > .btns {
		width: auto;
		padding: 40px 0 0;
		text-align: center;
		box-sizing: border-box;
	}
	section > .btns > li {
		display: block;
	}
	section > .btns > li + li {
		margin: 20px 0 0 !important;	
	}
	.c_button {
		width: 80%;
		padding: 20px;
		font-size: 26px;
		font-size: 3.46667vw;
	}

	/* ----- テーブル ----------------- */
	table {
		font-size: 21px;
		font-size: 2.75vw;
	}
	table th ,
	table td {
		padding: 10px 15px !important;
	}
	.scroll_box .table {
		width: 768px;
		margin-bottom: 15px;
	}

	/* ----- 画像関連 ----------------- */
	h1 + figure figcaption {
		position: static;
	}

	/* ----- 画像のテキスト回り込み ----------------- */
	.img_wrap.sp_cancel {
		display: inherit;
	}
	.img_wrap.sp_cancel .img {
		max-width: 100%;
		margin: 0 0 30px !important;
	}

	/* ----- 画像の横並び ----------------- */
	.img_box {
		display: block
	}
	.img_box figure:nth-of-type(n+2) {
		padding-left: 0;
		margin-top: 15px;
	}
	.img_box.sp_col_02 {
		overflow: hidden;
	}
	.img_box.sp_col_02  figure {
		display: inline-block;
		width: 48.5%;
		float: left;
		margin-bottom: 10px;
	}
	.img_box.sp_col_02  figure:nth-of-type(2n+2) {
		float: right;
	}
	.img_box.sp_col_02  figure:nth-of-type(n+2) {
		margin-top:0; 
	}

	/* ----- 要素横並び ----------------- */
	.flex_box {
		display: inherit;
	}
	.flex_block:nth-of-type(n+2) {
		margin: 20px 0 0;
	}

	/* 2カラム（SP時のみ） */
	.flex_box.sp_col_02 {
		overflow: hidden;
	}
	.flex_box.sp_col_02  .flex_block {
		display: inline-block;
		width: 48.5%;
		float: left;
		margin-bottom: 10px;
	}
	.flex_box.sp_col_02  .flex_block:nth-of-type(2n+2) {
		float: right;
	}
	.flex_box.sp_col_02  .flex_block:nth-of-type(n+2) {
		margin-top:0; 
	}
	.flex_box.sp_col_02  .flex_block img,
	.flex_box.sp_col_02  .flex_block figure.retina-icn img {
		padding: 15px 0 40px;
	}
	.flex_box.sp_col_02  .flex_block figure img {
		padding: 0;
	}
	/* 3カラム（SP時のみ） */
	.flex_box.sp_col_03 {
		overflow: hidden;
	}
	.flex_box.sp_col_03  .flex_block {
		display: inline-block;
		width: 32%;
		float: left;
		margin-bottom: 10px;
	}
	.flex_box.sp_col_03  .flex_block:nth-of-type(n+2) {
		margin-left: 2% !important; 
		margin-top: 0;
	}
	.flex_box.sp_col_03  .flex_block:nth-of-type(3n+4) {
		margin-left: 0 !important;
	}
	.flex_box.sp_col_03  .flex_block img {
		padding: 15px 0 40px;
	}
	.flex_box.sp_col_03  .flex_block figure img {
		padding: 0;
	}
	/* 標準の2カラム/3カラムCSSを解除（縦並びに） */
	.flex_box.col_02 .flex_block:nth-of-type(n+2) ,
	.flex_box.col_03 .flex_block:nth-of-type(n+2) {
		margin: 50px 0 0;
	}
	.amenity .flex_box.col_03 .flex_block:nth-of-type(n+2) {
		margin-top: 10px;
	}
	.flex_box.col_02 .flex_block h2 {
		text-align: center !important;
	}
	/* 囲み線あり */
	.flex_box .border span {
		font-size: 22px;
		font-size: 2.86458vw;
	}
	.flex_box .border span.en_collocation {
		left: 5px;
		font-size: 22px;
		font-size: 2.86458vw;
	}
	.flex_box .border img {
		padding: 35px 0 55px;
	}
	.flex_box.column_border {
		margin-bottom: 20px;
	}
	.flex_box.column_border > div.flex_block {
		width: 100%;
	}
	.flex_box.column_border ul li {
		font-size: 3.125vw;
	}
	.flex_box.column_border .flex_block:nth-of-type(n+2) {
		margin: 0;
	}
	
	/* ----- 資料ダウンロード_誘導セクション ----------------- */
	.area_cv {
		display: block;
		padding: 0 20px;
	}
	.area_cv > div {
		width: 100%;
	}
	.area_cv > div:nth-of-type(2) {
		padding: 0 0 45px;
	}

	/* ----- タブ ----------------- */
	.tab_area {
		width: 100%;
	}

	/* ----- よくあるご質問 ----------------- */
	dl.dc_qa dt,dl.dc_qa dd {
		font-size: 22px;
		font-size: 2.86458vw;
	}

	/* ----- 薄赤背景部分のスタイル ----------------- */
	section.w_max.red > div {
		max-width: 90%;
	}
	section.w_max.red .flex_block:nth-of-type(n+2) {
		margin: 50px 0 0;
	}
	section.w_max.red h3 {
		margin: 25px 0 15px !important;
	}
	section.w_max.red .c_button.border {
		width: 60%;
		padding: 15px;
	}

	/* ----- サービス導入・ご相談（ページ下部インクルードファイル） ----------------- */
	.consultation .c_button {
		width:70%;
		padding: 15px 20px!important;
	}

	/* ----- SP時の余白指定（マージン） ----------------- */
	.mb10 {margin-bottom: 10px !important;}
	.mb20 {margin-bottom: 20px !important;}
	.mb30 {margin-bottom: 30px !important;}
	.mb40 {margin-bottom: 40px !important;}
	.mb50 {margin-bottom: 50px !important;}
	.mb60 {margin-bottom: 60px !important;}
	.mb70 {margin-bottom: 70px !important;}
	.mb80 {margin-bottom: 80px !important;}
	.mb90 {margin-bottom: 90px !important;}
	.mb100 {margin-bottom: 100px !important;}
}

/* ----- バナー掲載用 ----------------- */
.mv_bnr {
	position: absolute;
	top: 110px;
	right: 0;
	z-index: 1;
	width: 25vw;
	max-width: 478px;
	min-width: 150px;
	background: #fff;
}
.mv_bnr a:hover img {
	transition: .8s;
}
@media screen and (max-width: 768px) {
	.mv_bnr {
		top: auto;
		top: 20vw;
	}
}

/* ----- お知らせ掲載用 ----------------- */
.info {
	border: solid 2px #333;
	width: 90%;
	max-width: 780px;
	min-width: 300px;
	margin: 0 auto;
}
.info h5 {
	background: #333;
	color: #fff;
	padding: 5px;
	font-weight: bold;
	text-align: center;
}
.info p {
	padding: 10px 20px;
	margin-bottom: 0;
}
@media (max-width: 768px) {
	.info span.auto_br {
		display: inline;
	}
}

/* ----- バナー掲載用 ----------------- */
#sticked {
	position: absolute;
	right: 0;
	z-index: 100;
}
#location_fuchu #sticked {
	top: 170px;
}
#sticked .bnr_sp {
	display: none;
}
@media screen and (max-width: 1479px) {
	#sticked .bnr_pc {
		display: none;
	}
	#sticked .bnr_sp {
		display: block;
	}
}
@media screen and (max-width: 1199px) {
	#sticked .bnr_sp {
		display: none;
	}
}
.sp_download {
	display: none;
}
@media screen and (max-width: 1199px) {
	.sp_download {
		display: block;
	}
}

/* ----- ウェビナーお知らせ掲載用 ----------------- */
.info_webinar {
	background: #e4ebf0;
	padding: 30px 40px;
	box-sizing: border-box;
}
.info_webinar .img {
	max-width: 390px;
}
.info_webinar p {
	font-size: 1.4rem;
}

/* ----- 申し込みの流れ ----------------- */
#flow .flex {
    display: flex;
    flex-wrap: wrap;
}
#flow .flex > div {
    width: 20%;
    background: #f3f3f3;
    margin-right: 5%;
    position: relative;
    text-align: center;
    padding: 45px 20px 30px;
    box-sizing: border-box;
}
#flow .flex > div:after {
    content: '';
    position: absolute;
    width: 25%;
    top: 50%;
    right: -50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-top: 98px solid transparent;
    border-bottom: 99px solid transparent;
    border-left: 53px solid #e6e6e6;
}
#flow .flex.col5 > div {
    width: 15%;
}
#flow .flex > div:after {
    right: -50%;
}
#flow .flex.col5 > div:after {
    right: -59%;
}
#flow .flex > div .step {
    position: absolute;
    background: #25407e;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.2;
    border-radius: 50%;
    width: 63px;
    height: 63px;
    padding-top: 10px;
    box-sizing: border-box;
    top: -30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    border: 3px solid #fff;
}
#flow .flex > div .step span {
    display: block;
    font-size: 2.5rem;
}
#flow .flex > div figure {
    width: 104px;
    margin: 0 auto 10px;
}
#flow .flex > div p {
    font-weight: bold;
}
@media screen and (max-width: 1039px) {
    #flow .flex > div,
    #flow .flex.col5 > div {
        width: 100%;
        margin-top: 35px;
        margin-right: 0;
    }
}
