@charset "UTF-8";

#footer
{
	background-color: rgb(240, 240, 240);
}
body:after
{
	background-color: rgb(240, 240, 240);
}

/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// contact /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#contact
{
	padding: 0rem 2rem max(5vw, 5rem);
	margin-bottom: max(5vw, 5rem);
}

/* くるくるローダー */
.loader
{
	position:absolute;
	height:100%;
	width:100%;
	top: 0px;
	left:0px;
}

.loader:after
{
	content: ""; 
	display: block;

	box-sizing:border-box;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 5px solid rgb(140, 140, 140);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

@keyframes circle-spin
{
	0%
	{
		transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*0%の時は20％の透明度*/
	50%
	{
		transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	} /*50%の時は透明度なし*/
	100%
	{
		transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*100%の時に20％の透明度に戻る*/
}

/**********************************************************************/
/******************************* cresd ********************************/
/**********************************************************************/

#cresd
{
	background-color: rgb(240, 240, 240);
	padding: max(5vw, 2rem) 2rem;
	margin-bottom: max(5vw, 5rem);
}

#cresd > div
{
	display:flex;
	align-items: flex-start;
	justify-content: space-between;
	max-width: 900px;
	margin: 0 auto;
}

#cresd .logo
{
	width: calc(50% - 2rem);
	aspect-ratio: 500 / 75;
	background-size:cover;
	background-image: url(../_img/cresd.svg);
	margin-right: 2rem;
}

#cresd .desc
{
	width: calc(50% - 2rem);
}

#cresd .link
{
	font-family: R-R, GG-R, sans-serif;
	display: flex;
	justify-content:center;
	align-items:center;
	width: 100%;
	margin-top: 1rem;
	background-color: white;
	padding: .5em 1em;
}

#cresd .dir
{
	margin: 1em 0;
}


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

@media screen and (max-width: 900px)
{
	#contact
	{
		flex-direction: column;
	}
	#page_menu
	{
		width: 100%;
		flex-direction: row;
		justify-content: center;
		margin-left: -1em;
		flex-wrap: wrap;
		position: relative;
		margin-bottom: max(5rem, 5vw);
	}
	#page_menu a.dir
	{
		margin-top: 1em;
		margin-left: 1em;
	}
	#main
	{
		width: 100%;
		padding-left: 0rem;
		padding-right: 0rem;
	}
	#main .description,
	.process_wrapper
	{
		padding-left: 2rem;
	}
}

@media screen and (max-width: 600px)
{
	#main .process .contents
	{
		flex-direction: column;
	}
	#main .process .contents > div:not(.dir)
	{
		width: 100%;
	}
	
	#main .process .contents div.dir
	{
		width: 100%;
		height: 5rem;
	}
	#main .process .contents div.dir:after
	{
		transform:rotate(135deg);
	}
	
	#cresd > div
	{
		flex-direction: column;
	}
	#cresd .logo,
	#cresd .desc
	{
		width: 100%;
	}
	#cresd .logo
	{
		max-width: 20rem;
		margin-bottom: 2rem;
	}
}