@charset "UTF-8";

@media screen and (max-width: 820px) {

	.sp_none {
		display: none !important;
	}

	/* #style01{
	display: grid;
	grid-template-rows: auto 1fr auto;
	width:100%;
	min-height: 100vh;
	overflow-wrap: break-word;
	word-wrap: break-word;
	overflow:hidden;
} */





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　ヘッダー　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	header {
		position: relative;
	}

	.header__img {
		position: absolute;
		left: 15px;
		top: 50%;
		transform: translate(0, -50%);
		width: 75%;
	}

	.header {
		position: fixed;
		top: 0;
		z-index: 10000;
		width: 100%;
		height: 70px;
		/* background: linear-gradient(90deg, #005E9F 0%,  #0080C7 100%); */
		background-color: #0B4D8B;
	}

	.header nav {
		position: relative;
		width: 100%;
		height: 100%;
	}

	/* .sp_header_link{
	position: absolute;
	top: 50%;
	left: 3vw;
	transform: translateY(-50%);
	display: flex;
	gap: 3vw;
}

.sp_header_link a{
	color: #fff;
	font-size: 5vw;
} */

	.sp_menu {
		position: fixed;
		right: 10px;
		top: 0;
		z-index: 10010;
		width: 60px;
		height: 60px;
	}

	.sp_menu span {
		position: absolute;
		left: 50%;
		z-index: 10020;
		transform: translate(-50%, -50%);
		display: block;
		width: 65%;
		height: 4px;
		border-radius: 3px;
		background: #FFD43F;
		transition: 0.3s ease-in-out;
	}

	.sp_menu span:nth-child(1) {
		top: 30%;
	}

	.sp_menu span:nth-child(2) {
		top: 50%;
	}

	.sp_menu span:nth-child(3) {
		top: 70%;
	}

	.sp_menu.active span:nth-child(1) {
		top: 50%;
		transform: translate(-50%, -50%) rotateZ(135deg);
	}

	.sp_menu.active span:nth-child(2) {
		opacity: 0;
	}

	.sp_menu.active span:nth-child(3) {
		top: 50%;
		transform: translate(-50%, -50%) rotateZ(-135deg);
	}

	.sp_menu_text {
		position: absolute;
		bottom: -5px;
		left: 50%;
		transform: translateX(-50%);
		margin-top: 5px;
		color: #FFD43F;
		font-size: 12px;
		letter-spacing: 1px;
		text-align: center;
		pointer-events: none;
		font-weight: bold;
	}

	/* .header_link{
	position: absolute;
	top: 100%;
	left: 0;
	display: none;
	width: 100%;
} */
	.header_link {
		position: fixed;
		display: none;
		top: 0;
		left: 0;
		width: 100%;
		height: 100dvh;
		background: linear-gradient(to right bottom, #005E9F, #0080C7);
		flex-direction: column;
		overflow-y: auto;
		z-index: 10000;
	}

	.header_link li:first-child {
		padding-top: 80px;
	}

	/* メニューが開いているとき */
	.header_link.active {
		display: flex;
	}

	.header_link li {
		/* border-top: 1px #fff solid; */
	}

	.header_link li a {
		display: block;
		padding: 3vw;
		color: #fff;
		font-size: 5vw;
		/* background: #1d5094; */
	}

	.header_link li a:hover,
	.h_resas_active .h_resas a,
	.h_ideas_active .h_ideas a,
	.h_prize_active .h_prize a,
	.h_about_active .h_about a,
	.h_finalstage_active .h_finalstage a,
	.h_finalist_active .h_finalist a,
	.h_entry_active .h_entry a,
	.h_int_active .h_int a,
	.h_os_active .h_os a,
	.h_faq_active .h_faq a {
		background: #ffd53f;
	}





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　フッター　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	/* .footer_contact{
	padding: 0 3vw;
	margin: 0 auto 7vw;
	font-size: 4vw;
}

.footer_contact a{
	color: #17E587;
}

.footer_contact a:hover{
	text-decoration: underline;
}



.footer01{
	padding: 0 3vw 3vw;
	font-size: 4vw;
}

.footer_l{
	margin-bottom: 4vw;
}

.footer_logo{
	margin-bottom: 4vw;
	text-align: center;
}

.footer_logo img{
	width: 40vw;
}

.footer_l01{
	font-size: 4vw;
	font-weight: 700;
}

.footer_l02{
	font-size: 4vw;
	font-style: normal;
}

.footer02_wrap{
	padding: 3vw;
	background: linear-gradient(90deg, #005E9F 0%,  #0080C7 100%);
	color: #fff;
}

.footer_site_policy01{
	font-size: 4vw;
	text-align: center;
}
.footer_site_policy01 a{
	color:#FFF;
	text-decoration:underline;
}
.footer_site_policy01 a:hover{
	color:#FFF;
	text-decoration:none;
}
.footer_copy{
	font-size: 3vw;
	text-align: center;
} */


	.footer {
		color: #fff;
		background: #fff;
		color: #000;
		padding: 30px 0 0;
	}

	footer .wrapper-large {
		padding: 0;
	}

	footer address {
		font-style: normal;
		text-align: center;
	}

	.footer-bottom {
		margin-top: 20px;
		font-size: 14px;
		background: linear-gradient(90deg, #005E9F 0%, #0080C7 100%);
		padding: 15px;
		color: #FFF;

	}

	.footer_l01 {
		margin-bottom: 5px;
		font-size: 18px;
		text-align: center;
	}

	.footer-bottom a {
		text-decoration: underline;
		margin-bottom: 1em;
	}

	.footer_copy {
		font-size: 12px;
	}

	.scroll-to-top {
		position: fixed;
		bottom: 60px;
		right: 30px;
		width: 50px;
		height: 50px;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
		z-index: 1000;
	}

	.scroll-to-top.show {
		opacity: 1;
		pointer-events: auto;
	}

	.scroll-to-top img {
		width: 100%;
		height: auto;
	}

	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　index(top)　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.index_main {
		display: grid;
	}

	.index_main .header {
		order: 1;
	}

	.mv {
		order: 2;
		text-align: center;
		padding-top: 70px;
		background-color: #0B4D8B;
	}

	.index_main>section {
		order: 3;
	}

	.mv_img {
		position: relative;
	}

	.mv_img02 {
		position: absolute;
		z-index: 9999;
		bottom: 50%;
		left: 50%;
		width: 37%;
		transform: translate(-50%, -50%);
		transition: opacity 0.3s ease;
	}

	.mv_img02.show {
		opacity: 1;
		animation: jumpIn 0.6s ease forwards;
	}

	@keyframes jumpIn {
		0% {
			transform: translate(-50%, 0) scale(1);
		}

		30% {
			transform: translate(-50%, -20px) scale(1.1);
		}

		60% {
			transform: translate(-50%, 5px) scale(1.05);
		}

		100% {
			transform: translate(-50%, 0) scale(1);
		}
	}


	.mv_link01 {
		display: flex;
		gap: 15px;
		flex-direction: row;
		justify-content: center;
		background: linear-gradient(to right bottom, #005E9F, #0080C7);
		padding: 15px;
	}

	/* .index_main > section{
	order: 3;
} */

	/* .mv_img,
.mv_img img{
	width: 100%;
} */

	/* .mv_link_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 4vw;
	background: linear-gradient(to right bottom, #17E587, #00A9E6);
} */

	/* .mv_link03{
	width: 100%;
	margin-bottom: 4vw;
	font-size: 4vw;
	text-align: left;
} */

	/* .mv_link01{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3vw;
} */

	.mv_link01 a {
		position: relative;
		display: block;
	}

	.mv_link01_icon img {
		max-width: 80px;
	}

	/* .mv_link02{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3vw;
}

.mv_link02 .no_link{
	position: relative;
	display: inline-block;
	pointer-events: none;
}

.mv_link02 .no_link:after{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.5);
}

.mv_link02 img{
	width: 45vw;
} */


	/* intro */
	.intro {
		margin-bottom: 40px;
	}

	.intro .container p {
		font-size: 18px;
		color: #1d5094;
		line-height: 1.7;
		text-align: center;
		font-weight: bold;
		padding: 0 15px;
	}

	.intro .container .entry p {
		color: #DA4220;
		margin-bottom: 10px;
		margin-top: 1em;
	}

	.intro .container .entry .deadline p {
		color: #1d5094;
		font-size: 20px;
	}

	.intro .container .entry .deadline p:first-child {
		border: 1px solid #1d5094;
		margin: 0 15px;
	}

	.intro .container .entry .deadline p:last-child {
		margin-top: 0;
	}

	.intro .container .entry p.deadline-note {
		font-size: 14px;
		max-width: 700px;
		margin: 0 auto;
		text-align: left;
		line-height: 1.5;
		font-weight: normal;
		color: #DA4220;
	}
	.deadline-note-sub {
		font-size: 14px;
		line-height: 1.5;
		font-weight: normal;
				color: #e91409;
	}

	/* news */
	.news,
	.dtp .wrapper {
		border: 1px solid #1d5094;
		margin: 0 15px;
		border-radius: 15px;
		background-color: #fff;
	}

	.dtp .wrapper {
		margin-bottom: 70px;
	}

	.news {
		margin-bottom: 40px;
	}

	.news__inner {
		padding: 30px 0px 80px;
		position: relative;
	}

	.top__ttl h2 {
		display: flex;
		flex-direction: column;
		font-size: 34px;
		align-items: center;
		background: linear-gradient(90deg, #005E9F 0%, #0080C7 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		margin-bottom: 30px;
	}

	.top__ttl h2 span {
		font-size: 16px;
		color: #595757;
		background: linear-gradient(90deg, #595757 0%, #595757 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;

	}

	.news .news__list li {
		margin: 10px 0;
		color: #595757;
		font-weight: bold;
		border-bottom: 1px solid rgba(51, 51, 51, 0.5);
		display: flex;
		flex-direction: column;

	}

	.news .news-left {
		font-size: 14px;
		margin-bottom: 1em;
	}

	.news .news-right {
		font-size: 16px;
		margin-bottom: 0.5em;
	}

	.news .news-right a {
		text-decoration: underline;
	}

	.news__toggle {
		position: absolute;
		bottom: 20px;
		right: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 15px;
		border: 1px solid #1d5094;
		border-radius: 15px;
		width: 80%;
		margin: 0 auto;
		padding: 5px 0;
	}

	.news__toggle button {
		font-size: 24px;
		width: 30px;
		height: 30px;
		line-height: 1;
		background-color: #ffd53f;
		color: #000;
		border: none;
		border-radius: 50%;
		cursor: pointer;
		transition: 0.3s ease;
		margin: 0 5px;
	}

	.news__toggle button:hover {
		opacity: 0.7;
		scale: 1.1;
	}

	.news__toggle p {
		width: calc(100% - 95px);
		text-align: center;
		padding-left: 45px;
	}

	/* dtp */
	.dtp {
		background: linear-gradient(180deg, #fff 0%, #fff 30%, rgba(229, 225, 208, 0.4) 30%, rgba(229, 225, 208, 0.4) 100%);
		padding-bottom: 100px;
	}

	.dtp__inner {
		padding: 30px 0 15px;
		color: #595757;
		text-align: center;
	}

	.dtp__inner h2 {
		font-size: 20px;
		color: #595757;
		margin-bottom: 30px;
	}

	.dtp__img {
		margin-bottom: 30px;
		box-shadow: 0px 0px 4px #33333399;
	}

	.dtp__list a {
		border-radius: 10px;
		display: block;
		font-size: 16px;
		font-weight: bold;
		color: #595757;
		background-color: #ffd53f;
		padding: 10px 0px;
		text-align: center;
		margin: 0 auto;
		border: 1px solid #1d5094;
		margin-bottom: 15px;

	}

	.dtp__list a:hover {
		opacity: 0.7;
	}

	/* sns */
	.link {
		margin-bottom: 40px;
	}

	.radius {
		margin-top: -135px;
		background: #fff;
		padding-top: 70px;
		border-top-right-radius: 2000px 300px;
		border-top-left-radius: 2000px 300px;
	}

	.sns__ttl {
		font-size: 20px;
		font-weight: bold;
		color: #595757;
		text-align: center;
		margin-bottom: 30px;
	}

	.sns__container {
		display: flex;
		justify-content: space-around;
		align-items: center;
		width: 80%;
		margin: 0 auto;
		flex-wrap: wrap;
		gap: 20px;
	}

	.sns__inner {
		width: calc((100% - 20px) / 2);
	}

	.sns__img {
		width: 25%;
	}

	.sns__inner a {
		display: flex;
		gap: 10px;
		align-items: center;
		font-size: 14px;
		color: #595757;
	}

	/* movie/archive/sponsorship */
	.movie,
	.archive,
	.sponsorship {
		margin-bottom: 40px;
	}

	.sns {
		/* margin-bottom: 50px; */
		margin-bottom: 150px;
	}

	.youtube {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.youtube iframe {
		width: 100%;
		height: 100%;
	}

	/* add 20250911 須田さん動画追加 */
	.youtube__container {
		display: flex;
		gap: 15px;
		align-items: flex-end;
		flex-direction: column;
	}

	.youtube__inner {
		width: 100%;
	}

	.youtube__inner h3 {
		font-size: 16px;
		color: #595757;
		background: linear-gradient(90deg, #595757 0%, #595757 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		text-align: center;
		margin-bottom: 0.5em;
	}

	/* add 20250911 須田さん動画追加 end */
	.movie {
		margin-right: unset;
		margin-left: unset;
		padding-top: 80px;
		margin-top: -80px;
	}

	/* .movie iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
} */
	.wrapper-large {
		padding: 0 15px;
	}

	.archiv__container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
	}

	.archive__inner {
		width: calc((100% - 10px) / 2);
	}

	.archive__inner img {
		border-radius: 12px;
		border: 1px solid #333;
	}

	/* sponsor */

	.sponsor__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 15px 15px;
		margin: 30px auto 0;
	}

	.sponsor__list-icon {
		border: 1px #ccc solid;
	}

	.sponsorship .top__ttl span {
		line-height: 1.5;
		text-align: center;
	}

	.sponsorship .top__ttl small {
		font-size: 16px;
	}

	.sponsor__list-name {
		margin-top: 5px;
		font-size: 13px;
		text-align: center;
	}

	/* RESAS関連サービス情報 */
	.service-info {
		background-color: rgba(229, 225, 208, 0.4);
		padding-top: 40px;
		padding-bottom: 100px;
		margin-bottom: 70px;
	}

	.service-info h2 {
		font-size: 20px;
		color: #595757;
		font-weight: bold;
		margin-bottom: 50px;
		text-align: center;
	}

	.service-info__container {
		display: flex;
		flex-direction: column;
		gap: 20px;
		width: 80%;
		margin: 0 auto;
	}

	.service-info__img {
		max-width: 400px;
		margin: 0 auto;
	}

	/* LINK集 */

	.link__list {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.link__list li {
		width: calc(100% - 30px);
		margin: 0 auto;
		box-shadow: 0px 0px 5px #00000024;
	}

	/* お問合せ先 */
	/* .contact {
	margin-bottom: 50px;
} */
	.contact .wrapper-large {
		text-align: center;
		background: rgba(229, 225, 208, 0.4);
		padding: 30px 0 30px;
	}

	.contact h2 {
		font-size: 20px;
		font-weight: bold;
		color: #595757;
		margin-bottom: 30px;
	}

	.contact h3 {
		color: #1d5094;
		font-size: 20px;
		line-height: 1.2;
		font-weight: normal;
		margin-bottom: 20px;
	}

	.contact h3 span {
		font-size: 15px;
	}

	.contact p {
		color: #1d5094;
		margin-bottom: 20px;
	}

	.contact__btn a {
		max-width: 325px;
		margin: 0 auto;
		font-size: 16px;
		color: #595757;
		font-weight: bold;
		background-color: #ffd53f;
		padding: 10px;
		border-radius: 10px;
		border: 1px solid #1d5094;
		transition: 0.3s ease;
		cursor: pointer;
		display: block;
	}

	.contact__btn a:hover {
		background-color: #1d5094;
		color: #fff;
	}

	/* add20250807　flotingボタン */

	.floting-btn {
		display: flex;
		justify-content: space-between;
		gap: 15px;
		position: fixed;
		bottom: 0;
		z-index: 9999;
		width: 100%;
		max-width: 480px;
	}

	.floting-btn__item {
		width: calc((100% - 15px) / 2);
		position: relative;
	}

	.floting-btn__close {
		display: block;
		position: absolute;
		top: -10px;
		right: 10px;
		background: #000;
		color: #fff;
		border: none;
		border-radius: 50%;
		width: 24px;
		height: 24px;
		font-size: 16px;
		cursor: pointer;
	}

	.floting-btn__item.is-hidden {
		visibility: hidden;
		pointer-events: none;
	}


	/* add20250807　flotingボタン end */

	/* .is01,
.is02,
.is03,
.is04{
	display: flex;
	flex-direction: column;
	align-items: center;
}



.is01{
	padding: 0 3vw;
}

.overlap_title01{
	position: relative;
	text-align: center;
}

.overlap_title01_01{
	color: #000;
	font-size: 18vw;
	font-weight: 500;
	font-family: "Poppins", sans-serif;
	opacity: 0.03;
	line-height: 1.4;
}

.is06 .overlap_title01_01{
	font-size: 14vw;
}

.overlap_title01_02{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #13C1D3;
	font-size: 5vw;
	white-space: nowrap;
}

.overlap_title01_02 span{
	display: block;
	font-size: 3vw;
	line-height: 1em;
}

.is01_news{
	box-sizing: border-box;
	border: 3px #13C1D3 solid;
}

.is01_news_list li{
	display: grid;
	grid-template-columns: 30vw 1fr;
}

.is01_news_list li:not(:last-child){
	border-bottom: 1px #13C1D3 dashed;
}

.is01_news_list_l{
	padding: 3vw;
	color: #13C1D3;
	font-size: 4vw;
	font-weight: 700;
}

.is01_news_list_r{
	position: relative;
	padding: 3vw 3vw 4vw 0;
	font-size: 4vw;
}

.is01_news_list_r a{
	position: relative;
	display: inline-block;
	padding-right: 7vw;
}

.is01_news_list_r a:after{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	content: "";
	width: 6vw;
	height: 6vw;
	background: url("./img/circle-arrow_g.svg") center center/cover no-repeat;
}

.is01_news_list_r_noicon{
	position: relative;
	padding: 3vw 10vw 4vw 0;
	font-size: 4vw;
}

.is01_news_list_r_noicon:after{
}

.is01_news_list_r a,
.is01_news_list_r_noicon a{
	color: #000;
	text-decoration: underline;
}

.is01_news_list_r a:hover,
.is01_news_list_r_noicon a:hover{
	color: #13C1D3;
}

.is01_news_oc{
	font-size: 4vw;
}

.is01_news_oc dt{
	display: flex;
}

.is01_news_oc dt p{
	position: relative;
	padding: 0 7vw 0 0;
}

.is01_news_oc_icon{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 6vw;
	height: 6vw;
}

.is01_news_oc_icon:before,
.is01_news_oc_icon:after{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 5vw;
	height: 0.8vw;
	border-radius: 1vw;
	background: #13C1D3;
}

.is01_news_oc_icon:before{
	transform: translate(-50%, -50%);
}

.is01_news_oc_icon:after{
	transform: translate(-50%, -50%) rotateZ(90deg);
}

.is01_news_oc dt.active .is01_news_oc_icon:after{
	display: none;
}

.is01_news_oc dd{
	display: none;
	padding: 0 4vw 0 0;
	margin-top: 2vw;
}

.is01_news_oc dd a{
	color: #13C1D3;
}

.is01_news_oc dd a:hover{
	text-decoration: underline;
}



.is02{
	position: relative;
	padding-top: 14vw;
	padding-bottom: 15vw;
	overflow: clip;
}

.is02 .overlap_title01_02{
	line-height: 1.24;
}

.is02 .overlap_title01_02 span{
	color: #FDE14D;
}

.is_text{
	position: relative;
	padding: 0 6vw;
	margin-top: 16vw;
	text-align: center;
}

.is_button{
	width: 94vw;
}

.is02 .is_button{
	position: relative;
	margin-top: 16vw;
}

.is02_banner{
	padding: 0 3vw;
	margin-top: 15vw;
}

.is02_banner img{
	width: 100%;
}

.is02_bg{
	position: absolute;
	width: 45vw;
	opacity: 0.6;
}

.is02_bg01{
	left: -10vw;
	bottom: 66vw;
}

.is02_bg02{
	top: 20vw;
	right: 0;
}
.is02_bg img{
	width: 100%;
}



.is03{
	margin-bottom: 14vw;
}

.is03 .is_button{
	margin-top: 6vw;
}



.is04{
	margin-bottom: 15vw;
}

.is04 .overlap_title01_01{
	line-height: 0.9;
}

.is04_link{
	margin-top: 0;
}

.is04_link img{
	width: 50vw;
	max-width: 100%;
}



.is05{
	padding: 14vw 3vw;
}

.is05_movie{
	position: relative;
	padding-top: 56.25%;
	margin-top: 8vw;
}

.is05_movie iframe{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}




.is06{
	padding: 0 3vw 15vw;
} */

	/* .is06_list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6vw 3vw;
	margin-top: 4vw;
}


.is06_list_icon{
	border: 1px #ccc solid;
}

.is06_list img{
	width: 100%;
}

.is06_list_name{
	margin-top: 2vw;
	font-size: 3.1vw;
	text-align: center;
} */


	/* 

.is07{
	padding: 12vw 3vw;
}

.is07 .btn_area:last-child{
	margin-top: 3vw;
} */




	/* .bottom_contact{
	font-size: 4vw;
	font-weight: 700;
	order: 4;
	margin:2em 0 0 0;
}

.index_main .bottom_contact{
	padding: 0 3vw 6vw;
}

.ul_main .bottom_contact{
	margin-top: 8vw;
	margin-bottom: -6vw;
}

.bottom_contact a{
	color: #13C1D3;
}

.bottom_contact a:hover{
	text-decoration: underline;
} */




	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　下層共通　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.ul_main {
		padding: 20vw 15px 0;
	}

	.ul_main section {
		padding-top: 80px;
		margin-top: -80px;
		margin-bottom: 16vw;
	}

	.ul_main section:last-of-type {
		margin-bottom: 0;
	}

	.title01 {
		color: #1d5094;
		margin: 30px 0;
		font-size: 25px;
		font-weight: 700;
		text-align: center;
	}

	.catch01 {
		margin-bottom: 7vw;
		font-size: 5vw;
		font-weight: 700;
		text-align: center;
	}

	.text01 {
		/* font-size: 4vw;
	line-height: 2; */
		font-size: 16px;
		line-height: 1.7;
		color: #1D5094;
	}

	.btn_list {
		display: grid;
		gap: 3vw;
		margin-bottom: 9vw;
		margin-top: 50px;
	}

	.btn-yellow a {
		background-color: #ffd53f;
		color: #000;
		border: 2px solid #1d5094;
		width: calc(90% - 30px);
		margin: 0 auto;
		padding: 10px;
		text-align: center;
		font-size: 20px;
		font-weight: 600;
		border-radius: 50px;
		position: relative;
		transition: 0.3;
		margin-top: 50px;
		cursor: pointer;
		display: block;
	}

	.btn-yellow a::after {
		position: absolute;
		display: inline-block;
		content: "";
		background: url(../img/btn_white.svg) no-repeat;
		width: 40px;
		height: 40px;
		right: 5px;
		top: 50%;
		transform: translate(0, -50%);

	}

	.btn-yellow a:hover {
		background-color: #1D5094;
		color: #fff;
	}

	.btn_area {
		display: flex;
		justify-content: center;
		margin-top: 9vw;
	}

	.btn_wrap {
		position: relative;
		width: calc(100% - 30px);
		margin: 0 auto;
	}

	.btn_bg {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 90;
		content: "";
		width: calc(100% + 4px);
		height: calc(100% + 4px);
		border-radius: calc(6vw + 2px);
		background: #ffd53f;
		border: 1.5px solid #1d5094;
	}

	.link_btn {
		position: relative;
		z-index: 100;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 12vw;
		border-radius: 6vw;
		color: #000;
		font-size: 5vw;
		font-weight: 700;
		box-sizing: border-box;
	}

	.link_btn.peno,
	.link_btn.peno02 {
		pointer-events: none;
	}

	.link_btn.peno:after,
	.link_btn.peno02:after {
		position: absolute;
		top: 0;
		left: 0;
		content: "coming soon";
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		border-radius: 6vw;
		background: rgba(0, 0, 0, 0.7);
	}

	.link_btn.peno02:after {
		content: "";
	}

	.link_btn:hover {
		background: #1d5094;
	}

	.btn_type02.width02 {
		padding-right: 12vw;
		font-size: 4.2vw;
	}

	.link_btn_arrow {
		position: absolute;
		top: 50%;
		width: 10vw;
		height: 10vw;
		border-radius: 50%;
		background: #fff;
	}

	.link_btn_arrow:before {
		position: absolute;
		top: 48%;
		left: 48%;
		transform: translate(-50%, -50%);
		content: "";
		width: 4vw;
		height: 4vw;
		background: #0090d0;
	}

	.link_btn_arrow:after {
		position: absolute;
		top: calc(48% - 3px);
		left: calc(48% - 3px);
		transform: translate(-50%, -50%);
		content: "";
		width: calc(4vw - 3px);
		height: calc(4vw - 3px);
		background: #fff;
	}

	.link_btn_text {
		padding-left: 6vw;
	}

	.link_btn:hover .link_btn_text {
		background: linear-gradient(to right bottom, #17E587, #00A9E6);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}

	.btn_type01 .link_btn_arrow {
		right: 1vw;
		transform: translateY(-50%) rotateZ(45deg);
	}

	.btn_type02 .link_btn_arrow {
		right: 1vw;
		transform: translateY(-50%) rotateZ(-45deg);
	}

	.btn_type03 .link_btn_arrow {
		left: 1vw;
		transform: translateY(-50%) rotateZ(135deg);
	}

	.btn_type04 .link_btn_arrow {
		right: 3vw;
		width: 6vw;
		height: 6vw;
		transform: translateY(-50%);
		background: url("./img/circle-arrow_w.svg") center center/cover no-repeat;
	}

	.btn_type04 .link_btn_arrow:before,
	.btn_type04 .link_btn_arrow:after {
		display: none;
	}

	.btn_type04:hover .link_btn_arrow {
		background-image: url("./img/circle-arrow_g.svg");
	}

	.outer {
		padding-top: 20vw;
		padding-bottom: 70px;
	}



	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　RESASとは　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.btn-blue {
		background-color: #1d5094;
		color: #fff;
		border: 2px solid #fff;
		width: calc(100% - 30px);
		margin: 0 auto;
		padding: 10px;
		text-align: center;
		font-size: 20px;
		font-weight: 600;
		border-radius: 50px;
		position: relative;
		transition: 0.3;
		/* padding-right: 35px; */
		display: block;

	}

	.btn-blue::after {
		position: absolute;
		display: inline-block;
		content: "";
		background: url(../img/btn_white.svg) no-repeat;
		width: 40px;
		height: 40px;
		right: 5px;
		top: 50%;
		transform: translate(0, -50%) rotate(90deg);

	}

	.btn-blue:hover {
		background-color: #fff;
		color: #1D5094;
		border: 2px solid #1D5094;
	}

	.rs01 {
		margin-top: -70px;
		padding-top: 70px;
	}

	.rs01 .text01 {
		margin-bottom: 7vw;
	}

	.rs01_img {
		display: grid;
		gap: 4vw;
	}

	.rs01_img li {
		box-shadow: 1px 2px 1.5px #00000050;
	}

	#r01,
	#r02,
	#r03 {
		margin-bottom: 70px;
	}

	/* .rs01_img img{
	width: 100%;
} */
	/* add 20250911 須田さん動画 */
	.howtomovie {
		margin-bottom: 70px;
	}

	.howtomovie h2 {
		margin-bottom: 20px;
		font-size: 18px;
		font-weight: 700;
		text-align: center;
		color: #1d5094;
	}

	/* add  20250911 須田さん動画 end */


	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　地方創生☆政策アイデアコンテストとは　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	.about-contest {
		/* padding: 20vw 15px 50px; */
		padding-bottom: 50px;
	}

	/* .as01 .text01{
	margin-bottom: 7vw;
	color: #1D5094;
} */

	.as_movie {
		text-align: center;
	}

	/* .as_movie_wrap{
	position: relative;
	padding-top: 70%;
	margin-bottom: 2vw;
} */

	.as_movie_wrap iframe {
		/* position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%; */
		vertical-align: bottom;
		width: 100%;
		aspect-ratio: 16 / 9;
		margin: 10px 0;

	}

	.as_movie_title {
		font-size: 16px;
	}

	.contest-prev {
		background-color: rgba(255, 242, 202, 0.5);
		padding: 50px 0 50px;
		/* margin-bottom: 50px; */
	}

	.contest-prev .btn-yellow {
		margin-top: unset;
	}

	.contest-prev__link {
		text-align: center;
		margin: 25px 0 50px;
		transition: 0.3;
	}

	.contest-prev__link a:hover {
		color: #1D5094;
		;
	}

	.contest-prev__link li {
		margin-bottom: 0.5em;
	}

	.contest-prev h2 {
		font-size: 16px;
		text-align: center;
		margin-bottom: 5px;
		font-weight: 500;
	}

	.contest-prev__list {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 25px;
		padding: 0 15px;
	}

	.contest-prev__img {
		aspect-ratio: 200 / 113;
		object-fit: cover;
		overflow: hidden;
	}

	/* .as_movie_title:not(:last-child){
	margin-bottom: 4vw;
}

.as01 .btn_area{
	padding-top: 18vw;
	margin-top: -9vw;
}

.as_link01{
	display: grid;
	gap: 2vw;
	margin: 7vw 0;
	text-align: center;
}

.as_link01 a{
	position: relative;
	padding-left: 1.1em;
	color: #17E587;
	font-size: 4.5vw;
}

.as_link01 a:hover{
	text-decoration: underline;
}

.as_link01 a:before{
	position: absolute;
	left: 0;
	content: "▶";
}

.as_img{
	margin-bottom: 6vw;
}

.as_img_list{
	display: grid;
	gap: 1px;
}

.as_img_list img{
	width: 100%;
}

.as_img_cap{
	margin-top: 2vw;
	font-size: 4vw;
	text-align: right;
}

.contest_bnr_area{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4vw 2vw;
	margin: 10vw 0;
}

.contest_bnr_thum{
	border-radius: 2vw;
	overflow: hidden;
}

.contest_bnr_thum.border{
	border: 1px #333 solid;
}

.contest_bnr img{
	width: 100%;
}

.contest_bnr_txt{
	margin-top: 1vw;
	color: #000;
	text-align: center;
}

.cb_banner img{
	width: 100%;
}
 */



	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　受賞者インタビュー　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　オンラインセミナー　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.ins01 .text01 {
		margin-bottom: 10vw;
		text-align: center;
	}

	.ins01 .ins_text01_flex {
		display: flex;
		justify-content: center;
		gap: 3vw;
		text-align: left;
	}

	.ins01 .ins_text01_flex p:first-child {
		white-space: nowrap;
	}

	.ins01_box {
		position: relative;
		padding: 10vw 0;
		background: #eee;
	}

	.ins01_box:before,
	.ins01_box:after {
		position: absolute;
		top: 0;
		content: "";
		width: 3vw;
		height: 100%;
		background: #eee;
	}

	.ins01_box:before {
		left: 100%;
	}

	.ins01_box:after {
		right: 100%;
	}

	.ins01_list_title01 {
		margin-bottom: 5vw;
		color: #1D5094;
		font-size: 6vw;
		text-align: center;
	}

	.ins01_list_title01:not(:first-child) {
		margin-top: 9vw;
	}

	.ins01_list_title01 span {
		position: relative;
		padding: 0 7vw;
	}

	.ins01_list_title01 span:before,
	.ins01_list_title01 span:after {
		position: absolute;
		content: "━";
	}

	.ins01_list_title01 span:before {
		left: 0;
	}

	.ins01_list_title01 span:after {
		right: 0;
	}

	.ins01_list {
		display: grid;
		gap: 5vw;
	}

	.ins01_list_box {
		position: relative;
		display: grid;
		gap: 6vw;
		padding: 6vw;
		background: #fff;
	}

	.ins01_list_box:hover {
		opacity: 0.5;
	}

	.ins01_list_img img {
		width: 100%;
	}

	.ins01_list_img img:not(:last-child) {
		margin-bottom: 4vw;
	}

	.ins01_list_box:hover .ins01_list_img img {
		opacity: 1;
	}

	.ins01_list_text {
		padding-bottom: 10vw;
		color: #000;
		font-size: 4vw;
		line-height: 2;
	}

	.ins01_list_text a {
		color: #000;
		text-decoration: underline;
	}

	.ins01_list_text a:hover {
		color: #13C1D3;
	}

	.no_back:hover {
		opacity: 1;

	}

	.ins01_list_title02 {
		margin-bottom: 0.5em;
		font-size: 4.5vw;
		line-height: 1.5
	}

	.ins01_list_title02 span {
		color: #FFF;
		font-size: 3vw;
		text-align: center;
		border-radius: 20px;
		display: inline-block;
		min-width: 5em;
		padding: 0 10px 0 10px;
	}

	.ins01_list_title02 .accept {
		background-color: #E3470D;
	}

	.ins01_list_title02 .closed {
		background-color: #13C1D3;
	}

	.ins01_list_arrow {
		position: absolute;
		right: 6vw;
		bottom: 6vw;
		width: 10vw;
		height: 10vw;
		border-radius: 50%;
		background: linear-gradient(to right bottom, #005E9F, #0080C7);
	}

	.ins01_list_arrow:after {
		position: absolute;
		top: 50%;
		left: 46%;
		transform: translate(-50%, -50%) rotateZ(-135deg);
		content: "";
		width: 3vw;
		height: 3vw;
		border-left: 4px #fff solid;
		border-bottom: 4px #fff solid;
	}





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　受賞者インタビュー詳細　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　オンラインセミナー詳細　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.ins_detail_box {
		padding: 6vw 6vw 9vw;
		background: #fff;
	}

	.ins_detail_title {
		padding: 0 0 5vw 0;
		border-bottom: #cccccc dashed;
		margin-bottom: 6vw;
		font-size: 5vw;
		font-weight: bold;
		line-height: 2;
		text-align: center;
	}

	.ins_detail_title02 {
		display: flex;
		justify-content: center;
		gap: 1em;
		text-align: left;
	}

	.ins_detail_title02 p:first-child {
		white-space: nowrap;
	}

	.ins_detail_text {
		font-size: 4vw;
		line-height: 2;
	}

	.ins_detail_img {
		padding: 7vw 0;
		text-align: center;
	}

	.ins_detail_img+.ins_detail_img {
		padding-top: 0;
	}

	.ins_detail_img:last-child {
		padding-bottom: 0;
	}

	.ins_detail_img img {
		max-width: 100%;
	}

	.ins_detail_img img:not(:last-child) {
		margin-bottom: 3vw;
	}

	.ins_detail_img p {
		font-size: 0.8em;
		text-align: center;
	}

	.ins_detail_img p a {
		color: #000;
		text-decoration: underline;
	}

	.ins_detail_member {
		font-size: 0.9em;
		text-align: left;
	}

	.ins_detail_subtitle {
		padding: 2vw 3vw;
		margin: 9vw 0 5vw;
		background: linear-gradient(to right bottom, #17E587, #00A9E6);
		color: #fff;
		font-size: 5vw;
	}

	.ids_detail_comment {
		margin-top: 3vw;
		font-size: 0.8em;
	}

	.ins_detail_dl {
		padding: 7vw 5vw;
		background: #FFFFDC;
	}

	.ins_detail_dl:not(last-of-type) {
		margin-bottom: 4vw;
	}

	.ins_detail_dl dt,
	.ins_detail_dl dd {
		position: relative;
		padding-left: 2em;
	}

	.ins_detail_dl dt {
		margin-bottom: 5vw;
		font-weight: 700;
	}

	.ins_detail_dl dt:before,
	.ins_detail_dl dd:before {
		position: absolute;
		left: 0;
		color: #ED7D31;
		font-weight: 700;
	}

	.ins_detail_dl dt:before {
		content: "Q.";
	}

	.ins_detail_dl dd:before {
		content: "A.";
	}

	.ins_detail_dl a {
		color: #17E587;
	}

	.ins_detail_dl a:hover {
		text-decoration: underline;
	}




	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　よくある質問　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.fs01 .text01 {
		margin-bottom: 10vw;
		text-align: center;
	}

	.fs01 .btn_type01 {
		padding-right: 0;
	}

	.fs01_box {
		position: relative;
		padding: 10vw 0;
		background: #ace5f9;
	}

	.fs01_box:before,
	.fs01_box:after {
		position: absolute;
		top: 0;
		content: "";
		width: 3vw;
		height: 100%;
		background: #ace5f9;
	}

	.fs01_box:before {
		left: 100%;
	}

	.fs01_box:after {
		right: 100%;
	}

	.fs01_dl {
		font-size: 4.5vw;
	}

	.fs01 .btn_bg {
		background-color: #fff;
	}

	.fs01 .link_btn {
		color: #005EA4;
		cursor: pointer;
	}

	.fs01 .link_btn:hover .link_btn_text {
		background: #fff;
		-webkit-background-clip: text;
	}

	.fs01 .link_btn_text {
		padding-left: unset;
	}

	.fs01_dl:not(:last-child) {
		margin-bottom: 2vw;
	}

	.fs01_dl dt {
		position: relative;
		padding: 3vw 9vw 3vw 3vw;
		border: 2px #1D5094 solid;
		background: #1D5094;
		color: #fff;
		font-weight: 700;
		cursor: pointer;
		transition: 0.3s ease-in-out;
	}

	.fs01_dl dt:hover {
		background: #fff;
		color: #1D5094;
	}

	.fs01_dl_icon {
		position: absolute;
		top: 50%;
		right: 3vw;
		transform: translateY(-50%);
		width: 3vw;
		height: 3vw;
	}

	.fs01_dl_icon:before,
	.fs01_dl_icon:after {
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
		width: 3vw;
		height: 0.5vw;
		background: #fff;
	}

	.fs01_dl_icon:before {
		transform: translate(-50%, -50%) rotateZ(90deg);
	}

	.fs01_dl_icon:after {
		transform: translate(-50%, -50%);
	}

	.fs01_dl dt:hover .fs01_dl_icon:before,
	.fs01_dl dt:hover .fs01_dl_icon:after {
		background: #1D5094;
	}

	.fs01_dl dt.active .fs01_dl_icon:before {
		display: none;
	}

	.fs01_dl dd {
		display: none;
		position: relative;
		padding: 3vw 3vw 4vw 8vw;
	}

	.fs01_dl dd:before {
		position: absolute;
		left: 3vw;
		content: "A";
		font-weight: 700;
	}

	.fs01_dl dd a {
		color: #1D5094;
		word-break: break-all;
	}

	.fs01_dl dd a:hover {
		text-decoration: underline;
	}





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　応募について　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	/* .howtoentry {
	padding: 20vw 0px 50px;
} */
	.howtoentry h2 {
		margin: 30px 0;
		color: #1D5094;
		font-size: 22px;
		text-align: center;
	}

	.howtoentry table {
		/* margin-bottom: 80px; */
		width: 100%;
	}

	.howtoentry table,
	.howtoentry table tr,
	.howtoentry table th,
	.howtoentry table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.howtoentry table th {
		font-size: 18px;
		background-color: #1D5094;
		color: #fff;
		font-weight: 600;
		text-align: center;
		vertical-align: top;
		border: 1px solid #1D5094;
		padding: 15px;
	}

	.last-th {
		border-bottom: 1px solid #1D5094 !important;
	}

	.howtoentry td {
		padding: 15px;
		border: 1px solid #1D5094;
		font-size: 14px;
		line-height: 1.4;
		font-weight: 500;
	}

	.howtoentry td .center {
		text-align: center;
	}

	.howtoentry td .small a {
		color: #1D5094;
		text-decoration: underline;
	}

	.howtoentry td .medium {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.howtoentry td .small {
		font-size: 14px;
		font-weight: normal;
	}

	.howtoentry td .large {
		font-size: 20px;
	}

	.howtoentry td .small__list li {
		font-size: 14px;
		font-weight: normal;
		margin-bottom: 5px;
	}

	.howtoentry td .small__list li:last-child {
		margin-bottom: 0;
	}

	.howtoentry .mb10 {
		margin-bottom: 10px;
	}

	.howtoentry ol li {
		list-style: none;
		padding-left: 1em;
		text-indent: -1em;
		font-size: 16px;
	}

	.tr01 td .small,
	.kome,
	.komeli li,
	.maru li,
	.starli li {
		display: flex;
		gap: 3px;
	}

	/* .tr01 td .small::before {
	content: "※";
} */
	.kome::before,
	.komeli li::before {
		content: "※";
	}

	.maru li::before {
		content: "\025cb";
	}

	.starli li::before {
		content: "\2605";
	}

	.tr01 small {
		font-size: 0.7em;
		vertical-align: top;
	}

	.tr01 .entry-pdf {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		align-items: center;
		margin-bottom: 10px;
	}

	.tr01 .entry-pdf img {
		max-width: 300px;
	}

	.tr01 .idea {
		background-color: #F2FAFD;
		padding: 20px 0;
	}

	.tr01 .idea__ttl {
		background-color: #02a6e0;
		color: #fff;
		font-size: 16px;
		font-weight: 500;
		max-width: 8em;
		margin-right: auto;
		padding: 10px 20px;
	}

	.tr01 .idea ul {
		margin: 10px 20px;
	}

	.tr01 .idea ul li {
		color: #02a6e0;
		font-size: 16px;
		font-weight: 500;
		margin-bottom: 5px;
		display: flex;
		gap: 3px;
	}

	.tr01 .idea ul li::before {
		content: "・";
	}

	.howtoentry .btn-yellow {
		margin-top: 10px;
	}
	.howtoentry .btn-yellow a {
		position: relative;

	}
	.howtoentry .btn-yellow a:before {
		content: "";
		display: inline-block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		background-color: #00000080;
		height: 100%;
		border-radius: 50px;
		z-index: 100;
	}
	/* .tr02 .medium {
		color: red;
	} */

	.tr03 .tr03li {
		position: relative;
		padding-left: calc(1em + 3px);

	}

	.tr03 .tr03li::before {
		position: absolute;
		display: inline-block;
		content: "\025cb";
		left: 0;

	}

	/* .tr03 .tr03li-li {
	position: absolute;
	display: inline-block;
	content: "・";
	left: 0;
} */
	.tr03 .tr03li-li {
		padding-left: calc(2em + 3px);
		position: relative;
	}

	.tr03 .tr03li-li::before {
		position: absolute;
		display: inline-block;
		content: "・";
		left: 1em;

	}

	.tr03 .small__maru p {
		padding-left: 1em;
		font-size: 0.9em;
	}

	.entry-link {
		padding-left: 1.3em;
		text-indent: -1.3em;
		position: relative;
	}

	.entry-link::before {
		content: "※";
	}

	/* 以下2024 */
	/* .es01{
	padding-top: 6vw;
	padding-top: 20vw;
	margin-bottom: 10vw;
}

.es01_list01{
	margin: 10vw 3vw 0;
}

.es01_list01 > li:not(last-child){
	margin-bottom: 9vw;
}

.es01_title01{
	position: relative;
	margin-bottom: 13vw;
	color: #13C1D3;
	font-size: 4.5vw;
	text-align: center;
}

.es01_title01:after{
	position: absolute;
	top: calc(100% + 2vw);
	left: 50%;
	transform: translateX(-50%);
	content: "";
	width: 18vw;
	height: 1.8vw;
	background: linear-gradient(to right bottom, #00A9E6, #17E587);
}

.es01_list02{
	border: 3px #13C1D3 solid;
}

.es01_list02 > li{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 9vw 3vw;
}

.es01_list02 > li:not(:last-child){
	border-bottom: 1px #13C1D3 dashed;
}

.es01_title02{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 2vw calc(4vw - 0.2em) 2vw 4vw;
	border-radius: 24px;
	background: #13C1D3;
	color: #fff;
	font-size: 4.5vw;
	line-height: 1.45;
	letter-spacing: 0.2em;
	white-space: nowrap;
}

.es01_pdf{
	margin-bottom: 7vw;
	text-align: center;
}

.es01_pdf img{
	width: 70%;
}

.es01_pdf_link{
	margin-bottom: 3vw;
}

.es01_pdf_comment{
	font-size: 4vw;
	font-weight: 700; 
}

.es01_text01{
	font-weight: 700;
	line-height: 1.45;
}

.num_come{
	font-size: 0.5em;
	vertical-align: top;
}

.es01_comment_ol{
	margin-top: 4vw;
	font-size: 3.6vw;
	counter-reset: cm_ol;
}

.es01_comment_ol li{
	position: relative;
	padding-left: 2em;
	counter-increment: cm_ol;
}

.es01_comment_ol li:before{
	position: absolute;
	left: 0;
	content: "※"counter(cm_ol);
}

.es01_box{
	position: relative;
	padding: 13vw 3vw 5vw;
	border: 2px #01A9E4 solid;
	border-radius: 3vw;
	margin-top: 5vw;
	background: rgba(1, 169, 228, 0.06);
	color: #01A9E4;
	font-size: 4vw;
	font-weight: 700;
}

.w100{
	box-sizing: border-box;
	width: 100%;
}

.es01_title03{
	position: absolute;
	top: 3vw;
	left: 0;
	padding: 1vw 4vw;
	background: #01A9E4;
	color: #fff;
	font-size: 4vw;
}

.es01_box .es01_star{
	display: grid;
	gap: 0.8em;
}

.es01_star li,
.es01_ol li,
.es01_comment li,
.es01_round li{
	position: relative;
	padding-left: 1.2em;
}

.es01_star li:before{
	position: absolute;
	left: 0;
	content: "★";
}

.es01_comment li:before{
	position: absolute;
	left: 0;
	content: "※";
}

.es01_ol li span{
	position: absolute;
	left: 0;
}

.es01_round li:before{
	position: absolute;
	left: 0;
	content: "○";
}

.es01_round_none:before{
	position: absolute;
	left: 0;
	content: "　"!important;
}
.es01_text01 a,
.es01_comment li a{
	color: #13C1D3;
}

.es01_text01 a:hover,
.es01_comment li a:hover{
	text-decoration: underline;
}

.es01_catch01{
	margin-bottom: 4vw;
	font-size: 5vw;
	font-weight: 700;
	text-align: center;
}
.es01_comment{
	display: grid;
	gap: 0.4em;
	margin-top: 4vw;
	font-size: 3.6vw;
	line-height: 1.25;
}

.es01_ap{
	padding: 3vw;
	border: 2px #A31A2F solid;
	color: #A31A2F;
	font-size: 4.5vw;
	font-weight: 700;
	text-align: center;
}

.es01_img01{
	margin-top: 7vw;
}

.es01_img01 img{
	width: 100%;
}

.es_button{
	width: 100%;
	margin-top: 5vw;
} */







	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　お問い合わせ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	/* .contact-form {
	padding: 20vw 15px 0;
} */
	.btn-yellow-contact a {
		background-color: #ffd53f;
		color: #000;
		border: 2px solid #1d5094;
		width: calc(90% - 30px);
		margin: 0 auto;
		padding: 15px;
		text-align: center;
		font-size: 20px;
		font-weight: 600;
		border-radius: 50px;
		position: relative;
		transition: 0.3;
		margin-top: 50px;
		cursor: pointer;
		display: block;
	}

	.btn-yellow-contact a::after {
		position: absolute;
		display: inline-block;
		content: "";
		background: url(../img/btn_white.svg) no-repeat;
		width: 50px;
		height: 50px;
		left: 7px;
		top: 50%;
		transform: translate(0, -50%) rotate(180deg);
	}

	.btn-yellow-contact a:hover {
		background-color: #1D5094;
		color: #fff;
	}

	.con_btn_area {
		padding: 0 3vw;
	}

	.policy_tile01 {
		font-size: 5vw;
		margin-bottom: 32px;
	}

	.policy_tile02 {
		font-size: 4vw;
		margin-bottom: 32px;
	}

	.policy_text01 {
		margin-bottom: 10px;
	}

	.policy_flex {
		display: flex;
		align-items: center;
	}

	.policy_sns_icon {
		margin-right: 0.6em;
	}

	.policy_sns_icon img {
		width: 2.5em;
	}

	.policy_text02 {
		margin-bottom: 20px;
	}

	.policy_text01 a {
		color: #1D5094;
	}

	.policy_text02 a {
		overflow-wrap: anywhere;
		color: #1D5094;
	}

	.top_p_tilte {
		font-size: 4vw;
		font-weight: bold;
		margin: 0 0 20px 0;
	}

	.sns_area01 {
		width: 90%;
		margin: 0 auto 60px auto;
	}

	.sns_area02 {
		width: 60%;
		margin: 0 auto 1em auto;
	}

	.sns_area02 img {
		height: 2em;
	}

	.on_text01 {
		width: 90%;
		margin: 0 auto 20px auto;
	}




	/*テスト*/
	body.open_popup {
		overflow: hidden;
	}

	.bg_onetime_popup {
		position: fixed;
		top: 0px;
		left: 0px;
		z-index: 9999;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: 0.5s;
	}

	body.open_popup .bg_onetime_popup {
		opacity: 1;
		visibility: visible;
	}

	.onetime_popup {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 450px;
		background-color: #fff;
	}

	.onetime_popup_title {
		position: relative;
		padding: 15px 0 20px 0;
		margin: 0px;
		background-color: #fff;
		color: #fff;
		font-size: 20px;
		text-align: center;
		line-height: 1.5;
	}

	.onetime_popup_title_close {
		position: absolute;
		top: 80%;
		right: 30px;
		width: 30px;
		height: 30px;
		transform: translateY(-50%);
		cursor: pointer;
	}

	.onetime_popup_title_close::before,
	.onetime_popup_title_close::after {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 100%;
		height: 4px;
		background-color: #000;
		content: "";
	}

	.onetime_popup_title_close::before {
		transform: translateX(-50%) translateY(-50%) rotate(45deg);
	}

	.onetime_popup_title_close::after {
		transform: translateX(-50%) translateY(-50%) rotate(-45deg);
	}

	.popbig01 {
		font-size: 1.5em;
		color: #13C1D3;
	}

	.timer_text {
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		width: 100%;
		margin: 0 auto 15px auto;
	}

	.timer {
		font-size: 20px;
		font-weight: bold;
		text-align: left;
		width: 100%;
		margin: 0 auto 15px auto;
		line-height: 1;
	}

	.timer01 {
		font-size: 22px;
		font-weight: bold;
		text-align: center;
		width: 100%;
		margin: 0 auto;
		line-height: 1;
	}

	.timer_text01 {
		font-size: 1.0em;
		font-weight: bold;
		text-align: center;
		width: 100%;
		margin: 0 auto 15px auto;
		line-height: 1.5;
	}

	.timer_text02 {
		font-size: 1.5em;
		font-weight: bold;
		text-align: center;
		width: 100%;
		margin: 25px auto 25px auto;
		line-height: 1;
		color: #13C1D3;
	}

	/*テストEND*/

	.onetime_popup_content {
		padding: 30px 0;
		text-align: center;
		line-height: 2;
	}

	.onetime_popup_content img {
		width: 100%;
	}

	.popbig01 {
		font-size: 1.5em;
		color: #13C1D3;
	}

	.modal {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 11000;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		transition: 0.3s ease-in-out;
	}

	.modal.close {
		visibility: hidden;
		opacity: 0;
	}

	.modal .onetime_popup_content {
		position: relative;
		padding: 40px 20px;
		margin: 0 auto;
		background: #fff;
		box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
		width: 90%;
	}

	.modal_close {
		position: absolute;
		top: 15px;
		right: 15px;
		width: 20px;
		height: 20px;
		cursor: pointer;
	}

	.modal_close:before,
	.modal_close:after {
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
		width: 25px;
		height: 2px;
		background: #000;
	}

	.modal_close:before {
		transform: translate(-50%, -50%) rotateZ(45deg);
	}

	.modal_close:after {
		transform: translate(-50%, -50%) rotateZ(-45deg);
	}



	.oubo_finish01 {
		color: #e91409;
		border: 2px #e91409 solid;
		margin: 0 auto;
		font-weight: 700;
		font-size: 16px;
		text-align: center;
		padding: 2% 5%;
	}

	.bt_finish01 {
		width: 80%;
		margin: 0 auto;
	}

	.bt_finish01 img {
		width: 100%;
	}





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　地方審査　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.des01 .jp {
		/* padding: 12vw 3vw; */
		background: url("../img/detail/detail_bg.png") right center/contain no-repeat;
	}

	.des01_text {
		padding: 3vw 0;
		font-size: 4vw;
		text-align: center;
		line-height: 2;
	}

	.pageDetail .info {
		width: 72vw;
		margin: 3vw auto 0;
		font-size: 4.5vw;
		text-align: center;
	}

	.pageDetail .info div {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 80%;
		/* height: 12vw; */
		padding-bottom: 1px;
		padding: 8px 15px;
		margin: 0 auto;
		border-radius: 6vw;
		background: #1d5094;
		color: #fff;
	}

	.pageDetail .info p {
		box-sizing: border-box;
		font-weight: bold;
		line-height: 1.5;
		padding-top: 4vw;
	}

	.des01 .btn_area {
		margin-top: 6vw;
	}

	.des01_comment {
		margin-top: 6vw;
		font-size: 4vw;
		line-height: 2;
	}

	.des01_comment span {
		position: relative;
		display: block;
		padding-left: 1em;
	}

	.des01_comment span:before {
		position: absolute;
		left: 0;
		content: "※";
	}



	.des02 {
		padding: 40px 0;
		background: #eeeeee;
	}

	.des02 .container {
		padding: 0 15px;
	}

	.tabcov {
		position: relative;
	}

	main #detail .tabWrap,
	main #award .tabWrap,
	main #detail2 .tabWrap {
		width: 100%;
		height: 60px;
		position: relative;
		z-index: 2;
		margin: 10px 0 8px;
		top: 8px;
		background-color: #1d5094;
		border-radius: 20px 20px 0 0;
		color: #fff;
	}

	main #detail .tabWrap,
	main #award .tabWrap,
	main #detail2 .tabWrap {
		overflow-x: auto;
		background-color: transparent;
		overflow-y: hidden;
		padding: 10px 0 0;
		-webkit-transform: translateY(4px);
		-ms-transform: translateY(4px);
		transform: translateY(4px);
		width: calc(100vw - 96px);
		margin-right: auto;
		margin-left: auto;
	}

	main #detail .tabArea,
	main #award .tabArea,
	main #detail2 .tabArea {
		height: 100%;
		white-space: nowrap;
	}

	main #detail .tabArea .tabBtn,
	main #award .tabArea .tabBtn,
	main #detail2 .tabArea .tabBtn {
		display: inline-block;
		vertical-align: top;
		height: 100%;
		width: 10.84%;
		text-align: center;
		font-size: 20px;
		font-weight: bold;
		position: relative;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		color: #fff;
		transition: none;
	}

	main #detail .tabWrap .tabArea .tabBtn,
	main #award .tabWrap .tabArea .tabBtn,
	main #detail2 .tabWrap .tabArea .tabBtn {
		width: auto;
		padding: 0 20px;
		-webkit-transform: translateY(10px);
		-ms-transform: translateY(10px);
		transform: translateY(10px);
		height: 46px;
		background-color: #1d5094;
	}

	main #detail .tabWrap .tabArea .tabBtn:first-of-type,
	main #award .tabWrap .tabArea .tabBtn:first-of-type,
	main #detail2 .tabWrap .tabArea .tabBtn:first-of-type {
		border-top-left-radius: 10px;
	}

	main #detail .tabArea .tabBtn.active,
	main #award .tabArea .tabBtn.active,
	main #detail2 .tabArea .tabBtn.active {
		height: 78px;
		border: 8px solid #1d5094;
		border-top-width: 8px;
		border-right-width: 8px;
		border-bottom-width: 8px;
		border-bottom-style: solid;
		border-bottom-color: rgb(247, 181, 0);
		border-left-width: 8px;
		border-bottom: none;
		border-bottom-width: medium;
		background-color: #ffffff;
		-webkit-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		transform: translateY(-10px);
		border-radius: 20px 20px 0 0;
		color: #231815;
	}

	main #detail .tabWrap .tabArea .tabBtn.active,
	main #award .tabWrap .tabArea .tabBtn.active,
	main #detail2 .tabWrap .tabArea .tabBtn.active {
		border-radius: 10px 10px 0 0;
		border-top-left-radius: 10px;
		height: 60px;
		border-width: 4px;
		background-color: #ffffff;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}

	main #detail .tabArea .tabBtn::before,
	main #award .tabArea .tabBtn::before,
	main #detail2 .tabArea .tabBtn::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 0;
		height: 100%;
	}

	main #detail .tabArea .tabBtn .btnInner,
	main #award .tabArea .tabBtn .btnInner,
	main #detail2 .tabArea .tabBtn .btnInner {
		line-height: 1;
		display: inline-block;
		vertical-align: middle;
	}

	.controlArea {
		position: absolute;
		left: 0;
		top: 15px;
		right: 0;
		width: 100%;
		height: 0;
	}

	main #detail .controlArea,
	main #award .controlArea,
	main #detail2 .controlArea {
		position: absolute;
		left: 0;
		top: 15px;
		right: 0;
		width: 100%;
		height: 0;
	}

	main #detail .controlArea .btn,
	main #award .controlArea .btn,
	main #detail2 .controlArea .btn {
		width: 40px;
		height: 40px;
		padding: 0;
		top: 20px;
		bottom: 0;
		border-radius: 0;
		background-color: #1d5094;
		position: absolute;
		z-index: 5;
		border: 0;
	}

	main #detail .controlArea .btn.next,
	main #award .controlArea .btn.next,
	main #detail2 .controlArea .btn.next {
		background: url("../img/detail/spIcnSprite02.png") center center/14px no-repeat;
		background-color: #1d5094;
		right: -10px;
	}

	main #detail .controlArea .btn.prev,
	main #award .controlArea .btn.prev,
	main #detail2 .controlArea .btn.prev {
		background: url("../img/detail/spIcnSprite03.png") center center/14px no-repeat;
		background-color: #1d5094;
		left: -10px;
	}




	main #detail .contentBox,
	main #award .contentBox,
	main #detail2 .contentBox {
		border: 4px solid #1d5094;
		padding: 24px 20px 20px;
		background-color: #ffffff;
		position: relative;
		z-index: 1;
	}

	main #detail .contentBox h3,
	main #award .contentBox h3,
	main #detail2 .contentBox h3 {
		position: relative;
		left: -35px;
		margin-right: -50px;
		text-align: left;
	}

	main #detail .contentBox h3 .ttlInner,
	main #award .contentBox h3 .ttlInner,
	main #detail2 .contentBox h3 .ttlInner {
		display: inline-block;
		vertical-align: middle;
		padding: 8px 10px;
		margin-right: 15px;
		background-color: #1d5094;
		color: #ffffff;
		font-size: 28px;
	}

	main #detail .contentBox .divisionWrap,
	main #award .contentBox .divisionWrap,
	main #detail2 .contentBox .divisionWrap {
		padding: 15px 0;
		margin-top: 15px;
	}

	.divisionWrap+.divisionWrap {
		border-top: 2px dashed #a0a0a0;
	}

	main #detail .contentBox .divisionWrap .division,
	main #award .contentBox .divisionWrap .division,
	main #detail2 .contentBox .divisionWrap .division {
		padding-top: 5px;
	}

	.divisionWrap .division::after {
		display: block;
		content: '';
		height: 0;
		clear: both;
	}

	main .divisionWrapPass .passTabWrapper {
		padding: 40px 0;
	}

	main .divisionWrapPass .passTabWrapper:first-child {
		padding-top: 0;
	}

	main .divisionWrapPass .passTabWrapper:last-child {
		margin-bottom: 0;
	}

	main .divisionWrapPass .passTabWrapper+.passTabWrapper {
		border-top: 1px dashed;
	}

	main .divisionWrapPass .passTabWrapper:last-child {
		margin-bottom: 0;
	}

	.passTabWrapper h4 {
		font-weight: 600;
		text-align: left;
		font-size: 24px;
		line-height: 1.5;
	}

	.passTabWrapper .passFlex {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper {
		width: 100%;
		margin-top: 40px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .passFlexTtl {
		width: 100%;
		text-align: left;
		line-height: 1.6;
	}

	main .divisionWrapPass .passTabWrapper h4 {
		font-weight: 600;
		text-align: left;
		font-size: 24px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		line-height: 2;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper dl * {
		font-weight: 400;
		font-size: 16px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper dl dt {
		font-weight: 600;
		min-width: 140px;
	}

	main #detail .contentBox .divisionWrap p.txt,
	main #award .contentBox .divisionWrap p.txt,
	main #detail2 .contentBox .divisionWrap p.txt {
		font-size: 13px;
	}

	.divisionWrap .division .ttl {
		font-size: 24px;
		font-weight: bold;
		float: left;
		line-height: 2;
	}

	.divisionWrap .division.profile .ttl {
		margin: 20px 0 30px;
		line-height: 1.3;
	}

	main #detail .contentBox .divisionWrap .division .ttl,
	main #award .contentBox .divisionWrap .division .ttl,
	main #detail2 .contentBox .divisionWrap .division .ttl {
		text-align: center;
		width: 100%;
		clear: both;
	}

	.fs20 {
		font-size: 20px;
	}

	main #detail .contentBox .divisionWrap .division .cont,
	main #award .contentBox .divisionWrap .division .cont,
	main #detail2 .contentBox .divisionWrap .division .cont {
		clear: both;
		width: 100%;
	}

	.profileArea .profileBox {
		display: inline-block;
		vertical-align: top;
		width: 100%;
		padding: 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	.profileArea .profileBox+.profileBox {
		margin-top: 40px;
		padding: 0;
	}

	.divisionWrap .column2,
	.divisionWrap .column3 {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.profileArea .imgArea {
		display: inline-block;
		vertical-align: middle;
		width: 120px;
	}

	.profileArea .imgArea img {
		width: 100%;
	}

	.profileArea .nameArea {
		display: inline-block;
		vertical-align: middle;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: calc(100% - 120px);
		padding-left: 20px;
		font-size: 14px;
		line-height: 1.8;
	}

	.profileArea .nameArea p {
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		margin-top: 10px;
	}

	.profileArea .profileBox .nameArea p {
		font-size: 20px;
	}

	.profileArea .btnArea {
		margin-top: 20px;
	}

	.profileArea .btn {
		display: inline-block;
		vertical-align: middle;
		background-color: #13C1D3;
		border: 2px solid #13C1D3;
		width: calc(100% - 20px);
		height: 50px;
		border-radius: 25px;
		padding: 0 40px 0 20px;
		text-align: left;
		overflow: hidden;
		position: relative;
		z-index: 1;
		cursor: pointer;
		color: #fff;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: background-color 0.2s ease;
		-o-transition: background-color 0.2s ease;
		transition: background-color 0.2s ease;
		margin: 0 10px;
	}

	.profileArea .btn:hover {
		background-color: transparent;
		color: #13C1D3;
	}

	.profileArea .btn.typeTgl {
		text-align: center;
	}

	.profileArea .btn::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 0;
		height: 100%;
	}

	.profileArea .btn::after {
		content: "";
		width: 10px;
		height: 15px;
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto;
		display: inline-block;
		vertical-align: middle;
		background: url("./img/detail/icnSprite.png") center center/auto no-repeat;
	}

	.profileArea .btn.typeTgl::after {
		width: 13px;
		height: 8px;
		-webkit-transition: -webkit-transform 0.3s ease;
		transition: -webkit-transform 0.3s ease;
		-o-transition: transform 0.3s ease;
		transition: transform 0.3s ease;
		transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	}

	.profileArea .btn:hover::after {
		background: url("./img/detail/icnSprite_on.png") center center/auto no-repeat;
	}

	.profileArea .btn.typeTgl.open::after {
		transform: rotate(180deg);
	}

	.profileArea .btn .btnInner {
		display: inline-block;
		vertical-align: middle;
		font-weight: bold;
		font-size: 18px;
		line-height: 1;
	}

	.profileArea .tglArea {
		display: none;
		margin-top: 20px;
	}

	.profileArea .tglArea h4 {
		text-align: left;
		font-size: 18px;
		line-height: 1;
	}

	.profileArea .tglArea .listBox {
		margin-top: 20px;
		font-size: 14px;
		line-height: 1.8;
	}

	main #detail .contentBox#division .column3 .columnInner,
	main #award .contentBox#division .column3 .columnInner,
	main #detail2 .contentBox#division .column3 .columnInner {
		width: 100%;
		text-align: center;
		border-radius: 6px;
		border: 2px solid #13C1D3;
		background-color: #ffffff;
		overflow: hidden;
	}

	.columnInner:not(:first-child) {
		margin-top: 20px;
	}

	main #detail .contentBox#division .column3 .columnInner h4,
	main #award .contentBox#division .column3 .columnInner h4,
	main #detail2 .contentBox#division .column3 .columnInner h4 {
		font-size: 20px;
		color: #ffffff;
		width: 100%;
		background-color: #13C1D3;
		line-height: 1;
		padding: 8px 0;
	}

	main #detail .contentBox#division .column3 .columnInner p,
	main #award .contentBox#division .column3 .columnInner p,
	main #detail2 .contentBox#division .column3 .columnInner p {
		display: table;
		width: 100%;
		font-size: 16px;
		height: auto;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		line-height: 2;
	}

	main #detail .contentBox#division .column3 .columnInner p .txt,
	main #award .contentBox#division .column3 .columnInner p .txt,
	main #detail2 .contentBox#division .column3 .columnInner p .txt {
		padding: 10px 20px;
		display: table-cell;
		vertical-align: middle;
	}

	.des02 .btn_area {
		padding: 0 15px;
	}





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　最終審査会　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.h_finalstage_active .des01 .btn_type02.width02 {
		font-size: 5vw;
	}

	.h_finalstage_active .title01 {
		font-size: 10vw;
	}

	.mes01 {
		padding: 12vw 3vw;
	}

	.mes01 img,
	.mes02 img,
	.mes03 img {
		width: 100%;
	}

	.dl_wrapper {
		padding: 20px 15px;
	}

	.mes03 .dl_wrapper {
		padding: 0;
	}

	.dl_wrapper dl {
		flex-direction: column;
		margin-bottom: 20px;
		line-height: 2;
	}

	.dl_wrapper dl dt {
		font-weight: 600;
		font-size: 18px;
	}

	.dl_wrapper dl dd {
		font-weight: 400;
	}

	.dl_wrapper .btn_area {
		margin-top: 10px;
	}

	.dl_wrapper dl dd .dl_flex {
		display: flex;
		flex-wrap: wrap;
	}

	.dl_wrapper dl dd .dl_flex .dl_flex_img {
		width: 50%;
		margin: 0 auto;
	}

	.dl_wrapper dl dd .dl_flex .dl_flex_desc {
		align-self: center;
		width: 100%;
	}




	.mes_title {
		padding: 40px 15px;
	}

	.mes_bg {
		padding: 40px 15px;
		background: #eee;
	}

	.mes02 .category:not(:last-child) {
		margin-top: 20px;
	}

	.mes02 .container .category .ttl {
		padding: 15px 0;
		background-color: #231815;
		color: #fff;
	}

	.mes02 .container .category .ttl h3 {
		line-height: 1.2;
		font-size: 20px;
		text-align: center;
	}

	.mes02 .container .category .ttl h3 .min_ttl {
		font-size: 15px;
	}

	.mes02 .container .category .messageList {
		margin-top: 20px;
		padding: 20px;
		display: flex;
		flex-wrap: wrap;
		background-color: #fff;
	}

	.mes02 .container .category .messageList .photo {
		max-width: 46%;
		width: 100%;
	}

	.mes02 .container .category .messageList .photo img {
		width: 100%;
	}

	.mes02 .container .category .messageList .profile {
		width: 50%;
		margin-left: 10px;
	}

	.mes02 .container .category .messageList .profile p {
		font-size: 12px;
		line-height: 1.4;
	}

	.mes02 .container .category .messageList .profile .name {
		font-size: 20px;
	}

	.mes02 .container .category .messageList .messageBtnArea {
		width: 55%;
		min-width: 200px;
		margin: 15px auto 0;
	}

	.messageBtnArea.peno,
	.btnArea .peno {
		position: relative;
		pointer-events: none;
	}

	.messageBtnArea.peno:after,
	.btnArea .peno:before {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2000;
		content: "coming soon";
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		border-radius: 40px;
		background: rgba(0, 0, 0, 0.7);
		color: #fff;
	}

	.mes02 .container .category .messageList .messageBtnArea a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100%;
		height: 40px;
		padding: 0 10px 0 0;
		border: 2px solid #13C1D3;
		border-radius: 39px;
		margin-bottom: 0;
		background-color: #13C1D3;
		color: #fff;
		font-size: 16px;
	}

	.mes02 .container .category .messageList .messageBtnArea a:hover {
		background-color: #fff;
		color: #13C1D3;
	}

	.mes02 .container .category .messageList .messageBtnArea .btn::before {
		content: "";
		position: absolute;
		top: 0;
		right: 20px;
		bottom: 0;
		width: 20px;
		height: 20px;
		margin: auto;
		border-radius: 20px;
		background-color: #fff;
	}

	.mes02 .container .category .messageList .messageBtnArea .btn::after {
		content: "";
		position: absolute;
		right: 26px;
		display: inline-block;
		box-sizing: border-box;
		width: 9px;
		height: 9px;
		border-top: 3px solid #13C1D3;
		border-right: 3px solid #13C1D3;
		background: none;
		transform: rotate(45deg);
	}




	main .kyosanPrize .kyosanCont .passTabWrapper .passFlex.flexWidth .detailArea .img {
		margin: 10px 0;
	}

	main .kyosanPrize .kyosanCont .passTabWrapper .passFlex.flexWidth .detailArea .img,
	main .kyosanPrize .kyosanCont .passTabWrapper .passFlex.flexWidth .detailArea .img img {
		width: 100%;
	}

	main .kyosanPrize .kyosanCompany {
		display: flex;
		align-items: center;
		width: 100%;
		margin: 20px 0;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}

	main .kyosanPrize .kyosanCompany.crown {
		margin: 10px 0 5px;
	}

	main .kyosanPrize .kyosanCompany img {
		width: 35%;
		max-width: 150px;
		border: 1px solid #ddd;
		margin: 0 20px 0 0;
	}

	main .kyosanPrize .kyosanCompany.crown img {
		border: none;
		-webkit-transform: scale(0.7);
		-ms-transform: scale(0.7);
		transform: scale(0.7);
		margin: 0 auto;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper dl.btnArea,
	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper ul.btnArea {
		margin-top: 20px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper dl *,
	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper ul * {
		font-weight: 400;
		font-size: 16px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper ul {
		display: grid;
		padding: 0 10px;
		gap: 20px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper .btnArea .btn {
		display: inline-block;
		vertical-align: middle;
		background-color: #13C1D3;
		border: 2px solid #13C1D3;
		height: 50px;
		border-radius: 25px;
		padding: 0 40px 0 20px;
		text-align: left;
		overflow: hidden;
		position: relative;
		z-index: 1;
		cursor: pointer;
		color: #fff;
		box-sizing: border-box;
		transition: background-color 0.2s ease;
		margin-bottom: 20px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper ul.btnArea .btn {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper .btnArea .btn:not(:last-child) {
		margin-bottom: 10px;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper .btnArea .btn:hover {
		background-color: #fff;
		color: #13C1D3;
	}

	main .divisionWrapPass.message .passTabWrapper .passFlex .dl_wrapper dl .btn {
		margin-bottom: 0;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper .btnArea .btn::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 0;
		height: 100%;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper .btnArea .btn::after {
		position: absolute;
		right: 20px;
		top: 50%;
		content: "";
		transform: translateY(-50%) rotateZ(45deg);
		width: 8px;
		height: 8px;
		border-top: 3px #fff solid;
		border-right: 3px #fff solid;
	}

	main .divisionWrapPass .passTabWrapper .passFlex .dl_wrapper .btnArea .btn:hover::after {
		border-color: #13C1D3;
	}

	main .message_info {
		text-align: center;
		font-size: 15px;
	}





	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　全国審査員メッセージ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/

	.mds {
		padding: 40px 0 40px;
		background: #eeeeee;
	}

	.mds_box {
		box-sizing: border-box;
		padding: 0 15px;
		font-weight: 500;
	}

	.mds_img {
		margin-bottom: 20px;
		flex-shrink: 0;
	}

	.mds_img img {
		width: 100%;
	}

	.mds_prof .category {
		margin-bottom: 1rem;
		font-size: 14px;
	}

	.mds_prof .category span {
		padding: 5px 10px;
		background-color: #231815;
		color: #fff;
		letter-spacing: 0.1em;
	}

	.mds_prof .company {
		font-size: 16px;
		line-height: 1.4;
	}

	.mds_prof .name {
		margin-bottom: 10px;
		padding-bottom: 10px;
		font-size: 24px;
		text-align: left;
		line-height: 1.5;
	}

	.mds_prof .introduction {
		font-size: 16px;
		line-height: 1.5;
	}

	.mds_message {
		margin-top: 40px;
		font-size: 16px;
		line-height: 1.7;
	}





	.slide {
		width: 90vw;
		margin: 0 auto 70px;
	}

	.slide>li:not(:first-child) {
		display: none;
	}

	.slide button {
		border: none;
		font-size: 0;
	}

	.slide .slick-arrow {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 33px;
		height: 33px;
		border-radius: 50%;
		z-index: 100;
		background: #fff;
		transform: scale(0.9);
		transition: background 0.3s ease-in-out;
	}

	.slide .slick-arrow.slick-prev {
		left: 10px;
	}

	.slide .slick-arrow.slick-next {
		right: 10px;
	}

	.slide .slick-arrow span {
		position: absolute;
		top: 50%;
		width: 13px;
		height: 13px;
	}

	.slide .slick-arrow.slick-prev span {
		left: 57%;
		transform: translate(-50%, -50%) rotateZ(-45deg);
	}

	.slide .slick-arrow.slick-next span {
		left: 43%;
		transform: translate(-50%, -50%) rotateZ(135deg);
	}

	.slide .slick-arrow span:before,
	.slide .slick-arrow span:after {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: #13C1D3;
	}

	.slide .slick-arrow span:before {
		width: 13px;
		height: 4px;
		border-radius: 0 3px 3px 0;
	}

	.slide .slick-arrow span:after {
		width: 4px;
		height: 13px;
		border-radius: 0 0 3px 3px;
	}

	.slide img {
		width: 100%;
	}

	.slide .slick-dots {
		position: absolute;
		bottom: -40px;
		left: 0;
		right: 0;
		text-align: center;
		line-height: 0;
	}

	.slide .slick-dots li {
		width: 10px;
		height: 10px;
		margin: 0 5px;
		padding-bottom: 10px;
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
	}

	.slide .slick-dots li button {
		border-radius: 50%;
		padding: 0;
		display: block;
		width: 100%;
		height: 100%;
		background-color: #231815;
		transition: background-color 0.3s ease;
	}

	.slide .slick-dots li.slick-active button {
		background: #13C1D3;
	}

	.keisan_award_list {
		display: flex;
		justify-content: center;
		gap: 3vw;
		margin-top: 8vw;
		font-size: 4.2vw;
		font-weight: 500;
	}

	.keisan_award_list li {
		position: relative;
		padding-left: 4vw;
	}

	.keisan_award_list li:before {
		content: "";
		position: absolute;
		top: 1vw;
		left: 1vw;
		bottom: 0;
		width: 1vw;
		height: 1vw;
		margin: auto;
		border-top: 2px solid #13C1D3;
		border-right: 2px solid #13C1D3;
		-webkit-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.keisan_award_list li a {
		color: #13C1D3;
		text-decoration: underline;
	}

	.pr_wrap:not(:last-child) {
		margin-bottom: 12vw;
	}

	.finel_mv01 {
		width: 100%;
		margin: 0 auto;
	}

	.finel_mv01 iframe {
		width: 100%;
		;
		height: 15em;
	}

	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　企画の立案方法　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
	.ideas {
		margin-bottom: 70px;
	}

	.ideas__container {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	.ideas__inner {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
	}

	.ideas__inner h2 {
		margin-bottom: 0.5em;
		font-size: 16px;
		color: #595757;
		background: linear-gradient(90deg, #595757 0%, #595757 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		text-align: center;
		margin-bottom: 0.5em;
	}
	/*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　期間延長告知ポップアップ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
#deadline-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 85%;
  max-width: 400px;
  transform: translate(-50%, -50%);
  background: #f0f8ff;           
  color: #333;                    
  padding: 50px 15px;
  display: none;                 
  z-index: 9999;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

#deadline-popup h2 {
  margin: 8px 0 12px;
  font-size: 23px;
  text-align: center;
  line-height: 1.4;
  color: #DA4220;
}

/* 閉じるボタン */
#deadline-popup .popup-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  border: none;
  color: #000;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  cursor: pointer;
  transition: color .2s ease;
}

#deadline-popup .popup-close:hover {
  color: red;
}

#deadline-popup .popup-close:focus {
  outline: 2px solid rgba(0,0,0,.4);
  outline-offset: 2px;
}


}

/* end */