@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300&display=swap');

/* ---------------------------------------
  採用情報
-----------------------------------------*/


/* リンク調整用
--------------------------------*/

#sec_schedule::before,
#sec_occupation::before {
	content: "";
	width: 100%;
	height: 30px;
	display: block;
	position: relative;
	background-color: #fff;
}

.bg_lightblue+section::before {
	background-color: #cfe6ed!important;
}

#sec_schedule::before {
	height: 60px;
}

#sec_occupation::before {
	background-image: url(../img/common/bg_stripe.png);
}

@media screen and (max-width: 768px) {
	#sec_occupation::before {
		height: 5.248vw;
	}
	#sec_schedule::before {
		height: 9vw;
	}
}


/* pagettl
--------------------------------*/

#pagettl {
	background-color: #0468b6;
}

@media screen and (max-width: 768px) {
	#pagettl .ico img {
		width: 13vw;
	}
}


/* secttl
--------------------------------*/

.secttl {
	display: block;
	background-color: #0468b6;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	padding: 13px 1.5em 14px;
	border-radius: 30px;
	box-shadow: 4px 4px 0 #045285;
	position: relative;
	transform: translateY(-50%);
	margin-bottom: 1em;
}

.secttl2 {
	position: relative;
	margin-bottom: 70px;
}

.secttl2 .en {
	display: inline-block;
	color: #cfe6ed;
	font-size: 3.4rem;
	line-height: .8;
	letter-spacing: 0.06em;
	transform: rotate(-7deg);
}

.secttl2 .midashi {
	display: block;
	font-size: 3.6rem;
	letter-spacing: 0.15em;
}

@media screen and (max-width: 768px) {
	.secttl {
		font-size: 4.2vw;
		padding: .5em 1.5em;
		border-radius: 100vh;
		box-shadow: .8vw .8vw 0 #045285;
	}
	.secttl2 {
		margin-bottom: 10vw;
	}
	.secttl2 .en {
		font-size: 4.8vw;
		margin-right: .35em;
	}
	.secttl2 .midashi {
		font-size: 5vw;
	}
}


/* contact_btn
--------------------------------*/

.contact_btn {
	margin-top: 120px;
}

@media screen and (min-width: 769px) {
	.contact_btn {
		max-width: 996px;
	}
	.contact_btn .midashi {
		width: 388px;
		padding: 0 1em;
	}
}

@media screen and (max-width: 768px) {
	.contact_btn {
		margin-top: 13vw;
	}
	.contact_btn .midashi {
		height: auto;
		padding: .2em 1em;
		border-radius: 100vh;
	}
}


/* sec_mv
--------------------------------*/

#sec_mv .ttlwrap {
	width: 100%;
	max-width: 1400px;
	height: auto;
	margin: 0 auto;
	position: relative;
}

#sec_mv .ttlwrap .img {
	overflow: hidden;
	border-radius: 10px;
}

#sec_mv .ttlwrap .ttl {
	width: 255px;
	height: 170px;
	background: url(../img/recruit/mv_ttl.png) no-repeat center / 100% auto;
	text-align: center;
	padding-top: 76px;
	font-size: 4.3rem;
	letter-spacing: 0.1em;
	position: absolute;
	left: 296px;
	left: 21.1%;
	top: 14.9%;
	z-index: 1;
}

#sec_mv .txtwrap {
	max-width: 1000px;
	position: relative;
	align-items: flex-end;
	padding-top: 28px;
}

#sec_mv .txtwrap .txt {
	width: 460px;
	line-height: 2.38;
}

#sec_mv .txtwrap .en {
	color: #cfe6ed;
	font-size: 10.5rem;
	line-height: .8;
	transform: rotate(-8deg);
	position: absolute;
	right: 68px;
	top: -30px;
}

#sec_mv .txtwrap .btn {
	margin-bottom: 12px;
}

