@charset "UTF-8";

/* =========================================================
 * icgw
 * @ PAGE
 * ====================================================== */
.icgw_img img{
  max-width: 100%;
  width: auto;
}
.icgw_img:hover img{
  opacity: 0.6;
}
.fs-16 {
    font-size: 16px !important;
}

.disp_none_s {
  display: block;
}
.disp_non_m {
  display: block;
}
/*
.service_kobetsu_slider_icon {
  margin-top: 80px;
}
#slider {
  width: 64%;
}
.service_kobetsu_slider_heading {
  font-size: 14px;
}
.service_slider_item {
  width: 270px;
}
.slider-view {
  width: 270px;
}
.service_slider_item .slider_txt {
  line-height: 1.6666;
}
*/
.icgw_intro_ttl_h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}
ul.icms_intro_ul li {
  margin-bottom: 10px;
}
.news_hq {
  margin-top: 20px;
  line-height: 1.3;
  font-size: 14px;
}
.news_hq h5 {
  margin: 0 0 5px 0;
  padding: 3px 15px;
  line-height: 1.0;
  color: #333;
  font-weight: bold;
  background: #ddd;
}
.news_hq dl {
  border-bottom: 1px solid #eee;
  padding: 18px 0;
  font-size: 14px;
}
.news_hq dt {
  font-weight: bold;
  display: inline-block;
  width: 20%;
  vertical-align: top;
}
.news_hq dd {
  font-weight: bold;
  display: inline-block;
  width: 80%;
  vertical-align: top;
}
.vtop_link_btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #004386;
  min-width: 400px;
  padding: 11px 10px 12px 10px;
  color: #ffffff !important;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  border-radius: 25px;
  box-shadow: 0px 5px 5px rgb(0 0 0 / 20%);
  transition: all 0.2s;
}
.vtop_link_btn:hover {
  color: #ffffff;
  background: #01366c;
}
.vtop_link_btn.vtop_link_btn-news {
  min-width: 185px;
  border-radius: 8px;
}

.icgw_intro_contact .icgw_intro_contact_ttl {
  background-color: #559b44;
  color: #ffffff;
  padding: 10px;
  text-align: center;
}
.icgw_intro_contact .icgw_intro_contact_detail {
  border: 1px solid #cfcfcf;
  border-top: none;
  padding: 10px 20px 20px;
}
.icgw_intro_contact .icgw_intro_contact_detail .icgw_intro_contact_detail_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.icgw_intro_contact .icgw_intro_contact_tel {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: -.1rem;
  margin-left: 5px;
  display: flex;
  align-items: center;
}
.icgw_intro_contact .icgw_intro_contact_hours {
  font-size: 12px;
}
.icgw_intro_contact a.icgw_intro_contact_btn {
  background-color: #f6d247;
  border: 2px solid #28487a;
  border-radius: 10px;
  padding: 8px 10px;
  text-align: center;
  color: #28487a;
  width: 100%;
  display: block;
  font-size: 14px;
}
.icgw_intro_contact a.icgw_intro_contact_btn span {
  position: relative;
  padding-right: 20px;
}
.icgw_intro_contact a.icgw_intro_contact_btn span:after {
  position: absolute;
  top: 50%;
  right: 0;
  content: "";
  width: 10px;
  height: 16px;
  background: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icn_arrow.png) no-repeat top right;
  background-size: cover;
  margin-top: -8px;
}


/* top_catch */
.icgw_inner {
  max-width: 1180px;
  margin: 0 auto;
}
.icgw_inner_s {
  max-width: 980px;
  margin: 0 auto;
}
.top_catch a:hover,
a.icgw_intro_contact_btn:hover,
a.top_conditions_link:hover,
.top_usage_fee_note a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}
.icgw_bg {
  background: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icgw_bg.png) repeat-y;
  background-position: center 580px;
  background-size: contain;
  text-align: center;
}
.top_catch_read_outer {
  background: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icgw_catch_bg.jpg) top center no-repeat;
  background-size: cover;
  text-align: center;
  padding: 90px 20px 200px;
  height: 580px;
}
.top_catch_read_box {
  text-align: right;
}
.top_catch_read {
  display:inline-block;
  text-align: left;
  color: #ffffff;
}
.top_catch_read .ttl {
  font-size: 48px;
  line-height: 1.3333;
}
.top_catch_read .txt {
  font-size: 20px;
  line-height: 2;
  margin-top: 10px;
}
.top_catch_img {
  margin-top: -140px;
  background-color: #eff3f6;
  padding: 40px 40px 60px;
}
.top_catch_img img {
  width: 100%;
  max-width: 849px;
}
.top_catch_note {
  font-size: 14px;
  margin-top: 20px;
  text-align: left;
}


