/*-------------------- css --------------------*/
@font-face{
	font-family:'RedHatDisplay-Bold';
	src:url('fonts/RedHatDisplay-Bold.ttf');
}
@font-face{
	font-family:'RedHatDisplay-ExtraBold';
	src:url('fonts/RedHatDisplay-ExtraBold.ttf');
}
@font-face{
	font-family:'RedHatDisplay-Regular';
	src:url('fonts/RedHatDisplay-Regular.ttf');
}
@font-face{
	font-family:'RedHatDisplay-Medium';
	src:url('fonts/RedHatDisplay-Medium.ttf');
}
@font-face{
	font-family:'RedHatDisplay-SemiBold';
	src:url('fonts/RedHatDisplay-SemiBold.ttf');
}
@font-face{
	font-family:'ZenOldMincho-Bold';
	src:url('fonts/ZenOldMincho-Bold.ttf');
}
@font-face{
	font-family:'kozminpro-medium';
	src:url('fonts/kozminpro-medium.otf');
}

:root {
	--blue: #0075C1;
	--bg_gray: #F3F7F7;
	--bg_d_gray: #8696A6;
	--line_gray: #DFE3E3;
	--box_gray: #8193a0;
	--gray: #595757;
	--gray_note: #6d6d6a;
	--white: #ffffff;
	--black: #23231E;
	--red: #E60012;
	--box_red: #e50012;
}
a{
	text-decoration: none;
	color: var(--black);
}
a:hover{
	color:#3C9DEA;
}
html, body{
	margin: 0 !important;
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
    font-weight: normal;
}
.d_block{
	display: block !important;
}
.mobile{
	display:none;
}
#wpadminbar{
	display:none;
}

/*-------------------- header --------------------*/
.company_header{
	display:flex;
	align-items:center;
    height:140px;
/* 	background-color:#dfe3e3; */
	background-color:#ffffff;
}
.c_header_wrap{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0 50px;
}
.c_header_top{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:10px;
}
.c_header_logo{
	display:flex;
	align-items:flex-end;
	gap:20px;
}
.c_header_logo .img{
	max-width:310px;
}
.c_header_logo .img img{
	display:block;
	width:100%;
}
.c_header_logo .page{
	width:230px;
	margin-bottom:10px;
	padding:2px 0;
	font-family:'RedHatDisplay-Bold';
	font-size:16px;
	text-align:center;
/* 	color:#23231e;
	background-color:#ffffff; */
	color:#ffffff;
	background-color:#575656;
	border-top-left-radius:15px;
	border-bottom-right-radius:15px;
}
.c_header_menu{
	display:flex;
	align-items:center;
	gap:20px;
}
.c_header_menu .lang{
	display:flex;
	align-items:center;
	gap:10px;
	font-family:"ryo-gothic-plusn", sans-serif;
	font-weight:500;
	font-style:normal;
	font-size:14px;
}
.c_header_menu .lang a.active{
	color:#0075c2;
}
.c_header_menu .link a{
	display:block;
	position:relative;
	width:320px;
	padding:7px 0;
	font-family:'RedHatDisplay-Bold';
	font-size:16px;
	text-align:center;
	color:#ffffff;
	background-color:#23231e;
	border-radius:30px;
}
.c_header_menu .link a img{
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
	width:16px;
}
.c_header_bottom{
	display:flex;
	justify-content:flex-end;
}
.c_header_bottom nav{
	display:flex;
	align-items:center;
	gap:20px;
}
.c_header_bottom nav a{
	font-family:"ryo-gothic-plusn", sans-serif;
	font-weight:500;
	font-style:normal;
	font-size:16px;
}
.c_header_bottom nav span{
	position:relative;
	padding-right:15px;
	font-family:"ryo-gothic-plusn", sans-serif;
	font-weight:500;
	font-style:normal;
	font-size:16px;
	cursor:pointer;
	
	&:hover{
		color:#3C9DEA;
	}
	&:after{
		content: '';
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        border-top: 8px solid #0075c2;
        border-right: 5px solid transparent;
        border-left: 5px solid transparent;
	}
}

.c_header_hamburger{
	display:none;
}
.c_header_nav{
	display:none;
}

.header_detail_pc{
	display:none;
	position: absolute;
    top: 140px;
    left: 0;
    width: 100%;
    background-color: #ffffff;
	z-index:100;
}
.header_container{
	display: grid;
	grid-template-columns: 350px 1fr;
	align-items: flex-start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 64px 50px 34px;

	.title{
		display:flex;
		align-items:center;
		gap:24px;
		font-family:"ryo-gothic-plusn", sans-serif;
		font-weight:500;
		font-style:normal;
		font-size:24px;

		img{
			width:26px;
		}
	}
	.menu{
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
		gap: 16px 24px;

		a{
			padding:12px 0;
			font-family:"ryo-gothic-plusn", sans-serif;
			font-weight:500;
			font-style:normal;
			font-size:16px;
			border-bottom:1px dotted #23231e;
			background-image:url('images/header_right_cursor.png');
			background-position:center right;
			background-repeat:no-repeat;
			background-size:20px;
		}
	}
}
.header_close{
	max-width:1200px;
	margin:0 auto 10px;
	padding:0 50px;
	
	img{
		display:block;
		width:20px;
		margin-left:auto;
		cursor:pointer;
	}
}

/* .company_header{
	background-color: var(--white);

	.company_header_container{
		max-width: 1200px;
		margin: 0 auto;
		padding: 20px 0;

		.container {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;

			.logo_header {
				max-width: 397px;

				img{
					width: 100%;
					margin-bottom: -15px;
				}
			}
			.header_funtion{
				display: flex;
				align-items: flex-end;
				justify-content: space-around;
				gap: 40px;

				.service_companys_button {
					text-align: center;
					font-family: 'RedHatDisplay-Bold';
					font-size: 16px;
					background-color: var(--gray);
					width: 230px;
					display: inline-block;
					border-radius: 15px 0;
					padding: 5px;
					color: var(--white);
				}
				.lang_button {
					display: flex;
					align-items: center;
					gap: 10px;
					margin-bottom: -4px;
	
					a{
						font-family:'RedHatDisplay-Bold';
						font-size: 14px;
					}
					p{
						margin: 0;
					}
				}
				.company_link_button {
					color: var(--white);
					background-color: var(--black);
					width: 320px;
					text-align: center;
					padding: 5px;
					border-radius: 18px;
					position: relative;
					font-family:'RedHatDisplay-Bold';
					font-size: 16px;
	
					img {
						position: absolute;
						width: 16px;
						height: 16px;
						right: 12px;
						top: 50%;
						transform: translateY(-50%);
					}
				}
			}
		}
		.main_navigation {
			margin-top: 23px;
			display: flex;
			justify-content: flex-end;
			gap: 30px;

			a{
				font-family:'RedHatDisplay-Bold';
				font-size: 16px;
				position: relative;

				img{
					position: absolute;
                    bottom: 5px;
                    width: 10px;
                    right: -19px;
				}
			}
		}
	}
} */

/*-------------------- footer --------------------*/
.footer_area{
	background-color:#595757;
}
.footer_wrap{
	position:relative;
	max-width:1100px;
	margin:0 auto;
	padding:40px 50px 20px;
}
.footer_top{
	margin-bottom:10px;
}
.footer_top .return{
	margin-bottom:30px;
	padding-bottom:25px;
	border-bottom:1px solid #ffffff;
}
.footer_top .return a{
	display:inline-block;
}
.footer_top .return a span{
	display:flex;
	align-items:center;
	gap:10px;
	font-family:'RedHatDisplay-SemiBold';
	font-size:18px;
	color:#ffffff;
}
.footer_top .return a span img{
	width:20px;
	transform:rotate(-90deg);
}
.footer_top .nav{
	display:flex;
	justify-content:flex-end;
	gap:30px;
}
.footer_top .nav a{
	font-family:"ryo-gothic-plusn", sans-serif;
	font-size:16px;
	color:#ffffff;
}
.footer_bottom{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	margin-bottom:70px;
}
.footer_bottom .logo img{
	width:125px;
}
.footer_bottom .youtube{
	display:flex;
	align-items:center;
	gap:10px;
}
.footer_bottom .youtube p{
	position:relative;
	margin:0;
	padding-right:20px;
	font-family:'RedHatDisplay-SemiBold';
	font-size:16px;
	text-decoration:underline;
	color:#ffffff;
}
.footer_bottom .youtube p:after{
	content:'▷';
	position:absolute;
    top:0;
    right:0px;
}
.footer_bottom .youtube img{
	width:57px;
}
.footer_copy p{
	font-family:"ryo-gothic-plusn", sans-serif;
	font-size:14px;
	text-align:right;
	color:#ffffff;
}
.footer_top_return{
	display:block;
	position:fixed;
	left:50%;
    bottom:80px;
	transform:translateX(-50%);
	width:100%;
    max-width:1270px;
    margin:0 auto;
	opacity:0;
	visibility:hidden;
	transition:0.3s;
	z-index:200;
}
.footer_top_return img{
	position:absolute;
	top:0;
	right:0;
	width:60px;
}
.footer_contact_link{
	display:block;
    position:fixed;
    left:50%;
    bottom:260px;
    transform:translateX(-50%);
    width:100%;
    max-width:1460px;
    margin:0 auto;
/* 	visibility:hidden; */
	transition:0.3s;
    z-index:200;
}
.footer_contact_link:hover{
	opacity:0.8;
}
.footer_contact_link img{
	position:absolute;
	top:0;
	right:0;
	width:160px;
}

/* .company_footer{
	background-color: var(--gray);

	.company_footer_container{
		max-width: 1100px;
		margin: 0 auto;
		color: var(--white);
		font-family:'RedHatDisplay-Bold';
		padding: 35px 0 20px;

		.site_top_container {
			padding-bottom: 20px;
			border-bottom: 1px solid;

			img{
				width: 20px;
				height: 20px;
				margin-bottom: -3px;
			}
			span{
				color: var(--white);
                font-size: 18px;
                margin-left: 10px;
			}
		}
		.footer_funtion_container {
			margin-top: 30px;
			display: flex;
			justify-content: flex-end;
			gap: 20px;

			.site_top_button {
				color: var(--white);
				font-size: 16px;
			}
		}
		.footer_logo_container {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;

			img {
				height: 128px;
				width: auto;
			}
			.footer_logo_side {
				display: flex;
				align-items: center;
				gap: 30px;

				a {
					color: var(--white);
					text-decoration: underline;
				}
				img {
					height: 40px;
					width: auto;
				}
			}
		}
		.footer_copy_right_container {
			text-align: end;
			margin-top: 40px;
			font-size: 14px;
		}
		.footer_contact_link{
			display: block;
			position: fixed;
			left: 50%;
			bottom: 260px;
			transform: translateX(-50%);
			width: 100%;
			max-width: 1460px;
			margin: 0 auto;
			transition: 0.3s;
			z-index: 200;

			img {
				position: absolute;
				top: 0;
				right: 0;
				width: 160px;
			}
		}
		.footer_top_return{
			display: block;
			position: fixed;
			left: 50%;
			bottom: 80px;
			transform: translateX(-50%);
			width: 100%;
			max-width: 1270px;
			margin: 0 auto;
			opacity: 0;
			visibility: hidden;
			transition: 0.3s;
			z-index: 200;

			img {
				position: absolute;
				top: 0;
				right: 0;
				width: 60px;
			}
		}
	}
} */


/*-------------------- main --------------------*/
.company_main{
	padding-bottom:240px;
	background-color:var(--white);
}

.pc {
	display: block;
}
.ps {
	display: none;
}

