@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;
  }
}

/* =========================================================
 * 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/vpnmobile/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/vpnmobile/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/vpnmobile/img/dashed_arrow_in.gif) no-repeat 2px top;
	border: none;
	padding: 0;
}
.flow_table .none {
	border: none;
	background-color: transparent;
}


/* =========================================================
 * features
 * ====================================================== */

.features .left {
	float: left;
	width: 28%;
}
.features .right {
	float: left;
	width: 72%;
}
@media screen and (max-width:480px) {
	.features .left,
	.features .right {
		float: none;
		width: auto;
	}
	.features .left {
		text-align: center;
		padding-bottom: 20px;
	}
}

/* =========================================================
 * jirei_box
 * ====================================================== */

.jirei_box {
	border: solid 1px #ccc;
}
.jirei_box > a {
	display: block;
}
.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:768px) {
	.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;
	}
}

/* =========================================================
 * news_comment_box
 * ====================================================== */

.news_comment_box {
  background-color: rgb(245,245,245);
  padding: 30px;
}
.news_comment_box .date {
	font-size: 18px;
	font-weight: bold;
	text-align: left;
}
.news_comment_box .txt {
	margin-bottom: 16px;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
	.news_comment_box {
		padding: 30px 15px;
	}
	.news_comment_box .date {
		font-size: 16px;
	}
	.news_comment_box .txt {
		font-size: 14px;
	}
}

@media only screen and (max-width: 768px) and (min-width: 481px){
	.column_component.colnum-2 > .cc-colnum {
	    width: 100%;
	    padding: 0 20px;
	}
}







/* =========================================================
* vpn_bmobile_dousen.css
* ====================================================== */
.vpn_textover:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}
a.icon_blank :after {
    content: url(/content/dam/nttcom/hq/cmn/img/cmn_icon05.gif)!important;
    margin-left: 0em;
    padding-left: 3px;
}

a.link_foward_box:hover {
    text-decoration: none !important;
}
/* =========================================================
* 回遊導線ブロック
* /content/nttcom/hq/jp/business/services/network/vpn/vpn/mobile.html
* ====================================================== */

.dousen__btn .dousen__btn-item {
  display: block;
}

.dousen__btn a:hover,
.dousen__btn-item a:hover{
  opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
a .link_foward_box:after {
    content: url(/content/dam/nttcom/cmn/img/icon_right_arrow.png);
    margin-left: 10px;
}
a .icon_blank span:before {
    content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/cmn_icon05.gif)!important;
    margin-left: 0em;
    padding-left: 3px;
}

.link_foward_box{font-weight: bold;}

.dousen__btn {
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}
.dousen__btn a {
  display: inline-block;
  padding: 15px 23px 14px;
  background: #eaf5fc;
  border: 1px solid #004386;
  border-radius: 8px;
  font-size: 14px;
  color: #004386;
  text-decoration: none;
  width:100%;
  text-align: center;
}

.dousen_box .row{
  display: block;
  overflow: hidden;
  margin-bottom: 20px;
  clear: both;
}
.dousen_box .left{
  float: left;
  display: block;
    position: relative;
}
.dousen_box .right{
  float: left;
  display: block;
    position: relative;
}
.dousen_box .left .inner{
  width:400px;height:80px;
  background: white;
  border: 2px solid #004386;
  border-radius: 10px;
  font-size: 20px;
  vertical-align: middle;
  display: table;
  background: #f7f7f7;
}
.dousen_box .left .inner p{
  display: table-cell;
  vertical-align: middle;
  font-size: 1.2rem;
  padding-left: 100px;
  font-weight: bold;
  font-family: FrutigerNeueLTW10-Regul, FrutigerNeueW01-Regular,"メイリオ", Meiryo,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",  Helvetica, sans-serif;
  color: #004386;
}
.dousen_box .left .inner.link1:before {
  position: absolute;
  top: 10px;
  left: 26px;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_dousen_01.png)!important;
}
.dousen_box .left .inner.link2:before {
  position: absolute;
  top: 10px;
  left: 26px;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_dousen_02.png)!important;
}
.dousen_box .left .inner.link3:before {
  position: absolute;
  top: 10px;
  left: 26px;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_dousen_03.png)!important;
}
.dousen_box .left .inner.link4:before {
  position: absolute;
  top: 10px;
  left: 26px;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_dousen_04.png)!important;
}


