/*============================================
メインビジュアル
===========================================*/
#top_main_img {
	margin-right: 1rem;
	position: relative;
	height: 80vh;
	z-index: 0;
	padding-top: 0.78rem;
	overflow: hidden;
}

#top_main_bg {
	position: absolute;
	height: 80vh;
	width: 100%;
	z-index: 0;
	overflow: hidden;
	/*top:0.6rem;*/
}

#top_main_bg .shutter_cont #slider {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	height: 100%;
	width: 100%;
}

#top_main_bg .shutter_cont #slider li {
	z-index: 10;
	opacity: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-animation: anime 36s 0s infinite;
	animation: anime 36s 0s infinite;
}

#top_main_bg .shutter_cont #slider li img {
	max-width: 120%;
	width: 120%;
}

#top_main_bg .shutter_cont #slider li:nth-of-type(2) {
	-webkit-animation-delay: 6s;
	animation-delay: 6s;
}

#top_main_bg .shutter_cont #slider li:nth-of-type(3) {
	-webkit-animation-delay: 12s;
	animation-delay: 12s;
}

#top_main_bg .shutter_cont #slider li:nth-of-type(4) {
	-webkit-animation-delay: 18s;
	animation-delay: 18s;
}

#top_main_bg .shutter_cont #slider li:nth-of-type(5) {
	-webkit-animation-delay: 24s;
	animation-delay: 24s;
}

#top_main_bg .shutter_cont #slider li:nth-of-type(6) {
	-webkit-animation-delay: 30s;
	animation-delay: 30s;
}

@keyframes anime {
	0% {
		opacity: 0;
	}

	8% {
		opacity: 1;
	}

	17% {
		opacity: 1;
	}

	50% {
		opacity: 0;
		transform: scale(1.1);
		z-index: 9;
	}

	100% {
		opacity: 0
	}
}


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

	#top_main_img,
	#top_main_bg {
		height: 70vh;
	}
}

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

	#top_main_img,
	#top_main_bg {
		height: 60vh;
	}
}

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

	#top_main_img,
	#top_main_bg {
		height: 50vh;
		margin-right: 0;
	}

	#top_main_bg .shutter_cont #slider li img {
		max-width: 140%;
		width: 140%;
	}
}

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

	#top_main_img,
	#top_main_bg {
		height: 45vh;
		margin-right: 0;
	}

	#top_main_bg .shutter_cont #slider li img {
		max-width: 200%;
		width: 200%;
	}
}

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

	#top_main_img,
	#top_main_bg {
		height: 40vh;
		margin-right: 0;
	}

	#top_main_bg .shutter_cont #slider li img {
		max-width: 200%;
		width: 200%;
	}
}

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

	#top_main_img,
	#top_main_bg {
		height: 50vh;
		margin-right: 0;
	}
}

#top_main_img h1 {
	top: 0.2rem;
	left: 0.2rem;
	font-size: 0.2rem;
	font-family: 'Titillium Web', sans-serif;
	position: absolute;
	font-weight: 700;
	max-width: 1.6rem;
}

#top_main_img h1 a {
	color: #222;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.2rem;
}

@media screen and (max-width: 767px) {
	#top_main_img h1 {
		top: 0.1rem;
		left: 0.2rem;
	}

	#top_main_img h1 a {
		font-size: 0.18rem;
	}
}

#top_main_copy {
	position: absolute;
	top: 50%;
	left: 6vw;
	transform: translateY(-50%);
	text-align: left;
	z-index: 1;
	color: #FFF;
	line-height: 1.6;
}

#top_main_copy h2 {
	font-size: 0.5rem;
	font-weight: 300;
}

@media screen and (max-width: 767px) {
	#top_main_copy {
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		width: 100%;
	}

	#top_main_copy h2 {
		font-size: 6.4vw;
		font-weight: 300;
		text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
		line-height: 2;
		letter-spacing: 0.04em;
	}

}

/*============================================
01 INTRODUCTION
===========================================*/
#our_solution {
	padding-top: 0.80rem;
	padding-bottom: 0.80rem;
	background-color: #FFF;
}

#our_solution .in {
	width: 100%;
	max-width: 11.40rem;
	margin: auto;
	position: relative;
}

