@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600&display=swap');



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}
html{font-size: 62.5%;}
body{font-size: 1.6em;}



/* マージン */
.margin02 {	margin-bottom: 2px; }
.margin05 {	margin-bottom: 5px; }
.margin06 {	margin-bottom: 6px; }
.margin08 {	margin-bottom: 8px; }
.margin10 {	margin-bottom: 10px; }
.margin15 {	margin-bottom: 15px; }
.margin20 {	margin-bottom: 20px; }
.margin30 {	margin-bottom: 30px; }
.margin40 {	margin-bottom: 40px; }


/* 文字装飾 */
strong {
	font-weight: bold;
}


ul li {
	list-style:none;	
}


/* box-sizing */ 
* {
	box-sizing: border-box;
}


/* float解除 */
.cbox { 
}
* html .cbox {
	zoom: 100%;
}
*:first-child+html .cbox {
	display: inline-block;
}
.cbox:after {
	content: ""; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}



/* img */ 
img {
	width: 100%;
	height: auto;
}



/* sp */ 
.sp {
	display: none;
}



/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #231815;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:before {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}


/* テキスト装飾 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 小文字 */
.cap {
	line-height: 1.5;
	font-size: 1.2rem;
}



/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-weight: 500;
	color: #000000;
	padding: 0;
	margin: 0;
	letter-spacing: 0.2em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}
body.fixed {
　width: 100%;
　height: 100%;
　position: fixed;
}



