@charset "utf-8";
/* CSS Document */

/* ======================================================
	[200409]　デザインは本部のままでOK
	[200404]追加
	整友会・求人サイト・追加用
	@import"../css/test_line.css";
====================================================== */
html	{}
body	{
	background: transparent;
}
/*
	[200409]　デザインは本部のままでOK
	background-image: url(../img/bg_line.jpg);
*/


/* ------------------------------------------------------
	web font
	------------------------------------------------------
	日本語Webフォント( M PLUS 1p)がつぶれる＆ジャギる問題を解決する
	https://irokoto.co.jp/blog/20200911/post-16
------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;900&display=swap');
.Light,
h4>b,
.memo:after,
.Top .head .SubTitle,
.Recruit .Detail .EntryBtn h3 b	{
	font-family: 'M PLUS 1p';
	font-weight: 100;
	transform: rotate(0.05deg);
	opacity: 0.9;
}
.Bold,
.cont_title>b,
.Top .head .title b	{
	font-family: 'M PLUS 1p';
	font-weight: 900;
	transform: rotate(0.05deg);
}



section	{
	margin: 0;
	padding-top: 7em;
	padding-bottom: 7em;
}
/*
.section:not(:first-child)	{
	margin-top: 7em;
}
.section:not(:last-child)	{
	margin-bottom: 7em;
}
*/


button	{
	cursor: pointer;
}

.BG	{
	padding: 2em;
}


.read	{
	text-align: center;
	background-image: none;
	font-size: 1.5em;
	line-height: inherit;
	margin-top: 1em;
	margin-bottom: 1em;
	color: inherit;
}

.border1	{
	border-width: 1px;
}

.memo	{
	width: initial;
	margin-top: 3em;
	text-align: center;
	border-width: 1px;
	padding: 2em;
	border-style: dashed;
	border-radius: 1em;
	background-color: rgba(255,255,255,0.9);
}
.memo:before,
.memo:after	{
	content: "";
	display: block;
	position: absolute;
	left: 1em;
	top: -2.5em;
	width: 5em;
	height: 5em;
	line-height: 5em;
	text-align: center;
	border-radius: 100em;
	font-size: 0.8em;
}
.memo:before	{
	background-color: rgba(255,255,255,1.0);
}
.memo:after	{
	content: "memo";
}
.memo>*	{
	text-align: left;
	display: inline-block;
}


.memo.link:after	{
	content: "LINK";
}

.all_require>b:before	{
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - 0.5em);
	left: 0;
	right: 0;
	width: 100%;
	height: 0.5em;
	opacity: 0.2;
}

/* 「写真は、本人ではありません」 */
.sample_image:after	{
	content: "*sample image";
	content: "写真は、本人ではありません";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 0.8em;
	padding: 0.5em;
	line-height: 1;
	letter-spacing: normal;
}

.Index .sample_image:after	{
	left: 50%;
	right: initial;
	transform: translateX(-50%);
	bottom: 1em;
}


/* ------------------------------------------------------
	[220901]　検証前
	2022年から使ってゆくCSS ～疑似クラス :is() ～
	https://www.gaji.jp/blog/2022/01/18/8908/
------------------------------------------------------ 
:is(section, article, aside, nav) div {
	font-size: 25px;
}
*/

/* ------------------------------------------------------
	K */
/* 影 */
.Shadow	{
	-webkit-box-shadow: 0px 0.5em 1em rgba(0,0,0,0.25);
	box-shadow: 0px 0.5em 1em rgba(0,0,0,0.25);
}
.TxtShadow	{
	text-shadow:
		0 0 0.25em rgba(0,0,0,0.25),
		0 0 1em rgba(0,0,0,0.5)
	;
}
.Top .head .title	{
	text-shadow:
		0 0 0.25em rgba(255,255,255,0.5),
		0 0 1em rgba(255,255,255,1.0)
	;
}
.Index .NewsList dt	{
	border-color: rgba(0,0,0,0.5);
}



/* ------------------------------------------------------
	gradation
	[171103]グラデーションのかかった背景をCSSでふわっと変える方法(http://web-codery.com/html/80)
	最後にベタを敷く
*/

/* ------------------------------------------------------
	色・あお　#213f98 */
.color_blue,
/*
.News h3,
*/
h2,
.cont_title,
.Main a,
#MenuBar li.MenuOn>.Wrap	{
	color: rgba(33,63,152,1.0);
}
.Main .ColorBtn,
.Header .Logo .Img:after,
#MenuBar li[class]:hover,
#MenuBar .Child,
.EntryBtn button,
.EntryBtn button:hover,
.sample_image:after	{
	color: rgba(255,255,255,1.0);
}


#MenuBar li>.Wrap	{
	background: none;
}

body:before,
h2:before,
h2:after,
.bg_blue,
#MenuBar li,
#MenuBar .Child li,
.EntryBtn button	{
	background-color: rgba(12,75,165,1.0);
}

.ColorBtn,
.Header .Logo .Img:after	{
	background-color: rgba(33,63,152,0.9);
}
#MenuBar li:hover	{
	background-color: rgba(12,75,165,0.7);
}
.sample_image:after	{
	background-color: rgba(12,75,165,0.2);
}
.cont_title:before,
#MenuBar li.MenuOn	{
	background-color: rgba(12,75,165,0.1);
}

.bg_blue20,
*:before	{
	border-color: rgba(12,75,165,0.2);
}

.border_blue,
.cont_title,
h3,
div,
dt, dd,
#MenuBar li.MenuOn,
.arrow:before,
.arrow:after	{
	border-color: rgba(12,75,165,1.0);
}
.border_blue50,
h3	{
	border-color: rgba(12,75,165,0.5);
}


/*
.BackTop a,
.SlideMenuBtn .Btn span,
.FooterMenu	{
	background-color: #213F98;
}
*/


