@charset "shift-jis";

/* トップページ
============================ */
#corp.index {
	background: #f2f2f2;
}
#corp.index h1.wrap {
	position: relative;
	top: 10px;
	font-family: Bebas Neue;
	font-size: 2.750rem; /* 44px */
	line-height: 1.1;
	z-index: 10;
	padding-top: 0;
	padding-bottom: 0;
	}
	@media print, screen and (min-width:768px) {
	#corp.index h1.wrap {
		top: 50px;
		font-size: 3.750rem; /* 60px */
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index h1.wrap {
		top: 77px;
		font-size: 5.250rem; /* 84px */
	}
}

/* メインビジュアル（スライダー）
------------------------------------------------- */
/* slickslider */
.slick-slider {
	position: relative;
	margin-top: 18px;
	/*margin-top: 40px; catchcopy */
	}
	@media print, screen and (min-width:768px) {
	.slick-slider {
		margin-top: 32px;
		/*margin-top: -100px; catchcopy */
	}
	}
	@media print, screen and (min-width:1305px) {
	.slick-slider {
		margin-top: 34px;
		/*margin-top: -150px; catchcopy */
	}
}
.slick-slider .slick-slide:not(.slick-center) {
	-webkit-transform: scale(0.6);
	transform: scale(0.6);
	margin-top: 40px;
	}
	@media print, screen and (min-width:768px) {
	.slick-slider .slick-slide:not(.slick-center) {
		margin-top: 60px;
	}
	}
	@media print, screen and (min-width:1305px) {
	.slick-slider .slick-slide:not(.slick-center) {
		-webkit-transform: scale(0.7);
		transform: scale(0.7);
		margin-top: 78px;
	}
}
/* pager */
#corp .slick-dots {
	width: 421px;
	display: flex;
	justify-content: flex-end;
	position: absolute;
	top: -17px;
	right: calc(50% - 164px);
	}
	@media print, screen and (min-width:768px) {
	#corp .slick-dots {
		width: 421px;
		top: -17px;
		right: calc(50% - 250px);
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp .slick-dots {
		width: 421px;
		top: -17px;
		right: calc(50% - 421px);
	}
}
#corp .slick-dots li {
	display: block;
	width: 30px;
	margin-left: 4px;
	height: 5px;
	background: #8c8c8c;
	text-indent: -9999px;
}
#corp .slick-dots li.slick-active {
	background: #222;
	width: 50px;
}
/* pre-next */
#corp .slick-prev,
#corp .slick-next {
	position: absolute;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	width: 34px;
	height: 60px;
	display: block;
	text-indent: -9999px;
	background: #000;
	z-index: 1;
}
#corp .slick-prev {
	left: calc(50% - 178px);
	background: url(../cmn_images/arrow_left.png) 0 0 no-repeat;
	background-size: 20px auto;
	bottom: 130px;
	}
	@media print, screen and (min-width:768px) {
	#corp .slick-prev {
		left: calc(50% - 320px);
		background: url(../cmn_images/arrow_left.png) 0 0 no-repeat;
		background-size: 100% auto;
		bottom: 220px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp .slick-prev {
		left: calc(50% - 490px);
		bottom: 340px;
	}
}
#corp .slick-next {
	right: calc(50% - 190px);
	background: url(../cmn_images/arrow_right.png) 0 0 no-repeat;
	background-size: 20px auto;
	bottom: 130px;
	}
	@media print, screen and (min-width:768px) {
	#corp .slick-next {
		right: calc(50% - 320px);
		background: url(../cmn_images/arrow_right.png) 0 0 no-repeat;
		background-size: 100% auto;
		bottom: 220px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp .slick-next {
		right: calc(50% - 490px);
		bottom: 340px;
	}
}
/* スライド */
#corp.index .slide {
	width: 330px !important;
	height: 204px;
	background: #fff;
	color: #000;
	text-decoration: none;
	display: block;
	position: relative;
	padding-right: 20px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide {
		width: 500px !important;
		height: 309px;
		padding-right: 40px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide {
		width: 843px !important;
		height: 521px;
		padding-right: 60px;
	}
}
/* スライド(左上テキスト) */
#corp.index .slide.lefttop {
	padding-right: 10px;
	padding-left: 10px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.lefttop {
		padding-right: 0;
		padding-left: 20px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.lefttop {
		padding-right: 0;
	}
}
/* 背景画像 */
#corp.index .slide.ecosystem {
	background: url(../cmn_images/index/slider_ecosystem.jpg) 0 0 no-repeat;
	background-size: cover;
}
#corp.index .slide.recruit {
	background: url(../cmn_images/index/slider_recruit.jpg) 0 0 no-repeat;
	background-size: cover;
}
#corp.index .slide.digitalconsulting {
	background: url(../cmn_images/index/slider_digitalconsulting.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.digitalconsulting {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_digitalconsulting.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}
#corp.index .slide.personnelconsulting {
	background: url(../cmn_images/index/slider_personnelconsulting.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.personnelconsulting {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_personnelconsulting.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}
#corp.index .slide.aipolicy {
	background: url(../cmn_images/index/slider_aipolicy.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.aipolicy {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_aipolicy.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}
#corp.index .slide.sustainability {
	background: url(../cmn_images/index/slider_sustainability.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.sustainability {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_sustainability.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}
#corp.index .slide.generative_ai {
	background: url(../cmn_images/index/slider_generative_ai.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.generative_ai {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_generative_ai.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}
#corp.index .slide.elsi_governance {
	background: url(../cmn_images/index/slider_elsi_governance.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.elsi_governance {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_elsi_governance.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}

#corp.index .slide.carbon_neutral {
	background: url(../cmn_images/index/slider_carbon_neutral.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.carbon_neutral {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_carbon_neutral.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}

#corp.index .emerging_technology {
	background: url(../cmn_images/index/slider_emerging_technology.jpg) 0 0 no-repeat;
	background-size: cover;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.emerging_technology {
		background: url(../cmn_images/index/slider_cover.png), url(../cmn_images/index/slider_emerging_technology.jpg) 0 0 no-repeat;
		background-size: cover;
	}
}

/* タイトルと説明文 */
#corp.index .slide .ttl {
	margin-top: 121px;
	text-align: right;
	font-size: 0.813rem; /* 13px */
	line-height: 1.2;
	color: #222;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide .ttl {
		margin-top: 212px;
/*		height: 107px;*/
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide .ttl {
		font-size: 1.000rem; /* 16px */
		margin-top: 180px;
		height: 143px;
	}
}
/* タイトルと説明文(Recruit) */
#corp.index .slide.recruit .ttl {
	margin-top: 121px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.recruit .ttl {
		margin-top: 210px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.recruit .ttl {
		height: 142px;
	}
}
/* タイトルと説明文(生成AI（Generative AI）コンサルティングサービス) */
#corp.index .slide.generative_ai .ttl {
	margin-top: 151px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.generative_ai .ttl {
		margin-top: 227px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.generative_ai .ttl {
		height: 143px;
	}
}
/* タイトルと説明文(SDGs) */
#corp.index .slide.sustainability .ttl {
	margin-top: 120px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.sustainability .ttl {
		margin-top: 212px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.sustainability .ttl {
		height: 167px;
	}
}
/* タイトルと説明文(ELSIによる新たなコーポレートガバナンス) */
#corp.index .slide.elsi_governance .ttl {
	margin-top: 121px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.elsi_governance .ttl {
		margin-top: 212px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.elsi_governance .ttl {
		height: 143px;
	}
}
/* タイトルと説明文(左上テキスト) */
#corp.index .slide.lefttop .ttl {
	font-size: 0.625rem; /* 10px */
	margin-top: 10px;
	text-align: left;
	text-shadow: 1px 2px 3px #fff;
	line-height: 1.75;
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.lefttop .ttl {
		font-size: 1.000rem; /* 16px */
		height: auto;
		margin-top: 20px;
	}
}
/* タイトルのサブタイトル(左上テキスト) */
#corp.index .slide.lefttop .ttl .sub {
	display: block;
	font-size: 0.875rem; /* 14px */
	margin-bottom: -10px;
	line-height: 1.2;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.lefttop .ttl .sub {
		font-size: 1.000rem; /* 16px */
		line-height: 1.75;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.lefttop .ttl .sub {
		font-size: 1.125rem; /* 18px */
	}
}

#corp.index .slide .ttl.fontW {
	color: #fff;
	text-shadow: 1px 2px 3px #444;
}
#corp.index .slide .ttl span {
	display: block;
	font-family: 'Lora', serif;
	font-size: 1.625rem; /* 26px */
	margin-bottom: 10px;
	line-height: 0.9;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide .ttl span {
		font-size: 2.188rem; /* 35px */
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide .ttl span {
		font-size: 3.250rem; /* 52px */
		margin-top: 380px;
		margin-bottom: 14px;
	}
}
/* (左上テキスト) */
#corp.index .slide.lefttop .ttl span {
	margin-bottom: 10px;
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.lefttop .ttl span {
		margin-top: 20px;
		margin-bottom: 14px;
	}
}

#corp.index .slide .ttl span.jp {
	display: block;
	font-family: 'Noto Serif JP', "游明朝", YuMincho , serif;
	font-size: 1.063rem; /* 17px */
	margin-top: -10px;
	margin-bottom: 6px;
	line-height: 1.1;
	}
#corp.index .slide .ttl span.jp.singleLine {
	margin-top: 128px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide .ttl span.jp {
		font-size: 1.375rem; /* 22px */
		padding-top: 17px;
		margin-bottom: 10px;
	}
	#corp.index .slide .ttl span.jp.singleLine {
		margin-top: -10px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide .ttl span.jp {
		font-size: 2.250rem; /* 36px */
		margin-top: 380px;
		margin-bottom: 14px;
	}
	#corp.index .slide .ttl span.jp.singleLine {
		margin-top: 380px;
	}
}
/* (SDGs) */
#corp.index .slide.sustainability .ttl span.jp {
	margin-top: -24px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.sustainability .ttl span.jp {
		padding-top: 7px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.sustainability .ttl span.jp {
		margin-top: 356px;
	}
}
/* (生成AI（Generative AI）コンサルティングサービス) */
#corp.index .slide.generative_ai .ttl span.jp {
	margin-top: -24px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.generative_ai .ttl span.jp {
		padding-top: 7px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.generative_ai .ttl span.jp {
		margin-top: 380px;
	}
}
/* (左上テキスト) */
#corp.index .slide.lefttop .ttl span.jp {
	font-size: 0.938rem; /* 15px */
	font-weight: 700;
	margin: 0;
	margin-bottom: 5px;
	line-height: 1.4;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.lefttop .ttl span.jp {
		font-size: 1.125rem; /* 18px */
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.lefttop .ttl span.jp {
		font-size: 1.875rem; /* 30px */
		margin-bottom: 10px;
	}
}

