@charset "utf-8";

/* CSS Document */
* {
	box-sizing: border-box;
	font-weight: normal;
}

a {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

a:hover,
a:focus {
	text-decoration: underline;
}

a img:hover {
	opacity: 0.75;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}


/* 配置 */
.container {
	width: 96%;
	margin: 0 auto;
	max-width: 1200px;
}


/* 表示制御 */
.visible-sp {
	display: none;
}

/* フォント */
body {
	font-size: 16px;
	font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.font-mincho,
#cpr_his dt {
	font-family: '游明朝', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'ＭＳ 明朝', serif;
}

.font-xxxxl {
	font-size: 4.6rem;
}

.font-xxxl {
	font-size: 2.3rem;
}

.font-xxl,
#cpr_his dt {
	font-size: 1.9rem;
}

.font-xl {
	font-size: 1.5rem;
}

.font-l {
	font-size: 1.2rem;
}

.font-lg {
	font-size: 1.1rem;
}

.font-sm {
	font-size: 0.9rem
}

.font-xs {
	font-size: 0.8rem
}


/* 色 */
.white-text,
#tabs .active a,
#tabs a:hover {
	color: white;
}

.white-box,.white-box3,
#cpr_his dd::before,
ul.welfare {
	background-color: white;
	color: black;
}

.white-border {
	border-color: white !important;
}

.white-underline,
#tabs .tab {
	border-bottom-color: white !important;
}

.black-text {
	color: black;
}

.black-box {
	background-color: black;
	color: white;
}

.blue-text,
#csr-env>ol>li::before,
form>dl>dt,
#cpr_his dt,
#fcl td::before {
	color: #3d9dab;
}

.blue-box,
th,
form .required::before,
#cpr_his .start::before,
#cpr_his .end::before {
	background-color: #3d9dab;
	color: white;
}

.gray-box{
	background-color: #333333;
	color: white;
}

.blue-border,
#cpr_his dt,
#cpr_his dd::before,
ul.welfare {
	border-color: #3d9dab !important;
}

.blue-underline,
#tabs .active .tab,
#tabs a:hover .tab {
	border-bottom-color: #3d9dab !important;
}

.paleblue-box {
	background-color: #d8ebef;
	color: white;
}

.lightblue-text {
	color: #9dced5;
}

.lightblue-box {
	background-color: #6eb7c0;
	color: white;
}

.darkblue-text {
	color: #106174;
}

.darkblue-box {
	background-color: #106174;
	color: white;
}

.gray-text {
	color: gray;
}

.gray-border {
	border-color: gray !important;
}

.palegray-box {
	background-color: whitesmoke;
	color: black;
}

.lightgray-box {
	background-color: lightgray;
}

.lightgray-border,
td {
	border-color: lightgray !important;
}

.darkgray-box {
	background-color: #252525;
	color: white;
}

.blue_gray-underline {
	border-bottom: thin solid lightgray;
	position: relative;
	padding-bottom: 1em;
}

.blue_gray-underline::before {
	content: "";
	display: inline-block;
	border-bottom: medium solid #3d9dab;
	position: absolute;
	width: 2em;
	bottom: -1px;
}

.white_blue-underline {
	border-bottom: thin solid #6eb7c0;
	position: relative;
	margin-bottom: 1em;
}

.white_blue-underline::before {
	content: "";
	display: inline-block;
	border-bottom: medium solid white;
	position: absolute;
	width: 2em;
	bottom: -1px;
}


/* 余白 */
.margin-lg {
	margin-top: 5em;
	margin-bottom: 5em;
}

.margin-md {
	margin-top: 3em;
	margin-bottom: 3em;
}

.margin-sm {
	margin-top: 1em;
	margin-bottom: 1em;
}


/* 文字装飾 */
.bold {
	font-weight: bold;
}

.writing-vertical {
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
}

.parenthesis::before {
	content: "〈";
	margin-right: 1em;
}

.parenthesis::after {
	content: "〉";
	margin-left: 1em;
}

.oblique {
	font-style: oblique;
}

.opacity {
	opacity: 0.75;
}

.shadow {
	text-shadow: 2px 2px 10px #CCC,
		-2px 2px 10px #CCC,
		2px -2px 10px #CCC,
		-2px -2px 10px #CCC;
}

.text-nowrap {
  white-space: nowrap !important;
}


/* ボックス装飾 */
.border {
	border: solid;
	padding: 0.5em;
}