/* ------------------------------------------------------
	色・みずいろ */
.bg_sky,
.Top .head .title .SubTitle:before	{
	background-color: rgba(0,153,204,1.0);
}
.bg_sky10,
section:nth-of-type(even),
.DeviceSP .Index .NewsList>.Wrap	{
	background-color: rgba(0,153,204,0.1);
}
.Top	{
	background: rgba(0,153,204,0.05);
}
.Top:before	{
	background-image:
		radial-gradient(rgba(0,153,204,1.0) 0.1em, transparent 0.2em),
		radial-gradient(rgba(0,153,204,0.5) 0.1em, transparent 0.2em)
	;
	background-size: 1.5em 1.5em;
	background-position: 0em 0em, 0.75em 0.75em;
}

.border_sky	{
	border-color: rgba(0,153,204,1.0);
}
/*
.Top	{
	background: rgba(0,153,204,0.1);
}
.Top:before	{
	background:repeating-linear-gradient(
		-45deg,
		rgba(0,153,204,1) 0,
		rgba(0,153,204,1) 3px,
		rgba(255,255,255,0) 3px,
		rgba(255,255,255,0) 3em
	);
}
*/
/*
.Work .footer	{
	background-image:
		radial-gradient(rgba(0,153,204,0.3) 20%, transparent 20%),
		radial-gradient(rgba(0,153,204,0.15) 20%, transparent 20%)
	;
	background-size: 1em 1em;
	background-position: 0.5em 0.5em, 1em 1em;
}
*/
/*
#MenuBar .PullDown>.Wrap	{
	background-image: linear-gradient(
		180deg,
		rgba(105,222,238,1.0),
		rgba(12,75,165,1.0)
	);
	background-color: rgba(105,222,238,1.0);
	color: rgba(255,255,255,1.0);
}

.changeBtn>span	{
	background-image: linear-gradient(
		180deg,
		rgba(74,194,224,1.0),
		rgba(15,81,167,1.0)
	);
	background-color: rgba(105,222,238,1.0);
}

.changeBtn{
	border-color: rgba(105,222,238,1.0);
}
table,
th,
td,
.Side .CtOutside li>.Wrap	{
	border-color: #ccebf5;
}
*/



/* ------------------------------------------------------
	色・あか */
.bg_red,
.all_require>b:before
	{
	background-color: rgba(244,67,54,0.9);
}

.EntrySheet.NewGraduate .BG	{
	background-color: rgba(244,67,54,0.1);
}

.color_red,
.latest_news .new_mark>*,
.memo:after	{
	color: rgba(192,18,72,1.0);
}

.border_red	{
	border-color: rgba(244,67,54,1.0);
}



/* ------------------------------------------------------
	色・OR */
.EntrySheet .BG	{
	background-color: rgba(255,152,0,0.2);
}



/* ------------------------------------------------------
	色・きいろ */
.EntrySheet table input,
.EntrySheet table textarea	{
	background-color: rgba(255,235,59,0.15);
}


/* ------------------------------------------------------
	色・みどり */
.KengakuEntry .BG	{
	background-color: rgba(139,195,74,0.2);
}



/* ------------------------------------------------------
	色・pk */
.latest_news .new_mark>*,
.memo:after	{
	background-color: rgba(241,156,174,0.4);
}
/*
.Side .CtBanner .ClassKangobu>.Wrap	{
	border-color: #fcc;
}
.Side .CtBanner .ClassKangobu a	{
	border-color: #fdecea;
}
.memo:after	{
	color: rgba(241,156,174,1.0);
}
*/




/* シマシマ 
.Stripe tbody:not([class]) th	{
	background: transparent;
}
.Stripe th,
.Stripe td	{
	background-color: rgba(255,255,255,0);
}
.Stripe .zebra th,
.Stripe .zebra td	{
	background-color: #eaf4fa;
}
*/




/* ======================================================
	tag */
table	{
}
table:not(:first-child)	{
	margin-top: 3em;
}
table:not(:last-child)	{
	margin-bottom: 3em;
}

th	{
	background-image: none;
}

td:last-child	{
	border-right-width: 0;
	padding-right: 0;
}


/* ======================================================
	文字 */

h2,
h3,
h4,
dt	{
	margin-bottom: 3em;
	font-size: 1em;
	line-height: inherit;
}
/*
	line-height: 1.5;
	margin-top: 3em;
*/

h2	{
}
/*
	text-align: left;
	line-height: 1em;
*/
h2:before,
h2:after	{
	content: none;
}


h3
{
	height: initial;
	padding: 0;
	background-image: none;
}

h3:before
{
	content: none;
	background: none;
}

h3>b
{
	font-size: 1.5em;
}

h4	{}
h4>b	{
	font-size: 2.5em;
}

/*
h3	{
	background-image: none;
	background: none;
	height: auto;
	padding: 1em 0;
	font-size: 1em;
	line-height: 1em;
}
h3:before,
h3:after	{
	content: "";
	opacity: 0.5;
}
h3:after	{
	position: absolute;
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	height: 1px;
	right: 0px;
	bottom: 0.25em;
}

h3>b	{
	font-size: 1.5em;
	padding-right: 0.5em;
	background-color: rgba(255,255,255,1.0);
}
h3>b:before	{
	content: "■";
	display: inline-block;
	font-size: 0.9em;
	vertical-align: middle;
}
h3>b>span	{
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.25em;
}
*/


.CategoryTitle
{
	text-align: center;
	border-width: 0;
	line-height: inherit;
}

.CategoryTitle>.Wrap	{}
.CategoryTitle .Title	{
	display: flex;
	align-items: center;
}

.CategoryTitle .Title>*,
.CategoryTitle .Title>*>*	{
	position: relative;
	top: initial;
	left: initial;
	right: initial;
	bottom: inherit;
	flex: 1;
}
.CategoryTitle .Title>*>*	{
	display: block;
}

