/* 会社を知る：インデックス
=========================================================================
=========================================================================*/
#index_title {
	margin: 0 auto 101px;
	padding-top: 145px;
	width: 100%;
	height: 420px;
	text-align: center;
	background: url(../img/company/index_title_bg.jpg) center top no-repeat;
	background-size: cover;	
}
#index_title .index_title_01 {
	margin: 0 auto 30px;
	width: 351px;
}
#index_title h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 37px;
	padding: .1em .5em;
	font-weight: bold;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1em;
	color: #333333;
	z-index: 2;
}
#index_title h1::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFF;
	z-index: -1;
	transform: scale(0, 1);
	transform-origin: left;
}
#index_title h1.reveal::after {
	animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s forwards;
}
@keyframes reveal-text {
	100% {
		transform: scale(1, 1);
	}
}
#index_title .index_title_02 {
	margin: 0 auto;
	width: 330px;
}

/* SECTION 01
=========================================================================*/
#index_sec_01 .top_message {
	display: flex;
	justify-content: space-between;
	margin: 0 auto 87px;
	width: 1182px;
}
@media screen and (max-width: 1212px) {
	#index_sec_01 .top_message {
		padding: 0;
		width: 100%;
	}
}
#index_sec_01 .top_message .left {
	width: calc(471 / 1182 * 100%);
}
#index_sec_01 .top_message .index_sec_01_01 {
	margin-top: 99px;
	margin-bottom: 50px;
	margin-left: calc(75 / 471 * 100%);
	width: calc(396 / 471 * 100%);
}
#index_sec_01 .top_message h2 {
	margin-bottom: 67px;
	margin-left: calc(175 / 471 * 100%);
	font-weight: bold;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1em;
}
#index_sec_01 .top_message .index_sec_01_02 {
	margin-left: calc(111 / 471 * 100%);
	width: calc(252 / 471 * 100%);
}
#index_sec_01 .top_message h2 span {
	display: block;
	margin-top: 1em;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1em;
}
#index_sec_01 .top_message .right {
	position: relative;
	width: calc(678 / 1182 * 100%);
}
#index_sec_01 .top_message .photo {
	position: relative;
	margin-right: calc(30 / 678 * 100%);
	width: calc(648 / 678 * 100%);
	z-index: 2;
}
#index_sec_01 .top_message .bg {
	position: absolute;
	top: 120px;
	right: 0;
	width: calc(648 / 678 * 100%);
	z-index: 1;
}
#index_sec_01 p {
	margin: 0 auto 72px;
	width: 800px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 2.14em;
}
@media screen and (max-width: 830px) {
	#index_sec_01 p {
		padding: 0 15px;
		width: 100%;
	}
}

/* SECTION 02
=========================================================================*/
#index_sec_02 h2.h_01 {
	margin: 0 auto 74px;
	width: 621px;
}
#index_sec_02 p {
	margin: 0 auto 120px;
	width: 800px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 2.14em;
}
@media screen and (max-width: 830px) {
	#index_sec_02 p {
		padding: 0 15px;
		width: 100%;
	}
}

/* SECTION PHOTO
=========================================================================*/
#index_sec_photo {
	margin-bottom: 72px;
	width: 100%;
}

/* SECTION 03
=========================================================================*/
#index_sec_03 h2.h_02 {
	margin: 0 auto 74px;
	width: 517px;
}
#index_sec_03 p {
	margin: 0 auto 120px;
	width: 800px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 2.14em;
}
@media screen and (max-width: 830px) {
	#index_sec_03 p {
		padding: 0 15px;
		width: 100%;
	}
}

/* BANNER
=========================================================================*/
#index_sec_banner {
	padding-top: 81px;
	width: 100%;
	height: 350px;
	text-align: center;
	background: url(../img/company/index_sec_banner_bg.png) center top no-repeat;
	background-size: cover;
}
#index_sec_banner a {
	display: block;
	margin: 0 auto;
	width: 864px;
}
@media screen and (max-width: 894px) {
	#index_sec_banner a {
		padding: 0 15px;
		width: 100%;
	}
}

