@charset 'utf-8';


/*=======================================================
	ハグーン
=======================================================*/
.cont_base{ background-color: #fff; }
.main_header{ padding: 0; }

.header_hugoon{
	margin: 0;
	position: relative;
	width: 100%;
	min-height: 870px;
	background: url(../img/ttl_bg.jpg) no-repeat center top;
}
.ttl{
	padding: 40px 0 0;
	text-align: center;
	animation-name: bounceIn;
}
.hugoon_nav{ text-align: center; }
.hugoon_nav li a{
	margin: 10px;
	overflow: hidden;
	position: absolute;
	text-indent: 150%;
	white-space: nowrap;
}
.top{ display: none; }

.nav_about a{
	top: 292px;
	left: 41px;
	width: 260px;
	height: 201px;
	background: url(../img/nav01.png) no-repeat left top;
}
.nav_hug_story a{
	top: 445px;
	left: -12px;
	width: 259px;
	height: 200px;
	background: url(../img/nav02.png) no-repeat left top;
}
.nav_hugoon_profile a{
	top: 331px;
	right: 55px;
	width: 217px;
	height: 169px;
	background: url(../img/nav03.png) no-repeat left top;
}
.nav_supporter a{
	top: 466px;
	right: -8px;
	width: 259px;
	height: 201px;
	background: url(../img/nav04.png) no-repeat left top;
	position: relative;
	z-index: 2;
}

.nav_movie{
	overflow: hidden;
	position: absolute;
	top: 615px;
	left: 9px;
	width: 280px;
	height: 244px;
	text-indent: 150%;
	white-space: nowrap;
}
.nav_movie a{
	margin: 10px;
	display: block;
	width: 280px;
	height: 244px;
	background: url(../img/nav05.png) no-repeat left top;
	-webkit-transition: margin 0.2s;
	transition: margin 0.2s;
}
.nav_movie a:hover{
	margin-top: -0;
	text-decoration: none;
	-webkit-transition: margin 0.5s;
	transition: margin 0.5s;
}
.nav_game{
	overflow: hidden;
	position: absolute;
	top: 638px;
	right: 13px;
	width: 250px;
	height: 185px;
	text-indent: 150%;
	white-space: nowrap;
}
.nav_game a{
	margin: 10px;
	display: block;
	width: 250px;
	height: 185px;
	background: url(../img/nav06.png) no-repeat left top;
	-webkit-transition: margin 0.2s;
	transition: margin 0.2s;
	z-index: 1;
	position: relative;
}
.nav_game a:hover{
	margin-top: -0;
	text-decoration: none;
	-webkit-transition: margin 0.5s;
	transition: margin 0.5s;
}

.hugoon_nav li a{
	display: block;
	z-index: 10;
	-webkit-transition: margin 0.2s;
	transition: margin 0.2s;
}
.hugoon_nav li a:hover{
	margin-top: -0;
	text-decoration: none;
	-webkit-transition: margin 0.5s;
	transition: margin 0.5s;
}

.hugoon{
	padding-right: 15px;
	position: absolute;
	top: 350px;
	left: 5px;
	width: 100%;
	text-align: center;
}

.hugoon_nav.fixed ul{
	margin: 0 auto;
	position: fixed;
	z-index: 100;
	top: 0;
	right: 0;
	left: 0;
	width: 970px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.71);
	background-color: #3cabde;
	text-align: center;
}
.hugoon_nav.fixed ul li{
	display: inline-block;
	overflow: visible;
	position: static;
	width: auto;
	height: auto;
	background-image: none;
	color: #fff;
	text-indent: 0;
	white-space: normal;
}
.hugoon_nav.fixed ul li a{
	padding-left: 17px;
	display: block;
	overflow: visible;
	position: relative;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	background-image: none;
	color: #fff;
	font-size: 1.4rem;
	text-indent: 0;
	white-space: normal;
}
.hugoon_nav.fixed ul li a span{
	font-size: 1.2rem;
}
.hugoon_nav.fixed ul li a:hover{
	opacity: 0.8;
}
.hugoon_nav.fixed ul li.on a{
	border-bottom: 1px dotted #fff;
}

