@charset "utf-8";@import url("./reset.css");@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@900&display=swap');@import url('./style.css');/* --------------------------------------------------- *//* ローディング *//* --------------------------------------------------- */#loading {	position: fixed;	top: 0;	left: 0;	display: block;	width: 100%;	height: 100vh;	background-color: #fff;	z-index: 999;}/* --------------------------------------------------- *//* レイアウト *//* --------------------------------------------------- */.wrap {	position: relative;	top: 0;	left: 0;	margin: 0;	padding: 0;	display: -webkit-box;	display: -ms-flexbox;	display: flex;	flex-direction: column;	width: 100%;	min-width: 320px;	min-height: 100%;	background: #fff;	overflow: hidden;}.wrap.fixed { position: fixed; }main {	flex: 1 0 auto; }#home main { background-color: #fff; }.contents {	margin: 0 auto;	width: 90%;}/* --------------------------------------------------- *//* ヘッダー *//* --------------------------------------------------- */header {	position: fixed;	top: 0;	left: 0;	padding: 0;	width: 100%;	background-color: #fff;	z-index: 777;}header .logo {	margin-left: 4%;	padding: 20px 0;	width: 256px;}header #btn-nav {	position: fixed;	top: 16px;	right: 12px;	z-index: 777;}header #btn-nav a {	display: block;	width: 48px;	height: 48px;}header #btn-nav a span {	position: absolute;	top:50%;	left: 50%;}header #btn-nav a span {	display: block;	width: 50%;	height: 2px;	background-color: #45bad5;	transform: translate(-50%, -50%);	transition: all .2s;}header #btn-nav a span::before,header #btn-nav a span::after {	position: absolute;	left: 0;	content: '';	display: block;	width: 100%;	height: 2px;	background-color: #2d4390;	transition: all .5s;}header #btn-nav a span::before { top: -8px; }header #btn-nav a span::after { top: 8px; }header #btn-nav.btn-close a span { background-color: transparent; }header #btn-nav.btn-close a span::before { top: 0; transform: rotate(-135deg); background-color: #fff; }header #btn-nav.btn-close a span::after { top: 0; transform: rotate(135deg); background-color: #fff; }@media screen and (max-width: 767px) {	header .logo {		padding: 16px 0;		width: 210px;	}	header #btn-nav {		top: 8px;		right: 12px;	}}@media screen and (max-width: 420px) {	header .logo {		padding: 12px 0;		width: 160px;	}	header #btn-nav {		top: 2px;		right: 6px;	}}/* ナビ *//* --------------------------------------------------- */header nav {	position: fixed;	top: 0;	right: 0;	display: block;	padding: 56px 0;	width: 300px;	height: 100vh;	background-color: #45bad5;	box-sizing: border-box;	transition: all .5s;	opacity: 0.0;}header nav.dispon { opacity: 1.0; }header nav .evtitle {	margin: 0 auto 2.0em;	width: 75%;}header nav ul {	margin: 0 auto;	width: 86%;	border-top: 1px solid #fff;}header nav ul li { border-bottom: 1px solid #fff; }header nav ul li a {	display: flex;	align-items: center;	justify-content: space-between;	padding: 1.0em 0;	color: #fff;	font-size: 1.6rem;	font-weight: 600;	transition: all .3s;}header nav ul li a:hover { opacity: 0.5; }header nav ul li a h2 { color: #ffe900; font-size: 150%; font-weight: 600; } header nav ul li a p {	font-weight: 600;	text-align: right;}header nav ul li a p em {	font-size: 150%;}header nav .btn-home a {	display: block;	margin: 2em auto 0;	width: 66.66%;	background-color: #2d4390;	border-radius: 180px;	color: #fff;	font-size: 1.8rem;	font-weight: 600;	line-height: 2.5;	text-align: center;	transition: all .3s;}header nav .btn-home a:hover { opacity: 0.5; }header nav ul li .wait { cursor: default; pointer-events: none; opacity: 0.75; }header nav ul li .wait h2 { color: #fff; } @media screen and (min-width: 421px) {	header nav { transform: translateX( 101%); }	header nav.dispon { transform: translateX(0); }}@media screen and (max-width: 420px) {	header nav { transform: translateY( -101%); }	header nav.dispon { transform: translateY(0); }	header nav {		padding: 48px 0;		width: 100%;	}	header nav ul { max-width: 86%; }}/* --------------------------------------------------- *//* フッター *//* --------------------------------------------------- */footer { padding-bottom: 24px; background-color: #2d4390; }footer .contents { max-width: 1040px; }footer dl {	display: flex;	justify-content: space-between;}footer dl dt { width: 240px; }footer dl dd {	width: calc(90% - 240px);	color: #fff;	font-size: 1.4rem;}footer .logo {	margin: 0 auto;	width: 100%;	max-width: 320px;}footer .logo .a, footer .logo .b, footer .logo .c { fill: #fff; }footer h2,footer h3,footer  strong { font-weight: 600; }footer h2 { color: #fff8b2; line-height: 1.5; }footer dt ul { display: flex; }footer dt ul li  {	margin: 2.0em 1.0em 0 0;	width: 32px;	font-size: 1.0rem;}footer dt ul li a:hover { opacity: 0.5; }footer dt ul li a img { width: 100%; height: auto; }footer dd ul {	margin: 0.75em 0;	width: 100%;	font-size: 1.6rem;	border-top: 1px solid #fff;}footer dd ul li  {	padding: 0.5em 0;	border-bottom: 1px solid #fff;}footer dd ul li span:not(:last-child) { margin-right: 1.0em; }footer dd p.int {	padding-left: 4.0em;	text-indent: -4.0em ;}footer .credit p {	color: #fff;	font-size: 1.2rem;	text-align: center;}@media screen and (max-width: 767px) {	footer dl { flex-direction: column; }	footer dl dt { width: 100%; }	footer dl dd {		margin-top: 32px;		width: 100%;	}	footer .logo {		width: 84%;		max-width: 320px;	}	footer dt ul { justify-content: center; }	footer dt ul li  { width: 28px; }	footer .credit p { font-size: 1.1rem; }}@media screen and (max-width: 420px) {	footer dt ul li  { width: 28px; }	footer .credit p { font-size: 1.0rem; }	footer dd ul li span { display: block; margin-right: 0; }}/* --------------------------------------------------- *//* ビジュアル *//* --------------------------------------------------- */#sitetitle {	padding-top: 82px;	background-color: #daf1f7;	background-image: url('../image/common/sky.jpg');	background-size: cover;	background-position: 50% 50%;}#sitetitle .visual {	position: relative;	margin: 0 auto;	width: 90%;	max-width: 1040px;	padding-top: 560px;}#sitetitle .visual h1 {	position: absolute;	top: 50%;	left: 0;	width: 40%;	transform: translateY(-50%);}#sitetitle .visual h1 .sp { display: none; }#sitetitle .visual figure {	position: absolute;	bottom: 0;	left: 35%;	width: 70%;}@media screen and (max-width: 1140px) {	#sitetitle .visual { padding-top: 50%; }}@media screen and (max-width: 767px) {	#sitetitle .visual { padding-top: 95%; }	#sitetitle .visual h1 .pc { display: none; }	#sitetitle .visual h1 .sp { display: inline; }	#sitetitle .visual h1 {		position: absolute;		top: 5%;		left: 50%;		width: 90%;		transform: translateX(-50%);		z-index: 2;	}	#sitetitle .visual figure {		position: absolute;		bottom: 0;		left: 0;		width: 100%;	}}@media screen and (max-width: 420px) {	#sitetitle .visual { padding-top: 100%; }	#sitetitle .visual h1 {		top: 0%;		width: 100%;	}	#sitetitle .visual figure {		left: -5%;		width: 110%;	}}#eligible {	padding: 1.0em 7%;	background-color: #2d4390;}#eligible dl {	display: flex;	flex-wrap: wrap;	justify-content: center;	color: #fff;}#eligible dl dt, #eligible dl dd {	font-size: 2.4rem;	font-weight: 600;	line-height: 1.5;	text-align: center;}#eligible em { color: #fff096; }#event #eligible { padding: 2.0em 7% 3.0em; }#event #eligible dl {	margin: 0 auto;	padding: 1.0em 0.5em;	width: 100%;	max-width: 880px;	border: 1px solid #fff;	box-sizing: border-box;}#event #eligible dl dt, #event #eligible dl dd { font-size: 2.1rem; }@media screen and (max-width: 767px) {	#eligible dl dt, #eligible dl dd { font-size: 1.8rem; }	#event #eligible dl dt, #event #eligible dl dd { font-size: 1.8rem; }}@media screen and (max-width: 420px) {	#eligible { padding: 1.0em 4%; }	#eligible dl dt, #eligible dl dd { font-size: 4.5vw; }	#event #eligible {		padding: 1.0em 5% 2.0em;		border-top: 1px solid #fff;	}	#event #eligible dl {		padding: 0;		border: 0;	}	#event #eligible dl dt, #event #eligible dl dd { font-size: 4.5vw; }}/* --------------------------------------------------- *//* イベント内容*//* --------------------------------------------------- */#about {	position: relative;	background-color: #fff;}#about::after {	content: '';	position: absolute;	top: 99.8%;	left: 0;	right: 0;	display: block;	width: 100%;	padding-top: 64px;	background-color: #fff;	clip-path: polygon(0 0, 100% 0, 50% 100%);	}#about + section { padding-top: 112px; }#about .contents { max-width: 1040px; }#about h2 {	color: #2d4390;	font-size: 3.6rem;	font-weight: 600;	line-height: 1.5;	text-align: center;}#about h2 + p {	font-size: 1.8rem;	font-weight: 500;	text-align: center;}#about ul {	display: flex;	justify-content: space-between;	margin: 1.5em auto 0;	max-width: 800px;	font-size: 2.4rem;}#about ul li {	width: 31.2%;	background-color: #fff8b2;	border-top: 2px solid #45bad5;	border-bottom: 2px solid #45bad5;	color: #45bad5;	text-align: center;}#about ul li p { font-weight: 600; line-height: 2.2; }@media screen and (max-width: 767px) {	#about h2 { font-size: 2.8rem; }	#about::after { padding-top: 48px; }	#about + section { padding-top: 80px; }	#about h2 + p { font-size: 1.6rem; }	#about ul {		flex-wrap: wrap;		gap: 0.75em 0;		margin-top: 1.5em;		font-size: 2.1rem;	}	#about ul li { width: 48.5%; }	#about ul li:first-child { width: 100%; }}@media screen and (max-width: 420px) {	#about::after { padding-top: 36px; }	#about + section { padding-top: 64px; }	#about h2 { font-size: 7.5vw; }	#about ul {		gap: 0.5em 0;		margin-top: 1.0em;		font-size: 5.5vw;	}	#about ul li { width: 48.5%; }}#about .feature {	display: flex;	flex-wrap: wrap;	justify-content: space-between;	gap: 2.0em 0;	margin: 4.0em auto 0;	width: 90%;	max-width: 960px;}#about .feature > div {	display: flex;	flex-direction: column;	justify-content: space-between;	box-sizing: border-box;	padding: 2.5em 1.0em;	width: 31.2%;	background-color: #2d4390;	border-radius: 8px;	text-align: center;}#about .feature figure {	margin: 0 auto;	width: 80%;	max-width: 128px;}#about .feature p {	position: relative;	display: block;	color: #fff;	font-weight: 600;	line-height: 1.5;}#about .feature h3 {	margin-top: 0.5em;	color: #ffe900;	font-size: 2.8rem;	font-weight: 600;	line-height: 1.3;}#about .feature.quad > div {	width: 23.5%;}@media screen and (max-width: 960px) {	#about .feature.quad > div {		width: 48.5%;	}}@media screen and (max-width: 767px) {	#about .feature {		display: flex;		flex-wrap: wrap;		justify-content: space-between;		gap: 1.0em 0;		margin: 3.0em auto 0;		width: 90%;	}	#about .feature > div { padding: 2.0em 1.0em; }	#about .feature h3 { font-size: 2.1rem; }}@media screen and (max-width: 640px) {	#about .feature {		flex-direction: column;		gap: 0.75em 0;	}	#about .feature.quad > div,	#about .feature > div {		display: flex;		flex-direction: row;		align-items: center;		gap: 0 1.0em;		padding: 1.0em 1.5em;		width: 100%;	}	#about .feature figure {		margin: 0;		width: 128px;		max-width: initial;	}	#about .feature figure + div  {		width: 100%;		text-align: left;	}	#about .feature br { display: none; }}@media screen and (max-width: 420px) {	#about .feature {		flex-direction: column;		gap: 0.75em 0;	}	#about .feature.trio > div,	#about .feature > div {		display: flex;		align-items: center;		gap: 0 1.0em;		padding: 1.0em 1.5em;		width: 100%;		min-height: 100px;	}	#about .feature figure {		margin: 0;		width: 80px;		max-width: initial;	}	#about .feature p {		position: relative;		display: block;		color: #fff;		height: auto;	}	#about .feature h3 {		font-size: 1.8rem;	}}/* --------------------------------------------------- *//* インデックス *//* --------------------------------------------------- */#index { background-color: #daf1f7; }#index h2 {	margin-bottom: 1.0em;	color: #2d4390;	font-size: 3.6rem;	font-weight: 600;	text-align: center;}#index .contents {	display: flex;	flex-wrap: wrap;	max-width: 1040px;	gap: 2.0em 3.5%;}#index .evitem {	position: relative;	box-sizing: border-box;	width: 31%;	background-color: #fff;	border-radius: 10px 10px 8px 8px;}#index .evitem h3 {	background-color: #45bad5;	color: #ffe900;	font-size: 2.8rem;	font-weight: 600;	line-height: 2.2;	text-align: center;	border-radius: 8px 8px 0 0;}#index .evitem .inbox { padding: 1.5em 7%; }#index .date {	margin-bottom: 0.5em;	padding-bottom: 0.5em;	border-bottom: 1px solid #45bad5;	color: #45bad5;	font-size: 2.4rem;	font-weight: 600;	line-height: 1.5;	text-align:center;}#index .date em { font-size: 166%; }#index .spec { margin: 1.0em 0; }#index .spec p {	position: relative;	padding-left: 3.0em;	color: #45bad5;	font-size: 1.8rem;	font-weight: 600;}#index .spec p + p { margin-top: 0.5em; }#index .spec p::before {	position: absolute;	top: 0.26em;	left: 0;	padding: 0 0.5em;	background-color: #45bad5;	color: #fff;	font-size: 1.4rem;}#index .spec p:first-child::before { content: '受付'; }#index .spec p:last-child::before { content: '開催'; }#index .evitem h4 { font-weight: 600; }#index  .btn {	margin: 2.0em auto 0;	width: 90%;	max-width: 208px;}#index  .btn a {	display: block;	border-radius: 120px;	color: #fff;	font-weight: 600;	line-height: 3.0;	text-align: center;}#index  .btn.active a { background-color: #2d4390; }#index  .btn.wait a { background-color: #999; }#index  .btn.end a { background-color: #ccc; }#index  .btn.active span::before { content: '詳しく見る'; }#index  .btn.wait span::before { content: '準備中'; }#index  .btn.end span::before { content: '終了しました'; }#index  .btn.active a:hover,#index  .btn.end a:hover { opacity: 0.5; }#index  .btn.wait a { cursor: default; pointer-events: none; }@media screen and (max-width: 767px) {	#index h2 { font-size: 3.2rem; }	#index .contents { gap: 1.5em 3%; }	#index .evitem { width: 48.5%; }	#index .evitem h3 { font-size: 2.4rem; }	#index .evitem .inbox { padding: 1.5em 6%; }	#index .date { font-size: 2.1rem; }}@media screen and (max-width: 540px) {	#index .contents { gap: 1.5em 0; }	#index .evitem { width: 100%; }}@media screen and (max-width: 420px) {	#index h2 { font-size: 2.4rem; }	#index  .btn a { line-height: 2.5; }}/* インデックス .pgnav *//* --------------------------------------------------- */#index.pgnav { background-color: transparent; }#index.pgnav .evitem { background-color: #ecf8fb; }#index.pgnav .evitem .inbox { padding: 1.0em 7% 1.5em; }#index.pgnav .date { border-bottom: 0; }#index.pgnav .spec,#index.pgnav .place { display: none; }#index.pgnav  .btn { margin: 0 auto; }@media screen and (max-width: 767px) {	#index.pgnav .evitem .inbox { padding: 0.75em 6% 1.25em; }}/* --------------------------------------------------- *//* 開催情報 *//* --------------------------------------------------- */#host {	padding: 2.0em 0 0.5em;	background-color: #2d4390;	color: #fff;	text-align: center;}#host .contents {	margin: 0 auto;	width: 90%;	max-width: 420px;}#host h2 {	border-bottom: 1px solid #fff;	color: #ffe900;	font-size: 3.6rem;	font-weight: 600;	line-height: 2.5;}#host .date {	font-size: 3.6rem;	font-weight: 600;	line-height: 1.5;}#host .date em { font-size: 166%; }#host .time {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 0 1.0em;	font-size: 1.8rem;	font-weight: 600;}#host .time span::before {	display: inline-block;	margin-right: 0.5em;	padding: 0 0.25em;	background-color: #fff;	color: #2d4390;	font-size: 66.66%;	line-height: 1.4;	vertical-align: 0.15em;}#host .time span:first-child::before { content: '受付'; }#host .time span:last-child::before { content: '開催'; }#host h3 {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 0 1.0em;	margin-top: 1.0em;	font-weight: 600;	line-height: 1.5;}#host .btn-map {	margin: 1.0em auto 0;	width: 100%;	max-width: 180px;}#host .btn-map a {	display: block;	background-color: #fff096;	border-radius: 90px;	color: #2d4390;	font-weight: 600;	line-height: 2.2;}#host .btn-map a:hover { opacity: 0.5; }@media screen and (max-width: 640px) {	#host h2 { font-size: 3.2rem; }	#host .date { font-size: 3.2rem; }}@media screen and (max-width: 420px) {	#host { padding: 1.0em 0 2.0em; }	#host h2 {		font-size: 2.8rem;		line-height: 2.0;	}	#host .date { font-size: 2.8rem; }	#host .time { font-size: 1.6rem; }	#host .time span::before { font-size:75%; }}/* --------------------------------------------------- *//* 企業リスト *//* --------------------------------------------------- */#companies { background-color: #daf1f7; }#companies .contents {	position: relative;	max-width: 1040px;}#companies h2 {	position: absolute;	left: 0;	top: 0;	-ms-writing-mode: tb-rl;	writing-mode: vertical-rl;	color: #2d4390;	font-size: 3.6rem;	font-weight: 600;}#companies .list {	margin-left: auto;	width: 84%;}#companies .list .company {	display: flex;	align-items: center;	justify-content: space-between;	gap: 0 1.0em;	padding: 1.5em 1.5em;	background-color: #fff;}#companies .list .company:not(:first-child) { margin-top: 0.5em; }#companies .list .company h3 {	font-size: 2.1rem;	font-weight: 600;	line-height: 1.5;}#companies .list .company p {	position: relative;	margin-top: 0.25em;	padding-left: 2.75em;}#companies .list .company p::before {	content: '業種';	position: absolute;	left: 0;	top: 0.4em;	display: inline-block;	padding: 0 0.5em;	background-color: #45bad5;	color: #fff;	font-size: 75%;	font-weight: 500;}#companies .list .company .btn a {	display: block;	width: 128px;	background-color: #2d4390;	border-radius: 64px;	color: #fff;	font-size: 1.4rem;	font-weight: 600;	line-height: 2.2;	text-align: center;}#companies .list .company .btn a:hover { opacity: 0.5; }@media screen and (max-width: 767px) {	#companies h2 {		position: static;		margin-bottom: 1.0em;		-ms-writing-mode: initial;		writing-mode: initial;		font-size: 3.2rem;		text-align: center;	}	#companies .list {		margin-left: auto;		width: 100%;	}	#companies .list .company h3 {		font-size: 1.8rem;	}}@media screen and (max-width: 640px) {	#companies h2 {		margin-bottom: 0.75em;		font-size: 2.8rem;	}	#companies .list .company {		flex-direction: column;		gap: 0.5em 0;		padding: 1.0em 1.5em;	}	#companies .list .company > div { width: 100%; }	#companies .list .company .btn a { margin: 0 auto; }}@media screen and (max-width: 420px) {	#companies h2 {		margin-bottom: 0.5em;	}	#companies .list .company { padding: 1.0em 5%; }	#companies .list .company p {		padding-left: 2.75em;		font-size: 1.4rem;	}	#companies .list .company p::before { top: 0.32em; }	#companies .list .company .btn a { font-size: 1.2rem; }}/* --------------------------------------------------- *//* BasicBreakPoint *//* --------------------------------------------------- */@media screen and (max-width: 767px) {}@media screen and (max-width: 420px) {}