@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css?family=Open+Sans');*/

/* ===================================================================

	スタイルの設定

=================================================================== */
html {
	scroll-behavior: smooth;
	font-size: var(--font-size--bs);
}
body {
	color: var(--main-txt-color);
	line-height:1.5;
	margin:0;
	background:#fff url(../img/bk_mini.png) repeat top center;
	font-family: var(--def-font-family);
	font-feature-settings: 'palt';
	font-weight: 500;
	font-size: var(--font-size--bs);
}

#contents {
	box-sizing: border-box;
}
#contents * {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}



/* ---------------- 上書き ------------- */
strong {font-weight: 900;}
p,li,dl,dt,dd {line-height:1.6;}

dl,dt,dd,ol,ul,li {
	list-style-position: outside;
	list-style-type: none;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: rgba(51,51,51,0.7);
	display: none;
}

/* ===================================================================
	通常のリンク
=================================================================== */
a {
	transition: all .3s;
}
a:link {
	color: #4272CD;
	text-decoration: none;
}
a:visited {
	color: #4272CD;
	text-decoration:none;
}
a:hover {
	color: #8EAAE1;
	text-decoration:none;
/*	opacity: 0.7;*/
}
a:active {
	color: #8EAAE1;
	text-decoration:none;
}
/* メインエリアはリンクにアンダーライン */
/*#main a{
	text-decoration:underline;
}*/

/* ===================================================================
	#header
	ヘッダー
=================================================================== */

header#header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 20px;
	left: 2%;
	right: 2%;
	width: var(--def-width);
	height: 100px;
	margin: 0 auto;
	padding: 10px 30px;
	border-radius: 50px;
	z-index: 999;
	background: var(--bs-white);
	filter: var(--filter-box-shadow);
}

/* ヘッダーロゴ ------------- */
.h_logo {
	margin-right: 10px;
}

/* ヘッダーメニュー ------------- */
.h_menu {
}
.h_menu ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.h_menu ul li {
	margin-right: 2em;
}
.h_menu ul li.h_menu_contact {
	margin-right: 0;
}
.h_menu ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--main-txt-color);
	font-weight: 700;
	letter-spacing: 0;
}
.h_menu ul li a:hover {
	color: var(--bs-primary);
}
.h_menu ul li a span {
	margin-right: 5px;
}
.h_menu ul li a.btn_h_contact {
	height: 40px;
	padding: 0 20px;
	border-radius: 20px;
	color: var(--bs-white);
	background: var(--bs-primary);
}
.h_menu ul li a.btn_h_contact:hover {
	background: var(--bs-primary-light);
}

.h_sp_menu,
.sp_nav {
	display: none;
}

#h_fav_cnt {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 1.6em;
	min-width: 1.6em;
	margin-left: 5px;
	padding: 0 0.5em;
	border-radius: 1em;
	background: var(--bs-primary);
	color: var(--bs-white);
	font-weight: 500;
	line-height: 1;
}

/* ===================================================================
	フッター
=================================================================== */

footer {
	background: var(--bs-white);
}

/* フッターのエリア・職種一覧 */
.footer_search {
	max-width: var(--def-max-width);
	width: var(--def-width);
	margin: 0 auto;
}

.footer_search_title {
	position: relative;
	margin: 0 0 10px;
	padding-left: 20px;
	font-family: var(--maru-font-family);
	font-size: var(--font-size--md);
	font-weight: 700;
	color: var(--bs-primary);
}
.footer_search_title::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 6px;
	background: var(--bs-primary);
}

.footer_search_area {
	padding: 60px 0;
}
.footer_search_area_box {
	display: flex;
	margin: .5em 0;
}
.footer_search_sub_title {
	flex-shrink: 0;
	flex-grow: 0;
	width: 7.5em;
	margin-right: 1em;
	font-weight: 700;
}
.footer_search_list {
	display: flex;
	flex-wrap: wrap;
	font-size: calc(var(--font-size--bs) * 0.9);
}
.footer_search_list li {
	margin: 0;
}
.footer_search_list li::after {
	content: '|';
	margin: 0 0.5em;
	color: var(--bs-gray);
}
.footer_search_list li:last-of-type::after {
	display: none;
}
.footer_search_list li a {
	color: var(--main-txt-color);
}
.footer_search_list li a:hover {
	text-decoration: underline;
}
.footer_search_link_none {
	color: var(--bs-gray);
}


