@charset "UTF-8";

/*
Theme Name: 2022mj_wssol
Description: 2022mj_wssol
Theme URI: https://wssol.co.jp/
Author: https://wssol.co.jp/
Author URI: https://wssol.co.jp/
Version: 1.0.0
License: GNU General Public License
License URI: http://www.gnu.org/licen.breadcrumbsses/gpl-2.0.html
*/

@font-face {
	font-family: 'Noto Sans JP';
	src: url('fonts/Noto_Sans_JP/NotoSansJP-Regular-Regularnnari.otf') format('opentype');
	font-display: swap;
}
@font-face {
	font-family: 'Rubik';
	src: url('fonts/Rubik/Rubik-VariableFont_wght.ttf') format('truetype');
	font-display: swap;
}
.noto {
	font-family: 'Noto Sans JP', sans-serif;
}
.rubik {
	font-family: 'Rubik', sans-serif;
}

* {
	line-height: inherit;
}
*, *:before, *:after {
	box-sizing: inherit;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #333;
	font-size: 19px;
	line-height: 1.8;
	font-family: '游ゴシック体', YuGothic, '游ゴシック', 'YuGothic', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'ＭＳ Ｐゴシック', sans-serif;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
p {
	margin: 0 0 1.6em 0;
}
p:last-child {
	margin: 0;
}
blockquote{
	margin-bottom: 2em;
	margin-left: 20px;
	padding-left: 20px;
	border-left: 5px solid #ddd;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 15px;
	}
}
@media screen and (max-width: 380px) {
	body {
		font-size: 14px;
	}
}
@media screen and (max-width: 320px) {
	body {
		font-size: 13px;
	}
}

/****************************************
 * h要素
*****************************************/

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	margin: 0;
	line-height: 1;
}
h1 {
	text-align: center;
	color: #FFF;
	font-size: 1em;
}
h2,
h3 {
	margin-bottom: 45px;
}

@media screen and (max-width: 568px) {
	h1 {
		font-size: .9em;
	}
}
@media screen and (max-width: 480px) {
	h2 {
		margin-bottom: 30px;
	}
	h3 {
		font-size: 1.3em;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 430px) {
	h1 {
		font-size: .8em;
	}
}
@media screen and (max-width: 320px) {
	h3 {
		font-size: 1.1em;
	}
}

/****************************************
 * リスト
*****************************************/

table {
	border-collapse: collapse;
	table-layout: fixed;
}
ul,ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
dl, dt, dd {
	margin: 0;
}

/****************************************
 * リンク
*****************************************/

a {
	color: #333;
	text-decoration: none;
	transition: all .3s;
	-webkit-transition: all .3s;
	word-break: break-all;
}
a:hover {
	opacity: .7;
}
a img {
	opacity: 1;
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}
.content a {
	text-decoration: underline;
}

a.tab {
	position: relative;
	padding-right: 26px;
}
a.tab:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(images/common/icon140_tab.png) no-repeat;
	background-size: 100%;
	width: 16px;
	height: 16px;
}

/* お問い合わせボタン
*****************************************/
.ct_btn {
	margin: 60px 0 0;
	text-align: center;
}
.ct_btn a {
	display: flex;
  justify-content: center;
  align-items: center;
  width: 480px;
  height: 60px;
	margin: 0 auto;
	padding: 38px 30px;
	background: repeating-linear-gradient(-45deg, #FFF, #FFF 4px, #2b53c0 3px, #2b53c0 10px);
	border-radius: 4px;
	letter-spacing: .1em;
	text-decoration: none;
	position: relative;
}
.ct_btn a span {
	display: flex !important;
	justify-content: center;
	align-items: center;
	font-size: 1.5em !important;
	width: 480px;
	height: 60px;
	padding: 38px 30px 38px 90px;
	background: #F5F9FE;
	border-radius: 4px;
	color: #2b53c0;
	border: 3px solid #2b53c0;
	position: absolute;
	top: -12px;
	left: -12px;
	transition-duration: .3s;
}
.ct_btn a span:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 45px;
	background: url(images/common/icon140_mail-2b53c0.png) no-repeat;
	background-size: 100%;
	width: 40px;
	height: 40px;
}
.ct_btn a:hover {
	opacity: 1;
}
.ct_btn a:hover span {
	left: -8px;
	top: -8px;
}
.ct_btn p.linktop {
	font-weight: bold;
}

@media screen and (max-width: 430px) {
	.ct_btn {
		margin: 45px 0 0;
	}
	.ct_btn a,
	.ct_btn a span {
		width: 100%;
		padding: 32px 22px 32px 60px;
	}
	.ct_btn a {
		letter-spacing: 0;
	}
	.ct_btn a span {
		left: -6px;
	}
	.ct_btn a span:before {
		left: 40px;
		width: 30px;
		height: 30px;
	}
}
@media screen and (max-width: 390px) {
	.ct_btn a,
	.ct_btn a span {
		width: 100%;
		padding: 30px 22px 30px 60px;
	}
	.ct_btn a span {
		font-weight: bold;
		font-size: 1.4em !important;
	}
	.ct_btn a span:before {
		left: 25px;
		width: 28px;
		height: 28px;
	}
}
@media screen and (max-width: 320px) {
	.ct_btn {
		margin: 30px 0 0;
	}
	.ct_btn a {
		height: 55px;
	}
	.ct_btn a,
	.ct_btn a span {
		width: 100%;
		padding: 26px 22px 26px 60px;
	}
	.ct_btn a span {
		font-size: 1.3em !important;
	}
	.ct_btn a span:before {
		width: 26px;
		height: 26px;
	}
}