#sec_mv .txtwrap .btn a {
	width: 432px;
	color: #0468b6;
	border-radius: 0;
	background-color: #fff;
	border: 1px solid #0468b6;
	height: 80px;
	font-size: 2.18rem;
}

#sec_mv .txtwrap .btn a::before,
#sec_mv .txtwrap .btn a::after {
	border-color: #0468b6;
}

#sec_mv .txtwrap .btn a::before {
	right: 18px;
}

#sec_mv .txtwrap .btn a::after {
	right: 26px;
	transform: translate(14%, -64%) rotate(135deg);
}

@media screen and (min-width: 769px) {
	#sec_mv .txtwrap .btn a:hover {
		color: #fff;
		background-color: #0468b6;
	}
	#sec_mv .txtwrap .btn a:hover::before,
	#sec_mv .txtwrap .btn a:hover::after {
		border-color: #fff;
	}
}

@media screen and (max-width: 768px) {
	#sec_mv .ttlwrap {
		max-width: inherit;
		height: auto;
	}
	#sec_mv .ttlwrap .img {
		border-radius: none;
	}
	#sec_mv .ttlwrap .ttl {
		width: 25.6vw;
		height: 17vw;
		padding-top: 8vw;
		font-size: 4.8vw;
		left: 18vw;
		top: 4vw;
	}
	#sec_mv .txtwrap {
		max-width: inherit;
		padding-top: 11vw;
	}
	#sec_mv .txtwrap .txt {
		width: 100%;
		line-height: 2;
	}
	#sec_mv .txtwrap .en {
		font-size: 16vw;
		right: auto;
		left: 16vw;
		right: auto;
		top: -4.6vw;
	}
	#sec_mv .txtwrap .btn {
		margin-bottom: 0;
		margin-top: 6vw;
		text-align: center;
	}
	#sec_mv .txtwrap .btn a {
		width: auto;
		height: 12vw;
		font-size: 3.8vw;
	}
	#sec_mv .txtwrap .btn a::before {
		right: 3.2vw;
	}
	#sec_mv .txtwrap .btn a::after {
		right: 4.8vw;
		transform: translate(34%, -64%) rotate(135deg);
	}
}


/* sec_about
--------------------------------*/

#sec_about {
	padding: 100px 0 70px;
}

#sec_about::before {
	content: "";
	width: 100%;
	height: 510px;
	background: #cfe6ed url(../img/common/bg_stripe.png);
	position: absolute;
	left: 0;
	bottom: 0;
}

#sec_about .secttl2 {
	margin-bottom: 25px;
}

#sec_about .inner {
	align-items: flex-end;
}

#sec_about .txtwrap {
	width: 488px;
}

#sec_about .txtwrap .txt {
	font-size: 1.6rem;
	line-height: 2.5;
	font-feature-settings: "palt";
	text-align: justify;
}

#sec_about .txtwrap .btn {
	margin-top: 45px;
}

#sec_about .txtwrap .btn a {
	width: 440px;
	height: 66px;
	border-radius: 33px;
	font-weight: 700;
	font-size: 2.1rem;
	letter-spacing: 0.15em;
}

#sec_about .txtwrap .btn a::before {
	right: 24px;
}

#sec_about .txtwrap .btn a::after {
	right: 32px;
}

#sec_about .img {
	width: 772px;
	border-radius: 10px;
	overflow: hidden;
	margin-right: -100px;
}

@media screen and (max-width: 768px) {
	#sec_about {
		padding: 12vw 0 8vw;
	}
	#sec_about::before {
		height: 88%;
		background-size: 2.6vw auto;
	}
	#sec_about .secttl2 {
		margin-bottom: 5vw;
	}
	#sec_about .secttl2 .midashi {
		letter-spacing: 0.05em;
	}
	#sec_about .txtwrap {
		width: 100%;
		margin-top: 8vw;
	}
	#sec_about .txtwrap .txt {
		font-size: 3.2vw;
		line-height: 2;
	}
	#sec_about .txtwrap .btn {
		margin-top: 8vw;
		text-align: center;
	}
	#sec_about .txtwrap .btn a {
		width: 64vw;
		height: 11vw;
		border-radius: 5.5vw;
		font-size: 3.8vw;
	}
	#sec_about .txtwrap .btn a::before {
		right: 3.2vw;
	}
	#sec_about .txtwrap .btn a::after {
		right: 4.8vw;
	}
	#sec_about .img {
		width: 100%;
		border-radius: 1.8vw;
		margin-right: 0;
	}
}