.footer_btm {
	padding: 40px 0;
	background: var(--bs-primary);
	color: var(--bs-white);
}
.footer_btm_inner {
	display: flex;
	justify-content: space-between;
	max-width: var(--def-max-width);
	width: var(--def-width);
	margin: 0 auto;
}

.footer_logo {
	flex-shrink: 0;
	flex-grow: 0;
	margin-right: 40px;
}
.footer_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer_menu li {
	display: flex;
	align-items: center;
	margin-left: 1.8em;
}
.footer_menu li:first-of-type {
	margin-left: 0;
}

.footer_menu li::before {
	display: inline-block;
	content: '';
	background: url(../img/arrow.svg);
	width: 7px;
	height: 12px;
	margin-right: 0.5em;
}
.footer_menu li a {
	color: var(--bs-white);
}

/* address ------------- */
address {
	margin-top: 50px;
 	font-style: normal;
	font-size: var(--font-size--sm);
	text-align: right;
}

/* topへ戻るボタン ------------- */
.btn_paeg_top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 800;
}
.btn_paeg_top a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
}


/* ===================================================================
	共通CSS
=================================================================== */
.sp_br,
.sp_br_ft,
.sp_br_btn {
	display: none;
}

#main {
/*	padding-top: 110px;*/
}

/* 共通見出し */
.content_title {
	margin: 0 auto 60px;
	text-align: center;
	font-size: var(--font-size--lg);
	font-family: var(--title-font-family);
	font-weight: 700;
	position: relative;
	z-index: 10;
}
.content_title span {
	display: block;
	margin-bottom: 5px;
	font-size: 100px;
	font-family: var(--en-handwriting-font-family);
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.2;
	position: absolute;
	top: -50px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
	color: var(--bs-primary-light-02)!important;
	z-index: -1;
	transform: rotate(-15deg);
}
.content_title_subbk span {
	color: var(--bs-white)!important;
}

/* 詳しく見るボタン ------------- */
.more_btn a {
	position: relative;
	display: block;
	max-width: 320px;
	width: 90%;
	margin: 0 auto;
	padding: 1.2em 1.5em;
	color: var(--main-txt-color);
	border: 3px solid var(--main-txt-color);
	border-radius: 1.8em;
	font-size: var(--font-size--md);
	font-weight: 600;
	line-height: 1;
}
.more_btn a:hover {
	background: var(--bs-primary-light);
}
.more_btn a::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	right: 0.8em;
	width: 40px;
	height: 40px;
	margin: auto 0;
	border-radius: 50%;
	background: var(--main-txt-color) url(../img/icon_arrow_white.svg) no-repeat 58% center;
	background-size: 10px 17px;
}


.more_btn a.more_btn_white {
	color: var(--bs-white);
	border: 3px solid var(--bs-white);
}
.more_btn a.more_btn_white::after {
	background: var(--bs-white) url(../img/icon_arrow_primary.svg) no-repeat 58% center;
	background-size: 10px 17px;
}
.more_btn a.more_btn_white:hover {
	background: rgba(255,255,255,0.5);
}