/* 普通のボタン
*****************************************/
.main_btn {
	display: inline-block;
	font-size: 1em;
	width: 260px;
	height: 60px;
	line-height: 60px;
	margin: 0 10px;
	position: relative;
	text-align: center;
	text-decoration: none;
	outline: 0;
	overflow: hidden;
	color: #fff;
	background: #032859;
	transition: all .3s ease 0s !important;
}
.main_btn:hover {
	opacity: 1;
	transform: scale(1.1) !important;
	background: #04387C;
	color: #FFF;
}

@media screen and (max-width: 430px) {
	.main_btn {
		margin: 8px 10px;
	}
}

/****************************************
 * レスポンシブ
*****************************************/
@media screen and (min-width: 769px) {/*769px以上で*/
	.tb {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width:768px) {/*768px以下で*/
	.tb {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 568px) {/*568px以下で*/
	.pc {
		display: none !important;
	}
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}

/****************************************
 * 共通
*****************************************/

/* ボタンボックス */
.button_box {
	text-align: center;
	margin-top: 45px;
	padding: 0 0 3px;
}
.button_box a {
	display: inline-block;
	transition: all .3s ease 0s;
	text-decoration: none !important;
}
.button_box a:hover {
	opacity: 1;
	transform: scale(1.2);
}

@media screen and (max-width: 480px) {
	.button_box {
		margin-top: 30px;
	}
}


/****************************************
 * フォーム・ボタン
*****************************************/

/* iOSリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

/*フォーム*/
textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	font-size: 1em;
	margin: 0;
	padding: 10px;
	max-width: 100%;
	width: 100%;
	outline: none;
	color: #000;
	vertical-align: bottom;
	transition: 0.3s;
	letter-spacing: 1px;
	border: 1px solid #ededed;
	background: #FFF;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	background: #F5F9FE !important;
	border: 1px solid #032859;
	outline: none;
	transition: all .3s;
}

select {
	position: relative;
	width: 100%;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #000;
	border: 1px solid #ededed;
	background: #fff url(images/common/select_arrow.jpg) no-repeat;
	background-position: right center;
	background-size: 30px, 100%;
	font-size: 1em;
	border-radius: 0;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	font-size: 1em;
	width: 260px;
	height: 60px;
	line-height: 50px;
	margin: 0 10px;
	position: relative;
	text-align: center;
	text-decoration: none;
	outline: 0;
	overflow: hidden;
	color: #fff;
	background: #032859;
	transition: all .3s ease 0s !important;
}
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	opacity: 1;
	transform: scale(1.1) !important;
	background: #04387C;
	color: #FFF;
}

@media screen and (max-width: 430px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		width: 240px;
		height: 45px;
		line-height: 45px;
	}
}
@media screen and (max-width: 320px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		width: 200px;
		height: 40px;
		line-height: 40px;
	}
}

/****************************************
 * ヘッダー
*****************************************/

header {
	background: #132556;
	height: 30px;
	transition: all .6s;
}

@media screen and (max-width: 560px) {
	header {
		height: 18px;
	}
}
@media screen and (max-width: 380px) {
	header {
		height: 15px;
	}
}

/****************************************
 * グローバルナビゲーション
*****************************************/

nav.slide_nav {
	display: block;
  position: fixed;
  top: 0;
  right: -300px;
  bottom: 0;
  width: 300px;
	padding: 30px;
  background: #132556;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: 9999;
	opacity: 0;
}
.open nav.slide_nav {
	right: 0;
	opacity: 1;
}
nav.slide_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
nav.slide_nav ul li {
	position: relative;
	margin: 0;
	border-top: 1px solid #043A7C;
	box-shadow: 0 -1px 0 #021d3f;
}
nav.slide_nav ul li a {
  display: block;
  color: #FFF;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav.slide_nav ul li a:hover {
	padding: 1em 1em 1em 1.3em;
}
nav.slide_nav p.bdr {
	border-bottom: 1px solid #043A7C;
	box-shadow: 0 -1px 0 #021d3f;
}