/* top_features */
.top_features {
  margin-top: 90px;
}
.top_features_inner {
  background: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icgw_features_bg.jpg) top center no-repeat;
  background-size: cover;
  text-align: center;
}
.top_features_ttl {
  font-size: 40px;
  font-weight: bold;
  color: #ffffff;
  padding-top: 50px;
}
.top_features_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 0 80px;
}
.top_features_box .box_items {
  display:flex;
  width: 470px;
  margin-top: 80px;
}
.top_features_box .read {
  position: relative;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 100px 40px 50px;
  width: 100%;
}
.top_features_box .icon_area {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.top_features_box .icon {
  display: inline-block;
  width: 160px;
  height: 80px;
  border-radius: 50% / 100% 100% 0 0;
  background: #ffffff;
}
.top_features_box .icon img {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.top_features_box .box_items:nth-child(3) .icon img {
  top: 30px;
}
.top_features_box .box_items:nth-child(4) .icon img {
  top: 20px;
}
.top_features_box .read .ttl {
  font-size: 24px;
  color: #004386;
  font-weight: bold;
  line-height: 1.4166;
}
.top_features_box .read .txt {
  padding-top: 20px;
  line-height: 1.75;
  text-align: left;
}


/* top_model */
.top_model {
  padding: 80px 0 60px;
}
.top_model_area + .top_model_area {
  margin-top: 100px;
}
.top_model_ttl {
  position: relative;
  font-size: 48px;
  font-weight: bold;
  color: #ffffff;
  background-color: #0b427f;
  padding: 50px 0 40px;
  margin-right: 20%;
  text-align: left;
  z-index: 1;
}
.top_model_ttl::before {
  content: "";
  background-color: #0b427f;
  position: absolute;
  top: 0;
  left: -99%;
  width: 200%;
  height: 665px;
  z-index: -1;
}
.reverse .top_model_ttl {
  margin-right: auto;
  margin-left: 20%;
  text-align: right;
}
.reverse .top_model_ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: auto;
  right: -99%;
  width: 200%;
}
.top_model_ttl .sub {
  font-size: 20px;
  font-weight: normal;
}
.top_model_box {
  position: relative;
  z-index: 1;
  background-color: #eff3f6;
}
.model_ttl {
  position: relative;
  font-size: 24px;
  color: #0b427f;
  font-weight: bold;
  background-color: #f2c921;
  padding: 40px 20px;
}
.model_ttl::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 25px solid #f2c921;
}
.model_explanation {
  padding: 50px 30px 40px;

}
.model_explanation .txt {
  font-size: 24px;
  font-weight: bold;
  color: #0b427f;
  text-align: center;
  padding: 0 20px;
}
.model_explanation .txt + .txt {
  margin-top: 10px;
}
.model_explanation .img {
  width: 100%;
  max-width: 890px;
  margin-top: 50px;
}
.model_explanation .list_note {
  background-color: #ffffff;
  margin: 0;
  margin: 30px 20px 0;
  padding: 20px 50px;
  border-radius: 10px;
}
.model_explanation .list_note li {
  list-style: none;
  color: #0b427f;
  line-height: 1.75;
  text-align: left;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.model_explanation .list_note li::before {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  background-color: #004386;
  border-radius: 50%;
  position: relative;
  top: 0px;
  margin-right: 0.5em;
}
.model_explanation .explanation_hr {
  border: 0;
  border-bottom: solid 4px #cccccc;
  margin: 40px 20px 0;

}
.model_composition {
  padding: 0 50px 80px;
}
.model_composition .ttl {
  font-size: 28px;
  color: #004386;
  font-weight: bold;
  text-align: left;
}
.model_composition .img {
  width: 100%;
  max-width: 859px;
  margin-top: 20px;
}
.model_composition .note_area {
  background-color: #ffffff;
  margin: 0;
  margin-top: 40px;
  padding: 30px 50px;
  border-radius: 10px;
}
.model_composition .note {
  font-size: 24px;
  color: #0b427f;
  line-height: 1.6666;
}
.model_composition .underline {
  font-weight: bold;
  background-size: 7px 4px;
  background-image: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icgw_model_dot.png);
  background-repeat: repeat-x;
  background-position: bottom left;
  padding-bottom: 4px;
}
.top_model_box.service {
  padding: 60px 80px 80px ;
}
.service_ttl {
  background-color: #004386;
  padding: 10px;
  display: flex;
  align-items: center;
  color: #ffffff;
  font-weight: bold;
  text-align: left;
}
.service_ttl .ttl {
  font-size: 30px;
  padding: 10px 50px;
  border-right: dotted 3px #ffffff;
}
.service_ttl .txt {
  font-size: 18px;
  line-height: 1.5555;
  padding: 10px 50px;
}
.service_read {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
}
.service_read_item {
  position: relative;
  width: 380px;
}
.service_read_item .ttl {
  position: absolute;
  top: -5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-image: -moz-linear-gradient( 90deg, rgb(0,109,165) 0%, rgb(0,122,184) 99%);
  background-image: -webkit-linear-gradient( 90deg, rgb(0,109,165) 0%, rgb(0,122,184) 99%);
  background-image: -ms-linear-gradient( 90deg, rgb(0,109,165) 0%, rgb(0,122,184) 99%);
  font-size: 24px;
  font-weight: bold;
  color: #ffffff;
  border-radius: 10px;
  width: 80%;
  padding: 10px;
}
.service_read_item .txt {
  line-height: 1.75;
  background-color: #ffffff;
  border-radius: 10px 10px 0 0;
  padding: 70px 30px 40px;
  text-align: left;
  height: 180px;
}
.service_read_item .figure {
  font-size: 18px;
  font-weight: bold;
  color: #004386;
  background-color: #fcda14;
  border-radius: 0 0 10px 10px;
  padding: 20px 30px 30px;
  height: 200px;
}
.service_read_item .protocol_row {
  display: flex;
  justify-content: center;
  align-items: center;
}
.service_read_item .figure_ttl + .protocol_row {
  margin-top: 25px;
}
.service_read_item .protocol_row + .protocol_row {
  margin-top: 20px;
}
.service_read_item .protocol_row p {
  background-color: #ffffff;
  border-radius: 6px;
  padding: 5px 10px;
  width: 40%;
}
.service_read_item .protocol_row .img {
  width: 20%;
  max-width: calc(29px + 5px * 2 );
  padding: 0 5px;
}
.service_read_item .cloud_row {
  margin-top: 15px;
  text-align: center;
}
.service_read_item .cloud_row p {
  width: 100%;
  background-color: #ffffff;
  border-radius: 6px;
  padding: 1px 10px;
  margin-top: 10px;
}
.service_read_item .cloud_row p:first-child {
  margin-top: 0;
}
.top_model_box.fee {
  padding: 0 80px 80px ;
}
.top_model_box.fee .service_read_item {
  display: flex;
}