/* リンクボタン */
#corp.index .slide .btnBK {
	margin-top: 13px;
	float: right;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide .btnBK {
		margin-top: 20px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide .btnBK {
		margin-top: -25px;
	}
}
/* リンクボタン(左上テキスト) */
#corp.index .slide.lefttop .btnBK {
	margin-top: 0;
	position: absolute;
	right: 20px;
	bottom: -20px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .slide.lefttop .btnBK {
		right: 40px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .slide.lefttop .btnBK {
		right: 60px;
		bottom: -23px;
	}
}
#corp.index .btnBK.jp a {
	font-size: 0.750rem; /* 12px */
	line-height: 1.2;
	padding: 0 2.5em 0 6em;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .btnBK.jp a {
		font-size: 0.875rem; /* 14px */
		line-height: 42px;
		padding: 0 2em 0 5em;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .btnBK.jp a {
		font-size: 1.000rem; /* 16px */
		line-height: 47px;
	}
}
#corp.index .slide .btnBK a:hover {
	background: rgba(256,256,256,0.3);
}

/* 検索
------------------------------------------------- */
#corp.index .searchArea.center {
	display: flex;
	flex-direction: column;
	background: transparent;
	width: 100%;
	padding: 10px 24px 40px;
	z-index: 10;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .searchArea.center {
		flex-direction: row;
		padding-top: 0px;
		width: 75%;
		margin: 0 auto;
		padding: 12px 0 40px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .searchArea.center {
		width: 55%;
		padding: 0 0 54px;
	}
}
#corp.index .searchArea.center::before {
	display: none;
}
#corp .searchArea .mf_finder_searchBox {
	display: flex;
	align-items: center;
	}
	@media print, screen and (min-width:768px) {
	#corp .searchArea .mf_finder_searchBox {
		flex-basis: calc(100% - 280px);
		text-align: right;
	}
}
#corp.index .searchArea.center h2 {
	font-size: 1.250rem; /* 20px */
	margin-bottom: 4px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .searchArea.center h2 {
		flex-basis: 135px;
	}
	#corp.index .searchArea.center .mf_finder_searchBox {
		flex-basis: calc(100% - 135px);
	}
}
#corp .searchArea .mf_finder_searchBox {
	margin-left: 0;
	margin-right: 0;
	}
	@media print, screen and (min-width:768px) {
	#corp .searchArea .mf_finder_searchBox {
		margin-left: 1rem;
		margin-right: 1rem;
	}
}
#corp .searchArea form .mf_finder_searchBox_items_wrapper {
	width: 100%;
}
#corp.index .searchArea.center h2 span {
	color: #222;
}
#corp .searchArea input[type="text"] {
	padding: 0 0.8em;
	height: 44px;
	line-height: 44px;
	font-size: 1rem;
	background: #fff;
	width: 100%;
	border: 1px solid #8c8c8c;
	}
	@media print, screen and (min-width:1305px) {
	#corp .searchArea input[type="text"] {
		padding: 0 2em;
		height: 56px;
		line-height: 56px;
	}
}
#corp.index .searchArea.center form.mf_finder_searchBox_form {
	width: 100%;
}
#corp.index .searchArea.center .mf_finder_searchBox_items {
	padding: 0;
}
#corp.index .searchArea.center .mf_finder_searchBox_items .mf_finder_searchBox_suggest_items {
	text-align: left;
}
#corp.index .searchArea.center .mf_finder_searchBox_submit {
	width: 70px;
	height: 44px;
	text-indent: -9999px;
	background: #222 url(../cmn_images/icon_search.png) center center no-repeat;
	background-size: 18px auto;
	position: relative;
	cursor: pointer;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .searchArea.center .mf_finder_searchBox_submit {
		width: 112px;
		height: 56px;
		background: #222 url(../cmn_images/icon_search.png) center center no-repeat;
		background-size: 25px 32px;
	}
}
#corp.index .searchArea.center .mf_finder_searchBox_submit:hover {
	background-color: #555;
}
/* 白背景
------------------------------------------------- */
#corp.index .bgWhite {
	width: 100%;
	position: relative;
}
#corp.index .bgWhite::before {
	background: #fff;
	display: block;
	content: "";
	position: absolute;
	top: 25px;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 2;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .bgWhite::before {
		top: 74px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .bgWhite::before {
		width: calc(50% + 678px);
		top: 89px;
	}
}
#corp.index .bgWhite .wrap {
	position: relative;
	z-index: 3;
	top: 0;
	padding-top: 0;
	padding-bottom: 45px;
	margin: 0;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .bgWhite .wrap {
		padding-bottom: 60px;
		margin: 0;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .bgWhite .wrap {
		width: 1275px;
		padding-bottom: 90px;
		margin: 0 auto;
	}
}
/* タブ
------------------------------------------------- */
#corp.index .tab_menu {
	width: calc(100% - 48px);
	margin-left: 24px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .tab_menu {
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-end;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .tab_menu {
		width: 100%;
		margin-left: 0;
	}
}
#corp.index .tab_menu li {
	flex-basis: calc((100% - 5px) / 2);
	}
	@media print, screen and (min-width:768px) {
	#corp.index .tab_menu li {
		flex-basis: calc((100% - 3px) / 4);
	}
}
#corp.index .tab_menu li h2 {
	margin-bottom: 0;
}
#corp.index .tab_menu li h2 a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #222;
	color: #fff;
	text-align: center;
	text-decoration: none;
	height: 50px;
	margin-bottom: 6px;
	font-size: 0.625rem; /* 10px */
	line-height: 1.4;
	border: 1px solid transparent;
	font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-weight: 500;
	padding-right: 0;
	}
	#corp.index .tab_menu li:nth-child(3) h2 a,
	#corp.index .tab_menu li:nth-child(4) h2 a {
		margin-bottom: 0;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .tab_menu li h2 a {
		height: 60px;
		margin-top: 12px;
		margin-bottom: 0;
		font-size: 0.688rem; /* 11px */
		line-height: 1.4;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .tab_menu li h2 a {
		flex-direction: row;
		align-items: center;
		height: 75px;
		margin-top: 12px;
		font-size: 1.000rem; /* 16px */
	}
}
#corp.index .tab_menu li h2 a:hover {
	opacity: 0.8;
}
#corp.index .tab_menu li h2 a span {
	display: block;
	font-family: 'Lora', serif;
	font-size: 1.125rem; /* 18px */
	font-weight: normal;
	color: #fff;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .tab_menu li h2 a span {
		font-size: 1.313rem; /* 21px */
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .tab_menu li h2 a span {
		display: inline-block;
		font-size: 1.625rem; /* 26px */
		margin-right: 12px;
	}
}
#corp.index .tab_menu li h2 a.current {
	background: #fff;
	color: #222;
	border: 1px solid #8c8c8c;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .tab_menu li h2 a.current {
		height: 72px;
		margin-top: 2px;
		border: 1px solid transparent;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .tab_menu li h2 a.current {
		height: 87px;
		border: 1px solid transparent;
	}
}
#corp.index .tab_menu li h2 a.current span {
	color: #222;
	}
