@charset "UTF-8";


/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// 公募内容 //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#koubo
{
	padding-top: 0;
	padding-bottom: max(3rem, 5vw);
	font-size: clamp(1.1rem, 2vw, 1.5rem);
}

#koubo figure
{
	width: 100%;
	height: calc(100vw * 2 / 5);
}

#koubo figure img
{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: 50% 60%;
}

#koubo figure h1
{
	display: inline-block;
	font-size: clamp(1.2rem, 3vw, 2rem);
	padding: .5em 1em;
	top: 1em;
	background-color: rgb(255, 255, 255);
}

#koubo figure h1 span
{
	display: block;
	font-size: max(.8rem, .5em);
}

#koubo .wrapper
{
	margin-top: -4vw;
}

#koubo .contents
{
	display: flex;
	justify-content:center;
}

#koubo .contents > div
{
	display: flex;
	flex-direction:column;
	align-items: flex-start;
}

#koubo .title_tb
{
	font-size: clamp(2rem, 4vw, 3rem);
}

#koubo p + p
{
	margin-top: .25em;
}

#koubo p._b
{
	padding-left: 1em;
}

#koubo .sec + .sec
{
	margin-top: 1.5em;
}


/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// 公募内容 //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#details
{
	padding-top: max(3rem, 5vw);
	padding-bottom: max(3rem, 5vw);
	font-size: clamp(1.1rem, 3vw, 1.3rem);
}

#details .sec + .sec
{
	margin-top: 3em;
}

#details h3
{
	transform: translateX(-.5em);
	margin-bottom: 1em;
}

#details .cat
{
	margin-top: 2em;
}

#details .title
{
	display: flex;
	align-items:center;
	padding-bottom: .5em;
	margin-bottom: .5em;
	border-bottom: 1px solid;
}

#details .title .num
{
	flex-shrink: 0;
	font-size: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5em;
	height: 1.5em;
	color: rgb(240, 240, 240);
	margin-right: .5em;
}

#details .title .num:before
{
	content:"";
	display: block;
	position:absolute;
	width: 100%;
	height:100%;
	border-radius: 50%;
	background-color: rgb(0, 105, 62);
}

#details .title h4
{
	font-size: 1.5em;
	display: flex;
	flex-wrap:wrap;
}

#details .caution
{
	margin-top: 1em;
	font-size: max(.8rem, .8em);
}

/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// 公募概要 //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#overview
{
	padding-top: max(3rem, 5vw);
	padding-bottom: max(3rem, 5vw);
	font-size: clamp(1.1rem, 3vw, 1.3rem);
}

#overview .sec
{
	display: flex;
	flex-direction:column;
	align-items: flex-start;
}

#overview .sec + .sec
{
	margin-top: 1.5em;
}

#overview h4
{
	font-size: max(1rem, .8em);
	line-height: 1;
	margin-bottom: .5em;
	border: 1px solid;
	min-width: 10em;
	text-align: center;
	padding: .5em 1em;
}

#overview .add p
{
	display: flex;
	flex-wrap: wrap;
}

#overview .add p + p
{
	margin-top: .25em;
}

#overview .caution
{
	font-size: max(.8rem, .8em);
}

#overview a.pdf,
#overview a.doc,
#overview a._uc
{
	width: 100%;
	font-size: 1.2em;
	margin-top: 1em;
}

a._uc
{
	pointer-events: none;
	filter:alpha(opacity=30);
	-moz-opacity: .3;
	opacity: .3;
}

/*//////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// 現地見学会 //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#study_tour
{
	padding-top: max(3rem, 5vw);
	padding-bottom: max(3rem, 5vw);
	font-size: clamp(1.1rem, 3vw, 1.3rem);
}

#study_tour .sec
{
	display: flex;
	flex-direction:column;
	align-items: flex-start;
}

#study_tour .sec + .sec
{
	margin-top: 1.5em;
}

#study_tour h3
{
	font-size: max(1rem, .8em);
	line-height: 1;
	margin-bottom: .5em;
	border: 1px solid;
	min-width: 10em;
	text-align: center;
	padding: .5em 1em;
}

#study_tour .add p
{
	display: flex;
	flex-wrap: wrap;
}

#study_tour .add p + p
{
	margin-top: .25em;
}

#study_tour .caution
{
	font-size: max(.8rem, .8em);
}

#study_tour a.blank
{
	width: 100%;
	font-size: 1.2em;
	margin-top: 1em;
}


/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// 南飛騨 ////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#yuya_school
{
	padding-top: max(3rem, 5vw);
	padding-bottom: max(3rem, 5vw);
	font-size: clamp(1.1rem, 3vw, 1.3rem);
}

#yuya_school .desc p + p
{
	margin-top: .5em;
}

#yuya_school .overview p span:nth-of-type(1)
{
	font-size: max(.8em, .9rem);
	white-space: nowrap;
}

#yuya_school .overview p span:nth-of-type(1):after
{
	content: "｜";
}

#yuya_school h3
{
	margin-bottom: 1em;
}

#yuya_school h3 .credit
{
	font-size: max(.5em, .8rem);
}

#yuya_school .photo_wrapper
{
	padding: max(4rem, 4vw) 0 max(2rem, 3vw);
}

#yuya_school .photo_wrapper + .photo_wrapper
{
	padding-top: 0;
}

#yuya_school .photo
{
	display: flex;
	flex-wrap: wrap;
	margin: -1rem;
}

#yuya_school .photo figure
{
	width: calc(100% / 3 - 2rem);
	margin: 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#yuya_school .photo figure img
{
	cursor: zoom-in;
	width: 100%;
	height: auto;
}

#yuya_school figcaption
{
	margin-top: 1em;
	font-size: max(.5em, .8rem);
}

#yuya_school .google_view
{
	width:calc(100% / 3 * 2 - 1rem);
	aspect-ratio: 8 / 6;
	margin-bottom: 2em;
}

#yuya_school .map
{
	width:100%;
	aspect-ratio: 2 / 1;
}

#yuya_school .google_view iframe,
#yuya_school .map iframe
{
	width: 100%;
	height: 100%;
}


/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (orientation: portrait)
{
	#top_bg
	{
		top: 20%;
		left: 0;
		height:65%;
	}
	
	#top_1
	{
		aspect-ratio:810 / 450;
		width: min(75%, calc(30vh * 810 / 450));
		top: 5%;
		left: 2rem;
		right: auto;
		background-image: url(../_img/teaser/top_p_1.svg);
	}
	
	#top_2
	{
		aspect-ratio:85 / 585;
		width: min(25%, calc(30vh * 85 / 585));
		top: 5%;
		left: auto;
		right: 2rem;
		background-image: url(../_img/teaser/top_p_2.svg);
	}
	
	#top_3
	{
		aspect-ratio:480 / 610;
		width: min(50%, calc(35vh * 480 / 610));
		top: 40vh;
		left: auto;
		right: 2rem;
	}
	
	#top_4
	{
		aspect-ratio: none;
		height: min(15vh, calc(90vw * 205 / 955));
		width:100%;
		left: 0;
		top: auto;
		bottom: 2rem;
		background-image: url(../_img/teaser/top_p_4.svg);
	}
}

@media screen and (max-width: 900px)
{
	#yuya_school .photo figure
	{
		width: calc(100% / 2 - 2rem);
	}
	#yuya_school .google_view
	{
		width:100%;
	}
}

@media screen and (max-width: 650px)
{
	#yuya_school .photo figure
	{
		width: calc(100% / 1 - 2rem);
	}
}