/* ===================================================================
	entry
=================================================================== */
.entry {
	position: relative;
	margin-top: -20px;
	padding: var(--bs-padding) 0;
	z-index: 10;
}
.entry::before,
.entry::after  {
	display: block;
	content: '';
	width: 96%;
	height: 100%;
	border-radius: 0 var(--border-radius-bg-single) 0 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
.entry::before {
	left: 0;
	background: url(../img/entry_bk.png) no-repeat center center;
	background-size: cover;
	z-index: -2;
}
.entry::after {
	background: rgba(128, 128, 128, 0.8);
	z-index: -1;
	mix-blend-mode: multiply;
}

.entry .content_title {
	max-width: var(--def-max-width);
	width: var(--def-width);
	margin: 0 auto 20px;
	padding: 0;
	background: none;
	line-height: 1.3;
}
.entry .content_title,
.entry .content_title span {
	color: var(--bs-white);
}
.entry .content_title span {
	margin-bottom: 0;
}
.top_txt {
	max-width: var(--def-max-width);
	width: var(--def-width);
	margin: 0 auto 50px;
	text-align: center;
	color: #fff;
	font-family: var(--maru-font-family);
	font-size: var(--font-size--lg);
	font-weight: 600;
}
.entry_area {
	position: relative;
	display: flex;
	justify-content: space-between;
	max-width: 1240px;
	width: 94%;
	margin: 0 auto;
	z-index: 100;
}
.entry_box {
	width: 48%;
	max-width: 600px;
}
.entry_for_jobseeker {
}
.entry_for_company {
}
.entry_box a {
	display: block;
	color: var(--main-txt-color);
	border-radius: var(--border-radius-bs);
	background: var(--bs-white);
	overflow: hidden;
}
.entry_box a:hover {
	background: var(--bs-primary-light-02);
}
.entry_box_title {
	padding: 40px;
	font-size: var(--font-size--lg);
	font-family: var(--maru-font-family);
	font-weight: 700;
/*	letter-spacing: 3px;*/
	line-height: 1;
	position: relative;
}
.entry_box_title::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	right: 40px;
	width: 40px;
	height: 40px;
	margin: auto 0;
	border-radius: 50%;
	background: var(--main-txt-color) url(../img/icon_arrow_white.svg) no-repeat 58% center;
	background-size: 10px 17px;
}
.entry_img {
	text-align: center;
	transition: all .2s;
}
.entry_box a:hover .entry_img {
	opacity: 0.8;
}




.salbe_explanation {
	max-width: var(--def-max-width);
	width: var(--def-width);
	margin: 40px auto 0;
	font-size: var(--font-size--bs);
	color: var(--bs-gray-dark);
}
.salbe_explanation .btn_contact {
	display: inline-block;
	margin-top: 10px;
	padding: 10px 20px;
	border-radius: 20px;
	color: var(--bs-white);
	background: var(--bs-primary);
	font-weight: 700;
	line-height: 1;
}
.salbe_explanation .btn_contact:hover {
	background: var(--bs-primary-light);
}
.salbe_explanation .btn_contact span {
	margin-right: 5px;
}


/* ===================================================================
	レスポンシブ対応用
=================================================================== */

/* XX-Large devices (larger desktops, 1400px and up) */
@media (max-width: 1400px) {
}
@media ( max-width : 1200px ){ 
}

