@charset "UTF-8";

/* --------------------------------------------------------
	汎用
--------------------------------------------------------- */

sup,sub,span{
	color:inherit;
}

/*PC・SP*/
.only_pc{
	display:block;
}
.only_sp{
	display:none;
}
@media screen and (max-width: 480px) {
	.only_pc{
		display:none;
	}
	.only_sp{
		display:block;
	}
}

/*文字*/
.fc-red{
	color:#C03;
}
.fs-16{
	font-size:16px !important;
}

/*下線リンク*/
a.link_underline{
	text-decoration:underline;
}
a.link_underline:hover{
	text-decoration:none;
}

/*タイトル下線あり*/
.border_title{
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	border-bottom:2px solid #d3d3d3;
	padding-bottom:5px;
	margin:40px 0 20px;
}

/*画像*/
.pic_wrap{
	width:100%;
	text-align:center;
}
.pic_wrap img{
	max-width:100%;
}

/*テーブル*/
.table{
	font-size:16px;
	line-height:1.5;
}
.table th{
	font-weight:bold;
	text-align:center;}

.table th,
.table td{
	vertical-align: middle !important;
}

.table a{
	text-decoration:underline;
}
.table a:hover{
	text-decoration:none;
}

.table .no-border {
	background-color: transparent;
	border: none;
}

.min-w-600{
	width:100%;
	min-width: 600px;
}

/*中黒リスト*/
.disc_list {
	list-style-type: disc;
}

/*番号リスト*/
.decimal_list{
	margin: 1.3em;
	padding: 0px;
	list-style: decimal !important;
}
.decimal_list li{
	margin:0 0 1em 0;
}

/*注釈リスト*/
.note_list li{
	padding-left: 1.2em;
	text-indent: -1.2em;
	font-size:14px;
	margin-bottom:0.3em;
}

/*タイトル サブ*/
.title_sub{
	font-size:22px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	margin:40px 0;
}

/*＞付リンク*/
.link_arrow{
	text-align: right;
	margin:1em 0 0 0;
}
.link_arrow a{
	display: inline-block;
	color: #000 !important;
	text-decoration: underline;
	padding-right:1em;
	transition: all .3s;
}
.link_arrow a:hover{
	color: #CC023A !important;
	text-decoration: none;
	transition: all .3s;
}
.link_arrow a:after {
	content:"";
	position:absolute;
	top:0;
	bottom:.0;
	right:0.1em;
	margin:auto;
	width: .5em;
	height: .5em;
	border-top: .13em solid #333;
	border-right: .13em solid #333;
	transform: rotate(45deg);
}

/* --------------------------------------------------------
	お知らせ
--------------------------------------------------------- */
.news_outer_wrap{
	border:1px solid #666;
	margin:60px 0 0;
}
.news_outer_wrap h4{
	font-size:20px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	background-color:#F2F2F2;
	padding:10px;
	margin:0;
}
.news_inner_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:10px 20px;
	padding:20px;
}
.news_inner_wrap .date{
	width:9em;
	line-height:1.5;
}
.news_inner_wrap .detail{
	width:calc(100% - 20px - 9em);
	line-height:1.5;
}
@media screen and (max-width: 480px) {
	.news_inner_wrap .date,
	.news_inner_wrap .detail{
		width:100%;
	}
}



/* --------------------------------------------------------
	IoT活用に関してよくある悩み
--------------------------------------------------------- */
/*悩み*/
.problem_wrap{
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:30px 60px;
}
.problem_wrap > li{
	width:calc((100% - 120px) / 3);
}

@media screen and (max-width: 768px) {
	.problem_wrap > li{
		width:100%;
	}
}

.problem_wrap p{
	font-weight:bold;
	text-align:center;
}

.problem_pic{
	text-align:center;
	margin:0 0 5px 0;
}
.problem_pic img{
	width:100%;
	max-width:200px;
}

/*解決*/
.solution_wrap{
	list-style: none;
	margin: 100px 0 40px;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:100px 60px;
}
.solution_wrap > li{
	width:calc((100% - 120px) / 3);
	border:2px solid #C03;
	border-radius:10px;
	background-color:#FCEDE4;
	padding:20px;
}

@media screen and (max-width: 768px) {
	.solution_wrap > li{
		width:100%;
	}
}

.solution_wrap h5{
	font-size:20px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	margin:5px 0;
}

.solution_pic{
	text-align:center;
	margin:-80px 0 0 0;
}
.solution_pic img{
	width:120px;
}