/* sec_voice
--------------------------------*/

#sec_voice {
	padding: 90px 0;
}

#sec_voice .block {
	align-items: flex-start;
}

#sec_voice .block+.block {
	margin-top: 100px;
}

#sec_voice .block .txtwrap {
	width: 590px;
}

#sec_voice .block .txtwrap .flex {
	align-items: center;
	margin-bottom: 36px;
}

#sec_voice .block .txtwrap .ico {
	width: 120px;
}

#sec_voice .block .txtwrap .profile {
	width: calc(100% - 120px);
}

#sec_voice .block .txtwrap .profile .position {
	font-size: 1.6rem;
	border-bottom: 1px solid #bbd0d7;
	padding-bottom: .2em;
	padding-left: 20px;
	margin-bottom: .1em;
}

#sec_voice .block .txtwrap .profile .name {
	font-size: 2.4rem;
	line-height: 1.5;
	display: inline-flex;
	align-items: center;
	padding-left: 20px;
}

#sec_voice .block .txtwrap .profile .name span {
	color: #bbd0d7;
	font-weight: 300;
	font-style: italic;
	font-size: 1.7rem;
	line-height: 1;
	letter-spacing: 0.16em;
	margin-left: 23px;
}

#sec_voice .block .txtwrap .ttl {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: .8em;
}

#sec_voice .block .txtwrap .txt {
	font-size: 1.5rem;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

#sec_voice .block .img {
	width: 625px;
	margin-right: -100px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: -20px 20px 0 #cfe6ed;
}

#sec_voice .block.reverse .img {
	margin-right: 0;
	margin-left: -100px;
	box-shadow: 20px 20px 0 #cfe6ed;
}

@media screen and (max-width: 768px) {
	#sec_voice {
		padding: 12vw 0 18vw;
	}
	#sec_voice .block+.block {
		margin-top: 14vw;
	}
	#sec_voice .block .txtwrap {
		width: 100%;
	}
	#sec_voice .block .txtwrap .flex {
		margin-bottom: 4vw;
	}
	#sec_voice .block .txtwrap .ico {
		width: 24vw;
	}
	#sec_voice .block .txtwrap .profile {
		width: calc(100% - 24vw);
	}
	#sec_voice .block .txtwrap .profile .position {
		font-size: 3.2vw;
		padding-left: 4vw;
	}
	#sec_voice .block .txtwrap .profile .name {
		font-size: 4.8vw;
		padding-left: 4vw;
	}
	#sec_voice .block .txtwrap .profile .name span {
		font-size: 3.4vw;
		margin-left: 4vw;
	}
	#sec_voice .block .txtwrap .ttl {
		font-size: 4.8vw;
	}
	#sec_voice .block .txtwrap .txt {
		font-size: 3.2vw;
	}
	#sec_voice .block .img {
		width: 100%;
		margin-right: 0;
		border-radius: 1.8vw;
		box-shadow: -4vw 4vw 0 #cfe6ed;
		margin-top: 5vw;
	}
	#sec_voice .block.reverse .img {
		margin-left: 0;
		box-shadow: 4vw 4vw 0 #cfe6ed;
	}
}


/* sec_schedule
--------------------------------*/

#sec_schedule {
	padding: 0 0 170px;
	background-image: url(../img/common/bg_stripe.png);
}

#sec_schedule .wrap {
	max-width: 1000px;
}

#sec_schedule .secttl2 {
	position: relative;
	transform: translateY(-60px);
	margin-bottom: 10px;
}