/* フォント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.en {
	font-family: 'Rajdhani', sans-serif;
	font-weight: 500;
}
.min {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}




/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	width: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
	#header .logo {
		padding-left: 20px;
	}
	#header .logo a {
		height: 100px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		#header .logo a img {
			width: 60px;
		}
		#header .logo a span {
			font-size: 1.2rem;
			line-height: 1.4em;
			letter-spacing: 0.1em;
			padding-left: 20px;
			padding-top: 5px;
		}


	#header .logo_osaka {
		height: 100px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-right: 20px;
	}
		#header .logo_osaka img {
			width: 180px;
		}


	#header .entry {
		width: 200px;
	}
		#header .entry li {
			width: 100px;
		}
			#header .entry li a {
				display: block;
				height: 100px;
				font-size: 1.3rem;
				font-weight: 500;
				line-height: 1.3em;
				letter-spacing: 0.1em;
				text-align: center;
				padding-top: 34px;
			}
			#header .entry li:nth-child(1) a {
				background: #c3002e;
				color: #fff;
			}
			#header .entry li a:hover {
				opacity: 0.7;
			}


	#header .menubtn {
		width: 100px;
		height: 100px;
		background: #000000;
	}
		#header .menubtn .menu {
			display: block;
			position: relative;
			cursor: pointer;
			width: 100px;
			height: 100px;
		}
			#header .menubtn .menu .openbtn-area {
				transition: all .4s;
			}
				#header .menubtn .menu span {
					width: 40px !important;
					display: inline-block;
					transition: all .4s;
					position: absolute;
					left: 50%;
					margin-left: -20px;
					height: 1px;
					background: #fff;
				}
				#header.is-animation .menubtn .menu span {
					background: #000 !important;
				}
				#header.is-animation.active .menubtn .menu span {
					background: #fff !important;
				}
				#header .menubtn .menu span:nth-of-type(1) {
					top: 40px;	
				}
				#header .menubtn .menu span:nth-of-type(2) {
					top: 50px;
				}
				#header .menubtn .menu span:nth-of-type(3) {
					width: 20px !important;
					top: 60px;
				}

			#header .menubtn .menu.active .openbtn-area {
				transform: rotateY(-360deg);
			}
				#header .menubtn .menu.active span:nth-of-type(1) {
					width: 40px !important;
					top: 45px;
					left: 50%;
					margin-left: -20px;
					transform: translateY(6px) rotate(-135deg);
				}
				#header .menubtn .menu.active span:nth-of-type(2) {
					opacity: 0;
				}
				#header .menubtn .menu.active span:nth-of-type(3) {
					width: 40px !important;
					top: 55px;
					left: 50%;
					margin-left: -20px;
					transform: translateY(-6px) rotate(135deg);
				}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	display: none;
	width: 100%;
	height: -webkit-calc(100vh - 100px);
	height: calc(100vh - 100px);
	background: #000000;
	overflow-y: scroll;
	position: fixed;
	top: 100px;
	left: 0;
	z-index: 12;
}
	#menubox .menunav {
		display: flex;
		justify-content: center;
		align-items: baseline;
		max-width: 1200px;
		color: #fff;
		margin: auto;
		padding: 50px 0;
	}
		#menubox .menunav .job-area {
			width: 70%;
			order: 2;
			padding-left: 5%;
		}
			#menubox .menunav .job-area .head {
				font-size: 1.8rem;
				line-height: 1;
			}

			#menubox .menunav .job-area .job-list .box {
				width: 30%;
				margin-right: 5%;
				margin-top: 35px;
			}
			#menubox .menunav .job-area .job-list .box:nth-last-child(1) {
				margin-right: 0;
			}
				#menubox .menunav .job-area .job-list .box .ttl {
					font-size: 2.4rem;
					color: #fff;
					line-height: 1;
					letter-spacing: 0.1em;
					margin-bottom: 15px;
				}
					#menubox .menunav .job-area .job-list .box .ttl .jp {
						font-size: 1.4rem;
						line-height: 1;
						letter-spacing: 0.06em;
						padding-left: 8px;
					}

				#menubox .menunav .job-area .job-list .box ul.page-list li {
					padding: 18px 0;
					border-top: solid 1px rgba(255,255,255,0.3);
				}
				#menubox .menunav .job-area .job-list .box ul.page-list li:nth-last-child(1) {
					margin: 0;
				}
					#menubox .menunav .job-area .job-list .box ul.page-list li a {
						display: block;
						font-size: 1.4rem;
						font-weight: 500;
						letter-spacing: 0.1em;
						color: #fff;
						padding: 0 0 0 10px;
						background: url("../img/icon_arrow_white.svg") no-repeat left center / 5px;
						opacity: 0.8;
					}
					#menubox .menunav .job-area .job-list .box ul.page-list li a:hover {
						opacity: 1;
					}
						#menubox .menunav .job-area .job-list .box ul.page-list li ul.sublist {
							padding-left: 15px;
							padding-top: 3px;
						}
							#menubox .menunav .job-area .job-list .box ul.page-list li ul.sublist li {
								margin-bottom: 1px;
								padding: 0;
								border-top: none;
							}
								#menubox .menunav .job-area .job-list .box ul.page-list li ul.sublist li a {
									font-size: 1.3rem;
								}


		#menubox .menunav .local-area {
			width: 30%;
			order: 1;
			border-right: solid 1px rgba(255,255,255,0.3);
		}
			#menubox .menunav .local-area ul li {
				border-bottom: solid 1px rgba(255,255,255,0.3);
				padding: 20px;
			}
			#menubox .menunav .local-area ul li:nth-last-child(1) {
				border-bottom: none;
			}
				#menubox .menunav .local-area ul li .en {
					font-size: 2.0rem;
					color: #fff;
					line-height: 1;
					letter-spacing: 0.1em;
				}
				#menubox .menunav .local-area ul li a {
					color: #fff;
				}
					#menubox .menunav .local-area ul li .jp {
						font-size: 1.2rem;
						line-height: 1;
						letter-spacing: 0.06em;
						padding-left: 8px;
					}

				#menubox .menunav .local-area ul li .sub_list {
					padding-top: 8px;
				}
					#menubox .menunav .local-area ul li .sub_list li {
						width: 100%;
						margin: 0 0 3px 0;
						padding: 0;
						border-bottom: none;
					}
					#menubox .menunav .local-area ul li .sub_list li:nth-last-child(1) {
						margin: 0;
					}
						#menubox .menunav .local-area ul li .sub_list li a {
							display: block;
							font-size: 1.3rem;
							font-weight: 500;
							letter-spacing: 0.1em;
							color: #fff;
							padding: 0 0 0 10px;
							background: url("../img/icon_arrow_white.svg") no-repeat left center / 5px;
							opacity: 0.8;
						}
						#menubox .menunav .local-area ul li .sub_list li a:hover {
							opacity: 1;
						}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 新卒エントリーメニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.entry_box {
	display: none;
	width: 100%;
	height: 100vh;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
	.entry_box .menunav {
		display: flex;
		justify-content: center;
		align-items: center;
		max-width: 1200px;
		margin: auto;
		height: 100vh;
	}
		.entry_box .menunav .close {
			width: 24px;
			height: 24px;
			background: url("../img/icon_close.svg") no-repeat;
			position: absolute;
			top: 20px;
			right: 20px;
			cursor: pointer;
		}


		.entry_box .menunav h2 {
			font-size: 3.0rem;
			text-align: center;
			line-height: 1.4em;
			margin-bottom: 10px;
		}
		#entry_box_career .menunav h2 {
			margin-bottom: 40px;
		}
		.entry_box .menunav .txt {
			text-align: center;
			margin-bottom: 40px;
		}


		.entry_box .list {
			width: 1200px;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
			.entry_box .list .box {
				width: 49%;
				background: #F2F2F2;
				padding: 50px;
			}
				.entry_box .list .box h3 {
					font-size: 1.8rem;
					text-align: center;
					letter-spacing: 0.15em;
					line-height: 1.4em;
					margin-bottom: 10px;
				}
				.entry_box .list .box p {
					font-size: 1.3rem;
					text-align: center;
					letter-spacing: 0.1em;
					padding-bottom: 20px;
				}

				.entry_box .list .box ul li {
					margin-top: 20px;
				}
					.entry_box .list .box ul li a {
						height: 70px;
						display: flex;
						justify-content: center;
						align-items: center;
						background: #fff url("../img/icon_blank_black.svg") no-repeat 95% center;
						font-size: 1.5rem;
						line-height: 1.4em;
						letter-spacing: 0.1em;
						padding: 0 20px 0 0;
						text-align: center;
					}
						.entry_box .list .box ul li a img {
							width: 150px;
						}
						.entry_box .list .box ul li a span {
							padding-left: 10px;
						}

				.entry_box .list .box dl {
					background: #fff;
					padding: 29px 10px;
					margin-top: 40px;
				}
				.entry_box .list .box dl.mt0 {
					margin-top: 0;
				}
					.entry_box .list .box dl dt {
						font-size: 1.6rem;
						letter-spacing: 0.1em;
						text-align: center;
						margin-bottom: 12px;
					}
					.entry_box .list .box dl dd {
						font-size: 1.4rem;
						letter-spacing: 0.1em;
						text-align: center;
						line-height: 1.5em;
					}
						.entry_box .list .box dl dd a {
							color: #C3002F;
						}
						.entry_box .list .box dl dd a:hover {
							text-decoration: underline;
						}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */


/* main */
#main {
	display: block;
}
.inner {
	width: 1200px;
	margin: auto;
	position: relative;
}


/* txt */
.txt {
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	line-height: 2.2em;
}


/* more */
a .more {
	width: 170px;
	height: 80px;
	line-height: 80px;
	position: relative;
}
a .more:before {
	content: "";
	width: 80px;
	height: 80px;
	background: #000 url("../img/icon_arrow_white.svg") no-repeat center;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 0;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a .more.white:before {
	background: #fff url("../img/icon_arrow_black.svg") no-repeat center;
}
a:hover .more:before {
	width: 90px;
	height: 90px;
	top: -5px;
	right: -5px;
}
	a .more .en {
		font-size: 1.4rem;
		font-weight: 600;
		letter-spacing: 0.1em;
	}
	a .more.white .en {
		color: #fff;
	}


/* linkbox */
.linkbox a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 380px;
	padding: 0 100px;
}
.linkbox a:hover {
	background: rgba(0,0,0,0.7);
}
	.linkbox a .head {
		width: -webkit-calc(100% - 170px);
		width: calc(100% - 170px);
	}
	.linkbox a .head.white {
		color: #fff;
	}
		.linkbox a .head .en {
			font-size: 1.4rem;
			font-weight: 700;
			letter-spacing: 0.1em;
		}
		.linkbox a .head h3 {
			font-size: 3.0rem;
			font-weight: 600;
			line-height: 1.4em;
			padding-bottom: 10px;
		}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
	margin-top: 100px;
	padding-left: 100px;
	position: relative;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
#pagetitle:before {
	content: "";
    width: 100%;
	height: 50%;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
	#pagetitle .pht_bg {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		height: -webkit-calc(100vh - 100px);
		height: calc(100vh - 100px);
		position: relative;
		padding: 0 100px;
	}
		#pagetitle .pht_bg dl {
			position: absolute;
			top: 100px;
			left: 100px;
			color: #fff;
		}
			#pagetitle .pht_bg dl dt {
				font-size: 2.0rem;
				line-height: 1;
				letter-spacing: 0.06em;
				padding-right: 30px;
				background: url("../img/border.svg") no-repeat right 49%;
				margin-right: 15px;
			}
			#pagetitle .pht_bg dl dd {
				padding-top: 1px;
				font-size: 1.4rem;
				line-height: 1;
			}

		#pagetitle .pht_bg .headtit h1 {
			font-size: 5.0rem;
			line-height: 1.4em;
			letter-spacing: 0.2em;
			margin-bottom: 30px;
			color: #fff;
		}

		#pagetitle .pht_bg .headtit .en {
			font-size: 1.5rem;
			line-height: 1;
		}
			#pagetitle .pht_bg .headtit .en span {
				background: #000;
				color: #fff;
				padding: 3px 5px;
			}