@media screen and (max-width: 767px) {
	#our_solution .in {
		box-sizing: border-box;
		padding: 0.20rem;
	}
}

/* タイトル */
#our_solution .sec_title {
	text-align: center;
	margin-bottom: 0.60rem;
}

#our_solution .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #666666;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#our_solution .sec_title .title {
		font-size: 0.40rem;
	}
}

#our_solution .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#our_solution .sec_title .title em {
		font-size: 0.40rem;
	}
}

#our_solution .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #222;
	padding-top: 0.10rem;
}

/* 事例リスト */
.promotion_wrap {
	position: relative;
}

.promotion_wrap ul {
	display: flex;
	flex-wrap: wrap;
}

.promotion_wrap .detail {
	width: 50%;
	box-sizing: border-box;
	position: relative;
	padding: 0.20rem;
	margin-bottom: 0.40rem;
}

@media screen and (max-width: 767px) {
	.promotion_wrap .detail {
		width: 100%;
	}
}

.promotion_wrap .detail::before {
	content: "";
	position: absolute;
	top: -0.10rem;
	left: -0.10rem;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/top_promotion_deco_grid.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.promotion_wrap .detail:nth-child(even)::after {
	content: "";
	position: absolute;
	top: -0.10rem;
	right: -0.10rem;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/top_promotion_deco_grid.png);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.promotion_wrap .detail:nth-child(odd)::after {
		content: "";
		position: absolute;
		top: -0.10rem;
		right: -0.10rem;
		width: 0.20rem;
		height: 0.20rem;
		background-image: url(../img/top_promotion_deco_grid.png);
		background-repeat: no-repeat;
		background-size: contain;
	}
}

.promotion_wrap .detail a {
	display: block;
	text-decoration: none;
	color: #222;
	text-align: center;
}

.promotion_wrap .detail:nth-child(5) a::before {
	content: "";
	position: absolute;
	bottom: -0.10rem;
	left: -0.10rem;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/top_promotion_deco_grid.png);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.promotion_wrap .detail:nth-child(5) a::before {
		content: none;
	}
}

.promotion_wrap .detail:nth-child(5) a::after {
	content: "";
	position: absolute;
	bottom: -0.10rem;
	right: -0.10rem;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/top_promotion_deco_grid.png);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.promotion_wrap .detail:nth-child(5) a::after {
		content: none;
	}
}

@media screen and (max-width: 767px) {
.promotion_wrap .detail:nth-child(6) a::before {
	content: "";
	position: absolute;
	bottom: -0.10rem;
	left: -0.10rem;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/top_promotion_deco_grid.png);
	background-repeat: no-repeat;
	background-size: contain;
}
}

.promotion_wrap .detail:nth-child(6) a::after {
	content: "";
	position: absolute;
	bottom: -0.10rem;
	right: -0.10rem;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/top_promotion_deco_grid.png);
	background-repeat: no-repeat;
	background-size: contain;
}

#page_cont_wrapper .promotion_wrap .detail .title {
	font-size: 0.22rem;
	font-weight: 700;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	#page_cont_wrapper .promotion_wrap .detail .title {
		font-size: 0.30rem;
		letter-spacing: 0.04em;
	}
}

#page_cont_wrapper .promotion_wrap .detail .title span {
	display: block;
	color: #f15a24;
	font-size: 0.30rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
}

#page_cont_wrapper .promotion_wrap .detail .textbox {
	position: relative;
	padding: 0 0.20rem;
}

@media screen and (max-width: 767px) {
	#page_cont_wrapper .promotion_wrap .detail .textbox {
		position: relative;
		padding: 0 0.30rem;
	}
}

#page_cont_wrapper .promotion_wrap .detail .textbox::before {
	content: "";
	width: 100%;
	height: 80%;
	background-color: #f2f2f2;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 0;
	transition: all 0.3s ease;
}

#page_cont_wrapper .promotion_wrap .detail a:hover .textbox::before {
	background-color: #DDD;
}