#corp.index #tab_part {
	padding-top: 30px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index #tab_part {
		padding-top: 40px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index #tab_part {
		padding-top: 60px;
	}
}

/* タブ：注目情報 */
#corp.index .flex3 {
	align-items: flex-start;
}
#corp.index .flex3 a.hidden {
	display: none;
}
#corp.index .flex3 a {
	flex-basis: calc((100% - 24px) / 2);
	max-width: calc((100% - 24px) / 2);
	margin: 0 24px 24px 0;
	}
	_:-ms-lang(x), #corp.index .flex3 a {
		max-width: calc((99.9% - 24px) / 2);
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a {
		flex-basis: calc((100% - 48px) / 3);
		max-width: calc((100% - 48px) / 3);
		margin: 0 24px 24px 0;
	}
	_:-ms-lang(x), #corp.index .flex3 a {
		max-width: calc((99.9% - 48px) / 3);
	}
}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a {
		flex-basis: calc((100% - 80px) / 3);
		max-width: calc((100% - 80px) / 3);
		margin: 0 40px 40px 0;
	}
	_:-ms-lang(x), #corp.index .flex3 a {
		max-width: calc((99.9% - 80px) / 3);
	}
}
#corp.index .flex3 a:nth-child(2n) {
	margin-right: 0;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a:nth-child(2n) {
		margin-right: 24px;
	}
	#corp.index .flex3 a:nth-child(3n) {
		margin-right: 0;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a:nth-child(2n) {
		margin-right: 40px;
	}
	#corp.index .flex3 a:nth-child(3n) {
		margin-right: 0;
	}
}
#corp.index .flex3 a figure {
	display: block;
	overflow: hidden;
}
#corp.index .flex3 a figure img {
	transition: 0.7s;
}
#corp.index .flex3 a:hover figure img {
	transform: scale(1.1);
}
#corp.index .flex3 a .txt {
	position: relative;
	line-height: 1.8;
	font-size: 0.750rem; /* 12px */
	padding-left: 6px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a .txt {
		line-height: 1.8;
		font-size: 0.813rem; /* 13px */
		padding-left: 8px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a .txt {
		font-size: 1.000rem; /* 16px */
		padding-left: 16px;
	}
}
#corp.index .flex3 a .txt::before {
	position: absolute;
	display: block;
	content: "";
	width: calc(100% - 25px);
	height: 20px;
	top: -20px;
	left: -1px;
	background: #fff;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a .txt::before {
		width: calc(100% - 60px);
		height: 30px;
		top: -30px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a .txt::before {
		width: calc(100% - 84px);
		height: 50px;
		top: -50px;
	}
}
#corp.index .flex3 a .txt span {
	position: absolute;
	top: -10px;
	left: 6px;
	display: block;
	background: #222;
	color: #fff;
	height: 18px;
	line-height: 18px;
	width: 80px;
	font-size: 0.625rem; /* 10px */
	text-align: center;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a .txt span {
		top: -18px;
		left: 8px;
		width: 92px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a .txt span {
		top: -14px;
		left: auto;
		right: 34px;
		height: 28px;
		line-height: 28px;
		width: 102px;
		font-size: 0.813rem; /* 13px */
	}
}
#corp.index .flex3 a .txt p {
	display: block;
	width: calc(100% - 6px);
	margin-top: 16px;
	margin-bottom: 0;
	position: relative;
	z-index: 1;
	line-height: 1.6;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a .txt p {
		width: calc(100% - 8px);
		margin-top: 8px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a .txt p {
		width: calc(100% - 150px);
		margin-top: -25px;
	}
}
#corp.index .flex3 a .txt p em {
	text-decoration: none;
}
#corp.index .flex3 a .txt p span {
	position: static;
	display: block;
	background: transparent;
	color: #000;
	font-size: 0.688rem; /* 11px */
	text-align: left;
	line-height: 1.6;
	width: auto;
	height: auto;
	margin-top: 6px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .flex3 a .txt p span {
		font-size: 0.750rem; /* 12px */
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 a .txt p span {
		font-size: 0.813rem; /* 13px */
	}
}

