@charset "utf-8";

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

	HOME

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


/*------------------------------------------------------------------------------

	HOME共通

------------------------------------------------------------------------------*/

/* ピックアップメニュー・協賛（バナー）
------------------------------------------------------------------------------*/

main #pickup ul,
main #sponsors ul {
	display: flex;
	list-style: none;
	flex-wrap: wrap;
	margin: 0;
}

main #pickup li,
main #sponsors li {
	margin: 0;
}


/* お知らせ・協賛
------------------------------------------------------------------------------*/

main #information,
main #sponsors {
	padding: 90px 0;
}

main #information h2,
main #sponsors h2 {
	position: relative;
	margin-bottom: 1em;
	font-weight: bold;
	font-size: 3em;
	color: rgba(var(--main-color),1);
}

main #information h2::before,
main #sponsors h2::before {
	position: absolute;
	left: calc(-50% - 15px);
	top: .68em;
	content: '';
	display: block;
	width: 50%;
	height: 2px;
	background-color: rgba(var(--main-color),1);
}

main #information h2 .en,
main #sponsors h2 .en {
	font-weight: normal;
	font-size: .458em;
}

main #information h2 .en::before,
main #sponsors h2 .en::before {
	content: '/ ';
}


@media screen and (max-width: 1200px) {
	
main #information,
main #sponsors {
	padding: 60px 0;
}
	
}

@media screen and (max-width: 940px) {
	
main #information,
main #sponsors {
	padding: 6vw 0;
}
	
main #information h2,
main #sponsors h2 {
	font-size: 1.4em;
}
	
main #information h2 .en,
main #sponsors h2 .en {
	font-size: .6em;
}
	
}



/*------------------------------------------------------------------------------

	プロモーション・終了メッセージ

------------------------------------------------------------------------------*/

main #promotion,
main #closing_message {
	margin-bottom: 60px;
}

main #promotion {
	width: 100%;
	aspect-ratio: 1400/810;
	background-image: url("../img/promotion_pc.jpg");
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 1200px) {
	
main #promotion,
main #closing_message {
	margin-bottom: 30px;
}

}

@media screen and (max-width: 767px) {
	
main #promotion,
main #closing_message {
	margin-bottom: 4vw;
}
	
main > .site_column:first-child {
	width: 100%;
}
	
main #promotion {
	aspect-ratio: 800/1100;
	background-image: url("../img/promotion_sp.jpg");
}
	
}


/* 終了
------------------------------------------------------------------------------*/

main #closing_message {
	display: block;
	padding: 1.5em .5em;
	border: 1px solid rgba(255,0,0,.1);
	background-color: rgba(255,0,0,.03);
	text-decoration: none;
}

main #closing_message p {
	text-align: center;
	font-weight: bold;
	color: rgba(255,0,0,1);
	font-size: 1.125em;
}

@media screen and (max-width: 767px) {

main #closing_message {
	padding: 5vw 6vw;
}

main #closing_message p {
	text-align: left;
	font-size: 3.5vw;
}

}

/*------------------------------------------------------------------------------

	ピックアップメニュー

------------------------------------------------------------------------------*/

main #pickup {
	margin-bottom: 60px;
}

main #pickup ul {
	justify-content: space-between;
}

main #pickup li {
	margin: 0;
	width: 32%;
	background-position:
		right 1em center,
		center center,
		center center;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat;
	background-size:
		.75em,
		cover,
		cover;
}

main #pickup li.program {
	background-image:
		url("../../common/img/icon_arrow_rw.svg"),
		linear-gradient(90deg, rgba(var(--main-color),.65) 0%,rgba(var(--main-color),.65) 100%),
		url("../img/pickup_program_bg.jpg");
}
main #pickup li.registration {
	background-image:
		url("../../common/img/icon_arrow_rw.svg"),
		linear-gradient(90deg, rgba(var(--main-color),.65) 0%,rgba(var(--main-color),.65) 100%),
		url("../img/pickup_registration_bg.jpg");
}
main #pickup li.seminar {
	background-image:
		url("../../common/img/icon_arrow_rw.svg"),
		linear-gradient(90deg, rgba(var(--main-color),.65) 0%,rgba(var(--main-color),.65) 100%),
		url("../img/pickup_seminar_bg.jpg");
}

