:root {
	--font-sans: "Noto Sans JP", "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	--font-color: #000000;
	--link-color: #000000;
	--blk-color: #000000;
	--wht-color: #ffffff;
	--blu-color01: #0054a7;
	--blu-color02: #0082ce;
	--blu-color03: #29bcff;
	--blu-color04: #4c9ace;
	--pnk-color: #ee869a;
	--grn-color: #439e00;
	--font-size-xs: 16px;
	--font-size-sm: 18px;
	--font-size-md: 20px;
	--font-size-lg: 24px;
	--font-size-xl: 32px;
	--font-weight-thin: 100;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-weight-black: 900;
	--ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
	--ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
	--ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
	--ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
	--ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
	--ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
	--ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
	--ease-inout-sine: cubic-bezier(0.37, 0, 0.63, 1);
	--ease-inout-cubic: cubic-bezier(0.65, 0, 0.35, 1);
	--ease-inout-quint: cubic-bezier(0.83, 0, 0.17, 1);
	--ease-inout-circ: cubic-bezier(0.85, 0, 0.15, 1);
	--ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
	--ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
	--ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
	--ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
	--ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
	--ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
	--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
	--ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
	--ease-inout-quad: cubic-bezier(0.45, 0, 0.55, 1);
	--ease-inout-quart: cubic-bezier(0.76, 0, 0.24, 1);
	--ease-inout-expo: cubic-bezier(0.87, 0, 0.13, 1);
	--ease-inout-back: cubic-bezier(0.68, -0.6, 0.32, 1.6)
}

.recruit-main {
	padding: 40px 25px;
}

.recruit-mainbox {
	background-color: #fbecee;
	padding: 60px 20px;
	border-radius: 30px;
}

.recruit-wrapper {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
	color: #333;
}

.recruit-title {
	font-size: clamp(0.938rem, 0.804rem + 0.6vw, 1.25rem);
	color: #0054a7;
	margin-bottom: 40px;
	line-height: 1.6;
	font-family: 'GothamBook', "Noto Sans JP", sans-serif;
	font-weight: 400;
}

.recruit-title span {
	display: block;
	font-size: clamp(1.25rem, 1.143rem + 0.48vw, 1.5rem);
	font-weight: bold;
	color: #0054a7;
	margin-top: 4px;
	font-weight: 600;
}

@media (max-width: 480px) {
	main.recruit-main {
		padding: 0;
	}

	.recruit-mainbox {
		border-radius: 0;
	}
}


a {
	transition: all .3s ease
}

a:hover {
	opacity: .7
}

.pc {
	display: block
}

@media screen and (max-width: 768px) {
	.pc {
		display: none
	}
}

.sp {
	display: none
}

@media screen and (max-width: 768px) {
	.sp {
		display: block
	}
}

.wrap {
	width: 71.7423133236%;
	max-width: 980px;
	margin: 0 auto
}

@media screen and (min-width: 769px)and (max-width: 1023px) {
	.wrap {
		width: 90%
	}
}

@media screen and (max-width: 768px) {
	.wrap {
		width: 86.6666666667vw;
		max-width: 100%
	}
}

header {
	position: static;
	height: auto;
	display: block;
	padding: 0;
	background-color: initial;
	z-index: 1
}

body>header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: var(--header-h);
	display: flex;
	align-items: center;
	padding: 0 30px;
	background-color: hsla(0, 0%, 100%, .9);
	z-index: 3000
}

body>footer {
	background: #d8d8d8;
	padding: 26px 20px 20px;
	font-size: .75rem
}
/*{
	width: min(95.168374817%, 1300px);
	padding: 40px 25px 125px;
	margin: 0 auto
} */


/* 応募ボタンがsafariではright: 0; からズレて見えることへの対処 */
html, body {
	margin: 0; /* Safariでの右側“ズレ”に見える原因の保険 */
}
.fixed-btn {
	position: fixed;
	top: 300px;
	right: max(0px, env(safe-area-inset-right)); /* iOSノッチ対策 */
	left: auto; /*右基準の明示*/
  width: 50px;
	z-index: 3001;
	will-change: transform;
	transform: translateZ(0);
}

.fixed-btn a {
	display: block;
	padding: 29px 15px 29px 16px;
	font-size: 19px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .24em;
	color: #fff;
	background-color: #29bcff;
	border-radius: 15px 0 0 15px
}

.fixed-btn span {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright
}

#recruit .recruit-mainbox {
	padding: 100px 0 95px;
	background-color: rgba(238, 134, 154, .15)
}

