@charset "utf-8";

/* 企業情報 */
#corporate .corporate_top{
}
/*#corporate .corporate_top .lead{
	padding-bottom: 100px;
	font-size: 1.6rem;
}
#corporate .corporate_top .philosophy{
	margin-bottom: 48px;
}
#corporate .corporate_top .ttl_link picture{
	position: relative;
	overflow: hidden;
}
#corporate .corporate_top .ttl_link a img{
	transition: .3s;
}
#corporate .corporate_top .ttl_link a:hover img{
	transform: scale(1.1,1.1);
}
#corporate .corporate_top .philosophy .h2_en_box .h2_sub{
	font-size: 3.2rem;
	display: block;
	padding-bottom: 20px;
}
#corporate .corporate_top .h2_en_box .h2_sub{
	font-size: 2.4rem;
	display: block;
	padding-bottom: 20px;
}
#corporate .corporate_top .h2_en_box h2{
	font-size: 10rem;
	font-weight: bold;
	line-height: .8;
}
#corporate .corporate_top .h2_en_box p{
	font-size: 2.4rem;
	padding-top: 10px;
}
#corporate .corporate_top .ttl_link .arrow {
	bottom: 40px;
}
#corporate .corporate_top .ttl_link .absolute {
	right: 20px;
}*/
/*#corporate .corporate_top .corporate_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0 15px;
	padding: 80px 0;
}
#corporate .corporate_top .corporate_menu li{
	width: calc(100% / 3 - 30px);
	border-top: 1px solid #D9DAE7;
}
#corporate .corporate_top .corporate_menu li:nth-child(n+4){
	border-bottom: 1px solid #D9DAE7;
}
#corporate .corporate_top .corporate_menu li a{
	padding: 30px 0;
	display: block;
	font-size: 2.4rem;
	transition: .3s;
	position: relative;
}
#corporate .corporate_top .corporate_menu li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(25deg);
	width: 8px;
	height: 8px;
	border-right: 1px solid #1A1A1A;
}
#corporate .corporate_top .corporate_menu li a:before,
#corporate .corporate_top .corporate_menu li a:after{
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background-color: #1A1A1A;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: .3s;
}
#corporate .corporate_top .corporate_menu li a:after{
	bottom: 2px;
	width: 6px;
}
#corporate .corporate_top .corporate_menu li a:hover:before,
#corporate .corporate_top .corporate_menu li a:hover:after {
	right: 15px;
}*/
#corporate .corporate_top .h2_en_box .h2_sub.txt_ijtt {
	font-size: 7rem;
	line-height: 1;
}
#corporate .corporate_top .ttl_link .arrow.arrow_black,
#corporate .corporate_top .ttl_link .arrow.arrow_black:after{
	background-color: #1A1A1A;
}


/* 会社概要 */
#corporate .corporate_outline .outline_table{
	padding-bottom: 60px;
}
#corporate .corporate_outline .twoColumnTable{
margin-bottom: 60px;
}
#corporate .corporate_outline .outline_table dl{
	border: 1px solid #D9DAE7;
	display: flex;
	flex-wrap: wrap;
	color: #1A1A1A;
	/*font-size: 1.8rem;*/
}
#corporate .corporate_outline .outline_table dl dt{
	background-color: #E0EEF0;
	width: 300px;
	padding: 10px 20px;
	border-bottom: 1px solid #D9DAE7;
	border-right: 1px solid #D9DAE7;
}
#corporate .corporate_outline .outline_table dl dd{
	width: calc(100% - 300px);
	padding: 10px 20px;
	border-bottom: 1px solid #D9DAE7;
}
#corporate .corporate_outline .outline_table dl dt:last-of-type,
#corporate .corporate_outline .outline_table dl dd:last-of-type{
	border-bottom: none;
}
#corporate .corporate_outline .outline_table dl dd .button{
	justify-content: left;
	padding: 10px 0 0;
}
#corporate .corporate_outline .twoColumnTable td .office,
#corporate .corporate_outline .outline_table dl dd .office{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
#corporate .corporate_outline .twoColumnTable td .office .text,
#corporate .corporate_outline .twoColumnTable td .office .img,
#corporate .corporate_outline .outline_table dl dd .office .text,
#corporate .corporate_outline .outline_table dl dd .office .img{
	width: calc(100% / 2 - 15px);
}
#corporate .corporate_outline .outline_bnr .outline_txt{
	padding-bottom: 20px;
}
#corporate .corporate_outline .outline_bnr .arrow{
	bottom: 30px;
}
#corporate .corporate_outline .ttl_link picture{
	position: relative;
	overflow: hidden;
}
#corporate .corporate_outline .ttl_link a img{
	transition: .3s;
}
#corporate .corporate_outline .ttl_link a:hover img{
	transform: scale(1.1,1.1);
}
#corporate .corporate_outline .button{
	justify-content: left;
}
/* 役員一覧 */
#corporate .corporate_officer .officer_table dl{
	border: 1px solid #D9DAE7;
	display: flex;
	flex-wrap: wrap;
	color: #1A1A1A;
	font-size: 1.6rem;
}
#corporate .corporate_officer .twoColumnTable th{
	text-align: left;
}
#corporate .corporate_officer .twoColumnTable td .name{
	font-size: 1.8rem;
}
#corporate .corporate_officer .officer_table dt{
	background-color: #E0EEF0;
	width: 280px;
	padding: 10px 20px;
	border-bottom: 1px solid #D9DAE7;
	display: flex;
	align-items: center;
}
#corporate .corporate_officer .officer_table dd{
	width: calc(100% - 280px);
	border-bottom: 1px solid #D9DAE7;
}
#corporate .corporate_officer .officer_table dd .post_block{
	border-left: 1px solid #D9DAE7;
	display: flex;
	justify-content: space-between;
}
#corporate .corporate_officer .officer_table dd .post_block .post{
	width: 100%;
	padding: 10px 20px;
}
#corporate .corporate_officer .officer_table dd .post_block .name{
	width: calc(100% - 280px);
	padding: 10px 20px;
	border-left: 1px solid #D9DAE7;
	display: flex;
	align-items: center;
}
#corporate .corporate_officer .officer_table dl dt:last-of-type,
#corporate .corporate_officer .officer_table dl dd:last-of-type{
	border-bottom: none;
}
/* 拠点 */