#page_cont_wrapper .promotion_wrap .detail .catch {
	font-size: 0.20rem;
	letter-spacing: 0.075em;
	line-height: 1.7;
	font-weight: 700;
	position: relative;
	z-index: 1;
	margin: auto;
	margin-bottom: 0.20rem;
	width: 100%;
	max-width: 3.50rem;
}

@media screen and (max-width: 767px) {
	#page_cont_wrapper .promotion_wrap .detail .catch {
		font-size: 0.24rem;
		letter-spacing: 0.02em;
		max-width: 4.00rem;
	}
}

#page_cont_wrapper .promotion_wrap .detail .catch::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 7px;
	height: 100%;
	background-image: url(../img/top_promotion_title_deco_left.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

#page_cont_wrapper .promotion_wrap .detail .catch::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 7px;
	height: 100%;
	background-image: url(../img/top_promotion_title_deco_right.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

#page_cont_wrapper .promotion_wrap .detail .catch span {
	font-size: 0.13rem;
	display: block;
	font-family: 'Roboto', sans-serif;
	color: #B3B3B3;
}

#page_cont_wrapper .promotion_wrap .detail .textbox .text {
	font-size: 0.15rem;
	line-height: 2;
	text-align: left;
	letter-spacing: 0.05em;
	margin-bottom: 0.20rem;
	position: relative;
	z-index: 1;
	text-align: justify;
	text-justify: inter-ideograph;
}

@media screen and (max-width: 767px) {
	#page_cont_wrapper .promotion_wrap .detail .textbox .text {
		font-size: 0.19rem;
		line-height: 1.85;
		letter-spacing: 0;
	}
}

#page_cont_wrapper .promotion_wrap .detail .textbox .more_btn {
	max-width: 2.10rem;
	width: 100%;
	margin: auto;
	padding: 0.16rem;
	padding-right: 0;
	font-size: 0.14rem;
	color: #FFF;
	letter-spacing: 0.10em;
	background-color: #1a1a1a;
	position: relative;
	transition: all 0.3s ease;
}

@media screen and (max-width: 767px) {
	#page_cont_wrapper .promotion_wrap .detail .textbox .more_btn {
		max-width: 3.00rem;
		font-size: 0.20rem;
		box-sizing: border-box;
		padding: 0.20rem;
		padding-left: 0.40rem;
	}
}

#page_cont_wrapper .promotion_wrap .detail .textbox .more_btn::after {
	content: "";
	width: 0.20rem;
	height: 0.04rem;
	background-image: url(../img/link_arrow_white.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin-left: 0.10rem;
	position: relative;
	top: -0.04rem;
	right: 0;
	transition: all 0.3s ease;
}

#page_cont_wrapper .promotion_wrap .detail a:hover .textbox .more_btn {
	background-color: #f15a24;
}

#page_cont_wrapper .promotion_wrap .detail a:hover .textbox .more_btn::after {
	right: -0.06rem;
}

/*============================================
プロモーション事例
===========================================*/
#promotion_case {
	background-color: #FFF;
	position: relative;
	margin-left: 1.00rem;
	padding-bottom: 0.60rem;
	padding-left: 0.40rem;
	padding-right: 1.00rem;
}

@media screen and (max-width: 767px) {
	#promotion_case {
		margin-left: 0;
		padding-left: 0.20rem;
		padding-right: 0.20rem;
	}
}

#promotion_case::before {
	content: "";
	width: 100%;
	height: calc(100% - 1.60rem);
	position: absolute;
	top: 0.75rem;
	left: 0;
	background-color: #f2f2f2;
}

@media screen and (max-width: 767px) {
	#promotion_case::before {
		top: 1.00rem;
		height: calc(100% - 1.90rem);
	}
}

#promotion_case .in {
	position: relative;
	/*	max-width: 11.40rem;*/
	/*	width: 100%;*/
	margin: auto;
}


/* タイトル */
#promotion_case .sec_title {
	text-align: right;
	margin-bottom: 0.60rem;
}

@media screen and (max-width: 767px) {
	#promotion_case .sec_title {
		text-align: center;
		margin-bottom: 0.20rem;
	}
}

#promotion_case .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #666666;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#promotion_case .sec_title .title {
		font-size: 0.40rem;
		line-height: 1.4;
	}
}

