@charset "UTF-8";
/* -----------------------------------------------------------
reset
----------------------------------------------------------- */
* {
	margin: 0;
	padding: 0;
}

html {
	overflow-y: scroll;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, input, textarea, button, table, tr, th, td, article, aside, footer, header, hgroup, nav, section, a, span {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

q:before, q:after {
	content: '';
}

object,
embed {
	vertical-align: top;
}

hr, legend {
	display: none;
	border: none;
}

abbr, acronym, fieldset {
	border: 0;
}

tr, th, td, caption {
	vertical-align: top;
	font-style: normal;
	font-weight: normal;
	text-align: left;
}

ol, ul {
	list-style: none;
}

h1, h2, h3, h4, h5, h6 {
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}

img {
	border: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}

html {
	overflow-y: scroll;
}

body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","Osaka","ＭＳ Ｐゴシック", "MS P Gothic",Verdana,Arial, Helvetica, sans-serif;
	color: #333;
	line-height: 1.6;
	font-size: 16px;
	min-width: 1100px;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media only screen and (max-width: 768px) {
	body {
		min-width: 320px;
	}
}

input, textarea {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","Osaka","ＭＳ Ｐゴシック", "MS P Gothic",Verdana,Arial, Helvetica, sans-serif;
}

strong {
	font-weight: bold;
}

a:focus {
	outline: none;
}

a {
	color: #333;
	text-decoration: none;
}

/*////////////////////////////////////////

padding, margin

////////////////////////////////////////*/
.padT0 {
	padding-top: 0 !important;
}

.padT1 {
	padding-top: 0.5em !important;
}

.padT2 {
	padding-top: 1em !important;
}

.padT3 {
	padding-top: 1.5em !important;
}

.padT4 {
	padding-top: 2em !important;
}

.padT5 {
	padding-top: 2.5em !important;
}

.padL0 {
	padding-left: 0 !important;
}

.padL1 {
	padding-left: 0.5em !important;
}

.padL2 {
	padding-left: 1em !important;
}

.padL3 {
	padding-left: 1.5em !important;
}

.padL4 {
	padding-left: 2em !important;
}

.padL5 {
	padding-left: 2.5em !important;
}

.padR0 {
	padding-right: 0 !important;
}

.padR1 {
	padding-right: 0.5em !important;
}

.padR2 {
	padding-right: 1em !important;
}

.padR3 {
	padding-right: 1.5em !important;
}

.padR4 {
	padding-right: 2em !important;
}

.padR5 {
	padding-right: 2.5em !important;
}

.padB0 {
	padding-bottom: 0 !important;
}

.padB1 {
	padding-bottom: 0.5em !important;
}

.padB2 {
	padding-bottom: 1em !important;
}

.padB3 {
	padding-bottom: 1.5em !important;
}

.padB4 {
	padding-bottom: 2em !important;
}

.padB5 {
	padding-bottom: 2.5em !important;
}

.marT0 {
	margin-top: 0 !important;
}

.marT1 {
	margin-top: 0.5em !important;
}

.marT2 {
	margin-top: 1em !important;
}

.marT3 {
	margin-top: 1.5em !important;
}

.marT4 {
	margin-top: 2em !important;
}

.marT5 {
	margin-top: 2.5em !important;
}

.marL0 {
	margin-left: 0 !important;
}

.marL1 {
	margin-left: 0.5em !important;
}

.marL2 {
	margin-left: 1em !important;
}

.marL3 {
	margin-left: 1.5em !important;
}

.marL4 {
	margin-left: 2em !important;
}

.marL5 {
	margin-left: 2.5em !important;
}

.marR0 {
	margin-right: 0 !important;
}

.marR1 {
	margin-right: 0.5em !important;
}

.marR2 {
	margin-right: 1em !important;
}

.marR3 {
	margin-right: 1.5em !important;
}

.marR4 {
	margin-right: 2em !important;
}

.marR5 {
	margin-right: 2.5em !important;
}

.marB0 {
	margin-bottom: 0 !important;
}

.marB1 {
	margin-bottom: 0.5em !important;
}

.marB2 {
	margin-bottom: 1em !important;
}

.marB3 {
	margin-bottom: 1.5em !important;
}

.marB4 {
	margin-bottom: 2em !important;
}

.marB5 {
	margin-bottom: 2.5em !important;
}

@media only screen and (min-width: 769px) {
	.only-sp {
		display: none !important;
	}
}

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

.base-fit {
	max-width: 100%;
}

.tpl-inner-wrap {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (max-width: 768px) {
	.tpl-inner-wrap {
		width: 100%;
	}
}

.is-pc .hv-o {
	display: block;
	transition: opacity .3s;
}

.is-pc .hv-o:hover {
	opacity: 0.7;
}

/*************************************************************
/ animation
/************************************************************/
.page-top {
	opacity: 0;
	transition: opacity .3s;
}

.page-top.is-active {
	opacity: 1;
}

.filter-block .filter-list__line:last-child .filter-list__line-head::before {
	display: none;
}

.filter-block .filter-list__line-head .icn-toggle {
	transition: transform .5s;
}

.filter-block .filter-list__line-head .icn-toggle::before {
	transition: opacity .5s;
}

.filter-block .filter-list__line-head.is-close {
	position: relative;
}

.filter-block .filter-list__line-head.is-close::before {
	content: '';
	display: block;
	width: 97.33333vw;
	height: 1px;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 2vw;
}

.filter-block .filter-list__line-head.is-close .icn-toggle {
	transform: rotate(180deg);
}

.filter-block .filter-list__line-head.is-close .icn-toggle::before {
	opacity: 0;
}

.sp-filter-block {
	width: 100%;
	height: 0;
	opacity: 0;
	overflow: hidden;
	background-color: #fff;
	position: relative;
	z-index: 100;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.overlay {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	opacity: 0;
	pointer-events: none;
	transition: opacity .5s;
}

.sp-search {
	transition: opacity .5s;
}

@media only screen and (max-width: 768px) {
	body.is-nav-open #wrap {
		width: 100%;
		position: fixed;
		left: 0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		overflow: hidden;
		display: none;
	}
}

body.is-nav-open .overlay {
	opacity: 1;
	pointer-events: auto;
}

body.is-nav-open .sp-search .icn {
	width: 3.2vw;
	height: 3.2vw;
	margin-right: 0;
	margin-left: 1.33333vw;
	position: relative;
	background-image: none;
	transform: rotate(45deg);
}

body.is-nav-open .sp-search .icn::before, body.is-nav-open .sp-search .icn::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

body.is-nav-open .sp-search .icn::before {
	width: 1px;
}

body.is-nav-open .sp-search .icn::after {
	height: 1px;
}

.is-pc .filter-list__line-list li label {
	transition: background .3s, border .3s, color .3s;
}

.is-pc .filter-list__line-list li label::before {
	transition: background .3s;
}

.is-pc .filter-list__line-list li:hover label {
	background-color: #cc0000;
	border-color: #cc0000;
	color: #fff;
}

.is-pc .filter-list__line-list li:hover label::before {
	background-color: #fff;
}

/*************************************************************
/ wrap
/************************************************************/
#wrap {
	width: 100%;
	overflow: hidden;
}

#wrap * {
	box-sizing: border-box;
}

#wrap .content-body {
	background-color: #f0f0f0;
	background-repeat: repeat, no-repeat;
}