#recruit .recruit-mainbox>.wrap {
	width: 75.3846153846%
}

#recruit .recruit-title {
	margin-bottom: 70px;
	font-size: 24px;
	text-align: center
}

#recruit .recruit-title span {
	font-size: 27px
}

#recruit .intro-sect .sect-heading .heading-title {
	padding: 5px 10px 7px;
	margin-bottom: 30px;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .05em;
	color: #fff;
	background-color: var(--blu-color01);
	border-radius: 25px
}

#recruit .blk .blk-title {
	padding: 4px 10px 6px;
	margin-bottom: 35px;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .05em;
	color: var(--blu-color01);
	border: 1px solid var(--blu-color01);
	border-radius: 25px
}

#recruit.idealpersona .intro-sect {
	margin-bottom: 70px
}

#recruit.idealpersona .intro-sect .heading-desc {
	padding: 35px 10px 10px;
	text-align: center;
	background-color: #fff;
	border: 1px solid var(--blu-color01);
	border-radius: 25px
}

#recruit.idealpersona .intro-sect .heading-desc dt {
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: 600;
	color: var(--blu-color01)
}

#recruit.idealpersona .intro-sect .heading-desc dd {
	margin-bottom: 25px;
	font-size: 16px
}

#recruit.idealpersona .blk01 {
	margin-bottom: 45px
}

#recruit.idealpersona .blk01 .blk-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap
}

#recruit.idealpersona .blk01 .blk-inner li {
	width: min(46.4285714286%, 455px)
}

#recruit.idealpersona .blk01 .blk-inner dt {
	margin-bottom: 15px;
	font-size: 22px;
	font-weight: 600;
	color: var(--blu-color01)
}

#recruit.idealpersona .blk01 .blk-inner dd {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap
}

#recruit.idealpersona .blk01 .blk-inner .inner-desc {
	width: 63.2967032967%;
	font-size: 16px;
	line-height: 1.8125
}

#recruit.idealpersona .blk01 .blk-inner .inner-image {
	width: 31.8681318681%;
	margin-top: -30px
}

#recruit.idealpersona .blk02 .upper-data {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 90px
}

#recruit.idealpersona .blk02 .upper-data li {
	width: min(45.9183673469%, 450px)
}

#recruit.idealpersona .blk02 .upper-data li:first-of-type dt {
	margin: 0 auto 20px
}

#recruit.idealpersona .blk02 .upper-data li:first-of-type .data-image {
	width: 71.7777777778%
}

#recruit.idealpersona .blk02 .upper-data li:nth-of-type(2) dt {
	margin: 0 auto 25px
}

#recruit.idealpersona .blk02 .upper-data li:nth-of-type(2) .data-image {
	width: 60.6666666667%
}

#recruit.idealpersona .blk02 .upper-data li:last-of-type {
	width: 100%;
	margin: 65px auto 0
}

#recruit.idealpersona .blk02 .upper-data li:last-of-type dt {
	width: 450px;
	margin: 0 auto 30px
}

#recruit.idealpersona .blk02 .upper-data li:last-of-type .data-image {
	width: 67.7551020408%
}

#recruit.idealpersona .blk02 .upper-data dt {
	width: 100%;
	padding: 6px 10px;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .05em;
	color: var(--blu-color01);
	background-color: #fff;
	border-radius: 25px
}

#recruit.idealpersona .blk02 .upper-data .data-image {
	margin: 0 auto
}

#recruit.idealpersona .blk02 .lower-data .data-title {
	margin-bottom: 35px;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .05em;
	color: var(--blu-color01)
}

#recruit.idealpersona .blk02 .lower-data dl {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	text-align: center;
	border: 1px solid var(--blu-color01);
	border-radius: 25px
}

#recruit.idealpersona .blk02 .lower-data dt {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22.6530612245%;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7777777778;
	letter-spacing: .025em;
	color: #fff;
	background-color: var(--blu-color01);
	border-radius: 25px 0 0 25px
}

#recruit.idealpersona .blk02 .lower-data dd {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 77.3469387755%;
	background-color: #fff;
	border-radius: 0 25px 25px 0
}

#recruit.idealpersona .blk02 .lower-data dd div:not(:last-of-type) {
	border-right: .5px solid var(--blu-color04)
}

#recruit.idealpersona .blk02 .lower-data dd .year {
	padding: 15px 0;
	font-size: 16px;
	letter-spacing: .05em;
	border-bottom: .5px solid var(--blu-color04)
}