#promotion_case .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#promotion_case .sec_title .title em {
		font-size: 0.40rem;
	}
}

#promotion_case .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #222;
	padding-top: 0.10rem;
}

/* リスト */
.news_list_wrap {
	padding: 0.30rem 0;
}

.news_list_wrap ul {
	display: flex;
	flex-wrap: wrap;
	margin-left: -0.10rem;
	margin-right: -0.10rem;
}

.news_list_wrap li {
	width: 50%;
	box-sizing: border-box;
	padding: 0;
	margin-bottom: 0.30rem;
}

@media screen and (max-width: 767px) {
	.news_list_wrap li {
		width: 100%;
		box-sizing: border-box;
		padding-left: 0.10rem;
		padding-right: 0.10rem;
		margin-bottom: 0.30rem;
	}
}

.news_list_wrap li a {
	display: block;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-decoration: none;
	color: #222;
}

.news_list_wrap li a .ph_box {
	width: 1.80rem;
	height: 1.80rem;
	overflow: hidden;
}

.news_list_wrap li a .ph_box img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s ease;
}

.news_list_wrap li a:hover .ph_box img {
	transform: scale(1.04);
	opacity: 0.7;
}

.news_list_wrap li a .textbox {
	width: calc(100% - 2.00rem);
	padding-top: 0.20rem;
	letter-spacing: 0.05em;
	padding-right: 0.40rem;
	box-sizing: border-box;
}

.news_list_wrap li a .textbox .date {
	font-size: 0.14rem;
	display: block;
	line-height: 1.6;
	padding-bottom: 0.10rem;
}

#page_cont_wrapper .news_list_wrap li a .textbox .title {
	font-size: 0.20rem;
	font-weight: 700;
	line-height: 2;
}

@media screen and (max-width: 767px) {
	#page_cont_wrapper .news_list_wrap li a .textbox .title {
		font-size: 0.22rem;
		line-height: 1.85;
		letter-spacing: 0;
	}
}

/* VIEW ALLボタン */
#promotion_case .more_btn {
	width: 100%;
	max-width: 3.20rem;
	margin: auto;
}

@media screen and (max-width: 767px) {
	#promotion_case .more_btn {
		max-width: 4.00rem;
	}
}

#promotion_case .more_btn a {
	display: block;
	padding: 0.16rem;
	font-size: 0.18rem;
	color: #FFF;
	letter-spacing: 0.05em;
	background-color: #f15a24;
	text-align: center;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#promotion_case .more_btn a {
		padding: 0.24rem;
		padding-left: 0.30rem;
		font-size: 0.20rem;
	}
}

#promotion_case .more_btn a::after {
	content: "";
	width: 0.20rem;
	height: 0.04rem;
	background-image: url(../img/link_arrow_white.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin-left: 0.10rem;
	position: relative;
	top: -0.04rem;
	right: 0;
	transition: all 0.3s ease;
}

#promotion_case .more_btn a:hover {
	background-color: #f15a24;
}

#promotion_case .more_btn a:hover::after {
	right: -0.06rem;
}

/*============================================
マーケットニュース
===========================================*/
#market_news {
	background-color: #FFF;
	position: relative;
	padding-bottom: 0.60rem;
	padding-left: 1.00rem;
	padding-right: 1.00rem;
}

@media screen and (max-width: 767px) {
	#market_news {
		padding-left: 0.20rem;
		padding-right: 0.20rem;
	}
}

#market_news::before {
	content: "";
	width: calc(100% - 1.00rem);
	height: calc(100% - 1.60rem);
	position: absolute;
	top: 0.75rem;
	left: 0;
	background-color: #f15a24;
}

@media screen and (max-width: 767px) {
	#market_news::before {
		content: "";
		width: 100%;
		height: calc(100% - 1.90rem);
		top: 0.90rem;
	}
}

#market_news .in {
	position: relative;
	margin: auto;
	padding-right: 0.40rem;
}

@media screen and (max-width: 767px) {
	#market_news .in {
		padding-right: 0;
	}
}


/* タイトル */
#market_news .sec_title {
	text-align: left;
	margin-bottom: 0.60rem;
}

