@charset "UTF-8";

.for_pc{
  display: block;
}
.for_sp{
  display: none;
}
@media screen and (max-width:768px){
  .for_pc{
    display: none;
  }
  .for_sp{
    display: block;
  }
}

/* =========================================================
 * 2020/03　移設
 * (旧)/etc/designs/nttcom/hq/jp/business/services/network/internet-connect/ocn-business/mobile/mobileone/css/mobileone.css
 * ====================================================== */

.ocn_caption{
	padding-left: 1em;
    text-indent: -1em;
    font-size: 82%;	/*13px相当*/
    line-height: 1.3;
    margin:5px 0 0 0;
}


/* =========================================================
 * 汎用ブロック
 * ====================================================== */

.block_1008 {
	width: 1008px !important;
	margin: 0 auto;
}

@media screen and (max-width:768px) {
	.block_1008 {
		width: 100% !important;
		margin: 0 auto;
	}
}


/* =========================================================
 * 関連サービス
 * ====================================================== */

h2.relatedServices_title {
	border-bottom: none !important;
	text-align: center;
	font-size: 35px;
	font-weight: normal !important;
	color: #333;
	margin-top: 40px !important;
	margin-bottom: 40px !important;
}
.relatedServices_bnr_area {
	margin: 0 auto;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-child(1) {
	padding: 0 16px 0 0;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-child(2) {
	padding: 0 8px 0 8px;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-child(3) {
	padding: 0 0 0 16px;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box {
	border: solid 1px #ddd;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .thumbnail {
	/* width: 318px; */
	width: 100%;
	margin-bottom: 12px;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .bnr_title {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	padding: 0 18px;
	margin-bottom: 12px;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .bnr_lead {
	text-align: left;
	font-size: 15px;
	padding: 0 18px;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .bnr_btm {
	text-align: center;
	background-color: #EBF6FC;
	font-size: 14px;
	margin-top: 16px;
	padding: 10px 18px;
}
.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .bnr_btm img {
	margin-left: 10px;
}

.relatedServices_bnr_area a:hover {
	text-decoration: none;
}

@media screen and (min-width: 481px) and (max-width: 768px) {
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum,
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-of-type(2) {
	  width: 100% !important;
	  padding: 0px !important;
	}
	.relatedServices_bnr_area .column_component .cc-colnum {
		float: none;
	  margin-bottom: 30px;
	}
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .thumbnail {
	  width: 100% !important;
	  margin-bottom: 12px;
	}  
}
@media screen and (max-width:480px) {
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-child(1),
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-child(2),
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum:nth-child(3) {
		padding: 10px 0;
		text-align: center;
	}
	.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .thumbnail {
		width: 100%;
	}
}


/* =========================================================
 * use_iot
 * ====================================================== */

.use_iot_column .column_component.colnum-2 > .cc-colnum:nth-child(1) {
	padding: 0 10px 20px 0;
}
.use_iot_column .column_component.colnum-2 > .cc-colnum:nth-child(2) {
	padding: 0 0 20px 10px;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {

	.use_iot_column .column_component.colnum-2 > .cc-colnum:nth-child(1),
	.use_iot_column .column_component.colnum-2 > .cc-colnum:nth-child(2) {
		padding: 0 0 20px 0;
	}
}


/* =========================================================
 * mobileone_box01
 * ====================================================== */
.mobileone_box01 {
	padding: 30px;
	border: 1px solid #004386;
}
.mobileone_box01 .left {
	display: table-cell;
	width: 16%;
	vertical-align: middle;
}
.mobileone_box01 .right {
	display: table-cell;
	width: 70%;
	vertical-align: middle;
}
@media only screen and (min-width: 0px) and (max-width: 740px) {
	.mobileone_box01 {
		padding: 20px;
	}
	.mobileone_box01 .left {
		display: block;
		text-align: center;
		width: auto;
		margin-bottom: 20px;
	}
	.mobileone_box01 .left img {
		width: auto;
	}
	.mobileone_box01 .right {
		display: block;
		width: auto;
	}
}


/* =========================================================
 * flow_table
 * ====================================================== */

.flow_table th,
.flow_table td {
	padding: 22px 15px;
	text-align: center;
}
.flow_table td.flow {
	background: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/dashed_arrow.gif) no-repeat 10% 50%;
	border: none;
	text-align: left;
	color: #c00;
	padding-left: 12%;
}
.flow_table td.out {
	background: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/dashed_arrow_out.gif) no-repeat 2px bottom;
	border: none;
	padding: 0;
}
.flow_table td.in {
	background: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/dashed_arrow_in.gif) no-repeat 2px top;
	border: none;
	padding: 0;
}
.flow_table .none {
	border: none;
	background-color: transparent;
}


/* =========================================================
 * jirei_box
 * ====================================================== */

.jirei_box {
	border: solid 1px #ccc;
}
.jirei_box > a {
	display: block;
}
.jirei_box a:hover {
    text-decoration: none;
}
.tabNavigation_contents .jirei_box p {
	 margin-bottom: 0;
}
.jirei_box .top {
	background-color: #EFEFEF;
	padding: 18px;
}
.jirei_box .top .left {
	display: table-cell;
	width: 85%;
	padding-right: 16px;
	color: #004386;
	font-size: 22px;
	font-weight: bold;
}
.jirei_box .top .right {
	display: table-cell;
	vertical-align: middle;
}
.jirei_box .top .right .inner {
	width: 150px;
	text-align: center;
	background-color: #004386;
	color: #fff;
	font-weight: bold;
}
.jirei_box .top .right .inner .label {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	padding: 10px;
	line-height: 1;
}

.jirei_box .bottom {
	padding: 18px 20px;
}
.jirei_box .bottom .left {
	display: table-cell;
	vertical-align: middle;
}
.jirei_box .bottom .right {
	display: table-cell;
	padding-left: 20px;
}
.jirei_box .bottom .name {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 16px;
	color: #000;
}
.jirei_box .bottom .lead {
	color: #000;
}
.jirei_box .bottom .pdf {
	color: #004386;
	font-weight: bold;
	margin-top: 16px;
}

@media screen and (max-width:480px) {
	.jirei_box .top .left {
		width: 100%;
		display: block;
		padding-right: 0;
	    padding-bottom: 10px;
	}
	.jirei_box .top .right {
		display: block;
	}
	.jirei_box .top .right .inner {
		width: auto;
	}
	.jirei_box .bottom .left {
		display: block;
		text-align: center;
		margin-bottom: 10px;
	}
	.jirei_box .bottom .right {
		display: block;
		padding-left: 0;
	}
}


/*  add 2020/3/19 */
/* ===========================================
    common
============================================= */
.note_kome_list,
.note_kome_txt {
	text-indent: -1.1em;
  padding-left: 1.1em;
  font-weight: normal;
  list-style-type: none;
}
.note_kome_list li:before,
.note_kome_txt:before {
	content: "\203B";
	display: inline-block;
	width: 1.1em;
	text-indent: 0;
}
.txt_c-red {
  color: #cc0000;
}
.txt_b {
  font-weight: bold;
}


/* =========================================================
 * パンくず
 * @
 * ====================================================== */
main.service_kobetsu .add_breadcrumbs,
.thj_add_breadcrumbs {
	width:960px;
	margin:0 auto;
	/*margin-bottom: 60px;*/
}
main.service_kobetsu .add_breadcrumbs ul,
.thj_add_breadcrumbs ul {
	margin:0;
	padding:0;
	margin-top:10px;
}
main.service_kobetsu .add_breadcrumbs li,
.thj_add_breadcrumbs li {
	display:inline;
	margin: 0;
	font-size:12px;
}


main.service_kobetsu .add_breadcrumbs li a:after,
.thj_add_breadcrumbs li a:after {
	content:"  ＞  ";
}


@media screen and (max-width: 480px) {
	main.service_kobetsu .add_breadcrumbs,
	.thj_add_breadcrumbs {
		width: 100%;
		margin-bottom: 30px;
	}
}


/* =========================================================
 * 既存パンくずを消す20180514
 * @
 * ====================================================== */
.breadcrumb_body {
	/*display: none;*/
}


/*  add 2020/3/19 */
/* ===========================================
    common
============================================= */
.note_kome_list,
.note_kome_txt {
	text-indent: -1.1em;
  padding-left: 1.1em;
  font-weight: normal;
  list-style-type: none;
}
.note_kome_list li:before,
.note_kome_txt:before {
	content: "\203B";
	display: inline-block;
	width: 1.1em;
	text-indent: 0;
}
.txt_c-red {
  color: #cc0000;
}
.txt_b {
  font-weight: bold;
}

.ocn_ttl_hq {
	max-width: 900px;
	margin: 20px auto;
	padding: 10px;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	background-color: #004386;
	color: #FFF;
	font-weight: bold;
	font-size: 28px;
	line-height: 1.3;
}


/* ===========================================
    General
============================================= */
h1{
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, sans-serif !important;
	font-weight:bold !important;
	font-size: 42px !important;
	margin: 30px auto 30px !important;
}
@media screen and (max-width: 480px) {
	h1{
		font-size: 2rem !important;
		margin: 20px auto 10px !important;
	}
}


/* ===========================================
    info
============================================= */
@media screen and ( min-width: 0) and ( max-width: 768px) {
	.top_info_hq,
	.top_lead_hq {
		float: none;
		width: 100%;
	}
}

/* ===========================================
    mvno_type
============================================= */
.mvno_type {
  margin: 30px auto;
}
.mvno_type span {
  box-sizing: border-box;
  display: inline-block;
  min-width: 180px;
  margin: 0 5px;
  padding: 5px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}
.mvno_type .full-mvno {
  color: #fff;
  background: #333333;
}
.mvno_type .light-mvno {
  border: 1px solid #333333;
  color: #333333;
  background: #fff;
}

.cont_title {
  position: relative;
}
.cont_title .mvno_type {
  position: absolute;
  top: calc( 50% - 17px);
  right: 10px;
  margin: 0;
}
.cont_title .mvno_type span {
  min-width: 150px;
  margin: 0;
  padding: 5px;
  font-size: 18px;
}
.cont_title .mvno_type span:not(:last-child) {
  margin-right: 5px;
}
.cont_title .mvno_type .full-mvno {
border: 1px solid #fff;
}

@media screen and (min-width: 561px) and (max-width:768px) {
  .mvno_type span {
    min-width: 150px;
    font-size: 16px;
  }
  .cont_title {
    position: static;
  }
  .cont_title .mvno_type {
    position: static;
    margin: 10px 0 0;
  }
  .cont_title .mvno_type span {
    font-size: 14px;
  }
}

@media screen and (min-width:0) and (max-width:560px) {
  .mvno_type span {
    min-width: calc( 50% - 20px);
    font-size: 16px;
  }

  .cont_title {
    position: static;
  }
  .cont_title .mvno_type {
    position: static;
    margin: 10px 0 0;
  }
  .cont_title .mvno_type span {
    min-width: 48%;
    font-size: 12px;
  }
  .cont_title .mvno_type span:not(:last-child) {
    margin-right: 1%;
  }  
}


/* ===========================================
    service_container
============================================= */
.service_container .contents_inner {
  margin: 0 0 50px;
}
.service_container .contents_inner > * {
  box-sizing: border-box;
}
.service_container .contents_inner img {
  max-width: 100%;
  width: auto;
}
.service_container .service_columns  {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;  align-items: center;
}
.service_container .service_columns > * {
  border: 1px solid #ccc;
  padding: 20px;
}
.service_container .service_columns .service_col_head {
	display: -webkit-box;
	display: flex;
}
.service_container .service_columns .service_col_title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  width: 100%;
  min-height: 70px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #004386;
}
.service_container .service_columns h3.item_ttl {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  color: #004386;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.service_container .service_two-col .service_col_item {
  width: calc( 50% - 9px);
  margin-bottom: 18px;
}
.service_container .service_two-col .service_col_item .service_col_body {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
.service_container .service_two-col .service_col_item .service_col_body .service_two-col_img {
  width: 89px;
}
.service_container .service_two-col .service_col_item .service_col_body .service_two-col_txt {
  width: 260px;
}
.service_container .service_three-col .service_col_item {
  width: calc( 33% - 9px);
  margin-bottom: 18px;
}
.service_container .service_note h4.item_ttl {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  color: #004386;
  font-size: 22px;
  font-weight: bold;
}
.service_container .service_note ul {
  margin-bottom: 0;
  display: block;
  padding-inline-start: 1.5em;
}
@media screen and (min-width: 561px) and (max-width:768px) {
  .service_container .service_two-col .service_col_item {
    width: 100%;
  }
  .service_container .service_two-col .service_col_item .service_col_body .service_two-col_img {
    width: 20%;
  }
  .service_container .service_two-col .service_col_item .service_col_body .service_two-col_txt {
    width: 75%;
  }
  .service_container .service_three-col .service_col_item {
    width: calc( 50% - 9px);
  }
  .service_container .service_columns h3.item_ttl {
    font-size: 18px !important;
  }
    .service_container .service_note h4.item_ttl {
    font-size: 18px !important;
  }
}

@media screen and (min-width:0) and (max-width: 560px) {
  .service_container .contents_inner {
    margin: 0 0 30px;
  }
  .service_container .service_columns  {
    display: block;
  }
  .service_container .service_columns > * {
    padding: 4%;
  }
  .service_container .service_columns h3.item_ttl {
    font-size: 18px !important;
  }
  
  .service_container .service_two-col .service_col_item {
    width: 100%;
  }
  .service_container .service_two-col .service_col_item .service_col_body {
    display: block;
  }
  .service_container .service_two-col .service_col_item .service_col_body .service_two-col_img {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  .service_container .service_two-col .service_col_item .service_col_body .service_two-col_txt {
    width: 100%;
  }
  .service_container .service_three-col .service_col_item {
    width: 100%;
  }
  .service_container .service_note h4.item_ttl {
    font-size: 18px !important;
  }
}

/* ===========================================
    TabInPage tabnav
============================================= */
.TabInpage-TabNavigation_contents .tabNavigation .tabLayout,
.TabInpage-TabNavigation_contents .tabNavi-transition .tabLayout {
  width: 100%;
}

/* ===========================================
    TabInPage tabnav
============================================= */

.note_area h4.item_ttl {
    width: 100%;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border-bottom: none !important;
    color: #004386;
    font-size: 20px;
	font-weight: bold;
}
@media screen and (min-width:0) and (max-width: 768px) {
	.note_area h4.item_ttl {
		font-size: 18px;
	}	
}



/* =========================================================
 * MVNOバナーエリア
 * ====================================================== */
 .sp_only{
 	display: none;
 }
 /* mvno */
 .mvno-area{
 	background-color: #004386;
 	padding: 1px;
 	text-align: center;
 	margin-top: 60px;
 	margin-bottom: 60px;
 }
 .mvno-txt-area{
 	padding: 20px;
 }
 .mvno-txt-area .mvno-txt{
 	color: #FFF;
 	font-size: 20px;
 	font-weight: bold;
 	text-align: center;
 	position: relative;
 	display: inline-block;
 	margin: 0 auto;
 }
 .mvno-area .mvno-txt:before{
 	content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_hai.png);
 	position: absolute;
 	left: -70px;
 	top: 2px;
 }
 .mvno-area .mvno-txt:after{
 	content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_hai.png);
 	position: absolute;
 	right: -70px;
 	top: 2px;
 	transform: scale(-1, 1);
 }
 /* CTAエリア */
 .mvno-cta-area{
 	text-align: center;
 	padding: 20px;
 	background: url('/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_bg-pk.png') top left / 255px;
 }
 .mvno-cta_list{
 	display: flex;
 	align-items: center;
 	justify-content: space-between;
 	margin: 0 auto;
 	list-style: none;
 }
 .mvno-cta_list .list_item a{
 	position: relative;
 	display: inline-block;
 }
 .mvno-cta_list .list_item a:hover{
 	opacity: .7;
 }
 /* ボタン */
 .cta_list-moveBtn .list_item{
 	margin: 0;
 }
 .cta_list-moveBtn .list_item:nth-child(2){
 	margin: 0 20px;
 }
 .cta_list-moveBtn .list_item a{
 	display: block;
 	width: 250px;
 	height: 109px;
 	text-indent: -9999px;
 }
 .cta_list-moveBtn .list_item a:hover{
 	transition: .2s;
 }
 .cta_list-moveBtn .list_item:nth-child(1) a {
 	background: url("/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_cta01-01-off.png") no-repeat 100% / 100%;
 }
 .cta_list-moveBtn .list_item:nth-child(1) a:hover {
 	background-image: url("/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_cta01-01-on.png");
 }
 .cta_list-moveBtn .list_item:nth-child(2) a {
 	width: 260px;
 	height: 119px;
 	background: url("/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_cta01-02-off.gif") no-repeat 100% / 100%;
 }
 .cta_list-moveBtn .list_item:nth-child(2) a:hover {
 	background-image: url("/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_cta01-02-on.png");
 }
 .cta_list-moveBtn .list_item:nth-child(3) a {
 	background: url("/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_cta01-03-off.png") no-repeat 100% / 100%;
 }
 .cta_list-moveBtn .list_item:nth-child(3) a:hover {
 	background-image: url("/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/mvno_cta01-03-on.png");
 }

 @media screen and (max-width: 768px) {
 	.sp_only{
 		display: block;
 	}
 	/* mvno */
 	.mvno-txt-area{
 		padding: 20px 10px;
 	}
 	.mvno-txt-area .mvno-txt{
 		font-size: 16px;
 	}
 	.mvno-area .mvno-txt:before{
 		content: none;
 	}
 	.mvno-area .mvno-txt:after{
 		content: none;
 	}
 	/* CTAエリア */
 	.mvno-cta-area{
 		padding: 20px 10px;
 	}
 	.mvno-cta_list{
 		display: block;
 	}
 	.mvno-cta_list .list_item a{
 		display: block;
 	}
 	/* ボタン */
 	.cta_list-moveBtn .list_item{
 		padding: 0 15px;
 	}
 	.cta_list-moveBtn .list_item:nth-child(2){
 		padding: 0;
 		margin: 6px 0 0 ;
 	}
 	.cta_list-moveBtn .list_item:nth-child(3){
 		margin: 6px 0 0 ;
 	}
 	.cta_list-moveBtn .list_item a{
 		background: none!important;
 		width: 100%!important;
 		height: auto!important;
 		margin: 0 auto;
 	}
 }


/* =========================================================
 * ICT Business Mall　カートリンク
 * ====================================================== */
a.mallCartLink{
	background-color: #cf1e1e;
	border-radius: 4px;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 13px;
	line-height: 1.188;
	text-decoration: none;
	display: block;
	width: 160px;
	padding: 10px;
	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
}
a.mallCartLink span{
	position: relative;
	padding-right: 25px;
	text-align: left;
    display: inline-block;
}
a.mallCartLink span:after{
	position: absolute;
	right: 0;
	top: 50%;
	content: "";
	width: 21px;
	height: 18px;
	background-image: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_mallCartLink_pc.gif);
	background-size: 21px 18px;
	background-repeat: no-repeat;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.mallCartTable table{
	text-align: center ;
	width: 839px !important;
	table-layout: fixed;
	word-break: break-word;
}
.mallCartTable table .mallCartTableCol01{
	width: 20%;
}
.mallCartTable table .mallCartTableCol02{
	width: 20%;
}
.mallCartTable table .mallCartTableCol03{
	width: 30%;
}
.mallCartTable table .mallCartTableCol04{
	width: 30%;
}
.mallCartTable table .mallCartTableCol05{
	width: 30%;
}
@media screen and (max-width: 768px) {
	a.mallCartLink{
		width: 100%;
		font-size: 12px;
		padding: 8px 5px;
	}
	a.mallCartLink span{
		padding-right: 35px;
	}
	a.mallCartLink span:after{
		width: 30px;
		height: 26px;
		background-image: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_mallCartLink_sp.gif);
		background-size: 30px 26px;
	}
	.mallCartTable table{
		width: 100% !important;
		min-width: 375px;
	}
	.mallCartTable table th,
	.mallCartTable table td{
		padding: 5px;
	}
	.mallCartTable table .mallCartTableCol01{
		width: 18%;
	}
	.mallCartTable table .mallCartTableCol02{
		width: 20%;
	}
	.mallCartTable table .mallCartTableCol03{
		width: 31%;
	}
	.mallCartTable table .mallCartTableCol04{
		width: 31%;
	}
}



/* ============================================================
 threePlan
 ============================================================ */
.threePlanWrap{
  border: 1px solid #024489;
  padding: 58px 29px 29px;
  position: relative;
}
.threePlanWrap.threePlanWrap-top{
  border: 1px solid #ccc;
  padding: 50px 20px 20px;
  position: relative;
}
.threePlanWrap:before{
 position: absolute;
 content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_new.gif);
 left: 0;
 top: 0;
 width: 70px;
 height: 29px;
}
.threePlanWrapInner{
  display: flex;
  justify-content: space-between;
  /*margin-top: 29px;*/
}
.threePlanWrap .threePlan01{
  /*
  border-bottom: 1px solid #024489;
  padding-bottom: 50px;
  */
}
.threePlanWrap .threePlan02{
  border-right: 1px solid #024489;
  flex: 1 1 50%;
  padding-right: 29px;
}
.threePlanWrap .threePlan03{
  flex: 1 1 50%;
  padding-left: 29px;
}
.threePlanWrap .threePlanTtl{
  border-bottom: none !important;
  font-size: 22px !important;
  color: #004386;
  margin-top: 0px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.3;
}
.threePlanWrap .threePlanDtl{
  display: flex;
  justify-content: space-between;
}
.threePlanWrap .threePlanDtl .threePlanImg{
  padding-right: 20px;
  flex: 0 1 292px;
}
.threePlanWrap .threePlanDtl .threePlanTxt{
	flex: 1 2;
}
.threePlanWrap .threePlanDtl.noflex{
  display: block;
}
.threePlanWrap .threePlanDtl.noflex .threePlanImg{
  padding-right: 0;
}
.threePlanWrap a.threePlanBtn{
  background-color: #ebf6fc;
  border: 1px solid #024489;
  border-radius: 10px;
  padding: 12px;
  display: inline-block;
  font-weight: bold;
  width: 267px;
  text-align: center;
}
.threePlanWrap a.threePlanBtn span{
  position: relative;
  padding-left: 28px;
  padding-right: 15px;
}
.threePlanWrap a.threePlanBtn span:before{
  position: absolute;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_question.png);
  left: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
.threePlanWrap a.threePlanBtn span:after{
  position: absolute;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_right_arrow.png);
  right: 0;
  width: 7px;
  height: 12px;
}
@media screen and (max-width:768px){
  .threePlanWrap{
    padding: 40px 15px 30px;
  }
  .threePlanWrapInner{
    display: block;
  }
  .threePlanWrap .threePlanDtl{
    display: block;
  }
  .threePlanWrap .threePlanDtl .threePlanImg{
    padding-right: 0;
    margin-bottom: 20px;
    text-align: center;
  }
  .threePlanWrap .threePlanDtl .threePlanImg img{
    max-width: 100%;
  }
  .threePlanWrap .threePlan01{
    /*
    border-bottom: 1px solid #024489;
    padding-bottom: 30px;
    */
  }
  .threePlanWrap .threePlan02{
    border-right: 0;
    border-bottom: 1px solid #024489;
    padding-right: 0;
    padding-bottom: 30px;
  }
  .threePlanWrap .threePlan03{
    padding-left: 0;
    padding-top: 30px;
  }
  .threePlanWrap a.threePlanBtn{
  	width: 100%;
  }
}

/* ============================================================
 modal
 ============================================================ */
#modal-content {
  /*font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, sans-serif;*/
  font-family:FrutigerNeueLTW10-Regul,FrutigerNeueW01-Regular,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, sans-serif;
}
.modal {
  background: #004386;
  padding-bottom: 30px;
}
.modal_heading-area {
  margin-bottom: 24px;
  padding: 25px 0 0;
  background: #004386;
}
.modal_heading-wrap {
  box-sizing: border-box;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 30px;
}
.modal_heading1 .sub_text{
  font-size: 20px;
}
.modal_heading1,
.modal_heading4,
.modal_heading8 {
  box-sizing: border-box;
  margin: 0 auto !important;
  padding-left: 20px;
  border-left: 4px solid #0098d8;
  font-size: 26px !important;
  color: #fff;
}
.modal_container {
  background: #fff;
  box-sizing: border-box;
  max-width: 1040px;
  margin: 0 auto 30px;
  padding: 30px 40px 30px;
}
.modal_block {
  position: relative;
  display: block;
}
.modal_container h2 {
  border: 0 !important;
  padding: 0 !important;
  margin: 0;
  font-size: 26px;
  color: #004386;
  margin-bottom: 40px;
}
.modal_container .right {
  float: right;
  display: block;
}
.modal_container .left {
  float: left;
  display: block;
}
.modal_text {
  margin: 0 0 0.2em;
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  position: relative;
}
.modal_text p {
  margin-bottom: 20px;
}
.modal_text p:last-child {
  margin-bottom: 0;
}
.modal_block::after {
  clear: both;
  content: '';
  display: block;
}
.modal_container .right.column1 {
  float: none;
  display: block;
  width: 100%;
}
.modal_container .left.column1 {
  float: none;
  display: block;
  width: 100%;
  text-align: center;
}