/*-------------------- top --------------------*/
.company_top{
    color: #23231E;
	font-family:'RedHatDisplay-Regular';
	font-size: 18px;

	.company_top_content_top_bg{
		width: 100%;
		position: relative;
	}
	.company_top_content_top_bg::before{
		content: "";
		background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/top_page_top_bg.png");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		height: 2400px;
		z-index: 10;
	}
	.company_top_content_top{
		max-width: 1100px;
		margin: 0 auto;
		position: relative;
		padding-top: 100px;

		h5{
			font-size: 40px;
			font-family:'RedHatDisplay-ExtraBold';
			line-height: 63px;
			letter-spacing: 2px;
			margin-bottom: 40px;
			position: relative;
            z-index: 20;
		}
		.company_top_row{
			display: flex;
			align-items: center;
			margin: 20px 0 0;
			position: relative;
            z-index: 20;

			.hyphen_company_top{
				width: 20px;
    			height: 2px;
			}
			.hyphen_company_top_left{
				margin-right: 10px;
			}
			.hyphen_company_top_right{
				margin-left: 10px;
			}
			p{
				display: inline-block;
				letter-spacing: 0.3px;
				font-family:'RedHatDisplay-SemiBold';
				font-size: 20px;
				line-height: 32px;
			}
		}
		.scroll_indicators{
			position: relative;
            z-index: 20;

			h1{
				margin-top: 159px;
                font-size: 196px;
                font-family: 'RedHatDisplay-Bold';
                letter-spacing: 3.5px;
                line-height: 223px;
			}
		}
		.company_top_content_top_detail{
			margin-top: 138px;
			position: relative;
            z-index: 20;

			p{
				max-width: 806px;
				margin: 0 auto;
				font-family:'RedHatDisplay-Regular';
				letter-spacing: 0.3px;
				line-height: 32px;
			}
		}
	}
	.vertical_lines{
		background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/vertical_lines_img.png");
		background-repeat: no-repeat;
		background-size: cover;
		height: 100px;
		width: 10px;
		margin: 120px auto;
	}
	.company_top_content_about{
		max-width: 1100px;
		margin: 0 auto;
		position: relative;
		z-index: 20;
		margin-bottom: 290px;
		
		.content_head{
			h2{
				font-size: 140px;
				font-family: 'RedHatDisplay-Bold';
				letter-spacing: 6.5px;
			}
		}
		.container{
			display: flex;
			justify-content: space-between;
			width: 100%;
			margin-top: 28px;

			.block{
				position: relative;
				display: block;
				width: 360px;
				height: 320px;
				border-radius: 110px 0 110px 0;
				color: white;
				text-decoration: none;

				.title{
					position: absolute;
					top: 57px;
					left: 57px;
					font-family: 'RedHatDisplay-Bold';
					font-size: 34px;
				}
			}
			.block::after{
				content: "";
				background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_circle_white_small.png");
				background-size: contain;
				background-position: center;
				background-repeat: no-repeat;
				height: 26px;
				width: 26px;
				position: absolute;
				bottom: 24px;
				left: 24px;
			}
			.block_1{
				background-color: var(--box_gray);
				margin-top: 160px;
				line-height: 44px;
			}
			.block_2{
				background-color: var(--blue);
    			margin-top: 80px;
			}
			.block_3{
				background-color: var(--box_red);
    			margin-top: 0;
			}
		}
	}
	.company_top_content_business_bg{
		width: 100%;
		position: relative;
	}
	.company_top_content_business_bg::before{
		content: "";
		background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/company_top_content_business_bg.png");
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		width: 100%;
		height: 750px;
		background-position: top;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10;
	}
	.company_top_content_business{
		max-width: 1100px;
		margin: 0 auto;
		padding-top: 140px;
		position: relative;

		.content_head{
			position: absolute;
    		top: -100px;
			z-index: 20;
	
			h2{
				margin: 0;
				font-size: 140px;
				font-family: 'RedHatDisplay-Bold';
				letter-spacing: 2.5px;
				display: flex;

				.business_text{
					position: relative;
					display: flex;
					align-items: center;
				}
				.business_text::before {
					content: "";
					width: 100px;
					height: 100px;
					background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/red_cycle.png");
					background-size: contain;
					background-position: center;
					background-repeat: no-repeat;
					display: inline-block;
					margin: 0 25px;
				}
			}
		}
		.content{
			flex-grow: 1;
    		border-bottom: 1px solid var(--line_gray);
			position: relative;
			z-index: 30;
			padding-top: 130px;
			margin-bottom: 200px;

			.content_link{
				display: flex;
				justify-content: space-between;
				color: var(--bg_d_gray);
				width: 100%;
				border-top: var(--line_gray) 1px solid;
				padding: 30px 0;
				align-items: center;
				font-size: 16px;
				position: relative;
				z-index: 30;

				.content_name{
					font-size: 32px;
					display: flex;
					align-items: center;
					font-family:'RedHatDisplay-Bold';

					.content_icon{
						display: inline-block;
						width: 80px;
						height: 80px;
						background-size: contain;
						background-repeat: no-repeat;
						margin-right: 50px;
						text-align: center;
						align-content: center;
						font-weight: normal;
						letter-spacing: 3px;
						font-size: 20px;
						color: var(--bg_d_gray);
					}
				}
				.view_more{
					font-size: 18px;
					letter-spacing: 1.5px;
					display: flex;
					align-items: center;

					.more{
						opacity: 0;
					}
					.view_more_icon{
						display: inline-block;
						width: 50px;
						height: 10px;
						background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_line_gray.png");
						background-size: contain;
						background-repeat: no-repeat;
						margin-left: 10px;
						vertical-align: middle;
					}
				}
			}
			.content_link:hover {
				color: var(--black);
				border-top: var(--black) 1px solid;

				.content_icon {
					color: #ffffff;
					background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/blue_circle.png");
				}
				.view_more .more {
					opacity: 1;
				}
				.view_more_icon {
					background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_line.png");
				}
			}
		}
		.content::before{
			content: "";
			background-color: var(--white);
			position: absolute;
			width: 100vw;
			height: 100%;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
			z-index: 20;
			border-radius: 40px 40px 0 0;
		}
		@media (min-width: 1320px) {
			.content::before {
			  width: 1320px;
			}
		  }
	}
	.company_top_content_oficgroup_bg{
		width: 100%;
		position: relative;
	}
	.company_top_content_oficgroup_bg::before{
		content: "";
		background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/company_top_oficgroup_bg.png");
		background-repeat: no-repeat;
		background-size: cover;
		position: absolute;
		width: 100%;
		height: 1340px;
		background-position: top;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10;
	}
	.company_top_content_oficgroup{
		max-width: 1100px;
		margin: 0 auto;
		position: relative;
		padding: 400px 0 115px;

		.company_name_box{
			display: flex;
			justify-content: space-between;
            gap: 10%;
            position: relative;
            z-index: 20;
            align-items: center;

			.company_name{
				width: 70%;

				h2{
					margin: 0;
					font-weight: bold;
					font-size: 110px;
					font-family: 'RedHatDisplay-Bold';
					display: flex;
				}
			}
			.all_view{
				display: flex;
				align-items: end;
				justify-content: space-between;
				width: 30%;
				font-family: 'RedHatDisplay-Medium';
				font-size: 18px;
				padding: 20px 0;
				border-bottom: 3px var(--black) dotted;
			}
			.all_view::after {
				content: "";
				width: 60px;
				height: 30px;
				background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_white.png");
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center;
			}
		}
		.container{
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 10px;
			padding-top: 68px;
			flex-wrap: wrap;
			justify-content: center;
			position: relative;
			z-index: 20;

			.box{
				height: 300px;
				position: relative;
				color: white;
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				padding: 26px 29px;
				box-sizing: border-box;
				border-radius: 50px 0;

				p{
					font-size: 22px;
					font-family:'RedHatDisplay-Medium';
					margin: 0;
					line-height: 36px;
					letter-spacing:0.5px;
				}
			}
			.box::after {
				content: "";
				background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_circle_white.png");
				background-size: contain;
				background-position: center;
				background-repeat: no-repeat;
				position: absolute;
				bottom: 30px;
				right: 30px;
				width: 30px;
				height: 30px;
			}
			.box:nth-child(1) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_oficgroup_img_1.png") no-repeat center / cover;
			}
			.box:nth-child(2) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_oficgroup_img_2.png") no-repeat center / cover;
			}
			.box:nth-child(3) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_oficgroup_img_3.png") no-repeat center / cover;
			}
			.box:nth-child(4) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_oficgroup_img_4.png") no-repeat center / cover;
			}
			.box:nth-child(5) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_oficgroup_img_5.png") no-repeat center / cover;
			}
			.box:nth-child(6) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_oficgroup_img_6.png") no-repeat center / cover;
			}
		}
	}
	.company_top_sustainability_bg{
		width: 100%;
		position: relative;
		overflow: hidden;
	}
	.company_top_sustainability_bg::before {
		content: "";
		background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/top_sustainability_bg.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		position: absolute;
		width: 600px;
		height: 440px;
		top: 120px;
		left: 61%;
		z-index: 10;
	}
	.company_top_sustainability{
		max-width: 1100px;
		margin: 0 auto;
		position: relative;
		padding-bottom: 200px;

		.content_head{
			position: relative;

			h2{
				margin: 0;
				font-size: 140px;
				font-family: 'RedHatDisplay-Bold';
				position: relative;
				z-index: 20;
			}
		}
		.container{
			display: flex;
			gap: 10px;
			padding-top: 140px;
			position: relative;
			z-index: 20;

			.box{
				width: 360px;
				height: 300px;
				position: relative;
				color: white;
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				padding: 25px 40px;
				box-sizing: border-box;
				border-radius: 50px 0;

				p{
					font-size: 30px;
					font-family:'RedHatDisplay-Medium';
					margin: 0;
				}
			}
			.box::after {
				content: "";
				background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_circle_white.png");
				background-size: contain;
				background-position: center;
				background-repeat: no-repeat;
				position: absolute;
				bottom: 30px;
				right: 30px;
				width: 30px;
				height: 30px;
			}
			.box:nth-child(1) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_sustainability_img_1.png") no-repeat center / cover;
			}
			.box:nth-child(2) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_sustainability_img_2.png") no-repeat center / cover;
			}
			.box:nth-child(3) {
				background: url("/wp/wp-content/themes/osakafuji/images/en/company/top_sustainability_img_3.png") no-repeat center / cover;
			}
		}
	}

}
.company_service_recruit_links{
	overflow: hidden;

	.box{
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		max-width: 1100px;
		margin: 0 auto;

		.img{

			img{
				display: block;
    			width: 100%;
			}
		}
		.text{
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 120px;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			width: 100%;

			.title{
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 226px;

				.en{
					font-family: 'RedHatDisplay-Bold';
					font-size: 76px;
					line-height: 92px;
					letter-spacing: 3px;
					color: var(--white);
				}
			}
			img{
				width: 100px;
			}
		}
	}
	.left{
		.img {
/* 			margin-left: calc(50% - 50vw); */
		}
		.text {
			justify-content: flex-end;
            padding-right: 120px;
            box-sizing: border-box;
        }
	}
/* 	.right{
		.img {
			margin-right: calc(50% - 50vw);
		}
		.text {
			justify-content: flex-start;
            padding-left: 120px;
            box-sizing: border-box;
			
			.title {
				padding-left: 20px;
			}
        }
	} */
}
.contact_bot_button{
	max-width: 1100px;
	margin: 0 auto;
	color: var(--black);

	a {
        border: 1px solid var(--black);
        height: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
		border-radius: 100px;
		font-family:'RedHatDisplay-Bold';
		font-size: 55px;
		margin-top: 160px;
		letter-spacing: 5px;

		img{
			position: absolute;
			height: 202px;
			width: 202px;
			top: -1px;
			left: -1px;
		}
    }
}
@media(min-width:769px){
	.contact_bot_button:hover{
		a {
			background-color: var(--black);
			color: var(--white);

			img{
				top: -1px;
				right: -1px;
				left: auto;
			}
		}
	}
}