/* SECTION DATA/ACCESS
=========================================================================*/
#index_sec_data {
	padding: 120px 15px 113px;
	background: #F5F5F5;
}
#index_sec_data .container {
	margin: 0 auto;
	padding: 90px 108px;
	width: 1014px;
	background: #FFF;
}
@media screen and (max-width: 1044px) {
	#index_sec_data .container {
		padding: 0 15px;
		width: 100%;
	}
}
/*--- COMPANY DATA ---*/
#index_sec_data h3.index_sec_data_title_01 {
	margin-bottom: 60px;
	width: 240px;
}
#index_sec_data table {
	margin: 0 auto;
	width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	color: #333333;	
}
#index_sec_data table th {
	padding: 1.6em 14px;
	white-space: nowrap;
	border-bottom: 1px solid #AEDDBB;
}
#index_sec_data table td {
	padding: 1.6em 14px;
	border-bottom: 1px solid #AEDDBB;
}

/*--- ACCESS ---*/
#index_sec_data h3.index_sec_data_title_02 {
	margin-bottom: 32px;
	padding-top: 57px;
	width: 114px;
}
#index_sec_data p.access_text {
	margin: -50px 0 0 147px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1em;
	color: #000000;
}
#index_sec_data .access_map {
	margin: 30px auto 0;
	width: calc(720 / 800 * 100%);
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
#index_sec_data .access_map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
/* More SAISAN!
=========================================================================
=========================================================================*/
#more_sisan {
	padding: 80px 15px;
	width: 100%;
	height: 373px;
	text-align: center;
	background: url(../img/common/more_sisan_bg.jpg) center top no-repeat;
	background-size: cover;	
}
#more_sisan h2 {
	margin: 0 auto 64px;
	width: 195px;
}
#more_sisan ul {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin: 0 auto;
	width: 748px
}
@media screen and (max-width: 778px) {
	#more_sisan ul {
		width: 100%;
	}
}
#more_sisan ul li {
	position: relative;
	overflow: hidden;
	width: calc(178 / 748 * 100%);
	background: #FFF;
}




/*  タブレット（960px未満）
=========================================================================
=========================================================================*/
@media screen and (max-width: 959px) {
	
}

