@charset "UTF-8";

/* -------------------------------------------
common
------------------------------------------- */
.inline{ display:inline; }
.noshow{ display: none;}
.fontGold{ color:#b7ad7f; }
.caption{
	color:#678a62;
	font-size:12px;
	font-size:1.2rem;
	margin:5px 0;
}
a img{
		width:100%;
	}
.en{ color:#796a56; margin-bottom: 0 !important; font-family: 'Roboto', sans-serif; font-size: 94%; line-height: 1.5; }
/* ===============================
layout
=============================== */
body{
	font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 15px;
	}
header{
	width:100%;
	z-index:200;
	margin-bottom: 80px;
}
.wrap{
	width:100%;
	overflow: hidden;
}
#main{
	width:100%;
	z-index:2;
}
main{
	width:100%;
	margin:0 auto;
	z-index:3;
	text-align:left;
	position:relative;
	}
section{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	position:relative;
}
footer{
	width:100%;
	z-index:4;
	text-align:left;
}
footer section,
.inner{
	width:1000px;
	margin:0 auto;
}
/* -------------------------------------------
mv
------------------------------------------- */
#mv{
	background: url(../images/mv_bg.jpg) no-repeat 80% center / cover;
	height: 600px;
	position: relative;
}
#mv .logo{
	position: absolute;
	top:30px;
	right: 30px;
	width: 80px;
}
#mv h1{
	background: url(../images/logo_mirror.png) no-repeat 80% bottom / 200px auto;
	width:200px;
	height: 140px;
	overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
	position: absolute;
	bottom: 46%;
	right: 25%;
	margin-right: -100px;
}

/* -------------------------------------------
intro
------------------------------------------- */
.intro_ttl{
	width: 690px;
	margin: 0 auto;
}
.intro_desc{
	line-height: 2;
	margin-bottom: 30px;
	letter-spacing: 3px;
}

/* -------------------------------------------
size
------------------------------------------- */
#size{
	padding: 60px 0 100px;
	position: relative;
}
.size_main{
	width: 660px;
	margin: 0 auto;
}
.size_main img{
	width: 100%;
}
.ttl_small,
.ttl_big{
	overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
	z-index: 100;
	position: absolute;
	width: 180px;
	height: 60px;
}
.ttl_small{
	background: url(../images/small_txt.png) no-repeat center center/ 180px auto;
	top:100px;
	left: 10%;
}
.ttl_big{
	background: url(../images/big_txt.png) no-repeat center center/ 180px auto;
	top:100px;
	right: -40px;
}
.type_small,
.type_big{
	width: 140px;
	position: absolute;
}
.type_small img,
.type_big img{
	width: 100%;
	margin-bottom: 15px;
}
.type_small{
	bottom:110px;
	left: 0;
}
.type_big{
	bottom:110px;
	right: 0;
}

/* -------------------------------------------
creator
------------------------------------------- */
.frame_creator{
	width: 780px;
	position: relative;
	padding-top: 180px;
	margin-bottom: 100px;
}
.frame_mamoru{
	margin-left: 220px;
}
.ttl_mamoru,
.img_mamoru,
.ttl_pierre,
.img_pierre{
	position: absolute;
	z-index: 1;
}
.ttl_mamoru,
.ttl_pierre{
	z-index: 50;
}
.ttl_mamoru{
	background:#000 url(../images/mamoru_name.png) no-repeat center center/235px 43px;
	width:235px;
	height: 43px;
	overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
	top: 30px;
	right: 280px;
}
.img_mamoru{
	width: 320px;
	right: 0;
	top:0;
}

.ttl_pierre{
	background:#000 url(../images/pierre.png) no-repeat center center/150px 43px;
	width:150px;
	height: 43px;
	overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
	top: 30px;
	left: 260px;
}
.img_pierre{
	width: 320px;
	left: 0;
	top:0;
}
.frame_creator img{
	width: 100%;
}
.frame_creator .desc{
	width: 520px;
	box-sizing: border-box;
	padding: 20px;
	position:relative;
	z-index: 100;
	line-height: 1.7;
	letter-spacing: 2px;
	background: rgba(255,255,255,.65);
}
.frame_creator .desc p{
	margin-bottom: 20px;
}
.frame_pierre .desc{
	margin-left: 260px;
}

/* article
------------------------------------------- */
.main{
	color:rgba(0,0,0,.9);
	margin-top: 100px;
}
.inner h1{
	margin-bottom: 50px;
}
.row{
	position:relative;
	display:-moz-box;
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack:justify; /*--- IE10 ---*/
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap:no-wrap;
	-webkit-flex-wrap:no-wrap;
	-ms-flex-wrap:none; /*--- IE10用 ---*/
	}
.flex-center{
	-webkit-justify-content: center;
	justify-content: center;
	-ms-flex-pack: center; /*--- IE10 ---*/
}
.flex-start{
	-webkit-justify-content: flex-start;
	justify-content:flex-start;
	-ms-flex-pack: start; /*--- IE10 ---*/
}
.flex-wrap{
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap; /*--- IE10用 ---*/	
}
.flex-re{
	-webkit-flex-direction: row-reverse; /* Safari */
  flex-direction:         row-reverse;
}

.scale{
	position:relative;
	overflow: hidden;
}
a:hover .scale img{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	}