@media only screen and (min-width: 769px) {
	#wrap .content-body {
		min-width: 1280px;
		background-image: radial-gradient(circle at center, #a8a8a8 0px, #a8a8a8 1px, transparent 1px, transparent 16px), url("../img/bg.png");
		background-size: 16px  16px, 100%;
		background-position: center, top center;
	}
}

@media only screen and (max-width: 768px) {
	#wrap .content-body {
		background-image: radial-gradient(circle at center, #a8a8a8 0px, #a8a8a8 0.13333vw, transparent 0.13333vw, transparent 2.13333vw), url("../img/bg-sp.png");
		background-size: 2.13333vw 2.13333vw, 100%;
		background-position: center, top -5.33333vw center;
	}
}

/*************************************************************
/ .g-header
/************************************************************/
@media only screen and (min-width: 769px) {
	.g-header {
		height: 90px;
	}
}

@media only screen and (max-width: 768px) {
	.g-header {
		height: 12vw;
	}
}

.g-header .tpl-inner-wrap {
	height: 100%;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
}

@media only screen and (max-width: 768px) {
	.g-header .tpl-inner-wrap {
		padding: 4vw 4.66667vw 0;
		align-items: flex-start;
	}
}

.g-header .logo {
	width: 320px;
	font-size: 24px;
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	.g-header .logo {
		font-size: 3.73333vw;
		width: 42.66667vw;
	}
}

.g-header .logo a, .g-header .logo img {
	display: none;
}

@media only screen and (min-width: 769px) {
	.g-header .logo-mynavi {
		width: 165px;
	}
}

@media only screen and (max-width: 768px) {
	.g-header .logo-mynavi {
		width: 28.26667vw;
	}
}

.g-header .logo-mynavi a, .g-header .logo-mynavi img {
	display: block;
}

