
/***********************************************************************************************************************

solution.css

***********************************************************************************************************************/
.solution .wrapper{
	overflow: hidden;
}

.solution .contents{
	/*padding-top: 0;*/
}



/* sec *************************************************************/
.sec_hd{
	position: relative;
}

.sec_ttl{
	padding: 8% 0 0;
}
.ttl_wrap{
	padding: 3% 0 0;
}

.sec_block{
	padding: 12% 0 0;
}

.sec_solutionDeployment{
	position: relative;
	padding: 12% 0 0;
}

.sec_level02_ttl{

}

@media screen and (max-width: 639px) {
.sec_ttl{
	padding: 12% 0 0;
}
.sec_block{
	padding: 18% 0 0;
}
.sec_solutionDeployment{
	padding: 18% 0 0;
}
}




/* line *************************************************************/
.line01,
.textLine01,
.textLine02{
	position: absolute;
	transform: skewX(15deg); /*elements.cssで設定 animate付ける時は非表示*/
	mix-blend-mode: multiply;
}
.line01{
	top: -30%;
	left: -2%;
	width: 3.8%;
	height: 140%;
	background-color: rgba(20,39,77,0.1);
}

.textLine01{
	top: 50%;
	left: 50%;
	width: 20px;
	height: 80px;
	margin: -40px 0 0 -20px; /*-46px 0 0 -20px*/
	background-color: rgba(26,39,77,0.1);
}
.textLine02{
	top: 50%;
	left: 50%;
	width: 10px;
	height: 33px;
	margin: -59px 0 0 1px; /*-65px 0 0 1px*/
	background-color: rgba(120,152,203,0.7);
}


@media screen and (max-width: 639px) {
.line01{
	top: -30%;
	left: -2%;
	height: 140%;
}
.textLine01{
	width: 16px;
	height: 60px;
	margin: -31px 0 0 -18px; /*-36px 0 0 -18px*/
}
.textLine02{
	width: 7px;
	height: 23px;
	margin: -40px 0 0 1px; /*-45px 0 0 1px*/
}
}