/* title */
.title {
	margin-bottom: 60px;
}
.title.white {
	color: #fff;
}
	.title .en {
		font-size: 1.4rem;
		line-height: 1;
		letter-spacing: 0.06em;
		text-align: center;
		margin-bottom: 25px;
	}

	.title h2 {
		font-size: 3.4rem;
		line-height: 1.4rem;
		letter-spacing: 0.25em;
		text-align: center;
	}

	.title .txt {
		margin-top: 40px;
		text-align: center;
	}


	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: 100%;
	background: #000;
	position: relative;
}
#footer:before {
	background: #fff;
	content: "";
	width: 100%;
	height: 250px;
	position: absolute;
	top: 0;
	left: 0;
}
#footer.gray:before {
	background: #F2F2F2;
}
	#footer .pagetop {
		position: absolute;
		top: 350px;
		left: 45px;
		z-index: 2;
	}

	#footer .entrybox {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: -webkit-calc(100% - 100px);
		width: calc(100% - 100px);
		height: 500px;
		margin-left: 100px;
		padding: 0 100px;
		background: url("../img/entry_pht.jpg") no-repeat center / cover;
		position: relative;
		z-index: 2;
	}
		#footer .entrybox .headtit {
			position: relative;
			width: -webkit-calc(100% - 590px);
			width: calc(100% - 590px);
		}
			#footer .entrybox .headtit .catch {
				font-size: 4.0rem;
				color: #fff;
				margin-bottom: 5px;
			}

			#footer .entrybox .headtit .en {
				font-size: 1.4rem;
				line-height: 1;
				letter-spacing: 0.1em;
			}
				#footer .entrybox .headtit .en span {
					background: #000;
					color: #fff;
					padding: 3px 5px;
				}

		#footer .entrybox ul.link {
			width: 590px;
		}
			#footer .entrybox ul.link li {
				width: 48%;
			}
				#footer .entrybox ul.link li a {
					height: 80px;
					background: #000 url("../img/icon_arrow_white.svg") no-repeat 93% center;
					display: flex;
					justify-content: center;
					align-items: center;
					font-size: 1.4rem;
					font-weight: 500;
					line-height: 1.4em;
					color: #fff;
				}
				#footer .entrybox ul.link li a:hover {
					background: #000 url("../img/icon_arrow_white.svg") no-repeat 95% center;
				}
					#footer .entrybox ul.link li a span {
						font-size: 1.7rem;
						letter-spacing: 0.06em;
					}


	#footer .infobox {
		padding: 0 100px;
		position: relative;
	}
		#footer .infobox ul.globalnav {
			width: 100%;
			border-left: solid 1px rgba(255,255,255,0.1);
		}
			#footer .infobox ul.globalnav li {
				width: 20%;
				border-right: solid 1px rgba(255,255,255,0.1);
				padding-top: 80px;
				padding-bottom: 220px;
			}
				#footer .infobox ul.globalnav li .en {
					display: block;
					font-size: 1.5rem;
					color: #383838;
					letter-spacing: 0.1em;
				}

				#footer .infobox ul.globalnav li .sub_list {
					border: none;
				}
					#footer .infobox ul.globalnav li .sub_list li {
						width: 100%;
						border: none;
						padding: 0;
						margin-top: 12px;
					}
						#footer .infobox ul.globalnav li .sub_list li a {
							display: block;
							font-size: 1.2rem;
							color: #fff;
							line-height: 1.5em;
							letter-spacing: 0.1em;
							padding: 0 10px;
						}
						#footer .infobox ul.globalnav li .sub_list li a:hover {
							opacity: 0.7;
						}


		#footer .infobox .other {
			width: 100%;
			padding: 0 100px;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: 2;
		}
			#footer .infobox .other .access {
				color: #fff;
			}
				#footer .infobox .other .access dt {
					font-size: 1.4rem;
					margin-bottom: 10px;
				}
				#footer .infobox .other .access dd {
					font-size: 1.2rem;
				}
				#footer .infobox .other .access dd a {
					display: block;
					margin-top: 10px;
					letter-spacing: 0.04em;
					color: #fff;
					text-decoration: underline;
				}
				#footer .infobox .other .access dd a:hover {
					text-decoration: none;
				}

			#footer .infobox .other .insta {
				width: 170px;
				position: absolute;
				bottom: 80px;
				left: 360px;
			}

			#footer .infobox .other .text {
				width: 400px;
			}
				#footer .infobox .other .text ul li {
					width: 100%;
				}
					#footer .infobox .other .text ul li a {
						height: 64px;
						display: flex;
						justify-content: center;
						align-items: center;
						border: solid 1px #fff;
						background: #000 url("../img/icon_blank.svg") no-repeat 93% center;
						font-size: 1.7rem;
						font-weight: 700;
						color: #fff;
						padding: 0 20px;
						text-align: center;
					}
					#footer .infobox .other .text ul li a:hover {
						opacity: 0.7;
					}
						#footer .infobox .other .text ul li a img {
							width: auto;
							height: 20px;
						}

				#footer .infobox .other .text .copyright {
					font-size: 1.0rem;
					line-height: 1;
					text-align: right;
					color: #fff;
					padding: 50px 0;
				}
	