#corporate .office_map{
	position: relative;
	width: 100%;
	height: 50vw;
	background-image: url(/assets/images/pages/corporate/office_map.png);
	background-size: contain; 
	background-repeat: no-repeat;
	background-position: left top;
	background-color: #E0EEF0;
}
#corporate.corporate_en .office_map{
	background-image: url(/assets/images/pages/corporate/office_map_en.png);
}
#corporate .office_map_overseas{
	position: relative;
	width: 100%;
	height: 44vw;
	background-image: url(/assets/images/pages/corporate/office_map_02.png);
	background-size: contain; 
	background-repeat: no-repeat;
	background-position: left top;
	background-color: #E0EEF0;
}
#corporate .office_map .map_contents,
#corporate .office_map_overseas .map_contents{
	display: flex;
	padding: 60px 0;
}
#corporate .office_map .map_contents > h2,
#corporate .office_map_overseas .map_contents > h2{
	width: 50%;
}
#corporate .office_map .map_contents h2.heading,
#corporate .office_map_overseas .map_contents h2.heading{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.5;
}
#corporate .office_map .map_contents .map_list{
	background-color: rgba(224, 238, 240, 0.8);
	width: 50%;
}
#corporate .office_map .map_contents .map_list li{
	border-top: 1px solid #D9DAE7;
}
#corporate .office_map .map_contents .map_list li:last-child{
	border-bottom: 1px solid #D9DAE7;
}
#corporate .office_map .map_contents .map_list li a{
	font-size: 2.4rem;
	padding: 1.8vw 24px;
	display: block;
	position: relative;
}
#corporate .office_map .map_contents .map_list li a:hover{
	background-color: #C3CDCE;
}
#corporate .office_map .map_contents .map_list li a:before, 
#corporate .office_map .map_contents .map_list li a:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-color: #1A1A1A;
	border-radius: 10px;
}
#corporate .office_map .map_contents .map_list li a:before {
	width: 1px;
	height: 30px;
	right: 30px;
}
#corporate .office_map .map_contents .map_list li a:after {
	width: 30px;
	height: 1px;
	right: 15px;
}
/* モーダル */
#corporate .office_map .modal .heding,
#corporate .office_map_overseas .modal .heding{
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 40px;
}
#corporate .office_map .modal p,
#corporate .office_map_overseas .modal p{
	padding-bottom: 30px;
	line-height: 2;
	/*font-size: 1.8rem;*/
}
#corporate .office_map .modal .company_block,
#corporate .office_map_overseas .modal .company_block{
	display: flex;
	gap: 40px;
	padding-bottom: 40px;
}
#corporate .office_map .modal .company_block > div,
#corporate .office_map_overseas .modal .company_block > div{
	width: calc(100% - 20px);
}
#corporate .office_map .modal .company_block .info,
#corporate .office_map_overseas .modal .company_block .info{
	position: relative;
}
#corporate .office_map .modal .company_block .info .category,
#corporate .office_map_overseas .modal .company_block .info .category{
	display: flex;
	padding-bottom: 30px;
}
#corporate .office_map .modal .company_block .info .category li,
#corporate .office_map_overseas .modal .company_block .info .category li{
	margin-right: 15px;
	font-size: 1.4rem;
	padding: 2px 10px;
	color: #1A1A1A;
}
#corporate .office_map .modal .company_block .info .category li.chuzo,
#corporate .office_map_overseas .modal .company_block .info .category li.chuzo{
	border: 1px solid #009EE7;
	background-color: #009EE7;
	color: #FFF;
}
#corporate .office_map .modal .company_block .info .category li.tanzo,
#corporate .office_map_overseas .modal .company_block .info .category li.tanzo{
	background-color: #006AD6;
	border: 1px solid #006AD6;
	color: #FFF;
}
#corporate .office_map .modal .company_block .info .category li.kako,
#corporate .office_map_overseas .modal .company_block .info .category li.kako{
	background-color: #22CBC4;
	border: 1px solid #22CBC4;
	color: #FFF;
}
#corporate .office_map .modal .company_block .info .button,
#corporate .office_map_overseas .modal .company_block .info .button{
	padding: 0;
	position: absolute;
	bottom: 0;
	left: 0;
}
#corporate .office_map .modal .product_list li,
#corporate .office_map_overseas .modal .product_list li{
	/*font-size: 1.8rem;*/
	line-height: 2;
}
#corporate .office_map .modal .modal-close,
#corporate .office_map_overseas .modal .modal-close{
	width: 60px;
	height: 60px;
	font-size: 2.4rem;
	color: #fff;
	background-color: #000;
	font-size: 3rem;
}
#corporate .office_map .modal .modal-close::before, 
#corporate .office_map_overseas .modal .modal-close::before, 
#corporate .office_map .modal .modal-close::after, 
#corporate .office_map_overseas .modal .modal-close::after {
	content: "";
	width: 50%;
	height: 2px;
	display: inline-block;
	background: #fff;
	border-radius: 2px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