.CategoryTitle .Title .Txt	{
}
.CategoryTitle .Title .Txt>*	{
}
.CategoryTitle .Title .Txt b	{
	font-size: 3em;
}
.CategoryTitle .Title .Txt .SubTitle	{
	font-size: 1.5em;
}
.CategoryTitle .Title .Img	{
}
/*
	width: 50%;
	margin-left: auto;
	margin-right: 0;
*/
.CategoryTitle .Title .Img img	{
	padding: 0;
	margin: 0;
	border-width: 0;
	border-radius: 0 3em 3em 0;
}

.title	{
	margin-top: 0;
	border-width: 0;
	padding: 0;
	font-weight: inherit;
	line-height: 1.5;
}

.cont_title:before
{
	content: "";
	position: absolute;
	top: 3em;
	bottom: 0.75em;
	left: 50%;
	width: 10em;
	transform: translateX(-50%);
}
/*
	min-height: 50px;
	height: calc(100% - (3em + 0.75em));
*/

/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.cont_title:before
	{
	}
	
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
	.cont_title:before	{
		top: 1.5em;
	}
}

.cont_title>*,
.cont_title>b	{
	display: inline-block;
	display: block;
	vertical-align: baseline;
	line-height: inherit;
}

.cont_title>b	{
}
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.cont_title>b	{
		font-size: 4em;
	}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
	.cont_title>b	{
		font-size: 2em;
	}
}


.cont_title>span	{
}


.Top	{
	display: flex;
	align-items: center;
}
.Top h2	{
	margin-bottom: 0;
}
.Top:before	{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	opacity: 0.3;
}
.Top>*	{
	flex: 1;
}
.Top .Img
{
	flex: 1.25;

	img
	{
		aspect-ratio: 3 / 2;
		object-fit: cover;
	}
}


.Top .head	{
}
.Top .head>.Wrap	{
	padding-left: 3em;
	padding-right: 3em;
}

.Top .head .title .title_head	{
	font-size: 2em;
	display: block;
	margin-bottom: 0.5em;
}
.Top .head .title b	{
	font-size: 3em;
}
.Top .head .title b>*	{
	display: block;
	font-size: 0.9em;
	margin-top: 0.25em;
}
.Top .head .title .SubTitle	{
	font-size: 2em;
}
.Top .head .title	{
}
.Top .head .title .SubTitle	{
}
.Top .head .title .SubTitle:before	{
	content: "";
	display: block;
	width: 2em;
	height: 0.25em;
	border-radius: 100em;
	margin: 1em auto;
	opacity: 0.75;
}
.Top .head .title .SubTitle	{
}

.Top .read	{
	margin-bottom: 0;
	margin-top: 2em;
}



.Main a	{
	text-decoration: none;
	padding-left: 0;
}
.Main a:before,
.Main a:after	{
	content: none;
}


.arrow	{
	display: inline-block;
	font-size: larger;
	padding-right: 1.5em;
}
.arrow:before,
.arrow:after	{
	content: "";
	display: inline-block;
	position: absolute;
	left: initial;
	right: 0;
}
.arrow:before	{
	top: 45%;
	width: 0.75em;
	height: 0.75em;
	border-top-width: 1px;
	border-right-width: 1px;
	transform: translateY(-50%) rotate(45deg);
	margin-right: 0.2em;
}
.arrow:after	{
	top: 45%;
	width: 1em;
	height: 0;
	border-top-width: 1px;
	transform: translateY(-50%);
}
.arrow>*	{
	font-weight: inherit;
	display: inline-block;
	vertical-align: middle;
}

.arrow.L	{
	padding-left: 1.5em;
	padding-right: 0;
}
.arrow.L:before,
.arrow.L:after	{
	right: initial;
	left: 0;
}


/* button */
.Btn	{
	border-radius: 0em;
	overflow: visible;
}
.title+.Btn	{
	position: absolute;
	top: 0em;
	right: 0;
}

/* color button */
.Main .ColorBtn	{
	display: inline-block;
	position: relative;
	min-width: 10em;
	padding-top: 1em;
	padding-bottom: 1em;
	border-width: 0;
	border-radius: 0em;
	color: rgba(255,255,255,1.0);
}
.Main .ColorBtn:before,
.Main .ColorBtn:after	{
	border-color: rgba(255,255,255,1.0);
}
.Main .ColorBtn.l	{
	text-align: left;
}
.Main .ColorBtn.arrow	{
	padding-right: 3em;
}
.Main .ColorBtn.arrow:before,
.Main .ColorBtn.arrow:after	{
	right: 1em;
	left: initial;
	top: 50%;
}
.Main .ColorBtn.arrow:before	{
}
.Main .ColorBtn.arrow:after	{
	transform: translateY(-50%);
}
.Main a .ColorBtn	{
	display: block;
}
/*
.Main .ColorBtn	{
	padding-top: 1em;
	padding-left: 1em;
	padding-bottom: 1em;
	display: inline-block;
	min-width: 15em;
	border-radius: 0;
	border-width: 0;
}
.Main .ColorBtn	{
	display: block;
}
.Main .ColorBtn:before,
.Main .ColorBtn:after	{
	border-color: rgba(255,255,255,1.0);	
}
.Main .ColorBtn.l	{
	text-align: left;
}
.Main .Btn.ColorBtn	{
	padding: 0;
}
*/

.Hover	{
}
.Hover a	{
}
.Hover a:hover,
.Hover button:hover	{
	opacity: 0.7;
}
.Hover a:hover:after,
.Hover button:hover:after
	{
	background-color: transparent;
}
.Hover a:hover>*	{
}

.Hover button.ColorBtn:hover
	{
	color: rgba(255,255,255,1.0);
}
.Hover button.ColorBtn:hover:before,
.Hover button.ColorBtn:hover:after
	{
	border-color: rgba(255,255,255,1.0);
}

