@charset "utf-8";

/* ----------------------------------- */
/* グリーンサービス様サイト用メインCSS */
/* ----------------------------------- */
/* Modified : 2024/09/09 10:40 */

/* ―――――――― */
/* ■カスタム変数群 */
/* ―――――――― */
:root {
	--content-max-width: 1200px;			/* 最大横幅 */
	--middle-content-max-width: 900px;		/* 中間コンテンツ幅 */
	--standard-content-max-width: 750px;	/* 標準コンテンツ幅 */

	--news-cover-content-max-width:	1100px;	/* ニュース区画の最大幅 */
	--news-item-box-max-width: 230px;		/* ニュースBOX1つの最大幅 */

	/* ▼フォント */
	--standard-fonts: "M PLUS 1p", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--english-font: "Lato";
	--marugothic-font: "Zen Maru Gothic", serif;

	/* ▼配色 */
	--base-green: #009844;		/* 標準緑 */
	--green-gradation: linear-gradient(to right, #026431, #00be92);	/* 緑横グラデーション */
	--green-list-head-color: #50b070;
	--page-back-color: white;

	--drawer-back-color: rgba(0,152,68,0.8);		/* 半透明緑 */
	--global-menubar-color: rgba(255,255,255,0.5);	/* 半透明白 */

	--light-gray-back-color: #e9e9e9;
	--light-gray-border-color: #ddd;

	--shadowbox-border-color: #eee;
	--shadowbox-back-color: #fff;
	--shadowbox-shadows: 5px 5px 5px #999;

	--base-text-color: black;
	--button-text-color: #333;

	--button-float-tel-back-color: #026431;
	--button-float-recruit-back-color: #52a56f;
	--button-float-entry-back-color: #94c085;

	scroll-behavior: smooth;
}



/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	▼ライブラリCSSの上書き・追加用CSS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
/* Contents:
	▽parts.css 上書き
	▽layout.css 上書き
*/

/* ================== */
/* ▽parts.css 上書き */
/* ================== */
#splash {
	background:var(--base-green);		/* 元ピンクは #e2a2b1 */
	letter-spacing: 0.2em;
}
/*右に消えるエリア*/
body.appear .splashbg1{
    background-color:var(--base-green);
}
/*左に消えるエリア*/
body.appear .splashbg2{
    background-color:var(--base-green);
}

#g-nav{
	background: var(--drawer-back-color);
}

#header-img{
	background-image: url("/images/MV.jpg");
}

.slick-dots .slick-active button{
    background:var(--base-green);	/*ドットボタンの現在地表示の色*/
}

/* ボタン共通設定 */
.btn04 {
    padding:10px 30px;
	color:var(--button-text-color);
	border:1px solid var(--base-green);
}

/*線の設定*/
.bordertop span::before,
.bordertop span::after {
    background: var(--base-green);
}

/*背景の設定*/
.bordertop::before{
	background:var(--base-green);
}

#container,
#footer{
    background: var(--page-back-color);
}

/* ――――――― */
/* ★モバイル調整 */
/* ――――――― */
@media all and (max-width: 740px) {

}


/* =================== */
/* ▽layout.css 上書き */
/* =================== */
body{
    background:var(--base-green);		/* 元ピンクは #e2a2b1 */
	font-family: var(--standard-fonts);
	font-weight: 400;
	font-style: normal;
	color: var(--base-text-color);

	line-height:1.5;
    letter-spacing: 0;
}

h1.afterSplashCompanyName,
.deepPage h1 {
	font-family: var(--standard-fonts);
}

.header-area{
    top:60%;
    left:0;
    right:0;
    transform: unset;
    color: var(--base-green);
}

	/* 半透明ボックス */
	.headerBackBox {
		max-width: 65vw;
		margin: auto;
		padding: 1rem 0;
		background-color: rgba(255, 255, 255, 0);
	    animation: backgroundChange 6s forwards;
	}
	@keyframes backgroundChange {
		0% { background-color: rgba(255, 255, 255, 0); }
		65% { background-color: rgba(255, 255, 255, 0); }
		to { background-color: rgba(255, 255, 255, 0.75); }
	}
	@media all and (max-width: 740px) {
		.headerBackBox {
			max-width: 95%;
		}
	}

.header-area p{
    font-size: 1.75vw;
}

.header-area h1{
    font-size: 4vw;
}

.inner{
	padding: 0;
}

#footer{
	border-top: 0 none;
	display: block;
}

#footer ul li{
    display: block;
    padding: 0;
    font-size: 1rem;
    line-height: 1.2;
}

/* ――――――― */
/* ★モバイル調整 */
/* ――――――― */
@media all and (max-width: 740px) {

	.header-area p{
	    font-size: 1rem;
	}
	.header-area h1{
	    font-size: 36px;	/* やや大きく：元=2rem */
	}

}
@media all and (max-width: 350px) {
	.header-area h1{
	    font-size: 32px;
	}
}

/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	▼固有スタイル
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */

/* ――――――――――― */
/* ■全環境用のベースCSS  */
/* ――――――――――― */

	/* Placeholder Stripe */
	.placeholderStripe {
		background-color : #FFF;
		background-image:
		repeating-linear-gradient( 60deg,
			rgba(194, 220, 204, 1) 0px 1px,
			rgba(250, 250, 250, .5) 1px 21px,
			rgba(194, 220, 204, .5) 21px 61px,
			rgba(250, 250, 250, .5) 61px 81px
		),
		repeating-linear-gradient( -60deg,
			rgba(194, 220, 204, 1) 0px 1px,
			rgba(250, 250, 250, .5) 1px 21px,
			rgba(194, 220, 204, .5) 21px 61px,
			rgba(250, 250, 250, .5) 61px 81px
		);
	}

	/* -------------- */
	/* 共通レイアウト */
	/* -------------- */
	h2,h3,h4,th {
		font-weight: 500;
	}

	/* ▽消極的な改行制御区間 */
	i {
		font-style: normal;
		display: inline-block;
	}

	/* ▽モバイルだけの改行調整 */
	br.sp-only {
		display: block;
		margin: 0.5em 0;
	}

	/* ▽画面幅に応じて自動縮小する画像 */
	.autoResize {
		max-width: 100%;
		height: auto;
	}

	/* 画像ズーム */
	.zoomIn img{
		transform: scale(1);
		transition: .3s ease-in-out;	/* ズームアニメーション */
	}
	.zoomIn:hover img{
		transform: scale(1.2);	/* ズームする率 */
	}

	/* Standard Layout  */
	.stdLayout {
		max-width: var(--standard-content-max-width);
		margin-left: auto;
		margin-right: auto;
	}

	/* 緑グラデーションBOX */
	.greenGradationBox {
		background: var(--green-gradation);
		color: white;
	}

	/* 緑帯 */
	.greenLine {
		background-color: var(--base-green);
		color: white;
	}

	/* 緑黄緑下線 */
	.greenlineTitle {
		background-image: url("/images/greenUnderLine.gif");
		background-repeat: no-repeat;
		background-position: left bottom;
		padding-bottom: 12px;
	}

	/* 緑吹き出し */
	.greenFukidashi {
		position: relative;
		margin: 1.5em 0;
		padding: 7px 10px;
		min-width: 120px;
		max-width: 100%;
		color: white;
		background: var(--base-green);
		border-radius: 15px;
	}
	.greenFukidashi:before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 15px solid var(--base-green);
	}

	/* 吹き出し見出し */
	.fukidashiTitle {
		padding: 0.5em;
		font-size: 1.75em;
		width: 100%;
		text-align: center;
		line-height: 1.34;
	}
		.fukidashiTitle small {
			display: block;
			margin: auto;
		}

	.beforeFukidashiTitle {
		text-align: center;
		font-size: 1.25rem;
		color: var(--base-green);
		margin: 0;
	}
	.beforeFukidashiTitle + .fukidashiTitle {
		margin-top: 0;
	}

	/* 汎用見出し */
	.stdTitle {
		text-align: center;
		color: var(--base-green);
		font-weight: 500;
		font-size: 2.1rem;

		/* 英数字は Lato フォントを優先適用 */
		font-family: var(--english-font), var(--standard-fonts);
		/* font-weight: 900; */
		font-style: normal;
	}

	/* 英語見出しの調整 */
	.enTitle {
		letter-spacing: 0.125em;
		font-size: 2.4rem;
	}

		/* サブタイトル */
		.stdSubTitle {
			text-align: center;
			color: var(--base-green);
			font-weight: 500;
			font-size: 1.5rem;
		}

		/* 連続タイトルの場合 */
		.stdTitle + .stdSubTitle {
			margin-top: 1em;
		}

	/* ボタンライン */
	.buttonLine {
		margin: 2rem 0 3rem;
		text-align: center;
	}

	/* 標準ボタン */
	.stdBtn {
		min-width: 220px;
		min-height: 52px;
		line-height: 52px;
		padding: 0 !important;
		margin: 0;
	}

	/* アニメーション関連上書き */
	.slideIn {
		display:block;
	/*	width:100%;	*/
		margin:0;
		padding:0;
	}

	/* パンくずリスト */
	.pankuzuLine {
		margin: 0;
		padding: 2.5em;
		font-size: 0.8em;
	}

	/* ページタイトル */
	.pageTitle {
		text-align: center;
		color: var(--base-green);
	}
		.main {
			font-size: 1.25em;
		}
		.sub {
			font-size: 1rem;
		}

	/* テーブル調整 */
	.nsaTable u {
		text-decoration: none;
		display: inline-block;
	}

	/* -------------- */
	/* 各所レイアウト */
	/* -------------- */

	/* 上端タイトルバー：HOMEでは表示しない */
	.pageHome .globalSignBar {
		display: none;
	}

	/* 上端タイトルバー */
	.globalSignBar {
		max-height: 70px;
		height: 70px;
		margin: 0;
		padding: 10px;
		background-color: var(--global-menubar-color);
	}
		.globalSignImage {
			width: auto;
			height: auto;
			max-width: 100%;
			max-height: 100%;
		}

	.deepPage {
		background-color: white;
	}

	/* HOME：上端ガイドエリア */
	.headGuideArea {
		margin: 4em auto 2em;
	}
		.headGuideTitle {
		}
		.headGuideMsg {
			color: black;
			font-size: 1.1em;
			margin: 2em;
		}

	/* HOME：求人てがろぐ合成エリア */
	.jobofferArea {
		margin: 8em auto 4em;
	}
		.jobofferTitle { }
		.jobofferGuide {
			margin: 3rem 1rem 0;
			text-align: justify;
		}

		.jobofferTegalogBox {
			background-color: var(--light-gray-back-color);
			padding: 1.5em 4em;
			margin: 2em 0 1em;
			height: 16em;
			overflow: auto;
		}

	/* HOME：5つの約束 */
	.promiseArea {
		margin-bottom: 5em;
	}
		.promiseTitle { }
		.promiseCoverBox {
			max-width: var(--content-max-width);
			margin: auto;
		}
			.promiseList {
				margin: 0;
				padding: 0 1em;
				text-align: center;
			}
				.promiseItem {
					display: inline-block;
					max-width: 230px;
					vertical-align: top;
					margin: 3em 60px;
				}
					.promiseItem figure {
						margin: 0;
						padding: 0;
						text-align: left;
					}
					.promiseItem img {
						border: 2px solid var(--base-green);
						border-radius: 50%;
						max-width: 220px;
					}
					.promiseItem figcaption {
						margin-top: 2em;
						display: block;
					}

	/* ―――――――――――― */
	/* ▼求人区画(てがろぐ合成) */
	/* ―――――――――――― */
	.offerArea {
	}
		.offerTegalogBox {
			margin: 5em auto;
			padding-left: 1.5rem;
		}

			.offerTegalogBox .jobofferList li + li {
				margin-top: 3em;
			}

			/* ………………………………………… */
			/* ▼求人リスト （HOME・OFFER兼用） */
			/* ………………………………………… */
			.jobofferListSituation {
				margin: 1em 0;
			}
			.jobofferList {
				list-style-type: '■';
				color: var(--green-list-head-color);
			}
				.jobofferList li + li {
					margin-top: 1em;
				}
				.jobofferList li h3,
				.jobofferList li div {
					color: black;
					font-size: 1rem;
					font-weight: normal;
				}
				.jobofferList li h3 { margin-left: 1em; }
				.jobofferList li div { margin-left: 2em; }

				/* ログイン中でだけ見えるBOX */
				.jobofferList li div.offerDataBox {
					float: right;
					background-color: green;
					margin: 0;
					padding: 1px 0.5em 5px;
					border-radius: 0.5em;
				}
					.jobofferList li div.offerPostInfo {
						margin: 0;
						padding:3px 0;
						color: white;
						font-size: 0.75rem;
						line-height: 1;
					}
						.offerPostDate::before {
							content: ' / ';
						}
					.jobofferList li div.offerPostCtrl {
						margin: 0;
						padding: 0.175em 0;
						background-color: white;
						text-align: center;
						line-height: 1;
						font-size: 0.9rem;
					}
						.jobofferList li div.offerPostCtrl a:hover {
							color: green;
							font-weight: bold;
						}

			/* 求人がない場合 */
			.jobofferList .nodata {
				color: black;
			}

	/* ―――――――――――――――――――――――― */
	/* ▼グリーンサービスニュース区画（HOME・NEWS兼用） */
	/* ―――――――――――――――――――――――― */
	.newsArea {
		margin-bottom: 10em;
	}
		/* …………………………………… */
		/* ▽ニュース掲載区画の共通外枠 */
		/* …………………………………… */
		.newsTegalogBox {
			max-width: var(--news-cover-content-max-width);
			margin: 3em auto 0;
		}
			/* -------------- */
			/* 一覧表示の場合 */
			/* -------------- */
			.newsList {
				margin: 0;
				padding: 0 1em;
				text-align: center;
				display: flex;
				flex-wrap: wrap;
				align-items: start;
				justify-content: space-evenly;
				flex-direction: row;
				gap: 3rem 0;	/* 左右方向には均等配置系の記述を採用しているので横方向のギャップは指定しない */
			}
			.pageHome .newsList {
				flex-direction: row-reverse;
				justify-content: space-between;
			}

				.newsItem {
					max-width: var(--news-item-box-max-width);
					border-width: 1px 0 0 1px;
					border-style: solid;
					border-color: var(--shadowbox-border-color);
					background-color: var(--shadowbox-back-color);
					box-shadow: var(--shadowbox-shadows);
					position: relative;
				}
				.pageHome .newsItem:nth-child(2) {	top: 40px;		}
				.pageHome .newsItem:nth-child(3) {	top: 80px;		}
				.pageHome .newsItem:nth-child(4) {	top: 120px;		}
					.newsItem figure {
						margin: 0;
						padding: 0;
						text-align: left;
					}
					.newsItem img {
					}
					.newsItem figcaption {
						font-size: 0.95em;
						margin: 0;
						padding: 1em 1em 0.34em 1em;
					}
				.newsDate {
					color: var(--base-green);
					text-align: right;
					margin: 0;
					font-size: 0.95em;
					padding: 0.34em 1em 1em 1em;
				}

			.newsLink {
				margin-top: 80px;
				font-size: 1.5em;
				text-align: right;
			}

			/* -------------- */
			/* 個別表示の場合 */
			/* -------------- */
			.oneNewsArea {
				max-width: var(--standard-content-max-width);
				margin: auto;
			}
				.oneNewsDate {
					text-align: right;
					color: var(--base-green);
				}
				.oneNewsTitle {
					text-align: center;
				}
				.oneNewsImage {
					max-width: 420px;	/* Image:350px + GreenBanner 70px */
					margin: 3rem auto;
				}
					.oneNewsImage .imagelink {
						position: relative;
						display: block;
						margin: auto;
						padding-top: 40px;
						max-width: 350px;
					}
					.oneNewsImage .imagelink::before {
						content: '';
						display: block;
						background-color: var(--base-green);
						width: 70px;
						height: 140px;
						position: absolute;
						top: 0;
						left: -35px;
						z-index: 1;
					}
						.oneNewsImage .embeddedimage {
							display: block;
							margin: auto;
							max-width: 350px;
							height: auto;
							position: relative;
							z-index: 2;
						}
				.oneNewsBody {
					text-align: justify;
				}

	/* ―――――――――――――――――――― */
	/* ▽てがろぐ生成領域共通：ページ移動リンク */
	/* ―――――――――――――――――――― */
	.pagelinks {
		max-width: var(--news-cover-content-max-width);
		margin: 5em auto 1rem;
	}
	body.onelog .pagelinks {
		max-width: var(--standard-content-max-width);
	}
		/* 前後リンクBOX */
		.prevnext {
			display: flex;
			justify-content: space-between;
		}
			.prevnext a {
				color: var(--base-green);
				font-family: var(--english-font);
				flex: 1;
			}
			.prevlink { text-align: left; }
			.nextlink { text-align: right; }
				.prevlink .arrow::before,
				.nextlink .arrow::after {
					content: '';
					display: inline-block;
					background-image: url("/images/ico_arrow.svg");
					width: 1rem;
					height: 1rem;
					vertical-align: -2px;
				}
				.prevlink .arrow::before {
					transform: scaleX(-1);
					margin-right: 0.1rem;
				}
				.nextlink .arrow::after {
					margin-left: 0.1rem;
				}

		/* 最初に戻るリンクBOX */
		.backtotop {
			text-align: center;
		}
			.backtotop a {
				color: var(--base-green);
			}


	/* BRANCH：都道府県 */
	.prefectureNameBox {
		margin: 4em 0 0;
	}

	/* ――――――― */
	/* ▼会社概要区画 */
	/* ――――――― */
	.companyProfileArea {
		max-width: var(--content-max-width);
		margin: auto;
		padding: 0;
	}
		.companyProfileCover {
			margin: 1em 0;
			padding: 0 1em;
		}

			.companyProfileTable {
				border-collapse: collapse;
			}
				.companyProfileTable tr {
					border-bottom: 1px solid var(--light-gray-border-color);
				}
				.companyProfileTable th {
					text-align: left;
					vertical-align: top;
					white-space: nowrap;
					width: 15%;
				}
				.companyProfileTable th,
				.companyProfileTable td {
					padding: 1em 0;
				}

			.yakuinTable {
				border-collapse: collapse;
			}
				.yakuinTable tr {
					border-bottom: none;
				}
				.yakuinTable th,
				.yakuinTable td {
					padding: 0;
				}
				.yakuinTable th {
					font-weight: normal;
					text-align: justify;
					text-align-last: justify;
					white-space: nowrap;
					padding-right: 1.5rem;
				}

			.bankName {
				display: inline-block;
				min-width: 6.25em;
			}

	/* ―――――――― */
	/* ▼ごあいさつ区画 */
	/* ―――――――― */
	.greetingArea {
		max-width: var(--content-max-width);
		margin: 5em auto 0;
		padding: 0;
	}
		.greetingCover {
			display: flex;
			gap: 4em;
			align-items: start;
			padding: 2em 1em 0 1em;
		}

			.greetingBox {
			}
				.greetingBox p {
					margin-bottom: 1em;
					font-family: var(--marugothic-font);
					line-height: 1.75;
					text-align: justify;
				}
				p.signature {
					text-align: right;
					margin: 1em 0;
				}

			.presidentPhotoBox {
				flex-basis: 400px;
				flex-shrink: 0;
			}
				.presidentPhotoFig {
				}
				.presidentPhotoFig figcaption {
					text-align: center;
				}

	/* ――――――― */
	/* ▼採用情報区画 */
	/* ――――――― */
	.pageHeadArea { }
		.pageHeadNavi {
			margin: 5em 0 0 0;
		}

			.locallink { }
				.naviInPage {
					list-style-type: none;
					margin: 0 0 4em 0;
					padding: 0;
					display: flex;
					align-items:center;
					justify-content:center;
				}
					.naviInPage li {
						display: inline-block;
						margin-right: 1em;
					}
					.naviInPage li:not(:last-child)::after {
						content: '|';
						display: inline-block;
						margin-left: 1em;
					}
					.naviInPage li:last-child { margin-right: 0; }

			.recruitGuide {
				text-align: center;
			}

	/* ――――――― */
	/* ▼募集職種区画 */
	/* ――――――― */
	.jobTypesArea {
		margin: 6em 0 0 0;
	}
		.jobTypesCover {
		}

			.jobTypesList {
				margin: 3em 0 0;
			}
				.oneJob {
					margin-bottom: 2.5em;
				}
					.jobName {
						font-size: 1.75em;
						/* font-family: var(--marugothic-font); */
						line-height: 1.2;
						width: fit-content;
					}
					.jobGuide {
						display: flex;
						width: 100%;
					}
						.jobGuide :first-child {
							flex: 1;
						}
						.jobGuide p {
							line-height: 1.25;
							padding: 1em;
						}
						.jobBtn {
							flex-basis: 50px;
							flex-shrink: 0;
							flex-grow: 0;
							text-align: center;
							font-size: 0.9em;
							line-height: 1.2;
						}