.border-thin {
	border: solid thin;
	padding: 0.5em;
}

.border-thick {
	border: solid thick;
	padding: 0.5em;
}

.underline-thin {
	border-bottom: thin solid;
	padding: 0.5em;
}


/* 地図 */
iframe.map {
	width: 100%;
	vertical-align: bottom;
}


/* ボタン */
.btn {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	padding: 0.5em 2em;
}

.btn:hover {
	opacity: 0.75;
	text-decoration: none;
}

.btn::after {
	content: " 》";
}


/* グリッド */
.grid {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding-left: 0;
}

.grid::after {
	content: "";
	display: block;
	clear: both;
}

.grid-inline {
	display: flex;
	list-style: none;
	padding-left: 0;
}

.col-2>* {
	flex-basis: calc(100% / 2);
}

.col-3>* {
	flex-basis: calc(100% / 3);
}

.col-4>* {
	flex-basis: calc(100% / 4);
}

.col-justify>* {
	flex: 1;
}


/* 配置 */
.inline-center {
	text-align: center;
}

.inline-right {
	text-align: right;
}

.inline-left {
	text-align: left;
}

.inline-middle {
	vertical-align: middle;
}

.block-center {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.block-right {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}

.block-left {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.block-middle {
	display: flex;
	align-items: center;
}

.block-top {
	display: flex;
	align-items: flex-start;
}

.block-bottom {
	display: flex;
	align-items: flex-end;
}

.on_img {
	position: relative;
}

.on_img>img+* {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.container-img {
	display: block;
}

/* ヘッダー */
header .grid-inline {
	align-items: center;
}

header .logo {
	flex-basis: min(45%, 560px);
}
.image-container img {
	display: inline !important;
}
.fujipress {
	max-width: 85%;
}

.alconix {
	float: right;
	padding: 0 !important;
}
.alconix img {
	max-height: 45px !important;
	padding-left: 0 !important;
}
header .logo.health {
	flex-basis: 8%;
}

header .logo.health img{
	margin: auto;
}

header .logo.obu {
	flex-basis: 5%;
}

header .logo.obu img {
	padding-left: 0;
}

header .navi {
	flex-basis: max(42%, 87% - 560px);
}

header .contact {
	flex-basis: 5%;
}

header .logo img {
	/* padding-left: 1em; */
	max-height: 65px;
	object-fit: contain;
	width: auto;
}

header nav>ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0;
	margin: 0;
}

header nav>ul>li {
	list-style: none;
	padding: 0 1em;
	border-right: thin solid;
	font-weight: bold;
}

header nav>ul>li:last-child {
	border-right: none;
}

header nav a {
	font-weight: bold;
}

header .dropmenu {
	position: relative;
}

header .dropmenu ul {
	position: absolute;
	left: -1em;
	z-index: 99;
	list-style: none;
	padding: 0;
}

header .dropmenu.corporate ul {
	width: 20em;
}

header .dropmenu.recruting ul {
	width: 18em;
}

header .dropmenu.csr ul {
	width: 15em;
	left: auto;
	right: 0;
}

header .dropmenu li {
	background-color: rgba(43, 11, 84, 0.7);
	height: 0;
	overflow: hidden;
	transition: .2s;
	padding: 0 1em;
}

header .dropmenu:hover li {
	overflow: visible;
	height: 3em;
}

header .dropmenu a {
	width: 100%;
	height: 100%;
	padding: 1em 0;
	color: #FFF;
}

header .dropmenu a:after {
	content: "≫";
}

header .dropmenu a.root {
	width: auto;
	height: auto;
	padding: 0 0;
	color: inherit;
}

header .dropmenu a.root:after {
	content: "";
}

header .dropmenu li:last-of-type a {
	border: none;
}

header .contact a {
	vertical-align: bottom;
}


/* ページトップボタン */
#pagetop {
	position: fixed;
	width: 100%;
	bottom: 150px;
}

#pagetop>div {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}

#pagetop>div a {
	width: 50px;
	position: absolute;
	right: 0;
	filter: alpha(opacity=70);
	opacity: 0.7;
	z-index: 100;
}

/* フッター*/
footer .info {
	align-items: flex-start;
	padding: 2rem 0;
}

footer .logo {
	width: 70%;
}

footer>.info div:nth-of-type(2) {
	flex: 0.9;
}

footer table {
	margin: 0 1em 0 0;
}