#corporate .office_map .modal .modal-close::before,
#corporate .office_map_overseas .modal .modal-close::before {
	transform: rotate(45deg);
}
#corporate .office_map .modal .modal-close::after,
#corporate .office_map_overseas .modal .modal-close::after {
	transform: rotate(-45deg);
}

#corporate .corporate_officer .company_list{
	display: flex;
	flex-wrap: wrap;
	line-height: 2;
}
#corporate .corporate_officer .company_list dt{
	width: 300px;
	border-bottom: 1px solid #D9DAE7;
	padding: 20px 0;
}
#corporate .corporate_officer .company_list dd{
	width: calc(100% - 300px);
	border-bottom: 1px solid #D9DAE7;
	padding: 20px 0;
}
#corporate .corporate_officer .company_list dd .office{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
#corporate .corporate_officer .company_list dd .office .text,
#corporate .corporate_officer .company_list dd .office .img{
	width: calc(100% / 2 - 15px);
}
#corporate .corporate_officer .company_list dt:last-of-type,
#corporate .corporate_officer .company_list dd:last-of-type{
	border-bottom: none;
}
/* 購買情報 */
#corporate div.corporate_purchase{
	border-bottom: 1px solid #D9DAE7;
	margin: 0;
	padding: 60px 0;
}
#corporate div.corporate_purchase:last-of-type{
	border-bottom: none;
}
#corporate .corporate_purchase p{ 
	padding-bottom: 20px;
	line-height: 2;
}
#corporate .corporate_purchase .disc.three{ 
	display: flex;
	padding-bottom: 20px;
}
#corporate .corporate_purchase .disc.three li{ 
	width: calc(100% / 3);
}
#corporate .corporate_purchase .disc.two{ 
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 20px;
}
#corporate .corporate_purchase .disc.two li{ 
	width: 50%;
}
#corporate .corporate_purchase .normal_list{ 
	margin: 0;
	padding-bottom: 20px;
}
#corporate .corporate_purchase h4{ 
	padding-top: 20px;
	padding-bottom: 0px;
}
#corporate .corporate_purchase .button {
	justify-content: left;
}
#corporate .corporate_purchase .mail a {
	text-decoration: underline;
}
/* 沿革 */
#corporate .corporate_history .year {
	position: relative;
	font-size: 6rem;
	line-height: 1;
}
#corporate .corporate_history .year::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 200px;
	height: 1px;
	background: #999;
	box-shadow: 0 1px 0 #666;
	width: calc(100% - 200px);
}
#corporate .corporate_history .year span{
	font-size: 2.4rem;
}
#corporate .corporate_history .history_block{
	margin-left: 200px;
}
#corporate .corporate_history .history_block dl{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #D9DAE7;
	padding: 30px 0;
}
#corporate .corporate_history .history_block dl.no_border{
	border-bottom: none;
}
#corporate .corporate_history .history_block dl:last-of-type{
	border: none;
}

#corporate .corporate_history .history_block dt{
	width: 150px;
	font-size: 5rem;
	line-height: 1;
}
#corporate .corporate_history .history_block dt span{
	font-size: 2.4rem;
}
#corporate .corporate_history .history_block dd{
	width: calc(100% - 150px);
	font-size: 1.6rem;
	line-height: 2;
}
#corporate .corporate_history .history_button_block{
	display: flex;
	flex-wrap: wrap;
	/*padding: 60px 0 0;*/
	padding: 0;
	justify-content: space-between;
	gap: 60px;
}
#corporate .corporate_history .history_button{
	border-top: 1px solid #D9DAE7;
	border-bottom: 1px solid #D9DAE7;
	width: calc(100%  / 3 - 40px);
	position: relative;
}
#corporate .corporate_history .history_button.single{
	width: 100%;
	border: none;
	max-width: 300px;
    margin: 0 auto;
}
#corporate .corporate_history .history_button a{
	padding: 40px 0;
	font-size: 2.2rem;
	text-align: left;
	display: block;
}
#corporate .corporate_history .history_button::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(25deg);
	width: 8px;
	height: 8px;
	border-right: 1px solid #1A1A1A;
}
#corporate .corporate_history .history_button:before,
#corporate .corporate_history .history_button:after{
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	background-color: #1A1A1A;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: .3s;
}
#corporate .corporate_history .history_button:after{
	bottom: 2px;
	width: 8px;
}
#corporate .corporate_history .history_button:hover:before,
#corporate .corporate_history .history_button:hover:after {
	right: 15px;
}
#corporate .corporate_history.history_bottom {
	margin: 0;
	padding: 80px 0;
	background-color: #E0EEF0;
	margin-bottom: -80px;
}
/* 企業理念 */
#corporate .philosophy{
	margin: 0;
	min-height: 100svh;
	scroll-behavior: auto;
}
#corporate .philosophy.philosophy_06{
	/* min-height: auto; */
}
#corporate .philosophy .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	overflow: hidden;
	vertical-align: bottom;
}
.philosophy_01{
	--shadow-strong: rgba(0,0,0,.85);
	--shadow-soft:   rgba(0,0,0,.60);
}
.philosophy_01 .scroll-down {
	position: fixed;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	font-family: serif;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	z-index: 1;
	transition: opacity .45s ease, transform .45s ease, visibility .45s;
	will-change: opacity, transform;
}

.philosophy_01 .scroll-down.is-hidden{
	opacity: 0;
	transform: translateX(-50%) translateY(8px); /* 元のtranslateXにYだけ足す */
	visibility: hidden;
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce){
	.philosophy_01 .scroll-down{
		transition: opacity .01s linear, visibility .01s linear;
		transform: translateX(-50%); /* スライド無し */
	}
}
.philosophy_01 .wavy-text span {
	/* position: relative;
	display: inline-block;
	animation: wave 2s infinite;
	animation-delay: calc(0.1s * var(--i)); */
}