#recruit.idealpersona .blk02 .lower-data dd .ratio {
	padding: 15px 0;
	font-size: 20px;
	letter-spacing: .05em
}

#recruit.idealpersona .blk02 .lower-data .data-caption {
	margin-top: 15px;
	font-size: 14px;
	letter-spacing: .05em;
	text-align: right
}

#recruit.hrd .recruit-mainbox {
	padding-bottom: 110px
}

#recruit.hrd .intro-sect {
	position: relative;
	margin-bottom: 200px
}

#recruit.hrd .intro-sect .heading-desc {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7222222222;
	text-align: left
}

#recruit.hrd .intro-sect .heading-image {
	position: absolute;
	top: 65px;
	right: 15px;
	width: min(29.5918367347%, 290px)
}

#recruit.hrd .blk-inner {
	border: 1px solid var(--blu-color01);
	border-radius: 25px
}

#recruit.hrd .blk-inner li:first-of-type {
	border-radius: 25px 25px 0 0
}

#recruit.hrd .blk-inner li:first-of-type dt {
	border-radius: 25px 0 0 0
}

#recruit.hrd .blk-inner li:first-of-type dd {
	border-radius: 0 25px 0 0
}

#recruit.hrd .blk-inner li:last-of-type {
	border-radius: 0 0 25px 25px
}

#recruit.hrd .blk-inner li:last-of-type dt {
	border-radius: 0 0 0 25px
}

#recruit.hrd .blk-inner li:last-of-type dd {
	border-radius: 0 0 25px 0
}

#recruit.hrd .blk-inner li:not(:last-of-type) dt {
	border-bottom: .5px solid #fff;
}

#recruit.hrd .blk-inner li:not(:last-of-type) dd {
	border-bottom: .5px solid var(--blu-color04)
}

#recruit.hrd .blk-inner dl {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap
}

#recruit.hrd .blk-inner dt {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24.4897959184%;
	font-size: clamp(0.938rem, 0.913rem + 0.12vw, 1rem);
	line-height: 1.5294117647;
	text-align: center;
	color: #fff;
	background-color: var(--blu-color01)
}

#recruit.hrd .blk-inner dd {
	display: flex;
	align-items: center;
	width: 75.5102040816%;
	min-height: 128px;
	height: auto;
	padding: 14px 18px;
	font-size: clamp(0.938rem, 0.913rem + 0.12vw, 1rem);
	line-height: 1.6470588235;
	text-align: left;
	background-color: #fff;
}

/*
#recruit.careerpath {
  padding: 170px 0
}*/

#recruit.careerpath .recruit-mainbox {
	padding-bottom: 100px;
	margin-bottom: 100px
}

#recruit.careerpath .intro-sect .heading-desc {
	margin-bottom: 45px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7222222222;
	text-align: left
}

#recruit.careerpath .intro-sect .step-title {
	font-size: 20px;
	font-weight: 600;
	text-align: left;
	letter-spacing: .05em;
	color: var(--blu-color01)
}

#recruit.careerpath .intro-sect .step-image {
	width: min(100%, 980px);
	margin: -110px auto 0
}

#recruit.careerpath .interview-sect .sect-title {
	margin-bottom: 50px;
	font-size: 92px;
	line-height: 1
}

_::-webkit-full-page-media, _:future, :root #recruit.careerpath .interview-sect .sect-title {
  padding-top: 20px;
}

#recruit.careerpath .interview-sect .sect-title span {
	font-size: 22px;
	letter-spacing: .12em
}

#recruit.careerpath .interview-sect .blk-list {
	counter-reset: listnum
}

#recruit.careerpath .interview-sect .blk-list>li {
	padding: 55px 0 50px;
	background-color: rgba(238, 134, 154, .15);
	border-radius: 30px
}

#recruit.careerpath .interview-sect .blk-list>li:not(:last-of-type) {
	margin-bottom: 65px
}

#recruit.careerpath .interview-sect .blk-inner {
	position: relative;
	margin: 0 0 0 15.8163265306%;
	border-left: 1px solid var(--blu-color01)
}

#recruit.careerpath .interview-sect .blk-inner::before,
#recruit.careerpath .interview-sect .blk-inner::after {
	position: absolute;
	font-family: "GothamBook", "Noto Sans JP", sans-serif;
	font-weight: 900;
	text-align: center;
	color: var(--blu-color01)
}

