@charset "utf-8";

.fo-futura {
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1;
}
.clr-bl {
	color: #0e7ae0!important
}
.clr-wh {
	color: #fff!important
}
.txt {
	line-height: 1.8
}

/*header
---------------------------------------------------------*/
#header {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transition: .2s;
	z-index: 9990;
}
#header.act {
	box-shadow: 0 1px 1px rgba(0,0,0,.04)
}
.hWrap {
	padding: 1.5rem 2rem;
	text-align: left;
}
.hLogo {
	font-size: 2rem;
	margin-right: 7rem;
}
.hLogo img {
	display: block;
	margin-right: 1rem;
	max-height: 4rem;
}
#nav {
	flex: 1;
}
.nav li {
	font-weight: 600;
	margin-right: 3rem;
}
.nav a:hover {
	color: #0e7ae0
}
.btns {
	gap: 1rem;
}
.btns a {
	min-width: 18.5rem;
	height: 4.8rem;
	letter-spacing: .05em;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #333;
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
}
.btns a.fo-futura {
	font-size: 2.8rem;
	background: #c1272d;
}
.btns a:hover {
	background: #0e7ae0;
	color: #fff;
}
@media screen and (max-width: 1485px) {
	.hLogo {
		margin-right: 2rem;
	}
	.btns a {
		min-width: 14rem
	}
	.nav li {
		font-size: 1.4rem;
    margin-right: 1.5rem;
		white-space: nowrap;
	}
}

/*footer
---------------------------------------------------------*/
.fArea {
	background: #333;
	color: #fff;
	text-align: left;
	position: relative;
	padding: 5rem 0;
}
.fWrap {
	max-width: 930px;
	position: relative;
	gap: 0 3rem;
}
.pagetop {
	position: absolute;
	top: -2rem;
	right: 5%;
	z-index: 10;
}
.pagetop img {
	opacity: 1!important;
}
.pagetop a::before {
	content: "";
	display: block;
	background: url("../img/pagetop_txt.svg") center bottom no-repeat;
	background-size: contain;
	width: 7rem;
	height: 4.7rem;
	position: absolute;
	left: 0;
	right: 0;
	top: -5rem;
	margin: 0 auto;
	transition: .3s
}
.pagetop:hover a::before {
	top: -5.8rem
}
.fLogo {
	margin-bottom: 1rem;
}
.telnum a {
	display: block;
	margin-top: 1rem;
	color: #fff;
	white-space: nowrap;
	font-size: 5.2rem;
}
.telnum a small {
	font-size: 60%;
	margin-right: .2em;
}
.fRht {
	width: 38.5rem;
}
.fNav {
	gap: 1.2rem 2%
}
.fNav li {
	min-width: 49%;
}
.fNav a {
	color: #fff;
	background: url("../img/arrow.svg") left center no-repeat;
	background-size: .7rem auto;
	padding-left: 1.5rem;
}
.fNav a:hover {
	color: #31a8ff;
}
.fBtns {
	margin-top: 3rem;
}
.fBtns li {
	width: 48.5%;
}
.fBtns ._01 a,.fBtns ._03 a {
	background: #fff;
	color: #333;
}
.fBtns ._01 a:hover, .fBtns ._03 a:hover {
	background: #0ec0bd
}
.fBtns ._03 a {
	width: 100%;
	font-size: 1.2rem;
	display: block;
	padding-top: .5rem;
}
.fBtns ._03 a img {
	display: block;
	margin: 0 auto .2rem;
	max-height: 2rem;
}
.ascWrap {
	padding: 2.5rem 5%;
}
.ascWrap .txt {
	text-align: left;
	margin-left: 2rem;
	font-weight: 600;
	color: #333;
}
.copyRight {
	padding: 1rem 2rem;
	font-size: 1.2rem;
	color: #333;
	border-top: 1px solid #999;
}


