@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@-webkit-keyframes slide_loop_x {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@keyframes slide_loop_x {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@-webkit-keyframes slide_loop_y {
	0% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@keyframes slide_loop_y {
	0% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@-webkit-keyframes wave_hover {
	0% {
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
	}
	100% {
		-webkit-mask-position: 19px 0;
		        mask-position: 19px 0;
	}
}
@keyframes wave_hover {
	0% {
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
	}
	100% {
		-webkit-mask-position: 19px 0;
		        mask-position: 19px 0;
	}
}
.sub_kv .breadcrumb a {
	color: #faa000;
}
.sub_kv main {
	--cmn-bnr-color: #faa000;
}
.sub_kv .cmn_scroll .dots {
	background-image: radial-gradient(circle, #faa000 2px, transparent 2px);
}

.footer {
	margin-top: 0;
}

.sub_kv_over::before {
	top: 0;
	left: -624px;
	width: calc(100% + 624px);
	height: calc(100% + 970px);
	pointer-events: none;
	will-change: transform;
	background-image: url("../img/recruit/kv_over.svg");
	background-repeat: repeat;
	background-position: 0 0;
	background-size: 624px 970px;
	-webkit-animation: subKvOver 180s linear infinite;
	        animation: subKvOver 180s linear infinite;
}
@media screen and (max-width: 800px) {
	.sub_kv_over::before {
		left: -312px;
		width: calc(100% + 312px);
		height: calc(100% + 485px);
		background-size: 312px 485px;
		-webkit-animation-name: subKvOverSp;
		        animation-name: subKvOverSp;
	}
}

@-webkit-keyframes subKvOver {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -624px -970px;
	}
}

@keyframes subKvOver {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -624px -970px;
	}
}
@-webkit-keyframes subKvOverSp {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -312px -485px;
	}
}
@keyframes subKvOverSp {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -312px -485px;
	}
}
.recruit_inner {
	width: min(100% - 80px, 2000px);
	margin-inline: auto;
}

.recruit_label {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size18);
	letter-spacing: 0.04em;
	color: #faa000;
}
@media screen and (max-width: 800px) {
	.recruit_label {
		font-size: var(--font-size14);
	}
}

.message {
	--float-object-color: #faa000;
	padding-top: 100px;
	background-color: #fff;
}
.message .is_float_bg {
	height: calc(100% - 8.9334vw * 3);
}
.message .is_float_bg::after {
	display: none;
}
.message_inner {
	display: -ms-grid;
	display: grid;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-column-gap: 3.8vw;
	   -moz-column-gap: 3.8vw;
	        column-gap: 3.8vw;
	width: min(77.3334vw, 2000px);
	max-width: 2000px;
	padding-bottom: calc(200px + 8.9334vw);
	-ms-grid-columns: minmax(0, 497px) 3.8vw min(40.4001vw, 606px);
	grid-template-columns: minmax(0, 497px) min(40.4001vw, 606px);
}
.message_content {
	width: min(100%, 580px);
}
.message_title {
	margin-top: 36px;
	font-size: var(--font-size42);
	font-weight: 600;
	line-height: 1.9048;
	letter-spacing: 0.08em;
}
.message_text {
	margin-top: 64px;
	font-size: var(--font-size18);
	font-weight: 500;
	line-height: 2.6667;
	letter-spacing: 0.06em;
}
.message_text p + p {
	margin-top: 2em;
}
.message_visual {
	width: 100%;
}
.message_visual_placeholder {
	width: 100%;
	height: 100%;
}
.message .cmn_slide_item {
	height: 37.6667vw;
}
.message .cmn_slide_item img {
	width: auto;
	height: 100%;
}
@media screen and (max-width: 800px) {
	.message {
		padding-top: 10px;
	}
	.message_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		width: 100%;
		padding-bottom: calc(125px + 10.75vw);
	}
	.message_visual {
		width: 100%;
		overflow: hidden;
		text-align: right;
	}
	.message_visual img {
		width: min(82.5vw, 330px);
		margin-right: -14.4999vw;
	}
	.message_visual .recruit_bowl_visual {
		width: min(82.5vw, 330px);
		margin-right: -14.4999vw;
		margin-left: auto;
	}
	.message_content {
		width: 81.5vw;
		margin-top: max(-120vw, -480px);
	}
	.message_title {
		margin-top: 52px;
		margin-left: -0.4em;
		font-size: var(--font-size32);
		line-height: 1.8125;
		letter-spacing: 0.08em;
		-webkit-writing-mode: vertical-rl;
		    -ms-writing-mode: tb-rl;
		        writing-mode: vertical-rl;
	}
	.message_text {
		margin-top: min(47.5vw, 190px);
		font-size: var(--font-size14);
		font-weight: 500;
		line-height: 2.3572;
		letter-spacing: 0.06em;
		text-align: justify;
	}
	.message_slide {
		height: 45.25vw;
	}
	.message_slide .cmn_slide_item {
		width: 60.7501vw;
	}
	.message .cmn_slide_item {
		height: 45.25vw;
	}
}

