

section {
	margin: 1rem auto 5rem;
	padding: 30px 0;
}

ul {
	padding: 0;
}
li {
	overflow: hidden;
}
h1 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 15px;
}

.table-bordered td, .table-bordered th {
	border: 1px solid #000;
}
.table td, .table th {
	padding: .25rem .5rem;
}


.fs_14 {font-size: 14px;}
.fs_18 {font-size: 18px;}
.fs_20 {font-size: 20px;}
.fs_24 {font-size: 24px;}
.fs_28 {font-size: 28px;}

.font_medium {
	font-weight: 600;
}

.container {
	max-width: 880px;
}

.section_title {
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.title_right .section_title {
	display: flex;
	justify-content: flex-end;

}
.title_left .section_image {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	height: auto;
  align-items: flex-start;
}
.title_left .section_image img {
	width: 80%;
}

.section_image {
	width: 80%;
	margin-bottom: 3rem;
}
.section_image img {
	width: 100%;
	height: auto;
}

.bg_lightblue {
	background: rgba(84,194,241,.07);
	position: relative;
	padding: 3rem 0;
}
.bg_lightblue:before ,
.bg_lightblue:after {
	 content: "";
	 position: absolute;
	 left: 0;
	 background-repeat: no-repeat;
	 background-size: auto 100%;
	 height: 68px;
	 width: 100%;
 }
 .bg_lightblue:before {
	top: -68px;
	background-image: url(../../digital/img/bg_d-map_lightblue_top.png);
 }
 .bg_lightblue:after {
	bottom: -68px;
	background-image: url(../../digital/img/bg_d-map_lightblue_bottom.png);
 }

 @media screen and (min-width: 576px) {
	.bg_lightblue:before ,
	.bg_lightblue:after {
		background-size: 100% 100%;
 }
}

@media screen and (min-width: 768px) {
	section {
		margin: 5rem auto;
	}

	h1 {
		font-size: 36px;
	}
	.section_title {
		font-size: 36px;
	}
	.bg_lightblue {
		padding: 5rem 0;
	}
}

/*===================================================
 *メインビジュアル
 *===================================================*/

 .mv {
	width: 100%;
	margin: 150px auto 20px;
	padding: 0 15px;
	position: relative;
 }

 .mv figure {
	 text-align: center;
 }

 .mv .mv_image {
	 max-width: 500px;
	 margin: auto;
 }

 @media screen and (min-width: 768px) {
	 .mv{
		 margin: 200px auto 0;
		 display: flex;
		 align-items: center;
		 max-width: 1100px;
		 justify-content: space-between;
	 }
	 .mv .logo_dmap {
		 width: 50%;
		 max-width: 348px;
	 }
	 .mv .mv_image {
		 width: 50%;
		 max-width: 570px;
		 margin: 0;
 	}
 }

 @media screen and (min-width: 992px) {
	.mv .mv_image {
		width: auto;
		max-width: 570px;
	}
 }

 /*===================================================
 * イントロ
 *===================================================*/

 .intro {
	 background-image: url(../../digital/img/bg_d-map_intro.png);
	 background-repeat: no-repeat;
	 background-size: auto 100%;
	 background-position-x: left;
	 padding-bottom: 70px;
	 margin-top: 0;
	 margin-bottom: 1rem;
	 padding-top: 0;

 }

 @media screen and (min-width: 576px) {
	.intro {
		background-size: 100% 100%;
	}
 }

 @media screen and (min-width: 992px) {
	 .intro {
		 padding-top: 50px;
		 padding-bottom: 120px;
		 margin-top: -50px;
	 }
 }

 /*===================================================
 * エビデンス
 *===================================================*/
 .evidence_block {
	 max-width: 400px;
	 width: 100%;
	 margin: 0 auto;
	 background-image: url(../../digital/img/bg_d-map_evidence_block_sp.png);
	 background-size: 226px auto;
	 background-repeat: no-repeat;
	 background-position: 50% 90%;
	 position: relative;
	 height: 1200px;
 }

 .evidence_block::before {
	 position: absolute;
	 content:'';
	 width: 194px;
	 height: 148px;
	 background-image: url(../../digital/img/d-map_section_image_evidence02.png);
	 background-size: contain;
	 z-index: -1;
	 top: 550px;
	 left: 0;

 }


 .evidence_block .item_right {
	 margin-right: 0;
	 margin-left: auto;
 }

 .evidence_item figure , 
 .evidence_item p {
	width: 100%;
}

 .evidence_item {
	 text-align: center;
	 width: 200px;
	 margin-bottom: 36px;
 }

 .evidence_item.item01 {margin-bottom: 74px;}
 .evidence_item.item02 {margin-bottom: 56px;}
 .evidence_item.item03 {margin-bottom: 56px;}
 .evidence_item.item04 {margin-bottom: 115px;}


 .evidence_item figure{
	 margin: 0 0 8px;
 }

 .evidence_item .item_txt {
	font-weight: bold;
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 12px;
 }
 .evidence_item .item_txt:after {
	 content: '';
	 position: absolute;
	 bottom: 0;
	 left: 50%;
	 transform: translateX(-50%);
	 width: 18px;
	 height: 15px;
	 background: url(../../digital/img/i_d-map_evidence_item_triangle.png);
	 background-size: cover;
 }

 .evidence_item .item_head {
	 background: #014287;
	 color: #fff;
	 font-size: 14px;
	 padding: 7px 5px;
	 font-weight: bold;
	 border-radius: 24px;
	 box-shadow: 0 3px 6px rgba(0,0,0,.16);
 }
 .evidence_item .item_head span {
	 font-size: 18px;
 }

 .evidence_item.item01 img {
	 width: 64px;
 }
 .evidence_item.item02 img {
	width: 54px;
}
.evidence_item.item03 img {
	width: 52px;
}
.evidence_item.item04 img {
	width: 34px;
}
.evidence_item.item05 img {
	width: 39px;
}

 @media screen and (min-width: 768px) {
	.evidence .section_image {
		margin: -100px 0 0;
		width: 50%;
	}

	.evidence_block {
		max-width: 710px;
		background-image: url(../../digital/img/bg_d-map_evidence_block_pc.png);
		background-position: 100% 70%;
		background-size: auto;
		height: 1430px;
	}

	.evidence_block::before {
		width: 386px;
		height: 294px;
		top: 530px;
		left: -50px;
	}

	.evidence_item {
		text-align: center;
		width: 350px;
	}

	.evidence_item.item01 {margin-bottom: -26px;}
	.evidence_item.item02 {margin-bottom: 122px;}
	.evidence_item.item03 {margin-bottom: 26px;}
	.evidence_item.item04 {margin-bottom: -20px;}

	.evidence_item figure{
		margin: 0 0 18px;
	}

	.evidence_item .item_txt {
		font-size: 18px;
	}
	.evidence_item .item_head {
		font-size: 20px;
		border-radius: 34px;
	}
	.evidence_item .item_head span {
		font-size: 30px;
	}

	.evidence_item.item01 img {
		width: 134px;
	}
	.evidence_item.item02 img {
	 width: 78px;
 }
 .evidence_item.item03 img {
	 width: 96px;
 }
 .evidence_item.item04 img {
	 width: 70px;
 }
 .evidence_item.item05 img {
	 width: 70px;
 }
}

@media screen and (min-width: 992px) {
	.evidence_block::before {
		left: -150px;
		top: 550px;
	}
}

  /*===================================================
 * 特徴
 *===================================================*/

 .feature_block {
	 width: 96%;
	 max-width: 700px;
	 margin: 0 auto 2rem;
	 background: #fff;
	 box-shadow: 10px 10px 10px rgba(84,194,241,.1);
	 border-radius: 20px;
	}

	.feature_head {
		border-bottom: 1px solid #23BAEF;
		color: #23BAEF;
		text-align: center;
		font-size: 20px;
		font-weight: bold;
		padding: 10px 15px;
	}

	.feature_txt {
		padding: 0 15px 10px;
	}

 @media screen and (min-width: 768px) {
	.feature {
		padding: 5rem 0;
	}
	.feature .title_left img {
		margin: -50px 0 0;
	}
 .feature .title_left img {
	 width: 60%;
 }
 .feature_head {
	font-size: 24px;
	padding: 30px 50px 10px;
}
.feature_txt {
	padding: 0 50px 30px;
}
 
}

 /*===================================================
 * 流れ
 *===================================================*/
.flow_block {
	max-width: 540px;
	width: 96%;
	margin: 0 auto;
}

.flow_item {
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.flow_item:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-top: 26px solid #23BAEF;
	border-left: 18px solid transparent;
	border-right: 18px solid transparent;
}


.flow_item .item_head {
	text-align: center;
	color: #fff;
	font-weight: bold;
	background: #014287;
	border-radius: 50px;
	font-size: 18px;
	position: relative;
	padding: 10px;
	margin-bottom: 10px;
}

.flow_item .item_head:after {
	position: absolute;
	content: '';
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 42px;
}

.flow_item.item01 .item_head:after {
	height: 34px;
	background-image: url(../../digital/img/i_d-map_flow_item01.png);
}
.flow_item.item02 .item_head:after {
	height: 35px;
	background-image: url(../../digital/img/i_d-map_flow_item02.png);
}
.flow_item.item03 .item_head:after {
	height: 35px;
	background-image: url(../../digital/img/i_d-map_flow_item03.png);
}
.flow_item.item04 .item_head:after {
	height: 29px;
	background-image: url(../../digital/img/i_d-map_flow_item04.png);
}
.flow_item.item05 .item_head:after {
	height: 35px;
	background-image: url(../../digital/img/i_d-map_flow_item05.png);
}
.flow_item.item06 .item_head:after {
	height: 29px;
	background-image: url(../../digital/img/i_d-map_flow_item06.png);
}
.flow_item.item07 .item_head:after {
	height: 38px;
	background-image: url(../../digital/img/i_d-map_flow_item07.png);
}
.flow_item.item08 .item_head:after {
	height: 48px;
	background-image: url(../../digital/img/i_d-map_flow_item08.png);
	width: 52px;
}
.flow_item.item09 .item_head:after {
	height: 35px;
	background-image: url(../../digital/img/i_d-map_flow_item09.png);
}

.flow_item .item_head span {
	position: absolute;
	top: 5px;
	left: 25px;
	font-size: 24px;
}

.flow_item:last-child .item_head {
	background: #33679F;
}

.flow_item:last-child:after {
	display: none;
}


 @media screen and (min-width: 576px) {
 .flow {
	padding: 5rem 0 0;
 }
}

@media screen and (min-width: 768px) {
	.flow {
		margin: 5rem auto 8rem;
	}

	.flow .section_image {
		width: 50%;
		margin-top: -75px;
	}

	.flow_item .item_head {
		font-size: 24px;
	}
	.flow_item .item_head span {
		font-size: 28px;
	}
	.flow_item {
		padding-bottom: 50px;
		margin-bottom: 40px;
	}
	.flow_item:after {
		border-top: 34px solid #23BAEF;
		border-left: 22px solid transparent;
		border-right: 22px solid transparent;
	}
	.flow_item .item_head span {
		top: 7px;
	}
}

/*===================================================
 * 分析
 *===================================================*/

 .analysis.bg_lightblue {
	padding-bottom: 5rem;
}

.analysis.bg_lightblue:after {
	display: none;
}

 .analysis .block_title {
	 font-size: 20px;
	 font-weight: bold;
 }
 .analysis .block_title img {
	height: 24px;
	margin: 0 15px 0 -20px;
	vertical-align: bottom;
}

 .analysis .block_title_blue {
	text-align: center;
	background: #014287;
	color: #fff;
	padding: 10px;
	border-radius: 30px;
	margin-bottom: 1.5rem;
 }

 .analysis_block {
	 border-radius: 25px;
	 box-shadow: 10px 10px 10px rgba(84,194,241,.1);
	 padding: 30px 20px;
	 background: #fff;
	 margin-bottom: 5rem;
 }

 .analysis_block figure {
	 max-width: 620px;
	 margin: 0 auto 1.75rem;
 }

 .analysis_block .table_s {
	max-width: 450px;
	margin: 0 auto 2rem;
 }

 .analysis_block table th {
	 font-weight: normal;
	 background: rgba(35,186,239,.15);
 }
 .analysis_block table th,
 .analysis_block table td {
	white-space: nowrap;
}

.analysis_block .box_border {
	border: 1px solid #000;
	max-width: 750px;
	margin: 0 auto 2rem;
	padding: 15px;
}

.analysis_block .arrow {
	text-align: center;
}

.analysis_block .arrow img {
	width: 62px;
}

.analysis_block .txt_radius {
	border-radius: 30px;
	max-width: 400px;
	margin: 0 auto 1.75rem;
	text-align: center;
	padding: 8px;
	font-size: 24px;
	font-weight: bold;
}

.analysis_block .txt_radius.blue {
	border: 2px solid #23BAEF;
	color: #23BAEF;
}
.analysis_block .txt_radius.orange {
	border: 2px solid #F29801;
	color: #F29801;
}

.analysis_block .txt_orange {
	color: #F29801;
}

.analysis_block li {
	border-bottom: 2px dotted #23BAEF;
	font-weight: bold;
	padding: 10px 5px 10px 45px;
	position: relative;
}

.analysis_block li:last-child {
	border-bottom: none;
}

.analysis_block li span {
	position: absolute;
	top: 10px;
	left: 5px;
	background: #23BAEF;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	height: 28px;
	width: 28px;
}

.analysis .section_image02 {
	display: flex;
	justify-content: flex-end;
	height: auto;
  align-items: flex-start;
}
.analysis .section_image02 img {
	max-width: 341px;
	width: 100%;
}



 @media screen and (min-width: 768px) {
	.analysis_block {
		margin-bottom: 7rem;
	}

	.analysis .block_title_blue {
		margin-bottom: 3rem;
	}
	.analysis .title_left img {
		width: 60%;
	}
	.analysis .title_left img {
		margin: -75px 0 0 ;
	}

	.analysis .block_title img {
		height: 32px;
	}

	.analysis .title_left .section_image {
		margin-bottom: 5rem;
	}

	.analysis .block_title {
		font-size: 24px;
	}
	.analysis .block_title_blue {
		font-size: 30px;
	}

	.analysis_block li {
		font-size: 20px;
		padding: 15px 50px 15px 235px;
	}
	.analysis_block li span {
		top: 16px;
		left: 180px;
		width: 36px;
		height: 36px;
	}
	.analysis_report {
		margin-top: -100px;
	}
 }

 @media screen and (min-width: 1200px) {
	.analysis .section_image02 {
		margin-right: -100px;
 }
}

/*===================================================
 * 問い合わせ
 *===================================================*/


.inquiry {
	background-image: url(../../digital/img/d-map_bg_inquiry.png);
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position-x: left;
	background-position-y: top;
	padding-top: 100px;
	margin-top: -50px;
	margin-bottom: 1rem;
}

.inquiry .inquiry_txt {
	color: white;
	font-weight: bold;
	text-align: center;
	font-size: 18px;
	margin-bottom: 50px;
}


.inquiry .container {
	max-width: 1000px;
}

.inquiry .row dl {
	font-weight: bold;
}

.inquiry .row dt {
	color: #fff;
	background: #014287;
	width: 100px;
	text-align: center;
	font-size: 20px;
	border-radius: 30px;
}
.inquiry .row dd {
	color: #014287;
	font-size: 24px;
	margin-bottom: 15px;
}

.inquiry .row1 figure {
	max-width: 317px;
	margin: auto;
}

.inquiry .row2 figure {
	max-width: 284px;
}
.inquiry .row2 figure img {
	transition: all .3s;
}
.inquiry .row2 figure img:hover {
	opacity: .7;
}

@media screen and (min-width: 576px) {
	.inquiry .inquiry_txt {
		font-size: 24px;
	}
}

@media screen and (min-width: 768px) {
	.inquiry {
		background-size: cover;
		padding-top: 150px;
		margin-top: -150px;
	}
	.inquiry .row1 {
		justify-content: center;
		flex-direction: row-reverse;
	}
	.inquiry .row1 figure {
		margin-right: 50px;
	}

	.inquiry .row dd {
		font-size: 30px;
	}

	.inquiry .row2 {
		justify-content: flex-end;
		align-items: flex-start;
	}

	.inquiry .row2 figure {
		margin: 0 30px 0 0 ;
	}
 }


/*===================================================
 * アニメーション
 *===================================================*/

 .mask_bg {
  color: transparent;
  display: inline-block;
  overflow: hidden;
  position: relative;
  transition: color 0ms 450ms;
}
.mask_bg::after {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(0, 100%);
}
 
.mask_bg.in {
  color: #000;
}
.mask_bg.in::after {
  animation: mask_bg .8s cubic-bezier(0.8, 0, 0.170, 1);
}
 
@keyframes mask_bg {
  0% {
    transform: translate(-100%, 0)
  }
  40%, 60% {
    transform: translate(0, 0%)
  }
  100% {
    transform: translate(100%, 0)
  }
}

.js_animation.zoomin {
	opacity: 0;
}

.js_animation.zoomin.in {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.fadein {
	opacity: 0;
}

.js_animation.fadein.in{
  animation: fadeIn 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.js_animation.section_image.fadein.in{
  animation: fadeIn 1.5s cubic-bezier(0.33, 1, 0.68, 1) .5s 1 forwards;
}
 
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.slidetop {
	opacity: 0;
}

.js_animation.slidetop.in {
  animation: slidetop 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes slidetop {
  0% {
    transform: translateY(-30px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.slidebottom {
	opacity: 0;
}

.js_animation.slidebottom.in {
  animation: slidetop 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes slidebottom {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

/*===================================================
 * pdfボタン
 *===================================================*/


.btn_list .btn_pdf {
	max-width: 300px;	
}
.btn_list .btn_pdf a {
	font-size: 16px;
}
@media screen and (min-width:768px) {
	.btn_list {
		display: flex;
		justify-content: center;
	}
	.btn_list .btn_pdf {
		margin: 0 15px;	
	}
}