/* Company */

#company_greetings .inner {
    max-width: 1300px;
}
#company_greetings_wrapper {
	position: relative;
	padding: 5em 72px 4em 72px;
    padding-right: 380px;
    color: #fff;
	background: #f4f4f4;
	background: #00a2e7;
	border-radius: 33px;
	overflow: hidden;
}
.company_greetings_image {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 350px;
}
.company_greetings_image_name {
    position: absolute;
    padding: 0.3em 0.5em;
    font-size: 0.75em;
    font-weight: 500;
    line-height: 1.2em;
    letter-spacing: 0;
    color: #fff;
    background: #00a2e7;
}
#company_greetings_image_name_ceo {
    top: 210px;
    left: 0;
}
#company_greetings_image_name_director {
    top: 160px;
    right: 10px;
}
#company_greetings_wrapper h3.title {
    color: #fff;
}
#company_greetings_wrapper h4 {
    margin-bottom: 1em;
    font-size: 1.3em;
    font-weight: 500;
    letter-spacing: 0.1em;
}
.company_greetings_text p {
    font-size: 1.05em;
    line-height: 2em;
}
.company_greetings_text p:not(:last-of-type) {
    margin-bottom: 0.5em;
}
#company_greetings_wrapper ul {
    margin-top: 2em;
}
#company_greetings_wrapper li {
    float: left;
    font-size: 0.9em;
    font-weight: 500;
}
#company_greetings_wrapper li:not(:last-of-type)::after {
    margin: 0 0.8em;
    content: '/';
    font-weight: 400;
}

.company_profile_offices {
	float: right;
    /* position: sticky;
    top: 130px; */
    width: 38%;
}
#company_profile_office_main {
	margin-bottom: 2.5em;
}
.company_profile_office_map {
	margin-bottom: 1.3em;
	/* width: auto;
	height: 273px; */
	aspect-ratio: 451 / 273;
	border-radius: 8px;
	overflow: hidden;
}
#_company_profile_office_main  .company_profile_office_map {
	aspect-ratio: 451 / 273;
}
#_company_profile_office_yasugi .company_profile_office_map {
	aspect-ratio: 433 / 546;
}
.company_profile_office_map iframe {
	width: 100%;
	height: 100%;
}
#company_profile_office_main .company_profile_office_pane {
	float: left;
	width: 48%;
}
#company_profile_office_main .company_profile_office_pane:nth-of-type(even) {
	float: right;
}
.company_profile_office_pane h4 {
	margin-bottom: 0.8em;
	font-size: 0.9em;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.2em;
}
.company_profile_office_pane li {
	font-size: 0.8em;
	line-height: 1.4em;
}
.company_profile_office_pane li:not(:last-of-type) {
	margin-bottom: 0.2em;
}
.company_profile_data {
	float: left;
    width: 57%;
}
.company_profile_data dl {
	line-height: 1.8em;
	font-size: 0.95em;
}
.company_profile_data.wo_map dl {
    float: none;
	width: 100%;
}
.company_profile_data dt {
	position: relative;
	clear: both;
	float: left;
	padding: 1em 0;
	width: 100%;
	width: 13em;
	font-weight: 500;
    line-height: 1.5em;
}
.company_profile_data dt span {
	display: block;
}
.company_profile_data dd {
	padding: 1.2em 0 1.2em 14em;
	border-bottom: 1px solid #eee;
    line-height: 1.5em;
}
.company_profile_data dd li:not(:last-of-type) {
	margin-bottom: 0.5em;
}
.company_profile_executive li span {
    display: inline-block;
    width: 9em;
}
.company_profile_partners ul {
    column-count: 2;
}
.company_profile_partners li {
    font-size: 0.95em;
    font-size: 0.9em;
    letter-spacing: 0;
    line-height: 1.45em;
}
.company_profile_partners li:nth-last-of-type(n + 3) {
    margin-bottom: 0.5em;
}

.company_child {
    float: left;
    width: 48%;
    padding: 2.5em 3em;
    background: #f4f4f4;
    border-radius: 10px;
    overflow: hidden;
}
.company_child:nth-of-type(even) {
    float: right;
}
.company_child_image {
    margin-bottom: 1.5em;
    border-radius: 8px;
    overflow: hidden;
}
.company_child h3 {
    margin-bottom: 1em;
    font-size: 1.4em;
    font-weight: 500;
    color: #00a2e7;
}
.company_child h4 {
    font-size: 0.95em;
}
.company_child .more {
    text-align: center;
}

/** History **/

