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

	一般求人ページ　ミニウェブ対応の場合の追加CSS

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

@charset "utf-8";

.word {
	display: inline-block;
}

/*====================
 * ヘッダー
 */
.header_container {
	box-sizing: border-box;
	max-width: 1180px;
	margin: auto;
}

.header_container .title_area {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	padding: 0;
}

.header_container .title_area .company_name {
	margin: 4px;
	margin-right: auto;
	width: 50%;
	line-height: 1;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
}

.header_container .company_name .logo {
	width: 100%;
	margin: 0;
	padding: 0;
}

.header_container .title_text {
	display: block;
	margin: 0;
	padding: 0 8px;
	font-weight: bold;
}

@media (min-width: 640px) {
	.header_container .title_area .company_name {
		width: 320px;
		margin: 8px;
		margin-right: auto;
	}
}

/*==============
 * FV
 */
.fv_area {
	position: relative;
	margin: 0 -8px;
}

.fv_area .fv_image {
	width: 100%;
}

.fv_area h1 .emp_type {
	position: absolute;
}

.fv_area h1 .title {
	position: absolute;
	right: 0.2em;
	color: white;
	text-shadow: 0px 0px 4px black;
	font-size: 1.2rem;
	font-weight: bold;
}

.fv_area h1 .company_name {
	position: absolute;
	left: 0.2em;
	bottom: 2%;
	color: white;
	text-shadow: 0px 0px 4px black;
	font-size: 1.2rem;
	font-weight: bold;
}

@media (min-width: 425px) {
	.fv_area h1 .emp_type {
		font-size: x-large;
	}

	.fv_area h1 .title {
		font-size: x-large;
		right: 0.4em;
	}

	.fv_area h1 .company_name {
		font-size: x-large;
		left: 0.4em;
	}
}

@media (min-width: 900px) {
	.fv_area h1 .emp_type {
		font-size: x-large;
		padding: 6px;
	}

	.fv_area h1 .title {
		font-size: xx-large;
	}

	.fv_area h1 .company_name {
		font-size: xx-large;
	}
}

/*==============
 * 目次
 */
.toc ol {
	list-style-position: inside;
	padding: 0;
	max-width: 40em;
	margin: 16px auto;
}

.toc ol>li {
	line-height: 2.0;
	border-bottom: 1px solid #CCF;
}

/*==============
 * 会社情報　リンクボタン
 */
.entry_buttons .company_button {
	line-height: normal;
	height: auto;
	padding: 0.5em 0;
}

/*==============
 * 追加記事　インタビュー　顔写真と名前
 */

#interview .tc {
	padding: 0 0.25em 1.5em 0.25em;
}

#interview .people {
	padding: 0;
	text-align: center;
}

#interview .people li {
	display: inline-block;
	margin: 0.5em;
	padding: 0;
}

#interview .people li figure.person {
	display: inline-block;
    margin: 0 1em;
		text-align: left;
		overflow: hidden;
}

#interview figure.person > img {
	display: inline-block;
	vertical-align: middle;
	height: 10em;
	width: auto;
	margin: 0;
	border-radius: 50%;
}

#interview figure.person figcaption {
	display: inline-block;
	vertical-align: middle;
	font-size: medium;
	text-align: left;
	line-height: 1.2;
}

#interview img.p {
	display: block;
	width: 60%;
	margin: 0 auto;
}

/*==============
 * サイドナビ
 */
 .company_nav {
	border-top: 1px solid #ddd;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	z-index: 100;
	transform: translate3d(0, 0, 1px);
	background: white;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
 }

 .company_nav .company_logo {
	order: 1;
	margin: 8px auto auto 8px;
	width: 180px;
 }

 .company_nav .selected {
	font-weight: bold;
 }

 .company_nav ul {
	flex-basis: 100%;
	order: 3;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-around;
	margin: 8px;
	padding: 0;
	text-align: center;
 }

 .company_nav .btn_entry {
	position: static;
	order: 2;
	display: flex;
	margin: 8px 8px 0;
	align-items: center;
	align-self: center;
	justify-content: center;
	width: 30%;
	padding: 4px;
	background-color: orange;
	border: 1px solid orange;
	color: white;
	text-align: center;
	font-weight: bold;
}

