@charset "utf-8";
/* CSS Document */

/*-------------------------------------------------------------
 *
 *						style_corp.css
 *
 *-------------------------------------------------------------*/
	/* ---------- ---------- ---------- ---------- ----------
	 *					common
	 * ---------- ---------- ---------- ---------- ---------- */
	 	/*	main contents	*/
			#mainContents					{ max-width:1100px; padding:40px 0 140px; margin: 0 auto; }
	 	/*	contentsBox	*/
			.contentsBox					{ overflow: hidden; }


		 /*	category image	*/
			#category div					{ width:100%; margin:0; overflow:hidden; position: relative; }
			#category p						{ color: #969fb3; position: absolute; bottom: 16px; right: 10%; font-family:'Arial', sans-serif; font-size: 26px; font-style: italic; text-align: right; line-height: 1.2; }

			
		/*	pan navi	*/
			#panNavi 						{ max-width:1100px; margin:0 auto; padding-top:10px; font-size:88%; padding-bottom: 34px; }
			#panNavi li						{ padding:0 15px 0 0; line-height:24px; }
			#panNavi li:before				{ content: '>'; margin:0 15px 0 0; }
			#panNavi li:first-child:before	{ content: ''; margin:0px; }

		/* setMenu */
			.setMenu						{ clear: both; }
			.setMenu div					{ max-width: 1100px; margin: 0 auto; padding: 52px 0; }
			.setMenu ul						{ margin-left: -20px;display: flex; }
			.setMenu li						{ width: calc(33.33333% - 20px); /*width: -webkit-calc(100% - 20px / 3);*/ margin-bottom: 20px; margin-left: 20px; }
			.setMenu li.btnArea a			{ max-width: 100%; background: transparent; }
			.setMenu li.btnArea a:hover,
			.setMenu li.btnArea a.menuOn	{ background: #e4eaf6; }
			.setMenu ul li:first-child		{ width: 100%; font-weight: bold; text-align: center; font-size: 16px; color: #000; }
			/*.setMenu ul li:first-child a	{ color: #000; background: transparent; border: none; padding: 0; }

		/* subTitle */
			.subTitle01						{ font-size: 18px; color: #000; font-weight: bold; padding-bottom: 4px; border-style:solid; border-color:#dee4eb; border-width: 0 0 2px 0; width:100%; margin-bottom: 25px; }
			.subTitle01Set					{ margin-bottom: 75px; line-height: 26px; }
			.subTitle01Set:last-child		{ margin-bottom: 0; }

			.solBox h3,	.mapList h3,
			.worksList h3,.worksDetails h3,
			.event_seminarReport h3,
			.solList h3,
			.solTitle .bgArea03 h3			{ position: relative; display: inline-block; margin-bottom: 1em; }
			.solBox h3::before,
			.mapList h3::before,
			.worksList h3::before,
			.worksDetails h3::before,
			.event_seminarReport h3::before,
			.solList h3::before,
			.solTitle .bgArea03 h3::before	{ content: ""; position: absolute; bottom: -15px; display: inline-block; width: 97px; height: 2px; left: 0; background-color: #004998; }
			.worksDetails h3::before		{ width: 150px; }

			
		/* pageLink */
			.pageLink						{ padding-top: 100px; margin-top: -100px; }
		
	/* ---------- ---------- ---------- ---------- ----------
	 *						company
	 * ---------- ---------- ---------- ---------- ---------- */
		/* index */
			.movArea						{ max-height: 500px; }
			.movArea img					{ position: absolute; z-index: 1; }
			.photoWrap						{ position: relative; overflow: hidden; width: 1100px; height: 500px; }
			.photoWrap video				{ position: absolute; top: 53%; left: 51%; transform: translate(-50%, -50%); width: auto; }

			.indexArea						{ max-width: 900px; margin: 0 auto; margin-top: 100px; }
			.indexArea dl					{ justify-content: center; }
			.indexArea dd					{ font-size: 28px; line-height: 1.4; margin-left: 30px; }
			
			.indexArea ul					{ justify-content: space-between; margin-top: 40px; }
			.indexArea a					{ display: block; text-decoration: none; }
			.indexArea a:hover				{ opacity: 0.8; }
			.indexArea span					{ display: block; margin-top: 10px; font-size: 120%; }
			
			.indexBtnArea					{ margin-top: 63px; }
			.indexBtnArea.setMenu ul li:first-child	{ width: calc(33.33333% - 20px); font-weight: normal; font-size: 100%; }

			.comGuide.setMenu ul			{ justify-content: center; }
			.comGuide.setMenu li			{ width: auto; }
		

	 	/* greeting*/
			.greeting p.left				{ min-width: 323px; }
			.greeting div.left				{ max-width: 777px; box-sizing: border-box; padding-left: 6%; }
			.greeting div.left p			{ margin-bottom: 26px; }
			.greeting div.left p.textRight	{ padding-top: 24px; }

		/* compliance */
			.compliance div					{ margin-bottom: 75px; }
			.compliance div:last-child		{ margin-bottom: 0; }
            
            .dx ul, .dx li                  { display: block; list-style: none; padding-left: 1em; text-indent: -1em;  }


		/*	certification	*/
			.certificationBox				{ margin-bottom: 150px; }
			.certificationBox .marB80 		{ margin-bottom: 80px; }

			.certificationBox:last-child	{ margin-bottom: 0; }

			.certificationBtnArea 			{ margin-bottom: 125px; }
			.certificationBtnArea li		{ width: 25%; margin-bottom: 15px; }

			.certificationBox h2			{ font-size: 24px; margin-bottom: 30px; }
			.certificationBox div			{ margin-bottom: 30px; }
			#privacy.certificationBox div	{ margin-bottom: 40px; }


			.certificationBox .setIso		{ max-width: 900px; margin: 60px auto; }
			.setIso > p						{ margin:0 0 10px !important; color: #000; }	
			.boxText.corp .setImg			{ padding:40px 0 0; text-align:center; }
				
			.tblIso							{ display:flex; flex-direction:row-reverse;  margin:0 0 40px; }
			.tblIso p						{ border:2px solid #dee4eb; border-left:0; padding-top:85px !important; margin:0 !important; text-align: center; }
			.tblIso p span					{ display:block; }
			
			.tblIso.size1 p					{ width:190px; padding: 0 25px 25px 25px; box-sizing: content-box; }
			.tblIso.size1 table				{ margin:0px !important; width: calc(100% - 190px); }
			@media all and (-ms-high-contrast: none) {
				.tblIso.size1 table,
                .tblDx.size1 table			{ width: calc(100% - 230px); }
			}
			.tblIso.size1 table	tr			{ border: 2px solid #dee4eb; }
			.tblIso.size1 table	th			{ background: #f9f9fa; width: 200px; border-right: 2px solid #dee4eb; }

			.tblIso.size2					{ margin-bottom: 20px; }

			.boxPriv						{ margin:0 0 35px; }
			.boxPriv:last-child				{ margin-bottom: 0; }
			.certificationBox .setPriv		{ max-width: 900px; margin: 20px auto; }
			.certificationBox .setPriv tr	{ border: 2px solid #dee4eb; }
			.certificationBox .setPriv th	{ background: #f9f9fa; border-right: 2px solid #dee4eb; }
			.certificationBox .setPriv td	{ border-width: 0 2px 2px 0; }

			.certificationBox .boxPriv_flex	{ display: flex; }
			.certificationBox .boxPriv_flex	dl	{ margin-right: 140px; }

            .certificationBox .setDx        { max-width: 900px; margin: 60px auto; }
            .tblDx							{ display:flex; flex-direction:row-reverse;  margin:0 0 40px; }
			.tblDx p						{ border:2px solid #dee4eb; border-left:0; /*padding-top:85px !important; margin:0 !important;*/ text-align: center; }
			.tblDx p span					{ display:block; }
			
			.tblDx.size1 p					{ width:190px; /*padding: 0 25px 25px 25px;*/ padding: 25px; box-sizing: content-box; position: relative; }

            .tblDx.size1 p img              { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

			.tblDx.size1 table				{ margin:0px !important; width: calc(100% - 190px); }

            .tblDx.size1 table	tr			{ border: 2px solid #dee4eb; }
			.tblDx.size1 table	th			{ background: #f9f9fa; width: 200px; border-right: 2px solid #dee4eb; }


		/* concept */
			.conceptArea					{ background: #f9f9fa; padding: 70px 0 30px; display: flex; flex-wrap: wrap; position: relative; }
			.conceptArea .fontStyle			{ font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }
			.conceptArea > div:first-child	{ width: 380px; box-sizing: border-box; padding: 0 0 0 95px; color: #003067; }
			.conceptArea div:first-child p	{ width: 100%; text-align: center; }

			.conceptArea > div:first-child h2	{ font-size: 46px; font-weight: normal; }
			.conceptArea > div:first-child h1	{ font-size: 70px; font-weight: normal; line-height: 0.9; margin-bottom: 15px; }
			.conceptArea div:first-child div p	{ font-size: 76%; text-align: left; }

			.conceptArea > div:nth-child(2)	{ width: 605px; box-sizing: border-box; padding: 0 0 0 75px; }
			.caption						{ font-size: 30px; margin-bottom: 4px; }
			.conceptArea > div:nth-child(2) > div { margin-bottom: 35px; }
			.caption.blue					{ color: #0083d3; }
			.caption.green					{ color: #00b27f; }
			.caption.pink					{ color: #d86cc1; }

			.conceptArea > div:nth-child(3) { position: absolute; bottom: 30px; right: 30px; }

		/* sdgs */
			.sdgs p.sdgs01					{ margin: 45px 0 70px; }
			.sdgsIndexArea					{ display: flex; flex-wrap: wrap; justify-content: space-between; }

			.sdgsIndexArea .item 			{ width: 32%; padding: 30px 0; display: flex; box-sizing: border-box; }
			.sdgsIndexArea .item div		{ margin-left: 25px; }
			.sdgsIndexArea .item div p		{ font-weight: bold; margin-left: -14px; }
			.sdgsIndexArea .item div p:last-child	{ margin-top: 15px; }
			.sdgsIndexArea .item div p:first-child	{ margin-top: 0; line-height: 1.6; margin-bottom: 4px; }

			.item.sdgsIndex3 p				{ color: #1b973a; }
			.item.sdgsIndex4 p				{ color: #c40f28; }
			.item.sdgsIndex5 p				{ color: #e83417; }
			.item.sdgsIndex7 p				{ color: #fabd02; }
			.item.sdgsIndex8 p				{ color: #970b31; }
			.item.sdgsIndex9 p				{ color: #ec6b08; }
			.item.sdgsIndex11 p				{ color: #f5a20b; }


        /* download */
            .tblDl                          { border-collapse: collapse; }
            .tblDl tr                       { border: 2px solid #dee4eb; }
            .tblDl tr > *                   { padding: 15px 15px 15px 20px; box-sizing: border-box; }
            .tblDl th                       { background: #f9f9fa; border-right: 2px solid #dee4eb; }
            .tblDl td > *                   { float: left; }
            .tblDl div                      { margin: 0 20px 0 0; }
				
	/* ----------	支店情報	---------- */
			.mapBox							{ position:relative; width:1100px; margin:0 auto 20px; background: #f9f9fa; }
			.mapBox	h3						{ color: #000; position: absolute; top:28px; left: 30px; }
			.mapBox > div					{ position:absolute; }
			.mapBox p a						{ font-weight:bold; font-size: 18px; margin-bottom: 5px; }
			.mapBox a						{ display: block; font-size: 15px; text-decoration: none; }
			.mapBox a:hover					{ opacity: 0.8; }
			.mapLink section				{ line-height: 1.7; }
			
			.map01 ,
			.mapBox p a.map01:hover			{ color:#f08c33; }
			.mapLink.map01					{ top: 50px; right: 140px; }
			
			.map02,
			.mapBox p a.map02:hover			{ color: #e8615a; }
			.mapLink.map02					{ top:345px; right: 60px; }

			.map03,
			.mapBox p a.map03:hover			{ color: #923151; }
			.mapLink.map03					{ top: 98px; left: 310px; }

			.map04,
			.mapBox p a.map04:hover			{ color: #003d90; }
			.mapLink.map04					{ bottom: 35px; left: 465px; }

			.map05,
			.mapBox p a.map05:hover			{ color: #007bc6; }
			.mapLink.map05					{ bottom: 36px; right: 742px; }

			.map06,
			.mapBox p a.map06:hover			{ color: #009c79; }
			.mapLink.map06					{ top: 98px; left: 120px; }

			.map42,
			.mapBox p a.map42:hover			{ color: #003067; }
			.mapLink.map42					{ right: 73px; bottom: 63px; }

			/*拠点一覧の位置関係を基にしてz-indexを考える*/
			#map01							{ z-index:49; }
			#map02							{ z-index:48; }
			#map03							{ z-index:47; }
			#map04							{ z-index:46; }
			#map05							{ z-index:45; }
			#map06							{ z-index:44; }
			#map07							{ z-index:49; }
			#map08							{ z-index:30; }
			#map09							{ z-index:29; }
			#map10							{ z-index:28; }
			#map11							{ z-index:27; }
			#map12							{ z-index:25; }
			#map13							{ z-index:35; }
			#map14							{ z-index:34; }
			#map15							{ z-index:37; }
			#map16							{ z-index:32; }
			#map17							{ z-index:39; }
			#map18							{ z-index:23; }
			#map19							{ z-index:22; }
			#map20							{ z-index:21; }
			#map21							{ z-index:20; }
			#map22							{ z-index:19; }
			#map23							{ z-index:18; }
			#map24							{ z-index:17; }
			#map25							{ z-index:16; }
			#map26							{ z-index:15; }
			#map27							{ z-index:14; }
			#map28							{ z-index:13; }
			#map29							{ z-index:12; }
			#map30							{ z-index:11; }
			#map31							{ z-index:10; }
			#map32							{ z-index:9; }
			#map33							{ z-index:8; }
			#map34							{ z-index:7; }
			#map35							{ z-index:6; }
			#map36							{ z-index:5; }
			#map37							{ z-index:4; }
			#map38							{ z-index:3; }
			#map39							{ z-index:2; }
			#map40							{ z-index:1; }
			#map41							{ z-index:0; }
			#map42							{ z-index:48; }
			#map43							{ z-index:43; }
			#map44							{ z-index:41; }
			#map45							{ z-index:40; }
			#map46							{ z-index:37; }
			#map47							{ z-index:36; }
			#map48							{ z-index:39; }
			#map49							{ z-index:26; }
			#map50							{ z-index:42; }
			#map51							{ z-index:38; }

			/* 拠点一覧 開発・導入実績 ソリューショントップ共通 */
			.mapList,
			.worksList,
			.solList						{ width: calc(1100px + 20px); margin:0 auto; display: flex; flex-wrap: wrap; }
			.solList.pageLink				{ margin: -100px auto 0; }
			.mapTitle						{ font-size: 18px; margin-bottom: 20px; margin-top: -60px; padding-top: 100px; }

			.mapList > div,
			.worksList > div,
			.solList > div					{ width:353px; margin-right:20px; margin-bottom:20px; position:relative; box-sizing: border-box; }
			.mapList a,
			.worksList a,
			.solList a					{ text-decoration: none; }
			.mapList section,
			.worksList section,
			.solList section				{ box-sizing:border-box; padding:35px 45px; transition: all .3s; }
			.mapList .pageLink				{ position: relative; }
			.mapList p						{ margin:30px 0; line-height: 23px; }
			.mapList .btnArea a				{ max-width: 90px; margin: 0 auto; }
			.mapList .btnArea a:hover		{ background-color: #004998; color: #fff; }
			
	/* ---------- ---------- ---------- ---------- ----------
	 *						works
	 * ---------- ---------- ---------- ---------- ---------- */
	 		.worksList section					{ padding: 20px 45px 50px; height: 385px; background-color: #fff; }
	 		.worksList section:hover,
			.solList a:hover						{ background: #def1fb; cursor: pointer; }
			.worksList p						{ margin-bottom: 38px; position: relative; }
			.workNew::before 					{ content: ""; top: 0; right: 0; border-bottom: 4em solid transparent; border-right: 4em solid #ffe100; position: absolute; z-index: 100; }
			.workNew::after 					{ content: "NEW"; display: block; top: 14px; transform: rotate(45deg); color: #000; right: 3px; position: absolute; z-index: 101; font-size: 11px; font-weight: bold; letter-spacing: 1px; }
			.worksList p img					{ width: 100%; }
			.worksList span,
			.worksDetails span					{ display: block; color: #000; font-weight: bold; font-size: 14px;  margin-bottom: 5px; }
			.worksList span::after,
			.worksDetails span::after			{ content: attr(data-works); margin-left: 10px; }
			.worksList h3						{ line-height: 1.5; }
			.worksList h3::after				{ content: attr(data-sama);/* margin-left: 10px;*/ }

			/* もっと見るボタン */
			.works button.btnArea				{ margin: 45px auto 0; clear: both; width: 260px; }


			/* worksDetails */
			.worksDetails						{ max-width: 725px; }
			.worksDetails h3					{ font-size: 26px; }
			.worksDetails h3::after				{ content: attr(data-sama); margin-left: 10px; }
			.worksDetails .mainImg				{ margin: 35px 0 55px; }
			.worksDetails div					{ margin-bottom: 70px; }
			.worksDetails div:last-child		{ margin-bottom: 0; }
			.worksDetails .btnArea a			{ margin: 0 auto; }
			.worksDetails .annotation			{ font-size: 90%; }

			.customerInfo						{ float: left; max-width: 296px; margin-left: 79px; font-size: 92%; }
			.customerInfo p						{ margin-bottom: 20px; }
			.customerInfo dl					{ margin-bottom: 30px; }
			.customerInfo dt					{ width: 30%; }
			.customerInfo dd					{ width: 70%; float: left; word-break: break-all; }
			.customerInfo.case08 dt				{ width: 35%; }
			.customerInfo.case08 dd				{ width: 65%; float: left; }

			.customerInfo .km2					{ position: relative; top:-8px; font-size: 80%; }

			/* works case04*/
			.w_case04							{ display: flex; justify-content: space-between; }

	/* ---------- ---------- ---------- ---------- ----------
	 *						event/seminar
	 * ---------- ---------- ---------- ---------- ---------- */
			/* 出展内容title */
			.planBlueBox_block				{ background: #000; color: #fff; font-size: 11px; padding: 4px 9px; width: 118px; box-sizing: border-box; text-align: center; }


			/* hover */
			.event_seminarNow section:hover,
			.event_seminarPlan section:hover		{ background: #def1fb; }
			.event_seminarNow section:hover	a,
			.event_seminarPlan section:hover a		{ color: #535d64; }

	
			.event_seminar .contentsBox > div	{ margin-bottom: 80px; }
			.event_seminar .contentsBox > div:last-child	{ margin-bottom: 0; }
			.event_seminarTitle					{ color: #000; font-size: 18px; font-weight: bold; margin-bottom: 20px; }
			.event_seminarSubTitle				{ color: #004998; font-size: 18px; font-weight: bold; margin-bottom: 20px; position: relative; }
			.event_seminar span					{ color: #000; margin-bottom: 10px; display: block; }


			/* event_seminarNow */
			.event_seminarNow					{ display: flex; width: calc(1100px + 30px); }
			.event_seminarNow section			{ border: 7px solid #d4e2f1; margin-right: 30px; box-sizing: border-box; width: calc(50% - 20px); position: relative; display: flex; }
			.event_seminarNow a					{ display: flex; padding: 23px 25px; position: relative; flex-direction: column; text-decoration: none; }
			@media all and (-ms-high-contrast: none) {
				.event_seminar .event_seminarNow a				{ margin: 0 1rem; width: 100%; }
			}

			.event_seminarNow .event_seminarSubTitle.reception::after	{ content: "申込み受付中"; color: #fff; background: #000; font-size: 11px; padding: 5px 14px; position: absolute; right: 0; }
			.event_seminarNow div				{ margin-bottom: 30px; flex-grow: 1; line-height: 23px; }
			.event_seminarNow .nowImg			{ text-align: center; }

			/* event_seminarPlan */
			.event_seminarPlan section			{ border: 1px solid #d4e2f1; box-sizing: border-box; padding: 30px; margin-bottom: 20px; overflow: hidden; }
			.event_seminarPlan section:last-child		{ margin-bottom: 0; }
			.event_seminarPlan section a		{ display: flex; justify-content: space-between; align-items: center; text-decoration: none; }
			.planImg							{ width: 370px; text-align: center; }

			
			/* event_seminarReport */
			.event_seminarReport section		{ background-color: #e8e9ec;  box-sizing: border-box; padding: 30px; margin-bottom: 20px; overflow: hidden; }
			.event_seminarReport section:hover	{ opacity: 0.8; }
			.event_seminarReport section a		{ display: flex; justify-content: space-between; text-decoration: none; }
			.event_seminarReport a:hover		{ color: #535d64 }

			.event_seminarReport section:last-child			{ margin-bottom: 0; }
			.event_seminarReport section p		{ font-size: 14px; color: #000; font-weight: bold; }
			.event_seminarReport h3							{ display: block; margin-bottom: 1.8em; }
			.event_seminarReport section div:first-child	{ width: 330px; position: relative; }
			.event_seminarReport section div:last-child		{ width: calc(100% - 360px); }
			.reportImg							{ position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); }

			/* recLink */
			.event_seminar .recLink img			{ margin-bottom: 15px; margin-left: auto; margin-right: auto; }
			.event_seminar .recLink img.pcDisp_767	{ display: inline-block; }
			.event_seminar .recLink a:hover img	{ opacity: 0.8; }

			/* イベントレポート */
			.reportDetails,
			.planDetails						{ max-width: 725px; }
			.reportDetails .btnArea a,
			.planDetails .btnArea a				{ margin: 80px auto 0; }
			.planDetails .btnArea.contact a		{ background: #000; color: #fff; margin-bottom: -60px; border: 1px solid #000; }
			.planDetails .btnArea.contact a:hover	{ opacity: 0.8; }

			#reportCaption						{ margin-bottom: 60px; }
			.reportDetails #reportCaption section		{ background-color: #e8e9ec;  box-sizing: border-box; padding: 40px 45px; margin-bottom: 20px; overflow: hidden; display: flex; }
			#reportCaption section p			{ font-size: 14px; color: #000; font-weight: bold; }
			#reportCaption section h3			{ font-size: 21px; margin-bottom: 30px; margin-top: 5px; line-height: 1.4; }
			#reportCaption section div:first-child	{ width: 240px; margin-right: 5%; position: relative; }
			#reportCaption section div:last-child	{ width: calc(100% - 240px); }
			#reportCaption .reportImg			{  text-align: center; }
			#reportCaption dt					{ width: 15%; }
			#reportCaption dd					{ width: 85%; float: left; }
			#reportCaption .w25 dt				{ width: 25%; }
			#reportCaption .w25 dd				{ width: 75%; float: left; }


			.reportList							{ margin-bottom: 45px; }
			.reportList .planBlueBox_block		{ margin-bottom: 15px; }
			.reportList ul						{ display: block; }

			.reportDetails article				{ margin-bottom: 70px; }
			.reportDetails article img			{ display: block; margin: 30px auto 0; }


			#reportInfo							{ float: left; max-width: 296px; margin-left: 79px; }
			#reportInfo div						{ box-sizing: border-box; padding: 30px 20px 25px; font-size: 12px; margin-bottom: 15px; background: #e8e9ec; }
			#reportInfo div a					{ text-decoration: none; }
			#reportInfo div:hover				{ opacity: 0.8; }
			#reportInfo div:hover > *			{ color: #535d64; }
			#reportInfo div:last-child			{ margin-bottom: 0; }
			#reportInfo div p					{ margin-bottom: 20px; text-align: center; }
			#reportInfo div h5					{ font-size: 14px; color: #000; }
			#reportInfo div span				{ font-size: 11px; }


		/* イベント・セミナー予定 */
			.planDetails .subTitle01.main.colBlue	{ color: #004998; font-size: 21px; margin-top: 0; }
			.planDetails span.colBlack				{ color: #000; display: block; margin-bottom: 26px; }
			.planDetails .planImg				{ margin: 46px auto 72px; }
			.planBlueBox						{ background: #004998; text-align: center; padding: 20px 10px; position: relative; margin-top: 112px; margin-bottom: 50px; }
			.planBlueBox > *					{ color: #fff; }
			.planBlueBox p						{ font-size: 21px; font-weight: bold; }
			.planBlueBox span					{ font-size: 15px; }
			.planBlueBox::before				{ content: attr(data-black); background: #000; color: #fff; position: absolute;  left: 0; top: 0; font-size: 11px; padding: 4px 9px; width: 118px; box-sizing: border-box; }
			.planDetails article				{ margin-bottom: 70px; }
			.planDetails article img			{ display: block; margin: 30px auto 0; }

			/* イベント・セミナー予定 case08　*/
			.case08 .planImg					{ width: auto; text-align: left; }
			.case08 .font21.colBlack			{ font-size: 21px; margin-top: 10px; }

			/* イベント・セミナー開催中 case04　case05*/
			.case04 .planImg,
			.case05 .planImg					{ width: auto; text-align: left; margin: 0 0 30px; }

			/* イベント・セミナー　レポート　case03 */
			.case03Box							{ margin-bottom: 60px; }
			.case03Box p.bold					{ color: #000; font-size: 16px; }

			/* イベント・セミナー　レポート　case02 */
			.case02_f14							{ font-size: 14px; margin-top: 8px; display: block; }

			#event_seminar_nowInfo				{ float: left; max-width: 296px; margin-left: 79px; }
			#event_seminar_nowInfo.event_seminarNow,
			#event_seminar_nowInfo.event_seminarNow section	{ display: block; width: 100%; }
			#event_seminar_nowInfo.event_seminarNow section	{ margin-right: 0; margin-bottom: 20px; }
			#event_seminar_nowInfo.event_seminarNow .event_seminarSubTitle	{ font-size: 15px; margin-bottom: 15px; line-height: 1.6; }
			#event_seminar_nowInfo.event_seminarNow span	{ color: #000; font-size: 12px; line-height: 2.5; }
			#event_seminar_nowInfo.event_seminarNow span.reception::after	{ content: "申込み受付中"; color: #fff; background: #000; font-size: 11px; padding: 1px 14px; display: inline-block; }
			#event_seminar_nowInfo.event_seminarNow.event_seminarNow div	{ margin-top: 20px; line-height: 21px; font-size: 13px; }

			/* case13 */
			.event_seminar_case13_box01 				{ display: flex; }
			.event_seminar_case13_box01 .event_seminar_case13_box01_Blue	{ background-color: #d4e2f1; padding: 15px 15px 15px 20px; }

			.event_seminar_case13_box02 table			{ background-color: #d4e2f1; }
			.event_seminar_case13_box02 table,
			.event_seminar_case13_box02 table th,
			.event_seminar_case13_box02 table tr,
			.event_seminar_case13_box02 table td		{ border: 2px solid #fff; }
			.event_seminar_case13_box02 table th		{ font-weight: normal; }
			.event_seminar_case13_box02 table .planBlueBox_block	{ margin-right: 10px; margin-bottom: 0; width: 95px; }
			.event_seminar_case13_box02 table td span	{ margin-bottom: 8px; display: inline-block; }

			/* event_seminar_case14_box01 */
			.event_seminar_case14_box01 .textCenter img	{ width: 100%; }
			.event_seminar_case14_box01 table th		{ width: 270px; }
			.event_seminar_case14_box01 table th a:hover{ opacity: 0.8; }


	/* ---------- ---------- ---------- ---------- ----------
	 *						TCS Advantage
	 * ---------- ---------- ---------- ---------- ---------- */
	 		.title_tcsAdvantage img			{ width: 100%; }
			.tcsAdTable,
			.tcsAdTable th,
			.tcsAdTable td 					{ border: none; }
			.tcsAdTable						{ margin: 100px 0 30px; }
			.tcsAdTable:last-child			{ margin-bottom: 0; }
			.tcsAdTable th					{ width: 145px; box-sizing: border-box; font-family: Arial, Helvetica, sans-serif; font-style: italic; font-size: 100px; color: #d6edfa; position: relative; }
			.tcsAdTable th span				{ position: absolute; top: -30px; }
			.tcsAdTable dl					{ display: block; overflow: hidden; }
			.tcsAdTable dt					{ max-width: 445px; float: left; }
			.tcsAdTable dt p.colBlue		{ font-size: 28px; letter-spacing: 2.5px; margin-bottom: 45px; }
			.tcsAdTable dt .caption			{ font-size: 17px; letter-spacing: 0.5px; }
			.tcsAdTable dt ul				{ margin-top: 35px; }
			.tcsAdTable dt li 				{ position: relative; padding: 0px 0px 0px 1em; margin-bottom: 23px; }
			.tcsAdTable dt li:last-child	{ margin-bottom: 0; }
			.tcsAdTable dt li::before 		{ position: absolute; top: 11px; left: 0px; transform: translateY(-50%); width: 0px; height: 0px; border: 0.3em solid transparent; border-left: 0.5em solid #004998; content: ""; }
			.tcsAdTable dd					{ float: right; max-width: 382px; }

			.bg_tcsAdvantage				{ background:url("./../tcs_advantage/images/bg_tcsAdvantage.gif") no-repeat left top; background-size: cover; padding: 26px 0 30px; text-align: center; clear: both; margin-top: 40px; }
			.bg_tcsAdvantage p				{ color: #fff; margin-bottom: 25px; }
			.bg_tcsAdvantage .btnArea a		{ margin: 0 auto; }

	/* ---------- ---------- ---------- ---------- ----------
	 *					recruit
	 * ---------- ---------- ---------- ---------- ---------- */

			.recruit .colBlue,
			.recInfo .colBlue				{ color: #003067; }
			.recInfo .recInfoSet .colBlue	{ color: #004998; }
			#recIndex						{ background:url("./../recruit/images/bg_recruit.gif") no-repeat left top; background-size: cover; /*padding: 80px 0 0;*/ clear: both; }

			#recIndex div					{ margin-bottom: 90px; }
			#recIndex div:last-child		{ margin-bottom: 0; }
			.recMov a:hover					{ opacity: 0.8; }
			#mainContents.recruit			{ padding: 40px 0 90px; }

			.recTop,
			#recIndex .recEntryArea,
			.recInfoBox						{ display: flex; justify-content: space-between; margin-bottom:90px; }
			.recTop .recMsg					{ max-width: 548px; width: 548px; font-size: 17px; }
			.recTop .recMsg h1				{ font-weight: normal; margin-bottom: 35px; font-size: 38px; line-height: 1.25; letter-spacing: 2px; }
			.recTitle 						{ font-size: 16px; font-weight: bold; line-height: 1.2; margin-bottom: 35px; }
			.recTitle span					{ font-family: Arial, Helvetica, sans-serif; font-style: italic; font-size: 66px; font-weight: bold; display: block; margin-left: -4px; }

			/* エントリー 採用イベント */
			.recEntryArea,
			.recInfoBox						{ overflow: hidden; }
			#recIndex .recEntryArea > div,
			.recInfoBox div.dlType05		{ width: 525px; max-width: 525px; margin-bottom: 0; box-sizing: border-box; }
			.recInfoBox div.dlType05 a		{ text-decoration: none; cursor: pointer; }
			.recInfoBox div.dlType05 a:hover{ opacity: 0.8; }
			.recEntryArea div p,
			.recInfoBox div p				{ color: #fff; width: 60%; text-align: center; font-size: 15px; padding-top: 5px; margin-bottom: -5px; }
			.recEntryArea .fresh p,
			.recInfoBox .fresh p			{ background: #8fbfff; }
			.recEntryArea .s_fresh p,
			.recInfoBox .s_fresh p			{ background: #004998; }

			/* 旧デザイン ~2021/07/31 */ 
			/*
			#recIndex .recEntryArea div div	{ border-width: 10px; border-style: solid; height: 500px;  display: flex; justify-content: center; align-items: center; margin-bottom: 0; }
			.recEntryArea .fresh div		{ border-color: #8fbfff; }
			.recEntryArea .s_fresh div		{ border-color: #004998; }
			.recEntryArea div div ul		{ display: block; }
			.recEntryArea div div ul li		{ margin-bottom: 30px; text-align: center; }
			.recEntryArea div div ul li:last-child	{ margin-bottom: 0; }*/

			#recIndex .recEntry div			{ margin-bottom: 0; }
			.recEntryArea ul li				{ margin-right: 20px; }
			.recEntryArea ul li:last-child	{ margin-right: 0; }
			.recEntryArea a:hover			{ opacity: 0.8; }

			.recEntry_msg					{ margin-bottom: 35px; }

			.recInfo						{ background:url("./../recruit/images/bg_recruit_bottom.png") no-repeat left bottom; background-size: cover; clear: both; }
			.recInfo .recInfoArea			{ max-width: 1100px; padding: 0 0 140px; margin: 0 auto; }
			
			.recEntryArea .fresh article,
			.recInfoBox .fresh article		{ border-top: 10px solid #8fbfff; }
			.recEntryArea .s_fresh article,
			.recInfoBox .s_fresh article	{ border-top: 10px solid #004998; }

			.recInfoSet	h5					{ color: #000; font-weight: bold; margin-top: 30px; font-size: 16px; margin-bottom: 4px; }
			
			/*	2023/03/23 */
			.recInfoSet .dlType05			{ padding:16px; }
			.recInfoSet .dlType05.bn		{ border:0px; padding:0; }
			.recInfoSet .dlType05.bn li		{ border:1px solid #dce7f4; padding:15px 10px; margin-right:8px; }

            .recInfoSet span                { color: red; display: inline-block; margin-top: 10px; /*padding-left: 1em; text-indent: -1em;*/ }
			
			/* video session */
			.videoSession video				{ width: 100%; }

			/* 新卒採用パンフレット */
			#recIndex .recTopics .freshpamphlet		{ padding: 0; margin-bottom: 50px; background-color: #8fbfff; width: 500px; }
			.recTopics .freshpamphlet a				{ display: block; text-decoration: none; letter-spacing: 0.5px; text-align: center; padding: 20px 50px 20px 20px; font-size: 17px; cursor: pointer; color: #fff; font-weight: bold; position: relative; }
			#recIndex .recTopics .freshpamphlet:hover{ opacity: 0.8; }
			
			#recIndex .recTopics .colorCareer		{ background-color: #004998; margin-left:30px; }
			.pamphletFlex							{ display:flex; }

            #recIndex .recTopics .colorRecMov		{ background-color: #0070c0; margin-left:30px; }

			.rec_video_play 						{ display: inline-block; position: absolute; width: 1em; height: 1em; border: 0.05em solid currentColor; border-radius: 50%; font-size: 50px; margin-left: 10px; left:150px; top:130px; color:#fff; }
			.rec_video_play::before 				{ position: absolute; top: 50%; left: 30%; transform: translateY(-50%); width: 0px; height: 0px; border: 0.3em solid transparent; border-left: 0.5em solid currentColor; box-sizing: border-box; content: ""; }
			
			/* 採用担当者長メッセージ */
			.picMsgArea								{ background:rgba(255,255,255,0.85); padding:50px; }
			
			.picMsgArea h3							{ font-size:130%; margin:0 0 30px; color:#003067; font-weight:bold; }
			
			.picMsg									{ display:flex; }
			.picMsg > div							{ width:60%; font-size:110%; line-height:30px; }
			.picMsg > div:nth-child(1)				{ width:40%; margin-right:5%; }
            #recIndex .picMsg > div:nth-child(1)    { margin-bottom: 0; }
			.picMsg img								{ width:100%; }
			
			/* 2023/12/07 レイアウト調整 */
			.dlType05.linkBtn01						{ width:47%; display:inline-block; margin-right:1%; line-height:20px; vertical-align:top; 
													  padding:0; min-height:40px; border:0px; background:none; }
			.dlType05.linkBtn01 a					{ text-decoration:none; font-weight:bold; display:block; width:auto; padding:16px 13px; }
			.dlType05.linkBtn01 span				{ font-size:78%; }
			.dlType05.linkBtn01.fr > div			{ border:1px solid #8fbfff; background:#fff; }
			.dlType05.linkBtn01.cr > div			{ border:1px solid #004998; background:#fff; }
			.dlType05.linkBtn01.fr a				{ color:#66a8ff; position:relative; }
			.dlType05.linkBtn01.cr a				{ color:#004998; position:relative; }
			
			.movOpen								{ position:relative; }
			.movOpen:hover .rec_video_play			{ color:#8fbfff; }
			
			.rec_video_play2 						{ display: inline-block; position: absolute; width: 1em; height: 1em; border: 0.05em solid currentColor; border-radius: 50%; font-size: 50px; margin-left: 10px; top:13px; color:#000; }
			.rec_video_play2::before 				{ position: absolute; top: 50%; left: 30%; transform: translateY(-50%); width: 0px; height: 0px; border: 0.3em solid transparent; border-left: 0.5em solid currentColor; box-sizing: border-box; content: ""; }
			.dlType05.linkBtn01.fr .rec_video_play2		{ color:#66a8ff; font-size:25px; }
			.dlType05.linkBtn01.cr .rec_video_play2		{ color:#004998; font-size:25px; }
			


	/* ---------- ---------- ---------- ---------- ----------
	 *						solution
	 * ---------- ---------- ---------- ---------- ---------- */
	 	/* solIndex topBusiness */
		 .solIndex .tabArea				{ width: 100vw; margin: 0 calc( 50% - 50vw ); }
		 .solIndex .resp-tabs-container	{ padding-bottom: 0; margin-bottom: 120px; }
		 .solList > div					{ text-align: left; }
		 .solList a						{ display: block; height: 100%; background: #fff; }
		 .solList h3					{ margin-bottom: 4.5em; line-height: 1.2; }
		 .solList #arcgis h3			{ margin-bottom: 6.5em; }
		 .solList h3 span				{ font-size: 11px }
		 .solList section				{ padding: 40px 39px; height: 100%; display: flex; flex-direction: column; }
		 .solList p						{ margin-bottom: 20px; line-height: 23px; }
		 .solList p.textCenter			{ margin-top: auto; margin-bottom: 0; }
		 .solList a:hover p				{ color: #535d64; }


		 .sol-item::before				{ content: attr(data-group); color: #004998; position: absolute; top: 95px; left: 39px; width: 271px; line-height: 1.5; font-size: 12px; }
		 .sol-item.lines2::before		{ top: 110px; }
	 
	 /*	solTitle	*/
		.solTitle						{ position: relative; display: flex; justify-content: flex-end; background: #003067; overflow: hidden; }
		/* }
		
		*/
		.solTitle .solTitleDetail		{ width: 100%; display: flex; justify-content: flex-end; }
		.solTitle .bgArea01			{ background: #003067; transform: skewX(-10deg); width: 15%; z-index: 10; margin-left: -130px; }
		.solTitle .bgArea02			{ background: #004998; transform: skewX(-10deg); box-sizing: border-box; width: 88%; margin-right: -34px; position: relative; }
		.solTitle .bgArea02 .titleBlue	{ transform: skewX(10deg); position: absolute; top:25%; left: 8%; color: #5ea8d6; }
		.solTitle h2					{ color: #fff; font-size: 32px; transform: skewX(10deg); position: absolute; top:37%; left: 9.9%; line-height: 1.4; letter-spacing: 2.5px; }

		/* type02 */
		.solTitle.type02				{ height: 300px; z-index: -3; }
		.solTitle.type02 .bgArea02		{ background: #fff; transform: skewX(-10deg); position: relative; z-index: 5; }
		.solTitle.type02 .bgArea02 p	{ position: absolute; top: 50%; left: 50%; transform:translate(-50%, -50%) skewX(10deg);  background: #fff; }
		.solTitle.type02 .bgArea02 p img { background: #fff; }
		.solTitle.type02 .bgArea03		{ background:url("./../solution/images/bgArea03.png") no-repeat right top; background-size: 100% 300px; display: flex; justify-content: center; align-items: center; width: 100%; margin-left: -15px; z-index: -2; }
		.solTitle.type02 .bgArea03 div	{ width: 60%; margin-left: -4%; }
		.solTitle.type02 .bgArea03 h3	{ font-size: 24px; z-index: -1; }
		.solTitle.type02 .bgArea03 h3 span	{ font-size: 14px; }

		.solTitle.type02 .bgArea03 p::before	{ content: attr(data-group); color: #004998; display: block; margin: 5px 0 20px; font-size: 13px; }
	


		 /* アニメーション　*/
		 .solTitle .solTitleDetail		{ animation: solTitleDetail 0.725s ease 0s 1 forwards; } 
		 @keyframes solTitleDetail {
			 0% 	{ transform: translateX(2000px); }
			 100% 	{ transform: translateX(0px); }
		   }

		  .solTitle							{ animation-name: solTitle; animation-duration: 1.0s; }

		  @keyframes solTitle {
			0% 		{ opacity: 0; }
			100% 	{ opacity: 1; }
		  }


	 /* solContents solBox */
		 .solContents					{ margin-top: 130px; }
		 .solContents:first-child					{ margin-top: 0; }
		 .solContents > div				{ display: flex; width: calc(100% + 80px); justify-content: space-between; line-height: 26px; }
		 .solContents > div.tableStyle	{ width: 100%; }	
		 .solBox						{ width: calc(49.6% - 80px); margin-right: 80px; margin-top: 20px;  }
		 .solBox:hover					{ background: #def1fb; }
		 .solBox a						{ display: block; box-sizing: border-box; padding: 40px 45px; }
		 .solBox:hover a				{ color: #535d64; }
		 .solBox p						{ margin-top: 35px; line-height: 26px; }



		 .solContents.threetype > div	{ width: calc(100% + 40px); }
		 .solContents.threetype .solBox	{ width: calc(49.6% - 40px); margin-right: 40px; }

	/* solPoint_style */
		.solPoint_style .span_point		{ transform: skewX(-10deg); background: #004998; font-size: 20px;font-family:'Arial', sans-serif; color: #fff; padding: 0 14px; line-height: 1.5; display: inline-block; margin-bottom: 5px; letter-spacing: 1px; }
		.solPoint_style .solBox			{ margin-bottom: 50px; }
		.solPoint_style .solBox:hover	{ background: none; }
		.solPoint_style h4				{ font-size: 30px; margin-bottom: -10px; line-height: 1.4; margin-top: 10px; }

		.solBox.width100p				{ width: 100%; text-align: center; margin-bottom: 70px; }
		.solBox.width100p p.msg			{ max-width: 800px; text-align: left; margin: 35px auto 0; }


	/* subTitle01Set */
		.subTitle01Set p.textCenter img	{ margin-top: 55px; }

	/* solFlexArea */
		.solFlexArea					{ display: flex; }
		.solFlexArea.width50p > *		{ width: 50%; box-sizing: border-box; }
		.solFlexArea .padding_l33		{ padding-left: 33px; }
		.solFlexArea .padding_l60		{ padding-left: 60px; }
		.solFlexArea .padding_l80		{ padding-left: 80px; }
		.solFlexArea .padding_l100		{ padding-left: 100px; }
		.solFlexArea.marB30				{ margin-bottom: 30px; width: 100%; }

	/* solTable01 */
		.solTable01						{ margin-top: 40px; }
		.solTable01,
		.solTable01 *					{ border-color: #fff; padding: 7px 12px; }
		.solTable01 th					{ background: #dbdfe6; border-width: 0 1px 1px 0; font-weight: normal; }
		.solTable01 td					{ background: #ebedf2;border-width: 0 1px 1px 0; }
		.solTable01.solTable02 tr:nth-child(odd)		{ background: #dbdfe6; }
		.solTable01.solTable02 tr:nth-child(odd) td		{ background: transparent; }
		.solTable01.solTable02.wid5 th	{ width: calc(100% / 5); }
		.solTable01 span.f12			{ font-size: 12px; }
		.width50p .solTable01			{ margin-top:0; }

		/*  tab03 case19 */
		.case19 .solTable01				{ margin-top: 8px;  }
		.case19 h5						{ margin-top: 40px; color: #000; }
		.case19 .solTable01 th:first-child	{ width: 46px; box-sizing: border-box; text-align: center; }
		.case19 .solTable01 th:nth-child(2)	{ width: 215px; box-sizing: border-box; }
		.case19 .solTable01 th:last-child	{ width: 839px; box-sizing: border-box; }
		.case19 .solTable01 td:first-child	{ text-align: center; }
		.case1902.solTable01 td				{ background: #ebedf2!important; }
		
		/* tab03 case29 */
		.solTable03	th					{ color: #000; background: #bed0e3; }
		.solTable03	th:first-child		{ width: 210px; box-sizing: border-box; }
		.solTable03	th:nth-child(2),
		.solTable03	th:nth-child(3),
		.solTable03	th:last-child		{ width: calc(890px / 3); box-sizing: border-box; }


	/* tab03 case01 */
		.case01List						{ background: #f9f9fa; display: flex; padding: 30px 0; margin-bottom: 120px; }
		.case01List dl					{ margin: 0 30px; }
		.case01List dt					{ width: 107px; margin: 0 auto 25px; color: #fff; font-weight: bold; font-size: 120%; line-height: 1.5; height: 107px; display: flex; justify-content: center; align-items: center; text-align: center; }
		.case01List dt.green			{ background: #54a143; }
		.case01List dt.red				{ background: #d12a27; }
		.case01List dt.blue				{ background: #3b6fc3; }
		.case01List dt.yellow			{ background: #fe9f27; }

	/* tab03 case13 */
		.solCase13_explanation			{ margin-top: 30px; display: inline-block; }

	/* tab03 case14 */
		.case14_firstMsg				{ margin: 20px 0; width: 100%!important; }

	/* tab03  case16 */
		.solCase16						{ font-size: 13px; margin-top: 20px; }
		
	/* tab03 case26 */
		.case26Development				{ margin-top: 110px; }

	/* tab03 case28 */
		.dlType03.solCase28				{ font-size: 13px; margin-top: 55px; }

	/* tab03  case21 */
		.solCase21						{ font-size: 13px; }

	/* tab03  case27*/
		.case27_secondMsg				{ margin-bottom: 50px; }

	/* tab03  case18*/
		.case18Area						{ position: relative; }
		.case18Area	span				{ position: absolute; bottom: 0; left: 60px; font-size: 13px; line-height: 1.672; }

	/* tab03  case33 */
		.solCase33						{ font-size: 13px; margin-top: 20px; }

	/* tab03 case34 */
		.solContents .case34Box			{ display: block; width: 100%; }
		.solContents .case34Box .solBox	{ width: 100%; margin-right: 0; }
	
	/* tab03 case35 */
		.solBox .case35flex				{ flex-wrap:nowrap; }
		.solBox .case35flex li			{ width:50%; line-height:1.6; }

		 
	 /* industry_task */
		.solCatch						{ margin-bottom: 60px; line-height: 26px; }
		.industry_task .problemArea		{ position: relative; }
		.industry_task .problemMsg		{ position: absolute; top: 50%; left: 50%; transform:translate(-50%, -50%); background: #fff; width: 440px; color: #000; font-size: 21px; padding: 30px 0; line-height: 1.9; }
		.industry_task .problemMsg h5	{ font-size: 14px; margin-bottom: 15px; }

	/* partnerArea */
		#partnerArea					{ display: flex; justify-content: space-around; width: 1100px; margin: 0 auto; padding: 30px 0; color: #000; font-size: 13px; }
		/*#partnerArea p					{ margin-bottom: 15px; }*/

	/* kanrenArea */
		.kanrenArea						{ margin-top: 120px; margin-bottom: -100px; }

	/* service_products */
		#service_products				{ background: #d6d8dd; padding-top: 60px; padding-bottom: 50px; }
		


	/* ---------- ---------- ---------- ---------- ----------
	 *						other
	 * ---------- ---------- ---------- ---------- ---------- */
		
		/*	privacy	*/
			.privacy th:nth-child(1)		{ width:25px; }
			.privacy th:nth-child(2)		{ width:300px; }
			.privacy th:nth-child(3)		{ width:500px; }
			
			.boxText .boxPriv p				{ font-weight:bold; margin:0 0 10px; }
		
		/*	mail	*/
			.setMail img					{ position:relative; top:3px; }

		/* satemap */
			.subTitle01						{ margin-top: 50px; }
			.subTitle01.home				{ margin-top: 0; }
			.subTitle01 a					{ color: #000; }
		    .saitemapArea 					{ display: flex; justify-content: space-between; }
		    .saitemapArea div				{ min-width: 510px; }
		   	.sitemap .marT50				{ margin-top: 50px; }


/*-------------------------------------------------------------
 *
 *						style_corp.css(ver.SP)
 *
 *-------------------------------------------------------------*/

	@media screen and ( max-width:1150px ) {
		/* ---------- ---------- ---------- ---------- ----------
		 *					common
		 * ---------- ---------- ---------- ---------- ---------- */
			/*	pan navi	*/
			#panNavi 					{ margin:0 20px; width:auto; padding-bottom: 24px; }
			#panNavi ul					{ overflow:hidden; display: inline; }
			#panNavi li					{ display: inline; padding-right:13px; line-height: 1.4; }
			#panNavi li:before			{ margin-right:13px; }

			/* 拠点一覧 開発・導入実績 ソリューショントップ共通 */
			.mapList,
			.worksList,
			.solList					{ padding-left: 15px; width: 100%; box-sizing: border-box; }
			.mapList > div, 
			.worksList > div, 
			.solList > div				{ width: calc(100% / 3 - 15px); margin-right: 15px; }

		/* ---------- ---------- ---------- ---------- ----------
		*						work
		* ---------- ---------- ---------- ---------- ---------- */

			.worksDetails				{ padding-left: 15px; padding-right: 40px; width: 70%; box-sizing: border-box; }
			.customerInfo				{ padding-right: 15px; width: 30%; box-sizing: border-box; margin-left: 0; float: right; }
			.customerInfo p img			{ width: 100%; height: auto; }


		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* index */
			.comIndex .movArea img		{ width: 100%; height: auto; }
			.photoWrap					{ width: 100%; }
			.comIndex p img 			{ width: 100%; }

			.indexBtnArea				{ padding-left: 15px; padding-right: 15px; width: 100%; box-sizing: border-box; }

			/*	profile, history, etc	*/
			.company .table1 			{ width: calc(100% - 30px); margin-right: 15px; margin-left: 15px;}

			/* greeting */
			.greeting p.left			{ padding-left: 15px; }
			.greeting div.left			{ float: right; width: 62%; padding-right: 15px; padding-left: 4%; }

			/* chart */
			.chart p img				{ width: 100%; }

			/* branch */
			.mapBox						{ margin-left: 15px; margin-right: 15px; width: calc(100% - 30px); box-sizing: border-box; }
			.mapBox img					{ width: 100%; }
			.mapBox > div				{ line-height: 1; }
			.mapLink.map01				{ top: 5%; right: 10%; }
			.mapLink.map02				{ right: 10px; top:51%; }
			.mapLink.map03				{ top: 16%; left: 27%; }
			.mapLink.map04				{ bottom: 4%; left: 42%; }
			.mapLink.map05				{ bottom: 4%; right: 67%; }
			.mapLink.map06				{ top: 15%; left: 88px; }
			.mapLink.map42				{ right: 30px; bottom: 45px; }


			/* compliance */
			.compliance  > div			{ padding-left: 15px; padding-right: 15px; width: 100%; box-sizing: border-box; }
			.compliance div img			{ width: 100%; }

			.mapTitle					{ padding-left: 15px; padding-right: 15px; width: 100%; box-sizing: border-box; }

			/* concept */
			.conceptArea,
			.sitemap .contentsBox,
			.mynumber .contentsBox				{ margin-left: 15px; margin-right: 15px; width: calc(100% - 30px); box-sizing: border-box; }
			.conceptArea > div:first-child	{ width: 40%; padding: 0 0 0 5%; }
			.conceptArea > div:nth-child(2) { width: 50%; }

			/* sdgs */
			.sdgs .contentsBox			{ padding-left: 15px; padding-right: 15px; width: 100%; box-sizing: border-box; }
			.sdgs p.sdgs01 img			{ width: 100%; height: auto; }

			/* certifications */
			.certificationBtnArea		{ padding-left: 15px; width: 100%; box-sizing: border-box; }
			.certificationBtnArea li	{ width: calc(100% / 4 - 15px); margin-right: 15px; }
			.certificationBox			{ padding-left: 15px; padding-right: 15px; width: 100%; box-sizing: border-box; }

		/* ---------- ---------- ---------- ---------- ----------
		*						recruit
		* ---------- ---------- ---------- ---------- ---------- */
			.recTop, 
			#recIndex .recEntryArea, 
			.recInfoBox,
			#recTopicsList,
			.recEntry_msg				{ padding-left: 15px; padding-right: 15px; }

			#recIndex .recTopics .freshpamphlet	{ margin-left: 15px; margin-right: 15px; width: auto; }

			.recruit .colBlue, 
			.recInfo .colBlue			{ padding-left: 15px; }

			.recTop .recMsg				{ padding-left: 0; width: 50%; padding-right: 10px; box-sizing: border-box; }
			.recMov						{ width: 50%; }
			.recMov img					{ width: 100%; height: auto; }

			.recEntryArea .fresh,
			.recInfoBox .fresh			{ padding-right: 20px; width: 50%; box-sizing: border-box; }
			.recInfoBox .s_fresh		{ width: 50%; }
			.recInfoBox div.dlType05	{ width: 100%; max-width: none; }


	/* ---------- ---------- ---------- ---------- ----------
	 *						TCS Advantage
	 * ---------- ---------- ---------- ---------- ---------- */
			.tcsAdTable th				{ padding-left: 15px; }
			.tcsAdTable td				{ padding-right: 15px; }
			.tcsAdTable dt				{ width: 50%; box-sizing: border-box; padding-right: 20px; }
			.tcsAdTable dd				{ width: 50%; }

	/* ---------- ---------- ---------- ---------- ----------
	 *						event/seminar
	 * ---------- ---------- ---------- ---------- ---------- */
			.event_seminar .contentsBox > div	{ padding-left: 15px; padding-right: 15px; }
			.event_seminarNow					{ width: calc(100% + 30px); }
			.event_seminarNow a					{ width: 100%; box-sizing: border-box; }
			.event_seminarNow .event_seminarSubTitle					{ margin-bottom: 60px; }
			.event_seminarNow .event_seminarSubTitle.reception::after	{ left: 0; right: initial; bottom: -40px; }
			.event_seminarNow .nowImg img		{ width: 100%; height: auto; }

			.reportDetails, .planDetails					{ padding-left: 15px; padding-right: 40px; width: 70%; box-sizing: border-box; }
			#event_seminar_nowInfo.event_seminarNow,
			#reportInfo										{ padding-right: 15px; box-sizing: border-box; margin-left: 0; float: right; width: 30%; }
			.planDetails .planImg img,
			.planDetails article img,
			.reportDetails article img						{ width: 100%; height: auto; }

	/* ---------- ---------- ---------- ---------- ----------
	 *						solution
	 * ---------- ---------- ---------- ---------- ---------- */
			.solList p.textCenter img 			{ width: 100%; height: auto; }
			.sol-item::before					{ max-width: 170px; width: auto; }

			/* 3階層 */
			.solTitle img						{ width: 50%; }
			.solCatch							{ padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
			.problemArea						{ margin-left: 15px; margin-right: 15px; }
			.problemArea img					{ width: 100%; height: auto; }

			#partnerArea						{ padding-left: 15px; padding-right: 15px; box-sizing: border-box; }

			/* 商材 */
			.solTitle.type02 .bgArea02 img		{ width: 100%; height: auto; opacity: 1; }
			#mainContents.solution:not(.industry_task)	{ padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
			#mainContents.solution p.textCenter img	{ width: 100%; height: auto; }
			.solContents > div					{ width: 100%; }
			.solBox.width100p					{ margin-right: 0; }
			.solBox p img						{ width: 100%; height: auto; }

			.solFlexArea p,
			.solFlexArea div 					{ width: 50%; }
			.solFlexArea p img					{ width: 100%; height: auto; }

				/* case01 */
				#mainContents.solution.case01 p.textCenter img	{ width: auto; height: auto; }
				#mainContents.solution.case01 .subTitle01Set p.textCenter img	{ width: 100%; height: auto; }

				/* case13 */
				#solCase13_works				{ width: 100%; }
				#solCase13_worksArea div,
				#solCase13_worksArea p			{ width: auto; }
				#solCase13_works div			{ width: 353px; }


				/* case26Development */
				.case26Development  			{ margin-top: 25%;}
				.case26Development p 			{ width: 100%; }

	 }

	 @media screen and ( max-width:980px ) {
	/* ---------- ---------- ---------- ---------- ----------
	 *						event/seminar
	 * ---------- ---------- ---------- ---------- ---------- */
			.reportDetails #reportCaption section			{ display: block; }
			.reportDetails #reportCaption section div		{ width: 100%; }
			#reportCaption .reportImg						{ position: relative; top: initial; left: initial; -webkit-transform: initial; transform: initial; text-align: center; margin-bottom: 40px; }

		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* index */
			.indexArea					{ padding-left: 15px; padding-right: 15px; width: 100%; box-sizing: border-box; max-width: none; margin: 100px 0 0 0; }
			.indexArea ul				{ width: calc(100% + 15px); }
			.indexArea ul li			{ width: calc(100% / 2 - 15px); margin-right: 15px; }
			.indexArea ul li img		{ width: 100%; height: auto; }

			/* concept */
			.conceptArea > div:first-child h2	{ font-size: 42px; }
			.conceptArea > div:first-child h1	{ font-size: 63px; }

			/* branch */
			.mapBox p a					{ font-size: 16px; }
			.mapBox a					{ font-size: 14px; }
			.mapLink.map01				{ top: 8%; right: 10%; }

	 }

	 @media screen and ( max-width:920px ) {
		/* ---------- ---------- ---------- ---------- ----------
		 *					common
		 * ---------- ---------- ---------- ---------- ---------- */
			/*	category image	*/
			#category div img			{ height: 140px; object-fit: cover; object-position: right; }				

		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* index */
			.photoWrap					{ height: 400px; }

			/* greeting */
			.greeting div.left			{ width: 55%; }

		/* ---------- ---------- ---------- ---------- ----------
		*						work
		* ---------- ---------- ---------- ---------- ---------- */
			.worksList section			{ padding: 10%; }
			.worksDetails .mainImg img	{ width: 100%; height: auto; }

		/* ---------- ---------- ---------- ---------- ----------
		*						solution
		* ---------- ---------- ---------- ---------- ---------- */

			.solTitle.type02 .bgArea03 div	{ width: 65%; margin-left: 3%; }

	 }

	 @media screen and ( max-width:900px ) {
		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* branch */
			.mapBox p a					{ font-size: 14px; }
			.mapBox a					{ font-size: 13px; }
			.mapLink.map01				{ top: 9px; right: 57px; }
			.mapLink.map02				{ width: 300px; }
			.mapLink.map03				{ top: 14%; left: 26%; }
			.mapLink.map05				{ bottom: 1%; }
			.mapLink.map06				{ top: 13%; left: 42px; }
			.mapLink.map42				{ right: 0; bottom: 10px; }

		/* ---------- ---------- ---------- ---------- ----------
		*						solution
		* ---------- ---------- ---------- ---------- ---------- */
	
			.sol-item.lines2::before	{ top: 120px; }

			/* 商材 */
			.solTitle.type02			{ height: 400px; }
			.solTitle.type02 .bgArea03	{ background-size: cover; }
			.solTitle.type02 .bgArea03 div	{ margin-left: 60px; }
			

	 }

	 @media screen and ( max-width:805px ) {
		/* ---------- ---------- ---------- ---------- ----------
		*						event/seminar
		* ---------- ---------- ---------- ---------- ---------- */
			#event_seminar_nowInfo.event_seminarNow span.reception::after { margin-left: 5px; }

		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* branch */
			.mapLink section			{ line-height: 1.6; }
			.mapLink.map01				{ top: 0px; right: 50px; }
			.mapLink.map02				{ right: 0px; bottom: 0px; }
			.mapLink.map04				{ bottom: 2%; }

		/* ---------- ---------- ---------- ---------- ----------
		*						solution
		* ---------- ---------- ---------- ---------- ---------- */

			.solList section			{ padding: 40px 20px; }
			.sol-item::before			{ left: 20px; }

		
	 }

	@media screen and ( max-width:767px ) {
		
		/* ---------- ---------- ---------- ---------- ----------
		 *					common
		 * ---------- ---------- ---------- ---------- ---------- */
			/*	main contents	*/
				#mainContents				{ padding-top: 10px; padding-bottom: 70px; }
			
			/*	category image	*/
				#category p					{ font-size: 18px; right: 30px; }
				
			/* 拠点一覧 開発・導入実績 ソリューショントップ共通 */
				.mapList,
				.worksList					{ padding-left: 40px; width: 100%; box-sizing: border-box; display: block; padding-right: 40px; }
				.solList					{ padding-left: 25px; width: 100%; box-sizing: border-box; display: block; padding-right: 25px; }

				.mapList > div, 
				.worksList > div, 
				.solList > div				{ width: 100%; }

				.mapList section,
				.worksList section, 
				.solList section 			{ padding: 25px 27px; }

		/* ---------- ---------- ---------- ---------- ----------
		*						work
		* ---------- ---------- ---------- ---------- ---------- */
				.works .contentsBox			{ position: relative; }
				.worksList section			{ height: auto; padding: 20px 25px 60px; }
				.worksList p				{ margin-bottom: 30px; }
				.worksList span,
				.worksDetails span			{ font-size: 12px; }
				
				.worksDetails				{ width: 100%; float: none; padding-right: 15px; max-width: none; padding-left: 15px; }
				.worksDetails h3			{ font-size: 18px; }
				.worksDetails div			{ margin-bottom: 45px; }
				.worksDetails div.btnArea	{ position: absolute; bottom: 60px; width: 100%; left: 0; }

				.customerInfo				{ width: 100%; float: none; padding-left: 40px; padding-right: 40px; max-width: none; padding-bottom: 150px; }

				/* customerInfo がないページの対応 */
				.works06 .worksDetails div.btnArea,
				.works07 .worksDetails div.btnArea,
				.works09 .worksDetails div.btnArea	{ position: relative; bottom: initial;  }

		/* ---------- ---------- ---------- ---------- ----------
		*						recruit
		* ---------- ---------- ---------- ---------- ---------- */
				#recIndex					{ padding-top: 10px; }
				.recTop, 
				#recIndex .recEntryArea, 
				.recInfoBox					{ display: block; margin-bottom: 60px; }
				.recTop .recMsg				{ width: 100%; }
				.recTop .recMsg h1			{ font-size: 30px; }

				.recMov						{ width: 100%; }

				.recTitle span				{ font-size: 48px; }
				.recTitle					{ font-size: 14px; }

				#recIndex .recEntryArea > div,
				.recInfoBox .fresh,
				.recInfoBox .s_fresh		{ width: 100%; max-width: none; }

				#recIndex .recEntryArea .fresh,
				#recIndex .recInfoBox .fresh			{ margin-bottom: 15px; padding-right: 0; }

				#recIndex .recEntryArea .s_fresh		{ margin-top: 60px; }

				#recIndex .recEntryArea .fresh:last-child,
				#recIndex .recInfoBox .fresh:last-child	{ margin-bottom: 15px; }
				.recInfoBox .fresh			{ padding-right: 0; margin-bottom: 30px; }
				
				/* 採用担当者長メッセージ */
				.picMsgArea								{ margin-right:15px; margin-left:15px; padding:40px 30px; }
				.picMsg									{ display:block; }
				.picMsg > div							{ width:100%; }
				.picMsg > div:nth-child(1)				{ width:100%; margin:0 0 30px; text-align:center; }
				.picMsg img								{ width:1005; }

                #recIndex .picMsg > div:nth-child(1)       { margin-bottom: 30px; }
                .pamphletFlex                              { display: block; }
				
				

		/* ---------- ---------- ---------- ---------- ----------
		*						TCS Advantage
		* ---------- ---------- ---------- ---------- ---------- */
				.title_tcsAdvantage			{ background:url("./../tcs_advantage/images/title_tcsAdvantage_sp.png") no-repeat center center; background-size: cover; }
				.title_tcsAdvantage img 	{ opacity: 0; }				

				.tcsAdTable					{ margin-top: 0; }
				.tcsAdTable th				{ width: 100%; display: block; margin-bottom: -80px; font-size: 80px; }
				.tcsAdTable th span			{ position: relative; }
				.tcsAdTable td				{ padding-right: 15px; padding-left: 15px; width: 100%; display: block; }
				.tcsAdTable dt				{ width: 100%; box-sizing: border-box; float: none; max-width: none; padding-bottom: 25px; padding-right: 0; }
				.tcsAdTable dt > * 			{ padding-right: 25px; padding-left: 25px; }
				.tcsAdTable dt p.colBlue	{ font-size: 20px; margin-bottom: 25px; }
				.tcsAdTable dt .caption		{ font-size: 15px; }
				.tcsAdTable dd				{ width: 100%; float: none; max-width: none; text-align: center; }
				
		/* ---------- ---------- ---------- ---------- ----------
		*						event/seminar
		* ---------- ---------- ---------- ---------- ---------- */
				.event_seminarNow								{ width: 100%; display: block; padding-left: 30px; padding-right: 30px; box-sizing: border-box; margin-bottom: 15px; }
				.event_seminarNow section 						{ width: 100%; margin-bottom: 15px; }
				.event_seminarNow section:last-child			{ margin-bottom: 0; }
				.event_seminarSubTitle							{ font-size: 16px; line-height: 1.3; }

				.recLink										{ margin-top: -30px; }

				.event_seminarPlan								{ padding-left: 30px; padding-right: 30px; }
				.event_seminarPlan section						{ line-height: 1.3; }
				.event_seminarPlan section a					{ display: block; }
				.planImg										{ margin-right: 0; margin-top: 35px; width: 100%; }

				.event_seminarReport							{ padding-left: 30px; padding-right: 30px; }
				.event_seminarReport section a					{ display: block; }
				.event_seminarReport section div:first-child	{ width: 100%; }
				.reportImg										{ position: relative; top: initial; left: initial; -webkit-transform: initial; transform: initial; text-align: center; margin-bottom: 40px; margin-top: 10px; }
				.event_seminarReport section div:last-child		{ width: 100%; }

				.reportDetails, .planDetails					{ width: 100%; float: none; padding-right: 15px; max-width: none; padding-left: 15px; margin-bottom: 100px; }
				.planDetails .subTitle01.main.colBlue			{ font-size: 18px; }
				.planDetails span.colBlack						{ font-size: 16px; }
				.planDetails .btnArea.contact 					{ margin-top: -40px; }

				#event_seminar_nowInfo.event_seminarNow,
				#reportInfo										{ width: 100%; float: none; padding-left: 40px; padding-right: 40px; max-width: none; }
				#event_seminar_nowInfo.event_seminarNow span	{ position: relative; font-size: 14px; }
				#event_seminar_nowInfo.event_seminarNow span.reception::after	{ position: absolute; right: 0; }
				#event_seminar_nowInfo.event_seminarNow .nowImg img { width: auto; }

				.planBlueBox									{ padding: 30px 15px; margin-top: 20px; }
				.planBlueBox p									{ font-size: 17px; }

				/*recLink */
				.event_seminar .recLink img.pcDisp_767			{ display: none; }
				.event_seminar .recLink img.spDisp_767			{ display: inline-block!important; }

				/* case13 */
				.event_seminar_case13_box01 					{ display: block; }
				.event_seminar_case13_box01 div:last-child 		{ text-align: center; margin-top: 30px; }

				.event_seminar_case13_box02 .textRight			{ text-align: left!important; }


				/* case14 */
				.event_seminar_case14_box01 table tr			{ display:-webkit-box; display: -webkit-flex; display:-ms-flexbox; display: flex; -webkit-flex-wrap:wrap;  -ms-flex-wrap:wrap; flex-wrap:wrap; border: none; }
				.event_seminar_case14_box01 table th,
				.event_seminar_case14_box01 table td			{ display: block; width: 100%; }
				.event_seminar_case14_box01 table th			{ -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2; border-width: 0 0 5px 0; text-align: center; padding-top: 0px; }
				.event_seminar_case14_box01 table td			{ -webkit-box-ordinal-group:1; -ms-flex-order:1; -webkit-order:2; order:1; border: none; }


		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* index */
				.photoWrap					{ height: 300px; }
				.indexArea					{ margin-top: 40px; }
				.indexArea dl				{ margin-bottom: 60px; }
				.indexArea dt				{ display: flex; align-items: center; }
				.indexArea dd				{ width: 50%; font-size: 20px; }
				.indexArea ul				{ display: block; width: 100%; margin-top:0; }
				.indexArea ul li			{ width: 100%; margin-right: 0; margin-bottom: 22px; }

				.setMenu ul					{ padding-left: 15px; padding-right: 15px; }
				.setMenu li					{ width: calc(100% / 2 - 15px); margin-left: 15px; margin-bottom: 15px; }

				.indexBtnArea				{ margin-top: 35px; padding: 0; }
				.indexBtnArea.setMenu ul	{ display: block; margin-left: 0; }
				.indexBtnArea.setMenu li	{ width: 100%; margin-left: 0; }
				.indexBtnArea.setMenu ul li:first-child	{ width: 100%; }


			/* profile */
				.table1 th					{ width: 100px; }
				.profile .table1 td 		{ padding-left: 0; }

			/* greeting */
				.greeting .left				{ float: none; }
				.greeting div.left			{ padding-left: 15px; width: 100%; margin-top: 30px; max-width: initial; }

			/* sdgs */
				.sdgsIndexArea				{ display: block; }
				.sdgsIndexArea .item		{ width: 100%; padding-top: 0; }

			/* branch */
				.mapBox						{ background:url("./../company/images/img_map_sp.gif") no-repeat center center; width: 355px; height: 422px; margin: 0 auto 10px; }
				.mapBox img					{ opacity: 0; }
				.mapBox p a					{ font-size: 14px; }
				
				.mapLink.map01				{ top: 170px; right: 13px; }
				.mapLink.map02				{ bottom: 121px; width: 153px; top:244px; }
				.mapLink.map03				{ top: 110px; left: 100px; }
				.mapLink.map04				{ bottom: 105px; left: 140px; }
				.mapLink.map05				{ bottom: 75px; right: 190px; }
				.mapLink.map06				{ top: 145px; left: 15px; }
				.mapLink.map42				{ right: 13px; bottom: 24px; max-width: 140px; line-height: 1.2; }


				.mapBox > div section		{ display: none; }
				.mapTitle					{ font-size: 16px; }

			/* certifications */
				.certificationBtnArea		{ margin-bottom: 80px; }
				.certificationBtnArea li	{ width: calc(100% / 2 - 15px); /*margin-bottom: 15px;*/ }
				.certificationBtnArea li a	{ margin: 0; max-width: none; }
				.certificationBox h2		{ font-size: 20px; }
				
				.tblIso						{ flex-direction: column; }
				.tblIso.size1 p				{ width: auto; padding: 25px!important; border-width: 2px 2px 0 2px; border-left: 2px solid #dee4eb; }
				.tblIso.size1 table			{ width: 100%; }
				.tblIso.size1 table th		{ width: 120px; }

				.certificationBox .boxPriv_flex	{ display: block; }
				.certificationBox .boxPriv_flex	dl	{ margin-right: 0; margin-bottom: 50px; }
				.certificationBox .boxPriv_flex	dl:last-child	{ margin-right: 0; margin-bottom: 0px; }


                .tblDx						{ flex-direction: column; }
				.tblDx.size1 p				{ width: auto; padding: 25px!important; border-width: 2px 2px 0 2px; border-left: 2px solid #dee4eb; }
                .tblDx.size1 p img          { position: initial; transform: none; }
				.tblDx.size1 table			{ width: 100%; }
				.tblDx.size1 table th		{ width: 120px; }

	

			/* concept */
				.conceptArea 					{ display: block; padding-bottom: 100px; }
				.conceptArea > div:first-child	{ width: 220px; padding: 0 0 80px 0; margin: 0 auto; }
				.conceptArea div:first-child p img	{ width: 65%; }
				.conceptArea > div:first-child div	{ text-align: center; }
				.conceptArea div:first-child div p  { text-align: center; font-size: 70%; }
				.conceptArea > div:first-child h2	{ font-size: 30px; }
				.conceptArea > div:first-child h1	{ font-size: 48px; }
				.conceptArea > div:nth-child(2) { width: 100%; padding: 0 40px; }
				.conceptArea .fontStyle			{ font-size: 24px; }



            /* download */
                .comDownload .contentsBox > div { box-sizing: border-box; padding: 0 15px; width: 100%; }
                .tblDl th                       { border-right: none; }
                .tblDl th, .tblDl td            { display: block; text-align: center; width: 100%; }
                .tblDl td                       { border-bottom: none; }
                .tblDl td > *                   { float: none; }
                .tblDl td div                   { margin: 0; }
	
		/* ---------- ---------- ---------- ---------- ----------
		*						solution
		* ---------- ---------- ---------- ---------- ---------- */

				.sol-item::before			{ left: 27px; top:75px; max-width: 200px; }
				.sol-item.lines2::before	{ top: 90px; }

			/* 3階層 */
				.solTitle							{ background: #f6f6f7; height: 155px; }
				.solTitle .bgArea01					{ width: 45%; }
				.solTitle .bgArea02					{ width: 100%; }
				.solTitle .bgArea02 .titleBlue		{ top: 22%; left: 7%; }
				.solTitle h2						{ font-size: 20px; }
				.solTitle img						{ opacity: 0; width: 20%; }
				.solCatch							{ padding-left: 40px; padding-right: 40px; box-sizing: border-box; }
				.industry_task .problemMsg			{ position: initial; top: initial; left: initial; transform: initial; background: #f6f6f7; font-size: 18px; padding: 45px 10px; box-sizing: border-box; width: 100%; }
				.problemArea img		{ width: 100%; height: auto; }

				/* 商材 */
				.solTitle.type02 					{ display: block; height: auto; background: none; }
				.solTitle.type02 .solTitleDetail	{ height: 155px; margin-bottom: 10px; background: #f6f6f7; }
				.solTitle.type02 .bgArea01			{ width: 24%; }
				.solTitle.type02 .bgArea02			{ width: 82%; margin-right: 36px; }
				.solTitle.type02 .bgArea03			{ display: block; margin-left: 0; background: #f6f6f7; }
				.solTitle.type02 .bgArea03 div		{ padding: 50px 45px; width: 100%; margin-left: 0; box-sizing: border-box; }
				.solTitle.type02 .bgArea03 h3		{ font-size: 18px; z-index: 0; }
				.solTitle .bgArea03 h3::before		{ bottom: -10px; }

				.solContents > div,
				.solContents.threetype > div		{ display: block; width: 100%; }
				.solBox,
				.solContents.threetype .solBox		{ width: 100%; margin: 0; }
				.solContents						{ margin-top: 55px; }
				.solContents.threetype .solBox		{ margin-bottom: 55px; }
				.solContents.threetype .solBox:last-child		{ margin-bottom: 0; }

				.solPoint_style .span_point			{ font-size: 16px; padding: 1px 11px 0px; }
				.solPoint_style h4					{ font-size: 22px; }
				.solPoint_style .solBox				{ margin-bottom: 43px; }
				.solBox p							{ margin-top: 15px; }
				#mainContents.solution p.textCenter img,
				#mainContents.solution.case01 p.textCenter img	{ width: 100%; }
				.subTitle01Set p.textCenter img		{ margin-top: 30px; }

				.solFlexArea						{ display: block; }
				.solFlexArea p, .solFlexArea div	{ width: 100%; }
				.solFlexArea p						{ margin-bottom: 20px; }
				.solFlexArea .padding_l33,
				.solFlexArea .padding_l80,
				.solFlexArea .padding_l60,
				.solFlexArea .padding_l100			{ padding-left: 0; box-sizing: border-box; }

				.solFlexArea.width50p > *			{ width: 100%; }

				.solTable01							{ word-break: break-all; }
				.solTable03	td img					{ width: 100%; height: auto; padding: 0; }

				/* .case01List */
				.case01List							{ display: block; margin-bottom: 70px; }
				.case01List dl						{ margin: 0 25px 35px; }
				.case01List dl:last-child			{ margin-bottom: 0; }

				/* case13 */
				#solCase13_worksArea div			{ width: 100%; padding-right: 0; }

				/* .solCase16 */
				.solCase16.textRight				{ text-align: left!important; }

				/* .case18Area span */
				.case18Area span					{ position: relative; bottom: initial; left: initial; display: block; margin-top: 15px; }

				/* .solCase33 */
				.solCase33.textRight				{ text-align: left!important; }


				/* .solFlexArea */
				.case26Development					{ margin-top: 50px; }
				.case26Development p img			{ width: auto; }

			/* common */	
				#partnerArea						{ display: block; text-align: center; padding-top: 40px; padding-bottom: 60px; }
				#partnerArea div					{ margin-bottom: 60px; }
				#partnerArea div:last-child			{ margin-bottom: 0; }
				#partnerArea p img					{ width: 100%; height: auto; max-width: 200px; }
				/*#partnerArea p.olacle img			{ max-width: 148px; }*/

				#service_products					{ padding-right: 15px; padding-left: 15px; }
				.kanrenArea							{ padding-right: 40px; padding-left: 40px; }

		/* ---------- ---------- ---------- ---------- ----------
		 *						other
		 * ---------- ---------- ---------- ---------- ---------- */
			/*	mail	*/
				.setMail img				{ position:relative; top:3px; }

			/* sitemap */
				.saitemapArea				{ display: block; }

				
			
	}			

	@media screen and ( max-width:375px ) {
		/* ---------- ---------- ---------- ---------- ----------
		*						TCS Advantage
		* ---------- ---------- ---------- ---------- ---------- */				
		.tcsAdTable dd img			{ width: 100%; }

		/* ---------- ---------- ---------- ---------- ----------
		*						event/seminar
		* ---------- ---------- ---------- ---------- ---------- */

		.reportImg img 				{ width: 100%; height: auto; }
		#event_seminar_nowInfo.event_seminarNow span	{ position: relative; font-size: 14px; }
		#event_seminar_nowInfo.event_seminarNow span.reception::after	{ position: initial; right: initial; margin-left: 0; }

		#reportCaption dt			{ width: 25%; }
		#reportCaption dd			{ width: 75%; }

		/* ---------- ---------- ---------- ---------- ----------
		*						recruit
		* ---------- ---------- ---------- ---------- ---------- */
		.recEntryArea .fresh ul		{ justify-content: center; }
		.recEntryArea .fresh ul li				{ margin-bottom: 10px; }
		.recEntryArea .fresh ul li:last-child	{ margin-bottom: 0; }


		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
		/* index */
		.photoWrap					{ height: 170px; }
		.photoWrap video			{ width: 100%;  position: relative; top: initial; left: initial; transform: initial; }

		/* greeting */
		.greeting p.left			{ padding-right: 15px; }
		.greeting p.left img		{ width: 65%; }

		/* branch */
		.mapBox						{ background: none; width: auto; height: auto; margin-left: 15px; margin-right: 15px; }

		.mapBox img.pcDisp_375		{ display: none; }
		.mapBox img.spDisp_375		{ opacity: 1; }


	}

	@media screen and ( max-width:320px ) {

		/* branch */
		.mapLink.map01				{ top: 145px; right: 3px; }
		.mapLink.map02				{ right: 40px; bottom: 115px; }
		.mapLink.map03				{ top: 90px; left: 70px; }
		.mapLink.map04				{ bottom: 85px; left: 110px; }
		.mapLink.map05				{ bottom: 55px; right: 150px; }
		.mapLink.map06				{ top: 115px; left: 15px; }
		.mapLink.map42				{ right: 13px; bottom: 4px; }

		/* profile */
		.table1 th					{ width: 85px; }

	}