@charset "UTF-8";
/* CSS Document */

/* Common */

*{
	margin: 0;
	padding: 0;
	font-size: 100%;
}

html,body{
	position: relative;
	width: 100%;
	height: 100%;
	background-color: #fff;
	color: #000;
	text-align: left;
	font-family: 'Century Gothic', 'Avenir-Light', sans-serif , 'Hiragino Kaku Gothic ProN';
	font-size: 0.9em;
	-webkit-text-size-adjust: 100%;
}

#wrap{
     width: 100%;
     position: relative;
     height:auto !important; /*IE6対策*/
     height: 100%; /*IE6対策*/
     min-height: 100%;
}

.container /* フッターを下付けにするための記述 */
{
	padding-bottom: 350px;
}


/* Link style */

a{
	outline: none;
}

a:link{
	color: #000;
	text-decoration: none;
}

a:visited{
	color: #000;
}

a:hover{
	color: #a0a0a0;
}



/* button style */
.button {
	display: inline-block;
	width: 200px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	border: 1px solid #717171; 
}
.button::before,
.button::after {
	position: absolute;
	z-index: 0;
	display: block;
	content: '';
}

.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button:hover{
	background-color: #004384; 
	color: #fff;
}

.btn_color1{
	background-color: #fff;
}

.btn_color2{
	background-color: #ebebeb;
}


/* header */

header{
	position: fixed;
	width: 100%;
	height: 60px;
	z-index: 999;
	top: 0;
	background: rgba(255, 255, 255, 0.8);
}

h1 a{
	display: block;
	background-image: url(../img/header_logo.png);
	background-repeat: no-repeat;
	width: 100px;
	height: 30px;
	margin-top: 15px;
	margin-left: 50px;
	float: left;
}

h1 a:hover{
	background-position: 0 -30px;
}

h1 a span{
	display: none;
}

header nav{
	float: right;
	margin-top: 20px;
	font-size: 1.2em;
}

header nav ul{
	margin-right: 10px;
}

header nav li{
	display: inline;
	margin-right: 30px;
}

#language{
	margin-left: 20px;
}

header nav a{
	text-decoration: none;
}

header nav a#switch{
	color: #a5a5a5;
}

header nav a#switch:hover{
	color: #000;
}


/* contents */

.contents
{
	display: block;
	width: 880px;
	margin: 0 auto 0 auto; /* SERVICESの上の空き */
	text-align: center;
}

.contents p{	
	text-align: left;
	padding-bottom: 50px;
	width: 880px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	text-align: justify;
	text-justify: inter-ideograph;
}

.contents img{
	display: block;
	margin-left:auto;
	margin-right:auto;
}

.contents img.small{
	padding-bottom: 30px;
}

a.contents{
	display: block;
}

h2
{
	font-size: 2em;
	font-weight: normal;
	margin: 0px 2% 40px 2%;
	padding-bottom: 0px;
	line-height: 1.2em;
}

h3
{
	font-size: 1.2em;
	font-weight: normal;
	padding-top: 5px;
}

.br-pc { display:block; }
.br-sp { display:none; }
.space { display: inline; }

.client{
	width: 100%;
	margin: 20px auto 0 auto;
	padding-top: 0px;
	float: right;
}

.fade{
	opacity: 0;
	transition: .8s;
}

.mv02{
	opacity: 1.0;
}



/* navigation */

.page_nav{
	width: 880px;
	height: 27px;
	margin: 60px auto 0px auto;
	text-align: right;
}

.page_nav img{
	float: right;
	padding: 0 5px;
}

.page_nav_bottom{
	width: 880px;
	height: 27px;
	margin: 0px auto;
	padding-bottom: 30px;
	position: relative;
}

#thumbnail{
	width: 27px;
	margin: 0px auto;
}

.page_nav_bottom img#next {
	float: left;
}
.page_nav_bottom img#prev {
	float: right;
}

#invalid{
	opacity: 0.3;
}


/* contact */

.contact img
{
	margin-bottom: 20px;
}



/* footer */

footer
{
	height: 300px;
	width: 100%;
	position: absolute;
	bottom: 0;
	padding: 50px 0px 0px 0px;
	background-color: #717171;
	font-family: "Hiragino Kaku Gothic ProN", sans-serif;
	color: #FFF;
}

footer ul
{
	text-decoration: none;
}

footer ul.address
{
	float: left;
	font-size: 13px;
	padding-bottom: 50px;
}

footer li.media
{
	margin-bottom: 10px;
}

footer ul.media
{
	float: right;
	font-size: 13px;
	text-align: right;
}

footer a:link
{
	color: #FFF;
	text-decoration: none;
}

.box{
	padding-left: 50px;
}

.box img{
	margin-bottom: 2em;
}

.media{
	display: inline-block;
	padding: 1em 0em 2em 0em;
	font: 1em sans-serif;
}

.media img{
	float: left;
	width: 20px;
	height: 20px;
	margin: 5px 10px 10px 0px;
}

.media a{
	color: #FFF;
}

.media a:link{
	text-decoration: underline;
}

.media a:hover{
	opacity: 0.5;
}

.copyrights{
	clear: both;
	text-align: center;
}

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

	.contents
	{
		width: 100%;
		margin: 50px 0 0 0; /* SERVICESの上の空き */
	}
	
	.contents p{
		width: 90%;
		margin-right: 5%;
		margin-left: 5%;
		margin-top: 30px;
	}
	
	.page_nav{
		width: 95%;
		padding-right: 5%;
	}
	
	.page_nav_bottom{
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	

}

@media screen and ( max-width:880px ){
	
	.contents
	{
		margin: 30px 0 0 0; /* SERVICESの上の空き */
	}
	
	.contents p{
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	
	.contents img.fade{
		width: 100%;
		margin: 0;
	}
	
	.contents img.small{
		width: auto;
		margin-left:auto;
		margin-right:auto;
	}
	
	h2{
		font-size: 1.6em;
	}
	
	.fade{
		opacity: 1;
		transition: 0s;
	}
		
}



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

	header{
		position: fixed;
		width: 100%;
		height: 50px;
		z-index: 999;
		top: 0;
		background: rgba(255, 255, 255, 0.8);
	}
	
	h1 a{
		display: block;
		background-image: url(../img/header_logo_s.png);
		background-repeat: no-repeat;
		width: 80px;
		height: 24px;
		margin-top: 12px;
		margin-left: 20px;
	}
	
	h1 a:hover{
		background-position: 0 -24px;
	}
	
	.contents
	{
		margin: 70px 0 0 0; /* SERVICESの上の空き */
	}
	
	.page_nav{
		display: none;
	}
	
}


@media only screen and ( max-width:580px ){
	
	.container /* フッターを下付けにするための記述 */
	{
		padding-bottom: 240px;
	}
	
	.contents p{	
		padding-bottom: 30px;
	}
	
	.page_nav_bottom{
		padding-bottom: 50px;
	}
		
	footer{
		height: 230px;
		width: 100%;
		position: absolute;
		bottom: 0;
		padding: 20px 0px 25px 0px;
		font-size: 0.85em;
	}
	
	footer ul.address{
		padding-bottom: 25px;
	}
	
	.box{
		padding-left: 5%;
	}
	
	h3 img{
		width: 180px;
	}
	
	.box img{
		margin-bottom: 1em;
	}

}


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

	.contents img.small{
		width: 100%;
		margin: 0;
	}
	
	.br-pc { display:none; }
	.br-sp { display:block; }
	
	.space { display:none; }
	
	
}