/* ------------------------------------------------------
	newマーク
*/
.latest_news	{}
.latest_news .new_mark	{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
	z-index: 2;
	white-space: nowrap;
}
.latest_news .new_mark:before	{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255,255,255,1.0);
}
.latest_news .new_mark>*	{
	display: block;
	padding: 0.5em;
	border-width: 1px;
	border-color: rgba(255,255,255,0.5);
}
.Index .MessageTo .latest_news .new_mark	{
	margin-top: 15%;
}

.MenuBar .latest_news .new_mark	{
	right: calc(100% - 1.5em);
	left: initial;
	font-weight: normal;
	font-size: 0.8em;
	top: 40%;
	transform: translateY(-50%);
}
.MenuBar .latest_news .new_mark>*	{
	padding: 0.25em;
}

.RecruitMessage .latest_news .new_mark	{
	top: initial;
	bottom: calc(100% + 2em);
	left: 50%;
	transform: translateX(-50%);
}

.Drawer .latest_news	{
}
.Drawer .latest_news a:not(.Arrow)	{
	display: flex;
	text-decoration: none;
}
.Drawer .latest_news a:not(.Arrow)>*	{
	align-self: center;
}
.Drawer .latest_news .new_mark	{
	position: relative;
	order: 1;
	margin-left: 1em;
	font-size: 0.8em;
}
.Drawer .latest_news .new_mark>*	{
	line-height: 1;
}



/* ======================================================
	ページ構成 */
body
{
}

body:before
{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0.5em;
	z-index: 2;
}

#Header
{
/*
	[200409]　デザインは本部のままでOK
	height: auto;
*/
}

#Document
{
	background-image: none;
}
/*
	[220823]　独立
	[200409]　デザインは本部のままでOK
	background-image: none;
*/

#Contents
{
}

#Contents>.Wrap
{
	flex-direction: column;
}

.Main
{
	width: 100%;
	float: none;
	text-align: center;
	line-height: 2;
	margin-top: 1em;
}
/*
	font-size: 16px;
*/


/* ======================================================
	header */
#Header	{
	background-color: rgba(255,255,255,0.7);
	height: initial;
}
.Header	{
}
.Header .Logo	{
/*
	margin-top: 10px;
*/
}

.Header .Logo .Img	{}
.Header .Logo .Img:after	{
	content: "採用情報";
	display: inline-block;
	vertical-align: bottom;
	margin-left: 0.5em;
	line-height: 1em;
	padding: 0.25em 0.5em;
	border-radius: 0.3em;
	font-size: 1.2em;
	position: absolute;
	left: 240px;
	top: calc(52px - (1em + (0.25em * 2)));
}





/* ======================================================
	menu bar */
#MenuBar	{
	--child_h				: 4.5em;

	font-size: 1.1em;
	padding-top: 1em;
	padding-bottom: 1em;
	margin: 0em;
}
/*
	color: inherit;
	margin: 1em 0 0;
*/
/*
	margin-top: 1em;
	margin-bottom: 1em;
	[220823]　独立
	[200409]　デザインは本部のままでOK
*/
#MenuBar :is(a, .a)
{
	height: var(--child_h);
	height: 4em;
	background: transparent;
}
/*
#MenuBar a,
#MenuBar .a	{
	text-decoration: none;
	height: 4em;
	display: table;
	text-align: center;
}


	display: block;
*/
#MenuBar a>span,
#MenuBar .a>span	{
}
/*
	display: table-cell;
	vertical-align: middle;
*/
#MenuBar>.Wrap>ul
{
}
#MenuBar>.Wrap>ul>li
{
	border-width: 1px;
	border-radius: 0.5em;
}
/*
#MenuBar>.Wrap>ul	{
	margin: 0em 0em 0em -1em;
	display: flex;
	width: calc(100% + 1em);
}
#MenuBar>.Wrap>ul>li	{
	display: block;
	flex: 1;
	margin-left: 1em;
	border-width: 1px;
	border-radius: 0.5em;
}
*/

#MenuBar li>.Wrap	{
	margin: 0;
	border-radius: 0;
}

#MenuBar a>*>*,
#MenuBar .a>*>*	{
	font-weight: inherit;
}


#MenuBar .Child
{
	width: 0;
	height: 0;
}

#MenuBar .Child ul
{
	gap: 0;
}

#MenuBar .Child li
{
	overflow: hidden;
}
/*
*/

#MenuBar.PullDownList .Child	{
	top: calc(4em + 1px);
	left: -1px;
	right: -1px;
	width: calc(100% + (1px * 2));
	height: initial;
	border-radius: 0 0 0.5em 0.5em;
}
/*
	overflow: hidden;
	top: calc(3em - 0em);
	width: initial;
*/
#MenuBar.PullDownList .Child a,
#MenuBar.PullDownList .Child .a	{
	height: 3em;
	height: var(--child_h);
}
/*
	padding-left: 0.25em;
	padding-right: 0.25em;
*/
#MenuBar.PullDownList .Child ul	{
	margin-left: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
}
/*
	width: initial;
*/
#MenuBar.PullDownList .Child ul>li	{
}
#MenuBar.PullDownList .Child ul>li>.Wrap	{
	display: block;
	background: none;
	margin-left: 0;
	border-radius: 0;
	width: 100%;
}
#MenuBar.PullDownList .Child ul>li:last-child	{
}


#MenuBar.PullDownList .PullDown.ChildOn:hover	{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-color: rgba(255,255,255,0);
}
#MenuBar.PullDownList .PullDown.ChildOn:hover>.Wrap	{
}
#MenuBar.PullDownList .PullDown.ChildOn:hover .Child	{
}
/*
	overflow: visible;
*/
/* <li>でないと高さが取れない*/
/*テスト用に開ける
#MenuBar.PullDownList .PullDown.ChildOn .Child li	{
*/
#MenuBar.PullDownList .PullDown.ChildOn:hover .Child li	{
	height: 3em;
	height: var(--child_h);
	overflow: visible;
}