.hugoon_nav.fixed ul li a:after{
	content: ' ';
	margin: auto 0;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 12px;
	height: 7px;
	background: url(../img/fix_nav_arrow.png) no-repeat left  top;
}

.about_cont,
.hug_story_cont,
.hugoon_profile_cont,
.supporter_cont{
	margin-top: -40px;
	padding-top: 40px;
}

/* about */
.about_cont{
	text-align: center;
}
.about_cont p{
	margin: 0 0 40px;
	text-align: center;
}
.about_cont p.last_text{
	margin-bottom: 80px;
}

h2{
	padding: 20px 0 20px;
	font-size: 1.8rem;
	text-align: center;
}
.hugoon_profile .lead{
	margin: 0 auto 50px;
}

.profile_cont{
	margin: auto;
	padding: 0 0 50px;
	overflow: hidden;
	width: 870px;
	height: 602px;
	background: url(../img/hugoon_prof.jpg) no-repeat left top;
	text-indent: 100%;
	white-space: nowrap;
}

/*.hug_story_cont */
.hug_story_box{
	margin: 10px 0;
	padding-bottom: 60px;
	text-align: center;
}

.mfp-iframe-holder .mfp-content{
	max-width: 1450px;
}
.mfp-iframe-scaler iframe{
	left: -3px;
	border: 3px solid #fff;
	-webkit-box-shadow: 0 0 3px #96cbe2;
	box-shadow: 0 0 3px #96cbe2;
}
.mfp-iframe-holder .mfp-close{
	overflow: hidden;
	background: url(../img/popup_close.png) no-repeat 99% top;
	text-indent: 130%;
	white-space: nowrap;
}


/* hugoon_profile */
.hugoon_profile_cont{
	padding-right: 50px;
	padding-left: 50px;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.7;
}
.hugoon_profile_cont p{
	margin: 0 0 30px;
}
.hugoon_profile_cont .lead{
	margin: 40px 0 75px;
	text-align: center;
}


/* supporter */
.supporter_cont{
	padding-right: 50px;
	padding-bottom: 50px;
	padding-left: 50px;
	font-size: 1.5rem;
	text-align: left;
	line-height: 1.7;
}
.supporter_cont p{
	margin: 0 0 15px;
}
.supporter_profile{
	color: #4e4e4e;
	font-size: 1.3rem;
}
.supporter_img{
	margin-top: -90px;
}
.comment{
	margin-top: 40px;
	padding: 40px 50px 30px;
	border-radius: 25px;
	background: url(../img/comment_bg.png) repeat left top;
	color: #4e4e4e;
}

.supporter_cont .c_text{
	float: left;
	width: 585px;
}
.supporter_cont .hug_img{
	margin: -100px -220px -50px 0;
	float: right;
}
.hug_img img{
	margin: 10px 10px 0 0;
}

.hugoon_info{
	padding: 25px 25px 40px;
	border: 1px solid #fff;
	background-color: #eafbff;
}

/* 関連ページへのリンク */
.hugoon_info_ttl{
	margin: 0 0 15px;
}
.btn_pointcampaign{
	margin: 0 0 10px;
	padding: 0;
}
.hugoon_info a:hover{
	opacity: 0.8;
}


/* clearfix */
.c_wrap:after{
	content: ' ';
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	font-size: 0;
}


/* ===========================================
	MediaQueries
=========================================== */