/*-------------------- philosophy --------------------*/
.philosophy-greeting-container{
    *,
    *::before,
    *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    ul, ol {
        list-style: none;
    }

    a {
        text-decoration: none;
        color: inherit;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    body {
        background-color: #fff;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    input, textarea, select, button {
        font-family: inherit;
        font-size: inherit;
        border: none;
        outline: none;
        background: transparent;
    }

    * {
        box-sizing: border-box;
    }

    header, footer, section, article, nav, aside, figure, figcaption {
        margin: 0;
        padding: 0;
        display: block;
    }

    .philosophy-greeting-title {
        padding-top: 100px;
        background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/philosophy_bg_1.png");
        background-position: top;
        background-repeat: repeat;
        background-size: contain;
		
        .pc_none{
            display: none;
        }
        .mobile_none{
            display: block;
        }
        .head_philosophy-greeting-title{
            max-width: 1100px;
            margin: 0 auto;
        }
        h2{
            font-size: 140px;
            font-family: 'RedHatDisplay-Bold';
            width: fit-content;
			line-height: 161px;
        }
        h3{
            font-size: 110px;
            width: fit-content;
            margin: 0;
            font-family: 'RedHatDisplay-Bold', Arial, sans-serif;
            font-weight: bold;
            color: #8696A6;
            margin-top: -17px;
        }
        p{
            font-size: 56px;
            margin-top: 50px;
            font-family: 'RedHatDisplay-Bold';
            font-weight: normal;
        }
    }

    .philosophy-box-img{
        display: flex;
        width: 100%;
        margin-top: 140px;
    }
    .circle-container img{
        width: 81%;
        position: relative;
        height: 650px;
        max-height: 650px;
        object-fit: cover;
        border-bottom-right-radius: 80px;
		z-index: 2;
    }
	img.philosophy-banner {
		width:80%;
		z-index: 5;
	}
    .banner_red_blue_mb{
        display: none;
    }
     .circle-container{
        position: absolute;
        width: 35%;
        right: 0%;
        transform: translateY(-50%);
        z-index: 1;
        margin-top: 100px;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
    } 
    .circle-container img{
        width: 100%;
        object-fit: fill;
    }

    .philosophy-content-box{
        max-width: 1100px;
		margin: 100px auto 0 auto;
        
        p{
            font-size: 22px;
            font-family:'RedHatDisplay-Regular';
            line-height: 36px;
        }
        .sign_line {
			font-family:'RedHatDisplay-Regular';
            text-align: right;
            font-size: 24px;
            margin-top: 71px;
            margin-right: 20px;
	    }
        .sign_line_name {
			font-size: 40px;
            margin-left: 40px;
			font-family: 'RedHatDisplay-Bold';
        }

        .p_name_2{
            font-size: 35px !important;
            font-weight: bold;
        }
        .space-after{
            margin-right: 25px;
        }
    }
}
.ofic_group{
    margin: 0 auto;
    padding-top: 190px;
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/border_banner.png");
    background-position: top;
    background-repeat: no-repeat;
    position: relative;

    *,
    *::before,
    *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    ul, ol {
        list-style: none;
    }

    a {
        text-decoration: none;
        color: inherit;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    body {
        background-color: #fff;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    input, textarea, select, button {
        font-family: inherit;
        font-size: inherit;
        border: none;
        outline: none;
        background: transparent;
    }

    * {
        box-sizing: border-box;
    }

    header, footer, section, article, nav, aside, figure, figcaption {
        margin: 0;
        padding: 0;
        display: block;
    }

    > h2{
        font-size: 40px;
        padding-left: 30px;
        line-height: 62px;
        border-left: 10px solid #0075C2;
        font-weight: bold;
    }
    
    .p_description_1{
        margin-top: 64px;
    }
    p{
        line-height: 40px;
    }

    .moderate-border{
        max-width: 1100px;
        margin: 0 auto;
    }
	.moderate-border h3{
		padding-left: 32px;
        font-family: 'RedHatDisplay-Bold';
        font-weight: normal;
        font-size: 36px;
        line-height: 57px;
        border-left: 8px solid #0075c1;
	}
    .moderate-border img{
        position: absolute;
        top: -365px;
        left: -41%;
        width: 57%;
    }
    

    .p_description_1, .p_description_2 {
        font-size: 22px;
        color: #333;
        line-height: 36px;
        font-family:'RedHatDisplay-Regular';
        font-weight: normal;
    }
    
    h2 {
        font-family: 'ZenOldMincho-Bold';
		font-weight: normal;
        font-size: 36px;
        color: #333;
        line-height: 1.5;
        margin-bottom: 20px;
    }
    
    .info-box{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        max-width: 1100px;
        margin: 0 auto;
    }
    .philosophy-content-box{
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        margin-top: 138px;
        padding-bottom: 93px;
        border-bottom: 2px solid #0075C2;
		
        h3{
			color: #0075C2;
            font-size: 60px;
            font-weight: bold;
            font-family: 'RedHatDisplay-Bold';
            letter-spacing: 6px;
        }
        .phi-subtitle{
            margin-top: 10px;
            color: #0075C2;
            font-size: 23px;
            font-family: 'ZenOldMincho-Bold';
			font-weight: normal;
        }
        .phi-description_1{
			font-family:'RedHatDisplay-SemiBold';
            margin-top: 68px;
            font-size: 32px;
            text-align: center;
            line-height: 48px;
        }
    }
    .purpose-value-content-box {
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        margin-top: 60px;
        padding-bottom: 64px;
        border-bottom: 2px solid #0075C2;
        position: relative; 
    }
    
    .purpose-value-content-box h3 {
        color: #0075C2;
        font-size: 60px;
        padding: 0 10px;
        font-family: 'RedHatDisplay-Bold';
        letter-spacing: 6px;
    }
    
    .purpose-value-subtitle {
        margin-top: 10px;
        color: #0075C2;
        font-size: 23px;
        font-family: 'ZenOldMincho-Bold';
		font-weight: normal;
        letter-spacing: 3px;

    }
    
    .purpose-value-description {
        text-align: center;
        margin-top: 32px;
        font-family:'RedHatDisplay-SemiBold';
        font-size: 32px;
        line-height: 48px;
    }
    .purpose_value_description_t_l {
        display: block;
		text-align: start;
		margin: 0 auto;
		margin-top: 42px;
    }
    
    .purpose-value-content-box::after {
        content: "";
        position: absolute;
        bottom: 0px; 
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        border-bottom: 25px solid #0075C2; 
    }
    .purpose-value-content-box:last-child::after {
        content: none;
    }
    .affter_none::after {
        content: none !important;
    }
    .p_grid_2{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .purpose-value-description{
        .purpose-value-description {
            font-size: 18px;
            margin-top: 10px;
            font-family: 'kozminpro-medium';
            letter-spacing: 3px;
        }
    }


    /* CONTACT BUTTON */
    .contact-button {
        cursor: pointer;
        display: flex;
        background-color: white;
        border: 2px solid black;
        border-radius: 100px;
        width: 100%;
        height: 200px;
        margin: 240px auto 0;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        -ms-border-radius: 100px;
        -o-border-radius: 100px;
        position: relative;
        align-items: center;
        align-content: center;
        justify-content: center;
    }
    
    .circle {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background-color: black;
        display: flex;
        justify-content: center;
        align-items: center;
		position: absolute;
        top: 0;
		left: 0;
    }
    
    .arrow {
        color: white;
        font-size: 40px;
    }
    
    .text-container {
        display: flex;
        gap: 50px;
        margin-right: 30px;
    }
    
    .contact {
        font-family: 'RedHatDisplay-Bold';
        font-size: 55px;
        font-weight: bold;
        color: #333;
        margin: 0;
        letter-spacing: 3px;
    }

    
    .japanese {
        font-family: "ryo-gothic-plusn", sans-serif;
        font-size: 24px;
        margin: 0;
        font-weight: bold;
        letter-spacing: 3px;
    }

    .contact-button-mb{
        display: none;
    }


    /* cirle button */
    .circle-button {
        align-self: flex-end;
        width: 50px;
        height: 50px;
        border-radius: 50%; 
        background-color: #007BFF;
        display: flex;
        justify-content: center;
        align-items: center;
        color: white; 
        font-size: 24px; 
        font-weight: bold;
        text-align: center;
        cursor: pointer; 
    }
    .triangle{
        font-size: 18px;
    }
    
	&.mg_n{
		margin:0;
	}
}

.ofic_group_title{
	margin-bottom: 157px;
	
	h2{
		font-family:'RedHatDisplay-Bold';
		font-size:140px;
		line-height:120px;
	}
	p{
		margin-top:48px;
		font-family:'ZenOldMincho-Bold';
		font-weight: normal;
		font-size:45px;
		line-height:78px;
	}
}
/*-------------------- パンくずリスト --------------------*/
.breadcrumb{
	display:flex;
	align-items:center;
	max-width:1200px;
	margin:0 auto;
	padding:25px 50px 0;
}
.product_main .breadcrumb{
	padding:25px 0 0;
	border-top:1px solid #d2d2d2;
}
.company_breadcrumb{
	background-color:#dfe3e3;
}
.company_breadcrumb.white{
	background-color:#ffffff;
}
.breadcrumb a{
	font-size:14px;
	color:#8696a6;
}
.breadcrumb span{
	padding-left:8px;
	font-size:14px;
	color:#8696a6;
}
.breadcrumb a.active{
	text-decoration:underline;
	color:#0075c2;
}

/*------------------overview----------------*/
.overview {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 0;
    outline: 0;
    background: none;
    text-decoration: none;
    list-style: none;
    font-size: 100%;


    .img_banner {
        width: 100%;
        position: relative;
        background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/img_banner_bg.png");
        background-repeat: no-repeat;
        background-position:top -1px center;
        background-size: cover;
        padding-top: 120px;

        .overview_title {
            max-width: 1100px;
            font-family: 'RedHatDisplay-SemiBold';
            display: flex;
            margin: 0 auto;
        }
        .overview_title h2{
            font-family:'RedHatDisplay-Bold';
            font-size: 140px;
            line-height: 117px;
            margin: 0 auto;
            margin-bottom: 100px;
        }

        .img_banner_content {
            max-width: 1100px;
            margin: 0 auto;
            position: relative;
            display: flex;
        

            .tower_img {
                height: 500px;
                width: 70%;
                background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/im_02西南_1.jpg");
                border-radius: 100px 0 100px 0;
                background-position: 0px 29%;
                background-size: 100%;
                z-index: 5;
            }

            h3 {
                font-family: 'ZenOldMincho-Bold';
				font-weight: normal;
                font-size: 45px;
                writing-mode: vertical-rl;
                letter-spacing: 15px;
                margin-left: 20%;
            }

            .blue_circle {
                width: 100px;
                height: 100px;
                position: absolute;
                left: -146px;
                top: 66px;
                border-radius: 100%;
                background: linear-gradient(-45deg, #0060A0, #0075C2);
            }

            .red_circle {
                width: 340px;
                height: 340px;
                position: absolute;
                left: 55%;
                top: 265px;
                border-radius: 100%;
                background: linear-gradient(-45deg, #B3000F, #E60012);
            }

            .gray_circle {
                width: 170px;
                height: 170px;
                position: absolute;
                left: 95%;
                top: 270px;
                border-radius: 100%;
                background: linear-gradient(-45deg, #657689, #8696A6);
            }
        }
    }



    .company_info {
        max-width: 1100px;
        margin: 0 auto;
        font-family: 'RedHatDisplay-Regular';
        margin-top: 170px;

        .company_wapper {
            

            h3 {
                position: relative;
                align-content: center;
                font-size: 24px;
                line-height: 32px;
                border-bottom: 1px solid #657689;
                font-family: 'RedHatDisplay-Medium';
                padding-bottom: 25px;
				margin-bottom: 40px;


                .blue_stroke {
                    position: absolute;
                    width: 20px;
                    top: 55px;
                    border-bottom: 4pt solid #0060A0;
                }

                .red_stroke {
                    position: absolute;
                    width: 20px;
                    top: 55px;
                    left: 20px;
                    border-bottom: 4pt solid #B3000F;
                }

                .gray_stroke {
                    position: absolute;
                    width: 20px;
                    top: 55px;
                    left: 40px;
                    border-bottom: 4pt solid #657689;
                }
            }

            .company_document {
                margin-top: 48px;

                .info_box {
                    padding: 30px 0 30px 0;
                    flex-wrap: nowrap;
                    display: flex;
                    font-size: 18px;
					line-height: 32px;
                    border-bottom: 1px solid #dfe3e3;
                    font-family: 'RedHatDisplay-Regular';

                    h4 {
                        min-width: 200px;
                        font-weight: 400;
                    }
					.info_flex{
						flex:1;
					}
                }
            }

            .map_info {
                margin-top: 30px;


                .map_img {
                    margin: 30px 0;
                    width: 100%;
                    height: 300px;
                }
            }

            .ofic_title {
                max-width: 100%;
                margin-top: 80px;
                display: flex;
                flex-direction: column;
                text-align: center;
                align-items: center;
                font-size: 17pt;
                /*22pt -> 17pt*/
                line-height: 49pt;
                letter-spacing: 2px;

                img {
                    max-width: 290px;
                    max-height: 300px;
                    margin: 60px 0 40px 0;
                }
            }

            .document_box {
                font-size: 22pt;
                line-height: 49pt;
                margin-top: 60px;
                display: flex;
                flex-direction: column;
                gap: 40px;

                p {
                    border-bottom: 2px dashed #8696A6;
                }

                span {
                    font-size: 17pt;
                    /*18pt -> 17pt*/
                    line-height: 40pt;
                }

            }

            .character_content {
                display: grid;
				grid-template-columns:repeat(2, 1fr);
                margin-top: 80px;

                img {
                    width: 100%;
                    padding:0 118px 0 95px;
					box-sizing:border-box;
                }

                .character_text {
                    font-family: "m-plus-rounded-1p", sans-serif;
					font-weight: bold;
                    font-size: 36px;
                    line-height: 80px;
                    display: flex;
                    flex-direction: column;

                    .character_title {
                        border-bottom: 2px dashed #8696A6;
                        margin: 0;
                        display: flex;
                        align-items: flex-end;
                        gap: 30px;

                        .character_subtitle {
                            font-size: 60px;
                            letter-spacing: 12px;
                        }
                        .furigana {
                            font-size: 16px;
                            text-align: center;
                            height: 13px;
                            letter-spacing: 3px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                        }
                    }

                    .character_document {
						padding:36px 0;
                        font-size: 16pt;
                        line-height: 2;
                        font-weight: 700;
                        border-bottom: 2px dashed #8696A6;
						font-family: "m-plus-rounded-1p", sans-serif;

                        p {
                            display: grid;
							grid-template-columns:230px 1fr;
							align-items:baseline;
                        }

                        .label {
                            font-weight: bold;
                            color: black;
                        }

                        .value {
                            color: #007acc;
                            font-weight: bold;
                            letter-spacing: 3px;
                        }
                    }
                }
            }

            .btn_profile {
                background-color: #F3F7F7;
                min-height: 220px;
                display: flex;
                border-radius: 120px;
                justify-content: center;
                align-items: center;
                gap: 95px;

                h4 {
                    font-family: 'RedHatDisplay-Bold';
                    color: #0075C2;
                    /* background-color: #FACBCC; */
                    max-height: max-content;
                    font-size: 24px;
                    line-height: 49px;
                    letter-spacing: 4px;
                }

                p {
                    font-family: "m-plus-rounded-1p", sans-serif;
					font-weight: 700;
					font-style: normal;
                    font-size: 18px;
                    line-height: 35px;
                    letter-spacing: 2px;
                }
            }

            .btn_page {
                display: flex;
                gap: 20px;

                img {
                    width: 100%;
                }
            }
            .btn_tv_title {
                color: #0075C2;
                text-align: center;
                font-size: 27px;
                border-bottom: 1px solid;
                border-top: 1px solid;
                letter-spacing: 5px;
            }
            .btn_contact {
                padding-top: 240px;
                padding-bottom: 180px;
            }
			.steel_img {
                display: flex;
                margin: 60px 0;


                .steel_title{
                    font-family: 'kozminpro-medium';
                    max-width: 620px;
                    width: 57%;
                    background-color: #DFE3E3;
                    font-size: 24pt;
                    line-height: 28pt;
                    letter-spacing: 10px;
                    padding: 30px;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;


                    .btn_steel {
                        align-self: end;

                        img{
                            width: 100%;
                        }
                    }
                    
                }
                img{
                    width: 44%;
                }
                .steel_title2{
                    font-family: 'kozminpro-medium';
                    width: 481px;
                    height: 240px;
                    background-color: #CCCCCC;
                    color: #fff;
                    font-size: 24pt;
                    line-height: 28pt;
                    letter-spacing: 10px;
                    padding: 30px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                }
                
            }
        }
    }
	.company_info_top{
		margin-bottom: 64px;
	}
	.group_companies_box {
		margin-top: 215px;
	}
	.major_clients_box{
		margin-top: 192px;

		.company_wapper {

            .company_document {
                margin-top: 40px;

				.info_box {
                    padding: 0 0 30px 0;
                    margin-top: 30px;
					line-height: 32px;

					h4 {
                        min-width: 303px;
                    }
                }
            }
        }
	}
	.mg_reset {
        margin-top: 0;
    }

    .btn_wapper {
        max-width: 1100px;
        font-family: 'RedHatDisplay-Regular';
        margin: 0 auto;


        .btn_box {
            width: 100%;
            margin-top: 10px;

            .box_title {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 30px;	
                background-color: #F8FAFA;
/* 				cursor: pointer; */

                span {
                    font-size: 24px;
                    line-height: 32px;
                }
				.group_companies_box_note {
                    font-size: 18px;
                    line-height: 32px;
					color: #6D6D6A;
                }

                .icon_plus {
                    width: 30px;
                    height: 30px;
                    color: #657689;
                    font-weight: 600;
					line-height:1;
					font-family: 'kozminpro-medium';
                }
				a{
					color: #0075C2;
					text-decoration: underline;
					font-size: 20px;
					font-family: 'RedHatDisplay-Regular';
				}

            }

            .box_content {
				display:none;
                width: 100%;
                padding: 40px 60px 80px 60px;
                font-size: 18px;
                line-height: 32px;
                box-sizing: border-box;
                margin-top: 3px;
                background-clip: padding-box;
                background-color: #F8FAFA;

                a {
                    color: #0075C2;
                    font-size: 20px;
                    margin: 20px 0 20px 0;
                    text-decoration: underline;
                }

                .box_subtitle {
					margin-bottom:4px;
                    padding: 20px;
                    color: #fff;
                    background-color: #8696A6;
                }

                .box_item {
                    display: grid;
					grid-template-columns:180px 1fr;
					margin-bottom:4px;
                    background-color: #F8FAFA;

                    .txt_underline {
                        text-decoration: underline;
                    }

                    .box_year {
						display: flex;
						justify-content: center;
						align-items: center;
						flex-direction: column;
						min-width: 180px;
						min-height: 60px;
						margin:0;
						padding:10px 0;
						font-size:18px;
						line-height:32px;
						text-align: center;
						color: #fff;
						background-color: #8696A6;
						letter-spacing: 3px;
                    }

                    .bg_gray {
                        background-color: #595757;
                    }

                    .box_text {
                        max-width: 798px;
                        border-bottom: 1px dotted #8696A6;
                        padding: 20px 0 20px 30px;
                        display: flex;
						justify-content:center;
                        flex-grow: 1;
                        flex-direction: column;

                        u {
                            display: inline;
                            color: #0075C2;
                            text-decoration: underline;
                            line-height: 1;
                        }
                    }
                }
				
				.container{
					display:grid;
					
					&.col2{
						grid-template-columns:repeat(2, 1fr);
					}
					ul{
						margin:0;
						padding-left:20px;
						
						li{
							font-size:18px;
							line-height:40px;
						}
						&.lg{
							li{
								font-size:26px;
								line-height:56px;
							}
						}
					}
				}
			}


        }



    }

}
.btn_map_link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
    padding: 10px 10px 10px 25px;
    max-width: 480px;
    border: 1px solid #000;
    border-radius: 100px;
    cursor: pointer;
	position: relative;

	span {
        font-size: 18px;
        line-height: 32px;
        font-family: 'RedHatDisplay-Regular';

		img {
			position: absolute;
            display: flex;
            align-items: center;
            transform: rotate(90deg);
            width: 16px;
            height: 16px;
			right: 15px;
			top: 50%;
			transform: translateY(-50%);
        }
    }
}

/*-----------------------safety--------------------------*/
.company_contents .company_safety_bg_1 {
    background-image: url("/wp/wp-content/themes/osakafuji/images/company/safety_background_1.png");
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 100px;
    background-position:top -1px center;
}
.company_contents .company_safety_content_1 {
    max-width: 1100px;
    margin: 0 auto;
    color: #23231E;
    overflow: hidden;
}
.company_contents .company_safety_content_1 .content_head {
    display: flex;
    align-items: center;
}
.company_contents .company_safety_content_1 .content_head h1 {
    margin: 0;
    font-weight: bold;
    font-size: 140px;
    line-height: 121pt;
    font-family: 'RedHatDisplay-Bold';
    letter-spacing: 5px;
    white-space: nowrap;
}

.company_contents .company_safety_content_1 .content_head p {
    font-size: 45px;
    font-family: 'RedHatDisplay-Bold';
	font-weight: normal;
    letter-spacing: 12px;
    writing-mode: vertical-rl;
    text-align: center;
    margin: auto;
}
.company_contents .company_safety_content_1 h2 {
    display: flex;
    align-items: center;
    font-size: 36px;
    font-family: 'RedHatDisplay-Bold';
    font-weight: normal;
    margin: 160px 0 63px 0;
}

.company_contents .company_safety_content_1 h2 span {
	display:flex;
	justify-content:center;
	align-items:center;
    background-color: #23231e;
    color: white;
    font-size: 26px;
    font-family:'RedHatDisplay-SemiBold';
    letter-spacing: 5px;
    line-height: 29px;
    height: 64px;
    width: 64px;
    margin-right: 37px;
}
.company_contents .company_safety_content_1 .contents .content_1 h3 {
    text-align: center;
    font-size: 32px;
    font-family:'RedHatDisplay-SemiBold';
    font-weight: normal;
    position: relative;
    padding: 10px 0;
    letter-spacing: 2px;
    border-top: 1px #23231E solid;
    border-bottom: 1px #23231E solid;
    margin: 63px 0 48px 0;
}

.company_contents .company_safety_content_1 .contents .content_1 h3::before {
    top: 0;
}

.company_contents .company_safety_content_1 .contents .content_1 h3::after {
    bottom: 0;
}

.company_contents .company_safety_content_1 .contents .content_1 p {
    display: flex;
    align-items: baseline;
    margin: 24px 0;
    font-size: 18px;
    line-height: 32px;
    padding: 0;
}

.company_contents .company_safety_content_1 .contents .content_1 p span {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
	font-weight: normal;
    background-color: #0075c2;
    color: white;
    font-size: 18px;
    font-weight: bold;
    margin-right: 24px;
}
.company_contents .company_safety_content_1 .contents .content_2 p {
    line-height: 32px;
    font-size: 18px;
    margin: 0px 0 48px 0;
}
.company_contents .company_safety_content_1 .contents .content_2 p.line_1 {
    font-size: 32px;
    font-family:'RedHatDisplay-SemiBold';
    line-height: 48px;
	margin-bottom: 53px;
}
.company_contents .company_safety_content_1 .contents .content_3 .list {
    list-style: none;
    padding: 0;
    margin: 48px 0;
    font-family:'RedHatDisplay-Medium';
    font-size: 24px;
    line-height: 32px;
}
.company_contents .company_safety_content_1 .contents .content_3 .list li {
    display: flex;
    align-items: center;
    margin: 28px 0;
}

.company_contents .company_safety_content_1 .contents .content_3 .list li::before {
    content: ""; 
    width: 32px;
    height: 32px;
    background-image: url('/wp/wp-content/themes/osakafuji/images/company/square_check_b.png');
    background-size: cover;
    background-position: center;
    margin-right: 26px;
    display: inline-block;
}
.company_contents .company_safety_content_1 .contents .content_2 .sign_line {
    text-align: right;
    font-size: 24px;
    margin: 0;
    margin-top: 104px;
}

.company_contents .company_safety_content_1 .contents .content_2 .sign_line_name {
	font-size: 40px;
    font-family: 'RedHatDisplay-Bold';
    margin-left: 43px;
}
.company_contents .company_safety_content_1 .contents .content_1 img {
    width: 100%;
    margin-bottom: 53px;
}
.company_contents .company_safety_content_1 .contents .content_4 .custom-link {
    display: flex
;
    justify-content: space-between;
    font-family: 'kozminpro-medium';
    letter-spacing: 4px;
    align-items: center;
    text-decoration: none;
    font-size: 28px;
    color: #333;
    padding: 52px 0;
    width: 100%;
    border-bottom: 1px solid #ccc;
}

.company_contents .company_safety_content_1 .contents .content_4 .custom-link::after {
    content: "";
    width: 40px;
    height: 40px;
    background-image: url("/wp/wp-content/themes/osakafuji/images/company/right_cycle_arrow_1.png");
    background-size: cover;
    background-position: center;
    display: inline-block;
    margin-right: 20px;
}
.company_contents .company_safety_content_1 .contents .content_4 .custom-link:hover::after {
    background-image: url("/wp/wp-content/themes/osakafuji/images/company/right_cycle_arrow_b.png");
}
.company_safety_contents{
	font-size: 18px;
	line-height: 32px;
	font-family:'RedHatDisplay-Regular';

}

/*-------------------steel-----------------*/
.company_steel_contents{
    font-size: 18px;
	line-height: 32px;
	font-family:'RedHatDisplay-Regular';
}
.company_contents .company_steel_bg_1 .company_steel_content_1 {
    max-width: 1200px;
    margin: 0 auto;
    background-color: white;
    border-radius: 60px;
    padding-top: 160px;
}
.company_contents .company_steel_bg_1 .company_steel_content_1 .content_head {
    max-width: 1100px;
    margin: 0 auto;
}
.company_contents .company_steel_bg_1 .company_steel_content_1 .content_head h1 {
    font-family: 'RedHatDisplay-Bold';
	font-size: 96px;
    text-align: center;
    letter-spacing: 5px;
    line-height: 72px;
    margin: 0;
}
.company_contents .company_steel_bg_1 .company_steel_content_1 .content_head p {
    font-family: 'RedHatDisplay-Bold';
    font-size: 48px;
    line-height: 48px;
    color: #127fc5;
    text-align: center;
    margin: 49px 0 0 0;
}
.company_contents .company_steel_bg_1 .company_steel_content_1 .content_head .contents p {
    font-family:'RedHatDisplay-Regular';
    font-size: 18px;
    color: #23231E;
    text-align: start;
    line-height: 32px;
    margin-top: 96px;
}
.company_contents .company_steel_content_2 h2 {
    font-family: 'ZenOldMincho-Bold';
	font-weight: normal;
    font-size: 24px;
    letter-spacing: 4px;
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/steel_background_2.png");
    background-repeat: no-repeat;
    color: white;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px 0;
    margin: 45px 0 0 0;
}
.company_contents .company_steel_content_2 .container_title_boxs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    width: 100%;
    margin-top: 60px;
}

.company_contents .company_steel_content_2 .container_title_boxs .container_title_box {
    flex: 1;
    border-left: solid 2px #0075c1;
}
.company_contents .company_steel_content_2 .container_title_boxs .container_title_box:last-child {
    border-right: solid 2px #0075c1;
}

.company_contents .company_steel_content_2 .container_title_boxs .container_title_box .title_jp {
    font-family: 'ZenOldMincho-Bold';
	font-weight: normal;
    font-size: 40px;
    text-align: center;
    letter-spacing: 11px;
    margin: 0;
}


.company_contents .company_steel_content_2 .container_title_boxs .container_title_box .title_en {
    font-family: 'RedHatDisplay-SemiBold';
    font-size: 16px;
    color: #127fc5;
    text-align: center;
    margin: 5px 0 20px;
}
.company_contents .company_steel_content_2 .container_title_boxs_1 {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin-top: 80px;
    align-items: center;
    gap: 10px;
    border-top: solid;
}
.company_contents .company_steel_content_2 .container_title_boxs_1 .title_before {
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/steel_background_3.png");
    background-repeat: no-repeat;
    background-size: contain;
    color: white;
    width: 180px;
    height: 40px;
    font-family: 'RedHatDisplay-SemiBold';
    font-size: 18px;
    letter-spacing: 4px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.company_contents .company_steel_content_2 .container_title_boxs_1 .title_behide {
    font-size: 18px;
    letter-spacing: 2px;
    font-family: "ryo-gothic-plusn", sans-serif;
}
.company_contents .company_steel_content_2 img {
    width: 100%;
}
.company_contents .company_steel_content_2 .separator {
    width: 100%;
    border-bottom: 3px dotted black;
    margin: 20px 0;
}
.company_contents .company_steel_content_2 .separator.solid {
	border-bottom: 1px solid black;
}
.company_steel_content_2{
	position:relative;
	max-width: 1100px;
    margin: 0 auto;
    color: #23231E;
    overflow: hidden;
}
.company_steel_content_2 map{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.group_local_container{
    display:none;
}
.group_company_container{
    display:grid;
    gap:240px;
}

#map_steel map{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#map_steel map area{
/* 	background:#aaaaaaaa; */
}
#map_steel map #map1{
	position: absolute;
    top: 1239px;
    right: 0;
    width: 240px;
    height: 188px;
}
#map_steel map #map2{
	position: absolute;
    top: 143px;
    left: 0;
    width: 240px;
    height: 248px;
}
#map_steel map #map3{
	position: absolute;
    top: 731px;
    right: 0;
    width: 240px;
    height: 218px;
}
#map_steel map #map4{
	position: absolute;
    top: 552px;
    right: 0;
    width: 240px;
    height: 168px;
}
#map_steel map #map5{
	position: absolute;
    top: 1403px;
    left: 0;
    width: 240px;
    height: 249px;
}
#map_steel map #map6{
	position: absolute;
	top: 552px;
	left: 0;
	width: 240px;
	height: 402px;
}
#map_steel map #map7{
	position: absolute;
    top: 1014px;
    left: 0;
    width: 240px;
    height: 200px;
}
#map_steel map #map8{
	position: absolute;
    top: 1224px;
    left: 0;
    width: 240px;
    height: 169px;
}
#map_steel map #map9{
	position: absolute;
    top: 958px;
    right: 0;
    width: 240px;
    height: 270px;
}
#map_steel map #map10{
	position: absolute;
    top: 142px;
    left: 431px;
    width: 240px;
    height: 269px;
}
#map_steel map #map11{
	position: absolute;
    top: 401px;
    left: 0;
    width: 240px;
    height: 140px;
}
@media(max-width:1100px){
	#map_steel map #map1{
		position: absolute;
        top: 112.5vw;
        right: 0;
        width: 21.7vw;
        height: 17.2vw;
	}
	#map_steel map #map2{
		position: absolute;
        top: 13vw;
        left: 0;
        width: 22vw;
        height: 22.5vw;
	}
	#map_steel map #map3{
		position: absolute;
        top: 66.5vw;
        right: 0;
        width: 21.7vw;
        height: 19.6vw;
	}
	#map_steel map #map4{
		position: absolute;
        top: 50.1vw;
        right: 0;
        width: 21.8vw;
        height: 15.2vw;
	}
	#map_steel map #map5{
		position: absolute;
        top: 127.6vw;
        left: 0;
        width: 22vw;
        height: 22.6vw;
	}
	#map_steel map #map6{
		position: absolute;
        top: 50.1vw;
        left: 0;
        width: 22vw;
        height: 36.6vw;
	}
	#map_steel map #map7{
		position: absolute;
        top: 92.2vw;
        left: 0;
        width: 22vw;
        height: 18.2vw;
	}
	#map_steel map #map8{
		position: absolute;
        top: 111.2vw;
        left: 0;
        width: 22vw;
        height: 15.2vw;
	}
	#map_steel map #map9{
		position: absolute;
        top: 87.1vw;
        right: 0;
        width: 21.8vw;
        height: 24.5vw;
	}
	#map_steel map #map10{
		position: absolute;
        top: 12.9vw;
        left: 39vw;
        width: 22vw;
        height: 24.5vw;
	}
	#map_steel map #map11{
		position: absolute;
        top: 36.5vw;
        left: 0;
        width: 22vw;
        height: 12.6vw;
	}
}