#recruit.careerpath .interview-sect .blk-inner::before {
	content: "INTERVIEW";
	top: 0;
	left: -117px;
	width: 68px;
	height: 42px;
	font-size: 15px
}

#recruit.careerpath .interview-sect .blk-inner::after {
	counter-increment: listnum;
	content: counter(listnum, decimal-leading-zero);
	top: 30px;
	left: -115px;
	width: 73px;
	height: 79px;
	font-size: 73px;
	letter-spacing: .04em
}

#recruit.careerpath .interview-sect .blk02 .blk-inner::after,#recruit.careerpath .interview-sect .blk03 .blk-inner::after {
	left: -125px;
}

_::-webkit-full-page-media, _:future, :root #recruit.careerpath .interview-sect .blk02 .blk-inner::after,#recruit.careerpath .interview-sect .blk03 .blk-inner::after {
	left: -120px;
}

#recruit.careerpath .interview-sect .inner-heading {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 0 0 0 3.0303030303%;
	margin-bottom: 30px
}

#recruit.careerpath .interview-sect .heading-image {
	width: 18.125%;
	margin-right: 3.125%
}

#recruit.careerpath .interview-sect .title-area {
	width: 71.875%
}

#recruit.careerpath .interview-sect .heading-title {
	margin-bottom: 15px;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.53125;
	letter-spacing: .05em;
	color: var(--blu-color01)
}

#recruit.careerpath .interview-sect .heading-details {
	font-size: 15px;
	line-height: 1.7333333333
}

#recruit.careerpath .interview-sect .inner-cont {
	position: relative;
	padding: 0 0 0 3.0303030303%
}

#recruit.careerpath .interview-sect .inner-cont::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 0;
	width: 10px;
	height: 1px;
	background-color: var(--blu-color01)
}

#recruit.careerpath .interview-sect .inner-cont+.inner-cont {
	margin-top: 35px
}

#recruit.careerpath .interview-sect .inner-head {
	padding: 0 5.625% 0 0;
	margin-bottom: 15px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.75;
	letter-spacing: .05em;
	color: var(--blu-color01)
}

#recruit.careerpath .interview-sect .inner-desc {
	padding: 0 5.625% 0 0;
	font-size: 16px;
	line-height: 1.8125;
	letter-spacing: .025em
}

#recruit.careerpath .interview-sect .inner-image.image01 {
	float: right;
	width: 47.75%;
	margin-left: 20px;
	shape-outside: inset(calc(100% - 270px) 0 0)
}

#recruit.careerpath .interview-sect .inner-image.image02 {
	float: left;
	width: 37.875%;
	margin-right: 20px;
	margin-left: -22.5%;
	shape-outside: inset(calc(100% - 214px) 0 0)
}
/*
#recruit.crosstalk {
	padding: 170px 0
} */

#recruit.crosstalk .recruit-mainbox {
	padding-bottom: 80px;
	margin-bottom: 80px
}

#recruit.crosstalk .intro-sect .heading-copy {
	margin-bottom: 40px;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.71875;
	text-align: center;
	letter-spacing: .05em;
	color: var(--blu-color01)
}

#recruit.crosstalk .intro-sect .heading-image-area {
	position: relative
}

#recruit.crosstalk .intro-sect .heading-image-area p {
	position: absolute;
	bottom: -25px;
	width: 350px;
	padding: 15px 15px 13px;
	border-radius: 15px
}

#recruit.crosstalk .intro-sect .heading-image-area p strong,
#recruit.crosstalk .intro-sect .heading-image-area p span {
	display: block
}

#recruit.crosstalk .intro-sect .heading-image-area p strong {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: .05em
}

#recruit.crosstalk .intro-sect .heading-image-area p span {
	font-size: 14px;
	line-height: 1.5
}

#recruit.crosstalk .intro-sect .heading-image-area p.senior {
	left: 0;
	background-color: rgba(217, 229, 242, .8)
}

#recruit.crosstalk .intro-sect .heading-image-area p.junior {
	right: 0;
	background-color: rgba(220, 241, 152, .8)
}

#recruit.crosstalk .intro-sect .heading-image {
	width: min(68.8775510204%, 675px);
	margin: 0 auto 50px
}

#recruit.crosstalk .intro-sect .heading-desc {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7222222222;
	text-align: center
}

#recruit.crosstalk .blk-list>li:not(:last-of-type) {
	margin-bottom: 70px
}