/* トグルボタン
*****************************************/
.toggle_btn {
	display: block;
	position: fixed;
	top: 30px;
	right: 30px;
	width: 45px;
	height: 40px;
	background: #132556;
	transition: all .6s;
	cursor: pointer;
	z-index: 9999;
}
.open .toggle_btn {
	right: 330px;
}
.toggle_btn span {
  display: block;
  position: absolute;
  right: 7px;
  width: 30px;
  height: 2px;
  background: #FFF;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
	top: 9px;
}
.toggle_btn span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
.toggle_btn span:nth-child(3) {
	bottom: 9px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.open .toggle_btn span:nth-child(1), .open .toggle_btn span:nth-child(3) {
  width: 16px;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translate(1px,4px) rotate(45deg);
  transform: translate(1px,4px) rotate(45deg);
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translate(1px,-4px) rotate(-45deg);
  transform: translate(1px,-4px) rotate(-45deg);
}
.open .toggle_btn.active span:nth-of-type(1),
.open .toggle_btn.active span:nth-of-type(3) {
  width: 20px;
}
.open .toggle_btn.active span:nth-of-type(1) {
  -webkit-transform: translate(31px,13px) rotate(45deg);
  transform: translate(31px,13px) rotate(45deg);
}
.open .toggle_btn.active span:nth-of-type(3) {
  -webkit-transform: translate(31px,-13px) rotate(-45deg);
  transform: translate(31px,-13px) rotate(-45deg);
}
.open header,
.open main,
.open footer {
	margin-right: 300px;
}
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 999;
  cursor: pointer;
}

@media screen and (max-width: 380px) {
	.toggle_btn {
		right: 20px;
		top: 20px;
	}
	.open .toggle_btn {
		right: 280px;
	}
	nav.slide_nav {
		width: 260px;
	}
	.open header,
	.open main,
	.open footer {
		margin-right: 260px;
	}
}

/****************************************
 * レイアウト
*****************************************/

.inner {
	width: 90%;
	margin: 0 auto;
	padding: 0 30px;
	overflow: hidden;
}
.inner_in {
	width: 900px;
	margin: 0 auto;
}
.inner_wd {
	width: 1200px;
	margin: 0 auto;
}
main {
	transition: all .6s; /*ハンバーガーメニューのスライド*/
}