#map_sm map{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#map_sm map area{
/* 	background-color:#aaaaaaaa; */
}
#map_sm map #map1{
	position: absolute;
    top: 180px;
    left: 0;
    width: 360px;
    height: 30px;
}
#map_sm map #map2{
	position: absolute;
    top: 217px;
    left: 0;
    width: 360px;
    height: 29px;
}
#map_sm map #map3{
	position: absolute;
    top: 252px;
    left: 0;
    width: 360px;
    height: 30px;
}
#map_sm map #map4{
	position: absolute;
    top: 289px;
    left: 0;
    width: 360px;
    height: 30px;
}
#map_sm map #map5{
	position: absolute;
    top: 353px;
    left: 0;
    width: 360px;
    height: 270px;
}
#map_sm map #map6{
	position: absolute;
    top: 633px;
    left: 0;
    width: 360px;
    height: 70px;
}
#map_sm map #map7{
    position: absolute;
    top: 713px;
    left: 0;
    width: 360px;
    height: 70px;
}
#map_sm map #map8{
	position: absolute;
    top: 1080px;
    left: 0;
    width: 340px;
    height: 140px;
}
#map_sm map #map9{
	position: absolute;
    top: 1229px;
    left: 0;
    width: 340px;
    height: 70px;
}
#map_sm map #map10{
	position: absolute;
    top: 160px;
    left: 425px;
    width: 308px;
    height: 110px;
}
#map_sm map #map11{
	position: absolute;
    top: 299px;
    left: 425px;
    width: 309px;
    height: 30px;
}
#map_sm map #map12{
	position: absolute;
    top: 338px;
    left: 425px;
    width: 309px;
    height: 61px;
}
#map_sm map #map13{
	position: absolute;
	top: 1080px;
	left: 470px;
	width: 300px;
	height: 110px;
}
#map_sm map #map14{
	position: absolute;
    top: 541px;
    right: 0;
    width: 300px;
    height: 70px;
}
#map_sm map #map15{
	position: absolute;
    top: 621px;
    right: 0;
    width: 300px;
    height: 144px;
}
#map_sm map #map16{
	position: absolute;
    top: 774px;
    right: 0;
    width: 300px;
    height: 190px;
}
#map_sm map #map17{
	position: absolute;
    top: 974px;
    right: 0;
    width: 300px;
    height: 110px;
}
@media(max-width:1100px){
	#map_sm map #map1{
		position: absolute;
        top: 16.5vw;
        left: 0;
        width: 33vw;
        height: 2.5vw;
	}
	#map_sm map #map2{
		position: absolute;
        top: 20vw;
        left: 0;
        width: 33vw;
        height: 2.5vw;
	}
	#map_sm map #map3{
		position: absolute;
        top: 23vw;
        left: 0;
        width: 33vw;
        height: 2.5vw;
	}
	#map_sm map #map4{
		position: absolute;
        top: 26.5vw;
        left: 0;
        width: 33vw;
        height: 2.5vw;
	}
	#map_sm map #map5{
		position: absolute;
        top: 32.2vw;
        left: 0;
        width: 33vw;
        height: 24.5vw;
	}
	#map_sm map #map6{
		position: absolute;
        top: 57.5vw;
        left: 0;
        width: 33vw;
        height: 6.4vw;
	}
	#map_sm map #map7{
		position: absolute;
        top: 64.8vw;
        left: 0;
        width: 33vw;
        height: 6.4vw;
	}
	#map_sm map #map8{
		position: absolute;
        top: 98.2vw;
        left: 0;
        width: 31vw;
        height: 12.8vw;
	}
	#map_sm map #map9{
		position: absolute;
        top: 111.8vw;
        left: 0;
        width: 31vw;
        height: 7vw;
	}
	#map_sm map #map10{
		position: absolute;
        top: 14.5vw;
        left: 38.6vw;
        width: 27.8vw;
        height: 10vw;
	}
	#map_sm map #map11{
		position: absolute;
        top: 27.4vw;
        left: 38.6vw;
        width: 28.2vw;
        height: 2.5vw;
	}
	#map_sm map #map12{
		position: absolute;
        top: 30.8vw;
        left: 38.6vw;
        width: 28.2vw;
        height: 5.5vw;
	}
	#map_sm map #map13{
		position: absolute;
        top: 98.2vw;
        left: 42.6vw;
        width: 27.4vw;
        height: 10vw;
	}
	#map_sm map #map14{
		position: absolute;
        top: 49.2vw;
        right: 0;
        width: 26.8vw;
        height: 6.4vw;
	}
	#map_sm map #map15{
		position: absolute;
        top: 56.4vw;
        right: 0;
        width: 26.8vw;
        height: 13.2vw;
	}
	#map_sm map #map16{
		position: absolute;
        top: 70.4vw;
        right: 0;
        width: 26.8vw;
        height: 17.3vw;
	}
	#map_sm map #map17{
		position: absolute;
        top: 88.5vw;
        right: 0;
        width: 26.8vw;
        height: 10vw;
	}
}