#recruit.crosstalk .heading-title {
	padding: 9px 10px;
	margin-bottom: 25px;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .12em;
	color: var(--blu-color01);
	background-color: rgba(238, 134, 154, .15);
	border-radius: 15px
}

#recruit.crosstalk .inner-head {
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.75;
	text-align: center;
	letter-spacing: .05em
}

#recruit.crosstalk dd {
	width: 68.8775510204%;
	margin: 0 auto
}

#recruit.crosstalk dd::after {
	content: "";
	display: table;
	clear: both
}

#recruit.crosstalk dd .inner-desc {
	font-size: 16px;
	line-height: 1.8125;
	letter-spacing: .014em
}

#recruit.crosstalk dd .junior {
	font-weight: 600;
	color: var(--grn-color)
}

#recruit.crosstalk dd .senior {
	font-weight: 600;
	color: var(--blu-color02)
}

#recruit.crosstalk dd .inner-image.wraparound {
	clear: both;
	width: 38.3703703704%
}

#recruit.crosstalk .clear-after {
	display: none;
	clear: both;
	height: 0
}

#recruit.crosstalk .clear {
	clear: both
}

#recruit.crosstalk .blk01 dd .inner-image {
	float: left;
	margin-right: 20px;
	margin-left: -22.2222222222%
}

#recruit.crosstalk .blk01 .space {
	float: left;
	height: 10vw
}

#recruit.crosstalk .blk02 dd .inner-image {
	float: right;
	margin-left: 20px;
	margin-right: -22.2222222222%
}

#recruit.crosstalk .blk03 dd .inner-image {
	width: 100%;
	margin: 25px auto 0
}

#recruit.crosstalk .blk03 dd+.inner-head {
	margin-top: 60px
}

#recruit.crosstalk .blk04 dd .inner-image {
	width: 100%;
	margin: 25px auto 0
}