.page_topimage {
	padding: 130px 0;
	border-bottom: 3px solid;
	border-image: linear-gradient(to right, #325CD2 0%, #132556 100%);
	border-image-slice: 1;
	z-index: -1;
}
.page_topimage.enterprises { /*求人企業様*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_enterprises.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.jobseeker { /*求職中の方*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_jobseeker.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.service { /*業務案内*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_service.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.company { /*会社概要*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_company.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.contact,
.page_topimage.contact-check,
.page_topimage.contact-comp { /*お問い合わせ*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_contact.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.privacy-policy { /*プライバシーポリシー*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_pp.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.sitemaps { /*サイトマップ*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_sitemaps.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.page_topimage.error { /*404*/
	background: url(images/common/company_name.png), url(images/page_topimaeg_error.jpg);
	background-repeat: no-repeat;
	background-size: 580px, cover;
	background-position: bottom -10px right, center;
}
.content {
	padding: 90px 0;
	background-image: radial-gradient(#ededed 4%, transparent 6%),
		radial-gradient(#ededed 4%, transparent 6%);
	background-position: 0 0, 8px 8px;
	background-size: 16px 16px;
}

@media screen and (max-width: 1400px) {
	.inner_wd {
		width: 100%;
	}
}
@media screen and (max-width: 960px) {
	.inner {
		width: 100%;
		padding: 0 30px;
	}
	.inner_in {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.page_topimage.enterprises,
	.page_topimage.jobseeker,
	.page_topimage.service,
	.page_topimage.company,
	.page_topimage.contact,
	.page_topimage.contact-check,
	.page_topimage.contact-comp,
	.page_topimage.privacy-policy,
	.page_topimage.sitemaps,
	.page_topimage.error {
		background-size: 420px, cover;
	}
}
@media screen and (max-width: 559px) {
	.content {
		padding: 0 0 30px;
	}
	.content_box {
		padding: 45px 0 0;
	}
	
	.page_topimage {
		padding: 160px 0;
	}
	
	.page_topimage.enterprises { /*求人企業様*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_enterprises.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.jobseeker { /*求職中の方*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_jobseeker.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.service { /*業務案内*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_service.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.company { /*会社概要*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_company.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.contact,
	.page_topimage.contact-check,
	.page_topimage.contact-comp { /*お問い合わせ*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_contact.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.privacy-policy { /*プライバシーポリシー*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_pp.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.sitemaps { /*サイトマップ*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_sitemaps.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
	.page_topimage.error { /*404*/
		background: url(images/common/company_name.png), url(images/page_topimaeg_sp_error.jpg);
		background-repeat: no-repeat;
		background-size: 380px, cover;
		background-position: bottom -10px right, center;
	}
}
@media screen and (max-width: 430px) {
	.page_topimage.enterprises,
	.page_topimage.jobseeker,
	.page_topimage.service,
	.page_topimage.company,
	.page_topimage.contact,
	.page_topimage.contact-check,
	.page_topimage.contact-comp,
	.page_topimage.privacy-policy,
	.page_topimage.sitemaps,
	.page_topimage.error {
		background-size: 320px, cover;
	}
}
@media screen and (max-width: 380px) {
	.page_topimage {
		padding: 120px 0;
	}
}
@media screen and (max-width: 320px) {
	.inner {
		margin: 0 auto;
		padding: 0 20px;
	}
	
	.page_topimage.enterprises,
	.page_topimage.jobseeker,
	.page_topimage.service,
	.page_topimage.company,
	.page_topimage.contact,
	.page_topimage.contact-check,
	.page_topimage.contact-comp,
	.page_topimage.privacy-policy,
	.page_topimage.sitemaps,
	.page_topimage.error {
		background-size: 260px, cover;
	}
}

/****************************************
 * パンくず
*****************************************/

.breadcrumbs_area {
	padding: 30px 0;
	border-top: 1px solid #ededed;
}
.breadcrumbs {
	font-size: .7em;
}

@media screen and (max-width: 430px) {
	.breadcrumbs_area {
		padding: 20px 0;
	}
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}

/****************************************
 * トップページ
*****************************************/

.first_bg {
	width: 100vw;
	height: 90vh;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	
	overflow: hidden;
	position: relative;
}

.fixed_msg {
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 15%;
	z-index: 9;
}

.first_main {
	width: 100%;
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%, -50%);
	z-index: 9;
}
.first_flexbox {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.first_flexbox .first_left {
	
}
.first_flexbox .first_right {

}
.first_flexbox a {
	display: block;
}
.first_flexbox a:hover,
.first_flexbox a img:hover {
	opacity: 1;
}
.first_flexbox .first_inbox {
	
}
.first_flexbox .fadein {
	opacity: 0;
}
.first_flexbox .fadein:nth-child(1) {
	-webkit-animation: example .6s ease 2s 1 forwards;
  animation: example .6s ease 2s 1 forwards;
}
.first_flexbox .fadein:nth-child(2) {
	-webkit-animation: example .6s ease 3s 1 forwards;
  animation: example .6s ease 3s 1 forwards;
}
@-webkit-keyframes example {
  100% { opacity: 1; }
}
@keyframes example {
  100% { opacity: 1; }
}


.bottom_company {
	width: 100%;
	background: #132556;
	text-align: center;
	padding: 30px 0 0;
}
.bottom_company .bottom_company___txt {
	
}
.bottom_company .bottom_company___txt span.toptxt {
	display: block;
	margin: 0 0 -6px;
	color: #F6BF00;
	font-size: 2.2em;
	font-weight: bold;
	font-family: 'noto', sans-serif;
}
.bottom_company .bottom_company___txt .bottomtxt {
	display: block;
	margin: 0;
	color: #FFF;
	font-size: 3.2em;
	font-family: 'noto', sans-serif;
	font-weight: bold;
}

@media screen and (max-width: 830px) {
	.fixed_msg {
		top: 15%;
	}
	.first_flexbox .first_left {
		width: calc(100%/2 - 15px);
	}
	.first_flexbox .first_right {
		width: calc(100%/2 - 15px);
	}
}
@media screen and (max-width: 559px) {
	.first_bg_sp {
		width: 100vw;
		height: 90vh;
		background-position:center center;
		background-size: cover;
		display: flex;
		align-items: center;
		justify-content: center;
		
		overflow: hidden;
		position: relative;
	}
	.first_main {
		top: 60%;
	}
	
	.bottom_company .bottom_company___txt span.toptxt {
		margin: 0 0 -2px;
	}
	.bottom_company .bottom_company___txt .bottomtxt {
		font-size: 2.6em;
	}
}
@media screen and (max-width: 430px) {
	.fixed_msg {
		top: 12%;
	}
	.first_main {
		top: 58%;
		margin: 30px 0 0;
	}
	.first_flexbox {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.first_flexbox .first_left,
	.first_flexbox .first_right {
		width: calc(100% - 100px);
	}
	.first_flexbox .first_right {
		margin: 18px 0 0;
	}
	
	.bottom_company .bottom_company___txt span.toptxt {
		font-size: 1.8em;
		margin: 0;
	}
	.bottom_company .bottom_company___txt .bottomtxt {
		font-size: 2em;
	}
}
@media screen and (max-width: 420px) {
	.first_flexbox .first_left,
	.first_flexbox .first_right {
		width: calc(100% - 80px);
	}
}
@media screen and (max-width: 390px) {
	.first_flexbox .first_left,
	.first_flexbox .first_right {
		width: calc(100% - 60px);
	}
	.bottom_company .bottom_company___txt span.toptxt {
		font-size: 1.6em;
	}
	.bottom_company .bottom_company___txt .bottomtxt {
		font-size: 1.8em;
	}
}
@media screen and (max-width: 320px) {
	.fixed_msg {
		top: 10%;
	}
	.first_main {
		top: 56%;
	}
	
	.bottom_company .bottom_company___txt span.toptxt {
		font-size: 1.5em;
	}
	.bottom_company .bottom_company___txt .bottomtxt {
		font-size: 1.6em;
	}
}

/****************************************
 * 固定ページ共通
*****************************************/

.page_title {
	font-size: 2.8em;
	font-weight: bold;
	color: #FFF;
}
.page_title_bottom {
	margin: 28px 0 0 !important;
	text-align: center;
}
.page_title_bottom span {
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	color: #132556;
	text-transform: capitalize;
	background: linear-gradient(90deg, #325CD2 20%, #132556 80%);
	background-clip: border-box;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

#page .main_title {
	text-align: center;
	padding: 0;
}

.content_bg {
	background-image: url(images/page/top_bg.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
}

@media screen and (max-width: 560px) {
	.content_bg {
		background-image: url(images/page/top_bg_sp.png);
	}
}
@media screen and (max-width: 430px) {
	.page_title {
		font-size: 1.8em;
	}
}

/*フッター上の社名*/
.page_bottom_company {
	width: 100%;
	background: #132556;
	text-align: center;
	padding: 30px 0 0;
}
.page_bottom_company .page_bottom_company___txt span.toptxt {
	display: block;
	margin: 0 0 -6px;
	color: #F6BF00;
	font-size: 1.6em;
	font-weight: bold;
	font-family: 'noto', sans-serif;
}
.page_bottom_company .page_bottom_company___txt .bottomtxt {
	display: block;
	margin: 0;
	color: #FFF;
	font-size: 2em;
	font-family: 'noto', sans-serif;
	font-weight: bold;
}

@media screen and (max-width: 430px) {
	.page_bottom_company .page_bottom_company___txt span.toptxt {
		font-size: 1.4em;
		margin: 0;
	}
	.page_bottom_company .page_bottom_company___txt .bottomtxt {
		font-size: 1.8em;
	}
}
@media screen and (max-width: 390px) {
	.page_bottom_company .page_bottom_company___txt span.toptxt {
		font-size: 1.2em;
	}
	.page_bottom_company .page_bottom_company___txt .bottomtxt {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 320px) {
	.page_bottom_company .page_bottom_company___txt span.toptxt {
		font-size: 1.1em;
	}
	.page_bottom_company .page_bottom_company___txt .bottomtxt {
		font-size: 1.3em;
	}
}

/****************************************
 * 固定ページ
 * 求人企業様・休職中の方
*****************************************/

#jobseeker .jobseeker_top,
#enterprises .enterprises_top {
	text-align: center;
}
#jobseeker .jobseeker_top span,
#enterprises .enterprises_top span {
	display: block;
	font-weight: bold;
	font-size: 2em;
}
#jobseeker .jobtype,
#enterprises .jobtype {
	margin: 90px 0 10px;
}
#jobseeker .jobtype .jobtype_title,
#enterprises .jobtype .jobtype_title {
	text-align: left;
	font-size: 2.8em;
	border-left: 12px solid #032859;
	padding-left: 30px;
}
#jobseeker .jobtype .jobtype_title span,
#enterprises .jobtype .jobtype_title span {
	display: block;
	font-size: 18px;
	padding-left: 0;
	margin: 16px 0 0;
}
#jobseeker .jobtype_box,
#enterprises .jobtype_box {
	margin: 90px 0 0;
}
#jobseeker .jobtype_box ul,
#enterprises .jobtype_box ul {
	list-style: none;
	margin: -60px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: flex-start;
}
#jobseeker .jobtype_box ul li,
#enterprises .jobtype_box ul li {
	width: calc(100%/3 - 30px);
	margin-top: 60px;
	position: relative;
}
#jobseeker .jobtype_box ul li .jobtype_inbox,
#enterprises .jobtype_box ul li .jobtype_inbox {
	text-align: center;
	width: 100%;
}