.whats {
	padding: calc(110px + 8.9334vw) 0;
	overflow: hidden;
	background-color: #fff;
}
.whats_inner {
	display: -ms-grid;
	display: grid;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 7.3334vw;
	width: min(74.6667vw, 2000px);
	margin: 0 auto;
	-ms-grid-columns: minmax(0, 683px) 7.3334vw minmax(320px, 0.5fr);
	grid-template-columns: minmax(0, 683px) minmax(320px, 0.5fr);
}
.whats_visual {
	position: relative;
	width: 100%;
}
.whats_visual_table img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}
.whats_chara {
	position: absolute;
	z-index: 2;
	display: block;
	will-change: transform, filter;
}
.whats_chara img {
	display: block;
	width: 100%;
	height: auto;
}
.whats_chara._chara01 {
	top: 3%;
	left: 3.7%;
	width: 7.4671%;
}
.whats_chara._chara02 {
	top: 15%;
	left: 37.5%;
	width: 9.0776%;
}
.whats_chara._chara03 {
	top: 8.5%;
	left: 88.5%;
	width: 7.9063%;
}
.whats_chara._chara04 {
	top: 28.5%;
	left: 52.5%;
	width: 7.3207%;
}
.whats_chara._chara05 {
	top: 44.5%;
	left: 43%;
	width: 7.1743%;
}
.whats_chara._chara06 {
	top: 71%;
	left: 1%;
	width: 9.5169%;
}
.whats_chara._chara07 {
	top: 96.5%;
	left: 35.5%;
	width: 7.0279%;
}
.whats_content {
	width: min(100%, 480px);
}
.whats_title {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size68);
	font-weight: 400;
	line-height: 1.0736;
	color: #faa000;
}
.whats_title_ja {
	display: inline-block;
	margin-top: 20px;
	padding: 5px 7px 8px;
	background-color: #000;
	font-size: var(--font-size24);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #fff;
}
.whats_text {
	width: min(100%, 290px);
	margin-top: 66px;
	font-size: var(--font-size16);
	line-height: 2.25;
}
@media screen and (max-width: 800px) {
	.whats {
		padding: calc(100px + 10.75vw) 0 calc(170px + 10.75vw + 20vw);
	}
	.whats_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		width: 100%;
		row-gap: 40px;
	}
	.whats_visual {
		width: 87.5vw;
	}
	.whats_chara._chara01 {
		top: 3%;
		left: 1%;
		width: 9.4286%;
	}
	.whats_chara._chara02 {
		top: 14%;
		left: 42%;
		width: 11.4286%;
	}
	.whats_chara._chara03 {
		top: 4%;
		left: 90%;
		width: 10%;
	}
	.whats_chara._chara04 {
		top: 27.5%;
		left: 60%;
		width: 9.4286%;
	}
	.whats_chara._chara05 {
		top: 47%;
		left: 45.5%;
		width: 8.8572%;
	}
	.whats_chara._chara06 {
		top: 74%;
		left: -3.5%;
		width: 12%;
	}
	.whats_chara._chara07 {
		top: 96.5%;
		left: 39%;
		width: 8.8572%;
	}
	.whats_content {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 80vw;
		margin: 0 auto;
	}
	.whats_title {
		font-size: var(--font-size48);
		line-height: 1.0834;
	}
	.whats_title_ja {
		margin-top: 17px;
		padding: 4px 4px 7px 7px;
		font-size: var(--font-size18);
	}
	.whats_text {
		position: absolute;
		top: calc(172.5vw + 80px);
		width: 100%;
		margin-top: 30px;
		font-size: var(--font-size14);
		line-height: 2.1429;
		text-align: justify;
	}
}