main #pickup li a {
	color: #FFF;
	display: block;
	padding: 2em 0;
	text-align: center;
	font-size: 1.5em;
	text-decoration: none;
}

main #pickup li .en {
	display: block;
	font-size: .53em;
}


@media screen and (max-width: 1570px) {

main #pickup li a {
	font-size: 1.25em;
}

}


@media screen and (max-width: 1350px) {

main #pickup li a {
	font-size: 1.125em;
}

}


@media screen and (max-width: 1200px) {
	
main #pickup {
	margin-bottom: 30px;
}

main #pickup li {
	background-position:
		right 1em center,
		center center,
		center center;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat;
	background-size:
		.5em,
		cover,
		cover;
}
	
main #pickup li a {
	font-size: 1em;
}

}


@media screen and (max-width: 950px) {
	
main #pickup li a {
	font-size: .95em;
}

}

@media screen and (max-width: 940px) {
	
main #pickup {
	margin-bottom: 4vw;
}
	
main #pickup li {
	background-position:
		right .5em center,
		center center,
		center center;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat;
	background-size:
		.2em,
		cover,
		cover;
}

}


@media screen and (max-width: 840px) {

main #pickup li a {
	font-size: .75em;
}

}


@media screen and (max-width: 765px) {

main #pickup li {
	width:  100%;
	margin-bottom: 2vw;
}
	
main #pickup li {
	background-position:
		right 1em center,
		center center,
		center center;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat;
	background-size:
		.55em,
		cover,
		cover;
}

main #pickup li a {
	font-size: 4.5vw;
}
	
}


/*------------------------------------------------------------------------------

	お知らせ

------------------------------------------------------------------------------*/

main #information {
	background-color: rgba(0,0,0,.05);
}

main #information .attention {
	font-size: .9em;
	font-weight: bold;
	padding: 1em;
	background-color: rgba(255,255,255.5);
	border: 3px solid rgb(var(--main-color));
}

main #information .attention_group .attention,
main #information .group dl {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 2em;
	padding: 2em;
	margin-bottom: 24px;
	background-color: #FFF;
}

main #information .group dl {
	display: flex;
	font-size: 1.11em;
}

main #information .group dt {
	width: 6em;
	margin-right: 1.5em;
	font-weight: bold;
	color: rgba(var(--sub-color),1);
}

main #information .group dd {
	color: rgba(var(--main-color),1);
}

@media screen and (max-width: 940px) {
	
	
main #information .attention_group,
main #information .group {
	display: block;
}


main #information .attention_group .attention,
main #information .group dl {
	width: auto;
	margin-right: 0;
	margin-bottom: 2vw;
}

main #information .group dl {
	padding: 5vw;
	font-size: .875em;
}

}

@media screen and (max-width: 767px) {
	
main #information .attention {
	margin-bottom: 1em;

}
	
}




/*------------------------------------------------------------------------------

	協賛

------------------------------------------------------------------------------*/

main #sponsors ul {
	background-color: #FFF;
}

main #sponsors li {
	margin-right: 2%;
	margin-bottom: 30px;
	border: 1px solid rgba(0,0,0,.1);
}

main #sponsors ul.tier1 li,
main #sponsors ul.tier4 li {
	width: 32%;
}

main #sponsors ul.tier1 li:nth-child(3n),
main #sponsors ul.tier4 li:nth-child(3n) {
	margin-right: 0;
}

main #sponsors ul.tier2 li,
main #sponsors ul.tier3 li {
	width: 23.5%;
}

main #sponsors ul.tier3 li a,
main #sponsors ul.tier3 li em {
	display: block;
}

main #sponsors ul.tier2 li:nth-child(4n),
main #sponsors ul.tier3 li:nth-child(4n) {
	margin-right: 0;
}


@media screen and (max-width: 940px) {

main #sponsors li {
	margin-bottom: 1.4vw;
}
	
}

@media screen and (max-width: 767px) {

	
main #sponsors ul.tier1 li,
main #sponsors ul.tier4 li {
	width: auto;
	margin-right: 0;
}
	
main #sponsors ul.tier2 li,
main #sponsors ul.tier3 li {
	width: 49%;
	margin-right: 2%;
}
	
main #sponsors ul.tier2 li:nth-child(2n),
main #sponsors ul.tier3 li:nth-child(2n) {
	margin-right: 0;
}
	
}