@media screen and (max-width: 560px) {
	#jobseeker .jobtype .jobtype_title,
	#enterprises .jobtype .jobtype_title {
		font-size: 2.2em;
	}
	#jobseeker .jobseeker_top span,
	#enterprises .enterprises_top span {
		font-size: 1.6em;
	}
	#jobseeker .jobtype .jobtype_title span,
	#enterprises .jobtype .jobtype_title span {
		font-size: 14px;
	}
	#jobseeker .jobtype_box ul,
	#enterprises .jobtype_box ul {
		margin: -90px 0 0;
	}
	#jobseeker .jobtype_box ul li,
	#enterprises .jobtype_box ul li {
		width: calc(100%/2 - 15px);
		margin-top: 45px;
	}
}
@media screen and (max-width: 430px) {
	#jobseeker .jobseeker_top span,
	#enterprises .enterprises_top span {
		font-size: 1.4em;
		letter-spacing: -.1em;
	}
	#jobseeker .jobtype,
	#enterprises .jobtype {
		margin: 60px 0 10px;
	}
	#jobseeker .jobtype .jobtype_title,
	#enterprises .jobtype .jobtype_title {
		font-size: 1.8em;
		border-left: 8px solid #032859;
		padding-left: 22px;
	}
	#jobseeker .jobtype .jobtype_title span,
	#enterprises .jobtype .jobtype_title span {
		font-size: 12px;
		margin: 12px 0 0;
	}
	#jobseeker .jobtype_box ul,
	#enterprises .jobtype_box ul {
		margin: -80px 0 0;
		justify-content: space-between;
	}
	#jobseeker .jobtype_box ul li,
	#enterprises .jobtype_box ul li {
		width: calc(100%/2 - 10px);
		margin-top: 40px;
	}
}
@media screen and (max-width: 390px) {
	#jobseeker .jobseeker_top span,
	#enterprises .enterprises_top span {
		letter-spacing: -.12em;
	}
}
@media screen and (max-width: 380px) {
	#jobseeker .jobseeker_top span,
	#enterprises .enterprises_top span {
		font-size: 1.3em;
	}
	#jobseeker .jobtype .jobtype_title,
	#enterprises .jobtype .jobtype_title {
		font-size: 1.6em;
		border-left: 6px solid #032859;
		padding-left: 18px;
	}
	#jobseeker .jobtype .jobtype_title span,
	#enterprises .jobtype .jobtype_title span {
		font-size: 10px;
		margin: 12px 0 0;
	}
}


