@charset "utf-8";

/* ------------------------------
 メイン（PC）
------------------------------ */
.mainBlock {
	position: relative;
	/* padding-bottom: 170px; */
	padding-bottom: 12%;
	/* background: url(../img/mainimg_bg.jpg) no-repeat 0 0 / 1463px 1002px; */
	background: url(../img/mainimg_bg.jpg) no-repeat 0 0 / 76% auto;
}
/* HOT NEWS */
.hotnewsBox {
	padding: 20px 30px 25px;
	background-color: var(--recruit-font-color);
	color: #fff;
}
.hotnewsBox > p {
	margin-bottom: 10px;
	border-bottom: 1px dotted #889eaa;
	color: #ff0;
	font-family: "Rubik", sans-serif;
	font-size: 1.7rem;
	font-weight: 500;
}
/* Firefox */
@-moz-document url-prefix() {
	.hotnewsBox > p {
		border-bottom: 1px dotted #c3cfd4;
	}
}
.hotnewsBox > p::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: -4px 6px 0 0;
	background: url(../img/icon_sound.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.hotnewsList li:not(:last-child) {
	margin-bottom: 10px;
}
.hotnewsList li a {
	display: block;
	position: relative;
	width: 100%;
	padding-right: 24px;
	color: #fff;
	line-height: 1.4;
}
.hotnewsList li a::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 3px;
	right: 0;
	width: 19px;
	height: 19px;
	background: url(../img/icon_arrow_c_r_w.svg) no-repeat 0 0 / cover;
}
/* メインテキスト */
.mainText h1 {
	font-size: 4.2rem;
	line-height: 1.56;
	font-weight: 600;
}
.mainText h1 span {
	display: inline-block;
	margin-bottom: 28px;
	padding: 5px 15px 0;
	border-radius: 5px;
	background-color: var(--recruit-font-color);
	color: #fff;
	font-size: 2.4rem;
	line-height: 40px;
}
/* ニュース */
.newsBox {
	background-color: var(--base-color);
	padding: 30px 0 15px;
}
.newsBox .flexBox p {
	color: #4c6e7f;
	font-family: "Rubik", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .05em;
}
.newsBox .flexBox p::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 12px;
	margin: 0 8px 4px 0;
	background: url(../img/decoration_eng.png) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.newsBox .flexBox a {
	margin-right: 30px;
	line-height: 22px;
	font-weight: bold;
}
.newsBox .flexBox a::after {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-left: 5px;
	background: url(../img/icon_list.svg) no-repeat 0 0 / cover;
	vertical-align: text-top;
}
.newsBox .newsList {
	margin: 17px 30px 0;
}
.newsBox .newsList li {
	padding: 0 0 18px;
	border-bottom: none;
}
.newsBox .newsList li:first-child {
	border-top: none;
}
.newsBox .newsList .date {
	color: #4c6e7f;
	font-family: "Rubik", sans-serif;
	font-weight: 400;
	line-height: 23px;
}
.newsBox .cate {
	width: 75px;
	height: 23px;
}
@media print, screen and (min-width: 768px) {
	.mainBlock {
		width: 100%;
		padding-left: 35.42%;
	}
	/* HOT NEWS */
	.hotnewsBox {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		min-width: 350px;
		border-radius: 0 0 0 20px;
	}
	.hotnewsList li a {
		flex-direction: column;
	}
	/* メインテキスト */
	.mainText {
		display: flex;
		align-items: flex-end;
		position: absolute;
		/* top: 145px; */
		top: 0;
		left: 8.75%;
		z-index: 2;
		width: 38%;
		height: 410px;
		padding-bottom: 36px;
	}
	.mainText h1 br:not(:first-of-type) {
		display: none;
	}
	/* メインイメージ */
	.mainimgBox {
		position: relative;
		height: auto;
	}
	/* .mainBlock .mainimgBox .pc {
		height: 860px;
		border-radius: 0 0 0 40px;
		object-fit: cover;
		object-position: right 0;
	} */
	.mainBlock .mainimgBox .pc {
		min-width: 865px;
		height: auto;
		border-radius: 0 0 0 40px;
		object-fit: cover;
		object-position: right 0;
	}
	/* ニュース */
	.newsBox {
		position: absolute;
		/* top: 510px; */
		top: 410px;
		left: 8.75%;
		width: 705px;
		/* height: 210px; */
		border-radius: 15px;
	}
	.newsBox .newsList li {
		column-gap: 10px;
	}
	/* タイトル */
	.newsList .headline {
		width: calc(100% - 113px);
		padding-top: 0;
		line-height: 23px;
	}
	.newsList .headline a {
		display: -webkit-box;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}
}
/* @media print, screen and (min-width: 1463px) {
	.mainBlock {
		padding-bottom: 60px;
		background: url(../img/mainimg_bg.jpg) no-repeat 0 0 / 1463px 1002px;
	}
	.mainimgBox {
		height: 1030px;
	}
} */
@media print, screen and (min-width: 1500px) {
	/* メインテキスト */
	.mainText {
		display: block;
		top: 95px;
		width: auto;
		height: auto;
		padding-bottom: 0;
	}
	.mainText h1 br:not(:first-of-type) {
		display: inline;
	}
}
@media print, screen and (min-width: 1750px) {
	.mainText h1 {
		font-size: 5rem;
	}
	.newsBox {
		top: 460px;
	}
}
/* ------------------------------
 メイン（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.mainBlock {
		margin-bottom: 60px;
		padding-bottom: 0;
		background: url(../img/mainimg_bg_sp.jpg) no-repeat 0 173px / 100% auto;
	}
	/* HOT NEWS */
	.hotnewsBox{
		margin-bottom: 20px;
		padding: 11px 5% 15px;
	}
	.hotnewsBox > p {
		margin-bottom: 8px;
		line-height: 1.7;
	}
	.hotnewsBox > p::before {
		width: 18px;
		height: 16px;
		margin: -4px 5px 0 0;
	}
	.hotnewsList li a {
		font-size: 1.4rem;
	}
	.hotnewsList li a::after {
		bottom: 2px;
		width: 18px;
		height: 18px;
	}
	/* メインテキスト */
	.mainText {
		margin-bottom: 10px;
		padding: 0 5%;
	}
	.mainText h1 {
		font-size: 3.6rem;
		line-height: 1.44;
	}
	.mainText h1 span {
		display: inline-block;
		margin-bottom: 15px;
		padding: 2px 10px 0;
		border-radius: 3px;
		font-size: 1.6rem;
		line-height: 28px;
	}
	.mainText h1 br {
		display: none;
	}
	.mainText h1 br:first-of-type {
		display: inline;
	}
	/* メインイメージ */
	.mainimgBox {
		position: relative;
		margin-bottom: 95px;
		padding-left: 5%;
	}
	.mainimgBox::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -140px;
		left: 0;
		width: 100%;
		aspect-ratio: 3 / 2;
		background: url(../img/mainimg_end_sp.png) no-repeat 0 0 / cover;
	}
	.mainBlock .mainimgBox .sp {
		border-radius: 30px 0 0 30px;
	}
	/* ニュース */
	.newsBox {
		position: relative;
		z-index: 1;
		width: 90%;
		margin: 0 auto;
		padding: 30px 0;
		border-radius: 10px;
	}
	.newsBox .flexBox p {
		font-size: 1.6rem;
	}
	.newsBox .flexBox p::before {
		width: 30px;
		height: 10px;
		margin: 0 6px 3px 0;
	}
	.newsBox .flexBox a {
		margin-right: 20px;
		line-height: 22px;
		font-weight: bold;
	}
	.newsBox .newsList {
		margin: 20px 20px 0;
	}
	.newsBox .newsList li:last-child {
		padding: 0;
	}
}