.company_contents .company_steel_content_3 {
    max-width: 1100px;
    margin: 0 auto;
    margin-top: 190px;
    color: #23231E;
    overflow: hidden;
}
.company_contents .company_steel_content_3 .section {
    margin: 0 0 40px 0;
    position: relative;
}

.company_contents .tech_cen_content_3 .tech_cen_content_section {
    margin: 120px 0 40px 0;
}

.company_contents .company_steel_content_3 .section h3 {
    font-family:'RedHatDisplay-Medium';
    font-size: 24px;
    letter-spacing: 2px;
    margin: 0;
}

.company_contents .company_steel_content_3 .line_container {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.company_contents .company_steel_content_3 .line {
    width: 100%;
    height: 1px;
    background-color: #72726f;
}

.company_contents .company_steel_content_3 .rectangles {
    display: flex;
    position: absolute;
    left: 0;
}

.company_contents .company_steel_content_3 .rectangle {
    width: 20px;
    height: 5px;
}

.blue { background-color: #0075c2; }
.red { background-color: #e60012; }
.gray { background-color: #595757; }
.company_contents .company_steel_bg_3 {
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/steel_background_4.png");
    background-size: cover;
    background-position: center;
    padding-top: 100px;
	padding-bottom:130px;
}
.pd_n{
    padding-bottom: 0 !important;
}

/*----------------------- Construction -----------------------*/
.company_contents{
    font-size: 18px;
    line-height: 32px;
    font-family: 'RedHatDisplay-Regular';

    .company_top_content{
        max-width: 1100px;
        margin: 0 auto;
        background-color: white;
        border-radius: 60px;
        padding-top: 160px;

        .content_head{

            h1{
                font-family: 'RedHatDisplay-Bold';
                font-size: 96px;
                text-align: center;
                letter-spacing: 2px;
                line-height: 73px;
                margin: 0;
            }
            .content_head_detail{
                font-family: 'RedHatDisplay-Bold';
                font-size: 48px;
                line-height: 48px;
                color: #127fc5;
                text-align: center;
                margin: 40px 0 0 0;
            }
            .contents{
                font-family: 'RedHatDisplay-Regular';
                font-size: 18px;
                color: #23231E;
                text-align: start;
                line-height: 32px;
                margin-top: 96px;
            }
        }
    }
    .company_content_box{
        max-width: 1100px;
        margin: 0 auto;
        margin-top: 94px;
        color: #23231E;
        overflow: hidden;

        .content_box_title{
            margin: 0 0 37px 0;
            position: relative;

            h3{
                font-family:'RedHatDisplay-Medium';
                font-size: 24px;
                letter-spacing: 1px;
                margin: 0;
            }
            .line_container{
                position: relative;
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                margin-top: 24px;

                .rectangles{
                    display: flex;
                    position: absolute;
                    left: 0;

                    .rectangle{
                        width: 20px;
                        height: 5px;
                    }
                    .blue{
                        background-color: #0075c2;
                    }
                    .red{
                        background-color: #e60012;
                    }
                    .gray{
                        background-color: #595757;
                    }
                }
                .line{
                    width: 100%;
                    height: 1px;
                    background-color: #72726f;
                }
            }
        }
        .content_box_detail{

            .img_grid_box{
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 10px;
                width: 100%;

                img{
                    width: 100%;
                }
            }
        }
    }
}

/*----------------------- surface-modification -----------------------*/
.company_surface_modif_contents{
    .company_steel_bg_1{
        .company_steel_content_1{
            .content_head{
                h1 {
                    letter-spacing: 3px;
                }
                .contents {
                    margin-bottom: 96px;
                }
            } 
            .content_2_links_box{
                max-width: 1100px;
                margin: 0 auto;
                display: flex;
                gap: 20px;

                .content_2_link_boxs{
                    padding: 75px;
                    width: 50%;
                    border: 2px solid;
                    border-radius: 96px;
                    font-family: 'RedHatDisplay-Bold';
                    font-size: 40px;
                    position: relative;
                }
                .content_2_link_boxs::after{
                    content: "";
                    width: 56px;
                    height: 56px;
                    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_circle_blue.png");
                    background-repeat: no-repeat;
                    background-size: cover;
                    position: absolute;
                    right: 75px;
                    top: 50%;
                    transform: translateY(-50%);
                }
                .content_2_link_boxs:hover::after{
                    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/right_arrow_circle_blue_hover.png");
                }
            }
        } 
    } 

}
.bg-modification-partner{
    background-color: #DFE3E3;
    padding: 76px 0 240px 0;

    .partner-wrapper{
        max-width: 1100px;
        margin: 0 auto;
        background: #fff;
        display: flex;
        flex-direction: column;

        .section {
            position: relative;
            max-width: 1100px;
            margin: 0 50px;
        }
        
         .section h3 {
            font-family:'RedHatDisplay-Medium';
            font-size: 24px;
            margin: 65px 0 0 0;
			 
			 .inside_h3 {
				 font-size: 18px;
				 padding-left: 20px;
			 }
        }
        
         .line_container {
            position: relative;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 25px;
        }
        
         .line {
            width: 100%;
            height: 1px;
            background-color: #72726f;
        }
        
         .rectangles {
            display: flex;
            position: absolute;
            left: 0;
        }
        
         .rectangle {
            width: 20px;
            height: 5px;
        }
        
        .blue { background-color: #0075c2; }
        .red { background-color: #e60012; }
        .gray { background-color: #595757; }
        .company_contents .company_steel_bg_3 {
            background-image: url("images/company/steel_background_4.png");
            background-size: cover;
            background-position: center;
            padding-top: 100px;
            padding-bottom:240px;
        }

        .partner-container{
            .flex-wrapper{
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                margin: 40px 50px 75px;
                gap: 23px 45px;

                p {
                    display: flex;
                    gap: 8px;
                }
            }
            h3{
                font-size: 26px;
                line-height: 28px;
                letter-spacing: 4px;
                font-family: "ryo-gothic-plusn", sans-serif;
                border-bottom: 2px solid;
            }
            .blue_dot{
                color: #0075C1;
                font-size: 14px;
            }
            .text_detail{
                font-size: 18px;
                line-height: 28px;
            }
        }
    }

}
.company_pb{
    padding-bottom: 0;
}

.company_magnesium_contents .company_top_content .content_head .content_head_detail {
	margin: 50px 0 0 0;
}
/*-------------------- ofic-group --------------------*/
.company_wrap{
    max-width:1100px;
    margin:0 auto;
    font-family:'RedHatDisplay-Regular';
    font-size: 18px;
}
.company_wrap .btn_map_link {
	margin-bottom: 0;
}
.group_mv{
    padding-top:115px;
    padding-bottom:90px;
    position: relative;
}
.group_mv .title{
    margin-bottom: 48px;
    position: relative;
    z-index: 20;
}
.group_mv .title h1{
    display: flex;
    font-family: 'RedHatDisplay-Bold';
    font-size: 140px;
    line-height: 120pt;
    letter-spacing: 7px;
}
.group_mv .title h1 span{
    font-size:100px;
    line-height:117px;
}
.group_mv .container{
    position: relative;
    z-index: 20;
}
.group_mv .container h2{
    font-family: 'RedHatDisplay-Bold';
    font-size: 56px;
    font-weight: normal;
    margin-bottom: 47px;
}
.group_mv .container p{
    font-size: 18px;
    line-height: 32px;
}
.group_mv .container .group_top_img{
    width: 100%;
    display: flex;
    justify-content: flex-end;
	margin-top: 18px;

    img{
        width: 709px;
        height: auto;
    }
}

.group_local{
    margin-bottom:190px;
}
.group_headline{
    margin-bottom:48px;
}
.group_headline h2{
    position: relative;
    font-family:'RedHatDisplay-Medium';
    padding-bottom: 26px;
    font-size: 24px;
    font-weight: normal;
    line-height: 32px;
    border-bottom: 1px solid #23231e;
}
.group_headline h2:before{
    content:'';
    position:absolute;
    bottom:-2px;
    left:0;
    width:60px;
    height:4px;
    background-image:url('/wp/wp-content/themes/osakafuji/images/en/company/company_head_border.png');
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
}
.group_local_map{
    padding-top:91px;
    padding-bottom:110px;
    background-image:url('/wp/wp-content/themes/osakafuji/images/en/company/group_local_back.png');
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
	margin-top: 60px;
}
.group_local_map img{
    width:100%;
}
.group_local_container{
    display:none;
}
.group_company_container{
    display:grid;
    gap:208px;
}
.group_company_column .profile{
    display:grid;
    grid-template-columns:1fr 480px;
    margin-bottom:48px;
}
.group_company_column .profile .box{
    position:relative;
    padding:27px 18px 22px 27px;
    background-color:#dfe3e3;
}
.group_company_column .profile .box h3{
    font-family: 'RedHatDisplay-Medium';
    font-size: 24px;
    line-height: 33px;
    font-weight: normal;
}
.group_company_column .profile .box .box_note{
    color: var(--gray_note);
    text-align: end;
    margin-bottom: 20px;
}
.group_company_column .profile .box .abs_box {
    position: absolute;
    bottom: 22px;
    right: 22px;
}
.group_company_column .profile .box a{
    display: block;
    width: 444px;
    padding: 10px 0;
    font-size: 18px;
    text-align:center;
    color:#ffffff;
    background-color:#23231e;
    background-image:url('/wp/wp-content/themes/osakafuji/images/en/company/cursor_white_icon.png');
    background-position:center right 10px;
    background-repeat:no-repeat;
    background-size:21px;
    border-radius:50px;
}
.group_company_column .profile .img{
    height:240px;
    overflow:hidden;
}
.group_company_column .profile .img img{
    width:100%;
}
.group_company_column .company{
    display:grid;
    gap:96px;
}
.group_company_column .company .box h4{
    margin-bottom:40px;
    padding:8px 0 10px 16px;
    font-size: 20px;
    line-height: 32px;
    border-left:8px solid #23231e;
    border-bottom:1px solid #23231e;
}
.group_company_column .company .box dl{
    display:grid;
    grid-template-columns:200px 1fr;
    align-items:baseline;
    gap:20px 0;
    margin:0;
}
.group_company_column .company .box dl dd{
	line-height:32px;
}
.group_company_column .company .box hr{
    margin: 32px 0;
    border:none;
    border-bottom:2px dotted #23231e;
}
.group_company_column .company .box .access{
    display:grid;
    gap:32px;
    margin-top:28px;
}
.group_company_column .company .box .access a{
    width:220px;
    padding:8px 44px 8px 24px;
    font-size:16px;
	letter-spacing: 4px;
    text-align:center;
    background-image:url('/wp/wp-content/themes/osakafuji/images/en/company/cursor_blue_icon.png');
    background-position:center right 10px;
    background-repeat:no-repeat;
    background-size:21px;
    border:1px solid #23231e;
    border-radius:50px;
}
.group_company_column .company .box .access img{
    width:100%;
}
.group_company_column .company .box .access iframe{
    width:100%;
	height: 300px;
}
.group_local_map .group_local_wrap {
    position: relative;
}
.group_local_map map[name="ofic_group_map"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.group_local_map map[name="ofic_group_map"] area{
/* 	background:#aaaaaaaa; */
}
.group_local_map map[name="ofic_group_map"] #map1 {
    position: absolute;
    top: 0;
    left: 4%;
    width: 36%;
    height: 7%;
}
.group_local_map map[name="ofic_group_map"] #map2 {
	position: absolute;
    top: 7.5%;
    left: 4%;
    width: 36%;
    height: 8%;
}
.group_local_map map[name="ofic_group_map"] #map3 {
	position: absolute;
    top: 16.5%;
    left: 4%;
    width: 36%;
    height: 7.6%;
}
.group_local_map map[name="ofic_group_map"] #map4 {
    position: absolute;
    top: 25%;
    left: 4%;
    width: 36%;
    height: 9%;
}
.group_local_map map[name="ofic_group_map"] #map5 {
	position: absolute;
    top: 52.8%;
    left: 0%;
    width: 36.2%;
    height: 5.8%;
}
.group_local_map map[name="ofic_group_map"] #map6 {
	position: absolute;
    top: 59.6%;
    left: 0%;
    width: 36.2%;
    height: 7.6%;
}
.group_local_map map[name="ofic_group_map"] #map7 {
	position: absolute;
    top: 0%;
    right: 0%;
    width: 40.6%;
    height: 7.8%;
}
.group_local_map map[name="ofic_group_map"] #map8 {
    position: absolute;
    top: 8.6%;
    right: 0%;
    width: 40.6%;
    height: 6%;
}
.group_local_map map[name="ofic_group_map"] #map9 {
	position: absolute;
    top: 31.6%;
    right: 0%;
    width: 36%;
    height: 6%;
}
.group_local_map map[name="ofic_group_map"] #map10 {
	position: absolute;
    top: 42%;
    right: 0%;
    width: 36%;
    height: 12.6%;
}
.group_local_map map[name="ofic_group_map"] #map11 {
    position: absolute;
    top: 59.4%;
    right: 16%;
    width: 41.4%;
    height: 6%;
}
.group_local_map map[name="ofic_group_map"] #map12 {
    position: absolute;
    bottom: 6.8%;
    right: 10%;
    width: 40%;
    height: 6%;
}
.group_local_map map[name="ofic_group_map"] area:hover {
    cursor: pointer;
    opacity: 0.7;
}