.company_nav li {
	display: inline-block;
	font-size: 12px;
}

.company_nav img.icon {
	display: block;
	height: 36px;
	margin: 0 auto;
}

.company_nav ul.submenu {
	display: block;
	position: absolute;
	bottom: 2em;
	right: 6em;
	border: 1px solid #ddd;
	padding: 0.5em;
	opacity: 0;
	visibility: hidden;
	background: white;
	transition: opacity 0.5s, visibility 0.5s;
	text-align: left;
}

.company_nav ul.submenu[open] {
	opacity: 1;
	visibility: visible;
}

.company_nav ul.submenu li {
	display: block;
	font-size: 16px;
	line-height: 44px;
}

.company_nav .re-search {
	display: none;
}

@media (min-width: 640px) {
	.company_nav {
		float: right;
    position: -webkit-sticky;
    position: sticky;
    top: 70px;
    box-sizing: border-box;
    width: 32%;
    border: 2px solid #ddd;
    border-radius: 8px;
		margin-top: 24px;
		margin-right: 4px;
		max-height: 95vh;
		overflow-y: auto;
	}

	.company_nav .company_logo {
		display: block;
		width: 80%;
		height: auto;
		margin: 8px auto;
	}

	.company_nav ul {
		display: block;
    margin: 8px;
    padding: 0;
    list-style: none;
	}

	.company_nav ul li {
		display: block;
    padding: 8px 0 8px 10%;
    border-bottom: 2px dashed #ddd;
    text-align: left;
    font-size: medium;
	}

	.company_nav img.icon {
		display: inline;
    height: 36px;
    margin: 0 8px 0 0;
    vertical-align: middle;
	}

	.company_nav ul.submenu {
		display: inherit;
    position: inherit;
    bottom: inherit;
    margin: 0;
    border: 0;
    padding: 0;
    opacity: inherit;
    visibility: visible;
    background: inherit;
	}

	.company_nav ul.submenu li {
		display: inherit;
    font-size: inherit;
    line-height: inherit;
	}

	.company_nav ul.submenu li:last-child {
		border-bottom: 0;
	}

	.company_nav .btn_entry {
		display: block;
    order: 4;
    width: 70%;
    margin: 8px auto;
    padding: 8px;
    font-weight: bold;
	}

	.company_nav .btn_entry:hover {
		transition: background-color 0.5s, color 0.5s;
		background-color: white;
		color: orange;
	}

	/* 再検索 */
	.company_nav .re-search {
		display: block;
		order: 4;
		margin: 1em;
		text-align: center;
	}

	.company_nav .re-search img {
		height: 20px;
	}

	.company_nav .re-search .search {
		display: inline-block;
		padding: 0 0.4em;
		margin: 0.2em auto;
		border: 0;
		width: 10em;
		height: auto;
		line-height: 36px;
		background-color: #1d439a;
    background-color: var(--main-color);
		border-radius: 1.5em 1.5em;
		color: white;
		font-size: smaller;
		font-weight: bold;
	}
}

@media (min-width: 900px) {
	.company_nav {
		border: 1px solid #ddd;
		margin-top: 24px;
		margin-right: 8px;
	}	
}

@media (min-width: 1500px) {
	.company_nav {
		top: 8px;
	}
}

/*==============
 * ページトップ　ボタン
 */
 .btn_top {
	display: block;
	position: fixed;
	box-sizing: border-box;
	width: 4em;
	height: 4em;
	right: 1em;
	bottom: 8em;
	border: 1px solid #888;
	border-radius: 50%;
	padding: 0.3em 0;
	z-index: 100;
	transform: translate3d(0, 0, 1px);
	box-shadow: 3px 3px 3px #888;
	text-align: center;
	font-weight: 900;
	line-height: 1;
	background-color: white;
 }