/*************************************************************
/ kv
/************************************************************/
@media only screen and (min-width: 769px) {
	.kv {
		padding: 100px 40px 0;
		max-width: 1280px;
		margin: auto;
	}
}

@media only screen and (max-width: 768px) {
	.kv {
		padding: 13.33333vw 0 0;
	}
}

.kv__title {
	display: block;
	margin: auto;
}

@media only screen and (min-width: 769px) {
	.kv__title {
		width: 570px;
	}
}

@media only screen and (max-width: 768px) {
	.kv__title {
		width: 83.2vw;
		transform: translateX(-1.33333vw);
	}
}

.kv__title img {
	width: 100%;
}

.kv__greeting {
	text-align: center;
	line-height: 2em;
	font-weight: 500;
}

@media only screen and (min-width: 769px) {
	.kv__greeting {
		margin-top: 40px;
	}
}

@media only screen and (max-width: 768px) {
	.kv__greeting {
		margin-top: 5.33333vw;
		font-size: 3.73333vw;
	}
}

/*************************************************************
/ nav
/************************************************************/
@media only screen and (min-width: 769px) {
	.navigation {
		margin: 80px auto 0;
		max-width: 1280px;
		padding: 0 40px;
	}
}

@media only screen and (max-width: 768px) {
	.navigation {
		margin: 5.33333vw auto 0;
		padding: 0 4vw;
	}
}

.navigation__head-title {
	text-align: center;
	font-weight: 700;
}