#MenuBar.PullDownList .PullDown.ChildOn:hover .Child a>span
{
}
/*
	display: grid;
	justify-content: center;
	text-align: left;
*/

/* 今のページ */
#MenuBar .MenuOn	{
}
#MenuBar .MenuOn>.Wrap	{
}



/* ======================================================
	footer */

.FooterBtn	{
}
.FooterBtn .BackTop	{
}
.FooterBtn .BackTop a	{
}

.DeviceSP .FooterBtn	{
}
.DeviceSP.stop .FooterBtn	{
	margin-bottom: -2em;
}


.Footer	{}

.Footer ul	{}
.Footer ul li	{}

.Footer .SNS	{
	margin-bottom: 2em;
}
.Footer .SNS ul	{
	text-align: center;
}
.Footer .SNS  ul li	{
	margin-left: 0;
	margin-top: 1em;
	max-width: calc(50% * 0.98);
}



/* ======================================================
	pull down */
.PullDownList
{
}

.PullDownList .PullDown
{
}

/*
.CtNavi	{
	font-size: 1.2em;
}

.CtNavi b	{
	font-weight: normal;
}
.CtNavi a,
.CtNavi a.ContentNo	{
	display: block;
	padding: 1em 1em;
	text-decoration: none;
}
.CtNavi a:before	{
	position: static;
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0.5em;
	height: 0.5em;
	border-bottom-width: 1px;
	border-right-width: 1px;
	transform:rotate(45deg);
}
.CtNavi a>span	{
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.25em;
}
.CtNavi ul	{
	margin-left: 0px;
	list-style: none;
}

.CtNavi>ul	{
	display: table;
	table-layout:fixed;
}
.CtNavi.PullDownList .PullDown	{
	display: table-cell;
	width: 10em;
}

.CtNavi.PullDownList .PullDown .Child	{
	display: inline-block;
}
.CtNavi.PullDownList .PullDown .Child>ul	{
	display: block;
}
.CtNavi.PullDownList .PullDown .Child a	{
	white-space: nowrap;
}
*/

/* ======================================================
	ぱんくず */
.PageNavi	{
}
/*
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
*/


/* ======================================================
	index */
#Index
{
}
/*
*/

#Index #Header
{
	z-index: 2;
}

#Index #Contents
{
}

#Index #Contents>.WrapM
{
	min-width: initial;
	width: auto;
}
/*
*/

#Index .Main
{
	margin-top: 0;
}

.Index
{
	text-align: center;
}
.Index ul	{
	text-align: inherit;
}

.Index h2	{
}

.Index h3	{
	margin-top: 1em;
	margin-bottom: 1em;
}


.Index .Top	{
	display: block;
	background-image: url(../recruit_img/63209743.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: right;
}
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.Index .Top	{
		margin-top: calc(0em - (10px + 100px + (4em + (1.5em * 2))));
		padding-top: calc(0em + (10px + 100px + (4em + (1.5em * 2))));
	}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
	.Index .Top	{
		margin-top: calc(0em - ((2em + (1em + 10px) + 1em) + 2em));
		padding-top: calc(0em + (2em + (1em + 10px) + 1em));
	}
}

.Index .Top:before	{
	content: none;
}
.Index .Top>*	{
	flex: initial;
}
.Index .Top .Img	{
	display: block;
}
.Index .Top .Img img	{
	display: block;
	width: 100%;
}
/*
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
*/

.Index .Top .body	{
	min-height: 50vw;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
/*
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 50vw;
	height: 50vw;
*/
.Index .Top>.Wrap	{
	padding: 3em 0;
}
.Index .Top .main,
.Index .NewsList	{
	text-align: right;
}
/*
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
*/

.Index .Top h2	{
	margin: 0;
	padding: 0;
}
.Index .Top h2:before,
.Index .Top h2:after	{
	content: none;
}
.Index .Top h2>b	{
	background-color: transparent;
}

.Index .Top .head	{
}
.Index .Top .head span	{
	font-size: inherit;
}
.Index .Top .head .title	{
}
.Index .Top .head .title span	{
}
.Index .Top .head .title span:before	{
	content: none;
}

.Index .Top .main	{
	line-height: 2;
}
.Index .Top .main .title	{
	text-align: left;
	display: inline-block;
	color: rgba(255,255,255,1.0);
}
.Index .Top .main .title>b	{
	font-weight: normal;
	line-height: inherit;
}
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.Index .Top .main .title>b	{
		font-size: 2.5em;
	}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
}

.Index .NewsList	{
}
/*
	margin-top: 3em;
	bottom: 3em;
*/
.Index .NewsList>.Wrap	{
	margin: 0;
	padding: 0;
	padding: 2em 1.5em 1em;
	background-color: rgba(255,255,255,0.7);
	border-width: 0;
	border-radius: 0;
	text-align: left;
}
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.ModePC .Index .NewsList>.Wrap	{
		display: inline-block;
		width: 45%;
	}
}
/* 幅が、指定未満 */
@media screen and (min-width: 480px) {
}

.Index .NewsList>.Wrap>.Wrap	{
}
.Index .NewsList .head	{
	margin-bottom: 0.5em;
	padding: 0 0 0.5em;
	border-bottom-width: 1px;
}
.Index .NewsList .title	{
	line-height: 1;
	text-align: left;
}
.Index .NewsList .title>*	{
	display: inline-block;
	vertical-align: baseline;
}
.Index .NewsList .title>b	{
	font-size: 2em;
}
.Index .NewsList dl,
.Index .NewsList dt,
.Index .NewsList dd	{
	margin: 0;
}
.Index .NewsList dt	{
	border-style: dotted;
}
.Index .NewsList dd	{
}
.Index .NewsList dd a	{
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}


