@charset "UTF-8";
.txt_c{text-align: center}
/*---------------------	html , body　-----------------------*/
html {
	scroll-behavior: smooth;
	width: 100vw;
   overflow-x:hidden;
}

body {
	background-color: #FFFFFF;
	color: #222222;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノUD角ゴ W3", "Hiragino UD Sans W3", "メイリオ", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	overflow-x: hidden;
	text-align: left;
	-webkit-text-size-adjust: 100%;
	/*モバイルテキスト自動拡大アルゴリズム制御*/
	width: 100%;
}

body {
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 100vh;
}


@media screen\0 {

	/*IE*/
	body {
		font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノUD角ゴ W3", "Hiragino UD Sans W3", "メイリオ", sans-serif;
	}
}

@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {

	/*IE*/
	body {
		font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノUD角ゴ W3", "Hiragino UD Sans W3", "メイリオ", sans-serif;
	}
}

a {
	color: inherit;
	transition: all ease-in-out 0.25s;
}

a:hover {
	opacity: 0.7;
}

/*---------------------	共通　-----------------------*/
.sp {display: none;}
.montserrat {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
}

.image-block {
	font-size: 0;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.sp {display: block;}
	.pc {display: none;}
	.main-contents {
		/*--- SP固定メニュー分 ---*/
		padding-top: 64px;
	}

	.main-contents.index {
		/*--- SP固定メニュー分 ---*/
		padding-top: 0;
	}
}

/*========== PAGE TOP ボタン ==========*/
.pagetop {
	background-color: #f5f5f5;
	border-radius: 50%;
	position: fixed;
	right: 20px;
	bottom: 20px;
	transition: all ease-in-out 0.4s;
}

.pagetop:hover {
	background-color: #dc0008;
}

.pagetop-figure {
	display: block;
	position: relative;
	top: 0;
	right: 0;
	height: 48px;
	width: 48px;
}

/* 矢印マーク（ → ） */
.pagetop-figure::before {
	background-color: #dc0008;
	content: "";
	height: 20px;
	position: absolute;
	right: 23px;
	bottom: 13px;
	transition: all ease-in-out 0.25s;
	width: 2px;
}

.pagetop-figure::after {
	border-top: 3px solid transparent;
	border-right: 3px solid transparent;
	border-bottom: 5px solid #dc0008;
	border-left: 3px solid transparent;
	content: "";
	position: absolute;
	right: 24px;
	bottom: 30px;
	transition: all ease-in-out 0.25s;
	-webkit-transform: translateX(3px);
	-moz-transform: translateX(3px);
	-ms-transform: translateX(3px);
	-o-transform: translateX(3px);
	transform: translateX(3px);
}

.pagetop-figure:hover::before {
	background-color: #fff;
}

.pagetop-figure:hover::after {
	border-bottom: 5px solid #fff;
}


@media only screen and (max-width: 767px) {
	.pagetop,
	.pagetop-figure {
		display: none;
	}
}

/*========== 各ページタイトル箇所 ==========*/
.title-area {
	margin-bottom: 114px;
	position: relative;
}

.page-title {
	background-color: #f5f5f5;
	color: #dc0008;
	font-size: 14px;
	line-height: 1;
	padding: 80px 0 39px;
	text-align: center;
}

.page-title-en {
	display: block;
	font-size: 56px;
	font-weight: 700;
	margin-bottom: 12px;
}

.page-mainimg {
	background-repeat: no-repeat;
	background-size: cover;
	height: 0;
	margin-left: 160px;
	padding-bottom: 37.6%;
	position: relative;
	width: calc(100% - 160px);
}

.page-mainimg::before {
	background-color: #f5f5f5;
	content: "";
	display: block;
	height: 40px;
	position: absolute;
	top: 0;
	left: -160px;
	width: 160px;
}

.title-area-heading,
.title-area-txt {
	margin: 0 auto;
	width: 960px;
}