.philosophy_01 .wavy-text_arrow {
	position: absolute;
	top: 30px;
	left: 50%;
	width: 10px;
	height: 10px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: translate(-50%, -50%) rotate(-45deg);
	animation: float 2s infinite;
}
.philosophy_01 .scroll-down,
.philosophy_01 .wavy-text span{
	text-shadow:
    0 1px 0 rgba(0,0,0,.45),
    0 2px 6px var(--shadow-strong),
    0 4px 10px var(--shadow-strong),
    0 8px 22px var(--shadow-soft),
    0 14px 28px rgba(0,0,0,.40),
    0 22px 44px rgba(0,0,0,.30),
    0 0 10px rgba(0,0,0,.65);
}

/* 枠線矢印は drop-shadow を積層 */
.philosophy_01 .wavy-text_arrow{
	filter:
    drop-shadow(0 1px 0 rgba(0,0,0,.60))
    drop-shadow(0 2px 4px var(--shadow-strong))
    drop-shadow(0 4px 6px var(--shadow-strong))
    drop-shadow(0 8px 18px var(--shadow-soft))
    drop-shadow(0 14px 28px rgba(0,0,0,.40))
    drop-shadow(0 24px 48px rgba(0,0,0,.28))
    drop-shadow(0 0 10px rgba(0,0,0,.70));
	will-change: filter;
}
/* @keyframes wave {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-5px);
	}
} */

@keyframes float {
	0%, 100% {
		transform: translateY(-30%) rotate(-45deg);
	}
	50% {
		transform: translateY(30%) rotate(-45deg);
	}
}

.philosophy_02,
.philosophy_03,
.philosophy_04,
.philosophy_05,
.philosophy_06,
.philosophy_07{
	min-height: 100svh;
	position: relative;
}

.philosophy_02{
	background: url("/assets/images/pages/corporate/philosophy_02.jpg") center / cover no-repeat;
}
.philosophy_03{
	background: url("/assets/images/pages/corporate/philosophy_03.jpg") center / cover no-repeat;
}
.philosophy_04{
	background: url("/assets/images/pages/corporate/philosophy_04.jpg") center / cover no-repeat;
}
.philosophy_05{
	background: url("/assets/images/pages/corporate/philosophy_05.jpg") center / cover no-repeat;
}
.philosophy_06{
	/* width: 100%; */
	background: url("/assets/images/pages/corporate/philosophy_06.jpg") center / cover no-repeat;
}
.philosophy_06.figureonly{
	position: relative;
	/* width: 100%; */
	background: url("/assets/images/pages/corporate/philosophy_06_2.jpg") center / cover no-repeat;
}
.philosophy_06.figureonly.en{
	/* width: 100%; */
	background: url("/assets/images/pages/corporate/philosophy_06_2_en.jpg") center / cover no-repeat;
}/*
.philosophy_06.figureonly:before{
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
background: radial-gradient(#fff, #e8dcc2);
}
.philosophy_06.figureonly:after{
content: "";
display: block;
width: 75%;
height: 75%;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
background: radial-gradient(#fff, #e8dcc2);
	background: url("/assets/images/pages/corporate/philosophy_06_2.jpg") center / cover no-repeat;
}
.philosophy_06.figureonly.en:after{
	background: url("/assets/images/pages/corporate/philosophy_06_2_en.jpg") center / cover no-repeat;
}*/
.philosophy_07{
	background: url("/assets/images/pages/corporate/philosophy_07.jpg") center / cover no-repeat;
}
#corporate .philosophy .philosophy_text{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	color: #fff;
	width: 600px;
}
#corporate .philosophy.en_text .philosophy_text{
	width: 1000px;
}
#corporate .philosophy .philosophy_text p{
	font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.6;
}
#corporate .philosophy_06 .philosophy_text.philosophy_head {
	top: 5%;
	transform: translateY(-5%) translateX(-90%);
	width: 100%;
	text-align: center;
}
#corporate .philosophy_06.en_text .philosophy_text.philosophy_head {
	transform: translateY(-5%) translateX(-86%);
}
#corporate .philosophy_06 .philosophy_head .heading {
	font-size: 2.4vw;
	color: #428343;
	font-weight: bold;
}
#corporate .philosophy_06.en_text .philosophy_head .heading {
	font-size: 2vw;
}
#corporate .philosophy_06 .philosophy_06_text ,
#corporate .philosophy_06.en_text .philosophy_06_text {
	display: flex;
	width: 100%;
	overflow: hidden;
	padding: 0 5vw;
	align-items: center;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.5),0 0 16px rgba(0, 0, 0, 0.5);
}