/* ------------------------------
 見出し・共通（PC）
------------------------------ */
/* h2 */
.contentsHome h2 {
	position: relative;
	margin-bottom: 30px;
	font-size: 4.2rem;
	line-height: 1.5;
	font-weight: 600;
}
.contentsHome h2 span {
	display: block;
	margin-bottom: 57px;
	color: #4c6e7f;
	font-family: "Rubik", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .05em;
}
.contentsHome h2 span::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 12px;
	margin: 0 8px 4px 0;
	background: url(../img/decoration_eng.png) no-repeat 0 0 / cover;
	vertical-align: middle;
}
/* .newsBlock .btn a,
.featuresBlock .btn a,
.recruitBlock .btn a {
	background-color: #fff;
} */
/* ------------------------------
 見出し・テキスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* h2 */
	.contentsHome h2 {
		margin-bottom: 25px;
		font-size: 3.4rem;
	}
	.contentsHome h2 span {
		margin-bottom: 32px;
		font-size: 1.6rem;
	}
	.contentsHome h2 span::before {
		width: 30px;
		height: 10px;
		margin: 0 6px 3px 0;
	}
	.contentsHome h2 br {
		display: none;
	}
	/* 共通 */
	/* .newsBlock .inBlock,
	.featuresBlock .inBlock {
		width: 88%;
		margin-left: 6%;
		margin-right: 6%;
	} */
	.contentsHome .btn a {
		min-width: 230px;
	}
}

