@charset "UTF-8";

/*━━━━━━━━━━━━━━
▼基本部分
━━━━━━━━━━━━━━━*/
body {
	min-width: 960px;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", "MS Gothic", monospace;
	font-size: 18px;
	line-height: 30px;
	color: #71513a;
	background: #fff url(../gra/bg.png) repeat fixed;
}
a {
	color: #3399cc;
	transition: color 0.3s;
}
a:hover {
	color: #ee781f;
}

#overflow {
	width: 100%;
	min-width: 960px;
	overflow: hidden;
}
/*━━━━━━━━━━━━━━━
▼ローディングと入口
━━━━━━━━━━━━━━━*/
/*フィルター*/
#loading_filter {
	background-color: #fff;
	width: 100%;
	height: 100%;
	z-index: 100;
	position: fixed;
	top: 0;
	left: 0;
}
#loading_box {
	width: 180px;
	height: 180px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	text-align: center;
	display: none;
	/*background-color: #ffc;*/
	border-radius: 100px;
	border: 4px dotted #fdc686;
	overflow: hidden;
}
#loading_box.in {
	animation: loading_in 0.3s linear 0s 1 normal;
	-webkit-animation-name: loading_in;
	-webkit-animation-duration: 0.3s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
@keyframes loading_in {
	0%  {transform: translate(0, 0); opacity: 0;}
	100%{transform: translate(0, 0); opacity: 1;}
}
@-webkit-keyframes loading_in {
	0%  {-webkit-transform: translate(0, 0); opacity: 0;}
	100%{-webkit-transform: translate(0, 0); opacity: 1;}
}
#loading_box.out {
	animation: loading_out 0.6s linear 0s 1 normal;
	-webkit-animation-name: loading_out;
	-webkit-animation-duration: 0.6s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
@keyframes loading_out {
	0%  {transform: translate(0, 0); opacity: 1;}
	100%{transform: translate(0, 0); opacity: 0;}
}
@-webkit-keyframes loading_out {
	0%  {-webkit-transform: translate(0, 0); opacity: 1;}
	100%{-webkit-transform: translate(0, 0); opacity: 0;}
}

#loading_box .box {
	width: 60px;
	height: 60px;
	background-color: #ea5e73;
	margin: 50px auto 25px;
	position: relative;
	animation: anime_load 1.5s linear 0s infinite normal;
	-webkit-animation-name: anime_load;
	-webkit-animation-duration: 1.5s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-direction: normal;
}
#loading_box .box:before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-color: #c4ea87;
	position: absolute;
	left: 0;
	top: 0;
}
@keyframes anime_load {
	0%   {transform: rotate(0deg);opacity: 1;}
	50%  {transform: rotate(180deg);opacity: 1;}
	100% {transform: rotate(360deg);opacity: 1;}
}
@-webkit-keyframes anime_load {
	0%   {-webkit-transform: rotate(0deg);opacity: 1;}
	50%  {-webkit-transform: rotate(180deg);opacity: 1;}
	100% {-webkit-transform: rotate(360deg);opacity: 1;}
}
#loading_box .text {
	color: #71513a;
	font-family: "Sigmar One", cursive;
	font-size: 12px;
	background-color: #f1ddc4;
}

/*アニメーション*/
#bg_chara.start {
	animation: bounceInUp 1.2s ease-out 0s 1 normal;
	-webkit-animation-name: bounceInUp;
	-webkit-animation-duration: 1.2s;
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-delay: 0s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
#content>h1.start {
	animation: bounceInUp 1.0s ease-out 0.4s 1 normal;
	-webkit-animation-name: bounceInUp;
	-webkit-animation-duration: 1.0s;
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-delay: 0.4s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
#outline01.start {
	animation: bounceInRight 1.0s ease-out 0.8s 1 normal;
	-webkit-animation-name: bounceInRight;
	-webkit-animation-duration: 1.0s;
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-delay: 0.8s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
#outline02.start {
	animation: bounceInRight 1.0s ease-out 0.9s 1 normal;
	-webkit-animation-name: bounceInRight;
	-webkit-animation-duration: 1.0s;
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-delay: 0.9s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
#text_outline.start {
	animation: bounceInRight 1.0s ease-out 1.0s 1 normal;
	-webkit-animation-name: bounceInRight;
	-webkit-animation-duration: 1.0s;
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-delay: 1.0s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}
#p_header h1 {
	animation: bounceIn 0.6s linear 2.4s 1 normal;
	-webkit-animation-name: bounceIn;
	-webkit-animation-duration: 0.6s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-delay: 2.4s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}

