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

.v_pc {
	display: block;
}

.v_sp {
	display: none;
}

.wrapper_gn2 {
	width: 640px;
	margin: 0 auto;
	padding: 0;
}

.wrapper_gn2 img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.header_gn {
	width: 100%;
	margin: 0;
	padding: 0;
}

.header_gn img{
	width: 100%;
	height: auto;
	vertical-align: middle;
	margin: 0;
	padding: 0;
}

/*フッター*/
.footer {
	width:100%;
	margin:45px auto;
	padding:0;
}

.footer img {
	width:100%;
	height:auto;
	vertical-align:middle;
}

.footer dl {
	width:100%;
	margin:0;
	padding:0;
	float:left;
}

.footer dl dt{
	width:96%;
	font-size:18px;
	font-weight:bold;
	margin:0;
	padding:2%;
	color:#FFFFFF;	background-color:#5C3100;
}

.footer dl dd{
	width:96%;
	font-size:12px;
	margin:0;
	padding:2%;
	letter-spacing:.12em;
	line-height:2em;
	text-align:justify;
}

.footer_new {
	width:100%;
	padding:0;
	margin:0 auto;
}

.footer_new img{
	width:100%;
	height:auto;
	vertical-align:middle;
}

.logo {
	width:100%;
	background: url(../img/footer_bg.jpg) bottom center no-repeat;
	background-size: contain;
}

.logo img{
	width:37%;
	height: auto;
	vertical-align: middle;
}



#page-top {
position: fixed;
bottom: 20px;
right: 20px;
font-size: 77%;
}

#page-top a {
background:#E97FA8;
text-decoration: none;
color: #fff;
width: 100px;
padding: 30px 0;
text-align: center;
display: block;
border-radius: 5px;
}

#page-top a:hover {
text-decoration: none;
background: #999;
}

.sns_box {
	width: 100%;
}

.sns_box img{
	width: 50%;
	height: auto;
	vertical-align: middle;
	float: left;
}

.fancybox-content {
	padding: 10px !important;
}

.modals {
	width: 640px;
	height: auto;
}

.modals img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.modals p{
	display: block;
	margin: 10px 0 0 0;
	font-size: 14px;
	height: auto;
}


video#bgvid_key_pc
{
  position: relative; right: 0; bottom: 0;
  margin: 0 auto 40px;
  width: 100%; height: auto;
}


/*HTML 5 サポート - 新しい HTML 5 タグを display:block に設定します。これにより、ブラウザーでタグが適切にレンダリングされます。 */
header, section, footer, aside, nav, article, figure {
	display: block;
	vertical-align:middle;
}

/* clearfix */
/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}
 
 
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

.br:before {
}






/* For smartphone */
@media screen and (max-width: 768px) {
	
.v_pc {
	display: none;
}

.v_sp {
	display: block;
}

.wrapper_gn2 {
	width: 100%;
	margin: 0;
	padding: 0;
}

.wrapper_gn2 img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
	
	
.footer {
	width:100%;
	margin:45px auto;
	padding:0;
}

.footer img {
	width:100%;
	height:auto;
	vertical-align:middle;
}

.footer dl {
	width:100%;
	margin:0;
	padding:0;
	float:left;
}

.footer dl dt{
	width:96%;
	font-size:18px;
	font-weight:bold;
	margin:0;
	padding:2%;
	color:#FFFFFF;	background-color:#5C3100;
}

.footer dl dd{
	width:96%;
	font-size:12px;
	margin:0;
	padding:2%;
	letter-spacing:.12em;
	line-height:2em;
	text-align:justify;
}

.footer_new {
	width:100%;
	padding:0;
	margin:0 auto;
}

.footer_new img{
	width:100%;
	height:auto;
	vertical-align:middle;
}


.logo {
	width:100%;
	margin:0;
	padding:0;
	height:80px;
	background: none;
	text-align:center;
}


/**/

#page-top {
position: fixed;
bottom: 10px;
right: 10px;
font-size: 75%;
}

#page-top a {
background:#E97FA8;
text-decoration: none;
color: #fff;
width: 50px;
padding: 10px 0;
text-align: center;
display: block;
border-radius: 25px;
}
	

.modals {
	width: 90%;
	height: 500px;
}

.modals img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.modals p{
	display: block;
	margin: 10px 0 0 0;
	font-size: 14px;
	height: 180px;
	overflow: auto;
}

	
.fancybox-content {
	padding: 10px !important;
}

	
.sns_box {
	width: 100%;
}

.sns_box img{
	width: 50%;
	height: auto;
	vertical-align: middle;
	float: left;
}
	
}

	