/* max 1400px */
@media screen and (max-width: 1400px) {
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox .menunav {
	max-width: 100%;
	padding: 0;
}
	#menubox .menunav .job-area {
		padding-left: 3%;
	}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 新卒エントリーメニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.entry_box .menunav {
	width: 100%;
	max-width: 100%;
	padding: 0 5%;
}
	.entry_box .list {
		width: 1000px;
	}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */


/* main */
.inner {
	width: 100%;
	padding: 0 100px;
}


/* linkbox */
.linkbox a {
	padding: 0 5%;
}


	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer:before {
	height: 200px;
}
	#footer .pagetop {
		top: 250px;
	}
	
	#footer .entrybox {
		display: block;
		height: 400px;
		padding: 65px 5% 0 5%;
	}
		#footer .entrybox .headtit {
			width: 100%;
			position: relative;
			text-align: center;
		}
			#footer .entrybox .headtit .en {
				width: 100%;
				text-align: center;
			}

		#footer .entrybox ul.link {
			padding-top: 40px;
			margin: auto;
		}
	

}





/* 1024px */
@media screen and (max-width: 1024px) {




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	height: 70px;
}
	#header .logo {
		padding-left: 12px;
	}
	#header .logo a {
		height: 70px;
	}
		#header .logo a img {
			width: 40px;
		}
		#header .logo a span {
			font-size: 1.0rem;
			line-height: 1.2em;
			letter-spacing: 0;
			padding-left: 10px;
			padding-top: 1px;
		}


	#header .logo_osaka {
		height: 70px;
		padding-right: 14px;
	}
		#header .logo_osaka img {
			width: 120px;
		}


	#header .entry {
		width: 160px;
	}
		#header .entry li {
			width: 80px;
		}
			#header .entry li a {
				height: 70px;
				font-size: 1.1rem;
				padding-top: 20px;
			}
			#header .entry li a:hover {
				opacity: 0.7;
			}

	#header .menubtn {
		width: 70px;
		height: 70px;
	}
		#header .menubtn .menu {
			width: 70px;
			height: 70px;
		}
				#header .menubtn .menu span {
					width: 30px !important;
					margin-left: -15px;
				}
				#header .menubtn .menu span:nth-of-type(1) {
					top: 27px;	
				}
				#header .menubtn .menu span:nth-of-type(2) {
					top: 35px;
				}
				#header .menubtn .menu span:nth-of-type(3) {
					width: 15px !important;
					top: 43px;
				}

				#header .menubtn .menu.active span:nth-of-type(1) {
					width: 30px !important;
					top: 32px;
					margin-left: -15px;
				}
				#header .menubtn .menu.active span:nth-of-type(3) {
					width: 30px !important;
					top: 43px;
					margin-left: -15px;
				}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	height: -webkit-calc(100vh - 70px);
	height: calc(100vh - 70px);
	top: 70px;
}
	#menubox .menunav .job-area {
		width: 50%;
		order: 2;
		padding-top: 20px;
		padding-left: 4%;
		border-left: solid 1px rgba(255,255,255,0.3);
	}
		#menubox .menunav .job-area .head {
			margin-bottom: 30px;
		}

		#menubox .menunav .job-area .job-list {
			display: block;
		}
		#menubox .menunav .job-area .job-list .box {
			width: 100%;
			margin-right: 0;
			margin-top: 25px;
		}
			#menubox .menunav .job-area .job-list .box ul.page-list li {
				padding: 12px 0;
			}


		#menubox .menunav .local-area {
			width: 50%;
			order: 1;
			border-right: none;
		}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 新卒エントリーメニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.entry_box .menunav {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 12%;
	overflow: hidden;
	overflow-y: scroll;
}
	.entry_box .menunav .textbox {
		padding: 80px 0;
	}
	.entry_box .menunav h2 {
		font-size: 2.4rem;
	}
	#entry_box_career .menunav h2 {
		margin-bottom: 20px;
	}
	.entry_box .menunav .txt {
		margin-bottom: 0;
	}


	.entry_box .list {
		display: block;
		width: 100%;
	}
		.entry_box .list .box {
			width: 100%;
			background: #F2F2F2;
			padding: 30px;
			margin-top: 30px;
		}
			.entry_box .list .box h3 {
				font-size: 1.6rem;
			}
			.entry_box .list .box p {
				font-size: 1.2rem;
			}

			.entry_box .list .box ul li {
				margin-top: 10px;
			}
				.entry_box .list .box ul li a {
					height: 60px;
					font-size: 1.4rem;
					padding: 0 20px;
				}
				.entry_box .list .box ul li a:hover {
					background: #fff url("../img/icon_blank_black.svg") no-repeat 95% center;
					color: #000;
				}


				.entry_box .list .box dl {
					background: #fff;
					padding: 20px 10px;
					margin-top: 20px;
				}
				.entry_box .list .box dl.mt0 {
					margin-top: 0;
				}
					.entry_box .list .box dl dt {
						font-size: 1.3rem;
						margin-bottom: 7px;
						letter-spacing: 0.06em;
					}
					.entry_box .list .box dl dd {
						font-size: 1.2rem;
					}


	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* main */