/*━━━━━━━━━━━━━━
▼ヘッダ
━━━━━━━━━━━━━━━*/
#p_header {
	position: relative;
	z-index: 2;
}
#top_bar_wrap {
	width: 100%;
	min-width: 960px;
	height: 272px;
	background: url(../gra/bg_header.png) repeat-x 0 0;
}
#top_bar {
	width: 960px;
	margin: 0 auto;
	position: relative;
}

#p_header h1 {
	position: absolute;
	right: 30px;
	top: 134px;
}

/*HOMEボタン*/
#home {
	width: 40px;
	padding: 10px 20px;
	position: absolute;
	top: 0;
	left: 10px;
	background-color: #fff;
	background-color: rgba(255,255,255,0.75);
	border: 1px solid #fff;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;;
}
#home a {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-indent: 200%;
	text-decoration: none;
	overflow: hidden;
	position: relative;
	transition: all 0.3s;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	border-radius: 4px;
}
#home a:after {
	display: block;
	font-family: FontAwesome;
	width: 40px;
	height: 40px;
	text-align: center;
	font-size: 24px;
	line-height: 40px;
	text-indent: 0;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
}
#home a:hover {
	opacity: 0.7;
	text-decoration: none;
	transform: translate(0, 3px);
	-webkit-transform: translate(0, 3px);
}

/*━━━━━━━━━━━━━━
▼social	ボタンのサイズ40×40で横並びの例
━━━━━━━━━━━━━━━*/
#social_wrap {
	width: 140px;
	padding: 10px 20px;
	position: absolute;
	top: 0;
	right: 10px;
	background-color: #fff;
	background-color: rgba(255,255,255,0.75);
	border: 1px solid #fff;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;;
}
#social_wrap:after {
	content: "";
	display: block;
	clear: both;
}
#social_wrap ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
#social li {
	float: left;
	margin: 0 10px 0 0;
}
#social li:last-child {
	margin: 0;
}
#social a {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-indent: 200%;
	text-decoration: none;
	overflow: hidden;
	position: relative;
	transition: all 0.3s;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	border-radius: 4px;
}
#social a:after {
	display: block;
	font-family: FontAwesome;
	width: 40px;
	height: 40px;
	text-align: center;
	font-size: 24px;
	line-height: 40px;
	text-indent: 0;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
}
#social a:hover {
	opacity: 0.7;
	text-decoration: none;
	transform: translate(0, 3px);
	-webkit-transform: translate(0, 3px);
}

#home a {background-color: #fcb25b;}
#twitter a {background-color: #9de4f6;}
#facebook a {background-color: #9689e5;}
#gglplus a {background-color: #e28ea8;}

#home a:after {
	content: "\f015";
}
#twitter a:after {
	content: "\f099";
}
#facebook a:after {
	content: "\f09a";
}
#gglplus a:after {
	content: "\f0d5";
	font-size: 24px;
}