/* PC----------------------------- */
@media screen and (min-width: 768px){
	.nav_about a:before{
		content: ' ';
		display: block;
		width: 260px;
		height: 201px;
		background: url(../img/nav01_on.png) no-repeat left top;
		opacity: 0;
	}
	.nav_hug_story a:before{
		content: ' ';
		display: block;
		width: 259px;
		height: 200px;
		background: url(../img/nav02_on.png) no-repeat left top;
		opacity: 0;
	}
	.nav_hugoon_profile a:before{
		content: ' ';
		display: block;
		width: 217px;
		height: 169px;
		background: url(../img/nav03_on.png) no-repeat left top;
		opacity: 0;
	}
	.nav_supporter a:before{
		content: ' ';
		display: block;
		width: 259px;
		height: 201px;
		background: url(../img/nav04_on.png) no-repeat left top;
		opacity: 0;
	}

	.nav_movie a:before{
		content: ' ';
		display: block;
		width: 280px;
		height: 244px;
		background: url(../img/nav05_on.png) no-repeat left top;
		opacity: 0;
	}
	.nav_game a:before{
		content: ' ';
		display: block;
		width: 250px;
		height: 185px;
		background: url(../img/nav06_on.png) no-repeat left top;
		opacity: 0;
	}

	.hugoon_nav li a:hover:before,
	.nav_movie a:hover:before,
	.nav_game a:hover:before{
		opacity: 1;
	}
	#brand_wrap  .hugoon_nav.fixed ul li a:before{
		content: none;
	}
}