/****************************************
 * 固定ページ
 * 業務案内 
*****************************************/

#service {
	background: url(images/page/bottom_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom center;
}
#service .service_box {
	margin: 90px 0 0;
}
#service .service_inbox {
	margin: 45px 0 0;
}
#service .service_inbox ul.top li a {
		color: #219186;
	font-weight: bold;
	font-size: 1.6em;
}
#service .service_inbox ul.top li {	
	padding: 0 0 0 40px;
	position: relative;
}
#service .service_inbox ul.top li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon140_check-219186.png) no-repeat;
	background-size: 100%;
	width: 30px;
	height: 30px;
}
#service .service_inbox ul.middle {
	list-style: none;
	margin: 0 0 0 45px;
	padding: 0;
	font-size: 1.3em;
}
#service .service_inbox ul.middle li {
	font-weight: bold;
	position: relative;
	margin: 15px 0 0;
}
#service .service_inbox ul.middle li span {
	background: #2668A5;
	color: #FFF;
}
#service .service_inbox ul.middle li ol.middle_in {
	counter-reset:number;
	list-style: none;
}
#service .service_inbox ul.middle li ol.middle_in li {
	padding: 0 0 0 30px;
	margin: 0;
}
#service .service_inbox ul.middle li ol.middle_in li:before {
	position: absolute;
	left: 0;
	counter-increment: number;
	content: counter(number);
	
}

#service ul.step {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-start;
}
#service ul.step li {
	width: 100%;
	position: relative;
}
#service ul.step li:nth-child(1) {
	background: #ABECE5;
}
#service ul.step li:nth-child(2) {
	background: #82E2D9;
}
#service ul.step li:nth-child(3) {
	background: #58D9CC;
}
#service ul.step li:nth-child(4) {
	background: #2FCFBF;
}
#service ul.step li:nth-child(5) {
	background: #26A699;
}
#service ul.step li:nth-child(6) {
	background: #219186;
}
#service ul.step li .flow_inbox {
	padding: 30px 0;
	color: #FFF;
	font-weight: bold;
    font-size: 1.5em;
    text-align: center;
}
#service ul.step li:before {
	content: "";
	display: block;
	position: absolute;
	border-top: solid 25px transparent;
	border-bottom: solid 25px transparent;
	right: -10px;
	height: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	z-index: 1;
}
#service ul.step li:nth-child(1):before {
	border-left: solid 13px #ABECE5;
}
#service ul.step li:nth-child(2):before {
	border-left: solid 13px #82E2D9;
}
#service ul.step li:nth-child(3):before {
	border-left: solid 13px #58D9CC;
}
#service ul.step li:nth-child(4):before {
	border-left: solid 13px #2FCFBF;
}
#service ul.step li:nth-child(5):before {
	border-left: solid 13px #26A699;
}
#service ul.step li:nth-child(6):before {
	content: none;
}
#service ul.step.step4 li:nth-child(5):before {
	content: none;
}
#service ul.step li .flow_inbox span {
	display: block;
	font-size: .6em;
	margin: 0 0 -8px;
	font-weight: normal;
}

@media screen and (max-width: 1194px) {
	#service ul.step {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	#service ul.step li {
		width: calc(100%/3);
	}
	#service ul.step.step4 li:nth-child(4),
	#service ul.step.step4 li:nth-child(5) {
		width: calc(100%/2);
	}
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 834px) {
}
@media screen and (max-width: 560px) {
	#service .service_box {
		margin: 60px 0 0;
	}
}
@media screen and (max-width: 430px) {
	#service ul.step li {
		width: calc(100%/2);
	}
	#service ul.step.step4 li:nth-child(4),
	#service ul.step.step4 li:nth-child(5) {
		width: calc(100%/2);
	}
	#service ul.step.step4 li:nth-child(5) {
		width: 100%;
	}
	#service ul.step li .flow_inbox {
		font-size: 1.3em;
		padding: 16px 0;
	}
	#service ul.step li .flow_inbox span {
		font-size: .8em;
	}
	
	#service .service_inbox ul.top li a {
		font-size: 1.3em;
	}
	#service .service_inbox ul.top li {
		padding: 0 0 0 30px;
	}
	#service .service_inbox ul.top li:before {
		width: 20px;
		height: 20px;
	}
	#service .service_inbox ul.middle {
		margin: 0 0 0 30px;
		font-size: 1.1em;
	}
}
@media screen and (max-width: 320px) {
}