/*━━━━━━━━━━━━━━
▼コンテンツ部分
━━━━━━━━━━━━━━━*/
#content {
	width: 960px;
	min-height: 844px;
	margin: 0 auto;
	position: relative;
	top: -136px;
	z-index: 1;
	/*background-color: rgba(255,255,0,0.2);*/
}
#bg_chara {
	position: absolute;
	top: 0;
	left: -64px;
	z-index: 0;
}
#content>h1 {
	position: relative;
	z-index: 1;
	top: 0;
	left: 10px;
	margin-bottom: 50px;
}
#outline {
	width: 444px;
	position: absolute;
	right: 20px;
	top: 155px;
	z-index: 2;
}

#outline01 {
	width: 444px;
	height: 195px;
	background: url(../gra/bg_outline01.png) no-repeat;
	margin-bottom: 10px;
}
#outline01 dt,
#outline01 dd,
#outline02 dt,
#outline02 dd {
	visibility: hidden;
}
#outline02 {
	width: 444px;
	height: 165px;
	background: url(../gra/bg_outline02.png) no-repeat;
}
#text_outline {
	width: 765px;
	height: 84px;
	line-height: 84px;
	text-indent: 100%;
	overflow: hidden;
	position: absolute;
	z-index: 2;
	top: 590px;
	left: 130px;
	background: url(../gra/text_outline.png) no-repeat;
}


.one {
	width: 920px;
	margin: 0 auto 50px;
}
.one:after {
	content: "";
	display: block;
	clear: both;
}
.one>h1 {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	padding-left: 60px;
	width: auto;
	position: relative;
	margin-bottom: 20px;
	height: 40px;
	padding-top: 10px;
}
.one>h1 img {
	vertical-align: bottom;
}
.one>h1:before {
	font-family: fontAwesome;
	text-align: center;
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	font-size: 30px;
	line-height: 50px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}
.one_wrap {
	width: 900px;
	margin: 0 auto;
	overflow: hidden;
}
.one_wrap p {
	height: 100%;
	margin-bottom: 10px;
}
.one_wrap p:last-child {
	margin-bottom: 0;
}
.one_wrap .awe {
	font-family: fontAwesome;
}
.one_wrap li {
	max-height: 100%;
	padding-left: 24px;
	position: relative;
}
.one_wrap li:before {
	content: "\f06a";
	font-family: fontAwesome;
	position: absolute;
	top: 0;
	left: 0;
}


/*個別*/
.one.c01>h1 {
	border-bottom-color: #e28ea8;
}
.one.c01>h1:before {
	content: "\f024";
	background-color: #e28ea8;
}
.one.c02>h1 {
	border-bottom-color: #ffb45d;
}
.one.c02>h1:before {
	content: "\f005";
	background-color: #ffb45d;
}
.one.c03>h1 {
	border-bottom-color: #9689e5;
}
.one.c03>h1:before {
	content: "\f0e0";
	background-color: #9689e5;
}
.one.c04>h1 {
	border-bottom-color: #a5d05f;
}
.one.c04>h1:before {
	content: "\f02c";
	background-color: #a5d05f;
}
.one.c05>h1 {
	border-bottom-color: #85d3e7;
}
.one.c05>h1:before {
	content: "\f108";
	background-color: #85d3e7;
}
.one.c06>h1 {
	border-bottom-color: #ea5e73;
}
.one.c06>h1:before {
	content: "\f071";
	background-color: #ea5e73;
}

/*light Happy Point交換会*/
.one.c01 .fl {
	width: 230px;
	float: left;
}
.one.c01 .fr {
	width: 640px;
	float: right;
}
.one.c01 dt {
	width: 70px;
	max-height: 100%;
	color: #fff;
	background-color: #e28ea8;
	position: absolute;
	text-align: center;
}
.one.c01 dd {
	max-height: 100%;
	padding-left: 80px;
	margin-bottom: 10px;
}

/*メールでの参加申し込み*/
.one.c03 dt {
	width: 70px;
	max-height: 100%;
	color: #fff;
	background-color: #9689e5;
	position: absolute;
	text-align: center;
}
.one.c03 dd {
	max-height: 100%;
	padding-left: 80px;
	margin-bottom: 10px;
}