#sec_schedule .item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	min-width: 430px;
}

#sec_schedule .item:nth-child(even) {
	transform: translateY(50px)
}

#sec_schedule .item:nth-child(n+3) {
	margin-top: 50px;
}

#sec_schedule .item .img {
	width: 200px;
	overflow: hidden;
	border-radius: 8px;
}

#sec_schedule .item .txtwrap {
	flex: 1;
	margin-left: 22px;
}

#sec_schedule .item .txtwrap .month {
	width: 60px;
	height: 60px;
	background-color: #ffc93c;
	border-radius: 50%;
	text-align: center;
	font-size: 2.6rem;
	line-height: 1;
	letter-spacing: 0.15em;
	text-indent: .15em;
	padding: .6em 0;
	margin-bottom: 12px;
}

#sec_schedule .item .txtwrap .month span {
	font-size: 75%;
}

#sec_schedule .item .txtwrap .list {
	margin-bottom: -7px;
}

#sec_schedule .item .txtwrap .list li {
	position: relative;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 1.4;
	letter-spacing: 0.05em;
	padding-left: 1.3em;
}

#sec_schedule .item .txtwrap .list li+li {
	margin-top: .4em;
}

#sec_schedule .item .txtwrap .list li::before {
	content: "";
	width: .48em;
	height: .48em;
	background-color: #0468b6;
	border: 2px solid #4c4948;
	border-radius: 50%;
	position: absolute;
	left: .25em;
	top: .5em;
}

@media screen and (max-width: 768px) {
	#sec_schedule {
		padding: 0 0 18vw;
	}
	#sec_schedule {
		background-size: 2.6vw auto;
	}
	#sec_schedule .wrap {
		max-width: inherit;
	}
	#sec_schedule .secttl2 {
		transform: translateY(-70%);
		margin-bottom: 2vw;
	}
	#sec_schedule .item {
		width: 100%;
		min-width: inherit;
	}
	#sec_schedule .item:nth-child(even) {
		transform: none;
	}
	#sec_schedule .item+.item {
		margin-top: 6vw!important;
	}
	#sec_schedule .item .img {
		width: 28vw;
		border-radius: 1.6vw;
	}
	#sec_schedule .item .txtwrap {
		margin-left: 4vw;
	}
	#sec_schedule .item .txtwrap .month {
		width: 9.4vw;
		height: 9.4vw;
		font-size: 4vw;
		margin-bottom: 2vw;
		white-space: nowrap;
	}
	#sec_schedule .item .txtwrap .list {
		margin-bottom: 0;
	}
	#sec_schedule .item .txtwrap .list li {
		font-size: 3.2vw;
	}
	#sec_schedule .item .txtwrap .list li::before {
		border: 1px solid #4c4948;
	}
}


/* sec_occupation
--------------------------------*/

#sec_occupation {
	padding: 0 0 120px;
}

#sec_occupation .inner {
	justify-content: flex-start;
}

#sec_occupation .item {
	width: 385px;
	border: 2px solid #4c4948;
	border-radius: 20px;
	padding: 20px 20px 24px;
}

#sec_occupation .item .ttl {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.5;
	margin-bottom: 9px;
}

@media screen and (min-width: 769px) {
	#sec_occupation .item+.item:not(:nth-child(3n + 1)) {
		margin-left: calc(45px * .5)
	}
	#sec_occupation .item:nth-child(n+4) {
		margin-top: 23px;
	}
}

@media screen and (max-width: 768px) {
	#sec_occupation {
		padding: 0 0 24vw;
	}
	#sec_occupation .item {
		width: 62vw;
		margin: 0 auto;
		border: 1px solid #4c4948;
		border-radius: 3.2vw;
		padding: 3.2vw 3vw 3.8vw;
	}
	#sec_occupation .item + .item{
		margin-top: 4vw;
	}
	#sec_occupation .item .ttl {
		font-size: 4.2vw;
		margin-bottom: 1.8vw;
	}
}