@charset "utf-8";

body.company #content {
	padding-top: 0px;
}

body.company #main .base_tl {
	margin-top: 30px;
}

/* =====================
   company_head
===================== */
.company_head {
	position: relative;
	z-index: 1;
	padding: 40px 0px 0px;
	margin-bottom: 40px;
	background: #f5f5f5;
}

.company_head .wrap {
	position: relative;
	z-index: 2;
	clear: both;
}

.company_head .left,
.company_head .right {
	position: relative;
	float: left;
}

.company_head .left {
	width: 160px;
}

.company_head .right {
	width: calc(70% - 160px);
	padding-left: 30px;
}

.company_head h1 {
	margin-bottom: 8px;
	font-size: 22px;
	font-weight: 600;
}

.company_head h1 a {
	color: #333;
}

.company_tl_area .re_tl.invest {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

.company_tl_area .re_tl.invest h1 {
	width: calc(100% - 64px);
	margin-bottom: 0;
	padding-left: 10px;
}

.company_head .ceo {
	margin-bottom: 5px;
}

.company_head .address {
	font-size: 13px;
}

.company_head .url {
	margin-top: 5px;
}

.company_head .address a {
	color: #333;
}

.company_head .sd_box {
	position: absolute;
	top: 8px;
	right: 0;
	padding: 18px 10px;
	width: 28%;
	text-align: center;
	z-index: 2;
}

.company_head .sd_box .btn {
	margin-bottom: 10px;
}

.company_head .edit_apply_btn {
	margin-top: 5px;
}

.company_head .edit_apply_btn a {
	color: #333;
	font-size: 12px;
	text-decoration: underline;
}

.company_head .edit_apply_btn a:hover {
	text-decoration: none;
}

/* =====================
   ボタン
===================== */
.button_g {
	position: relative;
	display: inline-block;
	min-width: 140px;
	border: none;
	background: #6a6a6a !important;
	color: #fff !important;
	text-align: center;
	padding: 12px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	border-radius: 30px;
}

.button_n {
	position: relative;
	top: 12px;
	margin-right: 10px;
	min-width: 140px;
	border: none;
	background: #efefef !important;
	color: #555 !important;
}

.btn_area,
.contents_button {
	justify-content: center;
	align-items: center;
}

/* =====================
   main_area
===================== */
.main_area h2 {
	margin: 35px 0px 25px;
	padding: 14px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6;
	color: #295764;
	text-align: left;
	background-color: #f6f9fb;
}

.main_area h2.first {
	margin-top: 0px;
}

.main_area .ct_txt {
	padding: 0 15px;
}

.main_area p {
	font-size: 14px;
}

.main_area img {
	max-width: 100% !important;
	height: auto !important;
}

.achieve_detail .dl_data {
	margin: 30px 0px;
}

.achieve_detail .dl_data dd {
	line-height: 1.6;
}

/* =====================
   edit_apply_area
===================== */
.edit_apply_area {
	margin: 40px 0px;
	padding: 20px;
	background-color: #f7f7f7;
}

.edit_apply_area .tl {
	margin-bottom: 5px;
	font-size: 13px;
	color: #555;
	font-weight: 600;
}

.edit_apply_area p {
	font-size: 12px;
	color: #555;
}

.edit_apply_area p a {
	color: #333;
	text-decoration: underline;
}

.edit_apply_area p a:hover {
	text-decoration: none;
}

/* =====================
   FV（キービジュアル）
===================== */
.fv_mt_area {
	position: relative;
	background: url(/common/img/fv_mt_area_bk.jpg) center center no-repeat;
	background-size: cover;
}

.fv_mt_area.top {
	background: url(/common/img/fv_mt_top_bk.jpg) bottom right no-repeat;
	background-size: cover;
}

.fv_mt_area.tax        { background: url(/common/img/list_tax.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.lassa      { background: url(/common/img/list_lassa.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.judicial   { background: url(/common/img/list_judicial.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.administrative { background: url(/common/img/list_administrative.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.patent     { background: url(/common/img/list_patent.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.consulting { background: url(/common/img/list_consulting.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.web        { background: url(/common/img/list_web.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.system     { background: url(/common/img/list_system.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.creator    { background: url(/common/img/list_creator.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.advertising { background: url(/common/img/list_advertising.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.printing   { background: url(/common/img/list_printing.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.architect  { background: url(/common/img/list_architect.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.construction { background: url(/common/img/list_construction.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.logistics  { background: url(/common/img/list_logistics.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.industry   { background: url(/common/img/list_industry.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.oa         { background: url(/common/img/list_oa.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.training   { background: url(/common/img/list_training.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.temporary  { background: url(/common/img/list_temporary.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.officework { background: url(/common/img/list_officework.jpg) top center no-repeat; background-size: cover; }
.fv_mt_area.finance    { background: url(/common/img/list_finance.jpg) top center no-repeat; background-size: cover; }

.fv_mt_area:before {
	background-color: rgb(24 75 102 / 46%);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
}

.fv_mt_area .inner {
	position: relative;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 380px;
	text-align: center;
}

.fv_mt_area h1 {
	margin-bottom: 5px;
	font-size: 36px;
	font-weight: 600;
	color: #fff;
}

.fv_mt_area p {
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}

.fv_mt_area .cta {
	margin-top: 30px;
	justify-content: space-between;
}

.fv_mt_area .cta .main_cta {
	width: calc(100% - 150px);
	padding-right: 20px;
}

.fv_mt_area .cta .sub_cta {
	width: 150px;
}

.fv_mt_area .cta .sub_cta .button_y {
	width: 150px;
	min-width: 150px;
}

.fv_mt_area .cta .button_y {
	font-size: 15px;
}

.fv_mt_area .cta .sub_cta .button_y {
	background: #fff;
}

.fv_mt_area .cta .sub_cta .button_y:hover {
	background: #333;
	color: #fff !important;
}

/* =====================
   detail_fv_cta
===================== */
.detail_fv_cta.fv_mt_area:before {
	background-color: rgb(31 103 155 / 83%);
}

.detail_fv_cta.fv_mt_area .inner {
	height: auto;
	padding: 60px 0px;
}

.detail_fv_cta .list_point_label {
	width: 600px;
	margin: 25px auto;
}

.detail_fv_cta .list_point_label li {
	width: calc(100% / 3 - 10px);
	margin: 0px 5px;
	padding: 5px 10px;
	border: 1px solid #fff;
	background: #fff;
	transform: skew(-30deg);
	-moz-transform: skew(-30deg);
	-webkit-transform: skew(-30deg);
	-o-transform: skew(-30deg);
	-ms-transform: skew(-30deg);
}

.detail_fv_cta .list_point_label li .wrap {
	color: var(--navy);
	font-weight: 500;
	transform: skew(30deg);
	-moz-transform: skew(30deg);
	-webkit-transform: skew(30deg);
	-o-transform: skew(30deg);
	-ms-transform: skew(30deg);
}

.detail_fv_cta .list_point_label li span {
	display: block;
	margin: 3px 0px;
	font-size: 15px;
}

.detail_fv_cta .list_point_label li span i {
	font-style: normal;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

.detail_fv_cta .txt_area p.txt {
	color: #fff;
	font-size: 18px;
	font-weight: 500;
}

.detail_fv_cta.fv_mt_area .cta .button_y {
	padding: 20px 40px;
}

/* =====================
   No.1 / rank
===================== */
section.rank {
	margin-top: -40px;
	padding-bottom: 0;
}

/* =====================
   corp（掲載ページ）
===================== */
body.corp .company_head {
	padding: 40px 0px;
}

body.corp .company_head h1 {
	margin-bottom: 15px;
}

body.corp .check_list_area li {
	margin-bottom: 8px;
	font-size: 16px;
}

body.corp .check_list_area li:last-child {
	margin-bottom: 0px;
}

body.corp .section_publish_area {
	margin-bottom: 30px;
	padding: 30px 30px 1px;
	border: 1px solid #c7c7c7;
}

.section_publish_area .in_corp_edit {
	margin: 15px 0px 0px;
	text-align: right;
}

.section_publish_area .in_corp_edit a {
	color: #555;
}

body.corp .blog_card {
	display: block;
	border: 1px solid #888;
	word-wrap: break-word;
	max-width: 100%;
	margin-bottom: 25px;
}

body.corp .blog_card a {
	display: table;
	width: 100%;
	color: #333;
	padding: 20px;
	background: #fbfaf8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

body.corp .blog_card a:hover {
	background: #dcdcdc;
	text-decoration: none;
}

body.corp .blog_card_thumbnail {
	display: table-cell;
	vertical-align: middle;
	width: 120px;
	height: auto;
}

body.corp .blog_card_content {
	display: table-cell;
	vertical-align: middle;
	padding-left: 20px;
}

body.corp .blog_card_title {
	padding: 0px 10px 10px 0;
	font-size: 16px;
	line-height: 28px;
	font-weight: 600;
}

body.corp .blog_card_title::before {
	content: '掲載記事';
	font-size: 12px;
	line-height: 18px;
	color: #fff;
	background: #333;
	width: 5em;
	display: block;
	padding: 0.2em;
	margin-bottom: 5px;
	text-align: center;
}

body.corp .blog_card_date {
	color: #333;
	font-size: 75%;
	margin-right: 10px;
}

/* =====================
   レスポンシブ（タブレット）
===================== */
@media screen and (max-width: 1024px) {
}

/* =====================
   レスポンシブ（スマートフォン）
===================== */
@media screen and (max-width: 760px) {

	body.company #content {
		padding-bottom: 0px;
	}

	.company_head {
		padding: 35px 0px 0px;
		background: #f5f5f5;
	}

	.company_head .left {
		width: 80px;
	}

	.company_head .right {
		width: calc(100% - 80px);
		padding-left: 15px;
	}

	.company_tl_area .re_tl.invest {
		margin-bottom: 6px;
	}

	.company_tl_area .re_tl.invest h1 {
		width: calc(100% - 50px);
	}

	.company_head h1 {
		margin-bottom: 6px;
		font-size: 14px;
		font-weight: 600;
	}

	.company_head .ceo,
	.company_head .address {
		font-size: 11px;
	}

	.company_head .sd_box {
		display: block;
		position: relative;
		top: 20px;
		width: 100%;
		margin-bottom: 20px;
		padding: 5px;
		box-shadow: none;
	}

	.company_head .sd_box .btn {
		margin: 10px auto;
		width: 90%;
	}

	.company_head .sd_box .btn a.button_y {
		min-width: auto;
		width: 100%;
	}

	.main_area h2 {
		font-size: 16px;
	}

	.main_area p {
		font-size: 14px;
	}

	.main_area .edit_apply_area p {
		font-size: 12px;
		line-height: 1.6;
	}

	/* 一覧のFV */
	.fv_mt_area h1 {
		margin-bottom: 0px;
		font-size: 20px;
	}

	.fv_mt_area .txt p,
	.fv_mt_area .cta .sub_cta {
		display: none;
	}

	.fv_mt_area .cta .main_cta {
		width: 100%;
		padding-right: 0px;
	}

	.fv_mt_area .cta {
		margin-top: 15px;
		display: block;
	}

	.fv_mt_area .inner {
		height: 220px;
	}

	/* FV スマートフォン対応 */
	.detail_fv_cta.fv_mt_area .inner {
		width: 90%;
		padding: 40px 0px;
	}

	.detail_fv_cta .list_point_label {
		width: 100%;
		margin: 25px auto;
	}

	.detail_fv_cta .list_point_label li {
		width: calc(100% / 3 - 6px);
		margin: 0 3px;
		padding: 5px 0px;
		transform: inherit;
	}

	.detail_fv_cta .list_point_label li .wrap {
		transform: inherit;
	}

	.detail_fv_cta .list_point_label li span {
		font-size: 13px;
		letter-spacing: 0.5px;
	}

	.detail_fv_cta .list_point_label li span i {
		font-size: 18px;
	}

	.detail_fv_cta.fv_mt_area p.txt {
		font-size: 13px;
		letter-spacing: 0.5px;
	}

	.detail_fv_cta.fv_mt_area .cta {
		margin-top: 15px;
		display: block;
		width: 100%;
	}

	.detail_fv_cta.fv_mt_area .cta .button_y {
		padding: 18px 20px;
		min-width: 80%;
	}

	/* ボタン整理 */
	.btn_area .button_n {
		top: 9px;
		min-width: 82px;
		margin-right: 6px;
		padding: 12px 0px;
		font-size: 11px;
	}

	.btn_area .button_y_img {
		width: 220px;
	}

	/* corp */
	body.corp .company_head h1 {
		font-size: 22px;
	}

	body.corp .company_head .left {
		width: 100%;
	}

	body.corp .company_head .right {
		width: 100%;
		padding-top: 15px;
		padding-left: 0px;
	}

	body.corp .blog_card a {
		padding: 10px;
	}

	body.corp .blog_card_title {
		padding: 0px;
		font-size: 14px;
		line-height: 24px;
	}

	body.corp .check_list_area li {
		margin-bottom: 5px;
		font-size: 13px;
	}
}