@media only screen and (min-width: 769px) {
	.navigation__head-title {
		font-size: 52px;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__head-title {
		font-size: 8.53333vw;
	}
}

@media only screen and (min-width: 769px) {
	.navigation__body {
		margin-top: 40px;
		display: flex;
		flex-wrap: wrap;
		gap: 40px 20px;
		justify-content: center;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__body {
		margin-top: 4vw;
	}
}

.navigation__item {
	position: relative;
	background-image: linear-gradient(to bottom, #fff 0%, #fff 50%, #ffdbe3 100%);
}

@media only screen and (min-width: 769px) {
	.navigation__item {
		flex: 0 0 386px;
		padding: 30px 20px 40px;
		border-radius: 10px;
		border: 1px solid #cc0000;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item {
		display: block;
		padding: 4vw;
		border-radius: 1.33333vw;
		border: 0.13333vw solid #cc0000;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item:not(:first-child) {
		margin-top: 2.66667vw;
	}
}

.navigation__item::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

@media only screen and (min-width: 769px) {
	.navigation__item::before {
		border-radius: 10px;
		border: 2px solid #fff;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item::before {
		border-radius: 1.33333vw;
		border: 0.26667vw solid #fff;
	}
}

.navigation__item::after {
	content: '';
	display: block;
	position: absolute;
	border-radius: 50%;
	background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-position: center;
	background-color: #0c0c0c;
	margin: auto;
}

@media only screen and (min-width: 769px) {
	.navigation__item::after {
		width: 40px;
		height: 40px;
		background-size: 15px;
		border: 2px solid #fff;
		bottom: -22px;
		left: 0;
		right: 0;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item::after {
		width: 6.4vw;
		height: 6.4vw;
		background-size: 2.4vw;
		border: 0.26667vw solid #fff;
		top: 0;
		bottom: 0;
		right: 3.33333vw;
	}
}

.navigation__item-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

@media only screen and (min-width: 769px) {
	.navigation__item-head {
		gap: 5px;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item-head {
		gap: 1.33333vw;
	}
}

.navigation__item-head .en {
	color: #cc0000;
	font-weight: 700;
}

@media only screen and (min-width: 769px) {
	.navigation__item-head .en {
		font-size: 12px;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item-head .en {
		font-size: 2.4vw;
	}
}

.navigation__item-head .jp {
	background-color: #cc0000;
	color: #fff;
	padding: 0.1em 0.25em;
	font-weight: 700;
}

@media only screen and (min-width: 769px) {
	.navigation__item-head .jp {
		font-size: 20px;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item-head .jp {
		font-size: 4.26667vw;
	}
}

@media only screen and (min-width: 769px) {
	.navigation__item-body {
		font-size: 14px;
		margin-top: 20px;
		line-height: 2em;
	}
}

@media only screen and (max-width: 768px) {
	.navigation__item-body {
		font-size: 3.2vw;
		margin-top: 2.66667vw;
		line-height: 1.5em;
		padding-right: 13.33333vw;
		overflow-wrap: break-word;
		word-break: break-all;
	}
}

/*************************************************************
/ .company-list
/************************************************************/
.company-list-wrap {
	background-position: top 0;
	background-repeat: no-repeat;
	background-size: 100%;
}

@media only screen and (min-width: 769px) {
	.company-list-wrap {
		background-image: url("../img/company/bg.png");
		padding: 0 40px;
		margin-top: -60px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list-wrap {
		background-image: url("../img/company/bg-sp.png");
		margin-top: -10.66667vw;
		padding: 0 2.66667vw;
	}
}

@media only screen and (min-width: 769px) {
	.company-list {
		margin: auto;
		padding: 180px 0;
		max-width: 1200px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list {
		padding: 24vw 0;
	}
}

@media only screen and (min-width: 769px) {
	.company-list__sector:not(:first-child) {
		margin-top: 100px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__sector:not(:first-child) {
		margin-top: 13.33333vw;
	}
}

.company-list__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.company-list__head .en {
	font-weight: 500;
	color: #cc0000;
}

@media only screen and (min-width: 769px) {
	.company-list__head .en {
		font-size: 14px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__head .en {
		font-size: 2.66667vw;
	}
}

.company-list__head .jp {
	font-weight: 700;
}

@media only screen and (min-width: 769px) {
	.company-list__head .jp {
		display: flex;
		align-items: center;
		width: 100%;
		font-size: 36px;
		gap: 20px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__head .jp {
		font-size: 6.4vw;
	}
}

@media only screen and (min-width: 769px) {
	.company-list__head .jp::after {
		content: '';
		flex: 1 1 100%;
		display: block;
		height: 0px;
		margin-top: 4px;
		border-top: 1px solid #000;
		border-bottom: 1px solid #fff;
	}
}

@media only screen and (min-width: 769px) {
	.company-list__head .jp span {
		flex: 0 0 auto;
	}
}

.company-list__body {
	display: flex;
	flex-wrap: wrap;
}

@media only screen and (min-width: 769px) {
	.company-list__body {
		gap: 20px;
		margin-top: 30px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__body {
		gap: 2.66667vw;
		margin-top: 5.33333vw;
	}
}

.company-list__item {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background-color: #fff;
}

@media only screen and (min-width: 769px) {
	.company-list__item {
		flex: 0 0 285px;
		padding: 20px 20px 0;
		gap: 15px;
		border-radius: 10px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__item {
		flex: 0 0 calc( (100% - 2.66667vw) / 2);
		padding: 2vw 2vw 0;
		gap: 2vw;
		border-radius: 2.66667vw;
	}
}

.company-list__item-name {
	font-weight: 700;
	flex: 1 1 auto;
}

@media only screen and (max-width: 768px) {
	.company-list__item-name {
		line-height: 1.4em;
	}
}

.company-list__item-image {
	width: 100%;
	object-fit: contain;
	aspect-ratio: calc(305 / 150);
	background-color: #ccc;
}

.company-list__item-link {
	background-color: #cc0000;
	color: #fff;
	text-align: center;
	font-weight: 700;
	position: relative;
}

@media only screen and (min-width: 769px) {
	.company-list__item-link {
		padding: 10px 0;
		margin-left: -20px;
		margin-right: -20px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__item-link {
		padding: 2vw 0;
		margin-left: -2vw;
		margin-right: -2vw;
		font-size: 3.2vw;
	}
}

.company-list__item-link::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transform: rotate(-90deg);
	margin: auto;
}

@media only screen and (min-width: 769px) {
	.company-list__item-link::after {
		width: 12px;
		height: 8px;
		right: 20px;
	}
}

@media only screen and (max-width: 768px) {
	.company-list__item-link::after {
		width: 2.4vw;
		height: 1.6vw;
		right: 2vw;
	}
}

/*************************************************************
/ g-footer
/************************************************************/
.g-footer {
	position: relative;
	color: #fff;
	background-color: #000;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.1em;
	z-index: 500;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media only screen and (min-width: 767px) {
	.g-footer {
		height: 80px;
	}
}

@media only screen and (max-width: 768px) {
	.g-footer {
		height: 10.66667vw;
		font-size: 16px;
		font-size: 2.13333vw;
	}
}

.g-footer .page-top {
	position: fixed;
}

@media only screen and (min-width: 767px) {
	.g-footer .page-top {
		width: 50px;
		height: 50px;
		right: 20px;
		bottom: 105px;
	}
}

@media only screen and (max-width: 768px) {
	.g-footer .page-top {
		width: 9.33333vw;
		height: 9.33333vw;
		right: 2.66667vw;
		bottom: 13.33333vw;
	}
}

.g-footer .page-top a {
	width: 100%;
	height: 100%;
	display: block;
	background-color: #000;
	border-radius: 1000px;
}

.g-footer .page-top a::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	box-sizing: border-box;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
	position: absolute;
	top: 5px;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

/*# sourceMappingURL=main.css.map */
