/*/////////////////////////////////////////////////////////////////////////////////

0. インポート
	リセットCSS
	共通CSS

1. グローバルメニュー
	リセットCSS
	共通CSS

2. 全ページ共通
	2-1. header
	2-2. footer
	2-3. parts

3. フロントページ
	3-1. mainvisual
	3-2. section
	3-2. section個別

4. 下位ページ共通
	4-1. header
	4-2. section
	4-3. parts

5. 下位ページ個別
	5-1. お問い合わせ

6. アーカイブページ
	6-1. ページネーション
	6-2. ニュース一覧
	6-3. ブログ一覧（含index.php）

7. シングルページ
	7-1. post_header
	7-2. eyecatch
	7-3. parts
	7-4. share-btn
	7-5. ページ送り
	7-6. インタビュー動画

-----------------------------------------------------------------------------------

	使用色
	#e60012　rgb(,,)	ベース。強調したい文字色等に使用
	#1b1b1b　rgb(27,27,27)	標準の文字色

/////////////////////////////////////////////////////////////////////////////////*/

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
	0. インポート
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@import url("reset.css");
@import url("common.css");

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
	1. グローバルメニュー
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.menu > ul {
	margin: 0 auto;
	width: 100%;
	list-style: none;
	padding: 0;
	text-align:right;
	box-sizing: border-box;
	font-size: 0;
}
.menu > ul:after {clear: both;}

.menu > ul > li {
	display:inline-block;
	padding: 0;
	margin: 0;
	vertical-align:top;
	position: relative;
}