.dousen_box .right .inner{
  width:400px;height:80px;
  border-radius: 10px;
  vertical-align: middle;
  display: table;
}
.dousen_box .right .inner.orange {background: #ef8200;}
.dousen_box .right .inner.magenta {background: #e24555;}
.dousen_box .right .inner.violet {background: #936db2;}
.dousen_box .right .inner.lightblue {background: #037fc7;}
.dousen_box .right .inner.blue {background: #004386;}

.dousen_box .right .inner p{
  display: table-cell;
  vertical-align: middle;
  font-size: 1.2rem;
  line-height: 1.4rem;
  padding-left: 20px;
  font-weight: bold;
  font-family: FrutigerNeueLTW10-Regul, FrutigerNeueW01-Regular,"メイリオ", Meiryo,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",  Helvetica, sans-serif;
  color: #fff;
}

.dousen_box .right .inner p span{
  font-size: 1rem !important;
}
.dousen_box .right .inner:after {
  position: absolute;
  top: 20px;
  right: 10px;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_right_arrow_dousen.png)!important;
}
.dousen_box .center{
  display: block;
  float: left;
  width:39px;height:80px;
  vertical-align: middle;
  text-align: center;
}
.dousen_box .center span{
    position: relative;
    top: 20px;
    left: 0px;
}

.br_sp{display: none;}


/*100円SIM*/
.dousen_100_box{
  margin: 0 auto;
  padding: 20px 0px 20px 20px;
  border:1px solid #ccc;
  border-radius: 3px;
  width:1024px;
}
.dousen_100{
  width:1004px;
  margin: 0 auto;
  display: inline-block;
}

.dousen_100 .left,
.dousen_100 .right{
  float: left;
  display: table;
}

.dousen_100 .left{
  padding-right: 20px;
  width:400px;
}
.dousen_100 .right{
  width:554px;
  margin-top: 45px;
}

.dousen_100 .image_component {
    margin-bottom: 0px;
}

.dousen_100 .link_foward_box{
  font-size: 1.2em;
}
.dousen_100 p{
      line-height: 1.7;
}

@media screen and (max-width:768px){
  .dousen_100_box{
    margin: 0 auto;
    padding: 0px;
    border:0px solid #ccc;
    width:100%;
  }
  .dousen_100{
    display: block;
  }
  .dousen_100 .image_component {
      margin-bottom: 20px;
    width:100%;
  }

  .dousen_box .row{
    margin-bottom: 60px;
  }
  .dousen__btn a {
    font-size: 0.85em;
  }
  .dousen_box .left,.dousen_box .right,.dousen_box .center,
  .dousen_100 .left,.dousen_100 .right{
    float: none;
  }

  .dousen_box .left .inner,
  .dousen_box .right .inner,
  .dousen_box .center,
  .dousen_100,
  .dousen_100 .left,
  .dousen_100 .right{
    width:100%;
  }
  .dousen_100 .right{
    margin-top: 0px;
  }

  .dousen_box .center{
    height:37px;
  }
  .dousen_box .center span{
    position: relative;
    top: 0px;
    left: 0px;
  }

  .dousen_box .center span img{
    position: relative;
    top: 0px;
    left: 0px;
    transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
  }
  .br_sp{display: none;}

  .dousen_100 .left{
    padding-right: 0px;
  }


 }




@media screen and (max-width:480px){

  .dousen__btn a {
    font-size: 0.85em;
  }
  .dousen_box .left .inner p {
      font-size: 1.0rem;
      padding-left: 95px;
  }
  .dousen_box .left .inner.link1:before,
  .dousen_box .left .inner.link2:before,
  .dousen_box .left .inner.link3:before,
  .dousen_box .left .inner.link4:before {
      top: 10px;
      left: 15px;
  }
  .br_sp{display: block;}

}

@media screen and (max-width:320px){
  .dousen_box .right .inner p {
      font-size: 1.1rem !important;
      padding-left: 16px;
  }
  .dousen_box .right .inner p span {
    font-size: 0.9rem !important;
  }
  .dousen_box .left .inner p {
      font-size: 0.9rem;
      padding-left: 82px;
  }
  .dousen_box .left .inner.link1:before,
  .dousen_box .left .inner.link2:before,
  .dousen_box .left .inner.link3:before,
  .dousen_box .left .inner.link4:before {
      left: 10px;
  }
  .dousen_box .right .inner:after {
    right: 6px;
  }
  .br_sp{display: block;}

}


/* =========================================================
* 関連サービス 臨時パッド対策
* /content/nttcom/hq/jp/business/services/network/vpn/vpn/mobile.html
* ====================================================== */

.relatedServices_bnr_area .column_component.colnum-3 > .cc-colnum .bnr_box .thumbnail {
  width: 100% !important;
}

@media screen and (min-width:0px) and (max-width:768px){
  .vpn_block_1008 {
      width: 100% !important;
      margin: 0 auto;
  }
  .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;
  }
}

/*  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;
}
/* ===========================================
    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%;
}
.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;
  width: 100%;
}
.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_one-col .service_col_item {
  width: 100%;
  margin-bottom: 18px;
}
.service_container .service_one-col .service_col_item .service_col_head {
  display: none;
}
.service_container .service_one-col .service_col_item .service_col_body .service_one-col_txt .service_col_title{
  display: block;
  min-height: 40px;
}
.service_container .service_one-col .service_col_item .service_col_body {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  align-items: center;
}
.service_container .service_one-col .service_col_item .service_col_body .service_one-col_img {
  width: 183px;
  margin-left: 24px;
}
.service_container .service_one-col .service_col_item .service_col_body .service_one-col_txt {
  width: 550px;
}
.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_one-col .service_col_item {
    width: 100%;
  }
  .service_container .service_one-col .service_col_item .service_col_head {
    display: none;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_txt .service_col_title{
    display: block;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_img {
    width: 20%;
    margin-left: 0;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_txt {
    width: 75%;
  }
  .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;
  }
  .service_container .vpn_block_840 {
		width: 100% !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_one-col .service_col_item {
    width: 100%;
  }
  .service_container .service_one-col .service_col_item .service_col_head {
    display: block;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_txt .service_col_title{
    display: none;
  }
  .service_container .service_one-col .service_col_item .service_col_body {
    display: block;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_img {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
    margin-left: 0;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_img img {
    max-height: 100px;
  }
  .service_container .service_one-col .service_col_item .service_col_body .service_one-col_txt {
    width: 100%;
  }
  .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;
}


/* ===========================================
    topics
============================================= */
.news_hq {
  width: 90%;
  margin: 20px auto 0;
  line-height: 1.3;
  font-size: 14px;
}
.news_hq h5 {
  margin: 0;
  padding: 5px 15px 7px;
  color: #333;
  font-weight: bold;
  font-size: 14px;
  background: #ddd;
  line-height: 1.3 !important;
}
.news_hq dl {
  padding: 18px 0;
  font-size: 14px;
  border-bottom: 1px solid #eee;
}
.news_hq dt {
  font-weight: bold;
  display: inline-block;
  width: 20%;
  vertical-align: top;
}
.news_hq dd {
  font-weight: bold;
  display: inline-block;
  width: 79%;
  vertical-align: top;
}

@media only screen and (min-width: 0px) and (max-width: 740px) {
  .news_hq dt {
    display: block;
    width: auto;
  }
  .news_hq dd {
    display: block;
    width: auto;
  }
}

/* ===========================================
    service_info_container
============================================= */
.service_info_container{
  background-color: #f4f5f6;
  padding: 30px;
}
.service_info_ttl{
  color: #004386;
  font-weight: bold;
  text-align: center;
  font-size: 22px;
}
.service_info_btn_container{
  display: flex;
  justify-content: space-around;
}
.service_info_btn{
  background-color: #fed531;
  border: 2px solid #004386;
  border-radius: 10px;
  text-align: center;
  width: 45%;
}
.service_info_btn2{
  background-color: #636261;
  border: 2px solid #004386;
  border-radius: 10px;
  text-align: center;
  width: 45%;
}
.service_info_btn a{
  text-decoration: none;
  color: #004386;
  font-size: 18px;
  padding: 12px 20px 12px 20px;
  display: block;
}
.service_info_btn2 a{
  text-decoration: none;
  color: #FFFFFF;
  font-size: 18px;
  padding: 12px 20px 12px 20px;
  display: block;
}
.service_info_btn_txt,
.service_info_btn2_txt{
  font-weight: bold;
}
.service_info_btn_txt:after{
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_right_arrow.png);
  margin-left: 10px;
}
.service_info_btn2_txt:after{
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_right_w_arrow.png);
  margin-left: 10px;
}

@media screen and (max-width:768px){
  .service_info_btn_container{
    display: block;
  }
  .service_info_ttl{
    text-align: left;
  }
  .service_info_btn,
  .service_info_btn2{
    text-align: left;
    width: auto;
    margin-bottom: 15px;
  }
  .service_info_btn a,
  .service_info_btn2 a{
    padding: 12px 15px 12px 15px;
  }
}

/* footer_info_container */
.footer_info_container .service_info_container{
  padding: 40px 40px 60px;
  font-weight: normal;
}
.footer_info_container h3.service_info_ttl{
  font-weight: bold;
}
.footer_info_container .service_info_ttl{
  font-weight: normal;
}
.footer_info_container .service_info_btn_container{
  display: flex;
  justify-content: space-around;
  width: 50%;
  margin-right: auto;
  margin-left: auto;
}
.footer_info_container .service_info_btn a{
  padding: 12px 20px 12px 20px;
}
.footer_info_container .service_info_btn2 a{
  padding: 12px 20px 12px 20px;
}
@media screen and (max-width:768px){
  .footer_info_container .service_info_btn_container{
    display: block;
    width: auto;
  }
}


/* ============================================================
 usePlan
 ============================================================ */
 .usePlanWrap{
  background-color: #ebf6fc;
  padding: 17px;
}
.usePlanWrap .usePlanWrapTtl{
  border-bottom: none !important;
  font-size: 26px !important;
  color: #004386;
  text-align: center;
  margin-top: 0px !important;
}
.usePlanWrap .usePlanWrapImg{
  display: flex;
  justify-content: space-between;
}
.usePlanWrap a.usePlanWrapBtn{
  background-color: #FFF;
  border: 1px solid #024489;
  border-radius: 10px;
  padding: 12px;
  display: inline-block;
  font-weight: bold;
  width: 485px;
  text-align: center;
}
.usePlanWrap a.usePlanWrapBtn span{
  position: relative;
  padding-left: 28px;
  padding-right: 15px;
}
.usePlanWrap a.usePlanWrapBtn span:before{
  position: absolute;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_question.png);
  left: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
.usePlanWrap a.usePlanWrapBtn span:after{
  position: absolute;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_right_arrow.png);
  right: 0;
  width: 7px;
  height: 12px;
}