#corporate .philosophy.en_text .philosophy_06_text p{
	font-size: 2.6rem;
}
#corporate .philosophy_07.en_text .philosophy_text p{
	font-size: 4.6rem;
}
#corporate .philosophy_06 .philosophy_06_text .figure_text{ 
	width: 100%;
	text-align: center;
}
#corporate .philosophy_06 .philosophy_06_text .figure_text:nth-of-type(2) { 
	padding-left: 5vw;
}
#corporate .philosophy_06 .philosophy_06_text .figure_text .heading{ 
	font-size: 2vw;
	padding-bottom: 1vw;
}
#corporate .philosophy_07 .philosophy_text{
	top: 20%;
	transform: translateY(-30%) translateX(-50%);
	width: 100%;
	text-align: center;
}
#corporate .philosophy_07 .philosophy_text p{
	font-weight: bold;
	font-size: 6.4rem;
	color: #1A1A1A;
}
/* トップメッセージ */
#corporate .corporate_message .message_head {
	font-size: 3.6rem;
	margin: 40px 0;
	font-weight: bold;
	line-height: 1.4;
}
#corporate .corporate_message .message_block{
	padding: 30px 0;
	margin-bottom: 60px;
}
#corporate .corporate_message p{
	padding-bottom: 40px;
	/*font-size: 1.8rem;*/
}
/* IJTTが目指す姿 */
#corporate .corporate_vision p{
	padding-bottom: 20px;
}
#corporate .corporate_vision h2{
	margin-bottom: 40px;
}
#corporate .corporate_vision img{
	margin: 0 auto;
}
#corporate .corporate_vision .two_block{
	display: flex;
	gap: 30px;
	padding-bottom: 20px;
}
#corporate .corporate_vision .two_block .box{
	width: calc(100% / 2 - 15px);
	background-color: #E0EEF0;
	position: relative;
	padding-bottom: 95px;
	background-color: #fff;
}

#corporate .corporate_vision .two_block .heading{
	font-size: 2rem;
	text-align: center;
	padding: 10px 20px;
	font-weight: bold;
}
#corporate .corporate_vision .two_block .heading.white{
	background-color: #FFF;
	border: 2px solid #287465;
	color: #287465;
}
#corporate .corporate_vision .two_block .heading.green{
	background-color: #93B2B7;
	color: #FFF;
	border: 2px solid #93B2B7;
}
#corporate .corporate_vision .two_block .box_contents{
	padding: 20px;
	height: 100%;
	border: 1px solid #D9DAE7;
	box-sizing: content-box;
}
#corporate .corporate_vision .two_block .img_block{
	display: flex;
	gap: 20px;
	padding-bottom: 20px;
}
#corporate .corporate_vision .two_block .img_block .text{
	width: 60%;
}
#corporate .corporate_vision .two_block .img_block .text .num{
	font-weight: bold;
	font-size: 1.8rem;
	padding-left: 1em;
	text-indent: -1em;
}
#corporate .corporate_vision .two_block .img_block .text .num span{
	color: #287465;
}
#corporate .corporate_vision .two_block .img_block .img{
	width: calc(40% - 20px);
}
#corporate .corporate_vision .two_block .disc li{
	margin-top: 0;
	padding-bottom: 20px;
}
#corporate .corporate_vision .two_block .disc li::before{
	color: #287465;
}
#corporate .corporate_vision .two_block .black{
	position: absolute;
	bottom: 20px;
	width: calc(100% - 40px);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #E0EEF0;
	color: #1a1a1a;
	font-size: 2.2rem;
	border-radius: 10px;
	text-align: center;
	height: 100px;
}
#corporate .corporate_vision .two_block .black.english{
	font-size: 1.8rem;
}
#corporate .corporate_vision .fig_list{
	display: flex;
	gap: 20px;
	padding-bottom: 40px;
}
#corporate .corporate_vision .fig_list p{
	padding: 10px 0 20px;
}
#corporate .corporate_vision .fig_list a{
	transition: .3s;
}
#corporate .corporate_vision .fig_list picture{
	position: relative;
	overflow: hidden;
}
#corporate .corporate_vision .fig_list a:hover picture img{
	transform: scale(1.1);
}
#corporate .corporate_vision .carbon_fig{
	padding-bottom: 40px;
}
#corporate .corporate_vision .aim_block{
	padding: 20px 0;
}
#corporate .corporate_vision .aim_block .head{
	padding: 15px 20px;
	background-color: #287465;
	font-weight: bold;
	font-size: 2rem;
	text-align: center;
	color: #fff;
}
#corporate .corporate_vision .aim_block .aim_list{
	display: flex;
	background-color: #fff;
	padding: 20px;
	margin-bottom: 20px;
	gap: 20px;
	border: 1px solid #D9DAE7;
	border-top: none;
}
#corporate .corporate_vision .aim_block .aim_list .disc li::before{
	color: #287465;
}
#corporate .corporate_history .history_block dd + dd{
	margin-top: 1em;
}
/*****PC*****/
@media screen and (min-width: 1025px) {
#corporate .corporate_history .history_block dl{
	flex-wrap: wrap;
}
#corporate .corporate_history .history_block dd + dd{
	margin-left: auto;
}
#corporate .office_map{
	background-size: 80%;
}
#corporate .office_map .map_contents .map_list{
	margin-top: 80px;
	background-color: rgba(224, 238, 240, 0.4);
	backdrop-filter: blur(4px);
}
#corporate .office_map .modal .company_block .info .button{
	bottom: 30px;
}
#corporate .corporate_history .history_button a{
	    padding-right: 48px;
}
}