/* 千葉支店 */
.company_steel_img img{
	width:100%;
	margin-top:100px;
}
.company_steel_toggle{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:10px;
	margin-top:128px;
	margin-bottom:96px;
	border-bottom:4px solid #0075c2;
}
.company_steel_toggle .box{
	padding:30px 0;
	font-family:'kozminpro-medium';
	font-size:20px;
	text-align:center;
	background-color:#f3f7f7;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
	cursor:pointer;
}
.company_steel_toggle .box.active{
	color:#ffffff;
	background-color:#0075c2;
}
.company_steel_container .box{
	display:none;
}
.company_steel_container .box.active{
	display:block;
}
.company_steel_container .box img{
	width:100%;
}
.group_company_column .company .box .access .btn_map_link span img {
    width: 16px;
}
.group_mv_bg::before{
    content: "";
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/group_ofic_bg.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
	position: absolute;
    width: 100%;
    height: 780px;
    z-index: 10;
}
.map_toggle {
    display: none;
}

/*-------------------- katagirishoko --------------------*/
.company_ofic_head_bg{
    position: relative;
    padding-top: 96px;
}
.company_ofic_head_bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/banner_head_title_1.png");
}
.company_ofic_head{
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    font-family:'RedHatDisplay-Regular';
    font-size: 18px;
    color: var(--black);

    .group_title{
        display: flex;
        justify-content: space-between;
        font-family:'RedHatDisplay-Bold';

        .title_content{
            display: flex;
            flex-direction: column;
			gap: 65px;
			padding-bottom: 96px;

            .title{
                display: flex;
                align-items: center;
                gap: 25px;

                .blue_stroke{
                    width: 32px;
                    height: 32px;
                    border-radius: 100%;
                    background-color: #0075C2;
                }
                h3{
                    font-size: 32px;
                    letter-spacing: 2px;
                    color: #0075C2;
                    font-weight: normal;
                }
            }
            h4{
                font-size: 56px;
                font-weight: normal;
				line-height: 63px;
            }
        }
        img{
            max-width: 360px;
            align-self: end;
        }
    }
}
.company_ofic_contents{
    max-width: 1100px;
    margin: 0 auto 96px;
    font-family:'RedHatDisplay-Regular';
    font-size: 18px;
    color: var(--black);

    .group_headline{
        margin-top: 28px;
    }
    .contact_title{
		
        h3{
            font-size: 20px;
            line-height: 32px;
            border-left: 8px solid var(--black);
            border-bottom: 2px solid var(--black);
            padding:12px 0 12px 16px;
            margin-bottom: 24px;
        }
    }
    .ofic_group_box{
        display: flex;
        padding: 27px 0;
        border-bottom: 1px solid #DFE3E3;

        .left_box{
            min-width: 200px;
            line-height: 38px;
        }
        .partner{
            line-height: 38px;
			width: calc(100% - 200px);

            .t_inl_blo {
                display: inline-block;
                width: 64px;
                vertical-align: top;
                line-height: 26px;
                padding-top: 8px;
            }
            
            .desc {
                display: inline-block;
                width: calc(100% - 80px);
                vertical-align: top;
                line-height: 26px;
                padding-top: 8px;
            }
            .m_b{
                margin-bottom: 10px;
            }
        }
    }
    .map_info{
        margin: 32px 0 40px;
		
		iframe{
			width:100%;
			height:300px;
		}
    }
    .ofic_group_gray_bg_box{
        font-weight: normal;
        margin-top: 40px;
        background-color: #F3F7F7;

        h3{
            font-size: 20px;
            line-height: 32px;
            font-weight: normal;
            padding: 20px 40px;
            background-color: #F3F7F7;
            border-bottom: 2px solid var(--white);
        }
        p{
            padding: 40px;
            background-color: #F3F7F7;
            line-height: 36px;
        }
        .content_flex_box{
            display: flex;
            gap: 4.17vw;
            padding: 40px;
            max-width: 100%;

            h4{
                background-color: #8190A0;
                color: #fff;
                padding: 10px 30px;
                width: 35%;
                max-height: max-content;
                font-size: 20px;
                font-weight: 100;
            }
            .box_contents{
                width: 65%;
                display: flex;
                flex-direction: column;
                justify-items: end;
                max-height: none !important;
                gap: 16px;

                .box_content{
                    display: flex;
                    color: #23231E;
                    border-bottom: 1px solid #DFE3E3;
                    gap: 10px;
                    font-size: 18px;
                    font-weight: 100;
                    padding-bottom: 15px;

                    h5{
                        max-width: 285px;
                        width: 50%;
                        word-wrap: break-word;
                        font-size: 18px;
                        font-weight: 100;
                    }
                    .box_content_detail{
                        width: 50%;

                        p{
                            width: 100%;
                            display: inline-block;
                            padding: 0;
                            text-align: right;
                            word-wrap: break-word;

							.adjust1{
								display: inline-block;
                                width: 51px;
								letter-spacing:1.5px;
								text-align:left;
							}
							.adjust2{
								display: inline-block;
                                width: 34px;
								text-align:left;
							}
							.adjust3{
								display: inline-block;
                                width: 82px;
								letter-spacing:0.9px;
								text-align:left;
							}
                            .right_box{
                                display: inline-block;
                                width: 30%;
                                text-align: right;
                                min-width: max-content;
                            }
                        }
                    }
                }
            }
        }
    }
	.ofic_group_gray_bg_box_mb{
		margin-bottom: 96px;
	}
}
.company_btn_top_link{
    max-width: 1100px;
        width: 100%;
        margin: 160px auto 0 auto;
        display: flex;
        justify-content: end;
        align-items: center;

    a{
        width: 300px;
        padding: 5px 0;
        text-align: center;
        box-sizing: border-box;
        background-color: #23231E;
        border-radius: 30px;
        font-weight: normal;
        color: #ffffff;
        padding-right: 10px;
        position: relative;

        span{
            font-family:'RedHatDisplay-Medium';
            font-size: 24px;
            line-height: 32px;
            letter-spacing: 1px;
        }
        img{
            width: 20px;
            height: 20px;
            position: absolute;
            top: 50%;
            right: 0px;
            transform: translate(-50%, -50%);
        }
    }
}