/* ------------------------------
 芙蓉協会の魅力（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.advantageBlock {
		height: 686px;
		background: url(../img/advantage_bg.jpg) no-repeat 0 77px / 1358px 609px;
	}
	.advantageBlock .inBlock {
		position: relative;
		padding-top: 70px;
	}
	.advantageBlock .inBlock h2 {
		width: 420px;
	}
	.advantageBlock .inBlock img {
		position: absolute;
		top: 0;
		right: -390px;
		border-radius: 40px 0 0 40px;
	}
}
/* ------------------------------
 芙蓉協会の魅力（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.advantageBlock {
		margin-bottom: 60px;
		background: url(../img/advantage_bg_sp.jpg) no-repeat 0 45% / 100% auto;
	}
	.advantageBlock .inBlock {
		width: 95%;
		margin-right: 0;
	}
	.advantageBlock .inBlock h2 {
		margin-right: 5%;
	}
	.advantageBlock .inBlock img {
		margin-top: 50px;
		border-radius: 30px 0 0 30px;
	}
}

/* ------------------------------
 求める人材像（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.personBlock {
		height: 1095px;
		background: url(../img/person_bg.jpg) no-repeat right 0 / 1920px 1095px;
	}
	.personBlock .inBlock {
		position: relative;
		padding: 122px 0 0 720px;
	}
	.personBlock .inBlock h2 {
		width: 420px;
	}
	.personBlock .inBlock img {
		position: absolute;
		top: 46px;
		left: -390px;
		border-radius: 0 40px 40px 0;
	}
}
/* ------------------------------
 求める人材像（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.personBlock {
		margin-bottom: 60px;
		padding-top: 25px;
		background: url(../img/person_bg_sp.jpg) no-repeat 0 0 / 100% auto;
	}
	.personBlock .inBlock {
		width: 95%;
		margin-left: 0;
	}
	.personBlock .inBlock h2,
	.personBlock .inBlock .btn {
		margin-left: 5%;
	}
	.personBlock .inBlock img {
		margin-top: 50px;
		border-radius: 0 30px 30px 0;
	}
}

/* ------------------------------
 JOB LIST（PC）
------------------------------ */
.jobBlock .inBlock {
	position: relative;
	padding: 130px 0;
	background-color: #f1f5f7;
}
.jobSwiper ul li {
	position: relative;
	padding-bottom: 38px;
	text-align: center;
}
.jobSwiper ul li img {
	border-radius: 30px;
}
.jobSwiper ul li .btn {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 240px;
	margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
	.jobBlock {
		position: relative;
		margin-top: -349px;
		z-index: 2;
	}
	.jobBlock .inBlock::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: -120px;
		width: 120px;
		height: 100%;
		border-radius: 40px 0 0 40px;
		background-color: #f1f5f7;
	}
	.jobBlock .inBlock::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: -390px;
		width: 390px;
		height: 100%;
		background-color: #f1f5f7;
	}
	.jobSwiper ul {
		display: flex;
		flex-wrap: wrap;
		gap: 45px;
	}
	.jobSwiper ul li {
		width: 350px;
	}
	.swiper-controller {
		display: none;
	}
}
/* ------------------------------
 JOB LIST（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.jobBlock {
		position: relative;
		z-index: 1;
		background: url(../img/job_bg_sp.jpg) no-repeat 0 4% / 100% auto;
	}
	.jobBlock .inBlock {
		padding: 55px 20px 35px;
		border-radius: 30px;
	}
	.jobSwiper ul li {
		padding-bottom: 34px;
	}
	.jobSwiper ul li img {
		border-radius: 20px;
	}
	/* PAGINATION/NEXT/PREV */
	.jobSwiper .swiper-controller {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 25px;
		height: 34px;
	}
	.jobSwiper .swiper-pagination,
	.jobSwiper .swiper-horizontal > .swiper-pagination-bullets,
	.jobSwiper .swiper-pagination-bullets.swiper-pagination-horizontal,
	.jobSwiper .swiper-pagination-custom,
	.jobSwiper .swiper-pagination-fraction {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		position: static;
		width: 100%;
		text-align: left;
	}
	.jobSwiper .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	.jobSwiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		width: 8px;
		height: 8px;
		margin: 0;
	}
	.swiper-pagination-bullet-active {
		background: url(../img/icon_btn.png) no-repeat 0 0 / cover;
	}
	.jobSwiper .swiper-buttons {
		display: flex;
		gap: 5px;
		position: static;
		height: 34px;
	}
	.jobSwiper .swiper-button-prev,
	.jobSwiper .swiper-button-next {
		display: block;
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		width: 34px;
		height: 34px;
		margin: 0;
	}
	.jobSwiper .swiper-button-prev::after,
	.jobSwiper .swiper-button-next::after {
		position: absolute;
		top: 0;
		left: auto;
		right: auto;
		width: 34px;
		height: 34px;
		border-radius: 50%;
		background: #113e54 url(../img/arrow_joblist.png) no-repeat 14px center / 7px 11px;
		font-size: 0;
		line-height: 34px;
	}
	.jobSwiper .swiper-button-prev::after {
		transform: scaleX(-1);
	}
}