@media screen and (max-width: 767px) {
	#market_news .sec_title {
		text-align: center;
		margin-bottom: 0.20rem;
	}
}

#market_news .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #222;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#market_news .sec_title .title {
		font-size: 0.40rem;
	}
}

#market_news .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#market_news .sec_title .title em {
		font-size: 0.40rem;
	}
}

#market_news .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #FFF;
	padding-top: 0.10rem;
}

/* VIEW ALLボタン */
#market_news .more_btn {
	width: 100%;
	max-width: 3.20rem;
	margin: auto;
}

@media screen and (max-width: 767px) {
	#market_news .more_btn {
		max-width: 4.00rem;
	}
}

#market_news .more_btn a {
	display: block;
	padding: 0.16rem;
	font-size: 0.18rem;
	color: #FFF;
	letter-spacing: 0.05em;
	background-color: #222;
	text-align: center;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#market_news .more_btn a {
		padding: 0.24rem;
		padding-left: 0.30rem;
		font-size: 0.20rem;
	}
}

#market_news .more_btn a::after {
	content: "";
	width: 0.20rem;
	height: 0.04rem;
	background-image: url(../img/link_arrow_white.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin-left: 0.10rem;
	position: relative;
	top: -0.04rem;
	right: 0;
	transition: all 0.3s ease;
}

#market_news .more_btn a:hover {
	background-color: #666;
}

#market_news .more_btn a:hover::after {
	right: -0.06rem;
}

/*============================================
お知らせ
===========================================*/
#information {
	background-color: #FFF;
	position: relative;
	margin-left: 1.00rem;
	padding-bottom: 0.60rem;
	padding-left: 0.40rem;
	padding-right: 1.00rem;
}

@media screen and (max-width: 767px) {
	#information {
		margin-left: 0;
		padding-left: 0.20rem;
		padding-right: 0.20rem;
	}
}

#information::before {
	content: "";
	width: 100%;
	height: calc(100% - 1.60rem);
	position: absolute;
	top: 0.75rem;
	left: 0;
	background-color: #f2f2f2;
}

@media screen and (max-width: 767px) {
	#information::before {
		height: calc(100% - 1.90rem);
		top: 0.90rem;
	}
}

#information .in {
	position: relative;
	/*	max-width: 11.40rem;*/
	/*	width: 100%;*/
	margin: auto;
}


/* タイトル */
#information .sec_title {
	text-align: right;
	margin-bottom: 0.60rem;
}

@media screen and (max-width: 767px) {
	#information .sec_title {
		text-align: center;
		margin-bottom: 0.20rem;
	}
}

#information .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #666666;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#information .sec_title .title {
		font-size: 0.40rem;
	}
}

#information .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#information .sec_title .title em {
		font-size: 0.40rem;
	}
}

#information .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #222;
	padding-top: 0.10rem;
}

/* VIEW ALLボタン */
#information .more_btn {
	width: 100%;
	max-width: 3.20rem;
	margin: auto;
}

@media screen and (max-width: 767px) {
	#information .more_btn {
		max-width: 4.00rem;
	}
}

#information .more_btn a {
	display: block;
	padding: 0.16rem;
	font-size: 0.18rem;
	color: #FFF;
	letter-spacing: 0.05em;
	background-color: #f15a24;
	text-align: center;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#information .more_btn a {
		padding: 0.24rem;
		padding-left: 0.30rem;
		font-size: 0.20rem;
	}
}

#information .more_btn a::after {
	content: "";
	width: 0.20rem;
	height: 0.04rem;
	background-image: url(../img/link_arrow_white.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin-left: 0.10rem;
	position: relative;
	top: -0.04rem;
	right: 0;
	transition: all 0.3s ease;
}

#information .more_btn a:hover {
	background-color: #f15a24;
}

#information .more_btn a:hover::after {
	right: -0.06rem;
}

/*============================================
ESD Topics
===========================================*/
#esd_topics {
	background-color: #FFF;
	position: relative;
	padding-bottom: 0.60rem;
	padding-left: 1.00rem;
	padding-right: 1.00rem;
}

@media screen and (max-width: 767px) {
	#esd_topics {
		padding-left: 0.20rem;
		padding-right: 0.20rem;
	}
}