.menu > ul > li > a {
	text-decoration: none;
	padding: 15px 20px;
	display: block;
	overflow:hidden;
	text-align: center;
	font-size:14px;
	font-weight:500;
	line-height:1.25;
	font-weight:300;
}
.menu > ul > li.current-menu-item > a,
.menu > ul > li.menu-dropdown-active > a,
.menu > ul > li > a:hover {
	color:#e60012;
}
.menu > ul > li > a > span{
	font-size: 12px;
	color:#abaaaa;
	font-weight:normal;
}
.menu > ul > li.current-menu-item > a span,
.menu > ul > li.menu-dropdown-active > a span,
.menu > ul > li > a:hover > span{
	color:inherit;
}
/* ２階層目 */
.menu > ul > li > ul{
	display: none;
	width: 230px;
	padding-top: 15px;
	position: absolute;
	z-index: 99;
	top: 100%;
	left: 0;
	margin: 0;
	list-style: none;
}
.menu > ul > li > ul > li{width:100%;background: #fff; border-top:1px solid #e3e3e3;border-left:1px solid #e3e3e3;border-right:1px solid #e3e3e3;}
.menu > ul > li > ul > li:last-child{border-bottom:1px solid #e3e3e3;}
.menu > ul > li > ul > li a{display:block;padding:15px 15px;font-size:14px;white-space:nowrap;}
.menu > ul > li > ul > li a:hover{background:#e60012;color:#fff;}

/* ハンバーガーメニュー */
.menu-mobile {
	display: none;
	width:35px;
	height:35px;
}
.menu-mobile span {
	position: absolute;
	left: 3px;
	width: 29px;
	height: 2px;
	background-color: #282828;
	display: inline-block;
}
.menu-mobile span:nth-of-type(1) {top: 0px;}
.menu-mobile span:nth-of-type(2) {top: 11px;}
.menu-mobile span:nth-of-type(3) {top: 22px;}
/* ２階層目があるメニュー項目（親） */
.menu-dropdown:before {
	display: none;
	font-family: 'FontAwesome';
	content: "\f067";
	cursor: pointer;
	color: #fff;
	position: absolute;
	right:0;
	font-size:16px;
	line-height:65px;
	height:65px;
	width:65px;
	text-align:center;
}
.menu-dropdown-active:before {
	content: "\f068";
}

/* 外部リンクが指定されているメニュー */
.menu-external:before {
	font-family: 'FontAwesome';
	content: "\f08e";
	cursor: pointer;
	color: #fff;
	position: absolute;
	right:0;
	font-size:16px;
	line-height:65px;
	height:65px;
	width:65px;
	text-align:center;
}
@media screen and (max-width:1400px) {
	.menu > ul > li > a {
		padding: 15px 10px;
	}
}
@media only screen and (max-width: 640px) {
	.menu-mobile {
		display: block;
	}
	.menu > ul {
		display: none;
	}
	.menu .show-on-mobile {
		display: block!important;
	}
	.menu-dropdown:before {
		display: block;
	}
	.menu-dropdown-active:before {
		display: block;
	}
	.menu-external:before {
		display: block;
	}
	.menu > ul > li .menu_detail {
		position: relative;
	}

	.menu > ul > li {
		display:block;
		width:100%;
	}

	.menu > ul > li > a {
		padding: 17px 20px;
		width:100%;
		height:65px;
		line-height: 31px;
		border-bottom:none;
		text-align: left;
		color:#fff;
	}
	.menu > ul > li.current-menu-item > a,
	.menu > ul > li.menu-dropdown-active > a,
	.menu > ul > li > a:hover {
		color:#fff;
		border-bottom:none;
	}
	.menu > ul > li > a > span{
		display:none;
	}
	.menu > ul > li > ul{
		position: static;
		border:none;padding-top:0;
		width:100%;
	}
	.menu > ul > li > ul > li{
		background: #ccc;
	}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––

	2. 全ページ共通

–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ==================================================
	2-1. header
================================================== */
.header{
	border-top:4px solid #e60012;
}
.header_pc{
	position: relative;
	min-width:1200px;
}

.header_bland{
	background:#fff;
	height:90px;
	overflow:hidden;
}
.header_bland .inner {
	position: relative;
}
.header_bland_logo {
	position: absolute;
	top: 30px;
	left: 10px;
}
.header_bland_logo img{
	height: 36px;
	width: auto;
}

.header_menu {
	position: absolute;
	right: 230px;
	top: 15px;
}
.header_info {
	position: absolute;
	right: 30px;
	top: 20px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
.header_info li.header_info_contact a {
	font-size: 20px;
	line-height: 47px;
	color: #fff;
	text-align: center;
	background: #e60012;
	font-weight: 500;
	display: block;
	-webkit-border-radius: 2em;
	-moz-border-radius: 2em;
	border-radius: 2em;
	width: 180px;
	height: 50px;
	/* letter-spacing: 0.2em; */
}
.header_info li.header_info_contact a:after {
	font-family: 'FontAwesome';
	content: "\f105";
	padding-left: 20px;
}

@media screen and (max-width:1400px) {
	.header_menu {
		right: 160px;
	}
	.header_info {
		right: 10px;
	}
	.header_info li.header_info_contact a {
		width: 140px;
	}
}
@media screen and (max-width:640px) {

	.header_sp{}

	.header_bland{
		background-image:none;
		background:#fff;
		height:60px;
	}
	.header_bland_logo {
		top: 18px;
		left: 15px;
	}
	.header_bland_logo img{
		height: 24px;
	}
	.menu-mobile {
		position: absolute;
		right: 15px;
		top: 14px;
	}
	.header_menu {
		background: #e60012;
		position: static;
	}
}
/* ==================================================
	2-2. footer
================================================== */
.footer {
	margin-top:-1px;
}
/* フッターメイン */
.footer_main {
	background: #000;
	padding:0;
}
/* フッターサイトマップ */
.footer_menu {
	padding: 40px 0;
	overflow: hidden;
}
.footer_menu .inner {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
.footer_menu .inner > *{
	width:calc(25% - 40px);
}
.footer_menu h2{
	color:#fff;
	font-size:18px;
	font-weight:500;
	border-bottom: 1px solid #fff;
	padding:15px 12px;
	margin:0 0 10px 0;
}
.footer_menu ul{
	display:block;
	overflow:hidden;
}
.footer_menu li{
	color:#fff;
	font-size:14px;
	width:100%;
	display:block;
	margin:12px 0;
	padding:0 12px;
}

/* フッターロゴ */
.footer_logo {
	padding: 35px 20px;
	text-align:center
}
.footer_logo img{
	display:inline-block;
}

/* コピーライト */
.footer_copy{padding:20px 0;color: #fff;background:#545555;}
.footer_copy .inner{text-align:center;font-size:12px;line-height:1;}


.flex-entry {
	display: block;
	position: fixed;
	top: 30%;
	left: 0;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 100;
}
.flex-entry ul {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
.flex-entry ul li:first-child a { background-color: #e60012;}
.flex-entry ul li a { display: inline-block; padding: 50px 15px; background-color: #cc000d;}
.flex-entry ul li a .ja { color: #fff; letter-spacing: 2px; font-size:16px;}

/* ページTOPへ戻る */
.return_top {
	display: none;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 10;
}
.return_top a {
	position: relative;
	display: block;
	height: 119px;
	width: 119px;
	text-decoration: none;
	background:url(../images/common/common_btn_pagetop.png) center center no-repeat;
	background-size:contain;
}
@media screen and (max-width:640px) {
	.footer_main {
		padding: 0 0 51px;
	}


	.footer_menu .inner {
		flex-wrap: wrap;
	}
	.footer_menu .inner > *{
		width:50%;
	}
	.footer_menu .inner > *:nth-child(odd){
		padding:0 10px 0 0;
	}
	.footer_menu .inner > *:nth-child(even){
		padding:0 0 0 10px;
	}
	.flex-entry  {
		display: block;
		bottom: 0;
		top: initial;
		-webkit-writing-mode: initial;
		-ms-writing-mode: initial;
		writing-mode: initial;
		width: 100%;
	}
	.flex-entry ul li {
		text-align:center;
		padding:0;
		width:100%;
		font-size:0;
	}
	.flex-entry ul li a{
		text-align: center;
		padding: 18px 20px 14px;
		width: 100%;
	}
	.flex-entry ul li a .eng { color:#fff;font-size:18px;line-height:20px;font-weight:500;float:left; }
	.flex-entry ul li a .ja { line-height:20px;font-size:12px;font-weight:500;float:right; }

	.return_top {
		right: 20px;
		bottom: 80px;
	}
	.return_top a{
		width:60px;
		height:60px;
	}
}
/* ==================================================
	2-3. parts
================================================== */
.fjalla {
	font-family: 'Fjalla One', sans-serif;
}

/* ----------------ボタン----------------*/
.wrap_btn {text-align:center;width:100%;}
.wrap_btn li{display:inline-block;margin:0;}
.wrap_btn li:not(:last-child){margin-bottom:10px;}
.btn{
	border:2px solid #fff;
	color: #fff!important;
	text-align:center;
	font-size:20px;
	padding:10px 10px;
	position: relative;
	text-decoration:none;
	min-width:350px;
	min-height:40px;
	display:inline-block;
}
.btn:hover{
	color: #fff!important;
}
.btn_arrow:after {
	font-family: 'FontAwesome';
	content: "\f105";
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.btn_arrow:hover:after {
	right: 5px;
}
.btn_color{
	border:2px solid #e60012;
	color: #e60012!important;
}
.btn_color:hover{
	color: #e60012!important;
}

@media screen and (max-width:640px) {
	.wrap_btn li{display:block!important;}
	.btn{
		font-size:16px;
		min-width:100%;
	}
}

.h2styleRL{
	position: relative;
	background: #e61018;
	margin-left: 75px;
	margin-bottom:75px;
	padding: 0;
	white-space: nowrap;
}
.h2styleRL:before{
	content: "";
	position: absolute;
	top: 0;
	left: -75px;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #e61018 transparent transparent transparent;
	border-width: 75px 0 0 75px;
}
.h2styleRL:after{
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
	width: 100%;
	height: 0px;
	margin: auto;
	border-bottom: 75px solid #e61018;
}
.h2styleLR{
	position: relative;
	background: #e61018;
	margin-right: 75px;
	margin-bottom:75px;
	padding: 0;
	white-space: nowrap;
	text-align:right
}
.h2styleLR:before{
content: "";
	position: absolute;
	top: 0;
	right: -75px;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #e61018 transparent transparent transparent;
	border-width: 75px 75px 0 0;
}
.h2styleLR:after{
	content: "";
	position: absolute;
	right: 100%;
	top: 0;
	width: 100%;
	height: 0px;
	margin: auto;
	border-bottom: 75px solid #e61018;
}
.h2styleRL *,
.h2styleLR *{
	color:#fff;
}
.h2styleRL .eng,
.h2styleLR .eng{
	font-size:50px;
	line-height: 75px;
}
.h2styleRL .ja,
.h2styleLR .ja{
	margin-left:10px;
	font-size:22px;
}
@media screen and (max-width:640px) {
	.h2styleRL{
		margin-left: 60px;
		margin-bottom:60px;
	}
	.h2styleRL:before{
		left: -60px;
		border-width: 60px 0 0 60px;
	}
	.h2styleRL:after{
		border-bottom: 60px solid #e61018;
	}
	.h2styleLR{
		margin-right: 60px;
		margin-bottom:60px;
	}
	.h2styleLR:before{
	content: "";
		right: -60px;
		border-width: 60px 60px 0 0;
	}
	.h2styleLR:after{
		border-bottom: 60px solid #e61018;
	}
	.h2styleRL .eng,
	.h2styleLR .eng{
		font-size:28px;
		line-height: 60px;
	}
	.h2styleRL .ja,
	.h2styleLR .ja{
		font-size:14px;
	}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––

	3. フロントページ

–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ==================================================
	3-1. wrap/bg/mainvisual
================================================== */
.mainvisual {
	position: relative;
	overflow:hidden;
	height:880px;
	width:100%;
}
.mainvisual_catchcopy {
	visibility: hidden;
	z-index: 1;
	position: absolute;
	left: 5%;
/*	  bottom: 160px;	*/
	bottom: 90px;
	height: auto;
}
/*
.mainvisual_catchcopy img{
	max-width:100%
	height:auto;
}
*/
.mainvisual_catchcopy p{
	color: #fff;
	text-shadow: 1px 1px 5px rgba(50, 51, 51, .7), 1px -1px 5px rgba(50, 51, 51, .7), -1px 1px 5px rgba(50, 51, 51, .7), -1px -1px 5px rgba(50, 51, 51, .7);
	white-space: nowrap;
	margin: 0;
}
.mainvisual_catchcopy p:nth-child(1){
	font-size: 50px;
	font-weight: 500;
}
.mainvisual_catchcopy p:nth-child(2){
	font-size: 36px;
	font-weight: 500;
}
.wrap {
	width: 100%;
	height: 100%;
}
.bg{
	background: transparent;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: fixed;
	width: 100%;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	z-index: -1;
}
.bg:after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.35);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
}
#bg-video {
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	left: 0;
	position: absolute;
	object-fit: cover;
}
@media screen and (max-width:640px) {
	.mainvisual {
		height:480px;
	}
	.mainvisual_catchcopy {
		bottom: 85px;
	}
	.mainvisual_catchcopy p:nth-child(1){
		font-size: 24px;
	}
	.mainvisual_catchcopy p:nth-child(2){
		font-size: 14px;
	}

}
@media screen and (max-width:350px) {
	.mainvisual_catchcopy p:nth-child(2){
		font-size: 12px;
	}
}

/* ==================================================
	3-2. section
================================================== */
.index_main article section{
	padding: 50px 0 50px;
	overflow:hidden;
}
@media screen and (max-width:640px) {
	.index_main article section{
		min-width:auto;
		padding: 40px 0 60px;
	}
}

/* ==================================================
	3-3. section個別
================================================== */
.index_main article section:first-child {
	position: relative;
}
.index_main article section:first-child:after{
	position: absolute;
	background: url(../images/common/common_symbol.png) center center no-repeat;
	background-size: contain;
	content: "";
	top: 0;
	right: -7%;
	width: 550px;
	height: 508px;
}
@media screen and (max-width:640px) {
	.index_main article section:first-child:after{
		right: -10%;
		width: 200px;
		height: 185px;
	}
}
/* ----------------section.news----------------*/
.index_main section.news {
	padding:200px 0 100px;
}

.news_box {
	width: 100%;
	margin: 0 auto;
	background:#fff;
	padding: 20px 30px;
}
.news_list{margin-bottom: 40px;}
.news_list li{
	padding: 20px 0;
	border-bottom: 1px dashed #767777;
}
.news_list .news_list_date {
	white-space: nowrap;
	text-align: left;
	display: block;
	float: left;
	width: 130px;
	font-size: 16px;
}
.news_list .news_list_title {
	width: calc(100% - 130px);
	text-align: left;
	display: block;
	float: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	height: auto;
	text-decoration: none;
	font-size: 16px;
}

@media screen and (max-width:640px) {
	.index_main section.news {
		padding:100px 0 30px;
	}
	/* index */
	.news_box {
		width: 100%;
		margin: 0 auto;
		padding: 30px 20px;
	}
	.news_list{margin:0 0 40px;}

	.news_list .news_list_date{
		width: 100px;
	}
	.news_list .news_list_title{
		width: calc(100% - 100px);
	}
}



/* ----------------section.interview----------------*/
.index_main section.interview {
	padding:70px 0;
}
.interview_list {
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	flex-wrap:wrap;
}

.interview_list li{
	width:25%;
	overflow:hidden;
}

.interview_list figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	line-height:1;
}
.interview_list figure img{
	max-width:100%;
	width:100%;
}
.interview_list figcaption {
	position: absolute;
	top: -100%;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 1;
}
.interview_list figcaption a{text-decoration:none;width:100%;height:100%;display:block;overflow:hidden;position: relative;}
.interview_list figcaption a:hover{color:#fff;}
.interview_list figure:hover figcaption {
	top: 0;
	left: 0;
}
.interview_list figcaption a p{color:#fff;}
.interview_list figcaption .interview_list_figcaption{
	position: absolute;
	bottom: 0;
	left: 0;
	padding:30px;
}
.interview_list figcaption a:after{
	position: absolute;
	bottom: 30px;
	right: 30px;
	content:"";
	background:url(../images/common/common_ico_more.png) center center no-repeat;
	background-size:contain;
	width:51px;
	height:50px;
}

.interview_list figcaption .interview_list_figcaption_catchcopy{
	font-size:20px;
	margin:0 0 20px 0;
}
.interview_list figcaption .interview_list_figcaption_catchcopy:before{
	content:"「";
}
.interview_list figcaption .interview_list_figcaption_catchcopy:after{
	content:"」";
}
.interview_list figcaption .interview_list_figcaption_position{
	font-size:14px;
	margin:0;
}
.interview_list figcaption .interview_list_figcaption_name{
	font-size:28px;
	margin:0;
	line-height:1;
}
.interview_list figcaption .interview_list_figcaption_name .name-eng{
	font-size:14px;
	margin-left:10px;
}
.interview_list .interview_list_more{
	background: #e60012;
}
.interview_list .interview_list_more .join {
    color: #fff;
    height: 100%;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
}
.interview_list .interview_list_more a{
	color: #fff;
	height: 100%;
	width: 100%;
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: center;
	align-items: center;
}
.interview_list .interview_list_more_guide{
	text-align:center;
/*
	text-align:center;
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-webkit-transform: -webkit-translate(-50%, -50%);;
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
*/
}
.interview_list .interview_list_more_guide img{
	display:inline-block;
	margin:40px 0;
}
.interview_list .interview_list_more_guide span{
	display:block;
	text-align:center;
	white-space: nowrap;
}
.interview_list .interview_list_more_guide span.eng{
	font-size:40px;
}
.interview_list .interview_list_more_guide span.ja{
	font-size:28px;
}

@media screen and (max-width:640px) {
	.interview_list li{
		width:50%;
	}
	.interview_list figcaption .interview_list_figcaption{
		padding:15px;
	}
	.interview_list figcaption a:after{
		bottom: 15px;
		right: 15px;
		width:25px;
		height:25px;
	}
	.interview_list figcaption .interview_list_figcaption_catchcopy{
		font-size:12px;
		margin:0 0 10px 0;
	}
	.interview_list figcaption .interview_list_figcaption_position{
		font-size:10px;
		margin:0;
	}
	.interview_list figcaption .interview_list_figcaption_name{
		font-size:18px;
		margin:0;
		line-height:1;
	}
	.interview_list figcaption .interview_list_figcaption_name .name-eng{
		font-size:10px;
		margin:0;
		display:block;
	}
	.interview_list .interview_list_more_guide img{
		margin:15px 0;
		width:50%;
	}
	.interview_list .interview_list_more_guide span.eng{
		font-size:20px;
	}
	.interview_list .interview_list_more_guide span.ja{
		font-size:15px;
	}
}

/* ----------------section.project----------------*/
.index_main section.project {
	padding:70px 0;
}
section.project .project_list {
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
}

section.project .project_list li{
	width:calc(33.3% - 20px);
	border:3px solid #e60012;
	overflow:hidden;
}
section.project .project_list li .project_list_image{
	margin:0;
}
section.project .project_list li .project_list_image img{
	max-width: 100%;
	height:auto;
}
section.project .project_list li .project_list_name{
	margin:0;
	font-size:22px;
	font-weight:700;
	color:#e60012;
	text-align:center;
	padding:10px;
	background:#fff;
}
@media screen and (max-width:640px) {
	section.project .project_list {
		display: block;
	}
	section.project .project_list li{
		width:100%;
	}
	section.project .project_list li:not(:last-child){
		margin:0 0 20px 0;;
	}
	section.project .project_list li a{
		display: table;
		width: 100%;
	}
	section.project .project_list li .project_list_image{
		display:table-cell;
		width:120px;
	}
	section.project .project_list li .project_list_image img{
	}
	section.project .project_list li .project_list_name{
		width: calc(100% - 120px);
		display: table-cell;
		font-size: 13px;
		vertical-align: middle;
		padding: 5px 0;
	}
}

/* ----------------section.message----------------*/
.index_main section.message {
	padding:70px 0;
}
.index_main section.message .read{font-size: 34px;color: #e60012;line-height:1.8;margin:0 0 40px 0;font-weight:700;}
.index_main section.message .text{font-size:18px!important;line-height:1.8!important;margin:0 0 40px 0;color:#fff;
	text-shadow: 1px 1px 5px rgba(50, 51, 51, .7), 1px -1px 5px rgba(50, 51, 51, .7), -1px 1px 5px rgba(50, 51, 51, .7), -1px -1px 5px rgba(50, 51, 51, .7);
}
.index_main section.message img{max-width: 100%;}

section.message .wrap_box .box:nth-of-type(odd){
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
	margin-left:calc(50% - 600px);
	width: calc(50% + 600px);
	flex-direction: row-reverse;
}
section.message .wrap_box .box:nth-of-type(even){
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
	margin-right:calc(50% - 600px);
	width: calc(50% + 600px);
}
section.message .wrap_box .box .box-col:first-child{
	width: 40%;
}
section.message .wrap_box .box .box-col:last-child{
	width: calc(60% - 60px);
	padding: 0 10px;
}
@media screen and (max-width:640px) {
	.index_main section.message .read{font-size: 18px;margin:20px 0;}
	.index_main section.message .text{font-size:14px!important;}
	section.message .wrap_box .box:nth-of-type(odd),
	section.message .wrap_box .box:nth-of-type(even){
		display: block;
		justify-content: space-between;
		margin-left:auto;
		margin-right:auto;
		width: auto;
	}
	section.message .wrap_box .box .box-col:first-child{
		width: 100%;
		padding: 0 20px;
	}
	section.message .wrap_box .box .box-col:last-child{
		width: 100%;
		padding: 0 20px;
	}
}





/* ----------------section.induction----------------*/
section.induction {
	padding:40px 0 55px;
/*
	background: -webkit-gradient(linear,left top,right top,from(rgba(124, 151, 204, .8)),to(rgba(121, 203, 202, .8)));
	background: -webkit-linear-gradient(90deg,#E60012 0%,E60012 50%,#CC000D 50%, #CC000D 100%);
	background: linear-gradient(90deg,#E60012 0%,E60012 50%,#CC000D 50%, #CC000D 100%);
*/
	background:#E60012;
	background: -webkit-linear-gradient(right,#E60012 0,#E60012 50%,#CC000D 50%,#CC000D 100%);
	background: -webkit-gradient(linear,left top,right top,from(#E60012),color-stop(50%,#E60012),color-stop(50%,#CC000D),to(#CC000D));
	background:linear-gradient(90deg,#E60012 0%,#E60012 50%,#CC000D 50%,#CC000D 100%);
}
section.induction .inner{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
}
section.induction .box{
	width:545px;
	padding-bottom:80px;
	position: relative;
}

section.induction h2{
	margin: 0 0 30px 0;
}
section.induction h2 .eng{
	color:#fff;
	text-align:center;
	font-size:60px;
	font-weight:500;
	display:block;
}
section.induction h2 .ja{
	color:#fff;
	text-align:center;
	font-size:22px;
	font-weight:500;
	display:block;
}
section.induction .text{
	font-size:18px;
	color:#fff;
	text-align:left;
	line-height:1.8;
}
section.induction .wrap_btn{
	position: absolute;
	bottom:5px;
	margin:0!important;
}

@media screen and (max-width:640px) {
	section.induction {}
	section.induction .box{
		width:45%;
	}
	section.induction h2 .eng{
		font-size:32px;
	}
	section.induction h2 .ja{
		font-size:20px;
	}
	section.induction .text{
		font-size:14px;
		color:#fff;
		text-align:left;
		line-height:1.8;
	}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––

	4. 下位ページ（共通）

–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ==================================================
	4-1. article_header
================================================== */
.article_header{
	width:100%;
}
.page-template-page-mainstay .article_header,
.post-type-archive-interview .article_header,
.single-interview .article_header{
	width:100%;
/*
	height:750px;
	margin-bottom: 40px;
*/
}

.article_header_img{
	text-align:center;
	overflow:hidden;
	width:100%;
	height:100%;
}
.article_header_img img{
	height:auto;
    max-width: 100%;
	display:inline-block;
}
.article_header h1{
	position: relative;
	background: #e61018;
	margin-top:15px;
	margin-right: 75px;
	margin-bottom:0;
	padding: 0;
	white-space: nowrap;
	text-align:left;
	height:75px;
}
.page-template-page-mainstay .article_header h1,
.post-type-archive-interview .article_header h1,
.single-interview .article_header h1{
	margin-top:-40px;
}
.article_header h1:before{
	content: "";
	position: absolute;
	top: 0;
	right: -75px;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #e61018 transparent transparent transparent;
	border-width: 75px 75px 0 0;
}
.article_header h1:after{
	content: "";
	position: absolute;
	right: 100%;
	top: 0;
	width: 100%;
	height: 0px;
	margin: auto;
	border-bottom: 75px solid #e61018;
}
.article_header h1 *{
	color:#fff;
}
.article_header h1 .eng{
	font-size:50px;
	line-height: 75px;
}
.article_header h1 .ja{
	margin-left:10px;
	font-size:22px;
}

@media screen and (max-width:640px) {
	.article_header{
	}
	.page-template-page-mainstay .article_header,
	.post-type-archive-interview .article_header,
	.single-interview .article_header{
/*		height:200px;	*/
/*		background-size:auto 100%;	*/
/*		margin-bottom:20px;		*/
	}
	.article_header_img img{
	    height: unset;
	    max-width: 100%;
	}
	.article_header h1{
		margin-right: 60px;
		margin-bottom:0;
		height:60px;
		padding:5px 0 10px;
	}
	.page-template-page-mainstay .article_header h1,
	.post-type-archive-interview .article_header h1,
	.single-interview .article_header h1{
		margin-top:-30px;
	}
	.article_header h1:before{
		content: "";
		right: -60px;
		border-width: 60px 60px 0 0;
	}
	.article_header h1:after{
		border-bottom: 60px solid #e61018;
	}
	.article_header h1 .eng{
		font-size:28px;
		line-height: 35px;
	}
	.article_header h1 .ja{
		font-size:12px;
		line-height:12px;
		display:block;
		margin-left:0;
	}
}

/* ==================================================
	4-2. article_breadcrumb
================================================== */
.article_breadcrumb {
	width:100%;
	overflow:hidden;
	margin-top:0;
}
.article_breadcrumb ul{
	text-align:left;
	padding:20px 0;
}
.article_breadcrumb li{
	display:inline-block;
	font-size:14px;
}
.article_breadcrumb li {
	color:#fff;
}
.page-template-page-mainstay .article_breadcrumb li,
.post-type-archive-interview .article_breadcrumb li,
.single-interview .article_breadcrumb li{
	color:#1b1b1b;
}

.article_breadcrumb a{
	font-size:14px;
}
.article_breadcrumb a {
	color:#fff;
}
.page-template-page-mainstay .article_breadcrumb a,
.post-type-archive-interview .article_breadcrumb a,
.single-interview .article_breadcrumb a{
	color:#1b1b1b;
}
.article_breadcrumb li:not(:last-child):after{
	content:">";
	margin:0 5px;
}

/* ==================================================
	4-2. section
================================================== */
.main{}
.page-template-page-mainstay .main,
.post-type-archive-interview .main,
.single-interview .main{background:#fff;}

.article_body{
	padding:0 0 80px!important;
}
.page-template-page-mainstay .article_body,
.post-type-archive-interview .article_body,
.single-interview .article_body{
	padding:80px 0!important;
	background: url(../images/common/common_symbol_gray.png) top right -7% no-repeat;
}
@media screen and (max-width:640px) {
/*
	.page-template-default .article_body{
		padding:60px 0!important;background-size: 200px 185px;
	}
*/
	.article_body{padding:0 0 60px!important;}
	.page-template-page-mainstay .article_body,
	.post-type-archive-interview .article_body,
	.single-interview .article_body {
		padding:0 0 40px!important;
		right: -10%;
		background-size: 200px 185px;
	}
}
.article_body > .inner{
	background:#fff;
	padding:40px;
	position:relative;
}
.page-template-page-mainstay > .inner,
.post-type-archive-interview > .inner,
.single-interview > .inner {
	background:unset;
	padding:unset;
	position:unset;
}

@media screen and (max-width:640px) {
	.article_body > .inner{
		width:calc(100% - 10px);
		margin:0 5px;
		padding:15px;
	}
	.page-template-page-mainstay .article_body > .inner,
	.post-type-archive-interview .article_body > .inner,
	.single-interview .article_body > .inner {
		width: 100%;
		margin: 0 auto;
		padding:0 20px;
	}
}








.main article section{
	padding: 0;
	overflow:hidden;
}
@media screen and (max-width:640px) {
	.main article section{
		min-width:auto;
		padding: 0;
	}
}
.main article .paragraph{margin:0 0 80px 0;display:block;overflow:hidden;}
@media screen and (max-width:640px) {
	.main article .paragraph{margin:0 0 20px;}
}

/* ==================================================
	4-3. parts
================================================== */
.main section h2.h2style{
	font-size: 30px;
    font-weight: bold;
	color: #000;
	margin: 0 0 55px 0;
	text-align: center;
	font-family: 'Fjalla One', sans-serif;
	line-height:50px;
}
.main section h2.h2style span{
    font-size: 16px;
    color: #000;
    text-align: center;
    margin: 0 0 0 0;
    line-height: 1.6;
    display: block;
    font-weight: normal;
}
.main section h2.h2style span:before{
	content: "";
    display: block;
    height: 3px;
    width: 124px;
    background: #000;
    margin: 0 auto 10px;
}
.main section h3.h3style{
	padding: 0;
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 1.8;
    letter-spacing: .1em;
    color: #e61018;
    font-weight: 700;
}
.main section h4.h4style{
	padding: 0;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .1em;
    color: #000;
    font-weight: 700;
}
@media screen and (max-width:640px) {
	.main section h2.h2style{
		font-size:28px;
		line-height:28px;
		margin:0 0 45px 0;
	}

	.main section h2.h2style span {
		font-size: 14px;
	}
	.main section h2.h2style span:before{
	    margin: 10px auto;
	}
	.main section h3.h3style{
	    margin:0 0 20px 0;
	    font-size: 18px;
	}
	.main section h4.h4style{
	    margin-bottom: 18px;
	    font-size: 14px;
	}
}




/* ----------------ボックス----------------*/
.main article .wrap_box img{max-width: 100%;}
.main article .wrap_box .box:nth-of-type(even){
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
	margin-left:calc(50% - 600px);
	width: calc(50% + 600px);
	flex-direction: row-reverse;
}
.main article .wrap_box .box:nth-of-type(odd){
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
	margin-right:calc(50% - 600px);
	width: calc(50% + 600px);
}
.main article .inner .wrap_box .box:nth-of-type(even){
	margin-left:unset;
	width: 100%;
}
.main article .inner .wrap_box .box:nth-of-type(odd){
	margin-right:unset;
	width: 100%;
}

/*
.main article .wrap_box .box:not(:last-child){
	margin-bottom: 60px;
}
*/
.main article .wrap_box .box .box-col:first-child{
	width: 40%;
}
.main article .wrap_box .box .box-col:last-child{
	width: calc(60% - 60px);
	padding: 0 10px;
}
@media screen and (max-width:640px) {
	.main article .wrap_box .box:nth-of-type(odd),
	.main article .wrap_box .box:nth-of-type(even){
		display: block;
		justify-content: space-between;
		margin-left:auto;
		margin-right:auto;
		width: auto;
	}
	.main article .wrap_box .box .box-col:first-child{
		width: 100%;
		padding: 0 20px;
	    margin-bottom: 20px;
	}
	.main article .wrap_box .box .box-col:last-child{
		width: 100%;
		padding: 0 20px;
	}
	.main article .inner .box-col{
		padding: 0!important;
	}
}
.main article .wrap_box_arrow{
  	position: relative;
	padding:220px 0 0 0;
}
.main article .wrap_box_arrow:before{
	position: absolute;
	content:"";
	background: #e61018;
	height:75px;
	width:calc(50% + 600px - 75px);
	display:block;
	top:0;
	right:0;
}
.main article .wrap_box_arrow:after{
	content: "";
    position: absolute;
    top: 0;
    right: calc(50% + 600px - 75px);
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #e61018 transparent transparent transparent;
    border-width: 75px 0 0 75px;
}
@media screen and (max-width:640px) {
	.main article .wrap_box_arrow{
		padding:100px 0 0 0;
	}
	.main article .wrap_box_arrow:before{
		height:60px;
		width:calc(100% - 75px);
	}
	.main article .wrap_box_arrow:after{
	    right: calc(100% - 75px);
	    border-width: 60px 0 0 60px;
	}
}


/* ----------------画像----------------*/
.main article .section_image{margin:0 auto 30px;display:block;max-width:100%;}
@media screen and (max-width:640px) {
	.main article .section_image{margin:0 auto 30px;}
}

/* ----------------テキスト----------------*/
.main article .read{font-size: 34px;color: #e60012;line-height:1.8;margin:0 0 40px 0;}
.main article .text{font-size:18px!important;line-height:1.8!important;margin:0 0 40px 0;}
.main article .note{font-size:16px;line-height:1.8;}
.main article strong{
	font-size: inherit;
	/*background: rgba(46,54,63,.3);*/
	color: #1b1b1b;
	font-weight: bold;
}
@media screen and (max-width:640px) {
/*
	.main article .read{margin:0 0 30px 0;}
	.main article .text{margin:0 0 30px 0;}
*/
	.main article .read{font-size: 18px;margin:20px 0;}
	.main article .text{font-size:14px!important;}
}

/* ----------------リスト----------------*/
.main article .list {width:100%;margin-bottom:40px;}
.main article .list li{padding-left:30px;font-size:18px;margin-bottom:20px;position:relative;}
.main article .list li:last-child{margin-bottom:0;}
.main article .list li:before{
	font-family: 'FontAwesome';
	content: "\f00c";
	position: absolute;
	left: 10px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #e61018;
	top: 16px;
}

.main article .datalist {width:100%;margin-bottom:40px;}
.main article .datalist dt{padding-left:30px;font-size:18px;margin-bottom:20px;position:relative;font-weight:700;}
.main article .datalist dt:before{
	font-family: 'FontAwesome';
	content: "\f00c";
	position: absolute;
	left: 10px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #e61018;
	top: 12px;
}
.main article .datalist dd{font-size:16px;margin-bottom:20px;}
.main article .datalist dd:last-child{margin-bottom:0;}

/* ----------------テーブル----------------*/
.main article table.tbl {width:100%;}
.main article table.tbl + *{margin-top:30px;}
.main article table.tbl * {
	font-size:16px;
}
.main article table.tbl th {
    text-align: left;
    padding: 20px;
    font-weight: 700;
    background: #eeee;
    border-top: 1px solid #646766;
    border-bottom: 1px solid #646766;
    width: 20%;
}
.main article table.tbl td {
	text-align: left;
    padding: 20px;
    background: #fff;
    border-top: 1px solid #646766;
    border-bottom: 1px solid #646766;
}

@media screen and (max-width:640px) {
	.main article table.tbl th {
	    padding: 15px;
	    display: block;
	    width: 100%;
	}
	.main article table.tbl td {
	    /* text-align: left; */
	    padding: 15px;
	    /* background: #fff; */
	    border-top: unset;
	    border-bottom: unset;
	    display: block;
	    width: 100%;
	}
}

/* ----------------ボタン----------------*/
.main article .wrap_btn {text-align:center;}
.main article .wrap_btn li{display:inline-block;margin:0;}
.main article .wrap_btn li:not(:last-child){margin-bottom:10px;}
.main article .btn{
	border: 2px solid #e61018;
    background: #e61018;
	color: #fff!important;
	text-align:center;
	font-size:20px;
	padding:10px 10px;
	position: relative;
	text-decoration:none;
	min-width:350px;
	min-height:40px;
	display:inline-block;
    font-weight: 500;
}
.main article .btn:hover{
	background:#fff;
	color: #e61018!important;
}
.main article .btn_arrow:after {
	font-family: 'FontAwesome';
	content: "\f105";
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.main article .btn_arrow:hover:after {
	right: 5px;
}
@media screen and (max-width:640px) {
	.main article .wrap_btn li{display:block!important;}
	.main article .btn{
		min-width:100%;
	}
}

/* 使うかな？ */
.main article .wrap{overflow:hidden;margin-bottom: 1.7em;}
.main article .wrap p{display:none;}
.main article .wrap .image{float:left;width:360px; margin-right:40px;}
.main article .wrap .text{float:right;width:50%;display:block;}
.main article .wrap .text p{display:block;}
@media screen and (max-width:640px) {
	.main article .wrap .image{float:none;width:100%; margin-right:initial;margin-bottom:20px;}
	.main article .wrap .text{float:none;width:100%;}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––

	5. 下位ページ個別

–––––––––––––––––––––––––––––––––––––––––––––––––– */
/**************/
/* 写真リスト */
/**************/
.photo_list{
	margin:0!important;	background: #eee;
	height:600px;
}
.photo_list img{width:auto; height:600px!important;}
@media screen and (max-width:640px) {
	.photo_list{
		height:300px;
	}
	.photo_list img{width:auto; height:300px!important;}
}

/********************/
/* 写真リスト（帯） */
/********************/
.photoband_list {
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
    justify-content: stretch;
}

.photoband_list li{
	width:100%;
	overflow:hidden;
}
.photoband_list li img{
	width: 100%;
}

/******************/
/* よくあるご質問 */
/******************/
.faq_list {counter-reset:cnt;margin:0;}
.faq_list dt {
	counter-increment: cnt;
	cursor: pointer;
	padding: 20px 10px 20px;
	font-weight: normal;
}
.faq_list dt:not(:first-child) {
	border-top: 1px dashed #767777;
}
.faq_list dt:before {
	content: "\f2c4" counter(cnt) ". ";
	font-family: FontAwesome;
}
.faq_list dd {
	padding: 20px;
	margin: 0 10px 20px;
	background-image: linear-gradient(-45deg, #fff 10%, #f2f2f2 10%, #f2f2f2 50%, #fff 50%, #fff 60%,#f2f2f2 60%, #f2f2f2 );
    background-size: 8px 8px;
}

.faq_list dd strong.point{
	color:#da1a2e;
}

.page_qa .qa .text{
	width : -webkit-calc(100% - 20px) ;
	width : calc(100% - 20px);
	padding:50px 0;
	font-size:1rem;
	margin:50px auto 100px;
	text-align:center;
}
@media screen and (max-width:640px) {
}

/**************/
/* 採用の流れ */
/**************/
.flow_list{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
	width: 100%;
	counter-reset: cnt 0;
}
.flow_list li{
	width: 200px;
    height: 200px;
	position:relative;
}
.flow_list li:not(:last-child):after{
	content: "";
    position: absolute;
    width: 0px;
    border-color: #e61018;
    border-style: solid;
    border-width: 10px;
    border-right-color: transparent;
    border-top-color: transparent;
    border-bottom-color: transparent;
    left: calc(100% + 18px);
    top: calc(50% - 10px);
}

.flow_list li .flow_list_frame{
	width:100%;
	height:100%;
    padding: 0;
    border: 2px solid #e61018;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-image: linear-gradient(-45deg, #fff 10%, #f2f2f2 10%, #f2f2f2 50%, #fff 50%, #fff 60%,#f2f2f2 60%, #f2f2f2 );
    background-size: 8px 8px;
    overflow: hidden;
}
.flow_list li .flow_list_title{
	text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background: #e61018;
    height: 100px;
    margin: 0;
    padding: 20px 0;
}
.flow_list .flow_list_title:before{
	counter-increment: cnt 1;
    content: "STEP"counter(cnt);
    display: block;
}
.flow_list li .note{
    margin: 0;
    font-weight: normal;
    text-align: center;
    padding: 10px 0;
}
@media screen and (max-width:640px) {
	.flow_list{
		display: block;
	}
	.flow_list li{
		margin: 0 auto 40px;
	}
	.flow_list li:not(:last-child):after {
	    border-color: #e61018;
	    border-right-color: transparent;
	    border-bottom-color: transparent;
	    border-left-color: transparent;
	    left: calc(50% - 8px);
	    top: calc(100% + 14px);
	}
}




.agent_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    background: #eeeeed;
    margin: 80px auto 0;
	width: 100%;
}
.agent_list li{
	text-align: center;
    width: 24%;
    display: inline-block;
    position: relative;
    padding: 100px 40px;
}
.agent_list li img{
	width:80%;
}

.agent_list2 {
    display: block;
    overflow: hidden;
    margin: 0 auto;
		text-align: center;
}
.agent_list2 li {
    display:inline-block;
    width: 30%;
}
.agent_list2 li a {
    display:block;
    padding: 100px 40px;
    border: 1px solid #777;
    background:#efefef;
		text-align: center;
}
.agent_list2 li a:hover,.agent_list2 li a:active,.agent_list2 li a:focus{
    background:rgba(230,0,18,.75);
}
.agent_list2 li img{
		width:80%;
}

@media screen and (max-width:640px) {
	.agent_list {
	    margin: 30px auto 0;
	}
	.agent_list li{
	    width: 33.3%;
	    padding: 20px 0;
	}
	.agent_list li img{
		width:100%;
	}

	.agent_list2 li {
      width: 100%;
  }
  .agent_list2 li a {
    padding: 20px 0;
    margin: 5px auto;
}
}

/******************/
/* キャリアプラン */
/******************/
/*
.cp-step-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.cp-step-list > li {
	position: relative;
	margin-bottom: 2.4em;
}
.cp-step-list > li:after {
	content: "";
	position: absolute;
	width: 100%;
	bottom: -4px;
	height: 3px;
	background-color: #f2f2f2;
	z-index: 1;
}
.cp-step-list > li:before {
	content: "";
	position: absolute;
	width: 100%;
	bottom: -7px;
	height: 1px;
	background-color: #f2f2f2;
	z-index: 1;
}
.cp-step-list__arrow {
	position: absolute;
	right: 0;
	bottom: -18px;
	left: 0;
	width: 40px;
	height: 40px;
	margin: auto;
}
.cp-step-list__arrow:after {
	content: "";
	position: relative;
	top: 40px;
	bottom: 0;
	border-right: 20px solid transparent;
	border-top: 20px solid #cc0000;
	border-left: 20px solid transparent;
	z-index: 2;
}
.cp-step-title {
	text-align: center;
	font-size: 21px;
	color: #cc0000;
	letter-spacing: .1em;
}
.cp-step-title__term {
	position: relative;
	display: block;
	margin: .5em 0 0;
	padding: 0 2em;
	color: #ccc;
}
.cp-step-title__term:before {
	content: "";
	position: absolute;
	height: 1px;
	top: 50%;
	right: 0;
	width: .8em;
	border-top: 1px solid #ccc;
}
.cp-step-title__term:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 1px;
	width: .8em;
	border-top: 1px solid #ccc;
}
.cp-step-title__inner {
	position: relative;
	display: inline-block;
	padding: 0 2em;
}
.cp-step-title span[lang="en"] {
	display: inline-block;
	margin-right: .5em;
	font-size: 140%;
	font-weight: 700;
	color: #ccc;
}
.cp-step {
	box-sizing: border-box;
	position: relative;
	padding: 5px;
	background-image: linear-gradient(-45deg, #fff 10%, #f2f2f2 10%, #f2f2f2 50%, #fff 50%, #fff 60%,#f2f2f2 60%, #f2f2f2 );
	background-size: 8px 8px;
}
@media screen and (min-width: 768px) {
	.cp-step {
		display: table;
		width: 100%;
		border-top-right-radius: 20px; }
}
.cp-step__figure, .cp-step__content, .cp-step__ex {
	box-sizing: border-box;
	vertical-align: top;
}
@media screen and (min-width: 768px) {
	.cp-step__figure, .cp-step__content, .cp-step__ex {
		display: table-cell; }
}
.cp-step__figure {
	width: 100%;
}
@media screen and (min-width: 768px) {
	.cp-step__figure {
		width: 300px;
	}
}
.cp-step__figure img {
	width: 100%;
}
.cp-step__content {
	width: 100%;
	padding: .5em 1em;
}
@media screen and (min-width: 768px) {
	.cp-step__content {
		width: auto;
	}
}
.cp-step__content ul {
	list-style-type: disc;
	margin-left: 2em;
	padding: 0;
}
.cp-step-ex {
	display: inline-block;
	margin: 0;
	margin-bottom: 1em;
	padding: .5em 1em;
	color: #fff;
	background-color: #cc0000;
	border-radius: 2em;
}
.cp-step-ex ul {
	list-style-type: none;
	margin: 0;
}
*/
.cp-step-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.cp-step-list > li {
	position: relative;
	margin-bottom: 60px;
}
.cp-step-list__arrow {
	position: absolute;
	right: 0;
	bottom: -30px;
	left: 0;
	width: 40px;
	height: 40px;
	margin: auto;
}
.cp-step-list__arrow:after {
	content: "";
	position: relative;
	top: 40px;
	bottom: 0;
	border-right: 20px solid transparent;
	border-top: 20px solid #cc0000;
	border-left: 20px solid transparent;
	z-index: 2;
}
.cp-step-title {
	text-align: center;
	font-size: 21px;
	font-weight:700;
	color: #cc0000;
/*	letter-spacing: .1em;	*/
	margin:0 0 15px;
}
.cp-step-title__term {
	position: relative;
	display: block;
	margin: .5em 0 0;
	padding: 0 2em;
	color: #ccc;
}
.cp-step-title__term:before {
	content: "";
	position: absolute;
	height: 1px;
	top: 50%;
	right: 0;
	width: .8em;
	border-top: 1px solid #ccc;
}
.cp-step-title__term:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 1px;
	width: .8em;
	border-top: 1px solid #ccc;
}
.cp-step-title__inner {
	position: relative;
	display: inline-block;
	padding: 0;
}
.cp-step-title span[lang="en"] {
	display: inline-block;
	margin-right: .5em;
	font-size: 140%;
	font-weight: 700;
	color: #ccc;
}
.cp-step {
	display: table;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 20px;
	background-image: linear-gradient(-45deg, #fff 10%, #f2f2f2 10%, #f2f2f2 50%, #fff 50%, #fff 60%,#f2f2f2 60%, #f2f2f2 );
	background-size: 8px 8px;
}
@media screen and (max-width: 640px) {
	.cp-step {
		padding: 10px;
	}
}
.cp-step__figure, .cp-step__content, .cp-step__ex {
	vertical-align: top;
	display: table-cell;
}
@media screen and (max-width: 640px) {
	.cp-step__figure, .cp-step__content, .cp-step__ex {
		display:block;
	}
}
.cp-step__figure {
	width: 300px;
	display:block;
}
@media screen and (max-width: 640px) {
	.cp-step__figure {
		width: 100%;
	}
}
.cp-step__figure img {
	width: 100%;
}
.cp-step__content {
	width: 100%;
	padding: 0 0 0 20px;
}
@media screen and (max-width: 640px) {
	.cp-step__content {
		padding: 0;
	}
}
.cp-step__content ul {width:100%;}
.cp-step__content ul li{padding-left:30px;font-size:16px;margin-bottom:0;position:relative;}
.cp-step__content ul li:last-child{margin-bottom:0;}
.cp-step__content ul li:before{
	content: "・";
    position: absolute;
    left: 10px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #e61018;
    top: 14px;
}
.cp-step-ex {
	display: inline-block;
    margin: 0;
    margin-bottom: 15px;
    padding: 5px 10px;
    color: #fff;
    background-color: #e61018;
    border-radius: 2px;
    width: 100%;
    font-size: 16px;
}
.cp-step-ex ul {
	list-style-type: none;
	margin: 0;
}

/************/
/* 企業紹介 */
/************/
.introduction_list {
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;	  /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: space-between;
}

.introduction_list li{
	width:calc(50% - 20px);
	border:3px solid #e60012;
	overflow:hidden;
}
.introduction_list li a{
	display: block;
    width: 100%;
	height:180px;
	position:relative;
}
.introduction_list li a:before{
	position:absolute;
	content:"";
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
/*	background:rgba(230, 16, 24, .1);*/
background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 10%, rgba(255, 255, 255, .5) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 60%,rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, .5) );
    background-size: 8px 8px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.introduction_list li a:hover:before{
	opacity:0;
}
.introduction_list_name {
	position:absolute;
	top:0;
	left:0;
	width:100%;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    color: #e60012;
    line-height: 180px;
}
@media screen and (max-width:640px) {
	.introduction_list {
		display: block;
	}
	.introduction_list li{
		width:100%;
		margin:0 0 20px 0;
	}
	.introduction_list li a{
		height:100px;
	}
	.introduction_list_name {
	    line-height: 100px;
	    font-size: 20px;
	}
}

/************/
/* 部署紹介 */
/************/
.department_list {width:100%;margin-bottom:40px;}
.department_list li {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
/*	border-bottom: 1px dashed #646766; */
    background-image: linear-gradient(-45deg, #fff 10%, #f2f2f2 10%, #f2f2f2 50%, #fff 50%, #fff 60%,#f2f2f2 60%, #f2f2f2 );
    background-size: 8px 8px;
    margin-bottom: 10px;
    padding: 20px;
}
/*
.department_list li:first-child {
	border-top: 1px dashed #646766;
}
*/
/*
.department_list li:not(:first-child) {
	border-top: 1px dashed #646766;
}
*/
.department_list dl {
	width:100%;
}
.department_list dt{font-size:18px;padding-left:30px;margin-bottom:20px;position:relative;font-weight:700;}
.department_list dt:before{
	font-family: 'FontAwesome';
	content: "\f00c";
	position: absolute;
	left: 10px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #e61018;
	top: 16px;
}
.department_list dd{font-size:16px;}

.department_list .image {
	flex-basis: 300px;
	margin-left:30px;
}
.department_list img {
	width:100%;
	height:auto;
}
@media screen and (max-width: 640px) {
	.department_list {margin-bottom:10px;}
	.department_list li {
		display: block;
	    margin-bottom: 10px;
	    padding: 10px;
	}
	.department_list .image {
		flex-basis: 100%;
		margin:30px 0 0 0;
	}
}


/* ==================================================
	5-1. お問い合わせ
================================================== */
.page .contact .tel{
	display:block;
	font-size:48px;
	text-align:center;
	font-style: italic;
}
.page .contact .tel:before{
	display: inline-block;
	background: url(../images/common/common_ico_tel.svg) no-repeat center center;
	width: 55px;
	height: 55px;
	content: "";
	margin: 0 40px -10px 0;
	background-size: 40px;
}
.page .contact .tel a{
	font-size: inherit;
	color: inherit;
	font-style: inherit;
}
.page .contact .time{
	display:block;
	font-size:24px;
	text-align:center;
	padding-left: 95px;
}

@media screen and (max-width:640px) {
	.page .contact .tel{
		font-size: 30px;
	}
	.page .contact .tel:before{
		width: 34px;
		height: 34px;
		margin: 0 10px -5px 0;
		background-size: 24px;
	}
	.page .contact .time{
		font-size: 18px;
		padding-left: 44px;
	}
}

table.phpform {margin:30px auto 0;	  width: 100%;}
table.phpform th{border:none;}
table.phpform td{border:none!important;padding:10px 0;}
table.phpform td:not([colspan]){padding-right:15px;}
table.phpform td:not([colspan]) + td{padding-left:15px;padding-right:0;}
table.phpform .label{margin:0 0 5px 0;font-size:16px;}
table.phpform .label-must:before{
	border: 1px solid #e61018;
    content: "必須";
    background: #e61018;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    color: #fff;
    margin-right: 10px;
    font-size: 12px;
    padding: 2px 5px;
}
table.phpform .label-any:before{
	border:1px solid #e61018;
	content:"任意";
	background:#fff;
	border-radius: 2px;
	-webkit-border-radius:2px;
	-moz-border-radius:2px;
	color:#e61018;
	margin-right:10px;
	font-size:12px;
	padding: 2px 5px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
textarea {
	width: 100%;
	padding:
	font-size:18px;
	padding:15px;

	border: solid 1px #e4e4e4;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;

	overflow:hidden;
	font-size: 18px;
	background: #fff url(../images/common_bg_white.jpg) center center;
}

select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	padding:
	font-size:18px;
	padding:15px;

	border: solid 1px #e4e4e4;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;

	overflow:hidden;
	font-size: 18px;
	background:#efefef;
}
select::-ms-expand {
	display: none;
}

/* マウスオーバー時 */
.wpcf7-form input[type=text]:focus,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form input[type=email]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	outline:none;
	border:1px solid #e61018;
}

/* placeholder */
:placeholder-shown {color: #ccc; }
::-webkit-input-placeholder {color: #ccc; }	/* Google Chrome, Safari, Opera 15+, Android, iOS */
moz-placeholder {color: #ccc; opacity: 1; } 	/* Firefox 18- */
::-moz-placeholder {color: #ccc; opacity: 1; }	/* Firefox 19+ */
:-ms-input-placeholder {color: #ccc; }	/* IE 10+ */

/* 確認画面のinput */
.wpcf7-form input[type="text"].wpcf7c-conf,
.wpcf7-form input[type="tel"].wpcf7c-conf,
.wpcf7-form input[type="email"].wpcf7c-conf,
.wpcf7-form select.wpcf7c-conf,
.wpcf7-form textarea.wpcf7c-conf{
	background:#e3e3e3!important;
	border: 1px solid #e7e7e7;
}
.wpcf7c-conf:focus,
.wpcf7-form input[type="text"].wpcf7c-conf:focus,
.wpcf7-form input[type="tel"].wpcf7c-conf:focus,
.wpcf7-form input[type="email"].wpcf7c-conf:focus,
select.wpcf7c-conf:focus,
textarea.wpcf7c-conf:focus{
	border: 1px solid #e7e7e7;
}

/* 確認メッセージ */
div.wpcf7-response-output{text-align:center;}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border: none!important;
}
div.wpcf7-response-output {
	border: none!important;
}

div.wpcf7 .ajax-loader {
	display: block!important;
	margin: 4px auto!important;
}

.submitBtn {
	display:inline-block;
	cursor:pointer;
	width:240px;
	height:60px;
	line-height:50px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border: 2px solid #e61018;
	background:#e61018;
	font-size: 18px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	margin:5px;
}
.retrunBtn {
	display:inline-block;
	cursor:pointer;
	width:240px;
	height:60px;
	line-height:50px;
	text-align: center;
	text-decoration: none;
	border: 2px solid #e3e3e3;
	background:#e3e3e3;
	font-size: 18px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	margin:5px;
}
.submitBtn:hover {
	background:#fff;
	color:#e61018;
}
.retrunBtn:hover {
	background:#fff;
	color:#666;
}

@media screen and (max-width:640px) {
	table.phpform {width:100%; }
	table.phpform td:not([colspan]){padding-right:0;}
	table.phpform td:not([colspan]) + td{padding-left:0;}
	table.phpform td {
		width: 100%;
		display: block;
		padding: 0 0 20px 0;
	}
	.submitBtn {
		width:150px;
	}
	.retrunBtn {
		width:150px;
	}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––

	6. アーカイブページ

–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ==================================================
	6-1. ページネーション
================================================== */
.pagination{width:100%;display:block;}
.pagination li{
	display: inline-block; *display: inline; *zoom: 1;
	margin: 0 10px 0 0;
	width: calc(33.3% - 10px);
	letter-spacing: 0.075em;
	line-height: 60px;
}
.pagination li:last-child{
	margin: 0;
}
.pagination li a{
	font-size: 16px;
	display: block;
	height:60px;
	width:100%;
	text-align:center;
	text-decoration: none;
	background:#e4e4e4;
	color:#1b1b1b;
	position:relative;
}

.pagination li a:hover{
	background:#e61018;
	color:#fff;
}

.pagination li.btnNext a:after{ position: absolute; top: 0; right: 15px; bottom: 0; display: block; font-size: 16px; font-family: 'FontAwesome'; content: "\f105"; font-weight: normal; line-height: 60px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.pagination li.btnNext a:hover:after { right: 10px; opacity: 1; }

.pagination li.btnPrev a:after{ position: absolute; top: 0; left: 15px; bottom: 0; display: block; font-size: 16px; font-family: 'FontAwesome'; content: "\f104"; font-weight: normal; line-height: 60px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.pagination li.btnPrev a:hover:after { left: 10px; opacity: 1; }

@media screen and (max-width:640px) {
	.pagination{
		display: -webkit-box; /*Android4.3*/
		display: -moz-box;	  /*Firefox21*/
		display: -ms-flexbox; /*IE10*/
		display: -webkit-flex; /*PC-Safari,iOS8.4*/
		display: flex;
		justify-content: space-between;
	}
	.pagination li{width:100%;}
	.pagination li:nth-child(1){flex-shrink: 2;}
	.pagination li:nth-child(2){flex-shrink: 1;}
	.pagination li:nth-child(3){flex-shrink: 2;}
	.pagination li.btnNext a:after{ display:none; }
	.pagination li.btnPrev a:after{ display:none; }
}

/* ==================================================
	6-2. ニュース一覧
================================================== */
.archive .news_list{margin:0;}

.archive .news_list li{
	padding:30px 100px;
	border-bottom: 1px solid #2d363f;
}
.archive .news_list li:first-child{
	border-top: 1px solid #2d363f;
}
.archive .news_list .news_list_date{
	font-size: 18px;
	color: #1b1b1b;
	width: 150px;
	line-height: 1.8;
	display: block;
	float: left;
}
.archive .news_list .news_list_title{
	font-size: 18px;
	width: calc(100% - 150px);
	line-height: 1.8;
	display: block;
	float: left;
}
.archive .news_list li:hover .news_list_title{
	color:#1b1b1b;
}

@media screen and (max-width:640px) {
	.archive .news_list li {
		padding: 20px 15px;
	}
	.archive .news_list .news_list_date{
		font-size: 16px;
		width: 100%;
		float: none;
	}
	.archive .news_list .news_list_title{
		font-size: 16px;
		width: 100%;
		float: none;
	}
}
/* ==================================================
	6-3. ブログ一覧
================================================== */
/* blog_listはフロントページと共通デザイン */
.archive .blog_list, .blog .blog_list{width:100%;margin:0 0;padding:0;font-size: 0;}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––

	7. シングルページ

–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ==================================================
	7-1. post_header
================================================== */
.post_header{margin:0 0 40px 0;}
.post_header_date{float:left;font-size:18px;line-height:1.6;margin:0;}
.post_header_title{clear:left;float:none;font-size:24px;margin:10px 0 0 0;
    color: #1b1b1b;
    font-weight: 500;
}

/* ==================================================
	7-2. eyecatch
================================================== */
.eyecatch{text-align:center;}
.eyecatch img{display:inline-block;max-width:100%;height:auto;}

/* ==================================================
	7-3. parts
================================================== */
/* ----------------リンク----------------*/
/* ※リンク装飾はユーザー編集エリアのみに適用 */
.user-edit a{border-bottom: 1px dashed #e61018;font-size: inherit; color:#e61018;}
.user-edit a[target="_blank"]:after{
	margin-left:5px;
	display:inline-block;
	font-family: 'FontAwesome';
	content: "\f08e";
	font-size:inherit;
	color: #e61018;
}
/* ==================================================
	7-5. ページ送り
================================================== */
.single_navi{width:100%;display:block;}
.single_navi a{text-decoration:none;font-size:14px;}
.single_navi .post_previous{float:left;width:calc(50% - 10px);text-align:left;}
.single_navi .post_next{float:right;width:calc(50% - 10px);text-align:right;}


.staff_profile {
	width:40%;
}
.staff_profile .staff_profile_position{
	font-size:22px;
	font-weight:700;
}
.staff_profile .staff_profile_name{
	font-size:40px;
	font-weight:700;
	margin:0 0 10px 0;
}
.staff_profile .staff_profile_name .name-eng{
	font-size:20px;
	margin-left:10px;
}

.staff_profile .staff_profile_biography{
	font-size: 18px;
	border-top: 7px solid #e60012;
	padding: 15px 0;
	line-height: 2;
}
@media screen and (max-width:640px) {
	.staff_profile {
		width:100%;
	}
	.staff_profile .staff_profile_position{
		font-size:16px;
	}
	.staff_profile .staff_profile_name{
		font-size:26px;
	}
	.staff_profile .staff_profile_name .name-eng{
		display:block;
		font-size:14px;
		margin-left:0;
	}
	.staff_profile .staff_profile_biography{
		font-size: 14px;
		border-top: 4px solid #e60012;
	}
}

.more-interview .catchcopy{
	padding:100px 0;
}
.more-interview .catchcopy .eng{
	font-size: 50px;
	font-weight: 500;
	color:#e60012;
	text-align:center;
	margin:0;
}
.more-interview .catchcopy .ja{
	font-size: 36px;
	font-weight: 500;
	text-align:center;
	margin:0;
}
@media screen and (max-width:640px) {
	.more-interview .catchcopy .eng{
		font-size: 24px;
	}
	.more-interview .catchcopy .ja{
		font-size: 12px;
	}
}
.wbr {
	display: inline-block;
}


/* ==================================================
	7-6. インタビュー 動画
================================================== */
.movie-box {
	width: 90%;
	margin: 0 auto 1em;
}
.interview-movie {
	position:relative;
	width:100%;
	margin: 0 auto;
	padding-top:56.25%;
}

.interview-movie iframe {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
@media screen and (min-width:641px) {
	.movie-box {
		width: 500px;
		margin: auto;
		text-align: center;	
	}
}




/* ==================================================
	クラスの追加
================================================== */
.mt_80 {
		margin-top: 80px;
}
.center {
		text-align: center;
}
