@charset "UTF-8";
/* 東和キャスト 上書き（1/3） Document */

.PagePath {
max-width: calc(100vw - 40px)!important;
padding: 0 2rem;
display: block;
display: none;
height: auto;
}

.ATTENTION {
padding: 10px 10px 10px 70px;
color: red;
background-color: yellow;
font-size: 1.2rem;
font-weight: bold;
border: 3px dashed red;
border-radius: 10px;
margin-bottom: 2rem;
background-image: url(../img_com/ATTENTION.svg);
background-repeat: no-repeat;
background-position: 20px center;
background-size: 40px auto;
}

.js-biggerlink {
transition: all  0.3s ease;
}
.js-biggerlink a {
text-decoration: none;
color: #212529;
}
.js-biggerlink a:hover {
color: var(--A-Hover-Color);
}
.js-biggerlink:hover {
background-color: var(--BGColor);
text-decoration: none;
cursor: pointer;
}


/* 背景色バリエーション
------------------------------------------------------------------------------------------------- */
.bg-Beige {background-color: #E7D8C3!important;}
.bg-Black-Dark {background-color: #222!important;}
.bg-Black-Light {background-color: #DDD!important;}
.bg-Blue-Dark {background-color: #3D3F7D!important;}
.bg-Blue-Light {background-color: #C0C2FF!important;}
.bg-BlueGray {background-color: #A5BEC4!important;}
.bg-Gray-Light {background-color: #EEE!important;}
.bg-Green-Dark {background-color: #336F2A!important;}
.bg-Green-Light {background-color: #CBFFC3!important;}
.bg-Red-Dark {background-color: #6F2929!important;}
.bg-Red-Light {background-color: #FFC3C3!important;}
.bg-Black-100 {background-color: rgba(0,0,0,1.00);}
.bg-Black-75 {background-color: rgba(0,0,0,0.75);}
.bg-Black-50 {background-color: rgba(0,0,0,0.50);}
.bg-Black-25 {background-color: rgba(0,0,0,0.25);}
.bg-Black-10 {background-color: rgba(0,0,0,0.10);}
.bg-Black-05 {background-color: rgba(0,0,0,0.05);}
.bg-Black-02 {background-color: rgba(0,0,0,0.02);}
.bg-White-75 {background-color: rgba(255,255,255,0.75);}
.bg-White-50 {background-color: rgba(255,255,255,0.50);}
.bg-White-25 {background-color: rgba(255,255,255,0.25);}

/* 文字の濃さ */
.text-black-25 {color: rgba(0, 0, 0, 0.25) !important;}
.text-black-75 {color: rgba(0, 0, 0, 0.75) !important;}
.text-black-100 {color: rgba(0, 0, 0, 1.0) !important;}
.text-white-25 {color: rgba(255, 255, 255, 0.25) !important;}
.text-white-75 {color: rgba(255, 255, 255, 0.75) !important;}

/* マージン･パディング･幅バリエーション
------------------------------------------------------------------------------------------------- */
.mb-6,.my-6 {margin-bottom: 4.5rem !important;}
.mb-7,.my-7 {margin-bottom: 6rem !important;}
.mb-8,.my-8 {margin-bottom: 7.5rem !important;}
.mb-9,.my-9 {margin-bottom: 9rem !important;}
.mb-10,.my-10 {margin-bottom: 10.5rem !important;}

.w-33 {width: 33% !important;}
.w-66 {width: 66% !important;}

.pb-6,.py-6 {padding-bottom: 4.5rem !important;}

/* タブレット以上 */
@media (min-width: 768px) {
	.W-MD-25 {width: 25%!important;}
	.W-MD-33 {width: 33%!important;}
	.W-MD-50 {width: 50%!important;}
	.W-MD-66 {width: 66%!important;}
	.W-MD-75 {width: 75%!important;}
	.W-MD-80 {width: 80%!important;}
	.W-MD-85 {width: 85%!important;}
	.W-MD-90 {width: 90%!important;}
	.W-MD-95 {width: 95%!important;}
	.W-MD-100 {width: 100%!important;}
}


/* 文字の装飾
------------------------------------------------------------------------------------------------- */
/* 見出し */
h1, h2, h3, h4, h5 {
margin: 0;
padding: 0;
font-weight: bold;
}
.Heading-01 {
padding-left: 1.3em;
background-image: url("../img_com/BG-HeadLine-01.svg");
background-repeat: no-repeat;
line-height: 1;
background-size: 1em auto;
overflow-y: visible;
color: var(--MainColor);
}

/* リンクの色 */
a {
color: var(--A-Color);
transition: all  0.3s ease;
} 
a:hover {color: var(--A-Hover-Color);} 

.Hover-Opacity {}
a.Hover-Opacity {
transition: all  0.3s ease;
}
a.Hover-Opacity:hover {
opacity: 0.7;
}

/* 外部リンクにアイコン付与 */
.Link-EX {}

a.Link-EX:after {
content: '';/*何も入れない*/
display: inline-block;/*忘れずに！*/
width: 0.7em;/*画像の幅*/
height: 0.7em;/*画像の高さ*/
margin-left: 0.8rem;
margin-top: -0.3rem;
background-image: url(../img_com/icon-external_link.svg);
background-size: contain;
vertical-align: middle;
background-repeat: no-repeat;
}


.Heading-02 {
text-align: left;
font-weight: normal;
}

.Heading-03 {
border-left: 0.25em solid #24257E;
padding-left: 0.3em;
}

.Heading-04 {
border-left: 0.25em solid #CCC;
padding-left: 0.3em;
}

.p_Lead_01 {
font-size: 1.5rem;
font-weight: bold;
}

/* 文字サイズ */ 
.display-5 {
font-size: 2.5rem;
font-weight: 300;
line-height: 1.2;
}
.display-55 {
font-size: 2rem;
font-weight: 300;
line-height: 1.2;
}
.display-6 {
font-size: 1.5rem;
font-weight: 300;
line-height: 1.2;
}
.display-7 {
font-size: 1.25rem;
font-weight: 300;
line-height: 1.2;
}
.display-75 {
font-size: 1.125rem;
font-weight: 300;
line-height: 1.2;
}
.display-8 {
font-size: 1rem;
font-weight: 300;
line-height: 1.2;
}
.display-9 {
font-size: 0.75rem;
font-weight: 300;
line-height: 1.2;
}
.display-10 {
font-size: 0.5rem;
font-weight: 300;
line-height: 1.2;
}
.display-nest {
font-size: 1rem;
}
b,strong {
font-weight: bold;
}
.small70 {font-size: 70%;}
.small75 {font-size: 75%;}
.small80 {font-size: 80%;}
.small85 {font-size: 85%;}
.small90 {font-size: 90%;}
.small95 {font-size: 95%;}

/*透明度*/
.Opacity01{opacity: 0.1;}
.Opacity02{opacity: 0.2;}
.Opacity03{opacity: 0.3;}
.Opacity04{opacity: 0.4;}
.Opacity05{opacity: 0.5;}
.Opacity06{opacity: 0.6;}
.Opacity07{opacity: 0.7;}
.Opacity08{opacity: 0.8;}
.Opacity09{opacity: 0.9;}
.Opacity10{opacity: 1.0;}


/*改行位置変更*/
/* モバイル（縦）以下 */ 
@media (max-width: 575.98px) {
	.BR-Max-XS-None {display: none}
}
/* タブレット以下 */
@media (max-width: 767.98px) {
	.BR-Max-SM-None {display: none}
}
/* デスクトップ以下 */
@media (max-width: 991.98px) {
	.BR-Max-MD-None {display: none}
}
/* 大画面以下 */
@media (max-width: 1199.98px) {
	.BR-Max-LG-None {display: none}
}


/* モバイル（横）以上（sm以上） */
@media (min-width: 576px) {
	.BR-Min-SM-None {display: none;}
}
/* タブレット以上（md以上） */
@media (min-width: 768px) {
	.BR-Min-MD-None {display: none;}
}
/* デスクトップ以上（lg以上） */
@media (min-width: 992px) {
	.BR-Min-LG-None {display: none;}
}
/* 大画面以上（xl以上） */
@media (min-width: 1200px) {
	.BR-Min-XL-None {display: none;}
}

/* フォントファミリー */
.Font-Selif {
font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

/* リスト
------------------------------------------------------------------------------------------------- */
/* リストにテキストで矢印を付与（標準のグレー：▶） */
.List-Add-TextArrow {
margin: 0;
padding: 0;
list-style: none;
}
.List-Add-TextArrow li {
display: block;
padding-left: 2.5rem;
border-bottom: 0;
}
.List-Add-TextArrow li:before {
content: "▶";
display: inline-block;
transform: scale(0.4, 0.7);
margin-left: -1rem;
padding-left: 1rem;
color: #C0C0C0;
position: relative;
top: 0.1rem;
left: -0.85rem;
width: 1rem;
height: 1rem;
}

/* （└赤の▶） */
.Arrow-Red {}
.List-Add-TextArrow.Arrow-Red li:before {color: red;}
/* （└黒の▶） */
.Arrow-Black {}
.List-Add-TextArrow.Arrow-Black li:before {color: black;}

/* リスト（List-Add-TextArrow）のアイテムをブロック化 */
.List-ItemBlock {}
.List-Add-TextArrow.List-ItemBlock li {
display: block;
margin: 0;
width: 100%;
padding: 0.75rem 0 0.75rem 2.5rem;
border-bottom: var(--Border);
}
.List-Add-TextArrow.List-ItemBlock li a {
display: block;
color: var(--A-Color);
padding: 0.75rem 0 0.75rem 2.5rem;
margin: -2.25rem 0 -0.75rem -2.5rem;
}
.List-Add-TextArrow.List-ItemBlock li a:hover {
background-color: rgba(0,0,0,0.05);
text-decoration: none;
}
/* border-bottomの色を背景色によって変更 */
#Footer-01 .List-Add-TextArrow.List-ItemBlock li {
border-bottom: 1px solid rgba(255,255,255,0.75);
}
#Footer-02 .List-Add-TextArrow.List-ItemBlock li {
border-bottom: 1px solid rgba(255,255,255,0.25);
}
#Footer-03 .List-Add-TextArrow.List-ItemBlock li {
border-bottom: 1px solid rgba(255,255,255,0.25);
}
#Footer-04 .List-Add-TextArrow.List-ItemBlock li {
border-bottom: 1px solid rgba(255,255,255,0.25);
}

/* hover色を背景色によって変更 */
#Footer-01 .List-Add-TextArrow.List-ItemBlock li a:hover {
background-color: rgba(255,255,255,0.10);
}
#Footer-02 .List-Add-TextArrow.List-ItemBlock li a:hover {
background-color: rgba(255,255,255,0.10);
}
#Footer-03 .List-Add-TextArrow.List-ItemBlock li a:hover {
background-color: rgba(255,255,255,0.10);
}
#Footer-04 .List-Add-TextArrow.List-ItemBlock li a:hover {
background-color: rgba(255,255,255,0.10);
}

/* 「list-group」とセットの時 */
.list-group.List-Add-TextArrow {
margin: 0;
padding: 0;
}
.list-group.List-Add-TextArrow li {
display: block;
margin: 0;
width: 100%;
padding: 0.75rem 0 0.75rem 2.5rem;
}
.list-group.List-Add-TextArrow li a {
display: block;
color: var(--A-Color);
padding: 0.75rem 0 0.75rem 2.5rem;
margin: -2.25rem 0 -0.75rem -2.5rem;
}
.list-group.List-Add-TextArrow li a:hover {
background-color: rgba(0,0,0,0.05);
text-decoration: none;
}

/* 括弧付きリスト（ol） */
.list-Parentheses {
padding: 0;
list-style-type: none;
}
.list-Parentheses li {
padding-left: 2.5rem;
counter-increment: cnt;
}
.list-Parentheses li:before {
content: "（" counter(cnt) "） ";
display: inline-block;
margin-left: -3rem;
width: 3rem;
text-align: right;
}

/*〇付きolリスト*/
.ol_Counter {
padding: 0;
list-style: none;
counter-reset: cnt;
}
.ol_Counter li {
padding-left: 2.5rem;
position: relative;
}
.ol_Counter li:before {
font-size: 0.5rem;
width: 1.1rem;
height: 1.1rem;
line-height: 1rem;
content: counter(cnt);
counter-increment: cnt;
display: inline-block;
float: left;
margin-left: -1.6rem;
text-align: center;
border: 1px solid var(--BodyText);
border-radius: 50%;
}
/*〇付きolリスト（背景を色付き）*/
.BG-Colored {}
.ol_Counter.BG-Colored li:before {
background-color: #222;
border: 1px solid #222;
color: #FFF;
}

/* 境界線
------------------------------------------------------------------------------------------------- */
.TextDivider {
display: none;
}

/* グラデーション境界線 */
.HR-Gradient {
height: 1px;
border: none;
background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.0) 100%);
}

/* タブレット以下 */
@media (max-width: 767.98px) {
	.TextDivider {
	margin: 20px 0 40px;
	display: flex;
	align-items: center;
	}
	.TextDivider img {
	width: 30%;
	}
	.TextDivider::before,
	.TextDivider::after {
	content: '';
	height: 1px;
	background-color: #DEE2E6;
	flex-grow: 1;
	}
	.TextDivider::before {
	margin-right: 1rem;
	}
	.TextDivider::after {
	margin-left: 1rem;
	}
}
/* 画像
------------------------------------------------------------------------------------------------- */
.Img-01 {
padding: 2px;
border: 1px solid #CCC;
}

.Img-Gray {
filter: grayscale(100%);
transition: all 0.3 ease;
}
.Img-Gray:hover {
filter: grayscale(0);
cursor: pointer;
opacity: 0.8;
}

/* Slider-Pro適用時に使用 */
.ScrollingTouch {
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
}

/* 画像を縦横センター */
.ImageCenterBox {
background-color: #EEE;
width: 100%;
height: 280px;
position: relative;
overflow: hidden;
/* [disabled]text-align: center; */ /* Safari以外で必要かも */
border-radius: 4px;
border: 1px solid #CCC;
}

.ImageCenterBox img {
width: auto;
width: 100%;
top: 50%;
left: 50%;
position: absolute;
transform: translate(-50%, -50%);
border-radius: 4px;
}

/* 画像右下に虫眼鏡のアイコン */
.Icon-Magnifier {
content: url("../img_com/icon-Magnifier-2.svg");
position: absolute;
padding: 5px;
border-radius: 4px;
bottom: 5px;
right: 25px;
width: 35px;
height: 35px;
background-color: rgba(0,0,0,0.30);
}

/* 日付
------------------------------------------------------------------------------------------------- */
.info_date {
display: inline-block;
font-size: 0.9rem;
color: #555;
padding: 5px 3px 3px 0;
line-height: 1em;
margin-bottom: 8px;
}

/* カテゴリーラベル
------------------------------------------------------------------------------------------------- */
.job_Label,
.blog_CategoryLabel,
.information_CategoryLabel,
.gallery_CategoryLabel,
.schedule_CategoryLabel,
.livebar_CategoryLabel,
.access_CategoryLabel, 
.contact_CategoryLabel,
.label_headline_new-2 {
display: inline-block;
color: #FFF;
border-radius: 2px;
padding: 5px 5px 3px 5px;
font-size: 0.8rem;
margin-right: 5px;
line-height: 1em;
min-width: 10em;
text-align: center;
}
.job_Label {
background-color: #EDEEFA;
text-align: center;
color: #333;
max-width: 8em;
min-width: 8em;
}
.information_CategoryLabel {
background-color: #A0E5FF;
color: #333;
}
.gallery_CategoryLabel {
background-color: #BDA0FF;
color: #333;
}
.schedule_CategoryLabel {
background-color: #FFA0A0;
color: #333;
}

/* NEWラベル
------------------------------------------------------------------------------------------------- */
.label_headline_new {
display: inline-block;
padding: 5px 2px 3px 2px;
font-size: 0.8rem;
line-height: 1em;
text-align: center;
color: red;
}
.label_headline_new-2 {
background-color: var(--BG-Label-New);
min-width: 5em;
color: #FFF;
}

/* テーブル
------------------------------------------------------------------------------------------------- */
/* テーブル全般 */
table {}
table thead th {}
table th,
table td {}
table th {}
table caption {
caption-side: top;
}
.table th,
.table td {}

/* 標準的なテーブル
--------------------- */
.Table-Common {
width: 100%;
border-right: var(--Border);
border-bottom: var(--Border);
}
.Table-Common thead th {
border-bottom: var(--Border);
}
.Table-Common th {
border-top: var(--Border);
border-left: var(--Border);
background-color: var(--BGColor);
}
.Table-Common td {
	border-top: var(--Border);
	border-left: var(--Border);
	text-indent: 0px;
}

/* caption、th、tdなどをセンタリング */
.Thead-Center thead th {text-align: center;}
.Thead-Right thead th {text-align: right;}

.Thead-TH-Nowrap thead th {white-space: nowrap;}

.Tbody-TH-Center tbody th {text-align: center;}
.Tbody-TD-Center tbody td {text-align: center;}

.Tbody-TH-Right tbody th {text-align: right;}
.Tbody-TD-Right tbody td {text-align: right;}

.Tbody-TD-Nowrap tbody td {white-space: nowrap;}

/* テーブルをレスポンシブ対応
--------------------- */
.Table-Responsive {
}
/* タブレット以下 */
@media (max-width: 767.98px) {
	/* モバイル以下のレスポンシブテーブルでth内のlabelのmarginを0にする */
	tbody th label {
	margin-bottom: 0;
	}
	.Table-Responsive thead th {
	display: none;
	}
	.Table-Responsive,
	.Table-Responsive th,
	.Table-Responsive td {
	border: none;
	}
	.Table-Responsive tbody tr {
	border-bottom: var(--Border);
	}
	.Table-Responsive tbody td {
	padding-bottom: 1.5rem;
	}
	.Table-Responsive tbody th {
	//border-bottom: var(--Border);
	border-radius: 4px 4px 0 0;
	}
	.Table-Responsive tbody th,
	.Table-Responsive tbody td {
	display: block;
	width: 100%!important;
	}
	.Tbody-TD-Border-none tbody tr td {
	padding-right: 0;
	padding-left: 0;
	border: none!important;
	border-top: var(--Border)!important;
	padding-left: 0.5rem;
	}
	.Tbody-TD-Striped tbody tr td:nth-child(odd) {
	background-color: var(--BGColor);
	}

	/* テーブルをレスポンシブ、trで角丸ブロック化
	--------------------- */
	.Table-Responsive-Block {
	}
	.Table-Responsive-Block thead th {
	display: none;
	}
	.Table-Responsive-Block,
	.Table-Responsive-Block th,
	.Table-Responsive-Block td {
	border: none;
	}

	.Table-Responsive-Block tbody th {
	display: block;
	width: 100%;
	}
	.Table-Responsive-Block tr,
	.Table-Responsive-Block th,
	.Table-Responsive-Block td {
	display: block;
	}
	.Table-Responsive-Block tbody tr {
/*	margin-bottom: 2rem;*/
	margin-bottom: 0.5rem;
	}
	.Table-Responsive-Block tr th {
	border-top: var(--Border);
	border-right: var(--Border);
	border-left: var(--Border);
	border-radius: 0.25rem 0.25rem 0 0;
	padding: 0.3rem 0.5rem;
	text-align: left;
	}
	.Table-Responsive-Block tr td {
	border-right: var(--Border);
	border-bottom: var(--Border);
	border-left: var(--Border);
	border-radius: 0 0 0.25rem 0.25rem;
	}
	/* 3列以上の時にthをラベルにする
	--------------------- */
	.Table-Responsive-Block.Table-TD-Multi tbody tr td:first-child {
	border-top: var(--Border);
	border-radius: 0.25rem 0.25rem 0 0;
	}
	.Table-Responsive-Block.Table-TD-Multi tbody tr td:last-child {
	border-radius: 0 0 0.25rem 0.25rem;
	}
	.Table-Responsive-Block.Table-TD-Multi tbody td {
	padding-left: 6rem!important;
	border-radius: 0;
	}
	.Table-Responsive-Block.Table-TD-Multi tr td:before {
	content: attr(data-label);
	font-weight: bold;
	position: absolute;
	margin-left: -5.25rem;
	color: #000;
	}

	/* Scroll-Hint（スマホでtableを横スクロール）
	--------------------- */
	.Table-Scroll-Hint {}
	.Table-Scroll-Hint thead tr th:first-child,
	.Table-Scroll-Hint tbody tr th:first-child
	{
	position: sticky;
	position: -webkit-sticky;
	left: 0;
	z-index: 100;
	}
	.Table-Scroll-Hint th {
	white-space: nowrap;
	}
	.Table-Scroll-Hint thead tr th:first-child,
	.Table-Scroll-Hint tbody tr th:first-child,
	.Table-Scroll-Hint tbody tr td {
	width: 100px!important;
	white-space: nowrap!important;
	}
}

/* 派遣社員募集ページのテーブルの中のpタグのmargin、paddingをクリア
--------------------- */
.TableRecruit {}
.TableRecruit tbody td p {
margin: 0!important;
padding: 0!important;
}

/* テーブルのcaptionバリエーション
--------------------- */
table caption.Caption-01 {
line-height: 1.1;
padding: 15px 8px;
margin: 1px 0 10px;
font-size: 120%;
color: #FFF;
text-align: left;
background-color: #3A4986;
font-weight: normal;
text-shadow: 0 1px 2px #000;
border-bottom: 1px solid #FFF;
-webkit-box-shadow: 0 15px 10px -7px rgba(195,195,195,1.00);
box-shadow: 0 15px 10px -7px rgba(195,195,195,1.00);
}
table caption.Caption-02 {
border-left: 5px solid #CCC;
margin-bottom: 0.5rem;
padding: 0.5rem;
font-weight: bold;
}