#esd_topics::before {
	content: "";
	width: calc(100% - 1.00rem);
	height: calc(100% - 1.60rem);
	position: absolute;
	top: 0.75rem;
	left: 0;
	background-color: #f15a24;
}

@media screen and (max-width: 767px) {
	#esd_topics::before {
		content: "";
		width: 100%;
		height: calc(100% - 1.90rem);
		top: 0.90rem;
	}
}

#esd_topics .in {
	position: relative;
	margin: auto;
	padding-right: 0.40rem;
}

@media screen and (max-width: 767px) {
	#esd_topics .in {
		padding-right: 0;
	}
}


/* タイトル */
#esd_topics .sec_title {
	text-align: left;
	margin-bottom: 0.60rem;
}

@media screen and (max-width: 767px) {
	#esd_topics .sec_title {
		text-align: center;
		margin-bottom: 0.20rem;
	}
}

#esd_topics .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #222;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#esd_topics .sec_title .title {
		font-size: 0.40rem;
	}
}

#esd_topics .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#esd_topics .sec_title .title em {
		font-size: 0.40rem;
	}
}

#esd_topics .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #FFF;
	padding-top: 0.10rem;
}

/* VIEW ALLボタン */
#esd_topics .more_btn {
	width: 100%;
	max-width: 3.20rem;
	margin: auto;
}

@media screen and (max-width: 767px) {
	#esd_topics .more_btn {
		max-width: 4.00rem;
	}
}

#esd_topics .more_btn a {
	display: block;
	padding: 0.16rem;
	font-size: 0.18rem;
	color: #FFF;
	letter-spacing: 0.05em;
	background-color: #222;
	text-align: center;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#esd_topics .more_btn a {
		padding: 0.24rem;
		padding-left: 0.30rem;
		font-size: 0.20rem;
	}
}

#esd_topics .more_btn a::after {
	content: "";
	width: 0.20rem;
	height: 0.04rem;
	background-image: url(../img/link_arrow_white.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin-left: 0.10rem;
	position: relative;
	top: -0.04rem;
	right: 0;
	transition: all 0.3s ease;
}

#esd_topics .more_btn a:hover {
	background-color: #666;
}

#esd_topics .more_btn a:hover::after {
	right: -0.06rem;
}

/*============================================
03 DACグループについて
===========================================*/
#dac {
	padding-top: 1.4rem;
	background-color: #FFF;
	position: relative;
}

@media screen and (max-width: 767px) {
	#dac {
		padding-top: 0.7rem;
	}
}

#dac::before {
	content: "";
	width: calc(100% - 0.60rem);
	max-width: 17.60rem;
	height: calc(100% - 1.90rem);
	background-color: #EFEFEF;
	position: absolute;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 767px) {
	#dac::before {
		width: 100%;
		height: calc(100% - 1.10rem);
	}
}

/* タイトル */
#dac .sec_title {
	text-align: right;
	margin-bottom: 0.60rem;
}

@media screen and (max-width: 767px) {
	#dac .sec_title {
		text-align: center;
	}
}

#dac .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #666666;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#dac .sec_title .title {
		font-size: 0.40rem;
	}
}

#dac .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#dac .sec_title .title em {
		font-size: 0.40rem;
	}
}

#dac .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #222;
	padding-top: 0.10rem;
}


#dac_cont_wrapper {
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 0.30rem;
	position: relative;
}

@media screen and (max-width: 767px) {
	#dac_cont_wrapper {
		padding: 0.20rem 0;
	}
}

#dac_cont_wrapper .flex_box {
	max-width: 16.00rem;
	margin-left: auto;
}

#dac_cont_wrapper .dac_box {
	width: 48%;
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	#dac_cont_wrapper .dac_box {
		width: 100%;
	}
}

#dac_cont_wrapper .dac_box a {
	color: #222;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#dac_cont_wrapper .dac_box {
		width: calc(100% - 0.40rem);
		margin: auto;
	}
}

#dac_cont_wrapper .dac_box a .ph_box {
	position: relative;
}

#dac_cont_wrapper .dac_box a .ph_box img {
	width: 100%;
	transition: opacity 0.3s;
}