footer th {
	border: none;
	padding: 0;
	vertical-align: top;
	width: 5em;
}

footer td {
	border: none;
	padding-left: 1em;
	vertical-align: top;
}

footer .sitemap {
	list-style: none;
	padding: 2rem 0;
	justify-content: space-between;
}

footer .sub {
	padding-left: 0;
}

footer .sub li {
	list-style: none;
}

footer .sub li::before {
	content: "▸";
	font-size: 0.5rem;
}

footer .sub li:first-child::before {
	content: none;
}

footer .main-col {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	list-style: none;
	padding-left: 0;
}


/* フルサイズ */
@media only screen and (min-width: 1600px) {
	img {
		width: 100%;
	}
}

/* PCサイズ */
@media only screen and (max-width: 1200px) {}

/* タブレットサイズ */
@media only screen and (max-width: 1024px) {
	.container {
		max-width: 991px;
	}

	header nav li {
		padding: 0 0.5em
	}

	footer .iso {
		flex-direction: column;
		align-items: center;
	}

	footer .sitemap {
		flex-wrap: wrap;
	}

	footer .main-col>li {
		padding-top: 0.5em;
	}

}

/* タブレットサイズ2 */
@media only screen and (max-width: 960px) {
	.visible-sp {
		display: block;
	}

	.hidden-sp {
		display: none;
	}

	header .grid-inline {
		justify-content: space-between;
		align-items: flex-end;
		position: relative;
	}

	header .logo img {
		max-height: 138px;
	}

	header .logo-sp {
		flex-basis: 49%;
		position: relative;
		padding-bottom: 15%;
	}

	header .logo.health {
		flex-basis: 30%;
	}

	header .logo.obu {
		flex-basis:25%;
		padding-left: 0;
		margin-right: 1em;
	}

	header .contact {
		flex-basis: 22%;
	}

	#sp_nav {
		flex-basis: 22%;
	}

	header .logo-sp a {
		position: absolute;
		height: 100%;
		top: 50%;
		transform: translateY(-50%);
	}

	header .logo-sp img {
		height: 100%;
		padding-left: 1em;
	}

	.slicknav_menu {
		padding: 0;
		background: none;
	}

	.slicknav_btn {
		background-image: url("../images/ico_menu.jpg");
		background-position: bottom;
		background-size: contain;
		margin: 0;
		width: 100%;
		height: 100%;
		padding-bottom: 100%;
	}

	.slicknav_nav {
		position: absolute;
		z-index: 99;
		right: 0;
		top: 100%;
		width: 95%;
	}

	.slicknav_nav li {
		background-color: white;
		border-color: black;
	}

	header .dropmenu ul {
		position: static;
	}

	header .dropmenu li {
		background-color: white;
	}

	header .dropmenu a {
		border: none;
		color: black;
	}

	header .dropmenu a:after {
		content: "";
	}
}

/* スマホサイズ */
@media only screen and (max-width: 767px) {
	.container {
		max-width: 767px;
	}

	.margin-lg {
		margin-top: 2.5em;
		margin-bottom: 2.5em;
	}

	.margin-md {
		margin-top: 1.5em;
		margin-bottom: 1.5em;
	}

	.font-xxxxl {
		font-size: 2.3em;
	}

	.font-xxxl {
		font-size: 1.4em;
	}

	.font-xxl {
		font-size: 1.3em;
	}

	.font-xl {
		font-size: 1.2rem;
	}
	footer .info,
	footer .sitemap {
		display: block;
	}

	footer .info .grid-inline {
		justify-content: center;
		margin: 1em auto;
	}

	footer .iso {
		flex-direction: row;
		align-items: flex-start;
	}

	footer .iso>div:first-child {
		width: 20%;
	}

	footer .iso>div:last-child {
		width: 80%;
	}

	footer .iso table {
		width: 100%;
		margin: 0 0.5em;
	}

	footer .iso th {
		vertical-align: top;
	}

	footer .sitemap {
		padding: 1em 0;

	}

	footer .sitemap>li {
		padding-bottom: 1em;
	}

	footer .sitemap>li li {
		padding-bottom: 0.2em;
	}
}

/* 印刷用 */
@media print {

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.sp-menu {
		display: none;
	}

	br {
		display: block;
	}

	#pagetop {
		display: none;
	}

}

.no-bold-dt dt {
	font-weight: normal !important;
}