/****************************************
 * 固定ページ
 * 会社概要 
*****************************************/

/*理念*/
#company .philosophy {
	padding: 45px;
	background: #132556 url(images/common/company_name-nv.png) no-repeat;
	background-size: 520px;
	background-position: bottom -10px right;
}
#company .philosophy .philosophy_box {
	color: #FFF;
}
#company .philosophy p.philosophy_title {
	display: flex;
	align-items: center;
	margin: 0 0 12px;
}
#company .philosophy p.philosophy_title:after {
	content: "";
	margin-left: 12px;
	border-top: 1px solid #ccc;
	flex-grow: 1;
}
#company .philosophy p.philosophy_p {
	text-align: center;
	font-size: 2em;
	font-family: serif;
}

/*概要*/
#company table,
#company table th,
#company table td {
	border-collapse: collapse;
	border-bottom: 1px solid #D9E1F6;
}
#company table,
#company table th {
	border-left: none;
}
#company table,
#company table td {
	border-right: none;
}
#company table {
	width: 100%;
	margin: 0 0 90px;
}
#company table th {
	padding: 30px 60px;
	width: 300px;
	text-align: left;
	border-bottom: 3px solid #132556;
}
#company table td {
	padding: 30px 60px;
}
#company .information {
	font-size: .9em;
	margin: 12px 0 0;
}
#company .information span.tel {
	display: inline-block;
	margin-right: 15px;
}
#company .information span.fax {
	display: inline-block;
}
#company .information p.license1 {
	margin: 0;
}
#company .information p.license2 {
	margin: 0;
}
#company .information p.license1 span,
#company .information p.license2 span {
	margin-left: 12px;
}

@media screen and (max-width: 1194px) {
	#company table th {
		width: 220px;
	}
}
@media screen and (max-width: 560px) {
	#company table {
		margin: 0 0 60px;
	}
	#company table th {
		width: 140px;
		padding: 30px;
	}
	#company table td {
		padding: 30px;
	}
	
	#company .philosophy {
		background-size: 360px;
	}
	#company .philosophy p.philosophy_p {
		font-size: 1.8em;
	}
}
@media screen and (max-width: 480px) {
	#company table th {
		width: 130px;
	}
}
@media screen and (max-width: 430px) {
	#company table {
		margin: 0 0 45px;
	}
	#company table th {
		width: 100px;
		padding: 30px 10px;
	}
	#company table td {
		padding: 30px 10px;
	}
	
	#company .philosophy {
		padding: 30px;
		background-size: 260px;
	}
	#company .philosophy p.philosophy_p {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 390px) {
	#company table th {
		font-size: .9em;
	}
	#company .philosophy p.philosophy_p {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 320px) {
	#company table th {
		width: 100%;
		display: block;
		padding: 0 0 0 10px;
		border-bottom: 1px solid #ededed;
		border-left: 3px solid;
	}
	#company table td {
		display: block;
		width: 100%;
		padding: 15px 0 15px 15px;
		border-bottom: none;
	}
	
	#company .philosophy {
		padding: 20px;
		background-size: 200px;
	}
	#company .philosophy p.philosophy_p {
		font-size: 1.3em;
	}
}


/****************************************
 * 固定ページ
 * お問い合わせ 
*****************************************/

#contact table,
#contact table th,
#contact table td {
	border-collapse: collapse;
	border:1px solid #FCF7F7;
}
#contact table,
#contact table th {
	border-left: none;
}
#contact table,
#contact table td {
	border-right: none;
}
#contact table {
	width: 100%;
	margin-top: 30px;
}
#contact table th {
	padding: 30px;
	width: 280px;
	border-left: none;
	text-align: left;
}
#contact table td {
	padding: 30px;
	border-right: none;
	word-wrap: break-word; /*折り返すように IE対応*/
	overflow-wrap: break-word; /*折り返すように*/
}
#contact span.check_no {
	display: block;
	margin: 8px 0 0;
}
#contact .note {
	margin: 30px 0 0 0;
	text-align: center;
}
.mw_wp_form_confirm table td {
	color: #032859;
}

/*確認ページのメールアドレス2つめ*/
.page-id-21 #contact span.check_no {
	display: none;
}

/* MW WP Form
*****************************************/
.mw_wp_form .error {
	text-align: left !important;
	font-weight: bold !important;
	font-size: 1em !important;
	color: #F86243 !important;
	padding-left: 26px !important;
	line-height: 1.35 !important;
	margin-top: 15px !important;
	position: relative;
}
.mw_wp_form .error:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon140_bang-F86243.png) no-repeat;
	background-size: contain;
	background-position: center;
	width: 18px;
	height: 18px;
}