/*当日配布の整理券について*/
.one.c04 .flbox {
	width: 435px;
	/*background-color: #a5d05f;*/
	border-radius: 10px;
	float: left;
	margin-right: 10px;
}
.one.c04 .flbox h1 {
	/*color: #fff;*/
	position: relative;
	padding-left: 35px;
	border-bottom: 1px solid #a5d05f;
	font-weight: bold;
	margin-bottom: 10px;
}
.one.c04 .flbox dl {
	background-color: #fff;
	/*padding: 10px;*/
}
.one.c04 dt {
	width: 70px;
	max-height: 100%;
	color: #fff;
	background-color: #a5d05f;
	position: absolute;
	text-align: center;
}
.one.c04 dd {
	max-height: 100%;
	padding-left: 80px;
	margin-bottom: 10px;
}
.one.c04 .awe {
	display: block;
	width: 30px;
	height: 30px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #a5d05f;
	color: #fff;
}

/*ニコニコ生放送のご案内*/
.one.c05 a img {
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	transition: all 0.3s;
}
.one.c05 a:hover img {
	opacity: 0.7;
	transform: translate(0, 3px);
	-webkit-transform: translate(0, 3px);
}
#niconico {
	width: 486px;
	padding: 10px;
	position: relative;
	margin-bottom: 20px;
	padding-left: 142px;
	border: 1px solid #ccc;
}
#niconico:after {
	content: "";
	display: block;
	clear: both;
}
#niconico>div {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 132px;
	height: 128px;
}
#niconico h1 a {
	font-weight: bold;
	color: #6179bf;
	text-decoration: none;
}
#niconico h1 a:hover {
	color: #6296c1;
	text-decoration: underline;
}
#niconico #date {
	padding: 4px;
	font-size: 10px;
	color: grey;
}
#niconico #date span {
	font-size: 16px;
	vertical-align: middle;
	font-weight: bold;
}
#niconico p {
	width: 486px;
	font-size: 12px;
	line-height: 18px;
}


/*━━━━━━━━━━━━━━
▼フッター
━━━━━━━━━━━━━━━*/
#p_footer {
	width: 100%;
	min-width: 960px;
	height: 98px;
	padding-top: 55px;
	background: url(../gra/bg_footer.png) repeat-x;
}
#footer_wrap {
	width: 420px;
	padding: 10px 20px 6px;
	margin: 0 auto;
	background-color: #fff;
	background-color: rgba(255,255,255,0.75);
	border: 1px solid #fff;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	border-radius: 10px;
}
#footer_banner {
	margin-bottom: 4px;
}
#footer_banner a img {
	vertical-align: bottom;
	border: 1px solid #fff;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	transition: all 0.3s;
}
#footer_banner a:hover img {
	opacity: 0.7;
	transform: translate(0, 3px);
	-webkit-transform: translate(0, 3px);
}
#footer_wrap p {
	font-family: "Sigmar One", cursive;
	text-align: center;
	line-height: 20px;
}





/*━━━━━━━━━━━━━━
▼pagetop
━━━━━━━━━━━━━━━*/
#pagetop {
	font-family: FontAwesome;
	box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
	border-radius: 35px;
	background-color: #71513a;
	background-color: rgba(113,81,58,0.8);
	opacity: 0.9;
}
#pagetop a {
	display: block;
	font-size: 24px;
	color: #fff;
	/*background-color: #372013;*/
	transition: all 0.3s;
	position: relative;
	z-index: 1;
}
#pagetop a:hover {
	color: #ffb45d;
}
#pagetop:after {
	color: #fff;
	font-family: "Sigmar One", cursive;
	display: block;
	width: 70px;
	font-size: 10px;
	content: "PAGETOP";
	position: absolute;
	top: 18px;
	left: 0;
	text-align: center;
	z-index: 0;
	transition: color 0.3s;
}
#pagetop:hover:after {
	color: #ffb45d;
}