/* Large devices (desktops, 992px and up) */
@media (max-width: 992px) {
	.sp_br {
		display: block;
	}

	header#header {
		height: 90px;
	}
	.h_menu {
		display: none;
	}
	.h_sp_menu {
		display: block;
	}
	.h_sp_menu ul {
		display: flex;
	}
	.h_sp_menu ul li {
		margin: 0 .3em;
	}
	.h_sp_menu ul li a {
		display: block;
		padding: 10px 0;
		color: var(--main-txt-color);
		font-size: var(--font-size--sm);
		font-weight: 700;
		letter-spacing: 0;
	}
	.h_sp_menu ul li a span {
		display: block;
		height: 42px;
		text-align: center;
	}
	.h_sp_menu ul li a span.sp_menu_icon {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.h_sp_menu ul li {
		position: relative;
	}

	.h_sp_fav {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 1.6em;
		min-width: 1.6em;
		margin-left: 0;
		padding: 0 0.5em;
		border-radius: 1em;
		background: var(--bs-primary);
		color: var(--bs-white);
		font-weight: 500;
		line-height: 1;
		position: absolute;
		right: 0;
		top: 10px;
	}
	

	.header_sp_btn {
		position: relative;
		padding: 10px 0;
		font-size: var(--font-size--sm);
		font-weight: 700;
		letter-spacing: 0;
	}
	.sp_menu_line {
		display: block;
		width: 30px;
		height: 42px;
		margin: 0 auto;
		position: relative;
	}
	.sp_menu_line span,
	.sp_menu_line::before,
	.sp_menu_line::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		background-color: var(--bs-primary);
		width: 30px;
		height: 2px;
		border-radius: 2px;
		transition: 0.3s;
	}
	.sp_menu_line span {
		top: calc(50% - 1px);
	}
	.sp_menu_line::before {
		top: calc(50% - 11px);
	}
	.sp_menu_line::after {
		top: calc(50% + 9px);
	}
	.header_sp_btn.open .sp_menu_line span {
		opacity: 0;
	}
	.header_sp_btn.open .sp_menu_line::before {
		transform: translateY(10px) rotate(-45deg);
	}
	.header_sp_btn.open .sp_menu_line::after {
		transform: translateY(-10px) rotate(45deg);
	}
	.sp_nav {
		display: none;
/*		opacity: 0;*/
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 140px 16px 32px;
		background: var(--bs-primary-light-02);
		z-index: 200;
		overflow-y: auto;
		transition: all .6s;
	}
	.sp_nav.open {
		display: block;
	}
	.sp_nav a {
		color: var(--main-txt-color);
		font-weight: 700;
	}

	.sp_nav_h_search {
		position: relative;
		margin: 0 0 10px;
		padding-left: 20px;
		font-family: var(--maru-font-family);
		font-size: var(--font-size--lg);
		font-weight: 700;
		color: var(--bs-primary);
	}
	.sp_nav_h_search::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto 0;
		content: '';
		width: 12px;
		height: 12px;
		border-radius: 6px;
		background: var(--bs-primary);
	}

	.sp_nav_search {
		margin-bottom: 40px;
	}
	.sp_nav_search ul.sp_nav_btn_search {
		display: flex;
		justify-content: space-between;
	}
	.sp_nav_search ul.sp_nav_btn_search li {
		width: 48%;
		margin: 10px 0;
	}
	.sp_nav_search ul.sp_nav_btn_search li a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: var(--bs-white);
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		padding: 20px 10px;
		border-radius: 30px;
		filter: var(--filter-box-shadow);
		background: var(--bs-white);
	}
	.sp_nav_search ul.sp_nav_btn_search li a .sp_nav_btn_search_icon {
		margin-bottom: 10px;
	}
	.sp_nav_search ul.sp_nav_btn_search li a .sp_nav_btn_search_icon img {
		width: auto;
		height: 40px;
	}

	.sp_nav_menu li {
		margin-bottom: 10px;
	}
	.sp_nav_menu li a {
		display: block;
		padding: 10px 15px;
		position: relative;
		
		background: var(--bs-white);
		border-radius: 10px;
		filter: var(--filter-box-shadow);
	}

	.sp_nav_contents {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 20px auto;
	}
	.sp_nav_glossary,
	.sp_nav_salobenote {
		width: 48%;
	}
	.sp_nav_glossary a ,
	.sp_nav_salobenote a {
		display: flex;
		justify-content: center;
		align-items: center;
		background: var(--bs-white);
		padding: 20px 10px;
		border-radius: 30px;
		filter: var(--filter-box-shadow);
		background: var(--bs-white);
		font-size: var(--font-size--md);
		font-weight: 700;
	}
	.sp_nav_glossary a span,
	.sp_nav_salobenote a span {
		margin-right: 10px;
	}
	.sp_nav_glossary a span img,
	.sp_nav_salobenote a span img {
		max-width: inherit;
		width: auto;
		height: 36px;
	}
	.sp_nav_contact {
		margin: 20px auto;
	}
	.sp_nav_contact a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		padding: 0 20px;

		text-align: center;
		font-weight: 700;
		letter-spacing: 0;
		border-radius: 10px;
		color: var(--bs-white);
		font-size: var(--font-size--md);
		background: var(--bs-primary);
	}
	.sp_nav_contact a span {
		margin-right: 10px;
	}
	/*
	.sp_nav_menu li a::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 20px;
		margin: auto 0;
		content: '';
		width: 24px;
		height: 20px;
		border-radius: 10px 3px 10px 3px;
		background: var(--bs-primary);
	}*/
	/*
	.sp_nav_sub  {
		display: flex;
	}*/

	/* =====================
	footer
	===================== */
	.footer_inner {
		display: block;
	}
	.footer_txt_area,
	.f_menu {
		width: 100%;
		max-width: inherit;
	}

	.footer_logo_area {
		width: fit-content;
		margin: 0 auto 40px 0;
	}
	.f_link ul {
		display: flex;
		justify-content: space-between;
	}
	.f_link ul li {
		width: 48%;
	}

	a.btn_f_link {
		max-width: inherit;
	}

	.f_menu {
		margin-top: 40px;
		padding: 0;
	}
	.f_menu ul {
		width: 50%;
	}
	.f_menu ul li {
		margin-bottom: 15px;
	}

	/* =====================
	共通
	===================== */
	.content_title {
		line-height: 1.2;
	}

	
	/* =====================
	entry
	===================== */
	.entry {
		margin-top: var(--home-sec-top-margin);
	}
	.entry::before,
	.entry::after {
		width: 100%;
	}
	.entry_box_title {
		padding: 30px;
		font-size: var(--font-size--md);
	}
	.entry_box_title::after {
		right: 20px;
		width: 30px;
		height: 30px;
		background-size: 7px auto;
	}

}