/* index・カテゴリ */
.Index .List .type	{
}
.Index .List .type>*	{
	display: block;
}


.Index .Flex	{
}
.Index .Flex>*	{
	justify-content: center;
	align-items: flex-start;
}
/*
	justify-content: space-between;
*/
.Index .Flex>*>*	{
	align-self: stretch;
}
/*
	flex: initial;
	flex: 1;
	flex: initial;
	flex-grow:1;
*/
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
.Index .Flex>*>*	{
}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
/*
.Index .Flex>*	{
	width: calc(100% + 1em);
	margin-left: -1em;
}
.Index .Flex>*>*	{
	min-width: calc((100% / 2) - 1em);
	margin-left: 1em;
}
*/

}

.Index .Ct .List	{
}
.Index .Ct .List>*	{
}
.Index .Ct .List>*>*	{
}

.Index .Ct .List .Item,
.Index .Ct .List .Item:before	{
	border-radius: 1em;
}
.Index .RecruitList .List .Img,
.Index .Ct .List .Item,
.Index .MessageTo .List .Img	{
	display: block;
	padding: calc(1em - 1px);

	img
	{
		aspect-ratio: 1;
		object-fit: cover;
	}
}
/* 隙間ができるので、1px縮める */
.Index .RecruitList .List .Img:before,
.Index .Ct .List .Item:before,
.Index .MessageTo .List .Img:before
	{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-width: 1em;
}

.Index .RecruitList .List .Img:before,
.Index .MessageTo .List .Img:before	{
	border-radius: 100em;
}

.Index .Ct .List .Item>.Wrap	{
	background-color: rgba(255,255,255,1.0);
}
/*
	margin: -1px;
*/

/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.Index .Ct .List .Item>.Wrap	{
		padding-bottom: 1.5em;
	}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
}



/* ======================================================
	仕事紹介
------------------------------------------------------ */
/* ------------------------------------------------------
	仕事紹介	index.php
*/
.Index .Work
{
	.List
	{
		.Img
		{
			img
			{
				aspect-ratio: 4 / 3;
			}
		}
	}
}


/* ------------------------------------------------------
	仕事紹介	work.php
*/
.Work	{
}


.Work .Top	{
}


.Work .detail	{
}

.Work .main	{
}
.Work .main .title	{
}
.Work .main .title>b	{
}
.Work .main ul	{
	list-style: none;
	margin-left: 0;
	margin-top: 0em;
	margin-bottom: 0em;
}
.Work .main ul>li	{
	margin-top: 3em;
	margin-bottom: 3em;
}

.Work .main ul>li>.Wrap	{
	display: flex;
	align-items: center;
}
.Work .main ul>li:nth-of-type(odd)>.Wrap	{
}
.Work .main ul>li:nth-of-type(odd) .Img+.Data	{
	margin-left: 3em;
}
.Work .main ul>li:nth-of-type(even)>.Wrap	{
	flex-direction: row-reverse;
}
.Work .main ul>li:nth-of-type(even) .Img+.Data	{
	margin-right: 3em;
}

.Work .main .Img,
.Work .main .Data	{
	flex: 1;
}
.Work .main .Img	{
}
.Work .main .Img img	{
	display: block;
}
.Work .main .Data	{
}


.Work .footer	{
}





/* ======================================================
	はたらく環境
------------------------------------------------------ */
.Environment
{
}

/* ------------------------------------------------------
	はたらく環境	index.php
*/
.Index .Environment
{
	.List
	{
		.Img
		{
			img
			{
				aspect-ratio: 4 / 3;
			}
		}
	}
}


/* ------------------------------------------------------
	はたらく環境・detail	environment.php
*/
#Environment .Environment
{
}

#Environment .Environment .detail
{
}

#Environment .Environment .detail .PDF
{
	margin-top: 1.5em;
}

#Environment .Environment .detail .Gallery
{
}

#Environment .Environment .detail .Img
{
}

#Environment .Environment .detail .Img img
{
	border-radius: 2em;
}

/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
}

/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
	.DeviceSP #Environment .Environment .detail .Flex
	{
	}
	
	.DeviceSP #Environment .Environment .detail .Flex[class*="gap1"]>*
	{
		gap: 1em !important;
	}
	
	.DeviceSP #Environment .Environment .detail .Flex>*>*
	{
		width: 100%;
	}
	
}




/* ======================================================
	先輩からのメッセージ
------------------------------------------------------ */
/* ------------------------------------------------------
	先輩からのメッセージ
	index.php
*/

:is(.MessageTo, .RecruitMessage) .Name
{
	height: initial;
}

:is(.MessageTo, .RecruitMessage .head) .Name b
{
	font-weight: inherit;
	font-size: 1.5em;
}

:is(.MessageTo, .RecruitMessage .head) .Name>span
{
	font-size: 1.2em;
}

.Index .MessageTo
{
}

.Index .MessageTo .List
{
}

.Index .MessageTo .List .Img,
.Index .MessageTo .List .Img img
{
	border-radius: 100em;
}

.Index .MessageTo .List .Img
{
}

.Index .MessageTo .List .Img:before
{
}


.DeviceSP .Index .MessageTo .List >ul
{
	gap: 3em 1em;
}



/* ------------------------------------------------------
	先輩からのメッセージ
	recruit_message.php
*/
.RecruitMessage	{}

.RecruitMessage .head	{}

.RecruitMessage .head .Data	{
	display: block;
	margin-top: 2em;
	font-size: 1.2em;
}

.RecruitMessage .head .Data .Name	{
}
.RecruitMessage .head .Data .Name span	{
	display: inline-block;
}
.RecruitMessage .head .Data .Name .Small	{
	font-size: smaller;
}

.RecruitMessage .head .Data .Name .Gender	{
	display: none;
}

