@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (min-width: 897px) and (max-width: 1280px) {
	html {
		font-size: calc(1000vw / 1280);
	}
}
@media all and (max-width: 374px) {
	html {
		font-size: calc(1000vw / 375);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Sans JP", sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #1A1A1A;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #1A1A1A;
}
a:hover {
	color: #1A1A1A;
}
a:active {
	color: #1A1A1A;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-ltt */
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #1A1A1A;
	font-size: 2.4rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	text-align: left;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	comMenu
------------------------------------------------------------*/
.comMenu {
	margin: 0 auto;
	padding: 0 1.5rem;
	max-width: 170.2rem;
	align-items: flex-start;
}
.comMenu .logoBox {
	width: 26.1%;
	min-width: 35rem;
	display: flex;
	align-items: center
}
.comMenu .logo img {
	width: 15.3rem;
}
.comMenu .logoBox p {
	margin: 2rem 0 0 2rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 300;
	white-space: nowrap;
}
.comMenu .rBox {
	margin-top: 1.5rem;
	flex: 1;
}
.comMenu .rBox .col {
	width: 48.5%;
}
.comMenu .rBox .col:last-child {
	width: auto;
	flex: 1;
}
.comMenu .menuList:not(:last-child) {
	margin-bottom: 7rem;
}
.comMenu .menuList > li {
	line-height: 2.17;
	margin-bottom: 7rem;
}
.comMenu .menuList > .liStyle {
	margin-bottom: 3.8rem;
}
.comMenu .menuList > li:last-child {
	margin-bottom: 0 !important;
}
.comMenu .menuList .subList {
	margin: 0 0 0 2.4rem;
}
.comMenu .menuList a {
	color: #fff;
}
.comMenu .rBox .comBtn a {
	margin: 0;
	color: #C32200;
	font-size: 2.4rem;
	width: 24rem;
	height: 6rem;
	background-color: #fff;
}
.comMenu .menuList a:hover {
	opacity: 0.7;
}
.fInner.comMenu .menuList {
	font-size: 20px;
}

@media all and (max-width: 896px) {
	.comMenu {
		padding: 0;
		display: block;
	}
	.comMenu .logoBox {
		width: auto;
		min-width: inherit;
	}
	.comMenu .logo img {
		width: 7.6rem;
	}
	.comMenu .logoBox p {
		margin: 1.2rem 0 0 1rem;
		font-size: 0.9rem;
	}
	.comMenu .rBox {
		margin-top: 0;
		display: block;
	}
	.comMenu .rBox .col {
		width: auto;
	}
	.comMenu .rBox .col:not(:last-child) {
		margin-bottom: 2.4rem;
	}
	.comMenu .menuList:not(:last-child) {
		margin-bottom: 2.7rem;
	}
	.comMenu .menuList > li {
		margin-bottom: 1.85rem;
		font-size: 1.2rem;
	}
	.comMenu .menuList > .liStyle {
		margin-bottom: 2.1rem;
	}
	.comMenu .menuList .subList {
		margin-left: 1.2rem;
	}
	.comMenu .rBox .comBtn {
		margin-left: 0.3rem;
	}
	.comMenu .rBox .comBtn a {
		font-size: 1.2rem;
		width: 12rem;
		height: 3rem;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader .hInner {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	height: 10rem;
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.7);
	width: 100%;
	transition: all 0.3s;
}
#gHeader .hInner h1 {
	margin-left: 5.5rem;
	display: flex;
	align-items: center;
}
#gHeader .hInner h1 img {
	width: 15.5rem;
}
#gHeader .hInner h1 span {
	margin: 2rem 0 0 2rem;
	font-size: 1.8rem;
	font-weight: 300;
}
.menu {
	position: fixed;
	right: 0;
	top: 0;
	z-index: 101;
	width: 19rem;
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 101;
	transition: all .3s ease;
}
.menu > div {
	margin: 0 auto;
	width: 8.8rem;
	height: 4rem;
	position: relative;
}
.menu span {
	background-color: #1A1A1A;
	border: none;
	height: 2px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.menu span:nth-of-type(2) {
	top: 2rem;
}
.menu span:nth-of-type(3) {
	top: 4rem;
}
.menu.on {
	background: rgba(255, 255, 255, 0.7);
}
.menu.on > div {
	width: 9.6rem;
}
.menu.on .top {
	-webkit-transform: translateY(2rem) translateX(0) rotate(24deg);
	-ms-transform: translateY(2rem) translateX(0) rotate(24deg);
	transform: translateY(2rem) translateX(0) rotate(24deg);
}
.menu.on .middle {
	opacity: 0;
}
.menu.on .bottom {
	-webkit-transform: translateY(-2rem) translateX(0) rotate(-24deg);
	-ms-transform: translateY(-2rem) translateX(0) rotate(-24deg);
	transform: translateY(-2rem) translateX(0) rotate(-24deg);
}
.menuBox {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	background: #C32200;
	transition: .3s;
	z-index: 100;
}
.menuBox .subMenu {
	display: table;	
	width: 100%;
	height: 100%;
}
.menuBox .subBox {
	padding: 5.2rem 0 8rem;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.menuBox.open {
	opacity: 1;
	visibility: visible;
}
.menuBox .comMenu {
	opacity: 0;	
	width: 100%;
	text-align: left;
}
.menu.on + .menuBox .comMenu {
	transition: opacity 600ms ease;
	opacity: 1;
	transition-delay: 0.2s;
}
@media all and (min-width: 897px) {
	.menu:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gHeader .hInner {
		height: 5rem;
	}
	#gHeader .hInner h1 {
		margin-left: 1.1rem;
	}
	#gHeader .hInner h1 img {
		width: 7.8rem;
	}
	#gHeader .hInner h1 span {
		margin: 1.1rem 0 0 1rem;
		font-size: 1rem;
	}
	.menu {
		width: 5.5rem;
		height: 5rem;
	}
	.menu > div {
		width: 2.6rem;
		height: 2rem;
	}
	.menu span {
		height: 1px;
	}
	.menu span:nth-of-type(2) {
		top: 1rem;
	}
	.menu span:nth-of-type(3) {
		top: 2rem;
	}
	.menu.on > div {
		width: 3.3rem;
	}
	.menu.on .top {
		-webkit-transform: translateY(1rem) translateX(0) rotate(38deg);
		-ms-transform: translateY(1rem) translateX(0) rotate(38deg);
		transform: translateY(1rem) translateX(0) rotate(38deg);
	}
	.menu.on .bottom {
		-webkit-transform: translateY(-1rem) translateX(0) rotate(-38deg);
		-ms-transform: translateY(-1rem) translateX(0) rotate(-38deg);
		transform: translateY(-1rem) translateX(0) rotate(-38deg);
	}
	.menuBox .subBox {
		padding: 6.5rem 5rem 5.7rem;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 5.2rem 0;
	background: #C32200;
}
#gFooter address {
	margin-top: 6rem;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	font-family: "Lato", sans-serif;
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 2.5rem 3.2rem 2.8rem;
	}
	#gFooter .pageTop {
		margin: 0 -0.2rem 11.5rem auto;
		width: 7rem;
	}
	#gFooter address {
		margin-top: 0.8rem;
		font-size: 1rem;
		text-align: left;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.montserrat {
	font-family: "Montserrat", sans-serif;
}
.content {
	margin: 0 auto;
	max-width: 133rem;
	padding: 0 1.5rem;
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	min-height: 66rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../img/recruit/common/page_title_bg.jpg) no-repeat center top/cover;
}
.pageTitle_bg_2 {
	min-height: 84rem;
	background: url(../img/recruit/common/page_title_bg_2.png) no-repeat center top/cover;
}
.pageTitle_bg_3 {
	background: url(../img/recruit/common/page_title_bg_3.png) no-repeat center top/cover;
}
.pageTitle .content {
	max-width: 155rem;
	width: 100%;
}
.pageTitle h2 {
	margin-top: 7.8rem;
	color: #fff;
	font-size: 5.6rem;
	line-height: 1.2;
}
@media all and (max-width: 896px) {
	.pageTitle {
		min-height: 33rem;
		background-image: url(../img/recruit/common/page_title_bg_sp.jpg);
	}
	.pageTitle_bg_2 {
		min-height: 46rem;
		background-image: url(../img/recruit/common/page_title_bg_sp_2.png);
	}
	.pageTitle_bg_3 {
		background-image: url(../img/recruit/common/page_title_bg_sp_3.png);
	}
	.pageTitle h2 {
		margin-top: 4rem;
		font-size: 2.8rem;
		text-align: center;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 2.6rem;
	color: #fff;
	font-size: 8rem;
	line-height: 1;
	font-weight: 700;
	font-family: "Montserrat", sans-serif;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 1.9rem;
		font-size: 4rem;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 2.6rem;
	color: #C32200;
	font-size: 3.2rem;
	line-height: 1.25;
	font-weight: 600;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 1.3rem;
		font-size: 1.8rem;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 4rem;
	padding: 0.7rem 0 1.2rem 2rem;
	font-size: 3.2rem;
	line-height: 1.25;
	font-weight: 600;
	border-left: 0.5rem solid #C32200;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 2.5rem;
		padding: 0.4rem 0 0.6rem 1rem;
		font-size: 1.6rem;
		border-width: 0.3rem;
	}
}
/*------------------------------------------------------------
	hoverTxt
------------------------------------------------------------*/
.hoverTxt {
	display: block;
	position: relative;
	overflow: hidden;
}
.hoverTxt span {
	display: inline-block;
	transition: opacity 650ms, transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hoverTxt .text02 {
	position: absolute;
	top: 110%;
	left: 0;
	width: 100%;
	opacity: 0;
	display: block;
	transition: opacity 650ms, transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media all and (min-width: 897px) {
	a:hover .hoverTxt .text01 {
		opacity: 0;
		transform: translate3d(0, -110%, 0)
	}
	a:hover .hoverTxt .text02 {
		opacity: 1;
		transform: translate3d(0, -110%, 0)
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn a {
	margin: 0 auto;
	width: 80rem;
	height: 12rem;
	color: #fff;
	font-size: 3.6rem;
	line-height: 1.2;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #C32200;
}
@media all and (max-width: 896px) {
	.comBtn a {
		width: 30rem;
		height: 6rem;
		font-size: 2rem;
	}
}
.comBtn02 a {
	width: 32rem;
	padding: 0.5rem 3rem 0.5rem 0.9rem;
	display: block;
	font-size: 2rem;
	background: url(../img/recruit/common/icon01.png) no-repeat right 1.6rem center/1.4rem;
	border: 1px solid #A0AAB4;
}
.comBtn02 a:hover {
	opacity: 0.7;
}
ul.comBtn02 li:not(:last-child) {
	margin-bottom: 1.8rem;
}
@media all and (max-width: 896px) {
	.comBtn02 a {
		width: 22rem;
		padding: 0.3rem 3rem 0.3rem 0.6rem;
		font-size: 1.4rem;
		background-position: right 1.1rem center;
		background-size: 0.9rem;
	}
	ul.comBtn02 li:not(:last-child) {
		margin-bottom: 1rem;
	}
}
/*------------------------------------------------------------
	comTable
------------------------------------------------------------*/
.comTable {
	width: 100%;
	border-collapse: collapse;
}
.comTable th,
.comTable td {
	padding: 3.2rem 4rem 3.6rem;
	font-size: 1.6rem;
	line-height: 1.88;
	vertical-align: top;
	text-align: left;
	border: 1px solid #A0AAB4;
}
.comTable th {
	padding: 2.2rem 3rem;
	width: 19.7%;
	font-size: 2rem;
	line-height: 2;
	font-weight: 400;
	background: #F5F6F7;
}
.comTable td p:not(:last-child) {
	margin-bottom: 3rem;
}
.comTable td .palt {
	font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
	.comTable {
		border-bottom: 1px solid #A0AAB4;
	}
	.comTable th,
	.comTable td {
		float: left;
		width: 100% !important;
		padding: 0.7rem 1.4rem 3rem;
		font-size: 1.2rem;
		line-height: 2;
		border-bottom: none;
	}
	.comTable th {
		padding: 0.5rem 1.2rem;
		font-size: 1.4rem;
	}
	.comTable td p:not(:last-child) {
		margin-bottom: 2.4rem;
	}
}
/*------------------------------------------------------------
	fade
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	transform: translateY(1rem);
	transition: .8s;
}
.fadeInUp.on {
	opacity: 1;
	transform: none;
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.recruit #gHeader .hBox {
	position: absolute;
	top: min(6rem, 4.9svh);
	width: 39rem;
	right: 0;
}
.recruit.entry #gHeader .hBox,
.recruit.careers #gHeader .hBox,
.recruit.fresh #gHeader .hBox {
	display: none;
}
.recruit #gHeader .hBox .logo {
	margin-bottom: max(8.6rem, 4svh);
	width: min(15.3rem, 19svh);
}
.recruit #gNavi > ul > li {
	margin-bottom: max(3.2rem, 2svh);
	line-height: 1.45;
}
.recruit #gNavi .subList {
	margin: 0 0 0 2rem;
}
.recruit #gNavi a {
	color: #fff;
	font-size: min(2rem, 2.5svh);
}
.recruit #gNavi a:hover {
	opacity: 0.5;
}
#main.recruit_index {
	color: #fff;
}
#main.recruit_index .mainVisual {
	height: 100svh;
	background: url(../img/recruit/index/mv_bg.jpg) no-repeat center bottom/cover;
}
#main.recruit_index .mainVisual .content {
	max-width: 181rem;
}
#main.recruit_index .mainVisual .mvImg {
	width: min(120.4rem, 96.5svh);
}
#main.recruit_index .mainVisual .title {
	margin-left: 12.5rem;
	font-size: min(7rem, 5.6svh);
	font-weight: 600;
	line-height: 1.57;
}
#main.recruit_index .message {
	padding: 9.8rem 0 10.3rem;
	text-align: center;
	background: url(../img/recruit/index/message.jpg) no-repeat center top/cover;
}
#main.recruit_index .message h2 {
	margin-bottom: 5.8rem;
}
#main.recruit_index .message p {
	font-size: 2.8rem;
	line-height: 2;
}
#main.recruit_index .message p:not(:last-child) {
	margin-bottom: 5.6rem;
}
#main.recruit_index .about {
	padding: 14rem 0 12.3rem;
	background: url(../img/recruit/index/about_bg.jpg) no-repeat center top/cover;
}
#main.recruit_index .about .content {
	max-width: 163rem;
	padding: 0 1.5rem;
	align-items: center;
}
#main.recruit_index .about .txtBox {
	margin: 2.6rem 0 0 9.3%;
	width: 32%;
}
#main.recruit_index .about .txtBox p {
	line-height: 2;
}
#main.recruit_index .about .photoList {
	width: 40%;
}
#main.recruit_index .about .photoList li:not(:last-child) {
	margin-bottom: 6rem;
}
#main.recruit_index .about .photoList img {
	width: 100%;
}
#main.recruit_index .people {
	padding: 6rem 0 17rem;
	position: relative;
	background: linear-gradient(135deg, rgba(60, 150, 210, 1) 0%, rgba(100, 180, 210, 1) 81.8%);
}
#main.recruit_index .people:before {
	position: absolute;
	right: 0;
	top: 0;
	width: 60rem;
	height: 60rem;
	background: url(../img/recruit/index/people_img.png) no-repeat left top/100%;
	content: "";
}
#main.recruit_index .people .content {
	position: relative;
	z-index: 1;
}
#main.recruit_index .people p {
	margin-bottom: 7.8rem;
	line-height: 2;
}
#main.recruit_index .people .photoList {
	justify-content: flex-end;
	gap: 6rem;
}
#main.recruit_index .people .photoList li {
	width: 44rem;
}
#main.recruit_index .people .photoList img {
	width: 100%;
}
#main.recruit_index .cross {
	padding: 13rem 0 15rem;
	align-items: center;
	background: url(../img/recruit/index/cross_bg.jpg) no-repeat center top/cover;
}
#main.recruit_index .cross .photo {
	width: calc(50% - 16rem);
}
#main.recruit_index .cross .photo img {
	width: 100%;
}
#main.recruit_index .cross .txtBox {
	margin: 5rem 0 0 16rem;
	width: 53rem;
}
#main.recruit_index .cross .txtBox p {
	line-height: 2;
}
#main.recruit_index .sec_recruit {
	padding: 9.4rem 0 24rem;
	background: #E1E6DC;
}
#main.recruit_index .sec_recruit h2 {
	margin-bottom: 8.5rem;
	color: #C32200;
}
#main.recruit_index .sec_recruit .photoList {
	margin-bottom: 8rem;
	gap: 5rem;
	justify-content: center;
}
#main.recruit_index .sec_recruit .photoList li {
	width: calc((100% - 10rem)/3);
}
#main.recruit_index .sec_recruit .photoList img {
	width: 100%;
}
#main.recruit_index .sec_recruit .photoList a {
	display: block;
	position: relative;
}
#main.recruit_index .sec_recruit .photoList p {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 90%;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 600;
	text-align: center;
	transform: translate(-50%, -50%);
}
@media all and (min-width: 897px) {
	.recruit #gHeader .hInner,.menu {
		transform: translateY(-100%);
	}
	.recruit #gHeader .hInner.scrolled,.recruit #gHeader .hInner.scrolled + .menu {
		transform: translateY(0);
	}
}
@media all and (min-width: 897px) and (max-height: 900px) {
	.recruit #gHeader .hBox .logo {
		margin-bottom: min(8.6rem, 4.5svh);
	}
	.recruit #gNavi > ul > li {
		margin-bottom: min(3.2rem, 2.5svh);
	}
	.recruit #gNavi > ul > li {
		line-height: 4svh;
	}
}
@media all and (max-width: 1600px) {
	#main.recruit_index .cross .txtBox {
		margin-left: 10%;
	}
}
@media all and (max-width: 896px) {
	#main.recruit_index .mainVisual {
		padding-bottom: 0;
		min-height: 52rem;
		background-image: url(../img/recruit/index/mv_bg_sp.jpg);
	}
	#main.recruit_index .mainVisual .content {
		padding: 0;
	}
	#main.recruit_index .mainVisual .mvImg {
		width: 32.5rem;
	}
	#main.recruit_index .mainVisual .title {
		margin: 2.3rem 0 0 4rem;
		font-size: 2.8rem;
		line-height: 1.6;
	}
	#main.recruit_index .message {
		padding: 4.8rem 0 5.2rem;
	}
	#main.recruit_index .message h2 {
		margin-bottom: 2.9rem;
	}
	#main.recruit_index .message p {
		font-size: 1.4rem;
	}
	#main.recruit_index .message p:not(:last-child) {
		margin-bottom: 2.8rem;
	}
	#main.recruit_index .about {
		padding: 2.6rem 0 5rem;
		background-image: url(../img/recruit/index/about_bg_sp.jpg);
	}
	#main.recruit_index .about .content {
		display: block;
	}
	#main.recruit_index .about .txtBox {
		margin: 0 0 16.3rem;
		width: auto;
	}
	#main.recruit_index .about .txtBox p {
		line-height: 1.93;
	}
	#main.recruit_index .about .photoList {
		margin: 0 auto;
		width: 87%;
	}
	#main.recruit_index .about .photoList li:not(:last-child) {
		margin-bottom: 3rem;
	}
	#main.recruit_index .people {
		padding: 6rem 0 6rem;
	}
	#main.recruit_index .people:before {
		width: 25rem;
		height: 25rem;
	}
	#main.recruit_index .people h2 {
		margin-bottom: 1.3rem;
	}
	#main.recruit_index .people p {
		margin-bottom: 6.5rem;
	}
	#main.recruit_index .people .photoList {
		margin: 0 auto;
		width: 87%;
		display: block;
	}
	#main.recruit_index .people .photoList li {
		width: auto;
	}
	#main.recruit_index .people .photoList li:not(:last-child) {
		margin-bottom: 3rem;
	}
	#main.recruit_index .cross {
		padding: 3rem 1.5rem 7rem;
		background-image: url(../img/recruit/index/cross_bg_sp.jpg);
	}
	#main.recruit_index .cross .photo {
		width: 87%;
		margin: 0 auto;
		order: 1;
	}
	#main.recruit_index .cross .txtBox {
		margin: 0 0 6rem;
		width: 100%;
		order: 0;
	}
	#main.recruit_index .cross .txtBox h2 {
		margin-bottom: 1.3rem;
	}
	#main.recruit_index .sec_recruit {
		padding: 3rem 0 13rem;
	}
	#main.recruit_index .sec_recruit h2 {
		margin-bottom: 4rem;
	}
	#main.recruit_index .sec_recruit .photoList {
		margin: 0 auto 3rem;
		width: 87%;
		display: block;
	}
	#main.recruit_index .sec_recruit .photoList li {
		width: auto;
	}
	#main.recruit_index .sec_recruit .photoList li:not(:last-child) {
		margin-bottom: 3rem;
	}
	#main.recruit_index .sec_recruit .photoList p {
		padding: 0 0 0.5rem 1rem;
		font-size: 2rem;
	}
}

/*------------------------------------------------------------
	fresh / career
------------------------------------------------------------*/
#main.fresh .character {
	margin-bottom: 3.5rem;
	padding: 8rem 0 19rem;
	background: linear-gradient(180deg, rgba(255, 245, 230, 1) 0%, rgba(255, 245, 231, 1) 88.39%, rgba(255, 255, 255, 1) 100%);
}
#main.fresh .character .content {
	max-width: 159.7rem;
}
#main.fresh .character .headLine02 {
	margin-bottom: 4rem;
	font-size: 4rem;
	text-align: center;
}
#main.fresh .character .midTxt {
	margin-bottom: 7.5rem;
	line-height: 2;
	text-align: center;
}
#main.fresh .character .midImg {
	margin: 0 -2.2rem 10.5rem 0;
	text-align: right;
}
#main.fresh .character .midImg img {
	width: 156.7rem;
}
#main.fresh .character .infoList {
	margin: 0 auto;
	max-width: 130rem;
	gap: 3rem 0;
}
#main.fresh .character .infoList li {
	width: 46.2%;
	padding: 2.3rem 3rem 2rem;
	background-color: #fff;
}
#main.fresh .character .infoList p {
	font-size: 2rem;
	line-height: 2;
}
#main.fresh .character .infoList .ttl {
	margin-bottom: 1.9rem;
	padding-bottom: 1.9rem;
	position: relative;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
}
#main.fresh .character .infoList .ttl:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 3rem;
	height: 1px;
	background-color: #C32200;
	content: "";
}
#main.fresh > .content {
	max-width: 155rem;
}
#main.fresh .subject {
	margin-bottom: 10rem;
}
#main.fresh .subject p {
	font-size: 2rem;
	line-height: 2;
}
#main.fresh .position {
	margin-bottom: 8.5rem;
}
.careers #main.fresh .content > .position {
	margin-top: 15rem;
}
#main.fresh .position .headLine02 {
	margin-bottom: 2rem;
}
#main.fresh .application {
	margin-bottom: 19rem;
}
#main.fresh .application .headLine02 {
	margin-bottom: 5.5rem;
}
#main.fresh .application .inner:not(:last-child) {
	margin-bottom: 20rem;
}
#main.fresh .application .comTable td .txt02 {
	margin-bottom: 6rem;
}
#main.fresh .step .headLine02 {
	margin-bottom: 5.8rem;
}
#main.fresh .step .stepList {
	margin: 0 auto;
	max-width: 130rem;
}
#main.fresh .step .stepList li {
	display: flex;
	align-items: flex-start;
}
#main.fresh .step .stepList li {
	margin-bottom: 7rem;
}
#main.fresh .step .stepList .liStyle01 {
	margin-bottom: 5.5rem;
}
#main.fresh .step .stepList .liStyle02 {
	margin-bottom: 4rem;
}
#main.fresh .step .stepList li:last-child {
	margin-bottom: 0;
}
#main.fresh .step .stepList .listImg {
	width: 12rem;
}
#main.fresh .step .stepList .rBox {
	margin: 0.4rem 0 0 6.2rem;
	flex: 1;
}
#main.fresh .step .stepList .rBox p {
	margin-bottom: 4.8rem;
	line-height: 2;
	font-weight: 300;
}
#main.fresh .step .stepList .rBox p:last-child {
	margin-bottom: 0 !important;
}
#main.fresh .comTable td a,
#main.fresh .step .stepList .rBox p a {
	color: #C32200;
}
#main.fresh .comBtn {
	margin-top: 22rem;
}
#main.fresh {
	margin-bottom: 14rem;
}
@media all and (max-width: 1900px) {
	#main.fresh .character .midImg {
		margin-right: 0;
	}
}
@media all and (min-width: 897px) {
	#main.fresh .comTable td a:hover,
	#main.fresh .step .stepList .rBox p a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	#main.fresh .character {
		margin-bottom: 3.9rem;
		padding: 4rem 0 6rem;
		background: linear-gradient(180deg, rgba(255, 245, 230, 1) 0%, rgba(255, 245, 231, 1) 92.54%, rgba(255, 255, 255, 1) 100%);
	}
	#main.fresh .character .headLine02 {
		margin-bottom: 1.8rem;
		font-size: 2rem;
	}
	#main.fresh .character .midTxt {
		margin-bottom: 4.9rem;
		font-size: 1.6rem;
	}
	#main.fresh .character .midImg {
		margin-bottom: 3.6rem;
		text-align: center;
	}
	#main.fresh .character .midImg img {
		width: 32.5rem;
	}
	#main.fresh .character .infoList {
		gap: 2.8rem 2.5rem;
	}
	#main.fresh .character .infoList li {
		width: calc((100% - 2.5rem)/2);
		padding: 1rem 1.2rem 2rem 1.5rem;
	}
	#main.fresh .character .infoList p {
		font-size: 1.2rem;
		line-height: 1.75;
	}
	#main.fresh .character .infoList .ttl {
		margin-bottom: 0.9rem;
		padding-bottom: 1rem;
		font-size: 1.6rem;
	}
	#main.fresh .character .infoList .ttl:after {
		width: 1.5rem;
	}
	#main.fresh .subject {
		margin-bottom: 4rem;
	}
	#main.fresh .subject p {
		font-size: 1.2rem;
	}
	#main.fresh .position {
		margin-bottom: 4.7rem;
	}
	.careers #main.fresh .content > .position {
		margin-top: 4.7rem;
	}
	#main.fresh .position .headLine02 {
		margin-bottom: 1.7rem;
	}
	#main.fresh .application {
		margin-bottom: 5.7rem;
	}
	#main.fresh .application .headLine02 {
		margin-bottom: 2.4rem;
	}
	#main.fresh .application .inner:not(:last-child) {
		margin-bottom: 7rem;
	}
	#main.fresh .application .comTable td .txt02 {
		margin-bottom: 5rem;
	}
	#main.fresh .step .headLine02 {
		margin-bottom: 3rem;
	}
	#main.fresh .step .stepList li {
		margin-bottom: 3.8rem;
	}
	#main.fresh .step .stepList .liStyle01 {
		margin-bottom: 3.6rem;
	}
	#main.fresh .step .stepList .liStyle02 {
		margin-bottom: 3rem;
	}
	#main.fresh .step .stepList .liStyle03 {
		margin-bottom: 4.9rem;
	}
	#main.fresh .step .stepList .listImg {
		width: 7.6rem;
	}
	#main.fresh .step .stepList .rBox {
		margin: -0.8rem -1rem 0 2.4rem;
	}
	#main.fresh .step .stepList .rBox p {
		margin-bottom: 2.8rem;
		line-height: 2;
	}
	#main.fresh .comBtn {
		margin-top: 8.9rem;
	}
	#main.fresh {
		margin-bottom: 6.5rem;
	}
}