@media screen and (max-width: 768px) {
	header {
		padding: 0
	}

	body>header {
		padding: 20px
	}

	body>footer {
		padding: 26px 20px 20px
	}

	#recruit {
		width: 100%;
		padding: 0 0 0
	}

	.fixed-btn {
		top: auto;
		bottom: max(0px, env(safe-area-inset-bottom)); /*セーフエリア対応 */
		left: 50%;
		right: auto;
		width: 61.3333333333vw;
		transform: translateX(-50%);
		z-index: 3001;/* ヘッダーより前面 */
	}

	.fixed-btn a {
		padding: 4vw 2vw;
		font-size: 4.6666666667vw;
		text-align: center;
		border-radius: 2.6666666667vw 2.6666666667vw 0 0;
	}

	.fixed-btn span {
		-ms-writing-mode: initial;
		writing-mode: initial;
		text-orientation: initial;
	}

	#recruit .recruit-mainbox {
		padding: 22vw 0 17.3333333333vw;
	}

	#recruit .recruit-mainbox>.wrap {
		width: 86.6666666667vw;
	}

	#recruit .recruit-title {
		margin-bottom: 18.6666666667vw;
		font-size: 3.7333333333vw;
	}

	#recruit .recruit-title span {
		font-size: 4.2666666667vw;
	}

	#recruit .intro-sect .sect-heading .heading-title {
		padding: 1.7333333333vw 1.3333333333vw 1.4666666667vw;
		margin-bottom: 4.6666666667vw;
		font-size: 4.2666666667vw;
		border-radius: 4.6666666667vw
	}

	#recruit .blk .blk-title {
		padding: 1.4666666667vw 1.3333333333vw 1.3333333333vw;
		margin-bottom: 7.3333333333vw;
		font-size: 3.7333333333vw;
		border-radius: 4.6666666667vw
	}

	#recruit.idealpersona .intro-sect {
		margin-bottom: 12.6666666667vw
	}

	#recruit.idealpersona .intro-sect .heading-desc {
		padding: 8vw 4.6666666667vw 2vw;
		border-radius: 3.3333333333vw
	}

	#recruit.idealpersona .intro-sect .heading-desc dt {
		position: relative;
		margin-bottom: 2.6666666667vw;
		font-size: 4.1333333333vw;
		line-height: 1.4193548387
	}

	#recruit.idealpersona .intro-sect .heading-desc dt::before,
	#recruit.idealpersona .intro-sect .heading-desc dt::after {
		position: absolute;
		top: 50%;
		font-size: 11.4666666667vw;
		color: var(--blu-color01);
		transform: translateY(-50%)
	}

	#recruit.idealpersona .intro-sect .heading-desc dt::before {
		content: "【";
		left: -6.6666666667vw
	}

	#recruit.idealpersona .intro-sect .heading-desc dt::after {
		content: "】";
		right: -6.6666666667vw
	}

	#recruit.idealpersona .intro-sect .heading-desc dd {
		margin-bottom: 6vw;
		font-size: 3.2vw;
		line-height: 1.6666666667
	}

	#recruit.idealpersona .blk01 {
		margin-bottom: 12vw
	}

	#recruit.idealpersona .blk01 .blk-inner li {
		width: 100%;
		margin: 0 auto
	}

	#recruit.idealpersona .blk01 .blk-inner li:not(:last-of-type) {
		margin: 0 auto 7.3333333333vw
	}

	#recruit.idealpersona .blk01 .blk-inner dt {
		margin-bottom: 2.6666666667vw;
		font-size: 4.1333333333vw
	}

	#recruit.idealpersona .blk01 .blk-inner .inner-desc {
		width: 55.3333333333vw;
		font-size: 3.2vw;
		line-height: 1.6666666667
	}

	#recruit.idealpersona .blk01 .blk-inner .inner-image {
		width: 28vw;
		margin-top: -5.3333333333vw
	}

	#recruit.idealpersona .blk02 .upper-data {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		margin-bottom: 10vw
	}

	#recruit.idealpersona .blk02 .upper-data li {
		width: 100%;
		margin: 0 auto
	}

	#recruit.idealpersona .blk02 .upper-data li:not(:last-of-type) {
		margin: 0 auto 6vw
	}

	#recruit.idealpersona .blk02 .upper-data li:first-of-type dt {
		margin: 0 auto 4.6666666667vw
	}

	#recruit.idealpersona .blk02 .upper-data li:first-of-type .data-image {
		width: 48.8vw
	}

	#recruit.idealpersona .blk02 .upper-data li:nth-of-type(2) dt {
		margin: 0 auto 6.6666666667vw
	}

	#recruit.idealpersona .blk02 .upper-data li:nth-of-type(2) .data-image {
		width: 42vw
	}

	#recruit.idealpersona .blk02 .upper-data li:last-of-type {
		width: 100%;
		margin: 0 auto
	}

	#recruit.idealpersona .blk02 .upper-data li:last-of-type dt {
		width: 100%;
		margin: 0 auto 5.3333333333vw
	}

	#recruit.idealpersona .blk02 .upper-data li:last-of-type .data-image {
		width: 86.8vw
	}

	#recruit.idealpersona .blk02 .upper-data dt {
		padding: 1.3333333333vw 1.3333333333vw;
		font-size: 4.5333333333vw;
		border-radius: 4.6666666667vw
	}

	#recruit.idealpersona .blk02 .lower-data .data-title {
		margin-bottom: 3.3333333333vw;
		font-size: 3.7333333333vw
	}

	#recruit.idealpersona .blk02 .lower-data dl {
		display: block;
		border-radius: 4.6666666667vw
	}

	#recruit.idealpersona .blk02 .lower-data dt {
		width: 100%;
		font-size: 3.4666666667vw;
		border-radius: 4vw 4vw 0 0
	}

	#recruit.idealpersona .blk02 .lower-data dd {
		width: 100%;
		border-radius: 0 0 4vw 4vw
	}

	#recruit.idealpersona .blk02 .lower-data dd div:not(:last-of-type) {
		border-right: 1px solid var(--blu-color04)
	}

	#recruit.idealpersona .blk02 .lower-data dd .year {
		padding: 2.6666666667vw 0;
		font-size: 3.4666666667vw;
		border-bottom: 1px solid var(--blu-color04)
	}

	#recruit.idealpersona .blk02 .lower-data dd .ratio {
		padding: 2.6666666667vw 0;
		font-size: 4.5333333333vw
	}

	#recruit.idealpersona .blk02 .lower-data .data-caption {
		margin-top: 2.6666666667vw;
		font-size: 3.2vw
	}

	#recruit.hrd .recruit-mainbox {
		padding-bottom: 16vw
	}

	#recruit.hrd .intro-sect {
		margin-bottom: 13.3333333333vw
	}

	#recruit.hrd .intro-sect .heading-desc {
		font-size: 3.7333333333vw;
		line-height: 1.8928571429
	}

	#recruit.hrd .intro-sect .heading-image {
		position: static;
		width: 73.0666666667vw;
		margin: 3.3333333333vw auto 0
	}

	#recruit.hrd .blk-inner {
		border-radius: 4.6666666667vw
	}

	#recruit.hrd .blk-inner li:first-of-type {
		border-radius: 4vw 4vw 0 0
	}

	#recruit.hrd .blk-inner li:first-of-type dt {
		border-radius: 4vw 0 0 0
	}

	#recruit.hrd .blk-inner li:first-of-type dd {
		border-radius: 0 4vw 0 0
	}

	#recruit.hrd .blk-inner li:last-of-type {
		border-radius: 0 0 4vw 4vw
	}

	#recruit.hrd .blk-inner li:last-of-type dt {
		border-radius: 0 0 0 4vw
	}

	#recruit.hrd .blk-inner li:last-of-type dd {
		border-radius: 0 0 4vw 0
	}

	#recruit.hrd .blk-inner dt {
		width: 31.6vw;
		font-size: clamp(0.813rem, 0.738rem + 0.35vw, 1rem);
		line-height: 1.5
	}

	#recruit.hrd .blk-inner dd {
		width: 54.4vw;
		height: auto;
		padding: 12px 15px;
		font-size: clamp(0.813rem, 0.738rem + 0.35vw, 1rem);
		line-height: 1.5833333333
	}

	#recruit.careerpath {
		padding: 0 0 15.3333333333vw
	}

	#recruit.careerpath .recruit-mainbox {
		padding-bottom: 24vw;
		margin-bottom: 13.3333333333vw
	}

	#recruit.careerpath .intro-sect .heading-desc {
		margin-bottom: 8.6666666667vw;
		font-size: 3.7333333333vw;
		line-height: 1.8928571429
	}

	#recruit.careerpath .intro-sect .step-title {
		margin-bottom: 4vw;
		font-size: 4vw
	}

	#recruit.careerpath .intro-sect .step-area li:not(:last-of-type) {
		margin-bottom: 22.6666666667vw
	}

	#recruit.careerpath .intro-sect .step-image {
		width: 100%;
		margin: 0 auto 4vw
	}

	#recruit.careerpath .intro-sect .step-desc {
		font-size: 3.7333333333vw;
		line-height: 1.5714285714
	}

	#recruit.careerpath .interview-sect .sect-title {
		margin-bottom: 8vw;
		font-size: 12.2666666667vw
	}

	#recruit.careerpath .interview-sect .sect-title span {
		font-size: 3.7333333333vw
	}

	#recruit.careerpath .interview-sect .blk-list>li {
		padding: 0 6vw 10vw;
		border-radius: 2.6666666667vw
	}

	#recruit.careerpath .interview-sect .blk-list>li:not(:last-of-type) {
		margin-bottom: 22.6666666667vw
	}

	#recruit.careerpath .interview-sect .blk-inner {
		padding-top: 24vw;
		margin: 0;
		border-left: none
	}

	#recruit.careerpath .interview-sect .blk-inner::before {
		top: 7.3333333333vw;
		left: 50%;
		width: 100%;
		height: auto;
		font-size: 2vw;
		transform: translateX(-50%)
	}

	#recruit.careerpath .interview-sect .blk-inner::after {
		top: 10.6666666667vw;
		left: 50%;
		width: 100%;
		height: auto;
		font-size: 9.7333333333vw;
		transform: translateX(-50%)
	}

  #recruit.careerpath .interview-sect .blk02 .blk-inner::after,#recruit.careerpath .interview-sect .blk03 .blk-inner::after {
		left: 50%;
  }

  _::-webkit-full-page-media, _:future, :root #recruit.careerpath .interview-sect .blk02 .blk-inner::after,#recruit.careerpath .interview-sect .blk03 .blk-inner::after {
		left: 50%;
  }

	#recruit.careerpath .interview-sect .inner-heading {
		display: block;
		padding: 0;
		margin-bottom: 8.6666666667vw
	}

	#recruit.careerpath .interview-sect .heading-image {
		width: 40vw;
		margin: 0 auto 4vw
	}

	#recruit.careerpath .interview-sect .title-area {
		width: 100%;
		margin: 0 auto
	}

	#recruit.careerpath .interview-sect .heading-title {
		margin-bottom: 1.3333333333vw;
		font-size: 4.4vw;
		line-height: 1.4857142857
	}

	#recruit.careerpath .interview-sect .heading-details {
		font-size: 3.2vw;
		line-height: 1.7083333333
	}

	#recruit.careerpath .interview-sect .inner-cont {
		padding: 0
	}

	#recruit.careerpath .interview-sect .inner-cont::before {
		display: none
	}

	#recruit.careerpath .interview-sect .inner-cont+.inner-cont {
		margin-top: 9.3333333333vw
	}

	#recruit.careerpath .interview-sect .inner-cont dd {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column-reverse;
		flex-wrap: wrap
	}

	#recruit.careerpath .interview-sect .inner-head {
		padding: 0;
		margin-bottom: 2vw;
		font-size: 4vw;
		line-height: 1.5333333333
	}

	#recruit.careerpath .interview-sect .inner-desc {
		width: 100%;
		padding: 0;
		font-size: 3.3333333333vw;
		line-height: 1.76
	}

	#recruit.careerpath .interview-sect .inner-image.image01 {
		float: initial;
		width: 86.2666666667vw;
		margin-top: 4vw;
		margin-left: 0;
		margin-right: -16vw;
		shape-outside: initial
	}

	#recruit.careerpath .interview-sect .inner-image.image02 {
		float: initial;
		width: 86.2666666667vw;
		margin-top: 4vw;
		margin-right: 0;
		margin-left: -16vw;
		shape-outside: initial
	}

	#recruit.crosstalk {
		padding: 0 0 15.3333333333vw
	}

	#recruit.crosstalk .recruit-mainbox {
		padding-bottom: 13.3333333333vw;
		margin-bottom: 14.6666666667vw
	}

	#recruit.crosstalk .intro-sect .heading-copy {
		margin-bottom: 5.3333333333vw;
		font-size: 4.9333333333vw;
		line-height: calc(62px/px)
	}

	#recruit.crosstalk .intro-sect .heading-image-area {
		margin-bottom: 10.6666666667vw
	}

	#recruit.crosstalk .intro-sect .heading-image-area p {
		position: relative;
		width: 86.6666666667vw;
		bottom: 0;
		margin: 0 auto;
		padding: 2vw 2.6666666667vw;
		border-radius: 2vw;
		z-index: 1
	}

	#recruit.crosstalk .intro-sect .heading-image-area p strong {
		font-size: 3.8666666667vw
	}

	#recruit.crosstalk .intro-sect .heading-image-area p span {
		font-size: 3.2vw;
		line-height: 1.5416666667
	}

	#recruit.crosstalk .intro-sect .heading-image-area p small {
		display: inline
	}

	#recruit.crosstalk .intro-sect .heading-image-area p.senior {
		margin: 0 auto 2.6666666667vw
	}

	#recruit.crosstalk .intro-sect .heading-image {
		width: 100vw;
		margin: 0 auto -2vw -6.6666666667vw
	}

	#recruit.crosstalk .intro-sect .heading-desc {
		font-size: 3.7333333333vw;
		line-height: 1.8928571429
	}

	#recruit.crosstalk .blk-list>li:not(:last-of-type) {
		margin-bottom: 9.3333333333vw
	}

	#recruit.crosstalk .heading-title {
		padding: 4vw 1.3333333333vw;
		margin-bottom: 4.6666666667vw;
		font-size: 3.7333333333vw;
		line-height: 1.6785714286;
		border-radius: 2vw
	}

	#recruit.crosstalk .inner-head {
		margin-bottom: 2.6666666667vw;
		font-size: 4vw;
		line-height: 1.7666666667
	}

	#recruit.crosstalk dd {
		width: 100%
	}

	#recruit.crosstalk dd .inner-desc {
		font-size: 3.3333333333vw;
		line-height: 1.76
	}

	#recruit.crosstalk dd .inner-image.wraparound {
		width: 34.5333333333vw
	}

	#recruit.crosstalk .blk01 dd .inner-image {
		margin-right: 2.6666666667vw;
		margin-left: 0
	}

	#recruit.crosstalk .blk01 .space {
		height: 48vw
	}

	#recruit.crosstalk .blk02 dd .inner-image {
		margin-left: 2.6666666667vw;
		margin-right: 0
	}

	#recruit.crosstalk .blk03 dd .inner-image {
		margin: 5.3333333333vw auto 0
	}

	#recruit.crosstalk .blk03 dd+.inner-head {
		margin-top: 7.3333333333vw
	}

	#recruit.crosstalk .blk04 dd .inner-image {
		margin: 5.3333333333vw auto 0
	}
}