@media screen and (max-width: 1024px) {
	/* 企業情報 */
	/*#corporate .corporate_top .philosophy .h2_en_box .h2_sub {
		font-size: 2.4rem;
		padding-bottom: 10px;
	}
	#corporate .corporate_top .h2_en_box .h2_sub {
		font-size: 2.2rem;
		padding-bottom: 10px;
	}
	#corporate .corporate_top .h2_en_box h2 {
		font-size: 5.6rem;
	}
	#corporate .corporate_top .h2_en_box p {
		font-size: 1.6rem;
	}*/
	/* 企業理念 */
	#corporate .philosophy .inner{
		padding: 0;
	}
	#corporate .philosophy.en_text .philosophy_text{
		width: 90%;
	}
	#corporate .philosophy .philosophy_text p {
		font-size: 3vw;
	}
	#corporate .philosophy_07 .philosophy_text p {
		font-size: 4vw;
	}
	.philosophy_02{
		background: url("/assets/images/pages/corporate/philosophy_02_sp.jpg") center / cover no-repeat;
	}
	.philosophy_03{
		background: url("/assets/images/pages/corporate/philosophy_03_sp.jpg") center / cover no-repeat;
	}
	.philosophy_04{
		background: url("/assets/images/pages/corporate/philosophy_04_sp.jpg") center / cover no-repeat;
	}
	.philosophy_05{
		background: url("/assets/images/pages/corporate/philosophy_05_sp.jpg") center / cover no-repeat;
	}
	.philosophy_06{
		/* width: 100%; */
		background: url("/assets/images/pages/corporate/philosophy_06_sp.jpg") center / cover no-repeat;
	}
	.philosophy_06.figureonly{
		position: relative;
		/* width: 100%; */
		background: url("/assets/images/pages/corporate/philosophy_06_2_sp.jpg") center / cover no-repeat;
	margin-bottom: 80px;
	}
	.philosophy_06.figureonly.en{
		/* width: 100%; */
		background: url("/assets/images/pages/corporate/philosophy_06_2_sp_en.jpg") center / cover no-repeat;
	}
/*	.philosophy_06.figureonly:before{
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
background: radial-gradient(#fff, #e8dcc2);
}*/
/*.philosophy_06.figureonly:after{
content: "";
display: block;
width: 75%;
height: 75%;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
background: url("/assets/images/pages/corporate/philosophy_06_2_sp.jpg") center / cover no-repeat;
}
.philosophy_06.figureonly.en:after{
background: url("/assets/images/pages/corporate/philosophy_06_2_sp_en.jpg") center / cover no-repeat;
}*/
	.philosophy_07{
		background: url("/assets/images/pages/corporate/philosophy_07_sp.jpg") center / cover no-repeat;
	}
	#corporate .philosophy_06 .philosophy_06_text {
		flex-wrap: wrap;
		padding: 0;
		gap: 24vw 0;
		width: 100%;
	}
	#corporate .philosophy_06 .philosophy_06_text .figure_text:nth-of-type(2) {
		padding-left: 0;
	}

	#corporate .philosophy_06 .tab {
		display: none;
	}
	/* IJTTが目指す姿 */
	#corporate .corporate_vision .two_block .black {
		/*font-size: 1.8rem;*/
		height: 80px;
	}

	/* 沿革 */
	#corporate .corporate_history.history_bottom {
		margin-bottom: -56px;
	}
	#corporate .corporate_history .history_button.single{
		max-width: none;
    border-top: 1px solid #D9DAE7;
	}
}