/* view more */
#corp.index .flex3 .cardmore {
	position: relative;
}
#corp.index .flex3 .cardmore .moreLine {
	position: absolute;
	right: 50%;
	bottom: 53%;
	-webkit-transform: translate(53%, 50%); /* Safari用 */
	transform: translate(53%, 50%);
}
#corp.index .flex3 .cardmore .moreLine span {
	font-size: 0.688rem; /* 11px */
	width: 100px;
}
#corp.index .flex3 .cardmore .moreLine span::before {
	width: 100px;
}
#corp.index .flex3 .cardmore .moreLine span::after {
	left: 90px;
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .flex3 .cardmore .moreLine span {
		font-size: 1.125rem; /* 18px */
		width: 160px;
	}
	#corp.index .flex3 .cardmore .moreLine span::before {
		width: 160px;
	}
	#corp.index .flex3 .cardmore .moreLine span::after {
		left: 150px;
	}
	#corp.index .flex3 a:hover .moreLine span::before {
		width: 176px;
	}
	#corp.index .flex3 a:hover .moreLine span::after {
		left: 166px;
	}
}
#corp.index .flex3 a.hidden {
	display:none;
	opacity:0;
}
#corp.index .flex3 a.fadeIn {
	animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

/* タブ：ソリューションと業種 */
#corp.index .service .flex3 a {
	margin-bottom: 34px;
	}
	@media print, screen and (min-width:768px) {#corp.index .service .flex3 a {
	margin-bottom: 64px;
	}
}
#corp.index .service .flex3 a p {
	position: relative;
}
#corp.index .service .flex3 a em {
	position: absolute;
	left: 0;
	top: -14px;
	display: table;
	background: #222;
	color: #fff;
	line-height: 1.2;
	font-size: 0.688rem; /* 11px */
	font-style: normal;
	padding: 6px 10px;
	z-index: 10;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .service .flex3 a em {
		top: -16px;
		font-size: 0.813rem; /* 13px */
		height: 32px;
		line-height: 32px;
		padding: 0 20px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .service .flex3 a em {
		top: -24px;
		height: 47px;
		line-height: 50px;
		font-size: 1.063rem; /* 17px */
		padding: 0 36px;
	}
}