.title-area-heading {
	color: #dc0008;
	font-feature-settings: 'palt';
	font-size: 48px;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.title-area-txt {
	line-height: 2;
}

.contents-title {
	font-size: 28px;
	font-weight: bold;
}

.contents-title-en {
	color: #dc0008;
	display: block;
	font-size: 14px;
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.title-area {
		margin-bottom: 55px;
	}

	.page-title {
		font-size: 12px;
		padding: 35px 0 20px;
	}

	.page-title-en {
		display: block;
		font-size: 32px;
		margin-bottom: 6px;
	}

	.page-mainimg {
		margin-left: 5.3%;
		padding-bottom: 53.6%;
		width: calc(100% - 5.3%);
	}

	.page-mainimg::before {
		height: 15px;
		position: absolute;
		top: 0;
		left: -5.3%;
		width: calc(100% + 5.3%);
		z-index: -1;
	}

	.title-area-heading,
	.title-area-txt {
		margin: 0 auto;
		width: 89.4%;
	}

	.title-area-heading {
		font-size: 24px;
		margin-bottom: 14px;
	}

	.title-area-txt {
		line-height: 1.8;
	}

	.contents-title {
		font-size: 24px;
	}

	.contents-title-en {
		font-size: 12px;
	}
}

/*========== 次のページへ　リンク ==========*/
.pagelink-container {
	margin: 120px auto 80px;
	width: 960px;
}

.pagelinks {
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.pagelink-link {
	display: block;
	position: relative;
	width: 300px;
}

/*--- ※透過しない ---*/
.pagelink-link:hover {
	opacity: 1;
}

/*--- イメージ ---*/
.pagelink-image {
	height: 0;
	/* 縦横比固定 */
	padding-bottom: 40%;
	position: relative;
	margin-bottom: 20px;
	overflow: hidden;
	width: 100%;
}

/* 上下中央にトリミング */
.pagelink-image img {
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: all ease-in-out 0.4s;
	width: 100%;
	height: 100%;
}

/* hover で拡大 */
.pagelink-link:hover .pagelink-image img {
	height: 110%;
	width: 110%;
}

.pagelink-name {
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	transition: all ease-in-out 0.3s;
}

.pagelink-link:hover .pagelink-name {
	color: #dc0008;
}

.pagelink-en {
	display: block;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 6px;
}

/* 矢印マーク（ → ） */
.pagelink-link::after {
	background-image: url(../image/all/arrow_w20_red.svg);
	content: "";
	height:6px;
	position: absolute;
	bottom:0;
	right: 10px;
	transition: all ease-in-out 0.25s;
	width: 20px;
}

.pagelink-link:hover::after {
	right: 0;
}

@media only screen and (max-width: 767px) {
	.pagelink-container {
		margin: 40px auto 80px;
		width: 89.4%;
	}

	.pagelinks {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.pagelink-link {
		width: 100%;
	}

	.pagelink-link:not(:last-child) {
		margin-bottom: 30px;
	}
}

/*========== ENTRY リンク ==========*/
.entrylink-container {
	background-color: #dc0008;
	color: #fff;
	margin: 0 auto;
	padding: 66px 0 82px;
	position: relative;
	text-align: center;
}

.entrylink-title {
	font-size: 48px;
	font-weight: bold;
	margin: 0 auto 5px;
}

.entrylink-txt {
	margin: 0 auto 38px;
}

.entrylink-title::before,
.entrylink-title::after {
	content: "";
	display: block;
	width: 1px;
	height: 40px;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
}

.entrylink-title::before {
	background-color: #dc0008;
	top: -40px;
}

.entrylink-title::after {
	background-color: #fff;
	top: 0;
}

.entrylink-txt {
	font-size: 20px;
	font-weight: bold;
}

.entrylink-btn-wrapper {
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
}

.entrylink {
	display: block;
	line-height: 80px;
	max-width: 320px;
    width: 30%;
	height: 80px;
}
.entrylink+.entrylink{
    margin-left: 20px;
}
.imglink {
	background-color: #fff;
	position: relative;
}

.imglink-img {
	position: absolute;
	top: 35%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 70%;
}

.imglink-bg {
	position: absolute;
	top: 50%;
	left: 58%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 73.4%;
}

.txtlink {
	border: solid 1px #fff;
    /*
	margin-left: 20px;
    */
	overflow: hidden;
	position: relative;
}

.txtlink::before {
	background-color: #fff;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: -100%;
	transition: all .25s ease-in-out;
}

.txtlink:hover::before {
	bottom: 0;
	z-index: -1;
	;
}

.txtlink:hover {
	color: #dc0008;
	opacity: 1;
	z-index: 0;
}

.txtlink-span {
	display: block;
	width: 100%;
	height: 100%;
}

/* マイナビ */
.entrylink.mynavi{
    background-color: #fff;
	border: solid 1px #fff;
	overflow: hidden;
	position: relative;
}

.entrylink.mynavi:hover{
	opacity: 0.7;
}



/* 矢印マーク（ → ） */
/* 線 */
.txtlink-span::before {
	background-color: #fff;
	content: "";
	height: 1px;
	position: absolute;
	bottom: 38px;
	right: 26px;
	transition: all ease-in-out 0.25s;
	width: 30px;
}
/* 三角 */
.txtlink-span::after {
	border-top: solid 3px transparent;
	border-right: solid 3px transparent;
    border-bottom: solid 3px transparent;
	border-left: solid 5px #fff;
	content: "";
	height: 0;
	position:absolute;
	top: 37px;
	right: 22px;
	transition: all ease-in-out 0.25s;
	width: 0;
}

.txtlink:hover .txtlink-span::before {
	background-color: #dc0008;
	right: 16px;
}

.txtlink:hover .txtlink-span::after {
	border-left: solid 5px #dc0008;
	right: 12px;
}

@media only screen and (max-width: 767px) {
	.entrylink-container {
		padding: 66px 0 60px;
	}

	.entrylink-title {
		font-size: 40px;
	}

	.entrylink-txt {
		font-size: 16px;
		margin: 0 auto 30px;
	}

	.entrylink-btn-wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin: 0 auto;
	}

	.entrylink {
		margin: 0 auto;
		width: 95%;
	}

    .entrylink+.entrylink{
		margin: 20px auto 0;
    } 
}

/*========== パンくず ==========*/
.pankuzu-container {
	color: #222222;
	font-size: 14px;
    font-weight: bold;
	max-width: 1040px;
	margin: 0 auto;
	padding: 12px 0;
}

.pankuzu-arrow {
	background-image: url(../image/all/pankuzu-arrow.svg);
	background-repeat: no-repeat;
	background-size: cover;
	display: inline-block;
	margin: 0 10px 0 10px;
	width: 5px;
	height: 9px;
}

@media only screen and (max-width: 767px) {
	.pankuzu-container {
		width: 89.4%;
	}
}


/*---------------------	<header> .main-header　-----------------------*/
.main-header {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-feature-settings: 'palt';
	height: 88px;
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

/* ロゴ */
.head-logo {
	width: 320px;
	height: auto;
}

.head-logo-link {
	display: block;
	line-height: 1;
}

/* メニュー */
.global-nav-ul {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: bold;
}


.global-nav-link {
	display: block;
	height: 16px;
	line-height: 1;
}

/* 採用情報 */
.global-nav-li:nth-child(4) .global-nav-link {
	position:relative;
}

.global-nav-li:nth-child(4) .global-nav-link::after {
	background-image: url(../image/all/nav_jobinfo_arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	margin-left: 10px;
	margin-bottom: 1px;
	width: 9px;
	height: 6px;
}

.global-nav-li:nth-child(n+1):nth-child(-n+3) .global-nav-link::after {
	background-color: #dc0008;
	content: "";
	display: block;
	height: 2px;
	margin-top: 4px;
	opacity: 0;
	transition: all ease-in-out 0.3s;
	width: 100%;
}

.global-nav-li:nth-child(n+1):nth-child(-n+3) .global-nav-link:hover {
	color: #dc0008;
	/*--- ※透過しない ---*/
	opacity: 1;
}

.global-nav-li:nth-child(n+1):nth-child(-n+3) .global-nav-link:hover::after {
	opacity: 1;
}

.global-nav-li:not(:nth-last-child(-n+2)) {
	border-right: solid 2px #222222;
	margin-right: 20px;
	padding-right: 20px;
}

/* ENTRYボタン */
.global-entry-link {
	background-color: #dc0008;
	color: #fff;
	display: block;
	font-weight: bold;
	/* height */
	height: 48px;
	letter-spacing: 0.1em;
	line-height: 46px;
	margin-left: 40px;
	text-align: center;
	width: 160px;
}



/*---------------- ドロップダウンメニュー ----------------*/
.dropdown-btn {
	cursor: pointer;
	position: relative;
}

/* 採用情報　の高さを調整 */
.global-nav-li:nth-last-child(2).dropdown-btn {
	height: 16px;
}

/* 採用情報　のhover */
.global-nav-li:nth-last-child(2).dropdown-btn::after {
	background-color: #dc0008;
	content: "";
	display: block;
	height: 2px;
	margin-top: 4px;
	opacity: 0;
	transition: all ease-in-out 0.3s;
	width: 100%;
}

.global-nav-li:nth-last-child(2).dropdown-btn:hover {
	color: #dc0008;
}

.global-nav-li:nth-last-child(2).dropdown-btn:hover::after {
	opacity: 1;
}

/*--------- ドロップダウンメニュー表示位置 ---------*/
.dropdown {
	display: none;
	position: absolute;
	z-index: 100;
	width: 180px;
}

/* 採用情報 */
.global-nav-li:nth-last-child(2) .dropdown {
	/* ドロップダウンメニューの表示位置 */
	top: 0;
	left: 0;
	padding-top: 40px;
}

/* ENTRYボタン */
.global-nav-li:nth-last-child(1) .dropdown {
	/* ドロップダウンメニューの表示位置 */
	top: 0;
	left: 40px;
	padding-top: 58px;
}



.dropdown-list {
	position: relative;
}

/* 三角 ▲ */
.dropdown-list:first-child::before {
	border-top: 14px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: solid 12px rgba(34, 34, 34, 0.9);
	border-left: 7px solid transparent;
	content: "";
	position: absolute;
	bottom: 54px;
	left: 21px;
}

.dropdown-list:not(:last-child) {
	border-bottom: solid 1px #222222;
}

.dropdown-link {
	background-color: rgba(34, 34, 34, 0.9);
	color: #fff;
	display: block;
	font-size: 13px;
	line-height: 54px;
	padding-left: 20px;
}

.dropdown-link::after {
	background-image: url(../image/all/dropdown_arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	width: 5px;
	height: 9px;
	position:absolute;
	top: 23px;
	right: 18px;
}

.global-nav-li:nth-last-child(2).dropdown-btn::before{
	transition: all ease-in-out 0.3s;
}

.global-nav-li:nth-last-child(2).dropdown-btn:hover::before {
    background-image: url(../image/all/nav_jobinfo_arrow_red.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position:absolute;
	top: 5px;
	right:0;
	width: 9px;
	height: 6px;
	z-index:100;
}

.open {
	display: block;
}

/*----------------------------

トップページのみ　ヘッダー調整

----------------------------*/

.index-main-header {
	background-color: transparent;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 1000;
}

.index-main-header .color-logo {
	display: none;
}

.index-main-header .global-nav-li:nth-child(4) .global-nav-link::after {
	background-image: url(../image/all/nav_jobinfo_arrow_white.svg);
}

.index-main-header .global-nav-li:not(:nth-last-child(-n+2)) {
	border-right: solid 2px #fff;
}

.index-main-header .global-nav-link:hover{
	color: #dc0008;
}

@media only screen and (max-width: 1024px) {
	.index-main-header {
		margin: 15px 0;
	}
}

@media only screen and (max-width: 767px) {
	.index-main-header {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		margin: 0 auto;
		height: 64px;
		/* fixed */
		position: fixed;
		width: 100%;
		z-index: 1000;
	}
}


/*------------ Scroll でカラーチェンジ ------------*/
.index-main-header.changeColor {
	background-color: #fff;
}

.index-main-header.changeColor .color-logo {
	display: block;
}

.index-main-header.changeColor .white-logo {
	display: none;
}

/*
.index-main-header.changeColor .global-nav-li:not(:nth-last-child(-n+2)) {
	border-right: solid 2px #dc0008;
}
*/

/*
.index-main-header.changeColor .global-nav-link {
	color: #dc0008;
}
*/





@media only screen and (max-width: 1024px) {
	.main-header {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin: 15px 0;
	}
	
	.head-logo {
		height: 100%;
	}
}

@media only screen and (max-width: 767px) {
	.main-header {
		/*background-color: #fff;*/
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		margin: 0 auto;
		height: 64px;
		/* fixed */
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		z-index: 1000;
	}

	.head-logo {
		height: auto;
		margin-left: 5%;
		max-width: 235px;
		width: calc(100% - 64px);
	}

	.global-nav {
		display: none;
	}

	/*=============================================
					Hamburger Menu
	=============================================*/
	/* ハンバーガーアイコン用　ボタン */
	.hamburger-checkbox {
		display: none;
	}

	/* label ハンバーガーアイコン */
	.hamburger-icon {
		background-color: #dc0008;
		cursor: pointer;
		display: block;
		width: 64px;
		height: 64px;
		position: fixed;
		top: 0px;
		right: 0;
		z-index: 10000;
	}

	/* 3本線 */
	.hamburger-icon-parts,
	.hamburger-icon-parts:before,
	.hamburger-icon-parts:after {
		background-color: #fff;
		display: block;
		width: 30px;
		height: 2px;
		position: absolute;
		top: -10px;
		right: 0;
		left: 0;
		bottom: 0;
		margin: auto;
	}

	.hamburger-icon-parts:before,
	.hamburger-icon-parts:after {
		content: "";
	}

	.hamburger-icon-parts:before {
		top: 16px;
	}

	.hamburger-icon-parts:after {
		top: -16px;
	}

	.hamburger-icon-txt .hamburger-icon-name {
		color: #fff;
		display: block;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.01em;
		line-height: 1;
		margin: 41px 0 0 16px;
	}

	/* " CLOSE " 非表示 */
	.hamburger-icon .hamburger-icon-txt .close {
		display: none;
	}

	/* 開いたら " CLOSE " にする */
	.hamburger-checkbox:checked ~ .hamburger-icon .hamburger-icon-txt .menu {
		display: none;
	}

	/* 位置調整 */
	.hamburger-checkbox:checked ~ .hamburger-icon .hamburger-icon-txt .close {
		display: block;
		margin: 41px 0 0 15px;
	}

	/* メニュー　開 */
	.hamburger-nav {
		background: #dc0008;
		color: #000;
		max-width: 100%;
		width: 100%;
		height: 100vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		top: 0;
		right: -100%;
	}

	.hamburger-icon {
		z-index: 4;
	}

	.hamburger-nav {
		z-index: 3;
	}

	/*=== 3本線　開閉モーション ===*/
	/* 中央線 */
	.hamburger-checkbox:checked ~ .hamburger-icon .hamburger-icon-parts {
		background: transparent;
	}

	/* 下線 */
	.hamburger-checkbox:checked ~ .hamburger-icon .hamburger-icon-parts:before {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 0;
	}

	/* 上線 */
	.hamburger-checkbox:checked ~ .hamburger-icon .hamburger-icon-parts:after {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 0;
	}


	/* メニュー　開方向（右軸） */
	.hamburger-checkbox:checked ~ .hamburger-nav {
		right: 0;
	}

	/* 開閉をスムーズに */
	.hamburger-icon-parts:after,
	.hamburger-icon-parts:before,
	.hamburger-nav {
		-webkit-transition: all 0.7s;
		transition: all 0.7s;
	}

	/* メニューリストCSS */
	.hamburger-nav-ul {
		box-sizing: border-box;
		color: #fff;
		font-weight: bold;
		padding: 80px 5.7% 0;
		position: relative;
		width: 100%;
	}

	/* ハンバーガー内　ロゴマーク（白） */
	.hamburger-nav-ul::before {
		background-image: url(../image/top/logo-top-white.svg);
		background-repeat: no-repeat;
		content: "";
		display: block;
		height: 24px;
		width: 235px;
		position: absolute;
		top: 20px;
		left: 5.7%;
	}

	.hamburger-nav-li:nth-child(n+1):nth-child(-n+3) {
		margin-bottom: 20px;
		padding-bottom: 20px;
		width: 100%;
	}

	.hamburger-nav-li:nth-child(n+1):nth-child(-n+4) {
		border-bottom: solid 1px #fff;
	}

	.hamburger-nav-link {
		display: block;
	}

	/*============== サブメニュー ==============*/

	/*--- チェックボックスを非表示にする ---*/
	.hamburger-switchbox {
		border-bottom: solid 1px #fff;
		margin-bottom: 35px;
		padding-bottom: 20px;
	}

	.hamburger-switchbox input {
		display: none;
	}

	.hamburger-switchbox label {
		cursor: pointer;
		display: block;
		position: relative;
	}

	/* 新卒採用 */
	/* 中途採用 */
	/*--- 中身を非表示にしておく ---*/
	.hamburger-checkbox-child {
		display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		font-weight: bold;
		height: 0;
		margin-top: 0;
		opacity: 0;
		overflow-y: hidden;
		position: relative;
		transition: 0.6s;
		/* ゆっくり表示させる */
	}

	.hamburger-sub-li {
		position: relative;
		width: calc((100% - 20px) / 2);
	}

	.hamburger-sub-link {
		display: block;
		position: relative;
		width: 100%;
	}

	.hamburger-sub-link::after {
		background-image: url(../image/all/ham_arrow.svg);
		content: "";
		display: block;
		height: 6px;
		width: 20px;
		position: absolute;
		top: 48%;
		right: 8px;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(0, -50%);
	}

	/*--- クリックで中身を表示 ---*/
	.hamburger-switchbox input:checked + label + .hamburger-checkbox-child {
		height: auto;
		margin-top: 40px;
		opacity: 1;
	}

	/*--- アイコン ---*/
	.hamburger-switchbox label::after {
		background-image: url(../image/all/ham_switch_on.svg);
		content: '';
		display: block;
		height: 12px;
		width: 12px;
		position: absolute;
		top: 48%;
		right: 8px;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(0, -50%);
	}

	/*--- クリックでアイコン入れ替え ---*/
	.hamburger-switchbox input:checked + label::after {
		background-image: url(../image/all/ham_switch_off.svg);
		content: '';
		display: block;
		height: 2px;
		width: 12px;
		position: absolute;
		top: 48%;
		right: 8px;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(0, -50%);
	}

	.hamburger-entry-li {
		font-weight: bold;
		font-size: 24px;
		margin-bottom: 11px;
		text-align: center;
	}

	.hamburger-entry-link {
		border: solid 1px #fff;
		display: block;
		height: 80px;
		line-height: 80px;
		position: relative;
		text-align: center;
		width: 100%;
	}

    .hamburger-nav-li.entry-col+.hamburger-nav-li.entry-col{
        margin-top: 20px;
    }

	.hamburger-entry-new-link {
		background-color: #fff;
		margin-bottom: 12px;
	}

	/* マイナビ */
	.hamburger-entry-new-img {
		position: absolute;
		top: 50%;
		left: 58%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		max-width: 245px;
		width: 73.4%;
	}

	.hamburger-entry-mid-link {
		position: relative;
	}

	/* 矢印 */
	.hamburger-entry-mid-link::after {
		background-image: url(../image/all/ham_long_arrow.svg);
		content: "";
		display: block;
		height: 6px;
		width: 30px;
		position: absolute;
		top: 48%;
		right: 24px;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(0, -50%);
	}

	/* プライバシーポリシー */
	/* 企業サイト */
	.hamburger-tab {
		display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		font-size: 12px;
		font-weight: normal;
		margin-top: 40px;
	}

	.hamburger-tab-link {
		display: block;
		position: relative;
		margin: 0 15px;
	}

	/* タブマーク */
	.hamburger-tab-link::after {
		background-image: url(../image/all/tab.svg);
		content: "";
		display: inline-block;
		height: 10px;
		width: 16px;
	}
}


/*---------------------	<footer> .main-footer　-----------------------*/
.main-footer {
	background-color: #222222;
	color: #fff;
	font-feature-settings: 'palt';
	margin-top: auto;
	position: relative;
	text-align: center;
	width: 100%;
}

/* ロゴ */
.foot-logo {
	margin-top: 80px;
	margin-bottom: 60px;
}

.foot-logo-link {
	display: block;
	margin: 0 auto;
	width: 195px;
}

.foot-nav-ul {
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 40px;
}

.foot-nav-li:not(:last-child) {
	border-right: solid 2px #fff;
	margin-right: 20px;
	padding-right: 20px;
}

.foot-nav-link {
	display: block;
	height: 16px;
	line-height: 1;
}

.foot-sub-nav-ul {
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 12px;
	margin-bottom: 80px;
}

.foot-sub-nav-li {
	position: relative;
}

.foot-sub-nav-li:not(:last-child) {
	margin-right: 40px;
}

.foot-sub-link::after {
	content: "";
	display: inline-block;
	background-image: url(../image/all/tab.svg);
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 9px;
	height: 10px;
	width: 16px;
}

.copyright {
	background-color: #fff;
	color: #222222;
	font-size: 12px;
	height: 92px;
	padding-top: 30px;
}

@media only screen and (max-width: 767px) {
	.foot-logo {
		margin-top: 60px;
	}

	.foot-nav {
		margin: 0 auto;
		width: 89.4%;
	}

	.foot-nav-li {
		width: calc(100% / 2);
	}

	.foot-nav-li:nth-child(n+1):nth-child(-n+2) {
		margin-bottom: 30px;
	}

	.foot-nav-li:not(:last-child) {
		border-right: 0px;
		margin-right: 0px;
		padding-right: 0px;
	}

	.foot-nav-li:nth-child(2n-1):not(:last-child) {
		border-right: solid 2px #fff;
	}

	.foot-sub-nav-ul {
		margin-bottom: 54px;
	}
}



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

.object_fit_img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.top-main-slider {
	position: relative;
}

.slider-img-wrapper {
/* 	height: 0; */
	overflow: hidden;
	object-fit: cover;
/* 	padding-bottom: 8.95%; */
	position: relative;
	height: 800px;
	width: auto;
}

.sliderimg {
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: all ease-in-out 1s;
	width: 100%;
	height: 100%;
}

/*
.slick-active .sliderimg {
	-webkit-transform: scale(1.0) translate(-50%, -50%);
	-ms-transform: scale(1.0) translate(-50%, -50%);
	transform: scale(1.0) translate(-50%, -50%);
}
*/


/* 
清く、
正しく、
おもしろく。
*/
.top-main-txt {
	color: #fff;
	/* flex */
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-weight: bold;
	/* 中央揃え */
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 65.625%;
	width: 65.625vw;
}

.top-h1 {
	font-size: 72px;
	font-size: 5.625vw;
	line-height: 1.5;
}

.top-sub-txt {
	font-size: 14px;
	font-size: 1.09375vw;
	line-height: 2;
	margin-bottom: 10px;
}

/* SCROLL */
.figure-txt {
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40px;
}

.figure-txt::before {
	background-color: #fff;
	content: "";
	display: block;
	height: 40px;
	margin: 0 auto 4px;
	width: 1px;
}

/*----------- メインイメージ部分 1280px -----------*/
@media only screen and (max-width: 1280px) {
	.top-main-txt {
    	width: 68%;
    }
	
	.top-sub-txt {
		font-size: 14px;
	}
}

/*----------- メインイメージ部分 1024px -----------*/
@media only screen and (max-width: 1024px) {
    .top-main-txt {
    	width: 78%;
    }
}

/*----------- メインイメージ部分 767px -----------*/
@media only screen and (max-width: 767px) {
	.slider-img-wrapper {
		height: 0;
		padding-bottom: 17.5%;
	}
	
	.sliderimg {
		height: 100%;
	}
	
	.slick-slide {
		height: 100%;
	}

	.top-main-txt {
		box-sizing: border-box;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
		transform: none;
		top: 0;
		left: 0;
		padding-top: 29%;
		padding-left: 5.5%;
		width: 100%;
	}

	.top-h1 {
		font-size: 48px;
		margin-bottom: 20px;
	}

	.top-sub-txt {
		font-size: 12px;
		margin-bottom: 0;
	}

	.figure-txt {
		bottom: 15px;
	}
}

/*----------- メインイメージ部分 640px -----------*/
@media only screen and (max-width: 640px) {
	.top-main-txt {
		padding-top: 16%;
	}
}


/*========== OUR IN NUMBER「数字で見る畠経営グループ」 ==========*/
.top-block-1 {
	margin: 0 auto;
    /*
	padding: 78px 0 188px;
    */
    padding: 78px 0;
	max-width: 960px;
}

.top-block1-h2 {
	color: #dc0008;
	font-size: 14px;
	text-align: center;
	margin-bottom: 36px;
}

.block1-h2-en {
	display: block;
	font-size: 48px;
	font-weight: bold;
	line-height: 1.15;
}

.top-number-container {
	/* flex */
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	/*-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;*/
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-weight: bold;
	text-align: center;
	vertical-align: top
}

.top-number-list {
	width: 195px;
}

.number-icon {
	margin: 0 auto 10px;
	width: 160px;
}

.number-heading {
	color: #dc0008;
	font-size: 20px;
}

.number-value {
	color: #dc0008;
	font-size: 24px;
}

.number-value-number {
	font-size: 64px;
	font-weight: bold;
	line-height: 1;
	margin-right: 4px;
}

.number-date {
	color: #dc0008;
	font-size: 12px;
	line-height: 1;
	margin-bottom: 16px;
}

.number-txt {
	font-size: 13px;
	font-weight: normal;
	text-align: justify;
}

@media only screen and (max-width: 767px) {
	.top-block-1 {
        /*
		padding: 75px 0 200px;
        */
        padding: 75px 0;
		width: 89.4%;
	}

	.top-block1-h2 {
		font-size: 12px;
		line-height: 1.8;
		margin-bottom: 33px;
	}

	.block1-h2-en {
		font-size: 32px;
	}

	.top-number-container {
		font-feature-settings: 'palt';
		letter-spacing: normal;
	}
	
	.top-number-list {
		width: calc((100% - 20px) / 2);
	}

	.top-number-list:nth-child(n+1):nth-child(-n+2) {
		margin-bottom: 33px;
	}

	.number-icon {
		max-width: 150px;
		width: 100%;
	}

	.number-heading {
		font-size: 18px;
	}

	.number-value {
		font-size: 16px;
	}

	.number-value-number {
		font-size: 48px;
	}

	.number-txt {
		font-size: 12px;
	}

}


/*========== ABOUT US「私たちについて」 ==========*/
.top-block-2 {
	position: relative;
}

/* 背景イメージ */
.top-block-2-mainimg {
	background-image: url(../image/top/top_about_us.png);
	background-repeat: no-repeat;
	background-size: cover;
	height: 0px;
	overflow: hidden;
	padding-bottom: 49.99%;
	width: 100%;
}

/* 赤いボックス */
.top-block2-box {
	position: absolute;
	top: -80px;
	width: 594px;
}

.top-block2-h2 {
	color: #fff;
	font-size: 12px;
	line-height: 1.3;
	padding-top: 57px;
	text-align: center;
}

.block2-h2-en {
	display: block;
	font-size: 24px;
	font-weight: bold;
}

.block2-h2-sub {
	color: #dc0008;
	font-size: 80px;
	font-weight: bold;
	font-feature-settings: 'palt';
	line-height: 1.33;
	position: absolute;
	top: 152px;
	left: 78px;
	width: 110%;
}

.block2-h2-sub-span {
	background-color: #fff;
}

/* 文章 */
.block2-info-txt-wrapper {
	position: absolute;
	top: 30%;
	right: 10%;
	width: 37.5%;
}

.block2-info-txt {
	color: #fff;
	font-weight: bold;
	line-height: 2;
	text-align: justify;
}

/* ボタン */
.block2-more-button {
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	font-family: inherit;
	margin-top: 47px;
}

.block2-more-link {
	display: block;
}

/* 白ライン */
.block2-more-link::before {
	background-color: #fff;
	content: "";
	display: inline-block;
	margin-bottom: 5px;
	margin-right: 10px;
	width: 40px;
	height: 1px;
}

/* タブ　アイコン */
.block2-more-link::after {
	background-image: url(../image/top/icon_tab.svg);
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: inline-block;
	height: 10px;
	margin-left: 4px;
	width: 16px;
}

@media only screen and (max-width: 1280px) {

	/* 赤いボックス */
	.top-block2-box {
		width: 440px;
	}

	.top-block2-h2 {
		padding-top: 50px;
	}

	.block2-h2-en {
		font-size: 22px;
	}

	.block2-h2-sub {
		font-size: 60px;
		top: 135px;
		left: 75px;
	}

	/* 文章 */
	.block2-info-txt-wrapper {
		position: absolute;
		top: 25%;
		right: 10%;
		width: 40%;
	}
}

@media only screen and (max-width: 1040px) {

	/* 赤いボックス */
	.top-block2-box {
		width: 397px;
	}

	.top-block2-h2 {
		padding-top: 44px;
	}

	.block2-h2-en {
		font-size: 20px;
	}

	.block2-h2-sub {
		font-size: 54px;
		top: 115px;
		left: 45px;
	}

	/* 文章 */
	.block2-info-txt-wrapper {
		position: absolute;
		top: 20%;
		right: 7%;
		width: 45%;
	}
}

@media only screen and (max-width: 900px) {

	/* 赤いボックス */
	.top-block2-box {
		width: 357px;
	}

	.top-block2-h2 {
		padding-top: 35px;
	}

	.block2-h2-en {
		font-size: 20px;
	}

	.block2-h2-sub {
		font-size: 47px;
		top: 105px;
		left: 40px;
	}

	/* 文章 */
	.block2-info-txt-wrapper {
		font-size: 14px;
		position: absolute;
		top: 15%;
		right: 5%;
		width: 45%;
	}
}

@media only screen and (max-width: 767px) {
	.top-block2-box {
		position: absolute;
		top: -160px;
		width: 317px;
	}
	.top-block-2-mainimg {
		background-position: center;
		padding-bottom: 80%;
	}
	.top-block2-h2 {
		padding-top: 35px;
	}
	.block2-h2-sub {
		font-size: 40px;
		top: 115px;
		left: 20px;
	}
	.block2-info-txt-wrapper {
		top: 115px;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 89.4%;
	}
	.block2-info-txt {
		line-height: 1.75;
	}
	.block2-more-button {
		margin-top: 27px;
	}
}
@media only screen and (max-width: 610px) {
	.top-block-2-mainimg {padding-bottom: 90%}
}
@media only screen and (max-width: 440px) {
	.top-block-2-mainimg {padding-bottom: 110%}
}
@media only screen and (max-width: 390px) {
	.top-block-2-mainimg {padding-bottom: 139%}
	.block2-more-button {margin-top: 18px}
}

/*========== PEOPLE「社員紹介」 ==========*/
.top-block-3 {
	margin: 0 auto;
	padding: 120px 0;
}

.top-block3-h2 {
	color: #dc0008;
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 30px;
	text-align: center;
}

.block3-h2-en {
	display: block;
	font-size: 48px;
	font-weight: bold;
}

.block3-h2-sub {
	font-weight: bold;
	margin-bottom: 60px;
	text-align: center;
}

.top-people-container {
	display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	margin: 0 auto 40px;
}

.top-people-list {
	width: calc(100% / 3);
}

.top-people-link {
	display: block;
	position: relative;
}

.top-people-link:hover {
	/* 透過させない */
	opacity: 1;
}

.top-people-imgbox {
	height: 0;
	overflow: hidden;
	padding-bottom: 139%;
	position: relative;
	width: 100%;
}

.top-people-img {
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: all ease-in-out 0.4s;
	width: 100%;
	height: 100%;
}

.top-people-link:hover .top-people-img {
	height: 110%;
	width: 110%;
}

.top-people-info {
	color: #fff;
	font-weight: bold;
	position: absolute;
	left: 8%;
	bottom: 5.7%;
}

.top-people-title {
	font-size: 28px;
	line-height: 1.4;
}

.top-people-title::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 1px;
	margin: 14px 0 14px;
	width: 28px;
}

.top-people-name {
	font-size: 20px;
}

.top-people-department {
	font-size: 12px;
}

.top-people-join {
	font-size: 12px;
}

.top-people-view-button {
	display: block;
	margin: 0 auto;
	text-align: center;
	width: 100%;
}

.top-people-view-link {
	background-color: #dc0008;
	color: #fff;
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: 56px;
	line-height: 56px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 360px;
	z-index: 1;
}

.top-people-view-link::after {
	background-color: #c80004;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -100%;
	transition: all .25s ease-in-out;
	z-index: -1;
}

.top-people-view-link:hover::after {
	bottom: 0;
}

.top-people-view-link:hover {
	/* 透過させない */
	opacity: 1;
}

.view-link-span {
	display: block;
	height: 100%;
	width: 100%;
}

/* 矢印マーク（ → ） */
.view-link-span::after {
	background-image: url(../image/all/arrow_w30_white.svg);
	content: "";
	height:6px;
	position: absolute;
	top: 25px;
	right: 26px;
	transition: all ease-in-out 0.25s;
	width: 30px;
}

.top-people-view-link:hover .view-link-span::after{
	right: 16px;
}

@media only screen and (max-width: 767px) {

	.top-block-3 {
		margin: 0 auto;
		padding: 55px 0;
	}

	.top-block3-h2 {
		font-size: 12px;
		margin-bottom: 28px;
	}

	.block3-h2-en {
		font-size: 32px;
	}

	.block3-h2-sub {
		margin-bottom: 30px;
	}

	.top-people-container {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.top-people-list {
		width: 100%;
	}

	.top-people-imgbox {
		padding-bottom: 150%;
	}

	.top-people-view-link {
		max-width: 335px;
		width: 85%;
	}
}


/*========== CULTURE&CAREER「環境・キャリア」 TOP MESSAGE「トップメッセージ」 ==========*/

.block4-links-wrapper {
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
}

.links-page-link {
	display: block;
	position: relative;
	width: calc(100% / 2);
}

.links-page-link:hover {
	/* 透過させない */
	opacity: 1;
}

.links-page-img {
	height: 0;
	overflow: hidden;
	padding-bottom: 100%;
	position: relative;
	width: 100%;
}

.links-page-img-img {
	position: absolute;
	top: 50%;
	left: 50%;
	left: 50%;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: all ease-in-out 0.4s;
	width: 100.5%;
	height: 100.5%;
}

.links-page-link:hover .links-page-img-img {
	height: 110.5%;
	width: 110.5%;
}

.links-page-title {
	pointer-events: none;
	color: #fff;
	font-size: 1.09375vw;
	line-height: 1.3;
	position: absolute;
	top: 48%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
	transition: 0.8s
}

.links-page-title-en {
	display: block;
	font-size: 3.75vw;
	font-weight: bold;
	transition: 0.8s
}

.links-view-button {
	color: #fff;
	position: absolute;
	cursor: pointer;
	bottom: 12%;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: all .4s ease-in-out;
}



.links-view-button-span {
	font-size: 14px;
	font-weight: bold;
	position: relative;
	transition: 0.8s
}

/* 矢印マーク（ → ） */
.links-view-button-span::after {
	background-image: url(../image/all/arrow_w30_red.svg);
	content: "";
	height:6px;
	position: absolute;
	top: 6px;
	right: -42px;
	transition: all ease-in-out 0.25s;
	width: 30px;
}

a.links-page-link:hover .links-view-button-span{color: #dc0008;}


@media only screen and (max-width: 767px) {
	.block4-links-wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.links-page-link {
		width: 100%;
	}

	.links-page-title {
		font-size: 12px;
	}

	.links-page-title-en {
		font-size: 32px;
		line-height: 1.1;
		margin-bottom: 8px;
	}

	.links-view-button-span {
		font-size: 14px;
	}
}




/*========== FAQ「よくある質問」 ==========*/
.top-block-5 {
	padding: 115px 0 120px;
}

.top-block-5-h2 {
	color: #dc0008;
	font-size: 12px;
	line-height: 1.35;
	margin-bottom: 40px;
	text-align: center;
}

.block-5-h2-en {
	display: block;
	font-size: 48px;
	font-weight: bold;
}

.faq-container {
	border-top: solid 1px #e6e6e6;
	margin: 0 auto;
	width: 960px;
}

.faq-list {
	border-bottom: solid 1px #e6e6e6;
	padding: 40px 0 0;
}
@media only screen and (max-width: 767px) {
	.top-block-5 {
    	padding: 75px 0 60px;}
	.block-5-h2-en {
    	font-size: 32px;}
	.faq-container {
    	width: 89.4%;}
	.faq-list {
    	padding: 20px 0 0;}
}
/*---------- FAQリスト ----------*/
/*--- チェックボックスを非表示にする ---*/
.switchbox input {
    display: none;
	transition: all 0 ease-in-out;
}
/*== 質問 ==*/
.switchbox label {
    display: block;
    font-weight: bold;
    position: relative;
    padding-left: 105px;
	cursor: pointer
}
/*== Q ==*/
.switchbox label::before {
    content: "Q.";
    color: #dc0008;
    font-size: 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-style: italic;
    position: absolute;
    top: 48%;
    left: 25px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
}
/*== A ==*/
.checkbox-child::before {
    content: "A.";
    color: #dc0008;
    font-size: 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-style: italic;
    position: absolute;
    top: 48%;
    left: 25px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
}
/*== 回答 ==*/
.checkbox-child {
    background-color: #f5f5f5;
    font-weight: bold;
    margin-top: 40px;
    padding: 40px 40px 40px 105px;
    position: relative;
}
/*--- クリックで回答を非表示 ---*/
.switchbox input:checked + label + .checkbox-child {
    height: 0;
    margin-top: 0;
    opacity: 0;
    padding: 20px 0 0;
}
/*== アイコン ==*/
.switchbox label::after {
    background-image: url(../image/top/switch_off.svg);
    content: '';
    display: block;
    height: 2px;
    width: 16px;
    position: absolute;
    top: 48%;
    right: 20px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
}
/*--- クリックでアイコン入れ替え ---*/
.switchbox input:checked + label::after {
    background-image: url(../image/top/switch_on.svg);
    content: '';
    display: block;
    height:16px;
    width: 16px;
    position: absolute;
    top: 48%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
}


@media only screen and (max-width: 767px) {
	.switchbox label {
		padding-left: 55px;
		padding-right: 45px;
	}
	.switchbox label::before,
	.checkbox-child::before {
		font-size: 32px;
		left: 8px;
	}
	/*--- 回答を非表示にしておく ---*/
	.checkbox-child {
    height: 0;
    margin-top: 0;
    opacity: 0;
    overflow-y: hidden;
    padding: 20px 0 0;
	}
	/*--- クリックで回答を表示 ---*/
	.switchbox input:checked + label + .checkbox-child {
    height: auto;
    margin-top: 20px;
    opacity: 1;
    padding: 20px 45px 20px 55px;
	}
	/*== アイコン ==*/
	.switchbox label::after {
    background-image: url(../image/top/switch_on.svg);
    height: 16px;
    right: 12px;
	}
	/*--- クリックでアイコン入れ替え ---*/
	.switchbox input:checked + label::after {
    background-image: url(../image/top/switch_off.svg);
    content: '';
    display: block;
    height: 2px;
    width: 16px;
    position: absolute;
    top: 48%;
    right: 12px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
	}
}



/*========== JOB INFO「採用情報」 ==========*/

.top-block-6-box {
	background-image: url(../image/top/top_jobinfo.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}

.top-block-6-h2 {
	color: #fff;
	font-size: 12px;
	line-height: 1.35;
	margin-bottom: 35px;
	padding-top: 80px;
	text-align: center;
}

.block-6-h2-en {
	display: block;
	font-size: 48px;
	font-weight: bold;
}

.top-block-6-txt {
	color: #fff;
	font-weight: bold;
	text-align: center;
	margin-bottom: 50px;
}

/* ボタン */
.top-recruit-wrapper {
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
    align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 88px;
}

.top-recruit-button {
	display: block;
	font-size: 16px;
	font-family: inherit;
	font-weight: bold;
	text-align: center;
    max-width: 320px;
    width: 30%;
    height: 80px;
}

.top-recruit-button+.top-recruit-button{
	margin-left: 20px;
}

.top-recruit-link {
	box-sizing: border-box;
	border: solid 1px #fff;
	color: #fff;
	display: block;
	line-height: 80px;
	overflow: hidden;
	position: relative;
	transition: all .25s ease-in-out;
	width: 100%;
    height: 100%;
	z-index: 1;
}

.top-recruit-link::after {
	background-color: #dc0008;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	bottom: -100%;
	left: 0;
	transition: all .25s ease-in-out;
	z-index: -1;
}

.top-recruit-link:hover::after {
	bottom: 0;
}

.top-recruit-link:hover {
	border: solid 1px #dc0008;
	/* 透過させない */
	opacity: 1;
}

/* マイナビリンク */
.mynavi{
    display: flex;
    justify-content: center;
    align-items: center;
}
.mynavi .top-recruit-link {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
	line-height: 1!important;
}
.mynavi .top-recruit-link::after,
.mynavi .top-recruit-link:hover::after {
    display: none!important;
}
.mynavi .top-recruit-link:hover{
    border: 1px solid #fff!important;
    opacity: 0.7!important;
}



/* 矢印マーク（ → ） */
.op-recruit-link-span {
	display: block;
	position: relative;
}

.op-recruit-link-span::after {
	background-image: url(../image/all/arrow_w30_white.svg);
	content: "";
	height:6px;
	position: absolute;
	top: 37px;
	right: 26px;
	transition: all ease-in-out 0.25s;
	width: 30px;
}

.top-recruit-link:hover .op-recruit-link-span::after {
	right: 16px;
}

@media only screen and (max-width: 767px) {
	.block-6-h2-en {
		font-size: 32px;
	}

	.top-block-6-txt {
		margin: 0 auto 38px;
		width: 89.4%;
	}

	.top-recruit-wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-bottom: 80px;
	}

    .top-recruit-button{
        width: 95%;
    }
    .top-recruit-button+.top-recruit-button{
        margin-left: 0;
        margin-top: 20px;
    }

	.top-recruit-link {
		margin: 0 auto;
		max-width: 335px;
	}

}



/*========== COMPANY「会社情報」 ==========*/
.top-block-7 {
	margin: 0 auto;
	padding: 120px 0 140px;
}

.top-block-7-h2 {
	color: #dc0008;
	font-size: 12px;
	line-height: 1.35;
	margin-bottom: 35px;
	text-align: center;
}

.block-7-h2-en {
	display: block;
	font-size: 48px;
	font-weight: bold;
}

.block7-mainimg {
	margin-right: 160px;
	margin-bottom: 80px;
	overflow: hidden;
	position: relative;
	width: calc(100% - 160px);
}

.top-company-info-box {
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
	width: 960px;
}

.top-company-info-dl {
	border-top: solid 1px #e6e6e6;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 14px;
	width: 460px;
}

.top-company-info-dt,
.top-company-info-dd {
	border-bottom: solid 1px #e6e6e6;
	line-height: 1.8;
	padding: 15px 0;
}

.top-company-info-dt {
	font-weight: bold;
	width: 120px;
}

.top-company-info-dd {
	width: calc(460px - 120px);
}

.map-wrapper {
	width: 460px;
}

@media only screen and (max-width: 767px) {
	.top-block-7 {
		padding: 55px 0 80px;
	}

	.top-block-7-h2 {
		margin-bottom: 28px;
	}

	.block-7-h2-en {
		font-size: 32px;
	}

	.block7-mainimg {
		margin-right: 5.3%;
		margin-bottom: 40px;
		width: calc(100% - 5.3%);
	}

	.top-company-info-box,
	.top-company-info-dl {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.top-company-info-box {
		width: 89.4%;
	}

	.top-company-info-dl {
		border: 0;
		margin: 0 auto 40px;
		width: 100%;
	}

	.top-company-info-dt,
	.top-company-info-dd {
		border: 0;
		padding: 0;
		width: 100%;
	}

	.top-company-info-dt {
		padding-top: 15px;
	}

	.top-company-info-dd {
		padding-bottom: 15px;
		border-bottom: solid 1px #e6e6e6;
	}

	.map-wrapper {
		height: 378px;
		width: 100%;
	}
}


/*----- 2025.04.11 YouTube追加 -----*/
.top-block-8{
    max-width: 960px;
    margin: 60px auto 280px;
    padding: 0 20px;
}
.top-block-8 .bl_movie{
    margin: 0 auto;
    width: 100%;
    aspect-ratio: 16 / 9;
}
.top-block-8 .bl_movie iframe,
.top-block-8 .bl_movie video{
    border: none!important;
    width: 100%;
    height: 100%;
}
.top-block-8 .bl_movie iframe.pc,
.top-block-8 .bl_movie video.pc{
    display: none;
}
@media (min-width:768px){
    .top-block-8{
        margin: 80px auto 240px;
    }
}
@media (min-width:1024px){
    .top-block-8{
        padding: 0;
    }
}
@media (min-width:1200px){
    .top-block-8 .bl_movie iframe.sp,
    .top-block-8 .bl_movie video.sp{
        display: none;
    }
    .top-block-8 .bl_movie iframe.pc,
    .top-block-8 .bl_movie video.pc{
        display: block;
    }
}