/* footer
------------------------------------------- */
footer{
	text-align: center;
	background: url(../images/footer_bg.jpg)no-repeat center center / cover;
	padding: 80px 0 0;
	color: #FFF;
	letter-spacing: 3px;
	text-indent: 3px;
}
footer .en{	color: #FFF; margin-top: 10px; }
footer .logo{
	margin:0 0 10px;
	float: none;
}
footer a{
	color: #FFF;
}
.footerLeft{
}
.footerLeft p{
}
footer .inner h1{
	font-size: 26px;
	font-weight: normal;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
	margin-bottom: 40px;
}
footer .inner h1 i{
	font-size: 13px;
	font-family: 'Roboto', sans-serif;
	display: block;
}

.copy{
	display: block;
	color:#FFF;
	text-align:center;
	padding: 60px 0 30px;
	font-family: 'Roboto', sans-serif;
}


/* =================================
=================================
===============================
SPスタイル
===============================
=================================
===================================*/

@media screen and (max-width: 1059px) {
	footer section,
	.inner{
		width:90%;
	}
	/* -------------------------------------------
	size
	------------------------------------------- */
	#size{
		padding: 20px 0 40px;
	}
	.size_main{
		width: 100%;
		margin: 0 auto 30px;
	}
	.ttl_small,
	.ttl_big{
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		z-index: 100;
		position: relative;
		width: 140px;
		height: 45px;
	}
	.ttl_small{
		background: url(../images/small_txt.png) no-repeat center center/ 140px auto;
		top:auto;
		left: auto;
	}
	.ttl_big{
		background: url(../images/big_txt.png) no-repeat center center/ 140px auto;
		top:auto;
		right: auto;
	}
	.type_small,
	.type_big{
		width: 46%;
		position: relative;
		display:-moz-box;
		display:-webkit-box;
		display:-ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-pack:justify; /*--- IE10 ---*/
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-wrap:no-wrap;
		-webkit-flex-wrap:no-wrap;
		-ms-flex-wrap:none; /*--- IE10用 ---*/
	}
	.type_small p,
	.type_big p{
		padding: 5px;
	}
	.type_small img,
	.type_big img{
		margin-bottom: 10px;
	}
	.type_small{
		bottom:auto;
		left:auto;
	}
	.type_big{
		bottom:auto;
		right:auto;
	}
	.ttl_frame,
	.type_frame{
		display:-moz-box;
		display:-webkit-box;
		display:-ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-pack:justify; /*--- IE10 ---*/
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-wrap:no-wrap;
		-webkit-flex-wrap:no-wrap;
		-ms-flex-wrap:none; /*--- IE10用 ---*/
	}
	.ttl_frame{
		margin-bottom: 12px;
	}
	.frame_mamoru{
		margin-left: auto;
	}
}

@media screen and (max-width: 767px) {
	header{
		margin-bottom: 40px;
	}
	.row{
		display: block;
	}
	/* ===============================
	layout
	=============================== */
	body{
		font-size: 14px;
		}
	header{
		margin-bottom: 40px;
	}
	/* -------------------------------------------
	mv
	------------------------------------------- */
	#mv{
		background:none;
		height:auto;
		position: relative;
	}
	#mv > img{
		width: 100%;
	}
	#mv .logo{
		top:10px;
		right: 10px;
		width: 60px;
	}
	#mv h1{
		position: relative;
		bottom: auto;
		right: auto;
		margin:30px auto 0;
	}

	/* -------------------------------------------
	intro
	------------------------------------------- */
	.intro_ttl{
		width: 100%;
		margin: 0 auto;
	}
	.intro_ttl img{
		width: 100%;
	}
	.intro_desc{
		line-height: 1.6;
		margin-bottom: 20px;
		letter-spacing: 1px;
	}

	/* -------------------------------------------
	size
	------------------------------------------- */
	.type_small,
	.type_big{
		width: 140px;
		display:block;
	}
	.type_small p,
	.type_big p{
		padding: 0;
	}
	/* -------------------------------------------
	creator
	------------------------------------------- */
	.frame_creator{
		width: 100%;

		padding-top: 0;
		margin-bottom: 40px;
	}
	.frame_mamoru{
		margin-left: 0;
	}
	.img_mamoru,
	.img_pierre{
		position:relative;
	}
	.ttl_mamoru{
		top: 10px;
		right: auto;
		left: 0;
	}
	.img_mamoru{
		width: 100%;
		right: auto;
		top:auto;
		margin-bottom: 20px;
	}
	.ttl_pierre{
		top: 10px;
		left: 0;
	}
	.img_pierre{
		width: 100%;
		left: auto;
		top:auto;
		margin-bottom: 20px;
	}
	.frame_creator .desc{
		width: 100%;
		padding: 0;
		line-height: 1.5;
		letter-spacing: 1px;
	}
	.frame_creator .desc p{
		margin-bottom: 20px;
	}
	.frame_pierre .desc{
		margin-left: 0;
	}

	.inner h1{
		margin-bottom: 30px;
	}

	/* footer
	------------------------------------------- */
	footer{
		padding: 40px 0 0;
		letter-spacing: 1px;
		text-indent: 1px;
	}
	footer section p{
		font-size: 12px;
		letter-spacing: 0;
		text-indent: 0;
	}
	.copy{
		padding: 30px 0;
	}
}


@media screen and (max-width: 479px) {
	/* 479px以下用（スマートフォン用）の記述 */
}