/*------------------------------------------------------------
	entry
------------------------------------------------------------*/
.entry #main > .content {
	max-width: 100rem;
	margin-top: 100px;
	font-size: 2rem;
}
.entry p {
	margin-bottom: 100px;
	line-height: 2;
}
.entry p a {
	color: #C32200;
}
.entry p a:hover {
	text-decoration: underline;
}
.entry table {
	margin-bottom: 100px;
	width: 100%;
	border-collapse: collapse;
	font-size:15px;
}
.entry th,
.entry td {
	padding: 21px 10px;
	text-align: left;
	vertical-align: top;
	border: 1px solid #D1D1D1;
}
.entry th {
	width: 28.8%;
	font-weight: 700;
	background-color: #f5f5f5;
}
.entry .required {
	color: #c00;
	font-weight: normal;
}
.entry textarea,
.entry input[type="text"] {
	padding: 8px;
	width: 70%;
	border: #D1D1D1 1px solid;
}
.entry .your_job td .mwform-radio-field.horizontal-item {
	display: block;
	margin-left: 0;
	padding-bottom: 8px;;
}
.entry .mw_submit {
	width: 100%;
	margin-bottom: 100px;
	text-align: center;
}
.entry .mw_submit input[type="submit"] {
	padding: 20px 0px;
	width: 40%;
	border: 0;
	background-color: #C32200;
	color: #fff;
	letter-spacing: 3px;
	font-size: 24px;
	-webkit-appearance: none;
	transition: all .4s;
}
.entry .mw_submit input[type="submit"].backButton {
	background-color: #666;
}
.entry .mw_submit input[type="submit"]:hover {
	opacity: 0.6;
	transition: all .4s;
	cursor: pointer;
}

@media all and (max-width: 896px) {
	.entry #main > .content {
		margin-top: 30px;
		font-size: 13px;
	}
	.entry p {
		margin-bottom: 40px;
	}
	.entry table {
		margin-bottom: 47px;
	}
	.entry th,
	.entry td {
		width: 100%;
		display: block;
		padding: 15px;
		box-sizing: border-box;
		border-bottom: 0;
		vertical-align: middle;
	}
	.recruit table tr:last-child td {
		border-bottom: 1px solid #D1D1D1;
	}
	.entry textarea,
	.entry input[type="text"] {
		width: 90%;
	}
	.entry .mw_submit input[type="submit"] {
		display: block;
		width: 75%;
		margin: 0 auto;
		padding: 20px 0px;
		font-size: 20px;
	}
}