.figure_fee {
  font-weight: bold;
  color: #d04933;
  background-color: #ffffff;
  border-radius: 13px;
  padding: 80px 40px 40px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.figure_fee.setup img,
.figure_fee.fee img {
  max-width: 100%;
}
.figure_fee.setup .read {
  padding-left: 40px;
  font-size: 84px;
  padding-bottom: 5px;
}
.figure_fee.fee .read {
  padding-left: 30px;
  font-size: 22px;
  line-height: 1.3333;
}
.figure_fee.setup .note {
  width: 100%;
  text-align: left;
  margin-top: 10px;
  font-size: 14px;
  padding-left: 1em;
  text-indent:  -1em;
  color: #333333;
}

/* top_usage_fee */
.top_usage_fee {
  background-color: #e8ebef;
  padding: 80px 0 100px;
}
.top_usage_fee_ttl {
  font-size: 30px;
  color: #004386;
  font-weight: bold;
}
.top_usage_fee_txt {
  font-size: 20px;
  color: #333333;
  margin-top: 5px;
}
.top_usage_fee_tbl {
  margin-top: 30px;
  width: 100%;
  border: solid 4px #cccccc;
}
.top_usage_fee_tbl th {
  font-size: 20px;
  color: #ffffff;
  background-color: #004386;
  text-align: center;
  border: solid 2px #999999;
  border-bottom: 0;
}
.top_usage_fee_tbl td {
  font-size: 18px;
  color: #333333;
  background-color: #ffffff;
  text-align: center;
  border: solid 2px #999999;
}
.top_usage_fee_tbl td.first {
  border-top: 0;
}
.top_usage_fee_note {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 30px;
}
.top_usage_fee_note li {
  margin-bottom: 5px;
  padding-left: 2em;
  text-indent:  -2em;
}
.top_usage_fee_note li:last-child {
  margin-bottom: 0;
}

/* top_conditions */
.top_conditions {
  margin: 80px 0 120px;
}
.top_conditions_ttl {
  font-size: 30px;
  font-weight: bold;
  color: #004386;
  margin-bottom: 30px;
}
.top_conditions_lst {
  margin: 30px 0 0;
  padding: 0;
}
.top_conditions_lst li {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.2em;
  text-indent: -1.2em;
  margin-bottom: 30px;
}
.top_conditions_lst > li:last-child {
  margin-bottom: 0;
}
.top_conditions_lst > li::before {
  content:  "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  background-color: #004386;
  border-radius: 50%;
  position:  relative;
  top: 0px;
  margin-right: 0.5em;
}
.top_conditions_lst a {
  text-decoration: underline;
}
.top_conditions_lst a:hover {
  text-decoration: none;
}
.top_conditions_lst_sub {
  margin:  0;
  padding: 0;
}
.top_conditions_lst_sub li {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 5.5em;
  text-indent: -5.5em;
}
.top_conditions_lst_sub li::before {
  content:  "ー";
  position:  relative;
  top: 0px;
  margin-right: 0.5em;
}

/* sdpfSlider */
.tb_above {
  display: block;
}
.sp_only {
  display: none;
}
.sdpfSlider{
	background:url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/sdpfSlider_bg.jpg) no-repeat top center #eaeef4;
	background-size:cover;
	padding:60px 0 40px;
}
.sdpfSlider2{
	background-color: #ebeff6;
	padding: 80px 0;
}
.sdpfSlider h2{
	margin: 0 0 30px;
	text-align:center;
}
.sdpfSlider h2 img{
	margin:0 auto;
}
.sdpfSlider .top_txt{
	margin: 30px auto;
	color:#1d8eff;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}
.sdpf_wrap .sdpf_inner{
	width:1180px;
	margin:0 auto;
}
.one_answer .one_txt{
	color:#1d8eff;
}
.one_answer h3{
	margin:0;
	padding:0;
	font-weight: bold;
}
.one_answer_read{
	display:flex;
	justify-content: space-between;
	margin-bottom:30px;
}
.one_answer_read h3{
	font-size:30px;
	width:40%;
}
.one_answer_read p{
	width:55%;
}
.one_flexblock{
	display:flex;
	justify-content: space-between;
}
.one_flexblock .one_flexitems{
	width:20%;
}
.one_flexblock .one_flexitems h3{
	padding-bottom:48px;
	font-size:30px;
}
.one_flexblock .one_flexitems .lines{
	padding-bottom:10px;
}
.one_flexblock .one_flexitems p{
	font-size:14px;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
  .disp_non_m {
    display: none;
  }
  /*
  .service_kobetsu_slider_icon {
    margin-top: 40px;
  }
  .service_kobetsu_slider_heading {
    font-size: .7rem;
  }
  .service_slider_item {
    width: 190px;
  }
  .slider-view {
    width: 190px;
  }
  .service_slider_item .slider_txt {
    line-height: 1.5;
  }
  */
  .icgw_service_logo img {
    max-width: 100%;
    width: auto;
  }
  .icgw_intro_contact .icgw_intro_contact_detail {
    padding: 10px;
    margin-bottom: 10px;
  }
  .icgw_intro_contact .icgw_intro_contact_detail .icgw_intro_contact_detail_inner {
    display: block;
  }
  .icgw_intro_contact .icgw_intro_contact_tel {
    justify-content: center;
  }
  .icgw_intro_contact a.icgw_intro_contact_btn {
    font-size: 12px;
  }
  .news_hq dt {
    display: block;
    width: auto;
  }
  .news_hq dd {
    display: block;
    width: auto;
    margin-top: 10px;
  }
  .vtop_link_btn {
    padding: 11px 15px 12px;
  }


  /* top_catch */
  .icgw_inner {
    max-width: 100%;
  }
  .icgw_inner_s {
    max-width: 100%;
  }
  .icgw_bg {
    background: none;
  }
  .top_catch_read_outer {
    background: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icgw_catch_bg.jpg) top right no-repeat;
    background-size: auto;
    text-align: center;
    padding: 3.0rem 0 6rem;
    height: auto;
  }
  .top_catch_read_box {
    text-align: left;
  }
  .top_catch_read .ttl {
    font-size: 28px;
    line-height: 1.25;
  }
  .top_catch_read .txt {
    font-size: 18px;
    line-height: 1.5;
    margin-top: 0.625rem;
  }
  .top_catch_img {
    margin-top: -4rem;
    background-color: #eff3f6;
    padding: 1rem 1rem 2rem;
  }
  .top_catch_note {
    margin-top: 1.25rem;
  }

  /* top_features */
  .top_features {
    margin-top: 5.625rem;
  }
  .top_features_inner {
    padding-left: 3.1%;
    padding-right: 3.1%;
  }
  .top_features_ttl {
    font-size: 24px;
    padding-top: 3.125rem;
  }
  .top_features_box {
    display: block;
    padding: 0.625rem 0 5rem;
  }
  .top_features_box .box_items {
    width: 100%;
    margin-top: 5rem;
  }
  .top_features_box .read {
    position: relative;
    box-sizing: border-box;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 6.25rem 1.8rem 2.4rem;
  }
  .top_features_box .icon_area {
    position: absolute;
    top: -2.5rem;
  }
  .top_features_box .icon {
    display: inline-block;
    width: 160px;
    height: 80px;
    background: #ffffff;
  }
  .top_features_box .icon img {
    position: absolute;
    top: 2.5rem;
  }
  .top_features_box .box_items:nth-child(3) .icon img {
    top: 1.875rem;
  }
  .top_features_box .box_items:nth-child(4) .icon img {
    top: 1.25rem;
  }
  .top_features_box .read .ttl {
    font-size: 20px;
    line-height: 1.3;
  }
  .top_features_box .read .txt {
    padding-top: 1.25rem;
    line-height: 1.5;
  }


  /* top_model */
  .top_model {
    padding: 5rem 0 3.75rem;
  }
  .top_model_area {
    padding-left: 3.1%;
    padding-right: 3.1%;
  }
  .top_model_area + .top_model_area {
    margin-top: 5rem;
  }
  .top_model_ttl {
    font-size: 28px;
    padding: 2.5rem 0 2rem;
    margin-right: 3.1%;
  }
  .top_model_ttl::before {
    position: absolute;
    top: 0;
    left: -99%;
    width: 100%;
    height: 665px;
    z-index: -1;
  }
  .reverse .top_model_ttl {
    margin-left: 3.1%;
    padding-left: 3.1%;
  }
  .reverse .top_model_ttl::before {
    position: absolute;
    top: 0;
    left: auto;
    right: -99%;
    width: 100%;
  }

  .top_model_ttl .sub {
    font-size: 18px;
  }
  .model_ttl {
    font-size: 20px;
    padding: 2.5rem 1.25rem;
  }
  .model_ttl::after {
    position: absolute;
    bottom: -20px;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 25px solid #f2c921;
  }
  .model_explanation {
    padding: 3.125rem 1.5rem 2.5rem;
  
  }
  .model_explanation .txt {
    font-size: 20px;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
    padding: 0;
    margin-left: 1em;
  }
  .model_explanation .txt + .txt {
    margin-top: 0.625rem;
  }
  .model_explanation .img {
    margin-top: 3.125rem;
  }
  .model_explanation .list_note {
    margin: 1.875rem 0 0;
    padding: 1.25rem 1.5rem;
  }
  .model_explanation .explanation_hr {
    margin: 2.5rem 0 0;
  }
  .model_composition {
    padding: 0 1.5rem 4rem;
  }
  .model_composition .ttl {
    font-size: 22px;
  }
  .model_composition .img {
    margin-top: 1.25rem;
  }
  .model_composition .note_area {
    margin-top: 2.5rem;
    padding: 1.875rem 1.5rem;
  }
  .model_composition .note {
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
  }
  .top_model_box.service {
    padding: 3.75rem 1rem 3rem ;
  }
  .service_ttl {
    padding: 0.625rem;
  }
  .service_ttl .ttl {
    font-size: 22px;
    padding: 0.625rem 1rem;
    width: 40%;
  }
  .service_ttl .txt {
    font-size: 16px;
    line-height: 1.5;
    padding: 0.625rem 1rem;
    width: 60%;
  }
  .service_read {
    margin-top: 4.375rem;
    display: block;
  }
  .service_read_item {
    width: 100%;
  }
  .service_read_item + .service_read_item {
    margin-top: 3.75rem;
  }
  .service_read_item .ttl {
    position: absolute;
    top: -5%;
    font-size: 20px;
    width: 80%;
    padding: 0.625rem;
  }
  .top_model_box.fee .service_read_item .ttl {
    top: -8%;
  }
  .service_read_item .txt {
    line-height: 1.5;
    border-radius: 0.625rem 0.625rem 0 0;
    padding: 4.375rem 1.875rem 2.5rem;
    height: auto;
  }
  .service_read_item .figure {
    font-size: 16px;
    border-radius: 0 0 0.625rem 0.625rem;
    padding: 1.25rem 1.875rem 1.875rem;
    height: auto;
  }
  .service_read_item .figure_ttl + .protocol_row {
    margin-top: 1.5625rem;
  }
  .service_read_item .protocol_row + .protocol_row {
    margin-top: 1.25rem;
  }
  .service_read_item .protocol_row p {
    padding: 5px 0.625rem;
    width: 40%;
  }
  .service_read_item .protocol_row .img {
    width: 20%;
    max-width: calc(29px + 5px * 2 );
    padding: 0 5px;
  }
  .service_read_item .cloud_row {
    margin-top: 0.9375rem;
  }
  .service_read_item .cloud_row p {
    padding: 1px 0.625rem;
    margin-top: 0.625rem;
  }
  .top_model_box.fee {
    padding: 0 1rem 3rem ;
  }
  .figure_fee {
    padding: 5rem 2.5rem 2.5rem;
    justify-content: center;
    width: 100%;
  }
  .figure_fee.setup .read {
    padding-left: 2.5rem;
    font-size: 5.25rem;
    padding-bottom: 5px;
  }
  .figure_fee.fee .read {
    padding-left: 1.875rem;
    font-size: 20px;
  }


  /* top_usage_fee */
  .top_usage_fee {
    padding: 5rem 0 6.25rem;
  }
  .top_usage_fee_ttl {
    font-size: 22px;
  }
  .top_usage_fee_txt {
    font-size: 18px;
    margin-top: 5px;
  }
  .top_usage_fee_tbl {
    margin-top: 1.875rem;
  }
  .top_usage_fee_tbl th {
    font-size: 18px;
  }
  .top_usage_fee_tbl td {
    font-size: 16px;
  }
  .top_usage_fee_note {
    margin-top: 1.875rem;
  }

  /* top_conditions */
  .top_conditions {
    margin: 5rem 0 7.5rem;
  }
  .top_conditions_ttl {
    font-size: 22px;
    margin-bottom: 1.875rem;
  }
  .top_conditions_lst {
    margin: 1.875rem 0 0;
  }
  .top_conditions_lst li {
    margin-bottom: 1.875rem;
  }

  /* sdpfSlider */
  .tb_above {
    display: none;
  }
  .sp_only {
    display: block;
  }
  .sdpfSlider2{
	  padding: 0 0 10px;
	}
	.sdpfSlider h2{
		text-align:center;
	}
	.sdpfSlider h2 img{
		margin:0 auto 30px;
		max-width:100%;
	}
	.sdpfSlider .top_txt{
		font-size: 24px;
	}
  .sdpf_wrap .sdpf_inner{
		width:94%;
	}
	.one_answer_read,.one_flexblock{
		display:block;
		margin-bottom:30px;
	}
	.one_answer_read h3{
		font-size:24px;
		width:100%;
		margin-bottom:10px;
	}
	.one_answer_read p{
		width:100%;
		font-size:14px;
	}
	.one_answer_read,.one_flexblock{
		display:block;
		margin-bottom:30px;
	}
	.one_flexblock .one_flexitems{
		width:100%;
	}
	.one_flexblock .one_flexitems h3{
		padding-bottom:18px;
		font-size:24px;
	}
	.one_flexblock .one_flexitems p{
		font-size:14px;
		margin-bottom:30px;
	}
}
@media only screen and (min-width: 0px) and (max-width: 480px) {
  .disp_s {
    display: none;
  }
  /*
  .service_kobetsu_slider_icon {
    margin: 5px auto 0;
  }
  #slider {
    width: 80%;
  }
  .service_slider_item {
    width: 200px;
  }
  .slider-view {
    width: 200px;
  }
  .service_slider_item .slider_txt {
    margin-top: calc(65 / 480 *100vw);
  }
  */
  /* top_model */
  .top_model_area + .top_model_area {
    margin-top: 1.5rem;
  }
}