@media screen and (min-width: 801px) {
	.teams {
		position: relative;
		z-index: 2;
		margin-top: -8.9334vw;
		margin-bottom: -8.9334vw;
		-webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat, no-repeat;
		-webkit-mask-position: 0 -0.5px, 50% -0.5px, 50% calc(100% + 0.8px);
		        mask-position: 0 -0.5px, 50% -0.5px, 50% calc(100% + 0.8px);
		-webkit-mask-size: 100% 100.2%, 113.3334vw auto, 113.3334vw auto;
		        mask-size: 100% 100.2%, 113.3334vw auto, 113.3334vw auto;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
	}
}
@media screen and (max-width: 800px) {
	.teams {
		position: relative;
		margin-top: -10.75vw;
		margin-bottom: -10.75vw;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat, no-repeat;
		-webkit-mask-position: 0 0, 50% 0, 50% 100.2%;
		        mask-position: 0 0, 50% 0, 50% 100.2%;
		-webkit-mask-size: 100% 100%, 100% 10.75vw, 100% 10.75vw;
		        mask-size: 100% 100%, 100% 10.75vw, 100% 10.75vw;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
}
.teams {
	position: relative;
	z-index: 2;
	padding: calc(180px + 8.9334vw) 0 calc(540px + 8.9334vw);
	background: #d7e5e8 url(../img/recruit/teams_bg.webp) 50% 100%/cover no-repeat;
	color: #000;
}
.teams_inner {
	width: min(80vw, 2000px);
}
.teams_lead {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0, 1.2fr) minmax(260px, 23.6667vw);
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 23.6667vw);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.teams_catch {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-size: clamp(68px, 9vw, 168px);
	line-height: 0.7;
	color: #fff;
}
.teams_catch span:nth-child(1) {
	margin-left: 0.72em;
}
.teams_catch span:nth-child(2) {
	margin-top: -0.1em;
}
.teams_catch span:nth-child(3) {
	margin-top: 0.14em;
	margin-left: 1.45em;
}
.teams_catch span:nth-child(4) {
	margin-top: -0.05em;
	margin-left: 0.75em;
}
.teams_intro {
	padding-top: 40px;
}
.teams_intro .recruit_label {
	margin-bottom: 30px;
}
.teams_intro > p:last-child {
	margin-top: 20px;
	font-size: var(--font-size16);
	line-height: 2.25;
}
.teams_title {
	font-size: var(--font-size34);
	font-weight: 600;
	line-height: 1.5883;
	letter-spacing: 0.04em;
}
.teams_roles {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0, 1fr) 5.3334vw minmax(0, 1fr) 5.3334vw minmax(0, 1fr);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	-webkit-column-gap: 5.3334vw;
	   -moz-column-gap: 5.3334vw;
	        column-gap: 5.3334vw;
	margin-top: 150px;
}
.teams_roles > h3 {
	grid-column: 1/-1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 9px;
	margin-bottom: 42px;
	font-size: var(--font-size18);
	font-weight: 600;
}
.teams_roles > h3 span {
	display: block;
	width: 81px;
}
.teams_roles > h3 img {
	display: block;
	width: 100%;
}
.teams_role {
	--team-color: #dca200;
	position: relative;
	display: -ms-grid;
	display: grid;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-flex-line-pack: start;
	    align-content: start;
	-ms-grid-columns: -webkit-max-content 1.3334vw minmax(0, 1fr);
	-ms-grid-columns: max-content 1.3334vw minmax(0, 1fr);
	grid-template-columns: -webkit-max-content minmax(0, 1fr);
	grid-template-columns: max-content minmax(0, 1fr);
	-webkit-column-gap: 1.3334vw;
	   -moz-column-gap: 1.3334vw;
	        column-gap: 1.3334vw;
}
.teams_role._closer {
	--team-color: #47a036;
}
.teams_role._director {
	--team-color: #51a09f;
}
.teams_role_section {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-bottom: 30px;
	padding-bottom: 10px;
	font-size: var(--font-size12);
	letter-spacing: 0.02em;
	grid-column: 1/-1;
	border-bottom: 1.5px dotted #000;
}
.teams_role_label {
	display: inline-block;
	height: min(2.5385em, 33px);
	padding: 0 min(1.1539em, 15px);
	border: 1.5px dotted #000;
	border-radius: 100px;
	background-color: #fff;
	font-size: min(1.1819vw, var(--font-size13));
	font-weight: 500;
	white-space: nowrap;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.teams_role h4 span {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	display: block;
	font-size: min(2.7693vw, 36px);
	font-weight: 400;
	color: var(--team-color);
}
.teams_role h4 small {
	display: block;
	margin-top: 8px;
	font-size: var(--font-size16);
	font-weight: 500;
	letter-spacing: 0.04em;
}
.teams_role > p:last-child {
	grid-column: 1/-1;
	margin-top: 30px;
	font-size: var(--font-size14);
	line-height: 2;
}
@media screen and (max-width: 800px) {
	.teams {
		padding: calc(135px + 10.75vw) 0 calc(240px + 10.75vw);
		background-image: url(../img/recruit/teams_bg_sp.webp);
	}
	.teams_inner {
		width: 100%;
	}
	.teams_lead {
		display: block;
	}
	.teams_catch {
		width: 89vw;
		margin: 0 auto;
		font-size: 18.25vw;
		line-height: 0.76;
	}
	.teams_intro {
		width: 80vw;
		margin: 80px auto 0;
		padding-top: 0;
	}
	.teams_intro .recruit_label {
		margin-bottom: 18px;
		text-align: center;
	}
	.teams_intro > p:last-child {
		margin-top: 18px;
		font-size: var(--font-size14);
		line-height: 2.1429;
		text-align: justify;
	}
	.teams_title {
		font-size: var(--font-size28);
		line-height: 1.6429;
		text-align: center;
		text-indent: 0.5em;
	}
	.teams_roles {
		display: block;
		width: 80vw;
		margin: 60px auto 0;
	}
	.teams_roles > h3 {
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
		gap: 0.75vw;
		margin-bottom: 40px;
		font-size: var(--font-size14);
	}
	.teams_roles > h3 span {
		width: 18.75vw;
	}
	.teams_role {
		-ms-grid-columns: 102px 3vw minmax(0, 1fr);
		grid-template-columns: 102px minmax(0, 1fr);
		-webkit-column-gap: 3vw;
		   -moz-column-gap: 3vw;
		        column-gap: 3vw;
	}
	.teams_role + .teams_role {
		margin-top: 60px;
	}
	.teams_role_section {
		margin-bottom: 24px;
		font-size: var(--font-size10);
	}
	.teams_role_label {
		height: min(2.5em, 30px);
		padding: 0;
		font-size: var(--font-size12);
	}
	.teams_role h4 span {
		font-size: var(--font-size32);
	}
	.teams_role h4 small {
		margin-top: 2.75vw;
		font-size: var(--font-size15);
	}
	.teams_role > p:last-child {
		margin-top: 14px;
		font-size: var(--font-size13);
		line-height: 2;
		text-align: justify;
	}
}

.workweek {
	position: relative;
	z-index: 1;
	padding: calc(120px + 8.9334vw) 0 calc(66px + 8.9334vw);
	overflow: hidden;
	background-color: #faa000;
}
.workweek_inner {
	display: -ms-grid;
	display: grid;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 1vw;
	width: min(100%, 2000px);
	-ms-grid-columns: minmax(268px, 645px) 1vw minmax(600px, 1fr);
	grid-template-columns: minmax(268px, 645px) minmax(600px, 1fr);
}
.workweek_intro {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 0 auto;
}
.workweek_mark {
	position: relative;
	width: min(22vw, 330px);
	aspect-ratio: 330/420;
}
.workweek_mark_svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}
.workweek_mark_path {
	fill: none;
	stroke: #000;
	stroke-width: 3;
	stroke-linecap: butt;
	stroke-linejoin: miter;
	opacity: 0;
}
.workweek_mark_en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	position: absolute;
	top: 1.1112em;
	left: calc(100% - 2px);
	font-size: clamp(20px, 2.4vw, 36px);
	letter-spacing: 0.02em;
	white-space: nowrap;
	clip-path: inset(0 100% 0 0);
	rotate: 111.25deg;
	-webkit-transform-origin: left center;
	        transform-origin: left center;
}
.workweek_copy {
	width: min(80%, 370px);
	margin-top: 54px;
}
.workweek_copy h2 {
	display: inline-block;
	padding: 6px 12px 8px;
	background-color: #000;
	font-size: var(--font-size24);
	font-weight: 600;
	color: #faa000;
}
.workweek_copy p {
	margin-top: 30px;
	font-size: var(--font-size16);
	line-height: 2.25;
}
.workweek_photos {
	position: relative;
	width: min(90%, 408px);
	margin-top: 40px;
}
.workweek_photos .photo {
	position: relative;
	z-index: 1;
	display: block;
}
.workweek_photos .photo img {
	border-radius: 5px;
}
.workweek_photos .photo._01 {
	width: 30.8824%;
}
.workweek_photos .photo._02 {
	z-index: 2;
	width: 48.2844%;
	margin-top: -29.4117%;
	margin-left: auto;
}
.workweek_photos .photo._03 {
	width: 58.5785%;
	margin-top: -14.7058%;
	margin-left: 4.902%;
}
.workweek_photos .photo._04 {
	z-index: 2;
	width: 29.902%;
	margin-top: -14.7058%;
	margin-right: 9.804%;
	margin-left: auto;
}
.workweek_schedule {
	--workweek-col-en: clamp(120px, 11.8667vw, 178px);
	--workweek-col-ja: clamp(70px, 5.2vw, 78px);
	position: relative;
	width: 100%;
	margin-top: 7.3334vw;
	margin-left: auto;
}
.workweek_schedule::before {
	position: absolute;
	top: -10px;
	left: 0;
	width: 100%;
	height: 11px;
	border-top: 1.5px dotted #000;
	border-bottom: 1.5px dotted #000;
	content: "";
	display: block;
	mix-blend-mode: multiply;
}
.workweek_schedule::after {
	display: none;
}
.workweek_day {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: var(--workweek-col-en) var(--workweek-col-ja) minmax(0, 1fr);
	grid-template-columns: var(--workweek-col-en) var(--workweek-col-ja) minmax(0, 1fr);
}
.workweek_day::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0;
	border-top: 1.5px dotted #000;
	mix-blend-mode: multiply;
	content: "";
	display: block;
}
.workweek_day:last-of-type::after {
	bottom: -11px;
	height: 11px;
	border-bottom: 1.5px dotted #000;
}
.workweek_day_en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	padding: 0.7609em 0 0 0.5218em;
	background-color: rgba(174, 133, 61, 0.5);
	font-size: clamp(28px, 3.0667vw, 46px);
	border-right: 1.5px dotted #000;
	mix-blend-mode: multiply;
}
.workweek_day_ja {
	padding-top: 3.5715em;
	background-color: rgba(160, 126, 67, 0.2);
	font-size: var(--font-size14);
	font-weight: 700;
	text-align: center;
	border-right: 1.5px dotted #000;
	mix-blend-mode: multiply;
}
.workweek_day_body {
	padding: 2.0455em 1.3637em;
	font-size: var(--font-size22);
}
.workweek_day_body strong {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	font-weight: 500;
	-webkit-column-gap: 8px;
	   -moz-column-gap: 8px;
	        column-gap: 8px;
}
.workweek_day_body strong small {
	height: 1.8462em;
	padding: 0 1.1539em;
	border: 1.5px dotted #000;
	border-radius: 99px;
	background-color: #fff;
	font-size: 0.591em;
	font-weight: 600;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.workweek_day_body p {
	margin-top: 14px;
	font-size: var(--font-size14);
	line-height: 2.0715;
}
.workweek_day_body p span {
	font-family: "Elms Sans", sans-serif;
	font-weight: 600;
	display: inline-block;
	width: 3.4em;
	font-size: var(--font-size16);
	color: #fff;
}
.workweek_day_body p small {
	margin-left: 6px;
	padding: 0 0.8334em;
	border: 1px solid #000;
	border-radius: 30px;
	font-size: var(--font-size12);
	font-weight: 500;
}
.workweek_balloon {
	position: absolute;
	z-index: 2;
	min-width: 164px;
	padding: 17px 2.3077em;
	border-radius: 35px;
	background-color: #000;
	font-size: var(--font-size13);
	line-height: 1.6154;
	text-align: center;
	color: #fff;
	color: #faa000;
}
.workweek_balloon img {
	position: absolute;
}
.workweek_balloon._01 {
	top: 50%;
	left: calc(clamp(120px, 11.8667vw, 178px) + clamp(70px, 5.2vw, 78px) + min(12.0834vw, 145px));
	translate: 0 -50%;
}
.workweek_balloon._01 img {
	right: -22px;
	bottom: -8px;
	width: 47px;
}
.workweek_balloon._02 {
	top: 50%;
	left: calc(clamp(120px, 11.8667vw, 178px) + clamp(70px, 5.2vw, 78px) + clamp(200px, 18.5834vw, 223px));
}
.workweek_balloon._02 img {
	top: -12px;
	left: -22px;
	width: 54px;
}
.workweek_balloon._03 {
	top: 18%;
	left: calc(clamp(120px, 11.8667vw, 178px) + clamp(70px, 5.2vw, 78px) + clamp(260px, 24.3334vw, 292px));
}
.workweek_balloon._03 img {
	top: -20px;
	right: -20px;
	width: 59px;
}
.workweek_note {
	margin-top: 30px;
	font-size: var(--font-size12);
}
@media screen and (width <= 1100px) {
	.workweek_day {
		-ms-grid-columns: clamp(90px, 11.4546vw, 130px) 36px minmax(0, 1fr);
		grid-template-columns: clamp(90px, 11.4546vw, 130px) 36px minmax(0, 1fr);
	}
	.workweek_day_en {
		padding: 0.9033em 0 0 0.5807em;
		font-size: clamp(24px, 2.8182vw, 32px);
	}
	.workweek_day_ja {
		-webkit-writing-mode: vertical-rl;
		    -ms-writing-mode: tb-rl;
		        writing-mode: vertical-rl;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		padding-top: 2em;
		font-size: var(--font-size12);
		text-align: left;
	}
	.workweek_day_body {
		padding: 35px 1em;
		font-size: var(--font-size20);
	}
	.workweek_balloon {
		padding-top: 14px;
		padding-bottom: 14px;
	}
	.workweek_balloon._01 {
		top: 10px;
		translate: 0 0;
	}
	.workweek_balloon._02 {
		left: calc(clamp(80px, 10vw, 110px) + 36px + clamp(180px, 19.091vw, 200px));
	}
	.workweek_balloon._03 {
		left: calc(clamp(80px, 10vw, 110px) + 36px + clamp(266px, 27.2728vw, 300px));
	}
}
@media screen and (max-width: 800px) {
	.workweek {
		padding: calc(30px + 10.75vw) 0 calc(85px + 10.75vw);
	}
	.workweek_inner {
		display: block;
	}
	.workweek_cop {
		width: 100%;
	}
	.workweek_mark {
		width: 330px;
		scale: 0.8182;
		-webkit-transform-origin: 50% 100%;
		        transform-origin: 50% 100%;
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}
	.workweek_mark_en {
		top: 40px;
		font-size: var(--font-size36);
	}
	.workweek_copy {
		width: 80vw;
		margin-top: 0;
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}
	.workweek_copy h2 {
		font-size: var(--font-size18);
	}
	.workweek_copy p {
		margin-top: 16px;
		font-size: var(--font-size14);
		line-height: 2.4286;
		letter-spacing: 0.02em;
	}
	.workweek_photos {
		width: 100%;
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
		margin-top: -17vw;
	}
	.workweek_photos img {
		border-radius: 3px;
	}
	.workweek_photos .photo._01 {
		z-index: 2;
		width: 22.75%;
	}
	.workweek_photos .photo._01 img {
		border-bottom-left-radius: 0;
		border-top-left-radius: 0;
	}
	.workweek_photos .photo._02 {
		width: 32.5%;
		margin-top: -15.5%;
	}
	.workweek_photos .photo._02 img {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}
	.workweek_photos .photo._03 {
		width: 43%;
		margin-top: -34%;
		margin-left: 12.5%;
	}
	.workweek_photos .photo._04 {
		width: 22%;
		margin-top: -19.6078%;
		margin-right: 14.5%;
	}
	.workweek_schedule {
		--workweek-col-en: 74px;
		--workweek-col-ja: 30px;
		margin-top: 50px;
		padding-top: 0;
	}
	.workweek_schedule::before {
		top: -8px;
		height: 8px;
	}
	.workweek_schedule::after {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
		display: block;
		width: 100%;
		height: 100%;
		background-image: linear-gradient(to bottom, #000 0, #000 1.25px, transparent 1.25px, transparent 3px), linear-gradient(to bottom, #000 0, #000 1.25px, transparent 1.25px, transparent 3px);
		background-position: var(--workweek-col-en) 0, calc(var(--workweek-col-en) + var(--workweek-col-ja)) 0;
		background-repeat: repeat-y;
		background-size: 1.25px 3px;
		content: "";
		pointer-events: none;
	}
	.workweek_day {
		-ms-grid-columns: var(--workweek-col-en) var(--workweek-col-ja) minmax(0, 1fr);
		grid-template-columns: var(--workweek-col-en) var(--workweek-col-ja) minmax(0, 1fr);
	}
	.workweek_day:nth-child(3) .workweek_day_body, .workweek_day:nth-child(4) .workweek_day_body {
		min-height: 70px;
		padding-top: 24px;
		padding-bottom: 24px;
	}
	.workweek_day:nth-child(3) .workweek_day_body strong, .workweek_day:nth-child(4) .workweek_day_body strong {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.workweek_day:nth-child(3) .workweek_day_body strong small, .workweek_day:nth-child(4) .workweek_day_body strong small {
		margin-top: 6px;
	}
	.workweek_day:last-of-type::after {
		bottom: -8px;
		height: 8px;
	}
	.workweek_day_en {
		width: 74px;
		padding: 34px 0 0 12px;
		font-size: var(--font-size18);
		border-right: none;
	}
	.workweek_day_ja {
		width: 30px;
		padding-top: 24px;
		font-size: var(--font-size12);
		border-right: none;
	}
	.workweek_day_body {
		min-height: 85px;
		padding: 34px 15px 30px;
		font-size: var(--font-size16);
	}
	.workweek_day_body strong small {
		height: 1.8em;
		padding: 0 1em;
		font-size: var(--font-size10);
	}
	.workweek_day_body p {
		font-size: var(--font-size12);
		line-height: 1.8334;
	}
	.workweek_day_body p span {
		font-size: var(--font-size13);
	}
	.workweek_day_body p small {
		font-size: var(--font-size9);
	}
	.workweek_balloon {
		min-width: 123px;
		padding: 12px 18px;
		border-radius: 26px;
		font-size: var(--font-size10);
	}
	.workweek_balloon img {
		right: -18px;
		bottom: -14px;
		width: 9.75vw;
	}
	.workweek_balloon._01 {
		top: 14px;
		left: 174px;
	}
	.workweek_balloon._01 img {
		width: 36px;
	}
	.workweek_balloon._02 {
		left: 222px;
	}
	.workweek_balloon._02 img {
		width: 40px;
	}
	.workweek_balloon._03 {
		top: 165px;
		left: 160px;
	}
	.workweek_balloon._03 img {
		width: 46px;
	}
	.workweek_note {
		margin-top: 18px;
		font-size: var(--font-size10);
		line-height: 1.8;
		text-align: center;
	}
}

@media screen and (min-width: 801px) {
	.future {
		position: relative;
		z-index: 2;
		margin-top: -8.9334vw;
		margin-bottom: -8.9334vw;
		-webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat, no-repeat;
		-webkit-mask-position: 0 -0.5px, 50% -0.5px, 50% calc(100% + 0.8px);
		        mask-position: 0 -0.5px, 50% -0.5px, 50% calc(100% + 0.8px);
		-webkit-mask-size: 100% 100.2%, 113.3334vw auto, 113.3334vw auto;
		        mask-size: 100% 100.2%, 113.3334vw auto, 113.3334vw auto;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_l.svg), url(../img/common/parts_mask_bottom_r.svg);
	}
}
@media screen and (max-width: 800px) {
	.future {
		position: relative;
		margin-top: -10.75vw;
		margin-bottom: -10.75vw;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat, no-repeat;
		-webkit-mask-position: 0 0, 50% 0, 50% 100.2%;
		        mask-position: 0 0, 50% 0, 50% 100.2%;
		-webkit-mask-size: 100% 100%, 100% 10.75vw, 100% 10.75vw;
		        mask-size: 100% 100%, 100% 10.75vw, 100% 10.75vw;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
}
.future {
	z-index: 2;
	padding: calc(115px + 8.9334vw) 0 calc(150px + 8.9334vw);
	background: linear-gradient(to bottom, #fff 0, #fff calc(clamp(440px, 33.3334vw, 500px) + 40px), #f2f2f2 42.6667vw, #f2f2f2 100%);
}
main:not(:has(.crosstalk)) .future {
	padding-bottom: calc(150px + 8.9334vw * 2);
}

.future_inner {
	width: min(86.6667vw, 2000px);
	margin: 0 auto;
}
.future_header {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}
.future_header h2 {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 18px;
	font-size: var(--font-size68);
	color: #faa000;
}
.future_header > p:last-child {
	margin-top: 32px;
	font-size: var(--font-size16);
	line-height: 1.9375;
}
.future_label {
	display: inline-block;
	padding: 6px 6px 8px;
	background-color: #000;
	font-size: var(--font-size24);
	letter-spacing: 0.04em;
	color: #fff;
}
.future_career {
	--career-area-width: min(1050px, calc(100% - 44px));
	--career-side-width: calc((100% - var(--career-area-width)) / 2);
	--career-last-height: 230px;
	--career-after-height: 0px;
	--career-after-opacity: 0;
	--career-base-overlap: 35px;
	position: relative;
	left: 50%;
	width: 100vw;
	height: clamp(410px, 33.3334vw, 500px);
	margin-top: 40px;
	overflow: visible;
	background-color: #fff;
	translate: -50% 0;
}
.future_career::after {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	width: calc(var(--career-side-width) + 1px);
	height: var(--career-after-height);
	background-color: #f2f2f2;
	border-top: 1.5px dotted #000;
	opacity: var(--career-after-opacity);
	content: "";
}
.future_career_steps {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	z-index: 1;
	display: -ms-grid;
	display: grid;
	width: var(--career-area-width);
	-ms-grid-columns: (minmax(0, 1fr))[5];
	grid-template-columns: repeat(5, minmax(0, 1fr));
	translate: -50% 0;
}
.future_career_steps::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 4;
	width: 100vw;
	border-top: 1.5px dotted #000;
	content: "";
	translate: -50% 0;
}
.future_career_step {
	--base-height: 90px;
	--base-rise: 90px;
	--career-color: #e5a900;
	position: relative;
	z-index: 5;
	min-width: 0;
}
.future_career_step._step02 {
	--base-height: 125px;
	--base-rise: 35px;
	--career-color: #8bab3f;
}
.future_career_step._step03 {
	--base-height: 160px;
	--base-rise: 35px;
	--career-color: #47a036;
}
.future_career_step._step04 {
	--base-height: 195px;
	--base-rise: 35px;
	--career-color: #51a09f;
}
.future_career_step._step05 {
	--base-height: 230px;
	--base-rise: 35px;
	--career-color: #cb6858;
}
.future_career_step:not(:last-child) .future_career_base_mask {
	right: calc(var(--career-base-overlap) * -1);
}
.future_career_step:not(:last-child) .future_career_base {
	border-right: 1.5px dotted #000;
}
.future_career_step:not(:last-child) .future_career_role {
	padding-right: var(--career-base-overlap);
}
.future_career_step:last-child .future_career_base {
	border-radius: var(--career-base-overlap) 0 0;
}
.future_career_base_mask {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: var(--base-height);
	overflow: hidden;
}
.future_career_base {
	position: absolute;
	inset: 0;
	border-top: 1.5px dotted #000;
	border-left: 1.5px dotted #000;
	border-radius: var(--career-base-overlap) var(--career-base-overlap) 0 0;
	background-color: #f2f2f2;
	opacity: 0;
}
.future_career_time {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 5;
	display: -ms-grid;
	display: grid;
	width: 56px;
	border: 1.5px dotted #000;
	border-radius: 50%;
	background-color: #fff;
	font-size: var(--font-size10);
	font-weight: 500;
	opacity: 0;
	translate: -50% 50%;
	aspect-ratio: 1;
	place-items: center;
}
.future_career_role {
	position: absolute;
	top: 30px;
	left: 0;
	width: 100%;
	text-align: center;
	opacity: 0;
}
.future_career_role strong {
	display: block;
	font-size: var(--font-size15);
	font-weight: 600;
}
.future_career_role small {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	display: block;
	margin-top: 8px;
	font-size: var(--font-size12);
	color: var(--career-color);
}
.future_career_chara {
	position: absolute;
	bottom: calc(var(--base-height) - 1px);
	left: 50%;
	z-index: 3;
	display: block;
	width: min(8.0667vw, 121px);
	opacity: 0;
	translate: -50% 0;
}
.future_career_chara img {
	display: block;
	width: 100%;
	height: auto;
}
.future_career_balloon {
	position: absolute;
	bottom: calc(var(--base-height) + min(11.3334vw, 170px) + 24px);
	left: 30%;
	z-index: 4;
	width: min(11.0834em, 133px);
	height: 5.5834em;
	border: 1.5px dotted #000;
	border-radius: 100px;
	background-color: #fff;
	font-size: var(--font-size12);
	line-height: 1.45;
	text-align: center;
	opacity: 0;
	translate: -50% 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.future_career_balloon::after {
	aspect-ratio: 1/1;
	content: "";
	display: block;
	position: absolute;
	bottom: -10px;
	left: 54%;
	width: 15px;
	border-bottom: 1.5px dotted #000;
	rotate: 45deg;
	content: "";
}
.future_block {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 100px minmax(0, 1fr);
	grid-template-columns: 100px minmax(0, 1fr);
	margin-top: 8.6667vw;
	background-color: #f2f2f2;
}
.future_block_head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-column-gap: 16px;
	   -moz-column-gap: 16px;
	        column-gap: 16px;
}
.future_block_head h3 {
	font-size: var(--font-size28);
	font-weight: 600;
	line-height: 1.3;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.future_block_en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size14);
	white-space: nowrap;
	color: #faa000;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.future_block_desc {
	position: absolute;
	top: -10px;
	right: 0;
	width: 425px;
	font-size: var(--font-size14);
	line-height: 2;
}
.future_evaluation {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-top: 100px;
	counter-reset: evaluation;
	-ms-grid-column-align: end;
	    justify-self: end;
}
.future_evaluation_item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	min-width: 0;
	padding-bottom: 50px;
	overflow: hidden;
	border-radius: 20px;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	counter-increment: evaluation;
}
.future_evaluation_item::before {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	position: absolute;
	top: 16px;
	left: 20px;
	z-index: 2;
	font-size: var(--font-size12);
	font-weight: 600;
	letter-spacing: 0.02em;
	content: "0" counter(evaluation);
}
.future_evaluation_en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	position: absolute;
	top: 16px;
	right: 20px;
	z-index: 2;
	font-size: var(--font-size12);
	letter-spacing: 0.02em;
	color: #faa000;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.future_evaluation_visual {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	width: 100%;
	margin-top: 80px;
	aspect-ratio: 348/169;
}
.future_evaluation_visual > img:first-child {
	display: block;
	width: 100%;
	height: auto;
}
.future_evaluation_part {
	position: absolute;
	display: block;
}
.future_evaluation_part._sweat01 {
	top: 48%;
	right: 13%;
	width: 25px;
	width: 6.5105%;
}
.future_evaluation_part._sweat02 {
	top: 59.5%;
	right: 15%;
	width: 4.4271%;
}
.future_evaluation_part._jumper {
	top: 12%;
	right: 20%;
	width: 64px;
	-webkit-transform-origin: 50% 100%;
	        transform-origin: 50% 100%;
	width: 16.6667%;
}
.future_evaluation_part._medal {
	width: 20px;
	width: 5.2084%;
}
.future_evaluation_part._medal._01 {
	top: 24%;
	left: 17%;
}
.future_evaluation_part._medal._02 {
	top: -2%;
	left: 34%;
}
.future_evaluation_part._medal._03 {
	top: 14%;
	right: 33%;
}
.future_evaluation_part._medal._04 {
	top: 2%;
	right: 23%;
}
.future_evaluation_content {
	width: min(86%, 292px);
	margin: auto auto 0;
}
.future_evaluation_content h4 {
	margin-top: 30px;
	font-size: var(--font-size22);
	font-weight: 500;
	line-height: 1.3637;
	letter-spacing: 0.02em;
}
.future_evaluation_content p {
	margin-top: 20px;
	font-size: var(--font-size13);
	line-height: 1.8462;
}
.future_benefits {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	padding-top: 80px;
	-ms-grid-column-align: end;
	    justify-self: end;
}
.future_benefit {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(140px, 1fr) 24px minmax(0, 0.77fr);
	grid-template-columns: minmax(140px, 1fr) minmax(0, 0.77fr);
	gap: 24px;
	width: 100%;
	min-height: 170px;
	padding: 35px min(2vw, 30px) 28px min(6.3334vw, 95px);
	border-radius: 18px;
	background-color: #fff;
}
@media screen and (width <= 1000px) {
	.future_benefit {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 18px;
		padding: 30px 30px 25px 70px;
	}
}
.future_benefit img {
	position: absolute;
	top: min(2vw, 22px);
	left: min(2vw, 22px);
	width: min(4vw, 44px);
	-o-object-fit: contain;
	   object-fit: contain;
}
.future_benefit div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.future_benefit h4 {
	font-size: var(--font-size18);
	font-weight: 500;
	letter-spacing: 0.02em;
}
.future_benefit > p {
	font-size: var(--font-size13);
	line-height: 1.8462;
	text-align: left;
}
.future_benefit_en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 14px;
	font-size: var(--font-size11);
	letter-spacing: 0.02em;
	color: #faa000;
}
.future_benefit_tag {
	display: inline-block;
	margin-bottom: 8px;
	padding: 2px 12px 3px;
	border: 1px solid #000;
	border-radius: 20px;
	background-color: #faa000;
	font-size: var(--font-size12);
	font-weight: 500;
}
.future_outline {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0, 1fr) min(3.3334vw, 50px) minmax(0, 1fr);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	-webkit-column-gap: min(3.3334vw, 50px);
	   -moz-column-gap: min(3.3334vw, 50px);
	        column-gap: min(3.3334vw, 50px);
	padding: 48px min(6.3334vw, 95px);
	border-radius: 20px;
	background-color: #fff;
}
.future_outline div {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: clamp(80px, 9.3334vw, 140px) minmax(0, 1fr);
	grid-template-columns: clamp(80px, 9.3334vw, 140px) minmax(0, 1fr);
	padding: 24px 0;
	border-bottom: 1px dotted #000;
	font-size: var(--font-size16);
	line-height: 1.625;
}
.future_outline dt {
	padding-left: 5px;
	font-weight: 500;
}
@media screen and (max-width: 800px) {
	.future {
		padding: calc(95px + 10.75vw) 0;
		background: linear-gradient(to bottom, #fff 0, #fff clamp(460px, 130vw, 950px), #f2f2f2 clamp(460px, 130vw, 950px), #f2f2f2 100%);
	}
	main:not(:has(.crosstalk)) .future {
		padding-bottom: calc(95px + 8.9334vw * 2);
	}
	.future_inner {
		width: 100%;
	}
	.future_header {
		width: 72.5vw;
		margin: 0 auto;
	}
	.future_header h2 {
		font-size: var(--font-size48);
		line-height: 1.0834;
	}
	.future_header > p:last-child {
		margin-top: 22px;
		font-size: var(--font-size14);
		line-height: 2.1429;
		text-align: left;
	}
	.future_label {
		font-size: var(--font-size18);
	}
	.future_career {
		--career-area-width: 92.5vw;
		--career-side-width: 0px;
		--career-last-height: 87.5vw;
		--career-base-overlap: 5.75vw;
		height: clamp(460px, 130vw, 950px);
		min-height: 0;
		margin-top: 0;
		margin-bottom: 100px;
	}
	.future_career_steps {
		inset: auto auto 0 7.5vw;
		translate: 0;
	}
	.future_career_steps::after {
		left: -7.5vw;
		translate: 0;
	}
	.future_career_step {
		--base-height: 32.5vw;
		--base-rise: 32.5vw;
	}
	.future_career_step._step02 {
		--base-height: 46.25vw;
		--base-rise: 13.7501vw;
	}
	.future_career_step._step03 {
		--base-height: 60vw;
		--base-rise: 13.7501vw;
	}
	.future_career_step._step04 {
		--base-height: 73.75vw;
		--base-rise: 13.7501vw;
	}
	.future_career_step._step05 {
		--base-height: 87.5vw;
		--base-rise: 13.7501vw;
	}
	.future_career_time {
		width: 9.25vw;
		font-size: var(--font-size10);
	}
	.future_career_role {
		top: 3.5001vw;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 1.7501vw;
		-webkit-writing-mode: vertical-rl;
		    -ms-writing-mode: tb-rl;
		        writing-mode: vertical-rl;
	}
	.future_career_role strong {
		font-size: var(--font-size10);
	}
	.future_career_role small {
		margin-top: 0;
		font-size: var(--font-size7);
	}
	.future_career_chara {
		width: 15vw;
	}
	.future_career_balloon {
		bottom: calc(var(--base-height) + 24.5vw);
		left: 17%;
		width: 100px;
		height: 5.5556em;
		font-size: var(--font-size9);
		line-height: 1.3334;
	}
	.future_career_balloon::after {
		bottom: -8px;
		width: 10px;
	}
	.future_block {
		width: 85vw;
		margin: 0 auto;
		-ms-grid-columns: 50px minmax(0, 1fr);
		grid-template-columns: 50px minmax(0, 1fr);
		margin-top: 70px;
	}
	.future_block_head {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		row-gap: 10px;
	}
	.future_block_head h3 {
		font-size: var(--font-size18);
	}
	.future_block_head > p:last-child {
		width: 72.5vw;
		margin-top: 0.5em;
		font-size: var(--font-size12);
		line-height: 2;
	}
	.future_block_en {
		margin-left: 0.5em;
		font-size: var(--font-size9);
	}
	.future_evaluation {
		display: block;
		width: 72.5vw;
		margin-left: auto;
		padding-top: 125px;
	}
	.future_evaluation_item {
		padding-bottom: 8.5vw;
		border-radius: 12px;
	}
	.future_evaluation_item + .future_evaluation_item {
		margin-top: 10px;
	}
	.future_evaluation_item::before {
		top: 14px;
		left: 16px;
		font-size: var(--font-size10);
	}
	.future_evaluation_en {
		top: 14px;
		right: 16px;
		font-size: var(--font-size10);
	}
	.future_evaluation_visual {
		margin-top: 66px;
	}
	.future_evaluation_part._sweat01 {
		width: 4.725vw;
	}
	.future_evaluation_part._sweat02 {
		width: 3.225vw;
	}
	.future_evaluation_part._jumper {
		width: 12.1vw;
	}
	.future_evaluation_part._medal {
		width: 3.8vw;
	}
	.future_evaluation_content {
		width: 75.8621%;
	}
	.future_evaluation_content h4 {
		margin-top: 35px;
		font-size: var(--font-size18);
	}
	.future_evaluation_content p {
		margin-top: 15px;
		font-size: var(--font-size11);
		line-height: 1.9091;
	}
	.future_benefits {
		display: block;
		padding-top: 100px;
	}
	.future_benefit {
		display: block;
		min-height: 0;
		padding: 32px 35px 30px;
		border-radius: 12px;
	}
	.future_benefit + .future_benefit {
		margin-top: 10px;
	}
	.future_benefit img {
		top: 18px;
		right: 16px;
		left: auto;
		width: min(9vw, 50px);
	}
	.future_benefit h4 {
		font-size: var(--font-size16);
	}
	.future_benefit > p {
		margin-top: 20px;
		font-size: var(--font-size11);
	}
	.future_benefit_en {
		font-size: var(--font-size10);
	}
	.future_benefit_tag {
		margin-bottom: 1.7501vw;
		padding: 0.5vw 2.5vw;
		font-size: var(--font-size10);
	}
	.future_block._benefits .future_block_head > p:last-child {
		width: 72.5vw;
		max-width: 72.5vw;
		margin-left: auto;
	}
	.future_outline {
		display: block;
		padding: 20px 8.25vw 60px;
		border-radius: 12px;
	}
	.future_outline div {
		display: block;
		padding: 22px 0;
		font-size: var(--font-size13);
	}
	.future_outline div dd {
		margin-top: 4px;
	}
}

.crosstalk {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.crosstalk_inner {
	position: relative;
	margin: 0 auto;
	padding-top: calc(110px + 8.9334vw);
	padding-bottom: 530px;
	overflow: hidden;
}
.crosstalk_inner::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 70%;
	background: -webkit-gradient(linear, left bottom, left top, from(rgba(235, 235, 235, 0)), color-stop(15%, rgba(235, 235, 235, 0.9)), to(#ebebeb));
	background: linear-gradient(0deg, rgba(235, 235, 235, 0) 0%, rgba(235, 235, 235, 0.9) 15%, #ebebeb 100%);
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.crosstalk_bg {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 550px;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.crosstalk_bg_track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	height: 100%;
	-webkit-animation: slide_loop_x linear 100s infinite;
	        animation: slide_loop_x linear 100s infinite;
}
.crosstalk_bg_item {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	height: 100%;
}
.crosstalk_bg_item img {
	display: block;
	width: auto;
	height: 100%;
}
.crosstalk_content {
	position: relative;
	z-index: 2;
	width: min(76vw, 1140px);
	margin: 0 auto;
}
.crosstalk_title_row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 28px;
}
.crosstalk_title_row h2 {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: min(7.6364vw, 84px);
	line-height: 1.0834;
	color: #faa000;
}
.crosstalk_title_row p {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-bottom: 0.5863em;
	padding: 5px 11px;
	background-color: #000;
	font-size: var(--font-size29);
	font-size: clamp(22px, 2.6364vw, 29px);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #fff;
}
.crosstalk_content > p {
	margin-top: 40px;
	font-size: var(--font-size16);
	line-height: 2.25;
}
.crosstalk .link_arrow {
	width: 218px;
	margin-top: 55px;
}
@media screen and (max-width: 800px) {
	.crosstalk_inner {
		padding-top: calc(100px + 10.75vw);
		padding-bottom: 340px;
	}
	.crosstalk_inner::before {
		height: 80%;
	}
	.crosstalk_bg {
		height: 380px;
	}
	.crosstalk_content {
		width: 80vw;
	}
	.crosstalk_title_row {
		position: relative;
	}
	.crosstalk_title_row h2 {
		font-size: var(--font-size64);
	}
	.crosstalk_title_row p {
		position: absolute;
		top: 0;
		left: 210px;
		margin-top: 24px;
		font-size: var(--font-size21);
	}
	.crosstalk_content > p {
		margin-top: 29px;
		font-size: var(--font-size14);
	}
	.crosstalk .link_arrow {
		width: 218px;
		margin-top: 40px;
	}
}
/*# sourceMappingURL=recruit.css.map */