/*****SP*****/
@media screen and (max-width: 767px) {
	/* 企業情報 */
	/*#corporate .corporate_top .lead {
		padding: 40px 0;
		font-size: 1.6rem;
	}
	#corporate .corporate_top .philosophy {
		margin-bottom: 20px;
	}
	#corporate .corporate_top .gridbox.column2 {
		grid-template-columns: auto;
		grid-column-gap: 0;
		grid-row-gap: 20px;
	}
	#corporate .corporate_top .philosophy .h2_en_box .h2_sub {
		font-size: 1.6rem;
		padding-bottom: 10px;
	}
	#corporate .corporate_top .h2_en_box h2 {
		font-size: 4.8rem;
	}
	#corporate .corporate_top .h2_en_box p {
		font-size: 1.6rem;
	}
	#corporate .corporate_top .ttl_link .arrow {
		bottom: 20px;
	}*/
	/*#corporate .corporate_top .corporate_menu {
		gap: 0;
		padding: 60px 0;
	}
	#corporate .corporate_top .corporate_menu li {
		width: 100%;
	}
	#corporate .corporate_top .corporate_menu li:nth-child(n+4) {
		border-bottom: none;
	}
	#corporate .corporate_top .corporate_menu li:last-child {
		border-bottom: 1px solid #D9DAE7;
	}
	#corporate .corporate_top .corporate_menu li a {
		padding: 15px 0;
		font-size: 1.6rem;
	}*/
	#corporate .corporate_top .h2_en_box .h2_sub.txt_ijtt {
		font-size: 3.2rem;
		line-height: 1.5;
	}
	/* 会社概要 */

	#corporate .corporate_outline h2.small {
		font-size: 2rem;
	}
	#corporate .corporate_outline .outline_table dl{
		font-size: 1.6rem;
	}
	#corporate .corporate_outline .outline_table dl dt{
		width: 100%;
	}
	#corporate .corporate_outline .outline_table dl dd{
		width: 100%;
	}
	#corporate .corporate_outline .outline_bnr .outline_txt {
		font-size: 3.2rem;
	}
	#corporate .corporate_outline .outline_table dl dd .office{
		gap: 20px;
	}
	#corporate .corporate_outline .outline_table dl dd .office .text .button{
		width: 250px;
	}
	#corporate .corporate_outline .outline_table dl dd .office .text,
	#corporate .corporate_outline .outline_table dl dd .office .img{
		width: 100%;
	}
	/* 役員一覧 */
	#corporate .corporate_officer .officer_table dl{
		margin-top: 60px;
		font-size: 1.6rem;
	}
	#corporate .corporate_officer .officer_table dt {
		width: 100%;
	}
	#corporate .corporate_officer .officer_table dd {
		width: 100%;
	}
	#corporate .corporate_officer .officer_table dd .post_block {
		flex-wrap: wrap;
		border-left: none;
	}
	#corporate .corporate_officer .officer_table dd .post_block .post {
		padding-bottom: 0;
	}
	#corporate .corporate_officer .officer_table dd .post_block .name {
		width: 100%;
		border-left: none;
		flex-wrap: wrap;
	}
	/* 拠点 */
	#corporate .office_map {
		height: auto;
		background-image: url(/assets/images/pages/corporate/office_map_sp.png);
	}
	#corporate.corporate_en .office_map{
		background-image: url(/assets/images/pages/corporate/office_map_sp_en.png);
	}
	#corporate .office_map_overseas {
		height: 160vw;
		background-image: url(/assets/images/pages/corporate/office_map_02_sp.png);
	}
	#corporate .office_map .map_contents {
		flex-wrap: wrap;
		padding: 40px 0;
	}
	#corporate .office_map .map_contents h2.heading ,
	#corporate .office_map_overseas .map_contents h2.heading {
		font-size: 2rem;
	}
	#corporate .office_map .map_contents > h2,
	#corporate .office_map_overseas .map_contents > h2{
		width: 100%;
	}
	#corporate .office_map .map_contents .map_list {
		width: 100%;
		margin-top: 80vw;
	}
	#corporate .office_map .map_contents .map_list li a {
		font-size: 2rem;
		padding: 20px 14px;
	}
	#corporate .office_map .map_contents .map_list li a:before {
		height: 15px;
		right: 22px;
	}
	#corporate .office_map .map_contents .map_list li a:after {
		width: 15px;
	}
	#corporate .corporate_officer .company_list dt,
	#corporate .corporate_officer .company_list dd{
		width: 100%;
		padding: 10px 0 25px;
	}
	#corporate .corporate_officer .company_list dt {
		border-bottom: none;
		padding-bottom: 0;
		font-weight: bold;
	}
	#corporate .corporate_officer .company_list dd .office{
		gap: 20px;
	}
	#corporate .corporate_officer .company_list dd .office .text,
	#corporate .corporate_officer .company_list dd .office .img{
		width: 100%;
	}
	#corporate .office_map .modal .heding ,
	#corporate .office_map_overseas .modal .heding {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	#corporate .office_map .modal .company_block ,
	#corporate .office_map_overseas .modal .company_block {
		flex-wrap: wrap;
		gap: 0px;
		padding-bottom: 20px;
	}
	#corporate .office_map .modal .company_block > div ,
	#corporate .office_map_overseas .modal .company_block > div {
		width: 100%;
	}
	#corporate .office_map .modal .company_block .img ,
	#corporate .office_map_overseas .modal .company_block .img {
		padding-bottom: 20px;
	}
	#corporate .office_map .modal .company_block .info .category ,
	#corporate .office_map_overseas .modal .company_block .info .category {
		padding-bottom: 20px;
	}
	#corporate .office_map .modal .company_block .info .category li ,
	#corporate .office_map_overseas .modal .company_block .info .category li {
		font-size: 1.2rem;
	}
	#corporate .office_map .modal p ,
	#corporate .office_map_overseas .modal p {
		font-size: 1.6rem;
		padding-bottom: 20px;
	}
	#corporate .office_map .modal .company_block .info .button ,
	#corporate .office_map_overseas .modal .company_block .info .button {
		position: static;
		justify-content: left;
	}
	#corporate .office_map .modal p ,
	#corporate .office_map_overseas .modal p {
		font-size: 1.4rem;
	}
	#corporate .office_map .modal .product_list li ,
	#corporate .office_map_overseas .modal .product_list li,
		#corporate .modal .product_list li a.underline{
		font-size: 1.4rem;
	}
	#corporate .office_map .modal .modal-close,
	#corporate .office_map_overseas .modal .modal-close {
		width: 35px;
		height: 35px;
		font-size: 2rem;
		top: 12vh;
		right: 45px;
		position: fixed;
	}
	/* 沿革 */
	#corporate .corporate_history .year {
		font-size: 4.2rem;
		border-bottom: 1px solid #1A1A1A;
		padding-bottom: 20px;
		margin-top: 1em;
	}
	#corporate .corporate_history .year span{
		font-size: 1.4rem;
	}
	#corporate .corporate_history .year::after {
		content: none;
	}
	#corporate .corporate_history .history_block {
		margin-left: 0;
	}
	#corporate .corporate_history .history_block dl {
		flex-wrap: wrap;
	}
	#corporate .corporate_history .history_block dt,
	#corporate .corporate_history .history_block dd {
		width: 100%;
	}
	#corporate .corporate_history .history_block dt {
		font-size: 2.8rem;
		padding-bottom: 10px;
	}
	#corporate .corporate_history .history_block dt span{
		font-size: 1.3rem;
	}
	#corporate .corporate_history .history_block dd{
		font-size: 1.5rem;
	}
	#corporate .corporate_history .history_button_block {
		gap: 0px;
	}
	#corporate .corporate_history .history_button {
		width: 100%;
		border-bottom: none;
	}
	#corporate .corporate_history .history_button:last-of-type {
		border-bottom: 1px solid #D9DAE7;
	}
	#corporate .corporate_history .history_button a {
		font-size: 1.6rem;
		padding: 20px 0;
	}
	#corporate .corporate_history .history_button::before{
		width: 20px;
	}
	#corporate .corporate_history .history_button::after {
		width: 6px;
	}
	/* 企業理念 */
	#corporate .philosophy .inner{
		padding: 0;
	}
	#corporate .philosophy .philosophy_text {
		width: 85%;
	}
	#corporate .philosophy .philosophy_text p {
		font-size: 5.2vw;
		line-height: 2;
	}
	#corporate .philosophy_07 .philosophy_text p{
		font-size: 10vw;
		line-height: 1.5;
	}
	#corporate .philosophy_07.en_text .philosophy_text p {
		font-size: 7vw;
		line-height: 1.5;
	}
	#corporate .philosophy_06 .philosophy_06_text .figure_text .heading {
		font-size: 4vw;
	}
	#corporate .philosophy_06 .philosophy_06_text {
		gap: 12vh 0;
	}
	#corporate .philosophy_06 .philosophy_06_text .figure_text p {
		font-size: 4.5vw;
	}
	#corporate .philosophy_06 .philosophy_06_text {
		gap: 4vh 0;
	}
	#corporate .philosophy_06.en_text .philosophy_text.philosophy_head {
		transform: translateY(-5%) translateX(-75%);
	}
	#corporate .philosophy_06.en_text .philosophy_head .heading {
		font-size: 4vw;
	}
	#corporate .philosophy_06.en_text .philosophy_06_text .figure_text p {
		font-size: 4vw;
	}
	#corporate .philosophy_06 .philosophy_head .heading {
		font-size: 6vw;
		text-shadow: 2px 2px 6px rgba(255, 255, 255, 0.9);
	}
	#corporate .philosophy_06 .philosophy_text.philosophy_head {
		transform: translateY(-5%) translateX(-85%);
	}
	/* トップメッセージ */
	#corporate .corporate_message .message_head{
		font-size: 2.4rem;
		margin: 30px 0;
	}
	#corporate .corporate_message .message_block{
		padding: 20px 0;
		margin-bottom: 40px;
	}
	#corporate .corporate_message p{
		padding-bottom: 30px;
		font-size: 1.6rem;
	}

	/* IJTTが目指す姿 */
	#corporate .corporate_vision h2{
		margin-top: 10px;
		margin-bottom: 30px;
	}
	#corporate .corporate_vision .two_block {
		flex-wrap: wrap;
	}
	#corporate .corporate_vision .two_block .box {
		width: 100%
	}
	#corporate .corporate_vision .two_block .black {
		font-size: 1.8rem;
		height: 80px;
	}
	#corporate .corporate_vision .fig_list {
		flex-wrap: wrap;
	}
	#corporate .corporate_vision .fig_list li{
		width: 100%;
	}
	#corporate .corporate_vision .aim_block .aim_list {
		flex-wrap: wrap;
	}
	#corporate .corporate_vision .aim_block .aim_list li{
		width: 100%;
	}

	#corporate .corporate_purchase .disc.three,
	#corporate .corporate_purchase .disc.two{
		flex-wrap: wrap;
	}
	#corporate .corporate_purchase .disc.three li,
	#corporate .corporate_purchase .disc.two li{
		width: 100%;
	}

	#corporate table.twoColumnTable th,
	#corporate table.twoColumnTable td{
		display: block;
		width: 100% !important;
    height: fit-content !important;
	}
	#corporate table.twoColumnTable .button{
		    justify-content: flex-start;
			width: 250px;
	}
	#corporate .corporate_vision .two_block .img_block .text .num{
		font-size: 1.6rem;
	}
	#corporate .corporate_vision .img_scroll{
		overflow-x: scroll;
	}
	#corporate .corporate_vision .img_scroll img{	
		width: 600px;
		max-width: none;
	}
}
@media (768px <= width < 1024px) {
	#corporate .corporate_vision .two_block .box{
		padding-bottom: 80px;
	}
	#corporate .corporate_vision .two_block .black{
		height: 100px;
        font-size: 1.6rem;
	}
	#corporate .office_map .map_contents h2.heading, #corporate .office_map_overseas .map_contents h2.heading{
		font-size: 2.2rem;
	}
	#corporate .office_map .map_contents .map_list li a:before{
		    height: 20px;
    right: 20px;
	}
	#corporate .office_map .map_contents .map_list li a:after{
		    width: 20px;
    right: 10px;
	}
	#corporate .office_map .modal p, #corporate .office_map_overseas .modal p{
		font-size: 1.4rem;
	}
	#corporate .office_map .modal p, #corporate .office_map_overseas .modal p{
		padding-bottom: 40px;
	}
	#corporate .corporate_officer .company_list dt{
		width: 240px;
	}
	#corporate .corporate_officer .company_list dd{
		width: calc(100% - 240px);
	}
	    #corporate .corporate_history .history_block {
        margin-left: 0;
    }
    #corporate .corporate_history .history_block dl{
    	        flex-wrap: wrap;
    }
    #corporate .corporate_history .history_block dt{
    	        font-size: 2.8rem;
        padding-bottom: 10px;
    }
    #corporate .corporate_history .history_block dt, #corporate .corporate_history .history_block dd{
    	width: 100%;
    }
    #corporate .corporate_history .year{
    	font-size: 5rem;
    }
    #corporate .corporate_outline .twoColumnTable td .office .text{
    	width: 56%;
    }
    #corporate .corporate_outline .twoColumnTable td .office .img{
    	    width: calc(40% - 15px);
    }
    #corporate .office_map_overseas .map_contents{
    	padding-top: 30px;
    }
    #corporate .corporate_overseas.corporate_officer .company_list dd{
        width: calc(100% - 300px);
    }
    #corporate .corporate_overseas.corporate_officer .company_list dd .office{
    	position: relative;
    	display: block;
    }
    #corporate .corporate_overseas.corporate_officer .company_list dd .office .text{
    	    position: absolute;
    bottom: 0;
    left: -300px;
    }
    #corporate .corporate_overseas.corporate_officer .company_list dd .office .img{
    	margin-left: auto;
    }
    #corporate .corporate_overseas.corporate_officer .company_list dt{
    	width: 300px;
    }
    #corporate .corporate_history .history_button_block{
    	display: block;
    }
    #corporate .corporate_history .history_button{
    	width: 100%;
    }
    #corporate .corporate_history .history_button a{
    	font-size: 1.8rem;
    	    padding: 32px 0;

    }
}