#dac_cont_wrapper .dac_box a:hover .ph_box img {
	opacity: 0.5;
}

#dac_cont_wrapper .dac_box a .more_btn {
	padding: 0.15rem 0.20rem 0.50rem;
	line-height: 1.5;
	text-align: center;
	transition: color 0.3s;
}

@media screen and (max-width: 767px) {
	#dac_cont_wrapper .dac_box a .more_btn {
		padding: 0.10rem 0.20rem 0.50rem;
		line-height: 1.2;
	}
	#dac_cont_wrapper .dac_box a .more_btn span {
		font-size: 0.16rem;
	}
}

#dac_cont_wrapper .dac_box a:hover .more_btn {
	color: #FC6401;
}

/*============================================
03 RECRUIT
===========================================*/
#recruit {
	padding-top: 1.4rem;
	background-color: #FFF;
}

/* タイトル */
#recruit .sec_title {
	text-align: left;
	margin-bottom: 0.60rem;
}

@media screen and (max-width: 767px) {
	#recruit .sec_title {
		text-align: center;
	}
}

#recruit .sec_title .title {
	font-family: 'Sen', sans-serif;
	font-size: 0.50rem;
	color: #666666;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#recruit .sec_title .title {
		font-size: 0.40rem;
	}
}

#recruit .sec_title .title em {
	color: #f15a24;
	font-size: 0.50rem;
}

@media screen and (max-width: 767px) {
	#recruit .sec_title .title em {
		font-size: 0.40rem;
	}
}

#recruit .sec_title .title span {
	font-size: 0.18rem;
	display: block;
	color: #222;
	padding-top: 0.10rem;
}


#recruit_cont_wrapper {
	padding-left: 1rem;
	padding-top: 0.30rem;
}

@media screen and (max-width: 767px) {
	#recruit_cont_wrapper {
		padding-left: 0;
		width: 90%;
		margin: auto;
	}
}

#recruit_cont_wrapper .flex_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#recruit_cont_wrapper .recruit_box {
	width: 49%;
	position: relative;
	overflow: hidden;
	font-size: 0.1rem;
}

@media screen and (max-width: 767px) {
	#recruit_cont_wrapper .recruit_box {
		width: 100%;
		margin-bottom: 0.2rem;
	}
}

#recruit_cont_wrapper .recruit_box a {
	color: #FFF;
	text-decoration: none;
}

#recruit_cont_wrapper .recruit_box a:hover {
	opacity: 0.7;
}

/* 新卒採用バナー */
#recruit01 .shutter_cont {
	background-image: url(/ver2020/img/recruit/newgrad_bnr_bg.jpg);
	background-position: center;
	background-size: cover;
	padding: 0.4rem;
	padding-top: 1rem;
	padding-bottom: 1.4rem;
}

#recruit01 .shutter_cont img {
	max-width: 480px;
	display: block;
	margin: auto;
}

@media screen and (max-width: 767px) {
	#recruit01 .shutter_cont {
		padding-top: 0.8rem;
		padding-bottom: 1rem;
	}

	#recruit01 .shutter_cont img {
		max-width: 100%;
	}
}

#recruit01 .shutter_cont .ph_box {
	opacity: 0;
}

#recruit01 .more_btn {
	position: absolute;
	font-size: 0.14rem;
	text-align: center;
	bottom: 10%;
	left: 0;
	width: 100%;
}

@media screen and (max-width: 767px) {
	#recruit01 .more_btn em {
		font-size: 0.14rem;
	}
}

#recruit01 .more_btn em {
	display: inline-block;
	background: url("../img/right_arrow.png") no-repeat -3% center;
	background-size: 0.3rem;
	padding-left: 0.34rem;
}

#recruit01 .more_btn span {
	display: inline-block;
	border-bottom: 2px solid #FFF;
	padding-bottom: 3px;
}

/* スタッフ募集 */
#recruit02 .shutter_cont {
	background: #FC6401 url("/ver2020/img/staff/bnr_staff.jpg") no-repeat right top;
	background-size: contain;
	position: relative;
}

#recruit02 .recruit02_text {
	padding: 0.4rem;
}