/*-------------------- sustainability environment --------------------*/
.company_sus_envir_head_bg{
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/steel_background_1.png");
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 118px;
}
.company_contents .sus_envir_1 {
    max-width: 1100px;
    margin: 0 auto;
    font-size: 18px;
    font-family:'RedHatDisplay-Regular';
    margin-bottom: 96px;
}
.company_contents .company_sus_envir_head_bg .sus_envir_1 .content_head h1 {
    font-family: 'RedHatDisplay-Bold';
    font-size: 140px;
    line-height: 164px;
    margin: 0;
}
.company_contents .company_sus_envir_head_bg .sus_envir_1 .content_head .contents {
    margin-top: 36px;
    position: relative;
    height: 244px;
    background-image:url("/wp/wp-content/themes/osakafuji/images/en/company/sus_envir_img_1.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}
.company_contents .company_sus_envir_head_bg .sus_envir_1 .content_head .contents .content_head_1 {
    font-family:'ZenOldMincho-Bold';
	font-weight: normal;
    font-size: 50px;
    letter-spacing: 14px;
    line-height: 55px;
    margin: 0;
}
.company_contents .company_sus_envir_head_bg .sus_envir_1 .content_head .contents .content_head_2 {
    font-family:'RedHatDisplay-Medium';
    font-size: 48px;
    letter-spacing: 1px;
    color: #0075c1;
    margin-top: 40px;
}
.company_contents .sus_envir_1 h2 {
    font-family: 'RedHatDisplay-Bold';
    font-weight: normal;
    font-size: 36px;
	line-height:56px;
    margin: 96px 0 40px 0;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 34px;
}
.company_contents .sus_envir_1 h2 .sm{
	font-size:22px;
}
.company_contents .sus_envir_1 h2::before {
    content: "";
    width: 8px;
    height: 100%;
    background-color: #0075c2;
    position: absolute;
    top: 0;
    left: 0;
}
.company_contents .sus_envir_1 .contents .content_1 p {
    font-weight: normal;
    line-height: 32px;
    margin: 0;
}
.company_contents .sus_envir_1 .contents .content_2 p {
    font-family:'RedHatDisplay-SemiBold';
    font-weight: normal;
    font-size: 32px;
    line-height: 32px;
    margin: 63px 0 40px 0;
    text-align: center;
    border-bottom: 1px solid;
    border-top: 1px solid;
    padding: 15px 0;
}
.company_contents .sus_envir_1 .contents .content_3 {
    margin-bottom: 132px;
}
.company_contents .sus_envir_1 .contents .content_3 p {
    display: flex;
    align-items: center;
    margin: 40px 0;
    line-height: 32px;
}
.company_contents .sus_envir_1 .contents .content_3 .sus_social_footer_text {
    justify-content: flex-end;
    margin-top: 30px;
}
.company_contents .sus_envir_1 .contents .content_3 p span {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 36px;
    height: 36px;
/*     font-family:'RedHatDisplay-SemiBold'; */
	font-weight: normal;
    background-color: #23231e;
    color: white;
    font-size: 18px;
    margin-right: 24px;
}

.company_contents .sus_envir_1 h3 {
    font-family: 'kozminpro-medium';
    font-size: 22px;
    letter-spacing: 4px;
    margin: 64px 0 40px 0;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 30px;
    border-bottom: 1px solid;
	font-weight: 100;
}
.company_contents .sus_envir_1 h3::before {
    content: "";
    width: 8px;
    height: 100%;
    background-color: #23231e;
    position: absolute;
    top: 0;
    left: 0;
}

/* ==================Subtainability-Social===================  */
.company_contents .company_sus_envir_head_bg .sus_envir_1 .content_head .social-banner {
    background-image:url("/wp/wp-content/themes/osakafuji/images/en/company/subtainability_social_banner.png");
}
.company_contents .sus_envir_1{
    margin-bottom: 73px;
}
.company_contents .sus_envir_1 #sus_soc_link_2{
    margin-top: 160px;
}
.company_contents .company_social_content .contents .content_3 p {
    margin: 40px 0 20px;
	font-size:24px;
}
.company_contents .company_social_content .contents .content_3 .sus_social_footer_text {
	font-size:18px;
    text-align: end;
}
.company_contents .company_social_content {
    font-size: 18px;
    line-height: 32px;
	letter-spacing:1px;
    font-family:'RedHatDisplay-Regular';
    margin-top: 0;

    .br_amagasaki{
        display: none;
    }
    .dot-hidden-mb{
        display: inline;
    }
    .tb_d_n_mb{
        display: block;
    }
    .tb_d_n_pc{
        display: none;
    }
    .contents{
        .content-sus{

            .sus_social_p{
                font-size: 18px !important;
                margin: 0 !important;
            }
            .sus_social_p.mt-mb{
                font-size: 18px !important;
                margin-bottom: 48px !important;
            }
        }
    }
    .section-mg{
        margin: 0;

        .sus_social_p{
            font-weight: normal;
            margin: 40px 0 0 0;
        }
    }
    .social-mtt{
        margin-top: 40px !important;
    }
    .section{

        .sus-social_div_p {
            margin-top: 48px;
			
            .social_div_wrap_p{
                display: flex;
                align-items: center;
                gap: 24px;
                h4{
                    height: 36px;
                    width: 36px;
                    background-color: #23231e;
                    color: white;
                    min-width: 36px;
                    font-size: 18px;
					font-weight: normal;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin: 0;
                }
                p{
                    font-size: 23px !important;
                    font-family: 'RedHatDisplay-Medium';
                    font-weight: 100;
                    margin-top: 0;
                }
            }
            .sus-social-pt{
                margin-top: 24px;
				font-size: 18px;
                font-weight: 100;
                font-family:'RedHatDisplay-Regular';
            }

            .social_div_ol_span{
                display: flex;
                align-items: center;
                margin-top: 34px;
                gap: 24px;

                span{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background-color: #0075C2;
                    border-radius: 30px;
                    color: white;
                    font-family:'RedHatDisplay-Medium';
                    font-size: 17px;
                    padding: 5px 16px;
                    box-sizing: border-box;
                }
                p{
                    margin: 0;
					font-size:20px;
                }
            }
            .sus-outline{
                margin-top: 16px;
                margin-bottom: 32px;
                border-bottom: 1px dashed #23231e;
            }
            .sus-period{
                
                p{
                    margin: 0;
                }
                .sus-period-mt{
                    margin-top: 30px ;
                }
            }
            .sus-div-year-wrapper{
                margin-top: 32px;
                display: flex;
                gap: 16px;
                flex-direction: column;
                .sus-year-flex{
                    display: flex;
                    gap: 20px;
					
                    span{
                        width: 25%;
                        max-width: 260px;
                        height: 40px;
                        background-color: #DFE3E3;
                        display: flex;
                        align-items: center;
                        justify-content: flex-start;
                        font-size: 19px;
                        padding-left: 20px;
                        box-sizing: border-box;
                    }
                    p{
                        margin: 0;
                        width: 65%;
                    }
                }
            }
            .social_2_mt{
                margin-top: 60px;
            }
            .sus-radius{
				margin-top: 40px;
				
                span{
                    background-color: #8696A6;
                    border-radius: 50%;
                    width: 40px;
                    height: 40px;
                    font-size: 18px;
                    letter-spacing: 0px;
                    font-family: 'RedHatDisplay-Regular';
                }
            }
			.social_3_mt{
                margin-top: 20px;
            }

            .sus-period-contact{
                display: flex;
                flex-direction: column;
                gap: 16px;
                margin-top: 64px;
				
                .sus-period-contact-btn-content{
                    display: flex;
                    gap: 20px;
					
					.copy_btn{
						display:flex;
						gap:20px;
					}
                    span{
                        width: 210px;
                        height: 40px;
                        background-color: #23231E;
                        color: white;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        font-size: 18px;
                    }
                    p{
                        margin: 0;
                        display: flex;
                        align-items: center;
                    }
					button {
						display: flex;
						align-items: center;
						justify-content: center;
						background-color: #0075C2;
						border-radius: 20px;
						color: white;
						width: 100px;
						height: 40px;
						min-height: 40px;
						font-family: 'kozminpro-medium';
						letter-spacing: 3px;
						font-size: 18px;
						border: none;
						cursor: pointer;
					}
					button:hover {
						background-color: #005a99;
						box-shadow: 0 4px 10px rgba(0, 117, 194, 0.4);
					}

					button:active {
						background-color: #00497c;
						transform: scale(0.95);
					}
                    .sus-p-underline{
                        text-decoration: underline;
                    }
                    
                }
            }
        }
    }
    .section-mt{
        margin-top: 90px;
    }
    .section-sponsor{
        .sus-social-sponsor-container{
            display: flex;
            align-items: center;
            flex-direction: column;
            
            .sus-social-sponsor-item{
                display: flex;
                justify-content: space-between;
                gap: 34px;
                img{
                    width: 30%;
                    min-width: 320px;
                    height: auto;
                    object-fit: cover;
                }
                .sus-social-sponsor-content{
                    width: 70%;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;
                    border-bottom: 1px dashed #23231E;
                    padding: 20px 0;
					
                    .sus_social_p{
                        margin: 0 !important;
						
						span{
							font-size:inherit;
							color:#e60012;
						}
                    }
                }
            }
        }
    }
    .sus-table-mt{
        margin-top: 120px !important;
    }
    .society-mt{
        margin-top: 40px !important;
    }
    .sus-table-title-p{
        p{
            margin: 0;
			letter-spacing:1px;
        }
    }
    .sus-social-table-mt{
        margin-top: 44px;
    }
    .sus-social-table-title{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 40px;

        span{
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #DFE3E3;
            height: 48px;
        }
        .sus-table-span-1{
            width: calc(28% - 8px);
            max-width: 300px;
        }
        .sus-table-span-2{
            width: calc(72% - 2px);
        }
    }
    .sus-social-table-span-wrapper{
        display: flex;
        justify-content: center;
        gap: 40px;
        border-bottom: 1px solid #8696A6;
        padding: 25px 0;
        box-sizing: border-box;
    }

    .sus-table-span-content-1{
        width: calc(28% - 8px);
        max-width: 300px;
    }
    .sus-table-span-content-2{
        width: calc(72% - 2px);
    }
    
    .contents{
        .content_1{
            .table_container{
				margin-top: 40px;
				
                .sus-table-col{
                    width: 300px;
                    height: 48px;
                }
                .sus-table-col-1{
                    width: 200px;
                    background-color: #23231E;
                }
                 table {
                    width: 100%;
                    border-collapse: collapse;
                }
            }
        }
        .workflow-container {
            margin-top: 64px;
            display: flex;
            align-items: center;
            justify-content: center;

            img{
                width: 100%;
                height: auto;
                object-fit: cover;
            }
        }
    }
    .section-2-mt{
        margin-top: 30px !important;
        .h4-2-mt{
            margin-top: 40px;
            font-family:'kozminpro-medium';
        }
        .sus_social_p{
            font-size: 18px;
            margin: 0;
            font-family:'kozminpro-medium';
            line-height: 40px;
            letter-spacing: 2px;
            font-weight: normal;

        }
    }

    .section-2-mt-2{
        margin-top: 64px !important;
        h4{
            letter-spacing: 4px;
            line-height: 28px;
            font-family:'kozminpro-medium';
            height: 40px;
            display: flex;
            align-items: center;
			margin-bottom: 40px;
        }
        .sus-social-table-title-2{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;
            span{
                display: flex;
                align-items: center;
                justify-content: center;
                font-family:'kozminpro-medium';
                background-color: #DFE3E3;
                font-size: 18px;
                line-height: 40px;
                letter-spacing: 2px;
                height: 48px;
                color: white;
            }
            .sus-table-2-span-1{
                width: 41%;
                max-width: 440px;
                background-color: #23231E;
            }
            .sus-table-2-span-2{
                width: 59%;
                background-color: #8696A6;
            }
        }
        .span-2-mt{
            margin-top: 16px;
        }
        .sus-social-table-span-wrapper-2{
            display: flex;
            justify-content: center;
            gap: 16px;
            box-sizing: border-box;
            margin-top: 16px;
			
			span{
				display: flex;
				font-size: 20px;
				line-height: 40px;
				letter-spacing: 1.2px;
				font-family:'kozminpro-medium';
			}
        }

        .sus-table-1-span-content-1{
            width: 41%;
            max-width: 440px;
            background-color: #DFE3E3;
            display: flex;
            align-items: center;
            height: 80px;
            padding-left: 20px;
            box-sizing: border-box;
        }
        .sus-table-2-span-content-2{
            width: 59%;
            border-bottom: 1px dashed #23231E;
            display: flex;
            align-items: center;
            height: 80px;
            padding-left: 20px;
        }
    }
    .social-mt-origin{
        margin-top: 170px !important;
    }
    .section-2-mt-2{
        .sus_social_p{
            font-size: 18px;
            line-height: 40px;
            letter-spacing: 2px;
            font-family:'kozminpro-medium';
            font-weight: normal;
            margin: 0;
        }
        .sus_social_p_link{
            display: flex;
            align-items: center;
            gap: 15px;
            text-decoration: underline;
            color: #0075C2;
            font-size: 20px;
            letter-spacing: 1.6px;
            line-height: 40px;
            font-family:'kozminpro-medium';
			margin-bottom: 64px;
			
            img{
                width: 24px;
                height: 24px;
            }
        }
        .sus-bg-border-p{
            margin-top: 40px;
            background-color: #23231E;
            color: white;
            font-size: 22px;
            line-height: 28px;
            letter-spacing: 4px;
            height: 48px;
            font-family:'kozminpro-medium';
            font-weight: normal;
            width: 100%;
            display: flex;
            align-items: center;
            padding-left: 24px;
            box-sizing: border-box;
        }
        .sus-employees-mt{
            margin-top: 40px;
        }
        .training-mt{
            margin-top: 24px;
        }
        .training-table{
            display: flex;
            gap: 10px;
            width: 100%;
            .traning-line-left{
                width: 20%;
                max-width: 60px;
                color: white;
                background-color: #23231E;
                font-family: 'kozminpro-medium';
                font-weight: normal;
                font-size: 18px;
                line-height: 40px;
                letter-spacing: 3px;
                writing-mode: vertical-rl;
                white-space: nowrap;
                text-align: center;
                box-sizing: border-box;
                display: flex;
                align-items: center;
                justify-content: center;
				
				p {
					font-family: 'kozminpro-medium';
					font-weight: normal;
					font-size: 18px;
					line-height: 40px;
					letter-spacing: 6px;
				}
            }
            .traning-table-right{
                width: 100%;
                .sus-social-table-3-title{
                    width: 100%;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    gap: 10px;
                    span{
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        background-color: #DFE3E3;
                        font-size: 18px;
                        line-height: 40px;
                        letter-spacing: 2px;
                        height: 48px;
						font-family: 'kozminpro-medium';
                    }
                    .sus-table-3-span-1{
                        width: 30%;
                        max-width: 300px;
                    }
                    .sus-table-3-span-2{
                        width: 70%;
                    }
                }
                .sus-social-table-3-span-wrapper{
                    display: flex;
                    justify-content: center;
                    gap: 10px;
                    border-bottom: 1px solid #8696A6;
                    padding: 25px 0;
                    box-sizing: border-box;
					
					span{
						display: flex;
						font-size: 18px;
						line-height: 40px;
						letter-spacing: 2px;
						font-family: 'kozminpro-medium';

					}
                }

                .full-space-div{
                    width: 100% !important;
                    max-width: 100% !important;
                }
                .sus-table-3-span-content-1{
                    width: 30%;
                    padding-left: 10px;
                    max-width: 300px;
                    box-sizing: border-box;
                }
                .sus-table-3-span-content-2{
                    width: 70%;

                }
            }
            
        }
        .social_banner_flex-container{
            margin-top: 40px;
            display: flex;
            justify-content: center;
            gap: 48px;
            .item-2{
                width: 50%;
            }
            img{
                width: calc(30% - 10px);
                height: auto;
                max-height: 220px;
                object-fit: cover;
            }
            .sus-social-img{
                width: 49%;
                height: auto;
                object-fit: cover;
                max-height: 660px;
            }
        }
        .sus-club-activity-container{
            margin-top: 40px;
            display: flex;
            align-items: center;
            gap: 20px;
            .sus-activity-item{
                display: flex;
                align-items: center;
                flex-direction: column;;
                width: calc(25% - 10px);
                img{
                    width: 100%;
                    height: auto;
                    max-height: 220px;
                    object-fit: cover;
                    
                }
                p{
                    width: 100%;
                    height: 48px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-size: 22px;
                    letter-spacing: 4px;
                    line-height: 28px;
                    background-color: #DFE3E3;
                }
            }
        }
    }

}

.company_contents .sus_envir_1 .contents .content_1 .table_container .th_b_l {
    border-left: 2px solid #8696a6;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .th_b_t {
    border-top: 2px solid #8696a6;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .th_b_r {
    border-right: 2px solid #8696a6;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_r {
    border-right: 2px solid #23231e;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_l {
    border-left: 2px solid #23231e;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_t {
    border-top: 2px solid #23231e;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_b {
    border-bottom: 2px solid #23231e;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .h_5{
    height: 2px;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .b_n{
    border: none !important;
}
.company_contents .sus_envir_1 .contents .content_1 table {
/*     width: 1100px; */
    width:100%;
    border-collapse: collapse;
}

.company_contents .sus_envir_1 .contents .content_1 th, td {
    padding: 10px;
    text-align: center;
    letter-spacing: 0;
    font-weight: 100;
    border: 2px solid #8696a6;
}

.company_contents .sus_envir_1 .contents .content_1 th {
    background-color: #8696a6;
    color: white;
    border: 2px solid #f8fafa;
}

.company_contents .sus_envir_1 .contents .content_1 tr:nth-child(even) {
    background-color: #f2f2f2;
}
.company_contents .sus_envir_1 .contents .content_1 .dotted_separator {
    border-bottom: 2px dotted black;
    margin: 24px 0 40px 0;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .vertical_text {
    min-width: 60px;
    padding:0;
    writing-mode: vertical-rl;
    letter-spacing: 7px;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .vertical_text span{
    white-space: nowrap;
    writing-mode: vertical-rl;
    display: inline-block;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .bg_gray_1 {
    background-color: #dfe3e3;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .te_al_l {
    text-align: left;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .te_al_r {
    text-align: right;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_l_1 {
    border-left: 2px solid #dfe3e3;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_r_1 {
    border-right: 2px solid #dfe3e3;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .td_b_t_1 {
    border-top: 2px solid #dfe3e3;
}
.company_contents .sus_envir_1 .contents .content_1 .table_container .word_break_keep_all {
    word-break: keep-all;
}
.text_l{
    text-align: left;
}
section.company_social_content.sus_envir_1.sus_table-wrapper {
    margin-bottom: 0;
}
.table_container.tb_d_n_mb {
    margin-bottom: 0;
}


/* ========================================================== */
/* ==================Sustainability Governance===============  */
/* ========================================================== */

.company_contents .company_sus_envir_head_bg .sus_envir_1 .content_head .governance-banner {
    background-image:url("/wp/wp-content/themes/osakafuji/images/en/company/sus-governance-banner.png");
}
.company_contents .sus-goverment {
    margin-bottom: 140px;
}

/* ======================= contact =============================  */
.company_contact_bg_1 {
    padding-top: 136px;
}
.company_contents .contact_1 {
    max-width: 1100px;
    margin: 0 auto;
}
.company_contents .contact_1 .content_head h1 {
    align-items: baseline;
    font-family: 'RedHatDisplay-Bold';
    font-size: 96px;
    line-height: 116px;
    letter-spacing: 1px;
    margin-bottom: 40px;
}
.company_contents .contact_1 .content_head {
    position: relative;
}
.company_contents .contact_1 .content_head::after {
    content: "";
    position: absolute;
    height: 84px;
    width: 140px;
    background-image: url("/wp/wp-content/themes/osakafuji/images/en/company/contact_img_1.png");
    background-repeat: no-repeat;
    background-size: contain;
    top: -15px;
    right: 15%;
}
.company_contents .contact_1 .content_head p {
    font-family: 'ZenOldMincho-Bold';
    font-weight: normal;
    font-size: 40px;
    letter-spacing: 6px;
    /* line-height: 55px; */
    /* margin-top: 80px;*/
}
.company_contents .contact_2 {
	max-width: 1100px;
    margin: 0 auto;
    font-family:'RedHatDisplay-Regular';
    font-size: 18px;
    line-height: 32px;
    margin-bottom: 140px;
}
.company_contents .contact_2:last-child{
	margin-bottom:0;
}
.company_contents .contact_2 h2 {
    font-family: 'RedHatDisplay-Bold';
    font-weight: normal;
    font-size: 56px;
    line-height: 63px;
    color: #0075c2;
    margin: 0;
}
.company_contents .contact_2 p {
    margin-top: 60px;
}
.company_contents .t_red {
    color: #e60012;
}
.screen-reader-response{
	display:none;
}
.wpcf7-response-output{
	margin-bottom:50px;
}

.contact_field{
	max-width:1100px;
	margin:0 auto;
	padding:0 50px;
    font-family:'RedHatDisplay-Regular';
    font-size: 18px;
    line-height: 32px;
	
	form{
		margin:0
	}
}
.contact_area{
	.check{
		margin-bottom:160px;
		
		dl{
			margin:0 0 48px;
			padding-bottom:48px;
			border-bottom:2px dotted #23231e;
			
			dt{
				p{
					display:flex;
					justify-content:space-between;
					align-items:center;
					margin-bottom:48px;
					
					.title{
						padding:10px 16px;
						font-family:'kozminpro-medium';
						font-size:22px;
						line-height:28px;
						border-left:8px solid #0075c2;
					}
					.kome{
						font-family:'kozminpro-medium';
						font-size:18px;
					}	
				}
			}
			dd{
				margin:0;
				
				.wpcf7-checkbox{
					display:grid;
					grid-template-columns:repeat(4, 1fr);
					gap:32px 0;
					
					label{
						display:flex;
						align-items:center;
						gap:10px;
						font-family:'kozminpro-medium';
						font-size:18px;
						line-height:28px;
						
						input{
							margin:0;
							width:24px;
							height:24px;
						}
					}
				}
				.wpcf7-not-valid-tip{
					display:block;
					margin-top:20px;
					color:#e60012;
				}
			}
		}
	}
	.form{
		margin-bottom:48px;
		padding-bottom:96px;
		border-bottom:2px dotted #23231e;
		
		dl{
			margin:0 0 40px;
			
			&:last-child{
				margin:0;
			}
			dt{
				margin-bottom:15px;
				
				p{
					display: flex;
                    justify-content: space-between;
                    align-items: center;
                    font-family: 'RedHatDisplay-medium';
                    font-size: 20px;
                    line-height: 40px;
					
					span{
						padding:8px 12px;
						font-size:18px;
						line-height:1;
						color:#ffffff;
						
						&.r_red{
							background-color:#e60012;
						}
						&.r_gray{
							background-color:#595757;
						}
					}
				}
			}
			dd{
				margin:0;
				
				input[type="text"], input[type="email"], input[type="tel"]{
					width:100%;
					padding:20px;
					font-size:16px;
					background-color:#f0f0f0;
					border:none;
					border-radius:6px;
					box-sizing: border-box;
				}
				textarea{
					width:100%;
					padding:20px;
					font-size:18px;
					line-height:1.5;
					background-color:#f0f0f0;
					border:none;
					border-radius:6px;
					resize:vertical;
					box-sizing: border-box;
				}
				.file_area{
					padding:25px;
					background-color:#f0f0f0;
					border-radius:6px;

                    .wpcf7-form-control-wrap input[type="file"] {
                        display: none;
                      }
                      
                      .custom-file-label {
						  display: inline-block;
						  padding: 15px 32px;
						  border-radius: 4px;
						  cursor: pointer;
						  background-color: var(--white);
						  border: 1px solid;
						  line-height: 19px;
                      }
					#file_name{
						margin-left:20px;
					}
                      
                      .custom-file-label:hover {
                        color: var(--box_gray);
                        border: 1px solid var(--black);
                      }
				}
				.memo{
					margin-top: 20px;
                    line-height: 40px;
				}
				.wpcf7-not-valid-tip{
					display:block;
					margin-top:10px;
					color:#e60012;
				}
			}
		}
	}
	.text{
		margin-bottom:48px;
		padding-bottom:48px;
		border-bottom:2px dotted #23231e;
		
		h3{
			margin-bottom:22px;
			font-family: 'RedHatDisplay-medium';
			font-size:22px;
			line-height:36px;
			text-align:center;
		}
		ol{
			margin: 0;
            padding-left: 20px;
			
			li{
				margin-bottom: 15px;
                padding-left: 36px;
			}
		}
		.tx{
            max-width: 800px;
            margin: 0 auto;
            line-height: 40px;
			
			a{
				text-decoration:underline;
			}
		}
	}
	.post{
		.check{
			margin-bottom:48px;
			p{
				display: flex;
    			justify-content: center;
			}
			
			label{
				display:flex;
				justify-content:center;
				align-items:center;
				gap:20px;
				font-family: 'RedHatDisplay-medium';
				font-size:20px;
				line-height:40px;
				
				input{
					margin:0;
					width:24px;
					height:24px;
				}
			}
		}
		.btn{
			text-align:center;
			
			input{
				width:340px;
				height:60px;
				font-family: 'RedHatDisplay-medium';
				font-size:20px;
				line-height:40px;
				text-align:center;
				color:#ffffff;
				background-color:#23231e;
				cursor:pointer;
				
				&:hover{
					opacity:0.8;
				}
			}
		}
	}
}

.text_r{
	text-align:right !important;
}
.text_l{
	text-align:left !important;
}

.wpcf7-spinner{
	display:block;
	margin:0 auto;
}