#history_panes {
	padding: 0 3.5%;
}
.history_pane {
	position: relative;
	float: left;
	margin-bottom: 1.5em;
	width: 47%;
	padding-top: 15px;
	opacity: 0;
}
.history_pane:nth-of-type(odd) {
	clear: both;
}
.history_pane:nth-of-type(even) {
	float: right;
	margin-top: 4.5em;
}
.history_pane::before {
	position: absolute;
	right: -30px;
	top: -30px;
	content: '';
	width: 180px;
	height: 180px;
	opacity: 0.8;
	z-index: -1;
	mix-blend-mode: multiply;
}
.history_1::before {
	background: url(../images/company/history_charm_01.png) no-repeat center / cover;
}
.history_4::before {
	background: url(../images/company/history_charm_02.png) no-repeat center / cover;
}
.history_7::before {
	background: url(../images/company/history_charm_03.png) no-repeat center / cover;
}
.history_10::before {
	background: url(../images/company/history_charm_04.png) no-repeat center / cover;
}
.history_13::before {
	background: url(../images/company/history_charm_05.png) no-repeat center / cover;
}
.history_16::before {
	background: url(../images/company/history_charm_06.png) no-repeat center / cover;
}
.history_19::before {
	background: url(../images/company/history_charm_07.png) no-repeat center / cover;
}
.history_22::before {
	background: url(../images/company/history_charm_08.png) no-repeat center / cover;
}
.history_25::before {
	background: url(../images/company/history_charm_09.png) no-repeat center / cover;
}

.history_pane h4 {
	margin-bottom: 1.5rem;
	padding-bottom: 0.5rem;
	font-size: 2em;
	font-weight: 500;
	line-height: 1em;
    color: #00a2e7;
	border-bottom: solid 2px #00a2e7;
}
.history_pane h4 .history_year_ja {
	margin-left: 0.75em;
	font-size: 0.85rem;
}
.history_pane_month {
	margin-bottom: 0.75em;
}
.history_pane h5 {
	clear: both;
	float: left;
	margin-bottom: 0.35rem;
	width: 3em;
	font-size: 1em;
	font-weight: 500;
    color: #00a2e7;
}
.history_pane h5:not(:first-of-type) {
	margin-top: 1rem;
}
.history_issues {
	padding-top: 0.25em;
	padding-left: 3em;
}
.history_issues_event li {
	margin-bottom: 0.5em;
	line-height: 1.6em;
	font-size: 0.95em;
	font-size: 0.9em;
    color: #00a2e7;
	letter-spacing: 0.05em;
}
.history_issues_event li:not(:last-of-type) {
	margin-bottom: 0.5em;
}
.history_issues_machines li {
	line-height: 1.6em;
	font-size: 0.75em;
	font-size: 0.75em;
	letter-spacing: 0.05em;
	color: #999;
}


/* Sdgs */

#sdgs_approach_image {
	margin-bottom: 0;
}
#sdgs_approach_panes {
	position: relative;
	margin: -80px auto 0 auto;
	padding: 2em 2.5em 0 2.5em;
	padding: 2.5em 2.75em 0 2.75em;
	width: 85%;
	background: #fff;
	border-radius: 20px;
	z-index: 10;
}
.sdgs_approach_pane:not(:last-of-type) {
	margin-bottom: 3em;
	padding-bottom: 3em;
	border-bottom: 1px solid #eee;
}
.sdgs_approach_pane_text {
	float: left;
	padding-top: 1em;
	padding-top: 0;
	width: calc(100% - 250px);
	width: calc(100% - 240px);
}
.sdgs_approach_pane_text h4 {
	position: relative;
    padding-left: 38px;
    margin-bottom: 1.2em;
    font-size: 1.2em;
    font-weight: 500;
}
.sdgs_approach_pane_text h4::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: '';
    width: 28px;
    height: 28px;
    background: #f4f4f4;
    background: url(../images/company/logo_sdgs.png) no-repeat center / 100%;
}
.sdgs_approach_pane_text p {
	line-height: 2.2em;
}
.sdgs_approach_pane_image {
	float: right;
	position: relative;
	width: 200px;
	width: 180px;
	border-radius: 10px;
	overflow: hidden;
	opacity: 0;
	transform: scale(0.9);
}
.sdgs_approach_pane_image.reveal {
	animation: sdgs_motion 550ms 1 ease-in-out 300ms forwards;
}
@keyframes sdgs_motion {
	0% {
		transform: scale(0.95);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.sdgs_approach_pane_image::before {
	display: none;
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	content: 'SDGs GOAL';
	width: max-content;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1em;
	letter-spacing: 0;
	color: #f4f4f4;
}
.sdgs_approach_pane:nth-of-type(even) .sdgs_approach_pane_text {
	float: right;
}
.sdgs_approach_pane:nth-of-type(even) .sdgs_approach_pane_image {
	float: left;
}

@media screen and (max-width: 1100px) and (min-width: 1001px) {
	
	#company_greetings_wrapper {
		padding: 4.5em 72px 3em 55px;
		padding-right: 357px;
	}
	#company_greetings_wrapper h3.title {
		margin-bottom: 1em;
	}
	#company_greetings_wrapper h4 {
		margin-bottom: 0.8em;
	}
	.company_greetings_text p {
		font-size: 1em;
		line-height: 1.88em;
	}
	
}
@media screen and (max-width: 1000px) and (min-width: 751px) {
	
	#company_greetings_wrapper {
		padding: 4em 3em 3em 3em;
	}
    .company_greetings_image {
        right: 3em;
        top: 2em;
        bottom: auto;
        width: 130px;
        height: 130px;
        background: #fff;
        border-radius: 50%;
        overflow: hidden;
    }
	.company_profile_partners ul {
		column-count: 1;
	}
	
}
@media screen and (max-width: 870px) and (min-width: 751px) {
	
    .company_child {
		padding: 2.5em;
	}
	
}