/*						.jobBtn:hover {
							transform: rotateY(360deg);
							transition: transform 0.67s;
						}
*/
	/* ―――――――― */
	/* ▼お仕事内容区画 */
	/* ―――――――― */
	.jobDetailArea {
		margin: 6em 0 0 0;
	}
		.jobDetailCover {
			max-width: var(--middle-content-max-width);
			margin: auto;
		}

			.jobDetailList {
				list-style-type: none;
				margin: 4.5em 0 0 0;
				display: flex;
				flex-wrap: wrap;
				align-items:start;
				justify-content:center;
				gap: 75px 200px;
			}
				.jobLinkBox {
					flex-basis: 350px;
					position: relative;
				}
					.jobLinkLabel {
						position: absolute;
						display: block;
						top: 7px;
						right: 0;
						background-color: var(--base-green);
						color: white;
						text-align: center;
						padding: 0.25em;
						width: 8.5em;
						line-height: 1;
						font-size: 1.1em;
						font-weight: 500;
						opacity: 1;
						transition: opacity 0.3s ease-in-out 0s;
					}
					.jobLinkLabel:hover {
						opacity: 0.75;
					}

	/* ――――――― */
	/* ▼社員の声区画 */
	/* ――――――― */
	.voiceArea {
		margin: 6em 0 0 0;
	}
		.voiceCover {
			max-width: var(--middle-content-max-width);
			margin: auto;
		}

			.voiceList {
				list-style-type: none;
				margin: 4.5em 0 0 0;
				display: flex;
				flex-wrap: wrap;
				align-items:start;
				justify-content:center;
				gap: 4em;
			}
				.oneVoiceBox {
					flex: 1;
					min-width: 240px;
					max-width: 340px;
				}
					.voiceFukidashi {
						position: relative;
						display: inline-block;
						margin: 1.5em 0;
						padding: 7px 10px;
						min-width: 120px;
						max-width: 100%;
						background: #FFF;
						border: solid 3px var(--base-green);
						box-sizing: border-box;

						font-family: "Yusei Magic", sans-serif;
						font-weight: 400;
						font-style: normal;
						text-align: justify;
					}

					.voiceFukidashi::before {
						content: "";
						position: absolute;
						bottom: -24px;
						left: 50%;
						margin-left: -15px;
						border: 12px solid transparent;
						border-top: 12px solid #FFF;
						z-index: 2;
					}

					.voiceFukidashi::after {
						content: "";
						position: absolute;
						bottom: -30px;
						left: 50%;
						margin-left: -17px;
						border: 14px solid transparent;
						border-top: 14px solid var(--base-green);
						z-index: 1;
					}

						.voiceBox {
							margin: 0;
							line-height: 1.4;
							max-height: 21em;
							overflow: auto;
						}

					.voicePerson {
						text-align: center;
					}
						.voicePerson img {
							max-width: 100px;
							height: auto;
						}
					.voiceTitle {
						text-align: center;
					}

	/* ―――――――――――――― */
	/* ▼安全への取り組みページ共通 */
	/* ―――――――――――――― */
	.pageSafety .greenFukidashi {
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	/* ――――――― */
	/* ▼Ｇマーク区画 */
	/* ――――――― */
	.safetyMarksArea {
		margin: 4em 0 0 0;
	}
		.safetyMarksCover { }

			.safetyMarkList {
				list-style-type: none;
				margin: 2em auto;
				padding: 0;
				display: flex;
				flex-direction: column;
				gap: 3rem;
				align-items:start;
				justify-content:center;
			}
				.oneSafetyMark {
					flex: 1;
				}
					.safetyMarkBox {
						min-height: 251px;
						text-align: center;
					}
						.safetyMarkBox img {
							max-width: 225px;
							height: auto;
						}
					.safetyMarkGuide {
						margin: 1em 0 0 0;
						text-align: justify;
					}

					/* 認定営業所リスト */
					.qualifiedBranchList {
						list-style-type: none;
						margin: 2em auto;
						display: flex;
						flex-wrap: wrap;
						gap: 0.5rem 1rem;
						align-items:center;
						justify-content:center;
					}
						.qualifiedBranchList {
							text-align: center;
						}
							.qualifiedBranchList .stdBtn {
								min-width: 10rem;
								min-height: 46px;
								line-height: 46px;
								color: var(--base-green);
							}
							.qualifiedBranchList .stdBtn:hover {
								color: white;
							}

	/* ――――――― */
	/* ▼教育方針区画 */
	/* ――――――― */
	.eduPolicyArea {
		margin: 6em 0 0 0;
	}
		.eduPolicyCover { }

			.eduPolicyList {
				margin: 3em 0 0;
			}
				.oneEdu {
					margin-bottom: 2.5em;
				}
					.eduName {
						font-size: 1.5em;
						line-height: 1.2;
						width: fit-content;
						border-left: 3px solid var(--base-green);
						padding-left: 0.5em;
					}
					.eduGuide { }
						.eduGuide p {
							line-height: 1.25;
							padding: 1em;
						}

	/* ―――――――― */
	/* ▼研修・講習区画 */
	/* ―――――――― */
	.eduCourseArea {
		margin: 6em 0 0 0;
	}

		.eduCourseCover {
			margin-top: 6em;
		}

			.eduCourseList {
				list-style-type: none;
				margin: 2em auto;
				padding: 0;
				display: flex;
				gap: 3rem;
				align-items:start;
				justify-content:center;
				flex-wrap: wrap;
			}
				.oneCourseBox {
					flex: 1;
				}
				.doubleColumnList .oneCourseBox {
					min-width: 300px;
				}
					.oneCoursePhotoBox {
						min-height: 251px;
						text-align: center;
					}
						.oneCoursePhotoBox img {
							max-width: 300px;
							height: auto;
							border-radius: 50%;
						}
						.oneCoursePhotoBox img.square {
							border-radius: 0;
						}
					.oneCourseGuide {
						margin: 1em 0 1em 0;
						text-align: center;
					}

			.eduList li {
				list-style-type: '｜';
				color: var(--base-green);
				padding-left: 0.5em;
			}
				.eduList li span {
					color: black;
				}

			.eduCourseWordNote {
				font-size: 0.8em;
				text-align: right;
			}

			.courseSubTitle {
				margin: 2.5em 0 0.75em -1em;
				font-size: 1.67rem;
				font-weight: normal;
			}
			.courseSubTitle::before {
				content: '｜';
				color: var(--base-green);
			}

	/* ――――――― */
	/* ▼健康経営区画 */
	/* ――――――― */
	.healthPolicyArea {
		margin: 6em 0 0 0;
	}
		.healthPolicyArea .voiceFukidashi {
			padding: 2rem 10px 3rem;
			text-align: center;
		}

		.healthPolicyImageBox {
			max-width: 500px;
			margin: auto;
		}

	/* ――――――― */
	/* ▼ポリシー区画 */
	/* ――――――― */
	.privacypolicyArea {
		margin: 6em 0 0 0;
	}
		.privacypolicyCover {
			padding: 0 1em;
			max-width: 870px;
			margin: auto;
		}

			.articleTitle {
				color: var(--base-green);
				font-size: 1.15rem;
				margin: 3em 0 2em;
			}

			.privacypolicyCover p,
			.privacypolicyCover li {
				text-align: justify;
				font-size: 0.95em;
			}

			.privacypolicyCover .lastArticle {
				margin-top: 5em;
			}

			.addressBoxCover {
				text-align: right;
				margin-top: 3em;
			}
				.addressBox {
					width: fit-content;
					display: inline-block;
				}
					.addressBox .zip {
						text-align: left;
						font-size: 0.8em;
					}
					.addressBox .address {
						text-align: right;
					}
					.addressBox .name {
						margin-top: 1em;
						text-align: right;
					}

	/* ―――――――― */
	/* ▼営業所一覧区画 */
	/* ―――――――― */
	.branchListArea { }
		.branchList {
			display: flex;
			flex-wrap: wrap;
			gap: 1em 150px;
		}
			.oneBranchBox {
				flex-shrink: 0;
				flex-grow: 0;
				flex-basis: 300px;
				border-bottom: 1px solid var(--light-gray-border-color);
				margin-top: 2em;
			}
				.branchName {
					margin-bottom: 1em;
				}
					.branchName a {
						display: block;
						color:var(--base-green);
						background-image: url("/images/ico_angle.svg");
						background-repeat: no-repeat;
						background-position: right center;
						background-size: 1rem;
						font-size: 1.4rem;
					}
				.branchAddress { }
					.branchZip { font-size: 0.8em; }
					.branchAdd {
						font-size: 0.95em;
						min-height: 2.8em;
						line-height: 1.4;
					}

	/* ―――――――― */
	/* ▼営業所情報区画 */
	/* ―――――――― */
	.branchInfoArea { }
		.branchHeadAddress {
			width: fit-content;
			margin: 3em auto 1em;
		}
			.zip {
				font-size: 0.9em;
			}
			.zip::before {
				content: '〒';
			}
			.address {
				margin: 0 0 1em 0;
			}
			.fax { }

		.telTextLink {
			color: var(--base-green);
		}
			.phoneIcon {
				width: 1em;
				height: auto;
				vertical-align: -2px;
				margin-right: 0.5em;
			}

		.branchGuideBox {
			max-width: 1000px;
			margin: 3em auto;
			padding: 0 1em;
			text-align: justify;
		}
			.branchGuideBox p:empty {
				margin-bottom: 1rem;
			}
		.branchPhotoBox { }

	/* ――――――― */
	/* ▼仕事種別概要 */
	/* ――――――― */
	.jobGuideBox {
		margin: 3em auto 0;
		max-width: var(--standard-content-max-width);
		padding: 0 0.5em;
	}
		.jobGuideTitle {
			font-size: 2em;
		}
		.jobGuideExp {
			padding: 1em 1em 0 1em;
			text-align: justify;
		}

		.jobGuideBox .jobLinkBox {
			max-width: 500px;
			margin: 2.5em auto 0;
		}
			.jobGuideBox .jobLinkBanner { }
			.jobGuideBox .jobLinkLabel {
				font-size: 1.67em;
			}

	/* ――――――――― */
	/* ▼応募要項テーブル */
	/* ――――――――― */
	.jobDetailTableBox { }
		.jobDetailTableCaption {
			background-color: var(--base-green);
			color: white;
			width: fit-content;
			padding: 0.3em 1.25em;
			line-height: 1;
		}
		.jobDetailTable {
			margin: 1em 0;
			border-collapse: collapse;
		}
		.jobDetailTable th {
			white-space: nowrap;
			text-align: left;
			color: var(--base-green);
			padding-right: 0.75em;
			vertical-align: top;
		}
		.jobDetailTable th::before {
			content: '■';
			color: var(--base-green);
			font-size: 0.9em;
			vertical-align: 1px;
		}
		.jobDetailTable th,
		.jobDetailTable td {
			padding-top: 0.75em;
			padding-bottom: 0.75em;
		}
		.jobDetailTable td {
			padding-left: 0.25em;
			padding-right: 0.25em;
			border-bottom: 1px dashed gray;
		}

	/* ――――――――― */
	/* ▼お仕事の流れ区画 */
	/* ――――――――― */
	.jobFlowArea {
		margin-top: 6rem;
	}
		.jobFlowCover { }
			.jobFlowList {
				display: flex;
				flex-wrap: wrap;
				align-items: stretch;
				justify-content: center;
				gap: 2em;
				margin: 3em auto;
				max-width: var(--content-max-width);
			}
				.oneJobFlow {
					max-width: 310px;
					min-width: 300px;
					border: 1px solid var(--light-gray-border-color);
					padding: 1.5em;
					box-shadow: 3px 3px 3px gray;
					flex: 1;
				}
					.jobFlowStepTitle {
						border-left: 7px solid var(--base-green);
						padding: 0.4em 0.3em;
						font-size: 1.5em;
						line-height: 1;
						text-align: justify;
					}
					.jobFlowStepText {
						margin: 1em 0;
						text-align: justify;
						min-height: 4.5em;
					}
					.jobFlowStepImage { }

	/* ……………………… */
	/* ▼お問い合わせ領域 */
	/* ……………………… */
	.contactArea {
		margin: 1rem 0;
	}
		.contactBody { }
			.contactform {
				max-width: var(--standard-content-max-width);
				margin: 3rem auto 0;
				padding: 1rem;
			}

				/* ▼PHP生成領域 */
				#messageform {
					color: var(--base-green);
				}
					/* 入力エラー報告枠 */
					.inputerrors { }

					/* 必須アイコン */
					.required-sign img {
						vertical-align: -3px;
						margin-left: 0.5rem;
						margin-right: 3px;
					}

					/* 入力テーブル */
					.contacttable { }
						/* 冒頭ガイド */
						.requireGuide {
							margin: 0 0 3rem 0;
						}

						/* 見出し段・入力段共通 */
						.itemLabel,
						.inputColumn {
							padding: 0 0 1rem 0;
						}

						/* 見出し段 */
						.itemLabel {
							white-space: nowrap;
							text-align: left;
						}
							.itemLabel label {
								display: inline-block;
							}

						/* 見出し段の上端配置 */
						.itemLabel.placeTop {
							vertical-align: top;
						}

						/* 入力段 */
						.inputColumn {
							vertical-align: top;
						}

							/* 入力欄の多段組 */
							.inputSetBox {
								display: flex;
								line-height: 1;
								gap: 1rem;
							}
								.inputSetOne {
								}
									.inputSetOne u {
										text-decoration: none;
										font-size: 0.8rem;
										display: inline-block;
									}

							/* テキスト入力欄共通 */
							#messageform input[type="text"],
							#messageform input[type="tel"],
							#messageform input[type="email"],
							#messageform textarea {
								border: 2px solid black;
								font-size: 16px;
								padding: 0.25em;
								width: 100%;
								color: black;
							}

								.freetext { }
									.freetext.inputName { max-width: 8rem; }
									.freetext.zipnumber	{ max-width: 8rem; }
									.freetext.telnumber { max-width: 16rem; }
									.freetext.mailinput { max-width: 24rem; }
									.inputYMDBox {
										align-items: end;
									}
									.freetext#year  { max-width: 4.5rem; }
									.freetext#month { max-width: 3.5rem; }
									.freetext#date  { max-width: 3.5rem; }
								.freeinputbox {  }

							/* セレクトボックス */
							#messageform select {
								font-size: 16px;
								padding: 0.125em;
							}

							/* ラジオボタン・チェックボックス群枠 */
							.itemSelectArea {
/*								border: 2px solid black;
								padding: 0.25em 0.5rem;
*/								font-size: 16px;
								width: 100%;
								color: black;
							}
								.selectOptions i {
									margin-left: 0.175rem;
								}

						/* フォームボタン */
						.formbuttons {
							padding: 1.75rem 0;
							text-align: center;
						}
							/* 送信ボタン */
							.confirmbutton {
								border: 1px solid black;
								background-color: black;
								color: white;
								text-align: center;
								padding: 0.75rem;
								font-size: 1.125rem;
								min-width: 270px;
							}
							.confirmbutton:hover {
								background-color: gray;
							}

							/* 戻るボタン */
							.confirmbutton.backbutton {
								background-color: white;
								color: black;
							}
							.confirmbutton.backbutton:hover {
								background-color: #ccc;
							}

							/* 戻るボタンと送信ボタンが並んでいる場合 */
							.backorsend {
								margin: 1rem auto;
								max-width: 540px;
							}
							.backorsend .confirmbutton {
								width: 45%;
								min-width: auto;
							}

					/* 入力内容チェックテーブル */
					.checktable {
						border-collapse: collapse;
						border: 2px solid var(--base-green);
						margin: 1.5rem auto;
					}
						.checktable th,
						.checktable td {
							border: 1px solid var(--base-green);
							padding: 0.25rem;
							line-height: 1.25;
						}
						.checktable thead th {
							background-color: var(--green-list-head-color);
							color: white;
						}
							.checkitem {
								display: block;
							}

	/* ―――――――――― */
	/* FOOTER：ミドルフッタ */
	/* ―――――――――― */
	.middleFooterBox {
		margin: 0;
		padding: 4em 2em;
		display: flex;
		align-items: start;
		justify-content: center;
	}
		.middleFooterColumn {
			flex: 1;
			max-width: 375px;
		}
		.middleFooterColumn:first-child { border-right: 1px solid white; padding-right: 3em; }
		.middleFooterColumn:last-child { padding-left: 4em; }

			.middleFooterTitle {
				text-align: center;
				font-size: 2em;
			}
			.middleFooterComment {
				margin: 1em 0;
				font-size: 1.2em;
			}

				.middleFooterLink {
					text-align: center;
				}
					.middleFooterLink a {
						text-align: center;
						color: #fff;
					}
						.middleFooterLink img {
							display: block;
							margin: 1em auto;
						}

						.middleFooterTelIcon {
							width: auto;
							height: 36px;
						}
						.middleFooterLink .phoneNumber {
							font-size: 2.5em;
						}

						.middleFooterFormIcon {
							width: auto;
							height: 100px;
						}

	/* FOOTER：会社連絡先 */
	.footerCompanyBox {
		max-width: 540px;
		margin: 3em auto;
	}
		.footerCompanyLink {
			display: block;
			max-width: 500px;
			margin: 0 auto 2em;
		}
			.footerCompanyImage { }

		.locationBox {
			width: fit-content;
			margin: auto;
		}
			.locationZip { font-size: 1.2rem; }
			.locationAddress { font-size: 1.75rem; }
			.locationTelFax {
				margin-top: 1em;
				font-size: 1.75rem;
				display: flex;
				justify-content: space-between;
			}
				.locationTelFax .phoneNumber { }

		/* SNSリンクリスト */
		.footerSnsBox {
			margin: 3rem 0 5rem;
		}
			.snsList {
				display: flex;
				gap: 20px;
				align-items:center;
				justify-content:center;
				width: fit-content;
				margin: auto;
			}
				.snsList li {
					flex: 1;
					
				}
					.snsList img {
						width: 35px;
						height: auto;
					}

	/* FOOTER：ボトムフッタ */
	.bottomFooterBox {
		margin: 0;
		padding: 4em 2em;
	}
		.sitemap {
			display: flex;
			flex-wrap: wrap;
			align-items: start;
			justify-content: start;
			gap: 1em;
		}
			.sitemap li::after {
				content: '｜';
				margin-left: 2em;
			}
			.sitemap li:last-child::after {
				content: '';
			}
			.sitemap a {
				color: #fff;
			}

	/* 画面固定ボタン群 */
	.floatBtnBox {
		position: fixed;
		bottom: 50%;
		right: 1em;
		width: 80px;
	}
		.floatBtnList {
			list-style-type: none;
			margin: 0;
			padding: 0;
		}
			.floatOneBtn {
				margin-bottom: 0.5em;
			}
				.floatOneBtn a {
					display: block;
					border-radius:100%;
					color:white;
					width: 80px;
					height: 80px;
					text-align: center;
					box-sizing: border-box;
					padding: 20px 10px;
					font-size: 1em;
					opacity: 1;
				    transition: opacity .5s;
				}
				.floatBtnT { background-color:var(--button-float-tel-back-color); }
				.floatBtnR { background-color:var(--button-float-recruit-back-color); }
				.floatBtnE { background-color:var(--button-float-entry-back-color); }
				.floatOneBtn a:hover {
					opacity: 0.5;
				    transition: opacity .3s;
				}

				.floatOneBtn a.floatBtnT { padding-top:11px; }

				.floatOneBtn a img {
					display: block;
					width: auto;
					max-width: 21px;
					max-height: 100%;
					margin: 2px auto 0;
				}

			/* 「車両について」ボタンは、ドライバーページにのみ掲載 */
			#footer #driverOnly {
				display: none;
			}
			.pageDriver #footer #driverOnly {
				display: block;
			}
				.floatBtnC { background-color:#47836b; }

/* =============================================== */
/* ■広い画面（横幅1080以上）専用の追加・上書きCSS */
/* =============================================== */
@media (min-width: 741px) {
	.mobile-only { display: none !important; }

	/* ※Windows環境で日本語Webフォントのシャギーを防ぐ(No-Shaggy Adjust)：インラインには効かないので注意 */
	.nsa,
	.itemLabel label,
	.selectOptions i,
	.articleTitle,
	.paragraphsBox p,
	.paragraphsBox li,
	.stdBtn,
	.nsaTable u,
	.pankuzuLine
	{
		transform: rotate(0.03deg);
	}

	/* 標準ボタン */
	.stdBtn {
		margin: 0 23px;
	}

		/* 標準ボタンの縦並び */
		.buttonLine .menu-btn + .menu-btn {
			margin-top: 43px;
		}

	/* ――――――― */
	/* ▼ポリシー区画 */
	/* ――――――― */
			.privacypolicyCover p {
				margin: 2em 2em 0 2em;
			}
			.privacypolicyCover p + p {
				margin-top: 0;
			}
			.privacypolicyCover ul {
				margin: 2em;
			}
}

/* ============================================== */
/* ■中型タブレット（横幅741～1079）用の微調整CSS */
/* ============================================== */
@media all and (min-width: 741px) and (max-width: 1079px) {

	/* HOME：グリーンサービスニュース */
		.newsTegalogBox {
			max-width: 570px;
		}
			.newsLink {
				margin-top: 120px;
			}

	/* ――――――― */
	/* ▼会社概要区画 */
	/* ――――――― */
		.greetingCover {
			gap: 2em;
		}
			.presidentPhotoBox {
				flex-basis: 33%;
			}

}

/* ========================================================== */
/* ■小型タブレット以下（横幅740px以下）専用の追加・上書きCSS */
/* ========================================================== */
@media all and (max-width: 740px) {

	.wide-only { display: none !important; }

	/* ボタンライン */
		.2buttonInLine .stdBtn + .stdBtn {
			margin-left: 0;
			margin-top: 0.5em;
		}

	/* パンくずリスト */
	.pankuzuLine {
		margin: 0;
		padding: 2em 1rem 3.5em;
		font-size: 0.8em;
	}

	/* 上端タイトルバー */
	.globalSignBar {
		padding-left: 0;
	}

	/* HOME：求人てがろぐ合成エリア */
		.jobofferTegalogBox {
			padding: 1.5em 1em 1.5em 2em;
		}

	/* HOME：5つの約束 */
				.promiseItem {
					margin: 1.5em 0;
				}
					.promiseItem figcaption {
						margin-top: 1em;
					}

	/* ―――――――――――― */
	/* ▼求人区画(てがろぐ合成) */
	/* ―――――――――――― */
			/* ………………………………………… */
			/* ▼求人リスト （HOME・OFFER兼用） */
			/* ………………………………………… */
						.offerPostDate::before {
							content: '';
						}
						.offerPostDate {
							display: block;
							font-size: 0.6rem;
						}

	/* ―――――――――――――――――――――――― */
	/* ▼グリーンサービスニュース区画（HOME・NEWS兼用） */
	/* ―――――――――――――――――――――――― */
	.newsArea {
		margin-bottom: 3em;
	}
		/* …………………………………… */
		/* ▽ニュース掲載区画の共通外枠 */
		/* …………………………………… */
		.newsTegalogBox { }
			/* -------------- */
			/* 一覧表示の場合 */
			/* -------------- */
			.newsList {
				padding: 0 0 0 3px;
				justify-content: normal;
				gap: 0.8rem;
			}
				.newsItem {
					max-width: 47%;
				}
					.newsItem figcaption {
						font-size: 0.67em;
						padding: 0.75em 0.75em 0.34em 0.75em;
					}
				.newsDate {
					font-size: 0.75em;
					padding: 0.34em 0.75em 0.75em 0.75em;
				}
			.newsLink {
				margin-top: 120px;
				margin-right: 0.5em;
			}

			.newsArea .buttonLine {
				margin-top: 180px;
			}

			/* -------------- */
			/* 個別表示の場合 */
			/* -------------- */
			.oneNewsArea {
				margin: 5rem 1rem 0;
			}
				.oneNewsDate {
					margin-bottom: 1rem;
					font-size: 0.9rem;
				}
				.oneNewsImage {
					max-width: 360px;	/* Image:300px + GreenBanner 60px */
					margin: 1.5rem auto;
				}
					.oneNewsImage .imagelink {
						max-width: 300px;
					}
					.oneNewsImage .imagelink::before {
						width: 60px;
						height: 120px;
						left: -30px;
					}

		/* ……………………… */
		/* ▽ページ移動リンク */
		/* ……………………… */
		.newsArea .pagelinks {
			margin: 3rem 0.5rem 1rem;
		}

	/* BRANCH：都道府県 */
	.prefectureNameBox {
		padding-left: 1em;
	}

	/* ――――――― */
	/* ▼会社概要区画 */
	/* ――――――― */
			.companyProfileTable,
			.companyProfileTable tr,
			.companyProfileTable th,
			.companyProfileTable td {
				display: block;
			}
				.companyProfileTable th { padding: 1.5em 0 0.5em; }
				.companyProfileTable td { padding: 0.5em 0 1.5em; }

			.yakuinTable {
				display: table;
			}
				.yakuinTable tr {
					display: table-row;
				}
				.yakuinTable th,
				.yakuinTable td {
					display: table-cell;
					padding: 0;
				}
				.yakuinTable th {
					padding-right: 1rem;
				}

	/* ―――――――― */
	/* ▼ごあいさつ区画 */
	/* ―――――――― */
		.greetingCover {
			display: block;
			padding: 2em 1em 0;
		}
			.presidentPhotoBox {
				max-width: 400px;
				margin: auto;
			}

	/* ――――――― */
	/* ▼採用情報区画 */
	/* ――――――― */
				/* モバイルで2×2ブロックに並べる */
				.fourBlockLinks {
					display: flex;
					flex-wrap: wrap;
					gap: 0.25em;
					align-items:center;
					justify-content:center;
				}
					.fourBlockLinks .stdBtn {
						min-width: 45%;
						max-width: calc( 50% - 0.5em );
					}

			.recruitGuide {
				margin: 1em;
				text-align: justify;
			}

	/* ――――――― */
	/* ▼募集職種区画 */
	/* ――――――― */
					.jobName {
						margin: auto;
					}
					.jobGuide {
						display: block;
					}
						.jobBtn {
							max-width: 50px;
							margin: 3em auto 0;
						}

	/* ――――――― */
	/* ▼社員の声区画 */
	/* ――――――― */
			.voiceList {
				display: block;
				max-width: 300px;
				margin: auto;
			}
				.oneVoiceBox {
					margin-top: 3em;
				}

	/* ―――――――――――――― */
	/* ▼安全への取り組みページ共通 */
	/* ―――――――――――――― */
	.pageSafety .greenFukidashi {
		max-width: 100%;
	}

	/* ――――――― */
	/* ▼Ｇマーク区画 */
	/* ――――――― */
	.safetyMarksArea {
		margin: 4em 0.75em 0;
	}
			.safetyMarkList {
			}
				.oneSafetyMark {
					margin-bottom: 3em;
				}

					/* 認定営業所リスト */
					.qualifiedBranchList {
						gap: 0.4rem 0.8rem;
					}
							.qualifiedBranchList .stdBtn {
								min-width: auto;
								width: 140px;
								min-height: 41px;
								line-height: 41px;
								font-size: 0.8rem;
							}

	/* ――――――― */
	/* ▼教育方針区画 */
	/* ――――――― */
	.eduPolicyArea {
		margin: 4em 0.75em 0;
	}
					.eduName {
						margin: 0;
						text-align: left;
					}
					.eduGuide {
						display: block;
					}

	/* ―――――――― */
	/* ▼研修・講習区画 */
	/* ―――――――― */
	.eduCourseArea {
		margin: 4em 0.75em 0;
	}
			.eduCourseList {
				display: block;
			}
				.oneCourseBox {
					margin-top: 2.5rem;
				}
					.oneCoursePhotoBox {
					}
						.oneCoursePhotoBox img {
							max-width: 400px;
						}

			.courseSubTitle {
				margin-right: 0;
				text-align: center;
				color: var(--base-green);
			}
			.courseSubTitle::before {
				content: '';
			}

			.eduList li {
				margin-left: 1rem;
			}

	/* ――――――― */
	/* ▼健康経営区画 */
	/* ――――――― */
	.healthPolicyArea {
		margin: 4em 0.75em 0;
	}

	/* ―――――――― */
	/* ▼営業所一覧区画 */
	/* ―――――――― */
		.branchList {
			flex-direction: column;
		}
			.oneBranchBox {
				margin: 1em;
			}

	/* ――――― */
	/* ▼種別緑帯 */
	/* ――――― */
	.jobTypeObi {
		text-align: center;
	}

	/* ――――――― */
	/* ▼仕事種別概要 */
	/* ――――――― */
			.jobGuideBox .jobLinkLabel {
				font-size: 1.1em;
			}

	/* ――――――――― */
	/* ▼応募要項テーブル */
	/* ――――――――― */
	.jobDetailTableBox {
		margin: 1em;
	}

	/* ――――――――― */
	/* ▼お仕事の流れ区画 */
	/* ――――――――― */
				.oneJobFlow {
					max-width: calc( 100% - 18px );
					min-width: 300px;
				}

	/* ……………………… */
	/* ▼お問い合わせ領域 */
	/* ……………………… */
					/* 入力テーブル：テーブルは崩す */
					.contacttable { }
						.contacttable tr,
						.contacttable th,
						.contacttable td {
							display: block;
						}

						/* 見出し段 */
						.itemLabel {
							margin-top: 1.5rem;
							padding: 0;
						}

							/* ラジオボタン・チェックボックス群枠 */
							.itemSelectArea {
								padding-left: 0.25rem;
								line-height: 1.75;
							}

	/* ―――――――――― */
	/* FOOTER：ミドルフッタ */
	/* ―――――――――― */
	.middleFooterBox {
		flex-direction: column;
	}
		.middleFooterColumn:first-child {
			border-right: 0px none; padding-right: 0;
			border-bottom: 1px solid white;
			margin-bottom: 3em;
			padding-bottom: 3em;
		}
		.middleFooterColumn:last-child { padding-left: 0; }

	/* FOOTER：会社連絡先 */
	.footerCompanyBox {
		padding: 0 1em;
	}
			.locationZip { font-size: 0.75rem; }
			.locationAddress { font-size: 1rem; }
			.locationTelFax {
				margin-top: 1em;
				font-size: 1rem;
				flex-direction: column;
				padding-left: 1.75em;
			}



	/* 画面固定ボタン群 */
	.floatBtnBox {
		position: fixed;
		bottom: 0.5em;
		left: 0;
		right: 0;
		width: 100%;
	}
		.floatBtnList {
			display: flex;
			justify-content: space-between;
			margin: 0 0.5em;
		}

}




/* ======================= */
/* ■埋め込みツール等用CSS */
/* ======================= */
/* ――――――――――――― */
/* ★パタッ(下)アニメーション */
/* ――――――――――――― */
.flipDown {
	animation-name:flipDownAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;

	/* 対象がブロックレベルでないといけないので */
	display: block;
	margin: auto;
}

@keyframes flipDownAnime{
	from {
		transform: perspective(2500px) rotateX(100deg);
		opacity: 0;
	}
	to {
		transform: perspective(2500px) rotateX(0);
		opacity: 1;
	}
}

/* ――――――――――――――― */
/* ★ふわっ(その場)アニメーション */
/* ――――――――――――――― */
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* ――――――――――――――― */
/* ★ふわっ(下から)アニメーション */
/* ――――――――――――――― */
.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ――――――――――――――― */
/* ★ふわっ(右から)アニメーション */
/* ――――――――――――――― */
.fadeRight{
	animation-name:fadeRightAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeRightAnime{
	from {
		opacity: 0;
		transform: translateX(100px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* ―――――――――――――――― */
/* 時間差フェードインアニメーション */
/* ―――――――――――――――― */
.fadeInSwitchOn1	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn2	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn3	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn4	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn5	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn6	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn7	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn8	{	animation-name: fadeInTransY;	}
.fadeInSwitchOn9	{	animation-name: fadeInTransY;	}

@keyframes fadeInTransY {
	0% {}
	100% { transform: translateY(0); opacity: 1; }
}
@keyframes fadeInTransX {
	0% {}
	100% { transform: translateX(0); opacity: 1; }
}

/* スクリプトを使わずに即実行(.fadeIn1～4と同時に指定して使う) */
.runImmediately {
	animation-name: fadeInTransY
}

/* 0.25秒後にフェードイン */
.fadeIn1 {
    /* animation-name: fadeInTransY; */	/* スクリプトを使わずに即時実行するならこの項目を有効にする(※.timeDiffFadeAnimeBlockは不要) */
    animation-delay: 0.25s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);	/* 横にスライドさせるなら translateX を使い、animation-nameには fadeInTransX を指定する */
    opacity: 0;
}
/* 0.5秒後にフェードイン */
.fadeIn2 {
    /* animation-name: fadeInTransY; */
    animation-delay: 0.5s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 0.75秒後にフェードイン */
.fadeIn3 {
    /* animation-name: fadeInTransY; */
    animation-delay: 0.75s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 1秒後にフェードイン */
.fadeIn4 {
    /* animation-name: fadeInTransY; */
    animation-delay: 1s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 1.25秒後にフェードイン */
.fadeIn5 {
    /* animation-name: fadeInTransY; */
    animation-delay: 1.25s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 1.5秒後にフェードイン */
.fadeIn6 {
    /* animation-name: fadeInTransY; */
    animation-delay: 1.5s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 1.75秒後にフェードイン */
.fadeIn7 {
    /* animation-name: fadeInTransY; */
    animation-delay: 1.75s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 2秒後にフェードイン */
.fadeIn8 {
    /* animation-name: fadeInTransY; */
    animation-delay: 2s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
/* 2.25秒後にフェードイン */
.fadeIn9 {
    /* animation-name: fadeInTransY; */
    animation-delay: 2.25s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