@media screen and (max-width:768px){
  .usePlanWrap a.usePlanWrapBtn{
    width: 100%;
  }
  .usePlanWrap .usePlanWrapImg figure{
    flex: 1 1 50%;
  }
}

/* ============================================================
 threePlan
 ============================================================ */
 .threePlanWrap{
  border: 1px solid #024489;
  padding: 58px 29px 29px;
  position: relative;
}
.threePlanWrap:before{
 position: absolute;
 content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/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: 24px !important;
  color: #004386;
  margin-top: 0px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.threePlanWrap .threePlanDtl{
  display: flex;
  justify-content: space-between;
}
.threePlanWrap .threePlanDtl .threePlanImg{
  padding-right: 20px;
}
.threePlanWrap .threePlanDtl .threePlanTxt{}
.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/vpnmobile/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/vpnmobile/img/icon_right_arrow.png);
  right: 0;
  width: 7px;
  height: 12px;
}
@media screen and (max-width:768px){
  .threePlanWrap a.threePlanBtn{
    width: 100%;
  }
}
@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;
  }
}

/* ============================================================
 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;
  padding-left: 20px;
  border-left: 4px solid #0098d8;
  font-size: 26px;
  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/vpnmobile/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/vpnmobile/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;
  }
  .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%;
  }
}




/* ============================================================
 おすすめコース
 ============================================================ */
a.fullVolumeBtn{
  background-color: #ebf6fc;
  border: 1px solid #024489;
  border-radius: 10px;
  padding: 12px;
  display: inline-block;
  font-weight: bold;
  width: 267px;
  text-align: center;
}
a.fullVolumeBtn span{
  position: relative;
  padding-right: 15px;
}
a.fullVolumeBtn span:after{
  position: absolute;
  content: url(/content/dam/nttcom/hq/jp/business/services/network/m2m-remote-access/vpnmobile/img/icon_right_arrow.png);
  right: 0;
  width: 7px;
  height: 12px;
}
.vertical-rl{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width:768px){
  a.fullVolumeBtn{
    width: 100%;
  }
}