/*赤フキダシ*/
.arrow_box{
	width:fit-content;
	margin:0 auto 40px;
	position:relative;
	background:#c03;
	padding:15px 30px;
	text-align:center;
	color:#FFFFFF;
	font-size:20px;
	font-weight:bold;
	border-radius:50px;
	-webkit-border-radius:50px;
	-moz-border-radius:50px;
}
.arrow_box::after{
	border: solid transparent;
	content:'';
	height:0;
	width:0;
	pointer-events:none;
	position:absolute;
	border-color: rgba(192, 3, 0, 0);
	border-top-width:10px;
	border-bottom-width:10px;
	border-left-width:10px;
	border-right-width:10px;
	margin-left: -10px;
	border-top-color:#c03;
	top:100%;
	left:50%;
}


/* --------------------------------------------------------
	docomo business SIGN™とは？
--------------------------------------------------------- */
iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}
/*囲み*/
.features-block-movie {
	position: relative;
	z-index: 1;
	background-color: #fff;
	margin:0 auto;
	outline: 3px solid #929292;
}

.features-block-movie-head {
	padding: 15px;
	color: #fff;
	background-color: #929292;
	text-align: center;
	font-size: 28px;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
	.features-block-movie-head {
		font-size: 22px;
	}
}

/*動画2カラム*/
.features-block-movie-wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:25px;
	padding: 25px !important;
}
.features-block-movie-wrap > div{
	width:48%;
}
@media screen and (max-width: 768px) {
	.features-block-movie-wrap > div{
		width:100%;
	}
}

.features-block-movie-lead{
	color:#C03;
	font-size:18px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}
.features-block-movie-ttl{
	font-size:22px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
	margin-bottom:10px;
}


/* --------------------------------------------------------
	資料ダウンロード
--------------------------------------------------------- */
.download_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap:10px 50px;
	border:1px solid #929292;
	background-color:#F2F2F2;
	padding:25px;
	margin:60px 0 0;
}
.download_pic{
	width:360px;
	text-align:center;
	margin:0 auto;
}
.download_pic img{
	width:100%;
	max-width:360px;
}
.download_txt{
	width:calc(100% - 50px - 360px);
}
.download_txt p{
	font-size:20px;
	font-weight:bold;
	line-height:1.4;
	margin: 0 0 1em;
}

@media screen and (max-width: 768px) {
	.download_pic,
	.download_txt{
		width:100%;
		}
	.download_txt{
		text-align:center;
	}
	.download_txt p{
		font-size:16px;
	}
	.btn_wrap{
		margin:0 auto;
	}
}


/* --------------------------------------------------------
	赤ボタン 大
--------------------------------------------------------- */
.btn_wrap a {
	background-color: #CC023A;
	border-radius: 6px;
	border: 1px solid #000000;
	-webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	color: #ffffff;
	display: block;
	font-family: FrutigerNeueLTW10-Regul,FrutigerNeueW01-Regular,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, sans-serif;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	padding: 15px;
	text-align: center;
	text-decoration: none;
	-webkit-transition: opacity .3s ease;
	transition: opacity .3s ease;
	width: 100%;
}
@media screen and (max-width: 480px) {
	.btn_wrap a {
		font-size: 20px;
	}
}

.btn_wrap a::before {
	background-image: url("/content/dam/nttcom/hq/cmn/img/arrow-right-accent.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: '';
	display: block;
	height: 10px;
	margin: auto;
	position: absolute;
	right: 10px;
	top: 0;
	width: 6px;
}
.btn_wrap a::before {
	background-image: url("/content/dam/nttcom/hq/cmn/img/arrow-right-accent.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: '';
	display: block;
	height: 10px;
	margin: auto;
	position: absolute;
	right: 10px;
	top: 0;
	width: 6px;
}
.mw400{
	max-width:400px;
}


/* --------------------------------------------------------
	ご利用開始までの流れ
--------------------------------------------------------- */
.flow_wrap{
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:60px;
	position:relative;
}
.flow_wrap:before{
	position: absolute;
	content: "";
	top: 90px;
	left: 10%;
	width: 80%;
	height: 3px;
	background-color: #E0E0E0;
}
.flow_wrap > li{
	width:calc((100% - 180px) / 4);
}

@media screen and (max-width: 768px) {
	.flow_wrap > li{
		width:100%;
	}
	.flow_wrap:before{
		content: none;
	}
}

.flow_wrap h5{
	font-size:20px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	margin:5px 0;
}

.flow_pic{
	text-align:center;
	margin:0;
}
.flow_pic img{
	width:100%;
	max-width: 180px;
}
.flow_wrap a{
	color:#C03 !important;
	text-decoration:underline !important;
}


/* --------------------------------------------------------
	サービスの特長
--------------------------------------------------------- */
/*ポイント囲み*/
.card_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-radius: 20px;
	box-shadow: 0 3px 20px 0 rgba(26, 34, 41, .2);
	background: #fff;
	margin:0 0 60px;
}
.card_num{
	width:120px;
	align-content: center;
	background:#F2F2F2;
	color:#666;
	font-size:40px;
	font-weight:bold;
	line-height:1;
	text-align:center;
	padding: 10px;
}
.card_num_point{
	color:inherit;
	font-size:16px;
}
.card_item{
	width:calc(100% - 120px);
	align-content: center;
}

@media screen and (max-width: 768px) {
	.card_num,
	.card_item{
		width:100%;
	}
}

/*内側カラム*/
.card_inner_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding:20px;
}
.card_icon{
	width:70px;
	text-align:center;
}
.card_icon img{
	width:100%;
}
.card_txt{
	width:calc(100% - 100px);
}
.card_txt h5{
	color:#C03;
	font-size:20px;
	font-weight:bold;
	line-height:1.4;
	margin:0 0 5px;
}