/* ------------------------------
 採用お問合せ（PC）
------------------------------ */
.contactBlock .inBlock {
	position: relative;
	text-align: center;
}
/* .contactBlock .inBlock p {
	display: inline-block;
	position: absolute;
	width: 420px;
	height: 126px;
	padding-top: 40px;
	border-radius: 63px;
	background-color: var(--recruit-font-color);
	color: #fff;
	line-height: 1;
	font-weight: 600;
	letter-spacing: .1em;
}
.contactBlock .inBlock p span {
	display: inline-block;
	margin-bottom: 5px;
	background: linear-gradient(90deg,rgba(255,196,196,1) 0%, rgba(255,201,221,1) 14%, rgba(145,196,255,1) 49%, rgba(130,226,255,1) 67%, rgba(142,245,213,1) 100%);
	font-family: "Rubik", sans-serif;
	font-size: 3.5rem;
	font-weight: 500;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
} */
@media print, screen and (min-width: 768px) {
	.contactBlock {
		position: relative;
		height: 803px;
		padding: 131px 0 152px;
	}
	.contactBlock::after {
		content: "";
		display: block;
		position: absolute;
		top: -37px;
		left: 0;
		width: 1920px;
		height: 1028px;
		background: url(../img/contact_bg.jpg) no-repeat 0 0 / 1920px 1028px;
	}
	.contactBlock .inBlock {
		position: relative;
		z-index: 1;
		border-radius: 40px;
		background-color: #fff;
	}
	.contactBlock .inBlock .pc {
		border-radius: 40px;
	}
	/* .contactBlock .inBlock p {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	} */
}
/* ------------------------------
 採用お問合せ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contactBlock {
		margin-top: -33px;
		padding-top: 110px;
		background: url(../img/contact_bg_sp.jpg) no-repeat 0 0 / 100% auto;
	}
	.contactBlock .inBlock .sp {
		border-radius: 30px;
	}
	/* .contactBlock .inBlock p {
		bottom: 20%;
		left: 0;
		right: 0;
		width: 260px;
		height: 96px;
		margin: 0 auto;
		padding-top: 30px;
		border-radius: 48px;
		font-size: 1.2rem;
	}
	.contactBlock .inBlock p span {
		font-size: 2.6rem;
	} */
}