/**/
#colorbox,
#cboxOverlay,
#cboxWrapper {
  overflow: visible;
}
#colorbox,
#cboxOverlay,
#cboxWrapper {
  overflow: visible;
}
#colorbox.is-active {
  opacity: 1 !important;
}
#colorbox,
#cboxOverlay,
#cboxWrapper {
  overflow: visible;
}
#cboxWrapper {
  transition-property: opacity;
  transition-duration: 400ms;
}
#colorbox {
  outline: 0;
  opacity: 0 !important;
  transition-property: opacity;
  transition-duration: 400ms;
}
#cboxCloseBottom {
  position: absolute;
  bottom: 0;
  left: 0;
  display: table;
  width: 100%;
  height: 60px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  cursor: pointer;
}
#cboxCloseBottom .cboxCloseBottom_inner {
  display: table-cell;
  vertical-align: middle;
}
#cboxCloseBottom span {
  padding-left: 20px;
  background: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_close_modal.png) no-repeat 0% 50% / 14px 14px;
  line-height: 1;
}
#cboxClose {
    display: none;
    top: -45px;
    right: 0;
    width: 30px;
    height: 30px;
    background: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/ocnmobile/img/icon_close_modal.png) no-repeat 0 0;
}
@media screen and (max-width:768px) {
  .modal {
    min-width: 0;
  }
  .modal_heading-area {
    margin-bottom: 20px;
    padding: 15px 0 0;
  }
  .modal_heading-wrap {
    padding: 0 20px;
  }
  .modal_heading1 {
    padding-left: 13px;
    border-left: 3px solid #0098d8;
    font-size: 1.4em;
  }
  .modal_container {
    padding: 20px 20px 10px;
  }
  .modal_container h2 {
    display: block;
    font-size: 1.3em;
    border-bottom: 2px solid #004386 !important;
  }
  .modal_container .right {
    float: none;
    display: block;
    width: 100%;
    margin-top: 10px;
    text-align: center;
  }
  .modal_container .left {
    float: none;
    display: block;
    width: 100%;
    margin-top: 10px;
  }
  .modal_text {
    margin: 0 0 12px;
    font-size: 1em;
    line-height: 1.5;
  }
}
@media screen and (max-width:480px) {
  #cboxClose {
    top: 35px;
    right: 10px;
    width: 40px;
    height: 40px;
    background-position: 50% 50%;
    background-size: 20px 20px;
  }
  #cboxLoadedContent {
    background-color: transparent;
  }
  iframe {
    width: 90% !important;
    margin: 0px auto;
    background-color: rgba(0, 0, 0, 0);
  }
  .modal {
    margin-bottom: 50px;
  }
  .modal_heading-area {
    margin-bottom: 20px;
    padding: 15px 0 0;
  }
  .modal_heading-wrap {
    padding: 0 5%;
  }
  .modal_heading1 {
    padding-left: 10px;
    border-left: 3px solid #0098d8;
    font-size: 1.2em !important;
    margin-top: 0 !important;
  }
  .modal_container {
    padding: 20px 10px 10px 10px;
    margin: 0 auto 20px;
    width: 100%;
  }
  .modal_text {
    margin: 0 0 12px;
    font-size: 0.9em;
    line-height: 1.5;
  }
  /**/
  #cboxContent {
    margin-top: 70px;
  }
  #cboxCloseBottom {
    bottom: -75px;
  }
}