/* --------------------------------------------------------
	ポイント02（レイヤーで載せている）
--------------------------------------------------------- */
.point02_wrap{
	position:relative;
	width:1060px;
}
/*ボタン*/
.point02_btn{
	position:absolute;
	z-index:10;
}
.point02_btn a:hover{
	opacity:.7;
	transition:.3s;
}
/*ボタン位置*/
.btn01{
	left:36px;
	top:86px;
}
.btn02{
	left:36px;
	top:163px;
}
.btn03{
	left:219px;
	top:86px;
}
.btn04{
	left:219px;
	top:195px;
}
.btn05{
	left:491px;
	top:140px;
}
.btn06{
	left:491px;
	top:218px;
}
.btn07{
	left:491px;
	top:297px;
}
.btn08{
	left:649px;
	top:86px;
}
.btn09{
	left:864px;
	top:86px;
}
.btn10{
	left:864px;
	top:145px;
}
.btn11{
	left:864px;
	top:221px;
}
/*フキダシ*/
.point02_icon{
	position:absolute;
	z-index:20;
}
.icon01{
	left:0;
	top:128px;
}
.icon02{
	left:784px;
	top:79px;
}
.icon03{
	left:999px;
	top:339px;
}

/* --------------------------------------------------------
	ポイント02　線と▼
--------------------------------------------------------- */
.triangle_line{
	height:20px;
	border:1px solid #666;
	border-top:none;
}
.triangle {
	margin:0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 25px solid transparent;
	border-left: 25px solid transparent;
	border-top: 25px solid #666666;
	border-bottom: 0;
}


/* --------------------------------------------------------
	ネットワークからアプリ、セキュリティまでフルスタック！
--------------------------------------------------------- */
.full_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:20px;
	padding:20px;
	background-color:#FCEDE4;
}
.full_detail{
	width: calc((100% - 84px) / 3);
}
.full_line{
	width: 2px;
	border: 1px dashed #999;
}

@media screen and (max-width: 768px) {
	.full_detail,
	.full_line{
		width:100%;
	}
	.full_line{
		width:100%;
	}
}

.full_wrap h5{
	color:#C03;
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	margin:0 0 5px;
}


/* --------------------------------------------------------
	ポイント詳細　2カラム
--------------------------------------------------------- */
.ba_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:30px;
}
.ba_wrap > div{
	width:calc((100% - 30px) / 2);
}

@media screen and (max-width: 768px) {
	.ba_wrap > div{
		width:100%;
	}
}

.ba_ttl{
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
	padding:10px;

	border-radius:10px;
	margin:0 0 10px;
}
.ba_pic{
	text-align:center;
	margin:10px 0 0;
}
.ba_pic img{
	width:100%;
}

/*3カラム*/
.ba_point_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:10px;
	margin:10px 0;
}
.ba_point_wrap > div{
	width:calc((100% - 20px) / 3);
	align-content: center;

	border-radius:10px;
	padding:10px;
	font-size:16px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}
.ba_point_ttl{
	font-size:20px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
	margin:5px 0;
}