/* タブ：採用情報 */
#corp.index .recruit .flex3 a .txt::before {
	display: none;
}
#corp.index .recruit .flex3 a .txt {
	background: #fff;
	width: calc(100% - 25px);
	margin-top: -20px;
	box-sizing: border-box;
	line-height: 1.6;
	padding: 12px 8px 0;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .recruit .flex3 a .txt {
		width: calc(100% - 64px);
		padding: 20px 13px;
		margin-top: -30px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .recruit .flex3 a .txt {
		width: calc(100% - 84px);
		padding: 26px 13px;
		margin-top: -50px;
	}
}

/* Information
------------------------------------------------- */
#corp.index .infoArea .wrap {
	position: relative;
	z-index: 5;
	top: 0;
	padding: 0 24px 80px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .infoArea .wrap {
		width: 100%;
		padding: 0 24px 80px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .infoArea .wrap {
		width: 1275px;
		padding: 0 0 120px;
		margin: 0 auto;
	}
}
#corp.index .infoArea .wrap h2 {
	font-size: 1.625rem; /* 26px */
	}
	@media print, screen and (min-width:768px) {
	#corp.index .infoArea .wrap h2 {
		font-size: 2.125rem; /* 34px */
		padding: 0 0 0 24px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .infoArea .wrap h2 {
		font-size: 2.250rem; /* 36px */
		padding: 0 0 0 54px;
	}
}
#corp.index .infoArea .moreLine {
	position: absolute;
	top: 2px;
	right: 24px;
	}
	@media print, screen and (min-width:768px) {
	#corp.index .infoArea .moreLine {
		top: 14px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index .infoArea .moreLine {
		top: 19px;
		right: 54px;
	}
}
#corp.index .infoArea a .moreLine {
	color: #000;
}
#corp.index ul.info {
	border-top: 1px solid #8c8c8c;
}
#corp.index ul.info li.nolink,
#corp.index ul.info li.links,
#corp.index ul.info li a {
	display: flex;
	flex-direction: column;
	border-bottom: 1px solid #8c8c8c;
	color: #000;
	padding: 16px 0;
	text-decoration: none;
	}
	@media print, screen and (min-width:768px) {
	#corp.index ul.info li.nolink,
	#corp.index ul.info li.links,
	#corp.index ul.info li a {
		flex-direction: row;
		align-items: center;
		align-items: center;
		padding: 16px 24px;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index ul.info li.nolink,
	#corp.index ul.info li.links,
	#corp.index ul.info li a {
		padding: 24px 54px;
	}
}
#corp.index ul.info li a:hover {
	text-decoration: none;
	background: #eaeaea;
	cursor: pointer;
}
/* 日付 */
#corp.index ul.info li time {
	display: block;
	}
	@media print, screen and (min-width:768px) {
	#corp.index ul.info li time {
		display: inline-block;
	}
}
/* カテゴリ */
#corp.index ul.info li span {
	font-size: 0.813rem; /* 13px */
	display: block;
	border: 1px solid #8c8c8c;
	width: 8em;
	min-width: 8em;
	text-align: center;
	height: 22px;
	line-height: 22px;
	margin: 10px 24px 8px 0;
}
/* カテゴリ黒ベタ */
#corp.index ul.info li em {
	font-size: 0.813rem; /* 13px */
	background-color: #222;
	color: #fff;
	display: inline-block;
	border: 1px solid #222;
	width: auto;
	min-width: 8em;
	text-align: center;
	height: 22px;
	line-height: 22px;
	margin-right: 5px;
	padding: 0 11px;
	vertical-align: top;
}
/* テキスト */
#corp.index ul.info li p {
	display: block;
	margin-top: 4px;
}
#corp.index ul.info li p span {
	display: inline;
	width: 100%;
	border: none;
	margin: 0;
	padding: 0 1.8em 0 0;
	text-align: left;
	height: auto;
	font-size: 1.000rem; /* 16px */
	text-decoration: none;
}
@media print, screen and (min-width:768px) {
	#corp.index ul.info li.nolink,
	#corp.index ul.info li.links,
	#corp.index ul.info li a {
		align-items: flex-start;
		flex-wrap: nowrap;
		margin-top: 0;
	}
	#corp.index ul.info li time {
		display: block;
		width: 10em;
		min-width: 10em;
	}
	#corp.index ul.info li span {
		margin: 0 24px 0 0;
	}
	#corp.index ul.info li p {
		margin-top: 0;
	}
}
/* 複数リンク設定用 */
#corp.index ul.info li.links {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#corp.index ul.info li.links:hover {
	text-decoration: none;
	background: #eaeaea;
	cursor: pointer;
}
#corp.index ul.info li.links a {
	display: inline;
	flex-direction: inherit;
	border-bottom: none;
	padding: 0;
	text-decoration: none;
}
#corp.index ul.info li.links a:hover {
	background: transparent;
	text-decoration: underline;
}
#corp.index ul.info li.links p span {
	display: inline;
	width: auto;
	word-break: break-all;
	color: #000;
	padding-right: 1.5em;
	background: url(/cmn_images/icon_newwin.svg) bottom -3px right no-repeat !important;
	background-size: 1.5em !important;
}
	@media print, screen and (min-width:768px) {
	#corp.index ul.info li.links p span {
		background: url(/cmn_images/icon_newwin.svg) bottom -2px right no-repeat !important;
		background-size: 1.4em !important;
	}
	}
	@media print, screen and (min-width:1305px) {
	#corp.index ul.info li.links p span {
		background: url(/cmn_images/icon_newwin.svg) bottom right no-repeat !important;
		background-size: 1.4em !important;
	}
}
#corp.index .infoArea ul.info > li:nth-child(n + 6) {
    display: none;
}
/* PDF リンク */
#corp.index a p.blank.pdf span {
	word-break: break-all;
	color: #000;
	padding-right: 1.8em;
	display: inline;
	background: url(/cmn_images/icon_pdf.svg) bottom -3px right no-repeat !important;
	background-size: 1.5em !important;
	text-decoration: underline;
	}
	@media print, screen and (min-width:768px) {
	#corp.index a p.blank.pdf span {
		background: url(/cmn_images/icon_pdf.svg) bottom right no-repeat !important;
		background-size: 1.4em !important;
	}
}

/* フッタお問い合わせ
------------------------------------------------- */
@media print, screen and (min-width:1305px) {
	#corp.index #footerSearchArea {
		background: #fff;
	}
}

/* InformationエリアはPDFアイコン時、下線無し
------------------------------------------------- */
#corp.index .infoArea p.blank.pdf span {
	text-decoration: none;
}