.RecruitMessage .head .Data .Year	{
}

.RecruitMessage .head .Data .Career	{
	display: block;
	font-size: 1.2em;
	margin-top: 0.5em;
}


/* workplace, section, type */
.RecruitMessage .head .SubTitle	{
}
.RecruitMessage .head .SubTitle>*	{
	display: inline-block;
}
.RecruitMessage .head .SubTitle>*:not(:first-child)	{
	margin-left: 0.5em;
}
.RecruitMessage .head .SubTitle .workplace	{
}
.RecruitMessage .head .SubTitle .section	{
}

/* 本文 */
.RecruitMessage .main	{
	font-size: 1.2em;
}

/* [221028/221115]校正　写真はあるだけ使う */
.RecruitMessage .main .comment>*
{
}

.RecruitMessage .main .comment .txt
{
	text-align: left;
	display: inline-block;
}

.RecruitMessage .main .Gallery .Img
{
}

.RecruitMessage .main .Gallery .Img img
{
	border-radius: 2em;
}

/* [pc] */
@media screen and (min-width: 480px) {
.RecruitMessage .main .Gallery
{
	margin-top: 2em;
}
}

/*
.RecruitMessage .main .comment>*
{
	margin-top: 2em;
	margin-bottom: 2em;
}

[230418]R5　投稿型になったら、左右できない
.RecruitMessage .main .comment.img	{
	display: flex;
	flex-wrap: wrap;
}
/ 幅が、指定以上 /
@media screen and (min-width: 480px), print {
.RecruitMessage .main .comment.img	{
	justify-content: space-between;
}
.RecruitMessage .main .comment.img:nth-of-type(odd)	{
}
.RecruitMessage .main .comment.img:nth-of-type(even)	{
	flex-direction: row-reverse;
}

.RecruitMessage .main .comment.img>*	{
	width: calc((100% / 2) - (3em / 2));
}
}
/ 幅が、指定未満 /
@media screen and (max-width: 480px) {
.RecruitMessage .main .comment.img	{
	flex-direction: column-reverse;
}
}
*/


/* ------------------------------------------------------
	先輩からのメッセージ
	recruit_message.php
	個別
*/
.Index .message02	{}
.Index .message02 .Img	{}
.Index .message02 .Img img	{
	background-position: right center;
}

.Index .message05	{}
.Index .message05 .Img	{}
.Index .message05 .Img img	{
	background-position: 80% center;
}

/* ======================================================
	募集一覧
------------------------------------------------------ */
/* ------------------------------------------------------
	募集一覧
	index.php */
.Index .RecruitList	{
}
.Index .RecruitList a	{
	color: inherit;
}
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.Index .RecruitList a	{
		height: 100%;
		padding-bottom: 3em;
	}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
}

.Index .RecruitList ul	{
}

.Index .RecruitList .head	{
}
.Index .RecruitList .Img,
.Index .RecruitList .Img img	{
	border-radius: 100%;
}

.Index .RecruitList .Type	{
}
.Index .RecruitList .Type>*	{
	font-size: 1.5em;
}

.Index .RecruitList .main	{
}
.Index .RecruitList .main>.Wrap	{
	display: inline-block;
	text-align: left;
}

.Index .RecruitList .main ul	{
}
.Index .RecruitList .main ul>li	{
	margin: 0;
}

.Index .RecruitList .footer	{
}
/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
	.Index .RecruitList .footer	{
		display: inline-block;
	}
	.Index .RecruitList .head+.body+.footer	{
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
	}
}
/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
	.Index .RecruitList .footer	{
		text-align: right;
	}
	.Index .RecruitList .footer>*	{
		display: inline-block;
	}
}


/* ------------------------------------------------------
	募集一覧
	recruit_list.php */
.RecruitList	{}


.RecruitList .Top	{}

.RecruitList .List	{}

.RecruitList .List .main	{}
.RecruitList .List .main>*	{
	display: flex;
}
.RecruitList .List .main>*>*	{
	flex: 1;
}

.RecruitList .List .main .Img	{
	img
	{
		aspect-ratio: 3 / 2;
		object-fit: cover;
	}
}

.RecruitList .List .main .Txt	{
}

.RecruitList .List .main .Txt .title	{
	margin-bottom: 1em;
}

.RecruitList .List .main .Data	{
}
.RecruitList .List .main .Data:not(:first-child)	{
	margin-top: 2em;
	border-top-width: 1px;
	padding-top: 2em;
	border-top-style: dotted;
}
.RecruitList .List .main .Data>*	{
	display: inline-block;
}

.RecruitList .List .main .Img+.Txt	{
	text-align: left;
	margin-left: 3em;
}
.RecruitList .List .main .Img+.Txt .Data>*	{
	display: block;
}
.RecruitList .List .main .Img+.Txt .Btn,
.RecruitList .List .main .Img+.Txt .footer	{
	margin-left: 3em;
}

.RecruitList .List .main .Data .Btn
{
}

.RecruitList .List .main .Data .Btn>*
{
	gap: 1em !important;
}

.RecruitList .List .main .Data .Btn>*>*
{
}

.RecruitList .List .main .Btn b	{
	line-height: 1.2;
}

.RecruitList .List .main .Btn .off	{
	padding: 1em;
	border-width: 1px;
	border-style: dotted;
}

.RecruitList .List .main .Img+.Txt .footer	{
	padding-bottom: 1.5em;
}

/* 幅が、指定以上 */
@media screen and (min-width: 480px), print {
}

/* 幅が、指定未満 */
@media screen and (max-width: 480px) {
}


/* 「常勤」「パート」「フルタイム」... */
.RecruitList .List .main .Data .Btn	{}
.RecruitList .List .main .Data .Btn .Ct2Type	{}

