@charset "utf-8";

/* ********** COMMON ********** */

/* micro Clearfix */
.cf:before,.cf:after {content:"";display:table;}
.cf:after {clear:both;}
.cf {*zoom:1;}

*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
::selection {
	background: #ecf0f1;
}
::-moz-selection {
	background: #ecf0f1; /* Firefox */
}
ul, ol {
	list-style-type: none;
}
a:link {
	padding: 0.2em 0.2em 0.1em 0;
}
a:link, a:visited {
	color: rgb(0,0,0);
	text-decoration: none;
	border-bottom: 1px solid #e74c3c;
	box-shadow: #e74c3c 0px 0em 0px 0px inset, #e74c3c 0em 0px 0px 0px, #e74c3c 0em 0px 0px 0px;
	transition: all 0.2s ease-in-out 0s;
}
a:hover {
	color: rgb(255,255,255);
	text-decoration: none;
	box-shadow: #e74c3c 0px -1.5em 0px 0px inset, #e74c3c -0.5em 0px 0px 0px, #e74c3c 0.5em 0px 0px 0px;
}

html {
	font-size: 62.5%;
}
body {
	color: #000;
	background: #f2f2f2;
	font-size: 1.3rem;
	font-family: 'Lato', 'メイリオ', sans-serif;
	font-weight: 400;
	line-height: 1.6;
}

.wrapper {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 5%;
	background: #fff;
}

header {
	width: 100%;
	max-width: 1400px;
	height: 500px;
	margin: 0 auto;
	padding: 5%;
	background-color: #000;
	background-repeat: no-repeat;
	background-position: left top;
	line-height: 1.0;
}
header h1 {
	color: #fff;
	font-size: 13.0rem;
	font-weight: 100;
}
header h1 a:link, header h1 a:visited {
	color: rgb(255,255,255);
	text-decoration: none;
	transition: all 0.2s ease-in-out 0s;
}
header p {
	padding: 0.5em 0 0 0;
	text-indent: 0.3em;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 300;
}
header p a:link, header p a:visited {
	color: rgb(255,255,255);
	text-decoration: none;
	transition: all 0.2s ease-in-out 0s;
}

/*
header .main_img {
	width: 100%;
	max-width: 1400px;
	height: 500px;
	background-color: #000;
	background-repeat: no-repeat;
	background-position: left top;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 999;
}
header h1 {
	padding: 5%;
	color: #fff;
	font-size: 10.0rem;
	font-weight: 400;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1000;
}
*/

.column {
	float: left;
	width: 25%;
	padding: 0 5% 10% 0;
}
.column h2,
.double_column h2 {
	min-height: 130px;
	padding: 0 0 30% 0;
	font-size: 2.0rem;
	font-weight: 300;
}
.column .heading_img img {
	margin: 0 0 10% 0;
	width: 100%;
	height: auto;
}
.column h3,
.double_column h3 {
	margin: 0 0 5% 0;
	font-size: 2.0rem;
	font-weight: 300;
}

.column dt,
.double_column dt {
	border-top: 1px solid #000;
}
.column dd,
.double_column dd {
	padding: 0 0 5% 0;
	text-align: justify;
}
.column dd:last-of-type,
.double_column dd:last-of-type {
	padding: 0 0 10% 0;
}
.column .notes {
	border-top: 2px solid #000;
	margin: 10% 0 0 0;
	text-align: justify;
}

.double_column {
	float: left;
	width: 50%;
	padding: 0 5% 10% 0;
}

.main_text p {
	padding: 0 0 1em 0;
	text-align: justify;
}

.back_to_home {
	clear: both;
}
footer {
	clear: both;
	padding: 5% 0 0 0;
}
footer .pagetop {
	text-align: center;
	padding: 0 0 0.5em 0;
}
footer .pagetop a {
	/*border-top: 0px solid #e74c3c;*/
}
footer .pagetop a:hover {
	/*border-top: 5px solid #e74c3c;*/
	background: #fff;
}
footer .copyright {
	padding: 1em 0 0 0;
	border-top: 1px solid #000;
}