.fotter_note {
  padding: 0;
  width: 1180px;
  margin: 0 auto 40px;
  text-align: left;
}
.fotter_note li {
  list-style: none;
  line-height: 1.5;
  padding-left: 1.25em;
  text-indent: -1.25em;
  margin-bottom: 10px;
}
.fotter_note li:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  .fotter_note {
    width: 94%;
    margin: 0 0 2.5rem;
    text-align: left;
  }
  .fotter_note li {
    margin-bottom: 0.625rem;
  }
}

.ank_area {
  max-width: 1260px;
  margin: 60px auto;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  .ank_area {
    max-width: 100%;
    margin: 3.75rem auto 2rem;
    padding-left: 3.1%;
    padding-right: 3.1%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 480px) {
  #ank_features {
    padding-top: 65px;
    margin-top: -65px;
  }
  .top_model_area {
    padding-top: 65px;
    margin-top: -65px;
  }
}



/* relatedServicesBanner */
a.relatedServicesBannerLink{}
a.relatedServicesBannerLink:hover *{
  opacity: 0.7;
}
.relatedServicesBanner{
  border: 2px solid #004386;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.relatedServicesBanner:after{
  position: absolute;
  content: '';
  width: 11px;
  right: 10px;
  top: 50%;
  background-image: url(/content/dam/nttcom/hq/jp/business/services/network/iot/icgw/img/icn_arrow.png);
  background-repeat: no-repeat;
  height: 18px;
  transform: translate(0,-50%);
}
.relatedServicesBanner .relatedServicesBannerImg{
  flex: 0 0 490px;
}
.relatedServicesBanner .relatedServicesBannerImg img{
  width: 100%;
  max-width: 100%;
  display: block;
}
.relatedServicesBanner .relatedServicesBannerTxt{
  padding: 0 30px 0 20px;
  flex: 1 1 465px;
}

@media only screen and (min-width: 0px) and (max-width: 768px){
  .relatedServicesBanner{
    display: block;
  }
  .relatedServicesBanner:after{
    content: none;
  }
  .relatedServicesBanner .relatedServicesBannerTxt{
    padding: 10px 0 0;
  }
}