@media screen and (max-width: 768px) {
	#contact table th {
		width: 240px;
	}
}
@media screen and (max-width: 559px) {
	#contact table,
	#contact table th,
	#contact table td {
		width: 100%;
		border: none;
		text-align: left;
	}
	#contact table th,
	#contact table td {
		display: block;
	}
	#contact table th {
		padding: 12px 0 0 0;
	}
	#contact table td {
		padding: 12px 0 20px 0;
	}
}
@media screen and (max-width: 480px) {
	#contact table.about th,
	#contact table.about td {
		padding: 20px;
	}
	#contact table.about th {
		width: 130px;
	}
}
@media screen and (max-width: 430px) {
	
}

/****************************************
 * 固定ページ
 * プライバシーポリシー
*****************************************/

#privacy-policy dl {
	margin: 30px 0 0;
}
#privacy-policy dt {
	font-weight: bold;
	margin: 0 0 12px;
}
#privacy-policy ul {
	list-style: inside;
	padding: 0;
	margin: 0 0 12px;
}
#privacy-policy ul li {
	text-indent: -25px;
	padding-left: 26px;
}

@media screen and (max-width: 768px) {
	#privacy-policy ul li {
		text-indent: -20px;
		padding-left: 22px;
	}
}

/****************************************
 * 固定ページ
 * サイトマップ
*****************************************/

#sitemaps a {
	display: block;
	padding: 15px 30px 15px 45px;
	text-decoration: none;
    text-align: left;
}
#sitemaps ul.sitemaps-nav {
	list-style-type: none;
	text-align: center;
}
#sitemaps ul.sitemaps-nav li {
	border-bottom: 1px solid #ededed;
	position: relative;
}
#sitemaps ul.sitemaps-nav li:first-child {
	border-top: 1px solid #ededed;
}
#sitemaps ul.sitemaps-nav li:before {
	content: "";
	position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
	left: 12px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/****************************************
 * エラー
 * 404.php
*****************************************/

#error {
	text-align: center;
}
#error #error_box p {
	font-size: 1.3em;
}
#error p.error_url span {
	display: inline-block;
	background: #FFF;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	
	
}
@media screen and (max-width: 430px) {
	
}

/****************************************
 * Gutenberg（グーテンベルク）
*****************************************/
.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.screen-reader-text {}

.wp-block-quote {
	background: #fafafa;
	padding: 15px 15px 15px 1.3em !important;
}
figure.wp-block-table {
	padding: 0;
	width: 100%;
	border-collapse: collapse;
}
figure.wp-block-table table th,
figure.wp-block-table table td {
	border: 1px #ededed solid;
	padding: 15px;
}
figure.wp-block-table table th {
	width: 30%;
	background: #EBEAF7;
}
.wp-block-group {
	margin-top: 45px;
}
figure {
	display: block;
	margin: 0;
}
figcaption {
	line-height: 1.5;
	font-size: .8em;
	text-align: center;
	margin-top: 15px;
}

@media screen and (max-width: 560px) {
	figure.wp-block-table table th,
	figure.wp-block-table table td {
		display: block;
		width: 100%;
		padding: 8px 15px;
	}
	figure.wp-block-table table th {
		text-align: left;
	}
	
}
@media screen and (max-width: 430px) {
	.wp-block-group {
		margin-top: 30px;
	}
}

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

footer {
	background: #032859;
	padding: 0 0 60px;
	position: relative;
	transition: all .6s; /*ハンバーガーメニューのスライド*/
}
footer .totop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9;
}
footer a {
	color: #FFF;
}
footer .footer-logo {
	text-align: center;
	margin-bottom: 30px;
}
footer .footer-nav ul#menu-footer-nav {
	text-align: center;
}
footer .footer-nav ul#menu-footer-nav li {
	display: inline-block;
	margin-right: 8px;
}
footer .footer-must ul#menu-footer-must li {
	display: inline-block;
	margin-right: 8px;
}
footer .footer-must ul#menu-footer-must li:last-child {
	margin: 0;
}
footer #copyright {
	margin: 30px 0 0;
	padding: 30px 0 0;
	color: #887D9B;
	font-size: .8em;
	border-top: 1px solid #043A7C;
	box-shadow: 0px -1px 0px #021D3F;
}
footer #copyright nav.footer-must {
	float: left;
}
footer #copyright nav.footer-must ul#menu-footer-must {
	text-align: center;
}
footer #copyright p.copyright {
	color: #FFF;
	float: right;
}

@media screen and (max-width: 559px) {
	footer #copyright {
		padding: 45px 0 0;
	}
}
@media screen and (max-width: 480px) {
	footer #copyright {
		padding: 30px 0 0;
	}
}
@media screen and (max-width: 430px) {
	footer .totop {
		right: 20px;
		bottom: 20px;
	}
	footer #copyright {
		font-size: .9em;
	}
	footer #copyright nav.footer-must,
	footer #copyright p.copyright {
		float: none;
	}
	footer .footer-must ul#menu-footer-must li {
		margin-right: 45px;
	}
	footer #copyright p.copyright {
		margin: 30px 0 0;
		text-align: center;
	}
}
@media screen and (max-width: 320px) {
	footer .totop img {
		width: 45px;
		height: 45px;
	}
	footer .footer-must ul#menu-footer-must li {
		margin-right: 30px;
	}
}