/* ********** HOME ********** */

.graphics dt,
.euproduct dt {
	float: left;
	clear: both;
	width: 25%;
	padding: 0 5% 0 0;
}
.graphics dd,
.euproduct dd {
	border-top: 1px solid #000;
	float: left;
	width: 75%;
}

.fonts dt {
	margin: 0 0 5% 0;
	font-size: 2.0rem;
	font-weight: 300;
	border-top: 0px solid #000;
}
.fonts dd {
	padding: 0 0 10% 0;
	border-top: 1px solid #000;
}
.fonts dd p {
	margin: 0.5em 0 0 0;
	padding: 0 0 0 5%;
	text-align: left;
	background-image: linear-gradient(
		45deg,
		#fff 25%,
		#f2f2f2 25%, #f2f2f2 50%,
		#fff 50%, #fff 75%,
		#f2f2f2 75%, #f2f2f2
		);
	background-size: 10px 10px;
}
.fonts .notes em {
	color: #e74c3c;
	font-style: normal;
	font-size: 1.8rem;
	font-weight: 400;
}

/* ********** GRAPHICS 2001 ********** */

#graphics2001 header {
	background: -moz-radial-gradient(circle farthest-side, #111, #111 50%, #000 50%, #000);  
	background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 9, from(#111), color-stop(50%, #111), color-stop(50%, #000), to(#000));
	background: radial-gradient(circle farthest-side, #111, #111 50%, #000 50%, #000);
	-moz-background-size: 100px 100px;
	-webkit-background-size: 100px 100px;
	background-size: 100px 100px;
}


/* ********** FONT x FAN ********** */

#font_x_fan header {
	background: #e4007f;
}
#font_x_fan figure img {
	float: left;
	padding: 0 5% 5% 0;
	width: 50%;
	height: auto;
}

#font_x_fan a:link, 
#font_x_fan a:visited {
	border-bottom: 1px solid #e4007f;
}
#font_x_fan a:hover {
	box-shadow: #e4007f 0px -1.5em 0px 0px inset, #e4007f -0.5em 0px 0px 0px, #e4007f 0.5em 0px 0px 0px;
}

@font-face {
    font-family: 'M+ 1c thin';
    src: url('../res/mplus-1c-thin-sub.eot');
    src: url('../res/mplus-1c-thin-sub.eot?#iefix') format('embedded-opentype'),
    url('../res/mplus-1c-thin-sub.woff') format('woff'),
    url('../res/mplus-1c-thin-sub.ttf') format('truetype');
}

#font_x_fan header h1 {
	font-family: 'M+ 1c thin', 'Lato', 'メイリオ', sans-serif;
	/*font-weight: 300;*/
}
#font_x_fan header h1 .jp {
	font-size: 90%;
}





@media screen and (max-width: 768px) {
	a:link, a:visited {
		border-bottom: 1px solid #e74c3c;
	}
	.main_img {
		background-position: center top;
	}
	header h1 {
		font-size: 500%;
		font-weight: 100;
	}
	header p {
		text-indent: 0;
	}
	.column {
		float: left;
		width: 50%;
		padding: 0 2.5% 10% 0;
	}
	.column:nth-of-type(even) {
		float: left;
		width: 50%;
		padding: 0 0 10% 2.5%;
	}
	.double_column {
		float: none;
		width: 100%;
		padding: 0 0 10% 0;
	}
}

@media screen and (max-width: 480px) {
	a:hover {
		color: #000;
	}
	header h1 {
		font-size: 300%;
		font-weight: 300;
	}
	.column {
		float: none;
		width: 100%;
		padding: 0 0 10% 0;
	}
	.column:nth-of-type(even) {
		float: none;
		width: 100%;
		padding: 0 0 10% 0;
	}
}