/*main
---------------------------------------------------------*/
.mainArea {
	height: 42.7083333vw!important;
}
@media screen and (max-width: 1680px) {
	.mainArea {
		height: 45.5vw!important;
	}
}
.main01 {
	position: relative;
	background: url("../img/main02_bg01.svg") top 6rem left 27%,url("../img/main02_bg02.svg") bottom 8rem left  -8rem,url("../img/main02_bg03.svg") top 10rem right -4.5rem;
	background-repeat: no-repeat;
	background-size: 5.3645833vw auto,18.3333333vw auto,13.0729166vw auto;
}
.main01Wrap {
	position: relative;
	width: 95%;
	max-width: 86.9791666vw;
	margin: 0 auto;
	padding: 3.125vw 0 1vw;
	z-index: 10;
}
.movieArea {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 75%;
	z-index: -1;
}
.movieWrap {
	position: relative;
	padding-top: 56.25%;
	background: url("../img/thumb.jpg") center center no-repeat;
	background-size: contain;
}
.movieWrap iframe {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.videoBtns {
	display: none;
}
.main01Wrap h2 {
	width: 23.323%;
	text-align: left;
}
.main01Wrap h2 .fo-futura {
	font-size: 7.2916666vw;
	margin-top: 1.0416666vw;
}
.main01Wrap h3 {
	text-align: left;
	font-size: 3.9583333vw;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: .02em;
	margin-top: 7.8125vw;
}
.main02 {
	background: url("../img/main02.jpg") bottom center no-repeat;
	background-size: cover;
	position: relative;
}
.main02Wrap {
	width: 90%;
	height: 100%;
	margin: 0 auto;
	position: relative;
	max-width: 75.5208333vw;
	padding: 5.2083333vw 0
}
.main02Wrap h2 {
	width: 24.0625vw;
	text-align: left;
}
.main02Wrap h2 .fo-futura {
	font-size: 6.4583333vw;
	margin-top: 1.3vw;
}
.main02Wrap h3 {
	text-align: left;
	font-size: 1.9791666vw;
	line-height: 1.2;
	font-weight: 700;
	margin-top: 3.2vw;
	letter-spacing: .05em
}
.main02Img02 {
	width: 58.3333333vw;
	position: absolute;
	top: 0;
	bottom: 0;
	height: 100%;
	right: -10vw
}
.main02Img02 img {
	height: 100%;
	width: auto;
	max-width: none;
}

/*contents
---------------------------------------------------------*/
.personalTtl {
	position: relative;
	margin-bottom: 5rem;
}
.personalTtl::before {
	content: "PERSONALITY";
	display: block;
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: -1;
	font-size: 10rem;
	color: #e6f1fc;
	letter-spacing: .02em
}
.personalTtl h2 {
	font-size: 2.6rem;
	margin-bottom: .5rem;
}
.personalTtl p {
	color: #164693;
}
.personalWrap {
	margin-top: 5rem;
}
.personalWrap li {
	width: 22%;
	font-size: 2.2rem;
	font-weight: 600;
}
.personalWrap figure {
	min-height: 16.5rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: 1.5rem;
}
.personalWrap li:nth-of-type(4) figure {
	align-items: center;
}
#numbers {
	background: url("../img/bg_grad.png") top center no-repeat;
	background-size: 100% 100%;
}
.ttlBox {
	font-size: 2.6rem;
	font-weight: 600;
	margin-bottom: 5rem;
}
.ttlBox h2 {
	font-size: 6.2rem;
	color: #0e7ae0;
	margin-bottom: .5rem;
}
.ttlBox.clr-wh h2 {
	color: #fff;
}
.numbersWrap {
	display: -ms-grid;
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(6, 1fr);
}
.numbersWrap li {
	padding: 2rem;
	background: #fff;
	position: relative;
	font-weight: 600;
	max-height: 40rem;
}
.numbersWrap li._01 { grid-area: 1 / 1 / 2 / 2; }
.numbersWrap li._02 { grid-area: 2 / 1 / 3 / 2; }
.numbersWrap li._03 { grid-area: 1 / 2 / 3 / 3; }
.numbersWrap li._04 { grid-area: 3 / 1 / 5 / 2; }
.numbersWrap li._05 { grid-area: 3 / 2 / 5 / 3; }
.numbersWrap li._06 { grid-area: 5 / 1 / 7 / 2; }
.numbersWrap li._07 { grid-area: 5 / 2 / 7 / 3; }

