@charset "UTF-8";
/*  header  */
body {
		background-image: url(../../img/common/bg1.jpg); }

a {
		opacity: 1;
		transition: opacity .2s ease; }
		a:hover {
				opacity: .7;
				transition: opacity .2s ease; }

.l-contents.recruit {
		padding-top: 125px; }

.r-header {
		position: fixed;
		width: 100%;
		height: 125px;
		z-index: 10; }
		.r-header__wrap {
				display: flex; }
		.r-header__logo {
				display: flex;
				padding-left: 56px; }
				.r-header__logo img {
						width: 220px; }
				.r-header__logo__img {
						display: flex; }
						.r-header__logo__img a {
								display: flex; }
				.r-header__logo__title {
						padding-left: 33px;
						margin: 45px 0 45px 40px;
						border-left: 1px solid #E0E0E0; }
						.r-header__logo__title p {
								font-size: 18px;
								line-height: 190%; }
		.r-header__menu {
				padding: 48px 5vw 48px 1vw;
				margin: 0 0 0 auto; }
				.r-header__menu ul {
						display: flex; }
						.r-header__menu ul li {
								margin-left: 30px; }
								.r-header__menu ul li:first-child {
										margin-left: 0; }
		.r-header__entry {
				margin-right: 0; }
				.r-header__entry a {
						color: #FFF;
						line-height: 150%;
						display: block;
						padding: 50.5px 80px;
						background-color: #141414;
						background-image: url(../../img/recruit/arrow-w.svg);
						background-repeat: no-repeat;
						background-position: right 24px center;
						background-size: 8px; }
		.r-header a {
				text-decoration: none !important; }

.is-recruit__top .kv__wrap {
		width: calc( 100% - 110px);
		margin: 0 0 0 auto;
		position: relative; }
		.is-recruit__top .kv__wrap .swiper-pagination {
				position: initial !important;
				width: calc( 100% - 56px) !important;
				text-align: right; }
				.is-recruit__top .kv__wrap .swiper-pagination-bullet {
						width: 5px;
						height: 5px; }
				.is-recruit__top .kv__wrap .swiper-pagination-bullet-active {
						background-color: #141414 !important; }

.is-recruit__top .kv-swiper {
		overflow: hidden; }
		.is-recruit__top .kv-swiper img {
				width: 100%;
				object-fit: cover; }

.is-recruit__top .kv-title {
		position: absolute;
		bottom: 80px;
		left: 80px;
		z-index: 2; }
		.is-recruit__top .kv-title img {
				width: 17.9vw; }

.is-recruit__top .job-swiper .swiper-pagination {
		position: initial !important;
		text-align: right; }
		.is-recruit__top .job-swiper .swiper-pagination-bullet {
				width: 5px;
				height: 5px; }
		.is-recruit__top .job-swiper .swiper-pagination-bullet-active {
				background-color: #141414 !important; }

.is-recruit__head {
		margin-bottom: 210px; }
		.is-recruit__head__inner {
				width: calc( 100% - 108px);
				height: 280px;
				background-color: rgba(189, 163, 102, 0.5);
				margin-left: auto; }
		.is-recruit__head .head__wrap {
				height: 100%;
				margin-left: 132px;
				position: relative; }
				.is-recruit__head .head__wrap .head__title {
						position: absolute;
						bottom: -12px; }
						.is-recruit__head .head__wrap .head__title h2 {
								font-size: 50px;
								line-height: 36px;
								font-weight: 400; }
								.is-recruit__head .head__wrap .head__title h2 span {
										font-size: 21px;
										line-height: 14px;
										display: block;
										margin-bottom: 41px; }

.breadcrumb {
		display: table;
		padding-right: 24px;
		margin: 15px 0 0 auto; }
		.breadcrumb a {
				font-size: 12px;
				line-height: 175%;
				font-weight: 500;
				color: rgba(20, 20, 20, 0.3);
				text-decoration: none;
				padding-right: 12px;
				margin-right: 12px;
				background-image: url(../../img/recruit/arrow.svg);
				background-repeat: no-repeat;
				background-position: right;
				background-size: 6px; }
		.breadcrumb p {
				font-size: 12px;
				line-height: 21px; }

/*  footer  */
.job_desc {
		padding-top: 103px; }
		.job_desc .r-top__wrap {
				padding-top: 120px;
				border-top: 1px solid #DDD; }
		.job_desc__top {
				margin-bottom: 80px; }
				.job_desc__top h3 {
						font-size: 36px;
						line-height: 100%;
						font-weight: 400;
						text-align: center;
						margin-bottom: 80px; }
		.job_desc .desc__list ul li {
				width: calc( 33% - 15px); }
				.job_desc .desc__list ul li:nth-child(2) {
						margin: 0 auto; }
				.job_desc .desc__list ul li a {
						font-size: 18px;
						line-height: 24px;
						color: #141414;
						font-weight: 500;
						padding: 23px 20px;
						background-color: #FFF;
						text-decoration: none;
						border-top: 1px solid #141414;
						display: block;
						text-align: center; }
						.job_desc .desc__list ul li a span {
								display: block;
								background-image: url(../../img/recruit/arrow.svg);
								background-repeat: no-repeat;
								background-position: right;
								background-size: 8px; }
		.job_desc__entry a {
				display: block;
				color: #FFF;
				padding: 63px 53px 80px 104px;
				background-color: #141414;
				text-decoration: none;
				background-image: url(../../img/recruit/arrow-w.svg);
				background-repeat: no-repeat;
				background-position: right 52px center;
				background-size: 15px; }
				.job_desc__entry a .en {
						font-size: 12px;
						line-height: 14px; }

.r-footer {
		padding-top: 120px; }
		.r-footer a {
				text-decoration: none; }
		.r-footer__wrap {
				max-width: 960px;
				padding: 0 24px;
				margin: 0 auto; }
		.r-footer__top {
				height: 380px;
				background-image: url(../../img/recruit/footer-img.jpg);
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				position: relative; }
				.r-footer__top .tostory {
						display: block;
						max-width: 960px;
						margin: 0 auto;
						background: #FFF;
						position: absolute;
						bottom: -97.5px;
						left: 0;
						right: 0;
						height: 195px; }
						.r-footer__top .tostory__wrap {
								display: flex;
								padding: 63px 48px 80px 104px; }
						.r-footer__top .tostory .totop {
								margin: 0 0 0 auto; }
								.r-footer__top .tostory .totop p {
										line-height: 50px; }
								.r-footer__top .tostory .totop img {
										width: 21px;
										vertical-align: middle; }
		.r-footer__btm {
				padding: 198px 0 48px 0;
				background-color: #141414; }
				.r-footer__btm p {
						color: #FFF; }
				.r-footer__btm a {
						color: #FFF; }
				.r-footer__btm ul li {
						font-size: 14px;
						margin-bottom: 16px;
						font-weight: 400;
						letter-spacing: 0; }
						.r-footer__btm ul li:first-child {
								font-size: 16px;
								margin-bottom: 24px;
								font-weight: 500; }
						.r-footer__btm ul li:last-child {
								margin-bottom: 0; }
						.r-footer__btm ul li img {
								vertical-align: middle; }
		.r-footer .rf-btm__link {
				margin-top: 114px; }
		.r-footer .r-footer__sns p {
				font-size: 12px;
				line-height: 21px; }
		.r-footer .r-footer__sns__link {
				line-height: 14px;
				margin-left: 36px;
				color: #FFF; }
				.r-footer .r-footer__sns__link img {
						vertical-align: middle; }
		.r-footer .copyright {
				margin: 0 0 0 auto; }
				.r-footer .copyright p {
						font-size: 12px;
						line-height: 14px;
						letter-spacing: 0; }
		.r-footer .rf-flex {
				display: flex; }
				.r-footer .rf-flex ul {
						margin: 0 auto; }
						.r-footer .rf-flex ul:first-child {
								margin-left: 0; }
						.r-footer .rf-flex ul:last-child {
								margin-right: 0; }

/*  共通  */
body {
		color: #141414; }

.en {
		letter-spacing: 0;
		font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.rec__title {
		text-align: center; }
		.rec__title h4 {
				font-size: 28px;
				line-height: 150%;
				font-weight: 400;
				padding-bottom: 10px;
				border-bottom: 1px solid #141414;
				display: inline-block; }
		.rec__title .vp {
				font-size: 28px;
				line-height: 145%;
				padding-top: 60px;
				margin: 0 auto; }

.li-en {
		font-size: 12px;
		line-height: 100%; }

.li-title {
		font-size: 36px;
		line-height: 16px;
		margin-top: 22px; }

.vp {
		writing-mode: vertical-rl;
		text-align: left; }

.flex {
		display: flex; }

.order1 {
		order: 1; }

.order2 {
		order: 2; }

.c-btn {
		position: relative; }
		.c-btn.vertical a {
				-webkit-writing-mode: vertical-rl;
				-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
				font-feature-settings: "vrt2" on;
				border-right: 1px solid #141414;
				padding: 0 20px 20px 0;
				background-image: url(../../img/recruit/arrow.svg);
				background-repeat: no-repeat;
				background-position: bottom 0 left 8px; }
				.c-btn.vertical a span {
						display: block; }
		.c-btn.bes a {
				border-bottom: 1px solid #141414;
				padding: 0 0 11px 20px;
				background-image: url(../../img/recruit/arrow.svg);
				background-repeat: no-repeat;
				background-position: left 0 top 8px;
				background-size: 5px; }
		.c-btn a {
				text-decoration: none; }

.c-accordion1 {
		margin-bottom: 60px; }
		.c-accordion1 dl {
				margin-top: 24px; }
				.c-accordion1 dl:first-child {
						margin-top: 0; }
				.c-accordion1 dl dt .question {
						animation: .5s ease background;
						background: url(../../img/recruit/open.svg) no-repeat right center; }
				.c-accordion1 dl dt.is-open .question {
						animation: .5s ease background;
						background: url(../../img/recruit/close.svg) no-repeat right center; }
		.c-accordion1 dt {
				cursor: pointer;
				padding: 13px 20px 15px 19px;
				background-color: #FFF; }
				.c-accordion1 dt .q,
				.c-accordion1 dt .question {
						vertical-align: middle; }
				.c-accordion1 dt .q {
						font-size: 21px;
						line-height: 100%;
						color: #8B1C2A;
						margin-right: 24px; }
				.c-accordion1 dt .question {
						font-weight: 500;
						width: calc(100% - 93px);
						padding-right: 30px;
						line-height: 150%;
						background-size: 25px !important;
						display: inline-block; }
		.c-accordion1 dd {
				padding: 0 80px 18px 60px;
				background-color: #FFF;
				display: none; }
				.c-accordion1 dd .a,
				.c-accordion1 dd .answer {
						vertical-align: top; }
				.c-accordion1 dd .answer p {
						font-weight: 400; }

@media (max-width: 1370px) and (min-width: 768px) {
		.r-header__logo {
				padding-left: 28px; }
				.r-header__logo__img img {
						width: 200px; }
				.r-header__logo__title {
						padding-left: 16px;
						margin: 45px 0 45px 16px; }
		.r-header__menu {
				padding: 48px 20px; }
				.r-header__menu ul li {
						margin-left: 16px; }
		.r-header__entry a {
				padding: 50.5px 50px; } }

/*  sp  */
@media screen and (max-width: 768px) {
		.r-header {
				height: 70px; }
				.r-header__logo {
						padding: 17px 20px; }
						.r-header__logo img {
								width: 177px; }
						.r-header__logo__txt {
								margin-left: 19px; }
								.r-header__logo__txt p {
										font-weight: 500;
										line-height: 30px; }
				.r-header .sns-wrap {
						width: 100%; }
				.r-header .entry {
						width: 100%; }
						.r-header .entry a {
								font-weight: 500;
								color: #141414;
								background-color: #FFF;
								padding: 38px 20px;
								display: block;
								text-align: center;
								background-image: url(../../img/recruit/arrow.svg);
								background-position: right 20px center;
								background-repeat: no-repeat;
								background-size: 8px; }
				.r-header .r-header__sns {
						width: fit-content;
						margin: 60px auto 0 auto; }
						.r-header .r-header__sns p {
								color: #FFF;
								line-height: 30px; }
						.r-header .r-header__sns__link {
								margin-left: 18px; }
								.r-header .r-header__sns__link img {
										vertical-align: middle; }
		.l-header__btn {
				left: initial;
				right: 20px; }
				.l-header__btn.is-open span::before, .l-header__btn.is-open span::after {
						border-top-color: #FFF; }
		.l-nav .c-wrap__gat-alt {
				padding: 85px 20px;
				background-color: #141414; }
		.l-nav__content .nav {
				width: auto; }
				.l-nav__content .nav-wrap {
						display: block; }
				.l-nav__content .nav li {
						margin-bottom: 24px; }
						.l-nav__content .nav li a {
								font-size: 16px;
								color: #FFF;
								padding: 0 10px 10px 10px; }
								.l-nav__content .nav li a::before, .l-nav__content .nav li a::after {
										border-bottom: 1px solid #FFF; }
		.l-contents.recruit {
				padding-top: 70px; }
		.is-recruit__top .kv__wrap {
				width: calc( 100% - 20px); }
				.is-recruit__top .kv__wrap .swiper-pagination {
						width: calc( 100% - 20px) !important; }
		.is-recruit__top .kv-title {
				bottom: 60px;
				left: 40px; }
				.is-recruit__top .kv-title img {
						width: 41.86vw; }
		.job_desc .r-top__wrap {
				padding: 60px 0 0 0;
				margin: 0 20px; }
		.job_desc__top {
				margin-bottom: 37px; }
				.job_desc__top h3 {
						font-size: 28px;
						line-height: 125%;
						margin-bottom: 36px; }
		.job_desc .desc__list .flex {
				display: block; }
		.job_desc .desc__list ul li {
				width: auto;
				margin-top: 13px !important; }
				.job_desc .desc__list ul li:first-child {
						margin-top: 0 !important; }
		.job_desc__entry a {
				padding: 40px 20px 53px 20px;
				text-align: center; }
		.r-footer {
				padding-top: 90px; }
				.r-footer__top {
						height: 213px; }
						.r-footer__top .tostory {
								bottom: -70px;
								width: calc( 100% - 40px);
								height: 140px;
								margin: 0 20px;
								text-align: center; }
								.r-footer__top .tostory__wrap {
										display: block;
										padding: 25px 20px 18px 20px; }
								.r-footer__top .tostory .li-title {
										margin-top: 17px; }
								.r-footer__top .tostory .totop {
										margin: 29px 0 0 0; }
										.r-footer__top .tostory .totop p {
												font-size: 12px;
												line-height: 100%; }
				.r-footer__btm {
						padding: 130px 29px 26px 29px; }
						.r-footer__btm .r-footer__wrap {
								padding: 0; }
						.r-footer__btm ul li {
								font-size: 13px;
								margin-bottom: 12px; }
								.r-footer__btm ul li:first-child {
										font-size: 15px; }
				.r-footer .rf-flex {
						flex-wrap: wrap; }
						.r-footer .rf-flex ul {
								width: 50%; }
								.r-footer .rf-flex ul:nth-child(3) {
										margin-top: 41px; }
								.r-footer .rf-flex ul:nth-child(4) {
										margin-top: 41px; }
								.r-footer .rf-flex ul:nth-child(5) {
										margin: 29px auto 0 0; }
				.r-footer .rf-btm__link {
						margin-top: 31px;
						display: block; }
				.r-footer .r-footer__sns {
						margin-bottom: 48px; }
						.r-footer .r-footer__sns p {
								line-height: 28px; }
						.r-footer .r-footer__sns__link {
								margin-left: 18px; }
								.r-footer .r-footer__sns__link img {
										width: 30px;
										height: 30px; }
								.r-footer .r-footer__sns__link .sl {
										width: 12px;
										height: 12px; }
				.r-footer .copyright {
						margin: 0 auto;
						text-align: center; }
		.li-title {
				font-size: 28px; }
		.flex-i {
				display: flex !important; }
		.sp-lh200 {
				line-height: 200% !important; }
		.rec__title h4 {
				font-size: 21px;
				padding-bottom: 8px; }
		.c-accordion1 dl {
				margin-top: 12px;
				margin-bottom: 0; }
		.c-accordion1 dt {
				padding: 8px 15px; }
				.c-accordion1 dt .q {
						font-size: 18px;
						margin-right: 16px; }
				.c-accordion1 dt .question {
						width: calc( 100% - 60px);
						background-size: 20px !important; }
		.c-accordion1 dd {
				padding: 0 16px 16px 16px; }
		.is-recruit__head {
				margin-bottom: 60px; }
				.is-recruit__head__inner {
						width: calc( 100% - 40px);
						height: 120px; }
				.is-recruit__head .head__wrap {
						margin-left: 20px; }
						.is-recruit__head .head__wrap .head__title h2 {
								font-size: 28px; }
								.is-recruit__head .head__wrap .head__title h2 span {
										font-size: 16px;
										margin-bottom: 12px; }
		.breadcrumb {
				padding-right: 20px;
				margin: 40px 0 0 auto; } }