/*  スマホ（767px以下）
=========================================================================
=========================================================================*/
@media screen and (max-width:767px) {
	
	#index_title {
		margin-top: 60px;
		margin-bottom: 0;
		padding-top: 80px;
		height: 260px;
		text-align: center;
		background: url(../img/company/index_title_bg@2x.jpg) center top no-repeat;
		background-size: cover;	
	}
	#index_title .index_title_01 {
		margin: 0 auto 30px;
		width: 240px;
	}
	#index_title h1 {
		position: relative;
		display: inline-block;
		margin-bottom: 28px;
		padding: .1em .5em;
		font-weight: bold;
		font-size: 22px;
		font-size: 2.2rem;
		line-height: 1em;
		color: #333333;
		z-index: 2;
	}
	#index_title h1::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #FFF;
		z-index: -1;
		transform: scale(0, 1);
		transform-origin: left;
	}
	#index_title h1.reveal::after {
		animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s forwards;
	}
	@keyframes reveal-text {
		100% {
			transform: scale(1, 1);
		}
	}
	#index_title .index_title_02 {
		margin: 0 auto;
		width: 251px;
	}
	
	/* SECTION 01
	=========================================================================*/
	#index_sec_01 .top_message {
		display: block;
		margin: 0 auto 60px;
	}
	#index_sec_01 .top_message .left {
		width: 100%;
	}
	#index_sec_01 .top_message .index_sec_01_01 {
		margin-left: auto;
		margin-right: auto;
		margin-top: 53px;
		margin-bottom: 50px;
		width: 264px;
	}
	#index_sec_01 .top_message h2 {
		margin-top: 50px;
		margin-bottom: 46px;
		margin-left: 0;
		padding: 0 15px;
		font-weight: bold;
		font-size: 20px;
		font-size: 2.0rem;
		line-height: 1em;
	}
	#index_sec_01 .top_message .index_sec_01_02 {
		margin-left: 0;
		padding: 0 15px;
		width: 252px;
	}
	#index_sec_01 .top_message h2 span {
		display: block;
		margin-top: 1em;
		font-weight: normal;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1em;
	}
	#index_sec_01 .top_message .right {
		width: 100%;
	}
	#index_sec_01 .top_message .photo {
		position: relative;
		margin-right: 0;
		width: 100%;
	}
	#index_sec_01 .top_message .bg {
		position: absolute;
		top: calc(72 / 452 * 100%);
		right: 0;
		left: calc(18 / 452 * 100%);
		width: calc(391 / 375 * 100%);
		height: calc(188 / 452 * 100%);
		z-index: 1;
	}
	#index_sec_01 p {
		margin: 0 auto 72px;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.928571em;
	}
	
	/* SECTION 02
	=========================================================================*/
	#index_sec_02 h2.h_01 {
		margin: 0 0 60px;
		padding: 0 15px;
		width: 262px;
	}
	#index_sec_02 p {
		margin: 0 auto 80px;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.928571em;
	}
	
	/* SECTION PHOTO
	=========================================================================*/
	#index_sec_photo {
		margin-bottom: 60px;
	}
	
	/* SECTION 03
	=========================================================================*/
	#index_sec_03 h2.h_02 {
		margin: 0 0 60px;
		padding: 0 15px;
		width: 290px;
	}
	#index_sec_03 p {
		margin: 0 auto 80px;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.928571em;
	}
	
	/* BANNER
	=========================================================================*/
	#index_sec_banner {
		padding-top: 0;
		height: auto;
		background: none;
	}
	#index_sec_banner a {
		padding: 0;
	}
	
	/* SECTION DATA/ACCESS
	=========================================================================*/
	#index_sec_data {
		padding: 50px 15px 50px;
		background: #F5F5F5;
	}
	#index_sec_data .container {
		padding: 50px 15px;
		width: 100%;
	}
	/*--- COMPANY DATA ---*/
	#index_sec_data h3.index_sec_data_title_01 {
		padding-top: 30px;
		margin-bottom: 10px;
		width: 191px;
	}
	#index_sec_data table {
		font-size: 12px;
		font-size: 1.2rem;	
	}
	#index_sec_data table th {
		padding: 1.0em 2.0em 1.0em 0;
	}
	#index_sec_data table td {
		padding: 1.0em 0;
	}

	/*--- ACCESS ---*/
	#index_sec_data h3.index_sec_data_title_02 {
		margin-bottom: 32px;
		padding-top: 80px;
		width: 91px;
	}
	#index_sec_data p.access_text {
		margin: -50px 0 0 110px;
		font-size: 11px;
		font-size: 1.1rem;
		line-height: 1em;
		color: #000000;
	}
	#index_sec_data .access_map {
		margin: 30px auto 0;
		width: 100%;
		height: 0;
		overflow: hidden;
		padding-bottom: 56.25%;
		position: relative;
	}
#index_sec_data .access_map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
	
	/* More SAISAN!
	=========================================================================
	=========================================================================*/
	#more_sisan {
		padding: 45px 15px 33px;
		height: auto;
	}
	#more_sisan h2 {
		margin: 0 auto 38px;
		width: 104px;
	}
	#more_sisan ul li {
		position: relative;
		overflow: hidden;
		margin-bottom: 5px;
		width: calc(178 / 359 * 100%);
		background: #FFF;
	}
}