@charset "UTF-8";
/*-------------------------------------------------------------------------
Recruit
------------------------------------------------------------------------- */

/* FV
------------------------------------------------------------------------- */
.wrap_keyimage_recruit {
	padding: calc(88 / 375 * 100vw) 0 calc(244 / 375 * 100vw);
	position: relative;
	z-index: 10;
	margin-bottom: calc(16 / 375 * 100vw);
}

.wrap_keyimage_recruit::before {
	content: "";
	display: block;
	width: calc(359 / 375 * 100vw);
	height: 100%;
	background: linear-gradient(to bottom, #F7F7F7 0%, #ECF1F6 100%);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: -1;
	border-radius: 0 0 calc(16 / 375 * 100vw) calc(16 / 375 * 100vw);
}

.wrap_keyimage_recruit::after {
	content: "";
	display: block;
	width: calc(351 / 375 * 100vw);
	height: calc(147 / 375 * 100vw);
	background: url(../images/recruit/recruit_top_img_sp.png) no-repeat;
	background-size: contain;
	position: fixed;
	top: calc(464 / 375 * 100vw);
	left: 0;
	z-index: -1;
	opacity: 1;                    /* 初期は不透明 */
	transition: opacity .3s ease;  /* スクロール時にふわっと変化 */
}

/* スクロール中は透過させる */
.wrap_keyimage_recruit.is-transparent::after {
	opacity: 0.16;                    /* 値はお好みで 0〜1 */
}

.ttl_h1_recruit {
	width: calc(351 / 375 * 100vw);
	margin-bottom: calc(24 / 375 * 100vw);
}

.keyimage_recruit_txt {
	width: calc(328 / 375 * 100vw);
	margin: 0 auto;
	font-size: calc(18 / 375 * 100vw);
	font-weight: bold;
	line-height: calc(42 / 24);
	color: #0022FF;
}

.keyimage_recruit_txt p {
	margin-bottom: 1.5em;
}

.keyimage_recruit_txt p:last-child {
	margin-bottom: 0;
}

.recruit_top .inner_section {
	position: relative;
	z-index: 10;
}



/* 募集職種
------------------------------------------------------------------------- */
.open_positions {
	width: 95.7333333333vw;
	margin: 0 auto;
	background: -webkit-gradient(linear, left top, left bottom, from(#ECF1F6), to(#FFFFFF));
	background: linear-gradient(to bottom, #ECF1F6 0%, #FFFFFF 100%);
	border-radius: 4.2666666667vw;
}
.open_positions .ttl_h2 {
	margin-bottom: 8.5333333333vw;
}

.ttl_h2 .txt_ttl_h2 {
	font-size: 4.2666666667vw;
}

.ul_recruit_nav li a {
	display: block;
	color: #0022FF;
	font-weight: bold;
	padding: 4.2666666667vw 10.6666666667vw 4.2666666667vw 2.1333333333vw;
	border-bottom: 1px solid #0022FF;
	line-height: 1.5;
	position: relative;
}
.ul_recruit_nav li a::after {
	content: "";
	display: block;
	width: 6.4vw;
	height: 6.4vw;
	background: url(../images/arrow_recruit.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 2.1333333333vw;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* CEOメッセージ
------------------------------------------------------------------------- */
.message {
	width: 95.7333333333vw;
	margin: 0 auto 4.2666666667vw;
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#EDF1F6));
	background: linear-gradient(to bottom, #fff 0%, #EDF1F6 100%);
	border-radius: 4.2666666667vw;
}

.message_txt p {
	margin-bottom: 1.5em;
}
.message_txt p:last-child {
	margin-bottom: 0;
}

.wrap_message_img {
	margin-top: 11.6vw;
}

.ceo_name {
	text-align: right;
}

/* フローティング */
.floating_recruit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 2.1333333333vw;
	background: rgba(165, 165, 191, 0.4);
	padding: 2.1333333333vw 0;
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
}

.btn_floating_recruit {
	width: 46.6666666667vw;
}
.btn_floating_recruit a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 10.6666666667vw;
	border: 2px solid #fff;
	border-radius: 2.1333333333vw;
	font-weight: bold;
	color: #fff;
	-webkit-box-shadow: 4px 4px 8px rgba(19, 37, 49, 0.16);
	box-shadow: 4px 4px 8px rgba(19, 37, 49, 0.16);
}
.btn_floating_recruit.btn_floating_recruit a {
	background: -webkit-gradient(linear, left top, right top, from(#0022FF), color-stop(50%, #006CFF), to(#2084F6));
	background: linear-gradient(to right, #0022FF 0%, #006CFF 50%, #2084F6 100%);
}
.btn_floating_recruit.btn_floating_recruit_recruitment a {
	background: #fff;
	color: #0022FF;
	border-color: #0022FF;
}

/*-------------------------------------------------------------------------
Recruitment
------------------------------------------------------------------------- */
.keyimage_recruit::after {
	content: "";
	display: block;
	width: 95.7333333333vw;
	height: 37.6vw;
	background: url(../images/recruit/bg_recruit_circle.svg) no-repeat;
	background-size: contain;
	position: fixed;
	top: 71.2vw;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -1;
}

.recruitment {
	padding: 12.8vw 0;
}
.recruitment .ul_recruit_nav li a::after {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

/* コンテンツ
------------------------------------------------------------------------- */
.recruitment_section {
	background: #0022FF;
	padding: 4.2666666667vw 2.1333333333vw;
	position: relative;
	z-index: 10;
	line-height: 1.5;
}
.recruitment_section:nth-child(even) {
	background: #2084F6;
}

.inner_recruitment_section {
	background: #fff;
	border-radius: 4.2666666667vw;
	padding: 12.8vw 0;
}

.ttl_h2_recruitment {
	font-weight: bold;
	font-size: 6.4vw;
	color: #0022FF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 6.4vw;
	letter-spacing: 0;
}
.ttl_h2_recruitment::before {
	content: "";
	display: block;
	min-width: 4.2666666667vw;
	max-width: 4.2666666667vw;
	height: 4.2666666667vw;
	border-radius: 50%;
	background: -webkit-gradient(linear, left top, left bottom, from(#2084F6), color-stop(50%, #0045FF), to(#0022FF));
	background: linear-gradient(to bottom, #2084F6 0%, #0045FF 50%, #0022FF 100%);
	margin-right: 4.2666666667vw;
}

.recruitment_contents {
	margin-bottom: 6.4vw;
}
.recruitment_contents:last-child {
	margin-bottom: 0;
}

.ttl_h3_recruitment {
	font-weight: bold;
	font-size: 5.3333333333vw;
	letter-spacing: 0.05em;
	color: #006CFF;
	margin-bottom: 4.2666666667vw;
	position: relative;
	z-index: 1;
}
.ttl_h3_recruitment::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #D4D8DD;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: -1;
}
.ttl_h3_recruitment span {
	display: inline-block;
	background: #fff;
	padding-right: 4.2666666667vw;
}

.ul_recruitment li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.1333333333vw;
	margin-bottom: 1.0666666667vw;
	letter-spacing: 0;
}
.ul_recruitment li:last-child {
	margin-bottom: 0;
}
.ul_recruitment li::before {
	content: "";
	display: block;
	min-width: 2.1333333333vw;
	max-width: 2.1333333333vw;
	height: 2.1333333333vw;
	border-radius: 50%;
	background: #132531;
	margin-top: 2.6666666667vw;
}

.recruitment_sub_contents {
	margin-bottom: 2.1333333333vw;
}
.recruitment_sub_contents:last-child {
	margin-bottom: 0;
}

.ttl_eligibility {
	font-weight: 900;
	margin-bottom: 2.1333333333vw;
}

.dl_recruitment {
	margin-top: 6.4vw;
}
.dl_recruitment dt, .dl_recruitment dd {
	padding: 4.2666666667vw;
	letter-spacing: 0;
}
.dl_recruitment dt {
	color: #0022FF;
	background: #ECF1F6;
	border-bottom: 1px solid #D4D8DD;
}

.wrap_contact_form {
	margin-top: 0;
	position: relative;
	z-index: 10;
}

/* お問い合わせ */
.contact {
	background-image: url(../images/bg_entry_sp.png);
}

.dl_contact_form dt {
	align-items: flex-start;
	letter-spacing: 0;
}

.dl_contact_form dt span {
	margin-top: calc(2 / 375 * 100vw);
}

@media (min-width: 769px) {

	/* FV
	------------------------------------------------------------------------- */
	.wrap_keyimage_recruit {
		padding: calc(150 / 1360 * 100vw) 0 calc(480 / 1360 * 100vw);
		margin-bottom: min(calc(16 / 1360 * 100vw), 16px);
	}

	.wrap_keyimage_recruit::before {
		width: calc(100%  - min(calc(32 / 1360 * 100vw), 32px));
		border-radius: 0 0 calc(16 / 1360 * 100vw) calc(16 / 1360 * 100vw);
	}

	.wrap_keyimage_recruit::after {
		width: calc(660 / 1360 * 100vw);
		height: calc(277 / 1360 * 100vw);
		background-image: url(../images/recruit/recruit_top_img_pc.svg);
		top: calc(483 / 1360 * 100vw);
	}

	.ttl_h1_recruit {
		width: calc(460 / 1360 * 100vw);
		margin-bottom: 0;
	}

	.keyimage_recruit_txt {
		width: calc(660 / 1360 * 100vw);
		margin: 0;
		font-size: calc(24 / 1360 * 100vw);
		position: absolute;
		top: calc(300 / 1360 * 100vw);
		right: calc(100 / 1360 * 100vw);
	}

	/* 募集職種
	------------------------------------------------------------------------- */
	.open_positions {
		width: calc(100% - 32px);
		background: -webkit-gradient(linear, left top, left bottom, from(#ECF1F6), to(#FFFFFF));
		background: linear-gradient(to bottom, #ECF1F6 0%, #FFFFFF 100%);
		border-radius: 1.1764705882vw;
	}
	.open_positions .ttl_h2 {
		margin-bottom: min(4.7058823529vw, 64px);
	}
	.ttl_h2 .txt_ttl_h2 {
		font-size: min(1.7647058824vw, 24px);
	}
	.ul_recruit_nav {
		width: min(55.8823529412vw, 760px);
		margin: 0 auto;
	}
	.ul_recruit_nav li a {
		padding: min(1.1764705882vw, 16px) min(3.5294117647vw, 48px) min(1.1764705882vw, 16px) min(1.7647058824vw, 24px);
		transition: 0.2s;
	}
	.ul_recruit_nav li a:hover {
		color: #EF5A2B;
	}
	.ul_recruit_nav li a::after {
		width: min(1.7647058824vw, 24px);
		height: min(1.7647058824vw, 24px);
		right: min(1.7647058824vw, 24px);
		transition: 0.2s;
	}
	.ul_recruit_nav li a:hover::after {
		right: min(calc(16 / 1360 * 100vw), 16px);
	}
	/* 会社資料
	------------------------------------------------------------------------- */
	.speakerdeck {
		width: min(calc(960 / 1360 * 100vw), 960px);
		margin: 0 auto;
	}
	
	/* CEOメッセージ
	------------------------------------------------------------------------- */
	.message {
		width: calc(100% - 32px);
		margin: 0 auto min(1.1764705882vw, 16px);
		border-radius: 1.1764705882vw;
	}
	.wrap_message_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: min(68.3823529412vw, 930px);
		margin: 0 auto;
	}
	.message_txt {
		width: min(41.1764705882vw, 560px);
	}
	.wrap_message_img {
		width: min(26.4705882353vw, 360px);
		margin-top: 0;
	}
	.message_img {
		width: min(22.7941176471vw, 310px);
		margin: 0 auto;
	}
	/* フローティング */
	.floating_recruit {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 24px;
		background: none;
		padding: 0;
		width: auto;
		position: fixed;
		bottom: auto;
		top: 50%;
		right: 0;
		left: auto;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.btn_floating_recruit {
		width: 48px;
	}
	.btn_floating_recruit a {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 8px;
		height: 248px;
		border-radius: 8px;
		font-size: 16px;
	}
	.btn_floating_recruit a::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		background: url(../images/icon_nav_circle.png) no-repeat;
		background-size: contain;
	}
	.btn_floating_recruit a span {
		min-height: 1em;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		letter-spacing: 0.5em;
	}
	.btn_floating_recruit.btn_floating_recruit a {
		background: -webkit-gradient(linear, left top, left bottom, from(#0022FF), color-stop(50%, #006CFF), to(#2084F6));
		background: linear-gradient(to bottom, #0022FF 0%, #006CFF 50%, #2084F6 100%);
	}
	.btn_floating_recruit.btn_floating_recruit_recruitment a {
		background: #fff;
		color: #0022FF;
		border-color: #0022FF;
	}
	/*-------------------------------------------------------------------------
	Recruitment
	------------------------------------------------------------------------- */
	.keyimage_recruit::after {
		width: 68.2352941176vw;
		height: 26.7647058824vw;
		top: 15.2941176471vw;
		left: 1.1764705882vw;
		-webkit-transform: none;
		transform: none;
	}
	.recruitment {
		padding: min(3.5294117647vw, 48px) 0;
	}
	.recruitment .ul_recruit_nav li a:hover::after {
		top: calc(50% + 8px);
		right: min(1.7647058824vw, 24px);
	}
	/* コンテンツ
	------------------------------------------------------------------------- */
	.recruitment_section {
		padding: min(1.1764705882vw, 16px);
	}
	.recruitment_section .inner_section {
		width: min(70.5882352941vw, 960px);
	}
	.inner_recruitment_section {
		border-radius: 1.1764705882vw;
		padding: min(3.5294117647vw, 48px) 0;
	}
	.ttl_h2_recruitment {
		font-size: min(2.3529411765vw, 32px);
		margin-bottom: min(1.7647058824vw, 24px);
	}
	.ttl_h2_recruitment::before {
		min-width: min(11.8382352941vw, 16px);
		max-width: min(11.8382352941vw, 16px);
		height: min(11.8382352941vw, 16px);
		margin-right: min(11.8382352941vw, 16px);
	}
	.recruitment_contents {
		margin-bottom: min(1.7647058824vw, 24px);
	}
	.ttl_h3_recruitment {
		font-size: min(1.4705882353vw, 20px);
		margin-bottom: min(1.1764705882vw, 16px);
	}
	.ttl_h3_recruitment span {
		padding-right: min(2.3529411765vw, 32px);
	}
	.ul_recruitment {
		padding-left: min(1.7647058824vw, 24px);
	}
	.ul_recruitment li {
		gap: min(0.5882352941vw, 8px);
		margin-bottom: min(0.2941176471vw, 4px);
	}
	.ul_recruitment li::before {
		min-width: min(0.5882352941vw, 8px);
		max-width: min(0.5882352941vw, 8px);
		height: min(0.5882352941vw, 8px);
		margin-top: min(0.5882352941vw, 8px);
	}
	.recruitment_sub_contents {
		margin-bottom: min(0.5882352941vw, 8px);
	}
	.ttl_eligibility {
		margin-bottom: min(0.5882352941vw, 8px);
	}
	.txt_recruitment {
		width: min(67.0588235294vw, 912px);
		margin: 0 auto;
	}
	.dl_recruitment {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: min(1.7647058824vw, 24px);
	}
	.dl_recruitment dt, .dl_recruitment dd {
		padding: min(1.1764705882vw, 16px);
		border-bottom: 1px solid #D4D8DD;
	}
	.dl_recruitment dt:first-of-type, .dl_recruitment dd:first-of-type {
		border-top: 1px solid #D4D8DD;
	}
	.dl_recruitment dt {
		width: min(11.7647058824vw, 160px);
		-ms-flex-line-pack: center;
		align-content: center;
	}
	.dl_recruitment dd {
		width: calc(100% - min(11.7647058824vw, 160px));
		padding-left: min(2.9411764706vw, 40px);
	}
	/* お問い合わせ */
	.contact {
		background-image: url(../images/bg_entry_pc.png);
	}

	.dl_contact_form dt span {
		margin-top: min(calc(2 / 1360 * 100vw), 2px);
	}
}