.inner {
	width: 100%;
	padding: 0 5%;
}

.txt {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 2em;
}


/* more */
a .more {
	width: 120px;
	height: 50px;
	line-height: 50px;
}
a .more:before {
	width: 50px;
	height: 50px;
}
a:hover .more:before {
	width: 50px;
	height: 50px;
	top: 0;
	right: 0;
}
	a .more .en {
		font-size: 1.2rem;
	}


/* linkbox */
.linkbox a {
	height: 250px;
	padding: 0 5%;
}
.linkbox a:hover {
	background: rgba(0,0,0,0.3);
}
	.linkbox a .head {
		width: -webkit-calc(100% - 140px);
		width: calc(100% - 140px);
	}
		.linkbox a .head .en {
			font-size: 1.2rem;
		}
		.linkbox a .head h3 {
			font-size: 2.0rem;
			font-weight: 600;
			letter-spacing: 0.1em;
			line-height: 1.4em;
			padding-bottom: 10px;
		}
		.linkbox a .head .txt {
			font-size: 1.2rem;
			line-height: 1.6em;
		}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
	margin-top: 70px;
	padding-left: 5%;
}
	#pagetitle .pht_bg {
		height: 600px;
		padding: 0 5%;
	}
		#pagetitle .pht_bg dl {
			top: 50px;
			left: 5%;
		}
			#pagetitle .pht_bg dl dt {
				font-size: 1.8rem;
			}
			#pagetitle .pht_bg dl dd {
				font-size: 1.2rem;
			}

		#pagetitle .pht_bg .headtit h1 {
			font-size: 3.6rem;
			margin-bottom: 20px;
		}

		#pagetitle .pht_bg .headtit .en {
			font-size: 1.2rem;
			letter-spacing: 0.1em;
		}