@media screen and (max-width: 767px) {
	#recruit02 .recruit02_text {
		padding: 0.2rem;
	}
}

#recruit02 .recruit02_text h3 {
	width: 50%;
	max-width: 154px;
	padding-bottom: 0.7rem;
}

@media screen and (max-width: 767px) {
	#recruit02 .recruit02_text h3 {
		width: 20%;
		padding-bottom: 0.5rem;
	}
}

#recruit02 .recruit02_text span {
	font-size: 0.12rem;
	display: inline-block;
	border-bottom: 2px solid #FFF;
	padding-bottom: 3px;
}

#recruit02 .recruit02_text h4 {
	font-size: 0.26rem;
	padding-bottom: 0.2rem;
	padding-top: 0.2rem;
}

@media screen and (max-width: 767px) {
	#recruit02 .recruit02_text h4 {
		font-size: 0.2rem;
		padding-bottom: 0.2rem;
		padding-top: 0.2rem;
	}
}

#recruit02 .recruit02_text em {
	background: url("../img/right_arrow.png") no-repeat -3% center;
	background-size: 0.3rem;
	padding-left: 0.34rem;
	font-size: 0.14rem;
}


/*============================================
04 COMAPNY
===========================================*/
#company {
	padding-top: 1rem;
}

#company .section_no {
	right: 1.4rem;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	#company .section_no {
		right: inherit;
		left: 0.4rem;
		top: -0.2rem;
	}
}

#company_cont_wrapper {
	width: 93%;
	position: relative;
	z-index: 0;
	box-sizing: border-box;
	margin-top: 0.6rem;
}

@media screen and (max-width: 767px) {
	#company_cont_wrapper {
		width: 100%;
	}
}

#company_cont_wrapper .shutter_cont {
	background: url("../img/company_bg.jpg") no-repeat 0 0;
	background-size: cover;
	padding: 0.6rem;
	padding-bottom: 0;
}

@media screen and (max-width: 767px) {
	#company_cont_wrapper .shutter_cont {
		padding: 0.3rem;
		padding-bottom: 0;
	}
}

.company_ttl {
	background: #FFF;
	position: absolute;
	bottom: 0;
	padding: 0.6rem;
	padding-bottom: 1rem;
	left: 1.4rem;
	z-index: 1;
	width: 80%;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	.company_ttl {
		position: relative;
		bottom: inherit;
		padding: 0.2rem;
		left: 0;
		width: 50%;
	}
}

.company_ttl h4 {
	font-size: 0.24rem;
	position: relative;
	font-weight: 700;
}

.company_ttl h4 div {
	width: 30px;
	height: 2px;
	background: #FC6401;
	margin-top: 0.2rem;
}

.company_text {
	background: #333;
	color: #FFF;
	padding: 0.4rem;
	width: 60%;
	position: relative;
	z-index: 2;
	margin-left: auto;
}

@media screen and (max-width: 767px) {
	.company_text {
		padding: 0.2rem;
		padding-top: 0.3rem;
		width: 100%;
		box-sizing: border-box;
	}
}

.company_text h4 {
	font-size: 0.18rem;
	padding-bottom: 0.1rem;
}

.company_text h4 span {
	font-size: 0.15rem;
}

@media screen and (max-width: 767px) {
	.company_text h4 span {
		display: block;
		padding-top: 0.1rem;
	}
}

.company_text p {
	font-size: 0.14rem;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.company_text h4 {
		font-size: 0.2.2rem;
	}
}

.company_text .map_btn {
	padding-top: 0.1rem;
	padding-bottom: 0.4rem;
}

.company_text .map_btn a {
	display: inline-block;
	background: #FFF;
	color: #222;
	text-decoration: none;
	font-size: 0.12rem;
	font-weight: 600;
	padding: 0.07rem;
}

.company_text .map_btn a:hover {
	background: #FC6401;
	color: #FFF;
}

.company_text .link_btn {
	max-width: 400px;
	width: 80%;
	position: absolute;
	left: 0.4rem;
	bottom: -0.15rem;
}

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

.company_text .link_btn div {
	background: #FFF;
}

.company_text .link_btn a:hover div {
	width: 16%;
	background: #FC6401;
}
