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

/*-------------------------------------------------------------
 *
 *						style_company.css
 *
 *-------------------------------------------------------------*/
	/* ---------- ---------- ---------- ---------- ----------
	 *					common
	 * ---------- ---------- ---------- ---------- ---------- */
			.company .table1				{ font-size: 16px; }

			/* history  certification */
			.company #titleArea .btn-set				{ margin-top: 21px; position: relative; z-index: 5; }
			.company #titleArea .btn-set li				{ display: block; width: 100%; }
			.company #titleArea .btn-set li	+ li		{ margin-top: 9px; }


			/* setMenu */
			.setMenu						{ clear: both; margin-top: 120px; }
			.setMenu div					{ max-width: 870px; margin: 0 auto; }
			.setMenu ul						{ display: flex!important; gap: 13px; }
			.setMenu li						{ width: calc(100% / 3 - 10px); margin: initial; }
			.setMenu li.btn a				{ width: 100%; background: transparent; line-height: 1; }
			.setMenu li.btn a:hover			{ background: #ddcfc2; }
		

	/* ---------- ---------- ---------- ---------- ----------
	 *						company
	 * ---------- ---------- ---------- ---------- ---------- */

		/* greeting */
			.greeting .right-870 p			{ font-size: clamp(16px, calc(100vw * 18 / 1300), 18px); }
			.greeting .right-870 p + p		{ margin-top: 40px; }
			.greeting .right-870 .p_photo	{ margin-top: 60px; max-width: 701px; }
			.greeting .right-870 .p_name	{ margin-top: 25px; font-size: clamp(16px, calc(100vw * 17.5 / 701), 17.5px); line-height: 1.4; font-weight: 300; }
			.greeting .right-870 .p_name2 	{ font-size: clamp(27px, calc(100vw * 30 / 701), 30px); }
			.greeting .right-870 .p_name3 	{ letter-spacing: 0.5px; }


		/* compliance */
			.compliance .right-870 div + div{ margin-top: 35px; }
			.compliance div img				{ width: 100%; max-width: fit-content; }

            
		/* dx */
			.dx .dxBox + .dxBox				{ margin-top: 110px; }
			.dx .dxBox .subTitle02 + section{ margin-bottom: 30px; }
			.dx .dxBox .dlType03			{ margin-top: 30px; }
            .dx ul, .dx li                  { display: block; list-style: none; padding-left: 1em; text-indent: -1em;  }
			.dxBannerArea					{ display: flex; padding: 20px 35px; border-radius: 40px; align-items: center; gap: 30px; }


		/*	certification	*/
			.certificationBox 				{ padding-bottom: 60px; border-bottom: double 10px #a98667; }
			.certificationBox section + section		{ margin-top: 50px; }
			.certificationBox a 			{ text-decoration: underline; }
			.certificationBox a:hover 		{ text-decoration: none; }
			.certificationBox .marB40 		{ margin-bottom: 40px; }
			.certificationBox:last-child	{ margin-bottom: 0; border-bottom: none; }

			.certificationBtnArea li a		{ width: 245px; }
			.privacyBtnArea li a			{ width: 285px; line-height: 1.2; }

			.certificationBox h2			{ margin-bottom: 30px; }
			.certificationBox div			{ margin-bottom: 30px; }
			#privacy.certificationBox div	{ margin-bottom: 60px; }


			.setIso > p						{ margin:0 0 10px !important; color: #000; }	

			.certification .table1 tr > *	{ padding: 9px 15px 11px 20px; }
			.certification .table1 th		{ background: #f6f3f0; border-right: 1px solid #a98667; color: #000; }
			.certification .table1 tr		{ border: 1px solid #a98667; }

				
			.tblIso							{ display:flex; flex-direction:row-reverse;  margin:0 0 40px; }
			.tblIso p						{ border-color: #a98667; border-style: solid; border-width: 1px 1px 1px 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; align-items: center; }
			.tblIso p span					{ display:block; }
			
			.tblIso.size1 p					{ width: 175px; }
			.tblIso.size1 table				{ width: calc(100% - 175px); }
			.tblIso table	th				{ width: 175px; }

			.tblIso.size2					{ margin-bottom: 20px; }
			.tblIso.size2 p					{ width: 240px; }
			.tblIso.size2 table				{ width: calc(100% - 240px); }

			.tblIso.size1 + .tblIso.size3	{ margin-top: -30px; }
			.tblIso.size2 + .tblIso.size3	{ margin-top: -20px; }
			.tblIso.size3 tr				{ border-top: none; }
			.tblIso.size3 table				{ width: 100%;  }


			@media all and (-ms-high-contrast: none) {
				.tblIso.size1 table,
                .tblDx.size1 table			{ width: calc(100% - 190px); }
			}


			.boxPriv						{ margin:0 0 35px; }
			.boxPriv:last-child				{ margin-bottom: 0; }
			table.privacy th:nth-child(1)		{ width:25px; }
			table.privacy th:nth-child(2)		{ width:300px; }
			table.privacy th:nth-child(3)		{ width:500px; }
					
			.certificationBox .setPriv td	{ border-width: 0 1px 1px 0; border-color: #a98667; border-style: solid; }

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

            .certificationBox .setDx        { margin: 60px auto 0; }
            .tblDx							{ display:flex; flex-direction:row-reverse; }
			.tblDx p						{ border-color: #a98667; border-style: solid; border-width: 1px 1px 1px 0;text-align: center; }
			.tblDx p span					{ display: block; }
			
			.tblDx.size1 p					{ width:190px; 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				{ width: calc(100% - 190px); }
			.tblDx.size1 table	th			{ width: 200px; }


		/* concept */
			.conceptArea					{ display: flex; position: relative; }
			.conceptArea .fontStyle			{ /*font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/ }
			.conceptArea div:first-child div p	{ font-size: 76%; text-align: left; }

			.conceptArea > div:first-child	{ width: 515px; box-sizing: border-box; }
			.caption						{ font-size: clamp(20px, calc(100vw * 30 / 1300), 30px); margin-bottom: 8px; }
			.conceptArea > div:first-child > p.caption + div { margin-bottom: 35px; font-size: clamp(16px, calc(100vw * 18 / 1300), 18px); color: #000; line-height: 1.97; }
			.conceptArea > div:first-child > p.caption + div:last-child	{ margin-bottom: 0; }
			.caption.blue					{ color: #0083d3; }
			.caption.green					{ color: #00b27f; }
			.caption.pink					{ color: #d86cc1; }

			.conceptArea > div:nth-child(2)	{ width: 285px; box-sizing: border-box; margin: 0 50px; color: #003067; display: flex; justify-content: center; align-items: center; flex-direction: column; }
			.conceptArea > div:nth-child(2) > p	{ text-align: center; }

			.conceptArea > div:nth-child(2) h1	{ font-size: clamp(55px, calc(100vw * 68 / 1300), 68px); font-weight: normal; line-height: 0.9; margin-bottom: 25px; margin-top: 15px; }
			.conceptArea > div:nth-child(2) h1 + p	{ width: 100%; font-size: 76%; }

		/* profile */
			.profile .table1 th				{ width: 200px; }
			.profile .qrCode				{ margin-left: 15px; margin-top: -20px; }

		/* chart */
			.chart p.chartArea 				{ margin-top: -30px; }


		/* sdgs */
			.sdgs .sdgsArea					{ border: 1px solid #a98667; border-radius: 50px; width: min(93%, 1300px); }
			.sdgs .sdgsArea section			{ max-width: 1100px; margin: 0 auto 50px; width: min(93%, 1300px); }
			.sdgs p.sdgs01					{ margin: 95px 0 30px; }
			.sdgs p.sdgs01 img				{ width: 100%; max-width: 100%; }
			.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; }

        /* download */
            .tblDl                          { margin-top: 25px; }
			.tblDl td div					{ margin-left: 25px; }
			.tblDl a						{ text-decoration: underline; }
			.tblDl a:hover					{ text-decoration: none; }

		/* corporate_identity */
			#mainContents.identity			{ background: none; }
			.identityImg					{ margin-top: 117px; }
			.identityImg img				{ width: 100%; max-width: fit-content; }
				
		/* locations */
			.locationsBox						{ position:relative; }
			.locationsBox > div.locationsLink				{ position:absolute; top: 0; display: flex; }
			.locationsLink section				{ line-height: 1.7; font-size: 14px; }
			.locationsLink section + section	{ margin-left: 70px; }
			.locationsLink section article + article				{ margin-top: 20px; }

			.locationsBox a						{ text-decoration: none; }
			.locationsBox a:hover				{ opacity: 0.8; }

			.locationsNum						{ border-radius: 50%; width: 230px; height: 230px; position: absolute; right: 0; bottom: 0; }
			.locationsNum p						{ font-size: clamp(20px, calc(100vw * 24 / 1300), 24px); position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%, -50%); width: 130px; text-decoration: underline 1px; text-underline-offset: 8px; }
						
			.locations-container .placesContainer	{ display: flex; gap: 37px; flex-wrap: wrap; }
			.locations-container .placesContainer div.border	{ width: calc(100% / 4 - 28px); box-sizing: border-box; padding: 40px 30px; border-radius: 13%; }
			.locations-container .placesContainer > div.border .pageLink	{ height: 100%; padding-top: 230px; margin-top: -230px; }
			.locations-container .placesContainer section				{ display: flex; flex-direction: column; height: 100%; }
			.locations-container .placesContainer h3					{ font-size: clamp(17px, calc(100vw * 20 / 1300), 20px); }
			.locations-container .placesContainer p						{ margin-bottom: 30px; }
			.locations-container .placesContainer .btn					{ margin-top: auto; margin-left: 0; }
			.locations-container .placesContainer .border.changeBgColor		{ background-color: #ddcfc2; }

			.locations-container .placesContainer + .pageLink .subTitle01		{ margin-top: 110px; }

		/* marble_style */
			.marble_style .marble_styleBox h4							{ font-size: clamp(20px, calc(100vw * 26 / 870), 26px); margin-bottom: 50px; }
			.marble_style .marble_styleBox dl 							{ gap: 35px 0; }
			.marble_style .marble_styleBox dt 							{ color: #e2891c; font-size: clamp(43px, calc(100vw * 54 / 870), 54px); display: flex; align-items: center; border-right: 1px solid #a98667; padding-right: 28px; margin-right: 25px; width: 59px; }
			.marble_style .marble_styleBox dd							{  width: calc(100% - 85px); }
			.marble_style .marble_styleBox dd p.colBrown				{ font-size: clamp(16px, calc(100vw * 18 / 870), 18px); }
			.marble_style .marble_styleBox dd p.colBrown::first-letter	{ color: #e2891c; }
			.marble_style .marble_styleBox dd h5						{ font-size: clamp(22px, calc(100vw * 30 / 870), 30px); font-weight: normal; margin: 9px 0 4px -3px; line-height: 1.3; }
			.marble_style .marble_styleBox dd p							{ font-size: clamp(13px, calc(100vw * 15 / 870), 15px); }

		/* employee_policy */

			.employee_policy .dlType06 dt						{ width:2.1em; }
			.employee_policy .dlType06 dd						{ margin:0 0 0 2.1em; }
			.employee_policy dl.dlType06 						{ margin-bottom: 24px; }

			.employee_policy table								{ text-align: left; border-spacing: 0; border-left: 1px solid; border-top: 1px solid; margin-top: 10px; }
			.employee_policy table th,
			.employee_policy table td							{ border-bottom: 1px solid; border-right: 1px solid; font-weight: normal; padding: 5px 10px; }

			.employee_policy table th							{ background: #ebebeb; }

			
/*-------------------------------------------------------------
 *
 *						style_company.css(ver.SP)
 *
 *-------------------------------------------------------------*/
	@media screen and ( max-width:1300px ) {
		/* conceptArea */
		.conceptArea > div:first-child 	{ width: 50%; }

		/* branch */
		.locationsBox img				{ width: 100%; max-width: fit-content; }
		.locations-container .placesContainer	{ gap: 32px; }
		.locations-container .placesContainer > div.border	{ width: calc(100% / 3 - 22px); }

	}

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

		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */

			/* chart */
			.chart p.chartArea 				{ margin-top: 30px; }

			/* greeting */
			.greeting .right-870 .p_photo img	{ width: 100%; }


			/* branch */
			.locationsBox img			{ margin-top: 30%; }
			.locationsNum				{ width: 200px; height: 200px; }


	 }

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

		/* ---------- ---------- ---------- ---------- ----------
		*						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; }

			/* chart */
			.chart p.chartArea img				{ width: 100%; max-width: fit-content; }

			/* branch */
			.locationsBox img			{ margin-top: 65%; }

			/* certifications */				
			.tblIso						{ flex-direction: column; }
			.tblIso.size1 p,
			.tblIso.size2 p				{ width: auto; padding: 25px!important; border-width: 1px 1px 0 1px; }
			.tblIso.size1 table,
			.tblIso.size2 table			{ width: 100%; }

	 }

	 @media screen and ( max-width:920px ) {
		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* branch */
			.locationsNum				{ width: 150px; height: 150px; }

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

	 }

	 @media screen and ( max-width:850px ) {
		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* branch */
			.locationsBox img			{ margin-top: 115%; };
			.locations-container .placesContainer	{ gap: 32px; }
			.locations-container .placesContainer > div.border	{ width: calc(100% / 2 - 16px); }
	
	 }


	@media screen and ( max-width:767px ) {
		
		/* ---------- ---------- ---------- ---------- ----------
		 *					common
		 * ---------- ---------- ---------- ---------- ---------- */
			/* history locations */
				.company #titleArea .btn-set:not(.certificationBtnArea) li				{ width: calc(100% / 2); }
				.company #titleArea .btn-set:not(.certificationBtnArea) li:first-child		{ margin-top: 9px; }
				.company #titleArea .btn-set .btn a			{ margin: 0 auto; }
				.company #titleArea .btn-set:not(.certificationBtnArea) .btn a { width: auto; }

				.setMenu div				{ width: min(93%, 795px); }
				.setMenu ul					{ gap: 18px; }
				.setMenu li					{ width: calc(100% / 2 - 15px); }


		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
			/* greeting */
				.greeting .p_photo			{ text-align: center; width: 100%; }
				.greeting #titleArea .textRight	{ width: 100%; }

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

			/* sdgs */
				.sdgsIndexArea				{ display: block; }
				.sdgs p.sdgs01				{ margin-top: 50px; }
				.sdgsIndexArea .item		{ width: 100%; padding-top: 0; }

			/* branch */
				.locationsBox img			{ margin-top: 0; }
				.locationsBox > div.locationsLink	{ position: relative; margin-top: 30px; }
				.locationsLink section				{ width: 50%; }
				.locationsLink section + section		{ margin-left: 30px; }
				.locations-container .placesContainer > div.border	{ width: 100%; max-width: 300px; margin: 0 auto; }


			/* certifications */				
				.tblIso.size1 table th,
				.tblIso.size2 table th,
				.tblIso.size3 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: 1px 1px 0 1px; }
                .tblDx.size1 p img          { position: initial; transform: none; }
				.tblDx.size1 table			{ width: 100%; }
				.tblDx.size1 table th		{ width: 120px; }

			/* corporate_identity */
				.identityImg				{ margin-top: 50px; }

			/* marble_style */
				.marble_style .marble_styleBox h4		{ line-height: 1.4; }
				.marble_style .marble_styleBox dt		{ padding-right: 22px; }
				.marble_style .marble_styleBox dd h5	{ margin-left: -3px; margin-bottom: 10px; }
				.marble_style .marble_styleBox dd p		{ line-height: 1.6; }

			/* dx */
				.dxBannerArea { flex-direction: column; }

			
	}			

	@media screen and ( max-width:499px ) {
		/* ---------- ---------- ---------- ---------- ----------
		*						company
		* ---------- ---------- ---------- ---------- ---------- */
		/* profile */
		.table1 th					{ width: 85px; }
		.profile .qrCode			{ display: block; margin-top: 10px; margin-left: 0; }

		/* Privacy Policy */
		.company #titleArea .btn-set:not(.certificationBtnArea) .btn a { font-size: 80%; }

	}