.modal_area .column3_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.modal_area .column3_box > div {
  position: relative;
  width: 300px;
  border: solid 1px #cccccc;
  box-sizing: border-box;
}
.modal_area .column3_box > div:first-child:before {
  content: none;
}
.modal_area .column3_box > div .box_ttl {
  background-color: #6077a2;
  padding: 14px 19px 17px;
}
.modal_area .column3_box > div .box_ttl h3 {
  text-align: center;
  color: #ffffff;
  font-size: 20px;
  font-weight: bold;
  line-height: 36px;
  margin: 0;
  padding: 10px 0 0;
}
.modal_area .column3_box > div .box_ttl h3 .strong {
  font-size: 28px;
}
.modal_area .column3_box > div .box_body {
  padding: 0 19px 17px;
}
.modal_area .column3_box > div .box_body .img {
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal_area .column3_box > div .box_body .txt {
  text-align: left;
  font-size: 14px;
  line-height: 21px;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  .modal_area .column3_box > div {
    width: 100%;
    margin: 20px auto 0;
  }
  .modal_area .column3_box > div:first-child {
    margin: 0 auto;
  }
  .modal_area .column3_box > div .box_ttl {
    padding: 0 19px 10px;
  }
  .modal_area .column3_box > div h3 {
    font-size: 18px;
    padding: 12px 10px 6px;
  }
  .modal_area .column3_box > div .txt {
    text-align: center;
  }
  .modal_area .column3_box > div .w100-sp img {
    width: 100%;
  }
}


.modal_area .modal_heading_h4{
  box-sizing: border-box;
  margin: 0 auto;
  padding-left: 10px;
  border-left: 4px solid #004386;
  font-size: 18px;
  color: #004386;
}
.modal_area .t-c{
  text-align: center;
}
.modal_area .t-r{
  text-align: right;
}
.modal_area .fs-12{
  font-size: 12px;
}
.modal_area .fs-14{
  font-size: 14px;
}
.modal_area .mgr5{
  margin-right: 5px;
}
.modal_area .mgb20{
  margin-bottom: 20px;
}
.modal_area .mgb30{
  margin-bottom: 30px;
}
.modal_area .mgb50{
  margin-bottom: 50px;
}
.modal_area .mgl0{
  margin-left: 0;
}

.modal_info{
  background-color: #f1f1f1;
  padding: 20px;
}
.modal_info .modal_info_ttl{
  font-size: 18px;
  font-weight: bold;
  color: #004386;
}
.modal_info_btn_wrap{
  display: flex;
  justify-content: center;
}
.modal_info_btn_wrap a.modal_info_btn_link{
  text-decoration: none;
  color: #004386;
  margin: 0 10px;
  display: block;
}
.modal_info_btn_wrap .modal_info_btn{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  position: relative;
  background-color: #ffd601;
  border: 2px solid #004386;
  border-radius: 10px;
  padding: 10px;
  width: 320px;
  margin: 0;
}


.modal_info_tel_wrap{
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal_info_tel_wrap .modal_info_tel{
  font-size: 16px;
  font-weight: bold;
  color: #004386;
  padding-right: 20px;
}
.modal_info_tel_wrap .modal_info_hours{
  font-size: 14px;
  color: #004386;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  .modal_info{
    padding: 10px;
  }
  .modal_info_btn_wrap{
    display: block;
  }
  .modal_info_btn_wrap a.modal_info_btn_link{
    margin: 10px 0;
  }
  .modal_info_btn_wrap .modal_info_btn{
    width: auto;
  }
  .modal_info_tel_wrap{
    display: block;
  }
  .modal_info_tel_wrap .modal_info_tel{
    margin: 10px 0 0 0;
  }
  .modal_info_tel_wrap .modal_info_hours{
    margin: 0;
  }
}

.modal_area .osusume_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #eff4fc;
  padding: 10px;
}
.modal_area .osusume_area > div {
  position: relative;
  width: 50%;
}
.modal_area .osusume_area .image {
  background-color: #ffffff;
  text-align: center;
  padding: 0;
  margin: 0 26px 0 0;
}
.modal_area .osusume_area .detail {
  align-self: flex-start;
  padding: 8px 17px 0 0;
}
.modal_area .osusume_area .detail h3 {
  font-size: 18px;
  color: #004086;
  border-bottom: 2px solid #004086;
  padding: 0 0 8px;
  margin: 21px 0 0;
}
.modal_area .osusume_area .detail dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  margin: 8px 0 0 0;
}
.modal_area .osusume_area .detail dt {
  color: #004086;
  line-height: 1.5;
  font-size: 15px;
}
.modal_area .osusume_area .detail dt .strong {
  font-size: 24px;
}
.modal_area .osusume_area .detail dd .small {
  font-size: 12px;
}
.modal_area .osusume_area .detail dd .strong {
  font-size: 20px;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  .modal_area .osusume_area {
    display: block;
  }
  .modal_area .osusume_area > div {
    width: 100%;
  }
  .modal_area .osusume_area .image {
    margin: 0 26px 0 0;
  }
  .modal_area .osusume_area .image img:not(.osusume_icon) {
    width: 100%;
  }
  .modal_area .osusume_area .detail {
    padding: 8px 0 29px;
    width: auto;
  }
  .modal_area .osusume_area .detail dl {
    display: block;
  }
  .modal_area .osusume_area .detail dd {
    text-align: right;
  }
  .modal_area .modal_area_img{
    max-width: 100%;
  }
}