@charset "UTF-8";

/* !ページタイトル -------------------------------------------------------------- */
.page_title {
	height: 31.25em;
	max-height: 60vh;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.page_title_txt {
	position: absolute;
	top: 54%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%,-50%);
	text-align: center;
	width: 100%;
}
.page_title_img {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 100%;
}
.page_title_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 1024px) {
	.page_title {
		height: 25em;
	}
}
@media screen and (max-width: 540px) {
	.page_title {
		height: 18em;
	}
}

.uppercase-letter {
	text-transform: uppercase;
}


/* !パンくずリスト -------------------------------------------------------------- */
.breadcrumb {
	padding: 1.6em 0 3.6em;
	line-height: 1.7;
}
.breadcrumb ul {
}
.breadcrumb li {
	display: inline;
	font-size: .875em;
}
.breadcrumb li::before {
	content: "＞";
	margin-left: 0.5em;
	margin-right: 0.5em;
}
.breadcrumb li:first-child::before {
	content: none;
}
.breadcrumb li,
.breadcrumb li a {
	color: #636363;
}
.breadcrumb li a:hover {
	color: var(--blue);
}
.breadcrumb li a br {
	display: none;
}


/* !common -------------------------------------------------------------- */
.title_h2 {
	background: var(--lblue);
	border-bottom: 2px solid;
	color: var(--blue);
	padding: .35em .3em .35em .9em;
	margin-top: 2.35em;
}
.title_h2._white {
	background: #fff;
}
.breadcrumb + section > .title_h2,
.breadcrumb + a.anchor + section > .title_h2 {
	margin-top: 0;
}
.title_h2::before {
	content: "";
	width: 1em;
	height: 1em;
	display: inline-block;
	background: url(../images/icon-title_h2.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.15em;
	margin-right: .3em;
}
.title_h2 + figure {
	margin-top: 2.5em;
}
.bg_gra {
	background: #DDF3F6;
	background: linear-gradient(90deg,rgba(221, 243, 246, 1) 0%, rgba(210, 224, 243, 1) 100%);
}
.border-bottom-white {
	border-bottom: 1px solid rgba(255, 255, 255, .8);
}
.border-bottom-lblue {
	border-bottom: 1px solid #b6c7eb;
}
.border-bottom-blue {
	border-bottom: 1px solid var(--blue);
}
.border-white {
	border: 1px solid #fff;
}
.title_h3 {
	position: relative;
}
.title_h3::before {
	position: absolute;
	content: "";
	display: block;
	background: #bebebe;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	z-index: -1;
}
.title_h3 span {
	background: #fff;
	display: inline-block;
	padding: 0 1em 0 0;
}
.txt-1 {
	display: inline-block;
	background: var(--blue);
	color: #fff;
	padding: .15em 4.4em .25em 1.1em;
	position: relative;
	line-height: 1.4;
}
.txt-1::after {
	position: absolute;
	right: -1px;
	top: 0;
	display: block;
	content: "";
	background: var(--lblue);
	width: 1.5em;
	height: 102%;
	clip-path: polygon(99% 0, 100% 0, 0% 100%, 100% 100%);
}
.title_lborder {
	border-left: 0.178em solid var(--blue);
	padding-left: .4em;
}
.title_mark {
	color: var(--blue);
	margin-top: 1.2em;
}
.access .title_mark {
	margin-top: 0;
}
.title_mark::before {
	content: "";
	width: 1em;
	height: 1em;
	display: inline-block;
	background: url(../images/icon-title_h2.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.2em;
	margin-right: .15em;
}
@media screen and (max-width: 540px) {
	.title_h2 {
		padding: .35em .3em .35em .6em;
	}
}



/* !contents -------------------------------------------------------------- */
.bg_02 {
	background: url(../images/bg_02.webp) center no-repeat;
	background-size: cover;
}
.dt_num {
	counter-reset: number;
	padding-left: 5%;
}
.dt_num dt {
	counter-increment: number;
	position: relative;
	padding: .7em 0 .1em;
	margin-top: .8em;
}
.dt_num dt::before {
	content: counter(number, decimal-leading-zero);
	position: absolute;
	left: -5.5%;
	top: 0;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 3.077em;
	color: var(--lblue);
	line-height: 1;
	z-index: -1;
}
.dt_num dd .bg_gra {
	padding: 1.1% 1.8%;
}
@media screen and (max-width: 540px) {
	.dt_num {
		padding-left: 0%;
	}
	.dt_num dt {
		margin-top: 1.2em;
		text-indent: 2.4em;
	}
	.dt_num dt::before {
		left: -.8em;
	}
	.dt_num dd {
		padding: 4% 0 0;
	}
	.dt_num dd .bg_gra {
		padding: 3% 4%;
	}
}

.bg_03 {
	background: #0039ab url(../images/bg_03.webp) center top no-repeat;
	background-size: cover;
}
.pentagon {
	width: 2.48em;
	height: 2.36em;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #AAE0E8;
	background: linear-gradient(90deg,rgba(170, 224, 232, 1) 0%, rgba(126, 147, 221, 1) 100%);
	clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	line-height: 1;
	margin-right: .5em;
	padding-top: .15em;
	flex-shrink: 0;
}
.img_business img {
	margin-top: -2.6em;
	width: 58.875em;
}

@media screen and (max-width: 1024px) {
	.img_business img {
		margin-top: 1em;
		width: 52em;
	}
}
@media screen and (max-width: 540px) {
}

.results-nav {
	gap: .8em;
}
.results-nav li {
	display: flex;
	align-items: center;
	background: #c6cfe2;
	border-radius: 0.167em;
	height: 100%;
	padding: .7em 1.2em .75em;
	color: #3b3b3b;
	line-height: 1.6;
	font-size: 112.5%;
	cursor: pointer;
}
.results-nav li:hover,
.results-nav li.active {
	background: var(--blue);
	color: #fff;
}
.results-table {
	width: 100%;
	font-size: 112.5%;
	line-height: 1.6;
}
.results-table th {
	background: #31343b;
	color: #fff;
	font-weight: 600;
	padding: .6em 2em;
}
.results-table th:last-child {
	padding: .6em 0;
	width: 11.7%;
}
.results-table td {
	border-bottom: 1px solid #b6c7eb;
	padding: .8em 1em .8em 0;
}
.results-table td:nth-of-type(3n) {
	padding: .8em 0 .8em 0;
}
.results-table tr:nth-of-type(2) td {
	padding: 1.7em 1em .8em 0;
}
.results-table tr:nth-of-type(2) td:nth-of-type(3n) {
	padding: 1.7em 0 .8em;
}
@media screen and (max-width: 1024px) {
	.results-table {
		font-size: 100%;
	}
}
@media screen and (max-width: 540px) {
	.results-nav {
		gap: .5em;
	}
	.results-nav li {
		font-size: 85%;
	}
	.results-table {
		font-size: 88%;
	}
	.results-table th {
		padding: .6em 1em;
	}
	.results-table th:last-child {
		width: 2.4em;
	}
}

.tab-panel {
	display: none;
}
.tab-panel.active {
	display: block;
}

.box-csr {
	counter-reset: number;
}
.box-csr-inner {
	background: var(--lblue);
	padding: 4% 4.5% 3.3% 4.5%;
	counter-increment: number;
	position: relative;
}
.box-csr-inner::before {
	content: counter(number, decimal-leading-zero);
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 6.5em;
	color: #fff;
	position: absolute;
	right: 3.5%;
	top: 3.5%;
	line-height: 1;
}
.icon_csr {
	flex-shrink: 0;
	margin-right: 3.5%;
}
.icon_csr img {
	width: 11.25em;
}
.box-csr2 {
	padding: 2.4em 0;
}
.txt-2 {
	background: #fff;
	color: var(--blue);
	display: inline-block;
	padding: .4em 2em;
	flex-shrink: 0;
}
.box-1 {
	display: flex;
	align-items: flex-start;
	background: #002d87;
	flex: 1;
}
.pd-1 {
	padding: 5% 5% 5% 10%;
}
.ul-dot li {
	text-indent: -1em;
}
.ul-dot li::before {
	content: "・";
}
.box-2 {
	display: flex;
	flex-direction: column;
}
.box-1-2 {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	background: #002d87;
	flex: 1;
}
.pd-1 {
	padding: 4% 5% 5% 10%;
}
@media screen and (max-width: 1024px) {
	.box-csr-inner::before {
		font-size: 5em;
	}
	.icon_csr img {
		width: 9em;
	}
	.box-1 {
		display: block;
	}
	.box-1-2 {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.box-csr-inner {
		padding: 6.2% 4.5% 3.2% 5%;
	}
	.box-csr-inner::before {
		font-size: 4.2em;
	}
	.icon_csr img {
		width: 6em;
	}
	.box-csr2 {
		padding: 2.4em 0;
	}
	.img_csr_01 {
		padding: 4vw 10vw 0;
	}
}

.dl_schedule {
	display: flex;
	flex-wrap: wrap;
}
.dl_schedule dt::after {
	content: "：";
}
.dl_schedule dd {
	flex: 90%;
}
.dl_skill {
	display: flex;
	flex-wrap: wrap;
}
.dl_skill dt {
	width: 25.2%;
	display: flex;
	align-items: center;
	position: relative;
}
.dl_skill dt span {
	background: var(--blue);
	color: #fff;
	font-size: 111%;
	clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
	display: block;
	padding: .6em 10%;
	position: relative;
	width: 100%;
}
.dl_skill dd {
	width: 74.8%;
	padding: 1.3em 0 1.3em 3%;
	position: relative;
	min-height: 5.3em;
	display: flex;
	align-items: center;
}
.dl_skill dt::after,
.dl_skill dd::after {
	width: 100%;
	height: 1px;
	content: "";
	display: block;
	background: #bebebe;
	position: absolute;
	bottom: 0;
	left: 0;
}
@media screen and (max-width: 540px) {
	.dl_schedule dd {
		flex: 70%;
	}
	.dl_skill {
		margin-top: 5vw;
	}
	.dl_skill dt {
		width: 100%;
	}
	.dl_skill dt span {
		display: inline-block;
		padding: .4em 10% .4em 4%;
		width: auto;
		min-width: 50%;
	}
	.dl_skill dd {
		width: 100%;
		padding: 1em 0 1.3em 3%;
		position: relative;
		min-height: inherit;
	}
	.dl_skill dt::after,
	.dl_skill dd::after {
		content: none;
	}
}
.box-3 {
	display: flex;
	flex-direction: column;
}
.ul_checklist {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em 2.2%;
	line-height: 1.5;
}
.ul_checklist li {
	background: #f6f6f6;
	border-radius: 2em;
	width: 31.86%;
	padding: .65em 0 .65em 0.9em;
}
.ul_checklist li::before {
	content: "";
	display: inline-block;
	width: 1.278em;
	height: 1.278em;
	background: url(../images/icon-check.png) no-repeat;
	background-size: 100%;
	margin-right: .5em;
	vertical-align: -0.3em;
}
.message-heading {
	display: flex;
	align-items: center;
	gap: 1em;
	color: var(--blue);
}
.message-heading span::before {
	content: "“";
	font-size: 170%;
	line-height: 0;
	vertical-align: -0.3em;
	margin-right: .15em;
}
.message-heading span::after {
	content: "”";
	font-size: 170%;
	line-height: 0;
	vertical-align: -0.6em;
	margin-left: .15em;
}
.message-heading::after {
	content: "";
	flex: 1;
	height: 0.456em;
	margin-left: 0;
	background:
		linear-gradient(to right, #4ba1dc 0%, transparent 95%) top,
		linear-gradient(to right, #4ba1dc 0%, transparent 95%) bottom;
	background-size: 100% 0.152em, 100% 0.152em;
	background-repeat: no-repeat;
	vertical-align: 1em;
}
.dl_faq {
	color: #fff;
}
.dl_faq dt {
	background: #0541b9;
	padding: 1.4% 2.1%;
	font-size: 125%;
}
.dl_faq dd {
	padding: 1.8% 4%;
}
.title_r-line::after {
	content: "";
	display: inline-block;
	background: #fff;
	height: 1px;
	width: 2em;
	margin-left: .6em;
	vertical-align: 25%;
}
@media screen and (max-width: 1024px) {
	.ul_checklist li {
		width: 48%;
	}
}
@media screen and (max-width: 540px) {
	.ul_checklist li {
		width: 100%;
	}
	.dl_faq {
		margin-top: 5vw;
	}
	.dl_faq dt {
		padding: 2% 1% 2% 2.5%;
		font-size: 105%;
	}
	.dl_faq dd {
		padding: 2.5% 2.5% 5%;
	}
}

.recruit-row {
	display: flex;
	border-bottom: 1px solid #b6c7eb;
	gap: 4em;
}
.dl_jd dt {
	flex-shrink: 0;
	padding: 1.2em 0;
	color: var(--blue);
	font-weight: 700;
	min-width: 6.75em;
}
.dl_jd dd {
	flex-shrink: 1;
	width: inherit;
	padding: 1.2em 0;
}
.bg_04 {
	background: #0039ab url(../images/bg_04.webp) center top no-repeat;
	background-size: cover;
}
.border-right {
	border-right: 2px solid var(--blue);
}
@media screen and (max-width: 540px) {
	.recruit-row {
		display: block;
		border-bottom: 1px solid #b6c7eb;
		gap: 4em;
	}
	.dl_jd dt {
		width: 100%;
		border-bottom: none;
		padding: 1.3em 0 .3em;
	}
	.dl_jd dd {
		width: 100%;
		padding: 0 0 1.3em;
	}
	.border-right {
		border-right: none;
	}
}


.map {
}
.map iframe {
	width: 100%;
	height: 25em;
}
@media screen and (max-width: 1024px) {
	.map iframe {
		height: 18em;
	}
}
@media screen and (max-width: 540px) {
	.map {
		margin-bottom: 10vw;
	}
	.map iframe {
		height: 15em;
	}
}


.title_bgblue {
	background: var(--blue);
	color: #fff;
	clip-path: polygon(0 0, 100% 0, 93.4% 100%, 0% 100%);
	display: block;
	padding: .6em 3.08%;
	position: relative;
	width: 93%;
}
.title_bgblue.before-q {
	text-indent: -1.3em;
	padding: .6em 6%;
}
.title_bgblue.before-q::before {
	content: "Q.";
	margin-right: .2em;
}
.title_bgblue._lblue {
	background: #e1e5f4;
	color: var(--blue);
}
@media screen and (max-width: 540px) {
	.title_bgblue {
		width: 100%;
	}
	.title_bgblue.before-q {
		text-indent: -1.3em;
		padding: .6em 5% .6em 2.2em;
	}
}


.circle-wrap{
	position: relative;
	width: 27.875em;
	height: 27.875em;
	margin: auto;
}

#growthChart {
	width: 100% !important;
	height: 100% !important;
}
.center-icon {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.center-icon img {
	width: 12.5em;
}
@media screen and (max-width: 1024px) {
	.circle-wrap{
		width: 35vw;
		height: 35vw;
	}
	.center-icon img {
		width: 10em;
	}
}
@media screen and (max-width: 540px) {
	.center-icon img {
		width: 5.2em;
	}
}

.graph-label{
	position: absolute;
}

.graph-label .percent {
	font-size: 4.125em;
	color: var(--blue);
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	line-height: 1.15;
}
.graph-label .percent::after {
	content:"%";
	font-size: 60%;
}
.label-txt {
	font-size: 1.375em;
	line-height: 1.375;
	white-space: nowrap;
}
.label1 {
	left: 98%;
	top: -2%;
}
.label2 {
	left: 105%;
	top: 50%;
	transform: translateY(-50%);
}
.label3 {
	left: 98%;
	bottom: -1%;
}
.label4 {
	right: 100%;
	bottom: -1%;
	text-align: right;
}
.label5 {
	right: 107%;
	top: 50%;
	transform: translateY(-50%);
	text-align: right;
}
.label6 {
	right: 100%;
	top: -2%;
	text-align: right;
}
.graph-label .label-txt::before {
	content: "■";
	margin-right: .2em;
}
.graph-label:nth-of-type(2) .label-txt::before {
	color: #ee9bb2;
}
.graph-label:nth-of-type(3) .label-txt::before {
	color: #6bc1e7;
}
.graph-label:nth-of-type(4) .label-txt::before {
	color: #efd37b;
}
.graph-label:nth-of-type(5) .label-txt::before {
	color: #74de9b;
}
.graph-label:nth-of-type(6) .label-txt::before {
	color: #a595ca;
}
.graph-label:nth-of-type(7) .label-txt::before {
	color: #ccc;
}

@media screen and (max-width: 1024px) {
	.graph-label .percent {
		font-size: 3.8em;
	}
	.label-txt {
		font-size: 1em;
	}
}
@media screen and (max-width: 540px) {
	.graph-label .percent {
		font-size: 2.2em;
		line-height: 1;
	}
	.label-txt {
		font-size: .55em;
	}
	.label1 {
		top: -5%;
	}
	.label3 {
		bottom: -5%;
	}
	.label4 {
		bottom: -5%;
	}
	.label6 {
		top: -5%;
	}
}



.graph-bar{
	max-width:1000px;
	margin:auto;
	padding:100px 0;
}

.graph-bar h2{
	text-align:center;
	font-size:2rem;
	margin-bottom:50px;
}

.bar-chart-wrap{
	height:450px;
}


.ul_enquete {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7em 5.5%;
	line-height: 1.5;
}
.ul_enquete li {
	padding: 0 2em .6em 2.1em;
	border-bottom: 1px solid #cbcbcb;
	text-indent: -1.75em;
}
.ul_enquete li::before {
	content: "";
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	background-repeat: no-repeat;
	background-size: 100%;
	margin-right: .5em;
	vertical-align: -0.275em;
}
.ul_enquete._check-orange li::before {
	width: 1.25em;
	height: 1.25em;
	background-image: url(../images/icon-check-orange.png);
}
.ul_enquete._comment {
	gap: 0.7em 4.5%;
}
.ul_enquete._comment li {
	padding: 0 .8em .6em 2.1em;
	min-width: 42%;
}
.ul_enquete._comment li::before {
	width: 1.334em;
	height: 1.334em;
	background-image: url(../images/icon-comment.png);
}
.ul_enquete._w100 li {
	width: 100%;
}
.ul_enquete._crown li {
	width: 100%;
	padding: 0 1em .6em 4.2em;
	text-indent: -3em;
}
.ul_enquete._crown li::before {
	width: 2em;
	height: 1.5em;
	background-image: url(../images/icon-crown4.png);
	vertical-align: -0.4em;
	margin-right: 1em;
}
.ul_enquete._crown li.crown1 span {
	font-size: 129%;
	font-weight: 700;
	color: var(--blue);
}
.ul_enquete._crown li.crown2 span,
.ul_enquete._crown li.crown3 span {
	font-size: 112.5%;
	font-weight: 700;
}
.ul_enquete._crown li.crown1::before {
	width: 2em;
	height: 1.667em;
	background-image: url(../images/icon-crown1.png);
	vertical-align: -0.3em;
}
.ul_enquete._crown li.crown2::before {
	width: 2em;
	height: 1.667em;
	background-image: url(../images/icon-crown2.png);
	vertical-align: -0.3em;
}
.ul_enquete._crown li.crown3::before {
	width: 2em;
	height: 1.667em;
	background-image: url(../images/icon-crown3.png);
	vertical-align: -0.3em;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 540px) {
	.ul_enquete {
		gap: 1em;
	}
	.ul_enquete li {
		width: 100%;
		padding: 0 0 .6em 2.1em;
	}
	.ul_enquete._crown li {
		padding: 0 0 .6em 3.2em;
		text-indent: -2.7em;
	}
	.ul_enquete._crown li.crown1 span {
		font-size: 115%;
	}
	.ul_enquete._crown li.crown2 span,
	.ul_enquete._crown li.crown3 span {
		font-size: 105%;
	}
	.ul_enquete._crown li::before {
		margin-right: .7em;
	}
}




@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 540px) {
}