.numbersWrap li h3 {
	font-size: 3.5rem;
	margin-bottom: 2rem;
}
.numbersWrap li .txt {
	font-size: 2.8rem;
	line-height: 1.2
}
.numbersWrap li .txt small {
	font-size: 70%;
	font-weight: 600;
}
.cuTxt {
	font-size: 3.2rem;
	font-variant: tabular-nums;
	font-feature-settings: "tnum";
	min-width: 18.7rem;
}
.cu {
	color: #0e7ae0;
	line-height: .8;
	font-variant: tabular-nums;
	font-feature-settings: "tnum";
}
strong.cu {
	font-size: 420%;
}
big.cu {
	font-size: 265%;
}
.numbersWrap li figure.img {
	width: 31.5rem;
	position: absolute;
	right: 1rem;
	bottom: 0;
}
.numbersWrap li._01,.numbersWrap li._02 {
	padding-right: 27rem;
}
.numbersWrap li._01 figure.img img {
	width: 13.1rem;
	margin-left: 5rem;
}
.numbersWrap li._01 .txtWrap,
.numbersWrap li._02 .txtWrap {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.numCont {
	gap: 0 2rem;
	min-height: 25.4rem;
}
.numbersWrap li._03 .numCont {
	height: 100%;
}
.numCont .txtWrap {
	line-height: 1.2
}
.numCont .txtWrap .img {
	width: 22rem;
}
.contTtl span {
	display: inline-block;
	position: relative;
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	padding: 0 4rem;
}
.contTtl span::before,.contTtl span::after {
	content: "";
	display: block;
	background: url("../img/ttl_bdr.svg") left bottom no-repeat;
	background-size: contain;
	width: 2.3rem;
	height: 3.2rem;
	position: absolute;
	left: 0;
	bottom: 0;
}
.contTtl span::after {
	left: auto;
	right: 0;
	transform: scale(-1,1)
}
#questionnaire h3 {
	position: relative;
	border-radius: 10rem;
	background: #0e7ae0;
	color: #fff;
	font-size: 3.5rem;
	padding: .8rem;
	margin-bottom: 6rem;
}
#questionnaire h3::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #0e7ae0 transparent transparent transparent;
	border-width: 1.6rem 1.3rem 0px 1.3rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 99.9%;
	margin: 0 auto;
}
.voiceWrap {
	margin-top: 6rem;
}
.voiceWrap dt {
	width: 30rem;
	font-size: 112.5%;
	font-weight: 600;
}
.voiceWrap dt .img {
	max-width: 17rem;
	margin: 0 auto 1rem;
}
.voiceBox {
	font-weight: 600;
	flex: 1;
	text-align: left;
	position: relative;
	padding: 3.5rem;
	background: #eff8fd;
}
.voiceBox::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent #eff8fd transparent transparent;
	border-width: 1.8rem 2.3rem 1.8rem 0px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 99.9%;
}
.voiceBox h4 {
	color: #0e7ae0;
	font-size: 2.2rem;
	margin-bottom: 1rem;
}
.voiceBox figure._01 {
	position: absolute;
	width: 15.2rem;
	bottom: -2.8rem;
	right: 25%;
}
.voiceBox figure._02 {
	position: absolute;
	width: 15.2rem;
	top: -2rem;
	right: 5%;
}
.voiceBox figure._03 {
	position: absolute;
	width: 14.1rem;
	top: -3.5rem;
	right: 28%;
}
.voiceWrap:nth-of-type(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.voiceWrap:nth-of-type(even) .voiceBox {
	background: #eef8f7;
}
.voiceWrap:nth-of-type(even) .voiceBox::before {
	border-color: transparent transparent transparent #eef8f7;
	border-width: 1.8rem 0px 1.8rem 2.3rem;
	right: auto;
	left: 99.9%;
}
.voiceWrap:nth-of-type(even) .voiceBox h4 {
	color: #0ec0bd;
}
.jobTopArea {
	position: relative;
	padding: 8rem 0 5rem;
	margin-bottom: 6rem;
}
.jobTopArea::before,.jobTopArea::after  {
	content: "";
	display: block;
	background: #3ba9ff;
	background: -o-linear-gradient(315deg,#3956ff 0%,#3cfaff 100%);
	background: linear-gradient(135deg,#3956ff 0%,#3cfaff 100%);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 57.5%;
	height: 100%;
	z-index: -10;
}
.jobTopArea::after {
	background: url("../img/job_top_img.jpg") center center no-repeat;
	left: auto;
	right: 0;
	z-index: -1;
}
.jobTop .ttlBox {
	margin-bottom: 8rem;
}
.jobTop .ttlBox h2 {
	font-size: 8.3rem
}
.jobTop dl {
	text-align: left;
	max-width: 30rem;
}
.jobTop dt {
	background: #fff;
	font-size: 2.8rem;
	margin-bottom: 2rem;
	text-align: center;
	color: #0e7ae0;
	padding: .5rem;
	font-weight: 600;
}
.txtScroll {
	margin-bottom: 6rem;
}
.txtScroll .img {
	margin: 0 2rem;
}
.jobWrap {
	position: relative;
	height: 42rem;
}
.jobWrap:not(:first-of-type) {
	margin-top: 10rem;
}
.jobWrap .img {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20%;
	background: url("../img/job_img01.jpg") center center no-repeat;
	background-size: cover;
	height: 100%;
	width: 70vw;
	width: calc(50vw + 30%);
}
.jobWrap._02 .img {
	right: auto;
	left: 20%;
	background-image: url("../img/job_img02.jpg")
}
.jobBox {
	position: absolute;
	bottom: 0;
	right: 0;
	background: #fff;
	text-align: left;
	padding: 5rem 5rem 0;
	max-width: 46rem;
	z-index: 1;
}
.jobBox dt {
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.jobWrap._02 .jobBox {
	right: auto;
	left: 0;
}
.benefitsTopArea {
	background: url("../img/bg_grad02.png") center center no-repeat;
	background-size: 100% 100%;
	margin-bottom: 6rem;
}
.benefitsTop {
	position: relative;
	padding: 4rem 63rem 4rem 0;
	text-align: left;
}
.benefitsTop .img {
	position: absolute;
	right: -3.5rem;
	bottom: 0;
	z-index: 1;
	width: 58%;
	text-align: center;
}
.benefitsTop .ttlBox {
	margin-bottom: 4rem;
}
.benefitsImg li {
	flex: 1
}
.benefitsImg + .txt {
	font-size: 2.2rem;
	margin: 3rem auto 6rem;
	font-weight: 600
}
.benefitsWrap {
	margin-bottom: 8rem;
}
.benefitsWrap .img {
	width: 52%;
	position: relative;
	margin-right: 6rem;
}
.benefitsWrap .img figure {
	width: 25rem;
	position: absolute;
	right: -12rem;
	bottom: -8rem;
	z-index: 1
}
.benefitsBox {
	text-align: left;
	font-size: 2.2rem;
	padding-bottom: 6rem;
}
.benefitsBox h3 {
	font-size: 3rem;
	margin-bottom: 2rem;
}
.benefitsBox li {
	font-weight: 600;
	margin-top: 1.5rem;
	padding-left: 1em;
	text-indent: -1em
}
#entry {
	background: #e6f1fc;
	padding-bottom: 0;
}
.bnrs li {
	margin-bottom: 3rem;
}
.bnrs li._02 a {
	background: url("../img/bg_grad02.png") center center no-repeat;
	background-size: 100% 100%
}
.bnrs a {
	display: block;
	background: #333;
	color: #fff;
	padding: 3rem 2rem;
	position: relative;
}
.bnrs .ttl {
	font-size: 5.4rem;
	font-weight: 700;
	transition: .2s;
}
.bnrs .ttl .fo-futura {
	font-size: 7rem;
	transition: .2s;
	vertical-align: -.3rem
}
.bnrs .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	font-weight: 600;
	line-height: 1.2;
	color: #0e7ae0;
	font-size: 2.6rem;
	padding: 1rem;
	max-width: 42.5rem;
	margin: 2.5rem auto 0;
	transition: .2s;
}
.bnrs li figure {
	position: absolute;
	bottom: 0;
	z-index: 1
}
.bnrs li figure._01 {
	width: 29.4rem;
	text-align: right;
	left: 3.5rem;
}
.bnrs li figure._02 {
	width: 31.4rem;
	text-align: right;
	right: .8rem;
}
.bnrs li._01 figure._01 {
	width: 27.7rem;
	left: 8.24rem;
}
.bnrs li figure img {
	opacity: 1;
}
.bnrs a:hover {
	transform: translateY(-7px);
	box-shadow: 0 7px 0 rgba(0,0,0,.1)
}
.bnrs a:hover,
.bnrs a:hover .btn {
	color: #0ec0bd
}
#entry .btmImg {
	margin-top: 8rem;
}
.student {
	background: #eff8fd;
	padding: 6rem 0 0 0
}






/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1250px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	/*header
	-------------------------------------------------------*/
	#header {
		height: 5rem;
		display: flex;
		align-items: center;
		background: #fff;
		width: 100%;
		position: fixed;
		z-index: 9999;
		border-bottom: 1px solid #f2f2f2;
	}
	.hLogo img {
		display: block;
		max-height: 2.2rem;
		margin: 0;
	}
	.hLogo .fo-futura {
		font-size: 1.8rem;
		margin-left: .5rem;
	}
	.menuIcon {
		position: fixed;
		top: 1.4rem;
		right: 2rem;
		width: 30px;
		height: 2.2rem;
		z-index: 999999;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: .2rem;
		background:#0e7ae0;
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1rem;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span {
	}
	.menuIcon.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(45deg);
		transform: translateY(10px) rotate(45deg);
	}
	.menuIcon.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIcon.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-10px) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
	 -webkit-overflow-scrolling: touch;
		display: block;
		padding: 6rem 2rem 4rem;
		background: #fff;
		box-shadow: none;
		z-index: 9990;
		border-radius: 0;
		font-size: 100%;
		visibility: hidden;
		opacity: 0;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
	}
	.nav {
		margin: 0 auto 2rem;
		display: block;
		width: 100%;
		padding: 0;
	}
	.nav li {
		border-width: 2px!important;
		margin: 0!important;
		border-bottom: 1px solid #fff;
	}
	.nav a {
		display: block;
		width: 100%;
		color: #fff;
		padding: 1.2rem 1.5rem;
		background: #0e7ae0 url("../img/arrow.svg") center right 1rem no-repeat;
		background-size: 1.6rem auto;
	}
	.btns {
		gap: 1rem 0;
		justify-content: space-between;
	}
	.btns li {
		width: 48.5%;
	}
	.btns a {
		font-size: 1.6rem;
		min-width: inherit;
	}
	.btns a.fo-futura {
		font-size: 2.2rem
	}
	
	/*footer
	-------------------------------------------------------*/
	.fArea {
		padding: 4rem 0 3rem
	}
	.fWrap {
		display: block;
		text-align: center;
	}
	.fLogo img {
		max-height: 3rem;
	}
	.telnum a {
		font-size: 3.5rem
	}
	.fRht {
		width: 100%;
		margin-top: 3rem;
		text-align: left;
	}
	.fBtns ._03 a {
		font-size: 1.2rem;
	}
	.ascWrap {
		padding: 2rem;
	}
	.ascWrap .txt {
		font-size: 1.2rem;
		line-height: 1.5
	}
	.pagetop {
		width: 5rem;
		top: -1rem;
	}
	.pagetop a::before {
		width: 100%;
	}
	
	/*main
	-------------------------------------------------------*/
	.mainArea {
    height: auto!important;
		margin-bottom: 2rem;
	}	
	.main01 {
		background-position: top 2.5rem right 3rem,bottom -3rem left -5rem,top 8rem right -3rem;
    background-size: 10% auto, 30% auto, 20% auto;
}
	.mainSlider {
		touch-action: pan-y;
	}
	.main01Wrap {
		width: 100%;
		max-width: 100%;
		height: 100%;
		padding: 0
	}
	.movieArea {
		width: 100%;
		position: static;
		z-index: auto;
	}
	.movieWrap {
		padding-top: 177.777777%;
		background-image: url("../img/thumb_sp.jpg");
		pointer-events: none;
	}
	.videoBtns {
		display: flex;
		position: absolute;
		padding: .5rem;
		left: 0;
		bottom: 0;
		background: rgba(0,0,0,.3);
		z-index: 50;
	}
	.videoBtns li {
		margin: 0 .5rem;
	}
	.main01Wrap h2,.main01Wrap h3 {
		display: none !important;
	}
	.mainArea h2 {
		width: 75%;
		margin-top: 3rem;
	}
	.mainArea h2 img {
	}
	.mainArea h2 .fo-futura {
    font-size: 4rem;
    margin: .5rem 0 1rem;
	}
	.mainArea h3 {
		font-size: 4.8rem;
		margin: 0;
	}
	.main02 {
		background-size: auto 230%;
	}
	.main02Wrap {
		width: 90%;
		max-width: 100%;
		height: 64rem;
		padding-top: 3.5rem;
	}
	.main02Img02 {
		top: auto;
		height: auto;
		right: -7rem;
    width: 130%;
	}
	.main02Img02 img {
		height: auto;
		max-width: 100%;
	}
	.main02Wrap h2 {
		margin-top: 0;
	}
	.main02Wrap h2 .fo-futura {
		margin: 1.5rem 0 0 0;
	}
	.main02Wrap h3 {
		font-size: 2.5rem;
		margin-top: 2.5rem;
		position: static;
		text-shadow: 0 0 5px rgba(14,122,224,.8)
	}
	
	/*contents
	-------------------------------------------------------*/
	.personalTtl h2	{
		font-size: 2.2rem;
	}
	.personalTtl::before {
		font-size: 4.4rem
	}
	.personalTtl {
		margin-bottom: 3rem;
	}
	.personalWrap {
		margin-top: 3rem;
		gap: 2rem 4%;
	}
	.personalWrap li {
		width: 48%;
		font-size: 1.4rem
	}
	.personalWrap figure {
		min-height: 9rem;
	}
	.personalWrap figure img {
		max-height: 9rem;
		max-width: 13rem;
	}
	.ttlBox {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.ttlBox h2 {
		font-size: 2.5rem
	}
	.numbersWrap {
		display: block;
	}
	.numbersWrap li {
		max-height: none;
		margin: .5rem 0;
		padding: 1.5rem 2rem;
	}
	.numbersWrap li h3 {
		font-size: 2rem;
		white-space: nowrap;
		margin-bottom: 1rem;
	}
	.numbersWrap li .txt {
		font-size: 1.8rem;
		margin-bottom: .5rem;
	}
	.numCont {
		min-height: inherit;
	}
	.numCont .txt:not(:first-of-type) {
		margin-top: .7rem;
	}
	.numCont figure {
		max-width: 50%;
	}
	.numCont figure img {
		max-height: 13.5rem;
	}
	.cuTxt {
		font-size: 2rem;
		min-width: 9.4rem;
	}
	strong.cu {
    font-size: 320%;
	}
	.numCont .txtWrap .img {
    width: 12rem;
	}
	.numbersWrap li figure.img {
		width: 14rem;
	}
	.numbersWrap li._01 figure.img img {
		width: 7.5rem;
		margin-left: 0;
	}
	.numbersWrap li._01, .numbersWrap li._02 {
    padding-right: 15rem;
	}
	.contTtl span {
		font-size: 1.6rem;
	}
	#questionnaire h3 {
		font-size: 1.6rem;
	}
	.voiceWrap {
		display: block;
		margin-top: 4rem;
	}
	.voiceWrap dt {
		width: 100%;
		font-size: 1.6rem;
		margin: 0 auto 2.5rem;
	}
	.voiceWrap dt .img {
		max-width: 10rem
	}
	.voiceBox {
		padding: 1.5rem 2rem;
		font-size: 95%;
	}
	.voiceBox h4 {
		font-size: 110%;
	}
	.voiceBox::before {
		top: -2.5rem;
		left: 0!important;
		right: 0!important;
		margin: 0 auto;
		transform: rotate(90deg)
	}
	.voiceWrap:nth-of-type(even) .voiceBox::before {
		transform: rotate(-90deg)
	}
	.voiceBox figure._01 {
		width: 11rem;
    bottom: -4rem;
    right: -0.5rem;
	}
	.voiceBox figure._02 {
		width: 12rem;
    top: -1rem;
    right: -1.5%;
	}
	.voiceBox figure._03 {
		width: 10rem;
    top: -2.5rem;
    right: -1%;
	}
	.jobTopArea {
		padding: 3.5rem 0;
		margin-bottom: 3rem;
	}
	.jobTopArea::before, .jobTopArea::after {
		width: 100%;
		height: 50%;
		top: 50%;
	}
	.jobTopArea::after {
		top: 0;
	}
	.jobTop .ttlBox {
		text-align: center;
    margin-bottom: 2rem;
		text-shadow: 0 0 5px rgba(0,0,0,.6)
	}
	.jobTop .ttlBox h2 {
		font-size: 3.5rem
	}
	.jobTop dl {
		max-width: 100%;
	}
	.jobTop dt {
		font-size: 1.8rem
	}
	.txtScroll {
		margin-bottom: 4rem;
	}
	.txtScroll .img img {
		max-height: 4rem;
	}
	.jobWrap {
		height: auto;
		padding-top: 13rem;
	}
	.jobWrap:not(:first-of-type) {
		margin-top: 5rem;
	}
	.jobBox {
		position: relative;
		max-width: 95%;
		padding: 2rem;
		box-shadow: 5px 5px 0 rgba(0,0,0,.1)
	}
	.jobBox dt {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.jobWrap .img {
		width: 100vw;
		right: 0;
		height: 17rem;
	}
	.jobWrap._02 .jobBox {
		margin-left: auto;
	}
	.jobWrap._02 .img {
		left: 0;
	}
	.benefitsTopArea {
		overflow: hidden;
	}
	.benefitsTop {
		padding: 2rem 0 12rem;
		text-align: center;
	}
	.benefitsTop .ttlBox {
		text-align: center;
		margin-bottom: 2rem;
	}
	.benefitsTop .img {
		right: 0;
		left: 0;
		bottom: -2rem;
		margin: 0 auto;
		width: 80%;
	}
	.benefitsImg + .txt {
		font-size: 1.6rem;
		margin: 2rem auto 3rem;
	}
	.benefitsWrap {
		display: block;
		margin-bottom: 0;
	}
	.benefitsWrap .img {
		width: 100%;
		margin: 0 0 3rem;
	}
	.benefitsWrap .img figure {
		width: 14rem;
    right: -1rem;
    bottom: -6rem;
	}
	.benefitsBox {
		font-size: 1.4rem;
		padding-bottom: 0;
	}
	.benefitsBox h3 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.benefitsBox li {
		margin-top: .5rem;
	}
	.bnrs .ttl {
		font-size: 2.4rem;
	}
	.bnrs .ttl .fo-futura {
		font-size: 3.1rem;
		vertical-align: -.1rem
	}
	.bnrs .btn {
		font-size: 1.2rem;
		max-width: 16rem;
		margin-top: 1.5rem;
	}
	.bnrs a {
		padding: 2rem 2rem 2.5rem;
	}
	.bnrs li figure._01 {
    width: 9rem;
    left: 0rem;
	}
	.bnrs li figure._02 {
		width: 10rem;
		right: -.5rem;
	}
	.bnrs li._01 figure._01 {
    width: 10.5rem;
    left: .5rem;
	}
	.bnrs li._01 figure._02 {
    width: 8.5rem;
		right: .5rem;
	}
	#entry .btmImg {
		margin-top: 6rem;
	}
	.student {
		padding-top: 4rem;
	}
	
	
	
}