/* h1〜 *************************************************************/
.h1_wrap{
	position: relative;
}
h1.h1_ttl{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 20px;
	font-size: clamp(12px, 3vw, 20px);
	color: #1a274d;
}
h1.h1_ttl .en_wrap{
	display: block;
}
h1.h1_ttl .en{
	font-family: 'Lato', sans-serif;
	font-weight: 600;
	font-size: 65px;
	font-size: clamp(30px, 6vw, 65px);
  display: inline-block;
background: linear-gradient(to right, #4653c2, #57b0ea);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}


h2.h2_ttl{
	font-weight: 600;
	font-size: 36px;
	font-size: clamp(22px, 3vw, 36px);
	line-height: 1.6em;
	margin-bottom: 2em;
	text-align: center;
}
h2.h2_ttl .en_wrap{
	display: block;
	margin-bottom: 0.2em;
	line-height: 1em;
}
h2.h2_ttl .en{
	font-family: 'Lato', sans-serif;
	font-weight: 600;
	font-size: 16px;
	font-size: clamp(12px, 3vw, 16px);
  display: inline-block;
background: linear-gradient(to right, #4653c2, #57b0ea);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.h3_wrap{
	position: relative;
	z-index: 2;
	text-align: center;
	margin: 0 auto 3em;
}

h3.h3_ttl{
	font-weight: 600;
	font-size: 28px;
	font-size: clamp(18px, 3vw, 28px);
	color: #1a274d;
	margin-bottom: 1.6em; /*0.8em*/
}


h3.h3_menu{
	position: relative;
	font-size: 26px;
	font-size: clamp(18px, 3vw, 26px);
	font-weight: 600;
	margin: 0 0 0.6em;
	padding: 30px 0 0;
}
h3.h3_menu:after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 2px;
	margin: 0;
	background: linear-gradient(to right, #4653c2, #57b0ea);
}

h3.h3_menu .en{
	display: block;
	font-family: 'Lato', sans-serif;
	font-weight: 600;
	font-size: 16px;
	font-size: clamp(13px, 3vw, 16px);
	margin-bottom: 10px;
}
h3.h3_menu .grade{
	display: inline-block;
	background: linear-gradient(to right, #4653c2, #57b0ea);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}


h4.h4_app{
	position: relative;
	font-weight: 600;
	font-size: 22px;
	font-size: clamp(17px, 3vw, 22px);
	padding: 0 0 0 40px;
	margin-bottom: 0.5em;
}
h4.h4_app:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background: url("/common/img/icon_app.svg") top left no-repeat;
	background-size: contain;
}


h5.h5_point{
	font-family: 'Lato', sans-serif;
	font-weight: 600;
	font-size: 22px;
	font-size: clamp(16px, 3vw, 22px);
	display: inline-block;
background: linear-gradient(to right, #4653c2, #57b0ea);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 0.4em;
}

h4.h4_function{
	font-weight: 600;
	font-size: 20px;
	font-size: clamp(16px, 3vw, 20px);
	margin-bottom: 0.5em;
}

.align_c_l{
	text-align: center;
}

@media screen and (max-width: 767px) {
h2.h2_ttl{
	margin-bottom: 1em;
}
.align_c_l{
	text-align: left;
}
.align_c_l .resp_autowrap{
	display: inline;
}
}




/* detail *************************************************************/
i.icon_detail{
	display: block;
	width: 40%;
	max-width: 140px;
	margin: 0 auto;
}

dl.detail_wrap{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	padding-top: 8%;
}

dl.detail_wrap dt{
	width: calc(100% - 610px);
}
dl.detail_wrap dt p{
	text-align: justify;
}

dl.detail_wrap dd{
	width: 570px;
}


@media screen and (max-width: 1023px) {
dl.detail_wrap dt{
	width: calc(100% - 440px);
}
dl.detail_wrap dd{
	width: 420px;
}
}


@media screen and (max-width: 850px) {
dl.detail_wrap{
	padding-top: 13%;
}
dl.detail_wrap dt{
	width: 100%;
	order: 1;
}
dl.detail_wrap dd{
	width: 100%;
	order: 2;
	margin: 30px 0 0;
}
}




/* list_point *************************************************************/
.point_wrap{
	margin: 5% 0 0;
}
.list_point{
	border-top: 1px solid #ccc;
}
.list_point li{
	font-weight: 500;
	font-size: 14px;
	font-size: clamp(12px, 3vw, 14px);
	line-height: 1.8em;
	padding: 15px 0;
	border-bottom: 1px solid #ccc;
}


@media screen and (max-width: 767px) {
.list_point li{
	padding: 10px 0;
}
}




/* solutionDeployment *************************************************************/
.solutionDeployment{
	padding: 3% 0 0;
}
.solutionDeployment .only_sp{
	display: none;
}


@media screen and (max-width: 767px) {
.solutionDeployment{
	padding: 6% 0 0;
}

.solutionDeployment .only_sp{
	display: block;
	margin-bottom: 5px;
}

.solutionDeployment figure{
	padding-bottom: 15px;
	overflow-x: auto;  /* 横スクロールの指定 */
  white-space: nowrap;  /* 横スクロールの指定 */
  overflow-scrolling: touch;  /* スクロールを滑らかにする */
  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
}
.solutionDeployment figure img{
	width: 800px;
	max-width: 800px;
	height: auto;
}
}




/************************************************************************************************


Power Platform


************************************************************************************************/
.task_wrap{
	padding: 20px;
	background-color: #f2f2f2;
	border-radius: 10px;
	margin: 2% 0;
}
h6.h6_task{
	font-weight: 500;
	font-size: 18px;
	font-size: clamp(16px, 3vw, 18px);
	color: #666;
	margin-bottom: 0.8em;
}
p.p_task{
	font-size: 14px;
	font-size: clamp(12px, 3vw, 14px);
	line-height: 1.6em;
	color: #666;
	padding: 0;
	margin: 6px 0;
}




/************************************************************************************************


Microsoft 365コラボレーション


************************************************************************************************/
dl.collab_box{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}

dl.collab_box dt{
	width: calc(100% - 360px);
}
dl.collab_box dd{
	width: 300px;
	padding: 20px;
	background-color: rgba(97,136,188,0.07);
}

h6.h6_collab{
	font-weight: 500;
	font-size: 18px;
	font-size: clamp(16px, 3vw, 18px);
	margin-bottom: 0.8em;
}

dl.collab_box dd ul{
}
dl.collab_box dd ul li{
	font-size: 14px;
	font-size: clamp(12px, 3vw, 14px);
	line-height: 1.6em;
	padding: 0;
	margin: 6px 0;
}

@media screen and (max-width: 767px) {
dl.collab_box dt{
	width: 100%;
}
dl.collab_box dd{
	width: 100%;
}
}




/************************************************************************************************


ノーツマイグレーション


************************************************************************************************/
.migration_wrap{
	margin: 5% 0 0;
}


.list_migration{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	width: 100%;
	max-width: 900px;
	margin: 0 auto 4%;
}
.list_migration > li.migration_problem,
.list_migration > li.migration_resolution{
	width: calc(46.6666667% - 8px);
	border: 4px solid rgba(92,156,188,0.2);
	border-radius: 10px;
}
.list_migration > li.migration_problem{
	border-color: #e5e5e5;
}

.list_migration > li.arrow{
	position: relative;
}
.list_migration > li.arrow:after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -10px 0 0 -10px;
	width: 10px;
	height: 10px;
	border-bottom: 3px solid #4653c2;
	border-right: 3px solid #4653c2;
	transform: rotate(-45deg);
}

.list_migration .inner{
	margin: 20px;
}

h4.h4_resolution{
	font-weight: 500;
	font-size: 16px;
	font-size: clamp(12px, 2.8vw, 16px);
	color: #1a274d;
	text-align: center;
}
h4.h4_resolution .big{
	display: block;
	font-weight: 600;
	font-size: 24px;
	font-size: clamp(17px, 3vw, 24px);
	margin-top: 5px;
}
h4.h4_resolution .grade{
	display: inline-block;
	background: linear-gradient(to right, #4653c2, #57b0ea);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

p.problem_ttl{
	font-weight: 500;
	font-size: 18px;
	font-size: clamp(13px, 3vw, 18px);
	color: #666;
	text-align: center;
}


.list_migration li ul{
	margin: 20px 0 0;
}
.list_migration li ul li{
	position: relative;
	font-size: 12px;
	margin: 4px 0;
	padding-left: 10px;
}
.list_migration li.migration_problem ul li{
	color: #666;
}

.list_migration li ul li:before{
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50% 50%;
	background-color: #000;
}
.list_migration li.migration_problem ul li:before{
	background-color: #666;
}



@media screen and (max-width: 639px) {
.list_migration{
	margin: 0 auto 10%;
}
.list_migration > li.migration_problem,
.list_migration > li.migration_resolution{
	width: calc(90% - 8px);
	margin: 0 auto;
}

.list_migration > li.arrow{
	width: 100%;
	height: 34px;	
}
.list_migration > li.arrow:after{
	transform: rotate(45deg);
}
p.problem_ttl{
	padding: 0;
	margin: 0;
}
}


/* migration_howto *************************************************************/
dl.migration_howto{
	position: relative;
}
dl.migration_howto:after{
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	left: 40px;
	width: 6px;
	height: 100%;
	margin-left: -3px;
	border-left: 6px dotted rgba(97,156,188,0.3);
}

dl.migration_howto dt{
	position: relative;
	z-index: 1;
	margin: 40px 0 0;
}
dl.migration_howto dd{
	margin: 20px 0 0 150px;
	padding: 5px 20px 20px;
	background-color: rgba(97,156,188,0.07);
}

dl.migration_howto .phase{
	position: relative;
	display: inline-block;
	width: 80px;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 10px;
	color: #fff;
	text-align: center;
}
dl.migration_howto .phase .num{
	font-weight: 600;
	font-size: 300%;
	display: block;
	padding-top: 11px;
}
dl.migration_howto .phase:after{
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	 background: rgb(70,83,194);
background: linear-gradient(90deg, rgba(70,83,194,1) 0%, rgba(87,176,234,1) 100%); 
}

dl.migration_howto h5.h5_howto{
	position: relative;
	top: -10px;
	display: inline-block;
	font-weight: 600;
	font-size: 24px;
	font-size: clamp(18px, 3vw, 24px);
	color: #1a274d;
	margin: 0 0 0 20px;
}
dl.migration_howto h6.h6_howto{
	font-weight: 600;
	font-size: 18px;
	font-size: clamp(16px, 3vw, 18px);
	color: #1a274d;
	margin: 15px 0 5px;
}
dl.migration_howto p{
	font-size: 14px;
	font-size: clamp(12px, 3vw, 14px);
	padding: 0;
	margin: 0;
}



@media screen and (max-width: 639px) {
dl.migration_howto:after{
	left: 30px;
	width: 4px;
	margin-left: -2px;
	border-left-width: 4px;
}
dl.migration_howto dd{
	margin-left: 65px;
}

dl.migration_howto .phase{
	width: 60px;
}
dl.migration_howto .phase .num{
	font-size: 200%;
	padding-top: 8px;
}
dl.migration_howto .phase:after{
	width: 60px;
	height: 60px;
}

dl.migration_howto h5.h5_howto{
	top: -8px;
	margin: 0 0 0 10px;
}
}








/************************************************************************************************


SharePoint Online


************************************************************************************************/
.spo_box{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	align-items: center;
}
.spo_box dt{
	width: 51.6666667%;
}
.spo_box dd{
	width: 41.6666667%;
}

@media screen and (max-width: 939px) {
.spo_box dt{
	order: 2;
	width: 100%;
}
.spo_box dd{
	order: 1;
	width: 80%;
	max-width: 400px;
	margin: 0 auto 20px;
}
}


/* float_spo *************************************************************/
.float_spo{
	margin: 30px 0 0;
	border-top: 1px solid #ccc;
}
.float_spo tr{
	border-bottom: 1px solid #ccc;
}

.float_spo th{
	width: 230px;
	padding: 20px 20px 20px 0;
	font-weight: 500;
	font-size: 22px;
	font-size: clamp(16px, 3vw, 18px);
	text-align: left;
}

.float_spo td{
	font-size: 14px;
	font-size: clamp(12px, 3vw, 14px);
	line-height: 1.8em;
	padding: 20px 0;
	vertical-align: top;
}

.float_spo td.see{
	width: 140px;
}


@media screen and (max-width: 767px) {
.float_spo th{
	display: block;
	width: auto;
	padding: 20px 0 0;
}
.float_spo td{
	display: block;
	width: auto;
	padding: 10px 0 0;
}
.float_spo td.see{
	width: auto;
	padding: 10px 0 20px;
}
}


/* btn_cpo_detail *************************************************************/
.btn_cpo_detail{
	position: relative;
	margin-left: auto;
	width: 120px;
	height: 40px;
	line-height: 40px;
	font-size: 13px;
	text-align: center;
	border: 2px solid #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	 background: rgb(100,222,176);
background: linear-gradient(90deg, rgba(100,222,176,1) 0%, rgba(55,135,150,1) 100%); 
}
.btn_cpo_detail a{
	display: block;
	position: relative;
	z-index: 1;
	color: #fff;
}

.btn_cpo_detail:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	 background: rgb(55,135,150);
background: linear-gradient(90deg, rgba(55,135,150,1) 0%, rgba(100,222,176,1) 100%); 
	transition: all .3s linear;
}
.btn_cpo_detail:hover:before{
	opacity: 0;
}





/************************************************************************************************


WST Azure Solution


************************************************************************************************/

.spo_resolution{
	margin: 3% 0 0;
}
.spo_resolution .pc{ }
.spo_resolution .sp{ display: none;}

@media screen and (max-width: 767px) {
.spo_resolution{
	width: 100%;
	max-width: 400px;
	margin: 8% auto 0;
}
.spo_resolution .pc{ display: none;}
.spo_resolution .sp{ display: block;}
}




/* wso_wrap *************************************************************/
.wso_wrap{
	padding: 3% 0 0;
}
.wso_wrap .only_sp{
	display: none;
}


@media screen and (max-width: 767px) {
.wso_wrap{
	padding: 6% 0 0;
}

.wso_wrap .only_sp{
	display: block;
	margin-bottom: 5px;
}

.wso_wrap figure{
	padding-bottom: 15px;
	overflow-x: auto;  /* 横スクロールの指定 */
  white-space: nowrap;  /* 横スクロールの指定 */
  overflow-scrolling: touch;  /* スクロールを滑らかにする */
  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
}
.wso_wrap figure img{
	width: 800px;
	max-width: 800px;
	height: auto;
}
}