/* スマホ----------------------------- */
@media screen and (max-width: 767px){
	main{
		margin: 0 0 40px;
	}
	.cont_base{
		background-color: #fff;
	}
	.main_header{
		padding: 0 10px 0;
		position: relative;
	}

	.header_hugoon{
		position: relative;
		min-height: 0;
		background: url(../img/s/ttl_bg.jpg) no-repeat center top;
		background-size: 100% auto;
	}
	.ttl{
		margin: 0 10% 4%;
		padding-top: 5%;
	}

	.hugoon_nav ul{
		margin: 0 5%;
		position: absolute;
		top: 23.5%;
		right: 0;
		left: 0;
	}
	.hugoon_nav li{
		margin: 0 -3% -8% 0;
		padding: 0;
		position: static;
		float: left;
		height: auto;
	}

	#brand_wrap .hugoon_nav li a{
		margin: 0;
		padding: 0 0 78%;
		position: static;
		width: 100%;
		height: 0;
		background-size: 100% auto;
	}

	#brand_wrap .hugoon_nav li a:before{
		content: none;
	}
	#brand_wrap .hugoon_nav li .br_sp{
		display: none;
	}

	.nav_about{
		width: 42%;
	}
	.nav_about a{
		background: url(../img/s/nav01.png) no-repeat left 5px;
	}
	#brand_wrap .hugoon_nav li.nav_hug_story{
		padding-left: 18%;
		clear: both;
		width: 40%;
	}
	#brand_wrap .hugoon_nav li.nav_hug_story a{
		padding: 0 0 98%;
		background: url(../img/s/nav02.png) no-repeat left 5px;
		background-size: 100% auto;
	}
	#brand_wrap .hugoon_nav li.nav_hugoon_profile{
		margin-top: 1%;
		width: 37%;
	}
	#brand_wrap .hugoon_nav li.nav_hugoon_profile a{
		padding: 0 0 92%;
		background: url(../img/s/nav03.png) no-repeat left 5px;
		background-size: 100% auto;
	}
	#brand_wrap .hugoon_nav li.nav_supporter{
		margin-top: -4%;
		width: 46%;
	}
	#brand_wrap .hugoon_nav li.nav_supporter a{
		padding: 0 0 102%;
		background: url(../img/s/nav04.png) no-repeat left 5px;
		background-size: 93% auto;
	}

	.nav_movie{
		margin: 1% 10px 0;
		position: static;
		width: auto;
		height: auto;
	}
	.nav_movie a{
		margin: 0;
		padding-bottom: 23%;
		width: 100%;
		height: 0;
		background: url(../img/s/nav05.png) no-repeat left top;
		background-size: 100% auto;
	}
	.nav_game {
		position: absolute;
		top: 53%;
		right: 5px;
		width: 30%;
		height: auto;
	}
	.nav_game a{
		margin: 0;
		padding-bottom: 80%;
		width: 100%;
		height: 0;
		background: url(../img/nav06.png) no-repeat left top;
		background-size: 100% auto;
		z-index: 1;
		position: relative;
	}

	#brand_wrap .hugoon_nav li a{
		-webkit-transition: background-position 0.2s;
		transition: background-position 0.2s;
	}
	#brand_wrap .hugoon_nav li a:hover{
		background-position: 0 0;
		-webkit-transition: background-position 0.5s;
		transition: background-position 0.5s;
	}

	#brand #brand_wrap .hugoon_nav.fixed ul{
		padding-bottom: 7px;
		display: flex;
		width: 100%;

		justify-content: center;
	}
	#brand #brand_wrap .hugoon_nav.fixed ul li{
		margin-top: 0;
		margin-right: 2%;
		padding: 0;
		display: flex;
		width: auto;
		text-align: center;
	}
	#brand #brand_wrap .hugoon_nav.fixed ul li:last-child{
		margin: 0;
	}
	#brand #brand_wrap .hugoon_nav.fixed ul li a:after{
		left: 0;
		width: 10px;
		height: 5px;
		background-size: 95% 100%;
	}

	#brand #brand_wrap .hugoon_nav.fixed ul li a{
		padding: 5px 3px 3px 12px;
		display: flex;
		position: relative;
		height: 41px;
		background: none;
		font-size: 1.0rem;
		text-align: center;
		line-height: 1.3;

		justify-content: center;
		align-items: center;
		align-content: center;
	}
	#brand #brand_wrap .hugoon_nav.fixed ul li a span{
		display: none;
	}
	#brand #brand_wrap .hugoon_nav.fixed li .br_sp{
		display: inline-block;
	}

	.hugoon{
		margin: 55% auto 0;
		position: static;
		z-index: 20;
		width: 70%;
	}
	.hugoon img{
		position: relative;
		z-index: 10;
	}

	.about_cont,
	.hug_story_cont,
	.hugoon_profile_cont,
	.supporter_cont{
		margin-top: -50px;
		padding-top: 50px;
	}

	/* about */
	h2{
		padding: 15px 0 10px;
	}
	.about_cont p.last_text{
		margin-bottom: 50px;
	}
	.about_cont{
		padding-right: 10px;
		padding-left: 10px;
	}
	.about_cont p{
		margin: 0 5px 35px;
	}
	.hugoon_about_header{
		margin: 0;
	}
	.profile{
		padding: 0 0 15px;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.about_cont .hugoon_about_img{
		margin: 0 -4% 10px;
	}

	/* supporter */
	.supporter_cont{
		padding-right: 10px;
		padding-bottom: 20px;
		padding-left: 10px;
	}
	.supporter_img{
		margin-top: -40px;
		width: 70%;
	}
	.comment{
		margin-top: 15px;
		padding: 20px 20px 20px 20px;
		position: relative;
		background-size: 60px auto;
		font-size: 1.4rem;
	}
	.supporter_cont .hug_img{
		margin: 0;
		float: right;
		width: 32%;
	}
	.hug_img img{
		margin: 0 auto 0;
		float: right;
	}
	/*.hug_story_cont */
	.hug_story_box{
		margin: 10px 0;
		padding-bottom: 30px;
	}

	/* hugoon_profile */
	.hugoon_profile_cont{
		padding-right: 10px;
		padding-left: 10px;
	}
	.hugoon_profile_cont p{
		margin: 0 0 10px;
	}
	.hugoon_profile_cont .lead{
		margin: 20px 7px 30px;
	}
	.profile_cont{
		margin: 0 -10px 0;
		padding: 0 0 455%;
		width: auto;
		height: 0;
		background: url(../img/s/hugoon_prof.jpg) no-repeat left top;
		background-size: 100% auto;
	}
	.supporter_cont .c_text{
		float: none;
		width: 100%;
	}
	.s_w75{
		width: 70%;
	}

	.hug_story_cont{
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
	}
	.mfp-container{
		padding: 0 6px 0 0;
	}
	.mfp-iframe-scaler iframe{
		left: 0;
	}

	.hug_story_cont2{
		margin: 0 10px 30px;
	}

	/* 関連ページへのリンク */
	.hugoon_info_ttl img{
		width: 150px;
	}
	.hugoon_info{
		padding: 20px 15px 30px;
	}

	.hugoon_nav ul:after{
		content: ' ';
		display: block;
		visibility: hidden;
		clear: both;
		height: 0;
		font-size: 0;
	}
}