.RecruitList .List .main .Data .Btn .Ct2Type0	{}
.RecruitList .List .main .Data .Btn .Ct2Type1	{}
.RecruitList .List .main .Data .Btn .Ct2Type2	{}
.RecruitList .List .main .Data .Btn .Ct2Type3	{}




/* ======================================================
	募集要項
	recruit.php
------------------------------------------------------ */
.Recruit	{}

.Recruit .Detail	{}


.Recruit .Detail .RecruitText	{
	margin-top: 5em;
}
.Recruit .Detail .RecruitText>*	{
	font-size: 1.2em;
	display: inline-block;
	text-align: left;
}



/* 提出書類 */
.Recruit .Detail .document	{
}
.Recruit .Detail .document li	{
	padding: 2em;
	border-width: 1px;
	border-style: dashed;
}
.Recruit .Detail .document li>*	{
}

.Recruit .Detail .document .title	{
	margin-top: 0;
	text-align: center;
}

.Recruit .Detail .document li ul	{
}
.Recruit .Detail .document li li	{
	padding: 0em;
	border-width: 0px;
}





.Recruit .Detail .EntryBtn	{
	text-align: center;
	margin-bottom: 0;
}

.Recruit .Detail .EntryBtn .Flex	{
}
.Recruit .Detail .EntryBtn .Flex>ul	{
	margin-top: 0;
	text-align: inherit;
}
.Recruit .Detail .EntryBtn .Flex>ul>li	{
}
.ModePC .Recruit .Detail .EntryBtn .Flex>ul>li	{
	margin-top: 0;
	margin-bottom: 0;
}
.DeviceSP .Recruit .Detail .EntryBtn .Flex>ul>li	{
	margin-top: 1em;
	margin-bottom: 1em;
}

.Recruit .Detail .EntryBtn .Flex h3	{
	margin-top: 0;
	margin-bottom: 0;
}
.Recruit .Detail .EntryBtn h3:before	{
	content: none;
}
.Recruit .Detail .EntryBtn h3:after	{
	background-color: rgba(255,255,255,1.0);
	opacity: 1.0;
	height: 2px;
}
.Recruit .Detail .EntryBtn h3 b	{
	background-color: transparent;
	font-size: 2.5em;
}
.Recruit .Detail .EntryBtn h3 b:before	{
	content: none;
}

.Recruit .Detail .EntryBtn .Btn	{
	display: flex;
	width: 100%;
	height: 7em;
	align-items: center;
	justify-content: center;
	margin-top: 2em;
	margin-bottom: 2em;
}
.Recruit .Detail .EntryBtn .Btn:not(:first-child)	{
}
.Recruit .Detail .EntryBtn .Btn:not(:last-child)	{
}
.Recruit .Detail .EntryBtn .Btn>*	{
	padding: 0;
	font-size: 1.2em;
}
/*
	font-size: 1.5em;
*/

/* エントリーシート */
.EntrySheet	{}
.EntryBtn .EntrySheet	{}


/* [220317/220407]R4追加　エントリーシート / 新卒 */
.EntrySheet.NewGraduate	{}
.EntryBtn .EntrySheet.NewGraduate	{}


/* [220317/220407]R4追加　エントリーシート / 中途 */
.EntrySheet.MidCareer	{}
.EntryBtn .EntrySheet.NewGraduate	{}



/* 見学 */
.KengakuEntry	{}






/* ======================================================
	エントリーフォーム
	recruit_entry.php
------------------------------------------------------ */
.RecruitEntry .Top	{}
.RecruitEntry .Top .Img	{
}
.RecruitEntry .Top .head	{
}

#RecruitList[class*="level"] .RecruitList .Top,
:is(.RecruitEntryEnd, .RecruitKengakuEnd) .Top	{}

#RecruitList[class*="level"] .RecruitList .Top .Img,
:is(.RecruitEntryEnd, .RecruitKengakuEnd) .Top .Img	{
	flex: 1;
}
#RecruitList[class*="level"] .RecruitList .Top .head,
:is(.RecruitEntryEnd, .RecruitKengakuEnd) .Top .head	{
	flex: 2.5;
}
/*
#RecruitList:is([class*="kakunin"], [class*="enter"]) .RecruitList .Top,
:is(.RecruitEntryEnd, .RecruitKengakuEnd) .Top	{}

#RecruitList:is([class*="kakunin"], [class*="enter"]) .RecruitList .Top .Img,
:is(.RecruitEntryEnd, .RecruitKengakuEnd) .Top .Img	{
	flex: 1;
}
#RecruitList:is([class*="kakunin"], [class*="enter"]) .RecruitList .Top .head,
:is(.RecruitEntryEnd, .RecruitKengakuEnd) .Top .head	{
	flex: 2.5;
}
*/

.Form	{}
.Form .footer	{
}

.Form .footer button	{
}

.Form .footer button+button	{
	margin-left: 5em;
}

.Form .footer input[type="button"]	{
	margin-top: 0;
	margin-bottom: 0;
}

.Error b	{
	font-weight: normal;
	display: block;
}

/* 同意 */
.AgreementCheck	{
	margin-top: 2em;
	margin-bottom: 2em;
}
.AgreementCheck.Error	{
	background-color: rgba(204,51,51,0.15);
	border-width: 1px;
	border-color: rgba(204,51,51,0.5);
}
.AgreementCheck.Error b	{
}






/* ======================================================
	エントリーフォーム
	見学
	recruit_kengaku.php
------------------------------------------------------ */
.RecruitKengaku	{}

.RecruitKengaku	.footer	{
	text-align: center;
}




/* ======================================================
	個人情報の取扱いについて
	recruit/policy.php
------------------------------------------------------ */
.Policy	{}

.Policy dl	{}
.Policy dt	{
	font-size: 1.2em;
	margin-bottom: 1em;
}
.Policy dd	{}

.Policy .footer	{
	margin-top: 1em;
	text-align: right;
}