/* Medium devices (tablets, 768px and up) */
@media (max-width: 768px) {
/*@media screen and (max-width: 600px) {*/
	.sp_nav_search {
		margin-bottom: 30px;
	}
	.sp_nav_search ul {
		display: block;
	}
	.sp_nav_search ul li {
		width: 100%;
	}
	
	.entry .content_title {
		margin-bottom: 10px;
	}
	.top_txt {
		font-size: var(--font-size--md);
	}
	.entry_area {
		width: 90%;
		display: block;
	}
	.entry_box {
		width: auto;
		margin-bottom: 20px;
	}
	.entry_box_title {
		padding: 25px;
	}
	
	
	.footer_btm_inner {
		display: block;
	}
	.footer_logo {
		margin: 0 0 40px;
		text-align: center;
	}
	address {
		text-align: center;
	}

	.btn_paeg_top {
		right: 10px;
		bottom: 10px;
	}
	.btn_paeg_top a {
		width: 40px;
		height: 40px;
	}
}

/* Small devices (landscape phones, 576px and up) */
@media (max-width: 576px) {
	
	header#header {
		height: 70px;
		top: 10px;
	}
	.h_logo img {
		width: 100px;
	}

	.h_sp_menu ul li a,
	.header_sp_btn  {
		padding: 5px 0;
		font-size: 12px;
	}

	.sp_menu_line {
		display: block;
		width: 30px;
		height: 42px;
		margin: 0 auto;
		position: relative;
	}

	.sp_nav {
		padding-top: 120px;
	}

	.sp_nav_contents {
		gap: 10px;
	}
	.sp_nav_glossary,
	.sp_nav_salobenote {
		width: 100%;
	}


	/* フッター：探す */
	.footer_search_area {
		padding: 40px 0;
	}
	.footer_search_area_box {
		display: block;
		margin: 0 0 10px;
		border-radius: 1.5em;
		background: var(--bs-white);
		filter: var(--filter-box-shadow-03);
	}
	.footer_search_sub_title {
		width: 100%;
		margin: 0;
		padding: 0.8em;
/*		background-color: #fff;*/
		background-image:url(../img/icon_arrow_down.svg);
		background-repeat: no-repeat;
		background-position: right 0.8em center;
		background-size: 14px auto;
		cursor: pointer;
		transition: all .3s;
	}
	.footer_search_sub_title.active {
		background-image:url(../img/icon_arrow_up.svg);
	}
	.footer_search_area .footer_search_list_box {
		display: none;
		padding: 0 0.8em 0.5em;
	}
	.footer_search_area .footer_search_list li {
		width: 50%;
		margin-bottom: 0.5em;
		text-align: center;
	}
	.footer_search_area .footer_search_list li a {
		display: block;
		margin: 0 0.25em;
		padding: 0.4em;
		border-radius: 1em;
		background: var(--bs-light);
		background: rgba(var(--bs-primary-rgb),0.2);
	}
	.footer_search_area .footer_search_list li::after {
		display: none;
	}

	/* =====================
	共通
	===================== */
	.content_title {
		margin: 0 auto 40px;
	}

	.more_btn a::after {
		right: 1em;
		width: 28px;
		height: 28px;
		background-size: 7px auto;
	}

	
}