/*色*/
.before .ba_ttl{background-color:#666;}
.after .ba_ttl{	background-color:#C03;}

.before .ba_point_wrap > div{background-color:#BFBFBF;}
.after .ba_point_wrap > div{background-color:#FCEDE4;}

.before .ba_point_ttl{color:#333;}
.after .ba_point_ttl{color:#C03;}


/* --------------------------------------------------------
	テンプレートの紹介
--------------------------------------------------------- */
.template_wrap{
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:30px;
}
.template_wrap > li{
	width:calc((100% - 30px) /2);
	border:1px solid #666;
	border-radius:20px;
	background-color:#E6E6E6;
}

@media screen and (max-width: 768px) {
	.template_wrap > li{
		width:100%
	}
}

/*タイトル部*/
.template_ttl_wrap{
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap:20px;
}
.template_ttl_num{
	width:160px;
	color:#FFF;
	font-size:14px;
	font-weight:bold;
	background:#000;
	border-radius:0 100px 100px 0;
	padding:5px 20px;
}
.template_ttl_num span{
	font-size:24px;
}
.template_ttl_txt{
	width:calc(100% - 20px - 160px);
	font-size:18px;
	font-weight:bold;
	line-height:1.3;
	padding-right: 20px;
}
@media screen and (max-width: 480px) {
	.template_ttl_txt{
		width:100%;
		padding:0 20px;
	}
}

/*ラベル*/
.template_label_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/*align-items: center;*/
	gap: 10px;
	padding: 15px 20px;
}
.template_label_wrap > div{
	width: calc((100% - 20px) / 3);
	align-content: center;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	background-color: #C03;
	padding: 5px;
}
.bg-gray{
	background-color: #7F7F7F !important;
}
.template_pic{
background-color: #FFF;
	text-align: center;
	margin: 0 auto;
	padding: 0 0 10px;
	border-radius: 0 0 20px 20px;
}
.template_pic img{
	display:block;
	width:100%;
	border-radius: 0 0 20px 20px;
}


/* --------------------------------------------------------
	提供機能
--------------------------------------------------------- */
/*フキダシ タイトルバー*/
.service_ttl_detail .fukidasi_left {
	position: absolute;
	width: 60px;
	top: -30px;
	/* bottom: 0; */
	/* left: 0; */
	right: -60px;
	margin: auto;
}
.service_ttl_detail .fukidasi_left img{
	display:block;
	width:100%;
}
@media screen and (max-width: 768px) {
	.service_ttl_detail .fukidasi_left {
		position: absolute;
		width: 60px;
		top: -50px;
		/* bottom: 0; */
		/* left: 0; */
		right: 0;
		margin: auto;
	}
}


/*フキダシ 囲みタイトル*/
.service_ttl .fukidasi_left {
	position: absolute;
	width: 60px;
	top: -30px;
	/* bottom: 0; */
	/* left: 0; */
	right: 0;
	margin: auto;
}
.service_ttl .fukidasi_left img{
	display:block;
	width:100%;
}

/* --------------------------------------------------------
	サービス詳細 タイトル
--------------------------------------------------------- */
.service_ttl_wrap{
	width: 100%;
	display: flex;
	/*
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	*/
	background-color:#E6E6E6;
	margin:80px 0 40px;
}
.service_ttl_name{
	background-color:#BFBFBF;
	padding:8px 20px;
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	display: flex;
	align-items: center;
}
.service_ttl_detail{
	padding:8px 20px;
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
}


/* --------------------------------------------------------
	サービス詳細 囲み
--------------------------------------------------------- */
.service_wrap{
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
	gap:30px;

}
.service_wrap > li{
	width:calc((100% - 60px) / 3);
	border-radius: 20px;
	box-shadow: 0 3px 20px 0 rgba(26, 34, 41, .2);
	background: #fff;
}

@media screen and (max-width: 768px) {
.service_wrap > li{
			width:100%;
	}
}

.service_ttl{
	display: flex;
	justify-content: center;
	align-items:center;
	position:relative;
	background-color:#4C4C4C;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	padding:10px 20px;
	border-radius:19px 19px 0 0;
}
.service_detail{
	margin:20px;
}
.service_pic{
	text-align:center;
	margin:0 0 10px;
}
.service_pic img{
	width:100%;
	max-width:120px;
}


/* --------------------------------------------------------
	モデルケース
--------------------------------------------------------- */
.case_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:30px;
}
.case_wrap > div{
	width:calc((100% - 30px) / 2);
}

@media screen and (max-width: 768px) {
	.case_wrap > div{
		width:100%;
	}
}

.case_ttl{
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
	padding:10px;

	border-radius:10px;
	margin:0 0 10px;
}
.case_pic{
	text-align:center;
	margin:10px 0 0;
}
.case_pic img{
	width:100%;
}

/**/
.case_point_wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:10px;
	margin:10px 0;
}
.case_point_wrap > div{
	width:calc((100% - 20px) / 3);
	align-content: center;

	border-radius:10px;
	padding:10px;
	font-size:16px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}
.case_point_ttl{
	font-size:20px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
	margin:5px 0;
}

/*色*/
.before .case_ttl{background-color:#666;}
.after .case_ttl{	background-color:#C03;}

.before .case_point_wrap > div{background-color:#BFBFBF;}
.after .case_point_wrap > div{background-color:#FCEDE4;}

.before .case_point_ttl{color:#333;}
.after .case_point_ttl{color:#C03;}


/* --------------------------------------------------------
	料金
--------------------------------------------------------- */
.bg_orange{
	background-color:#F0CBB8;
}
.bg_lightorange{
	background-color:#FCEDE4;
}