/* title */
.title {
	margin-bottom: 40px;
}
	.title .en {
		font-size: 1.1rem;
		margin-bottom: 10px;
	}

	.title h2 {
		font-size: 2.4rem;
		line-height: 1.5em;
		letter-spacing: 0.15em;
	}

	.title .txt {
		margin-top: 25px;
	}


	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer:before {
	height: 140px;
}
	#footer .pagetop {
		display: none;
	}
	
	
	#footer .entrybox {
		width: 90%;
		height: 280px;
		margin: auto;
		padding: 40px 5%;
	}
		#footer .entrybox .headtit {
			margin-bottom: 8px;
		}
			#footer .entrybox .headtit .catch {
				font-size: 3.0rem;
			}

			#footer .entrybox .headtit .en {
				font-size: 1.0rem;
				letter-spacing: 0.06em;
			}

		#footer .entrybox ul.link {
			width: 100%;
		}
			#footer .entrybox ul.link li {
				width: 48%;
			}
				#footer .entrybox ul.link li a {
					height: 70px;
					font-size: 1.3rem;
				}
				#footer .entrybox ul.link li a:hover {
					background: #000 url("../img/icon_arrow_white.svg") no-repeat 93% center;
				}


	#footer .infobox {
		padding: 0 5%;
	}
		#footer .infobox ul.globalnav {
			display: none;
		}


		#footer .infobox .other {
			padding: 50px 0 0 0;
			position: static;
		}
			#footer .infobox .other .access dt {
				font-size: 1.3rem;
			}
			#footer .infobox .other .access dd {
				font-size: 1.1rem;
				letter-spacing: 0.04em;
			}
				#footer .infobox .other .access dd br {
					display: none;
				}
				#footer .infobox .other .access dd br.pc {
					display: block;
				}

			#footer .infobox .other .insta {
				width: 120px;
				bottom: 20px;
				left: 5%;
			}

			#footer .infobox .other .text {
				width: 325px;
			}
					#footer .infobox .other .text ul li a {
						height: 60px;
						font-size: 1.5rem;
						padding: 0 20px;
					}

				#footer .infobox .other .text .copyright {
					letter-spacing: 0.15em;
				}



}

	







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


.sp {
	display: block;
}
.pc {
	display: none;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header .logo_osaka {
	height: 70px;
	padding-right: 10px;
}
	#header .logo_osaka img {
		width: 120px;
	}


#header .entry {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	background: #fff;
}
	#header .entry li {
		width: 50%;
		border-top: solid 1px #ddd;
	}
		#header .entry li a {
			height: 50px;
			font-size: 1.4rem;
			padding-top: 0;
			line-height: 50px;
			letter-spacing: 0;
		}
		#header .entry li:nth-child(1) a {
			background: #c3002e;
			color: #fff;
		}
		#header .entry li a:hover {
			opacity: 1;
		}
			#header .entry li a br {
				display: none;
			}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	height: -webkit-calc(100vh - 70px);
	height: calc(100vh - 70px);
	top: 70px;
}
	#menubox .menunav {
		display: block;
		padding-bottom: 90px;
	}
		#menubox .menunav .job-area {
			width: 100%;
			padding-top: 22px;
			padding-left: 0;
			border-left: none;
			border-bottom: solid 1px rgba(255,255,255,0.3);
		}
			#menubox .menunav .job-area .head {
				margin-bottom: 20px;
				padding: 0 5%;
			}

			#menubox .menunav .job-area .job-list {
				display: block;
			}
			#menubox .menunav .job-area .job-list .box {
				width: 100%;
				margin-right: 0;
				margin-top: 0;
				border-top: solid 1px rgba(255,255,255,0.3);
				padding: 0 5%;
			}
				#menubox .menunav .job-area .job-list .box .ttl {
					font-size: 2.0rem;
					margin-bottom: 0;
					padding: 18px 0;
					cursor: pointer;
					background: url("../img/icon_open_sp.svg") no-repeat right center / 18px;
				}
				#menubox .menunav .job-area .job-list .box .ttl.active {
					background: url("../img/icon_close_sp.svg") no-repeat right center / 18px;
				}
					#menubox .menunav .job-area .job-list .box .ttl .jp {
						font-size: 1.2rem;
						line-height: 1;
						letter-spacing: 0.06em;
						padding-left: 8px;
					}
	
				#menubox .menunav .job-area .job-list .box ul.page-list {
					display: none;
					padding: 0 0 20px 0;
				}
					#menubox .menunav .job-area .job-list .box ul.page-list li {
						padding: 0;
						border: none;
						margin: 0 0 10px 0;
					}
					#menubox .menunav .job-area .job-list .box ul.page-list li:nth-last-child(1) {
						margin: 0;
					}
						#menubox .menunav .job-area .job-list .box ul.page-list li a {
							padding: 0 12px;
						}
							#menubox .menunav .job-area .job-list .box ul.page-list li ul.sublist li {
								margin: 0;
							}


			#menubox .menunav .local-area {
				width: 100%;
				padding: 0 5%;
			}
				#menubox .menunav .local-area ul li {
					border-bottom: none;
					padding: 25px 0 0 0;
				}
					#menubox .menunav .local-area ul li .sub_list {
						padding-top: 3px;
					}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 新卒エントリーメニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.entry_box .menunav {
	padding: 0 10%;
}
	.entry_box .menunav .textbox {
		padding: 50px 0;
	}
	.entry_box .menunav h2 {
		font-size: 2.3rem;
		margin-bottom: 15px;
	}
	.entry_box .menunav .txt {
		margin-bottom: 0;
		line-height: 1.6em;
		padding-bottom: 10px;
	}


	.entry_box .list {
		display: block;
		width: 100%;
	}
		.entry_box .list .box {
			padding: 20px;
			margin-top: 20px;
		}
			.entry_box .list .box h3 {
				font-size: 1.5rem;
				letter-spacing: 0.06em;
			}
			.entry_box .list .box p {
				font-size: 1.2rem;
				padding-bottom: 10px;
			}

				.entry_box .list .box ul li a {
					display: block;
					font-size: 1.3rem;
					letter-spacing: 0.06em;
					padding-top: 12px;
				}
				.entry_box .list .box ul li a img {
					width: 120px;
				}
				.entry_box .list .box ul li a span {
					display: block;
					padding-left: 0;
				}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */




/* linkbox */
.linkbox a {
	display: block;
	height: auto;
	padding: 40px 25px 30px 25px;
}
.linkbox a:hover {
	background: rgba(0,0,0,0.5);
}
	.linkbox a .head {
		width: 100%;
		padding-bottom: 20px;
	}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
	margin-top: 70px;
	padding-left: 0;
}
	#pagetitle .pht_bg {
		height: 400px;
		padding: 0 5%;
	}
		#pagetitle .pht_bg dl {
			top: 50px;
			left: 5%;
		}
			#pagetitle .pht_bg dl dd {
				letter-spacing: 0.06em;
			}

		#pagetitle .pht_bg .headtit h1 {
			font-size: 3.0rem;
			letter-spacing: 0.1em;
			margin-bottom: 20px;
		}

		#pagetitle .pht_bg .headtit .en {
			font-size: 1.2rem;
			letter-spacing: 0.1em;
		}


	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer:before {
	height: 115px;
}
	#footer .entrybox {
		height: 250px;
	}
		#footer .entrybox .headtit .catch {
			font-size: 2.4rem;
			letter-spacing: 0.01em;
		}

		#footer .entrybox .headtit .en {
			font-size: 1.2rem;
			letter-spacing: 0.06em;
		}

		#footer .entrybox ul.link {
			width: 100%;
			padding-top: 30px;
		}
			#footer .entrybox ul.link li {
				width: 49%;
			}
				#footer .entrybox ul.link li a {
					height: 60px;
					font-size: 1.3rem;
					letter-spacing: 0.1em;
					text-indent: 0;
					text-align: center;
				}
				#footer .entrybox ul.link li a {
					background: #000 url("../img/icon_arrow_white.svg") no-repeat 95% center / 6px
				}
				#footer .entrybox ul.link li a:hover {
					background: #000 url("../img/icon_arrow_white.svg") no-repeat 95% center / 6px;
				}


	#footer .infobox .other {
		display: block;
		padding: 40px 0 0 0;
	}
		#footer .infobox .other .access dt {
			font-size: 1.2rem;
			text-align: center;
		}
		#footer .infobox .other .access dd {
			font-size: 1.0rem;
			text-align: center;
			letter-spacing: 0.15em;
			margin-bottom: 20px;
		}
		#footer .infobox .other .access dd {
			font-size: 1.0rem;
			text-align: center;
			letter-spacing: 0.15em;
			margin-bottom: 20px;
		}

		#footer .infobox .other .insta {
			position: static;
			width: 100px;
			margin: 0 auto 20px auto;
		}

		#footer .infobox .other .text {
			width: 100%;
		}
				#footer .infobox .other .text ul li a {
					height: 50px;
					font-size: 1.1rem;
					letter-spacing: 0.06em;
					text-indent: -10px;
					padding: 0 15px;
				}
				#footer .infobox .other .text ul li a:hover {
					opacity: 1;
				}
					#footer .infobox .other .text ul li a img {
						width: auto;
						height: 10px;
					}

			#footer .infobox .other .text .copyright {
				padding: 40px 0 90px 0;
			}


}