/*
当サイトのテキスト及び画像、それに伴う全ての無断転載は禁止いたします。
発見した場合は法的処置も視野にいれております。絶対に無断転載はお止めください。
*/
* {
	margin: 0px;
	padding: 0px;
}
body {
	font-color: #000;
	font-family: Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	background-color: #e6e6e6;
	font-size: 15px;
	color: #313131;
}
img {
	width: 100%;
	height: auto;
}
#wrapper {
	background-color: #fff;
	max-width: 920px;
	margin: 0 auto;
	overflow: hidden;
}
/*--------------------header--------------------*/
#header {
	background: #ffbaba;
	background: -moz-linear-gradient(45deg, #ffbaba 0%, #ff5959 60%, #ff3535 100%);
	background: -webkit-linear-gradient(45deg, #ffbaba 0%,#ff5959 60%,#ff3535 100%);
	background: linear-gradient(45deg, #ffbaba 0%,#ff5959 60%,#ff3535 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffbaba', endColorstr='#ff3535',GradientType=1 );
}
#header #logo img {
	width: 70px;
	height: auto;
	padding: 5px 0 5px 10px;
}
/*--------------------top--------------------*/
#top {
	background-color: #000;
	margin: 0 auto 30px;
	padding: 15px 0;
}
/*--------------------content--------------------*/
#content {
}
section {
	margin-bottom: 50px;
}
section#toptxt_area {
	width: 85%;
	margin: 0 auto 30px;
}
#txt001,
#txt002,
#txt003 {
	position: relative;
}
#txt001 .txt001_txt,
#txt001 .txt001_icon,
#txt002 .txt002_txt,
#txt002 .txt002_icon,
#txt003 .txt003_txt,
#txt003 .txt003_icon {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
#txt001 .txt001_icon,
#txt002 .txt002_icon,
#txt003 .txt003_icon {
	z-index: 1;
}
#txt004 {
	width: 90%;
	margin: 0 auto;
}
#txt005 {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-top: -30px;
}
#txt005 img {
	width: 26%;
	vertical-align: bottom;
}
#txt_arrow002 {
	padding-top: 20px;
}
/*--------------------comic--------------------*/
#comic {
	margin-top: -50px;
}
/*--------------------carousel--------------------*/
ul {
	list-style: none;
}
#carousel {
	position: relative;
	max-width: 880px;
	margin: 0 auto;
	font-size: 0;
	line-height: 0;
}
#carousel .carousel-view {
	overflow: hidden;
	position: relative;
	background-color: #fff;
}
#carousel .carousel-view .carousel-contents {
	position: relative;
	top: 0;
	padding: 10px;
}
#carousel .carousel-view .carousel-contents:after {
	clear: both;
	content:"";
	display: table;
}
#carousel .carousel-view .carousel-contents .item {
	float: left;
	display: inline;
}
#carousel .carousel-view p.prev,
#carousel .carousel-view p.next {
	width: 35px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	margin: 0 0 0 5px;
}
#carousel .carousel-view p.next {
	left: auto;
	right: 0;
	margin: 0 5px 0 0;
}
#carousel .carousel-view p.prev a img,
#carousel .carousel-view p.next a img {
	width: 100%;
	border: none;
}
#carousel ul.list-indicator {
	text-align: center;
	margin: 0;
}
#carousel ul.list-indicator li {
	display: inline-block;
	margin-right: 10px;
	margin-top: 10px;
	margin-left: 10px;
}
#carousel ul.list-indicator li a {
	display: block;
	height: 8px;
	width: 8px;
	border-radius: 20px;
	background: #ccc;
}
#carousel ul.list-indicator li.current a {
	background: #757474;
}
#carousel .carousel-view .item img {
	width: 100%;
}
#carousel .carousel-view .item:nth-child(2) img,
#carousel .carousel-view .item:nth-child(3) img, 
#carousel .carousel-view .item:nth-child(4) img,
#carousel .carousel-view .item:nth-child(5) img {
	display: none;
	width: 100%;
}
/*-----------------slidein-----------------*/
/*-----初動の動き-----*/
.slidein_l,
.slidein_r {
	opacity : 0;
	transform: translate(-80px, 0);
	transition : all 1.2s;
}
.slidein_r {
	transform: translate(80px, 0);
}
.slidein_l.slidein_already,
.slidein_r.slidein_already {
	opacity : 1;
	transform : translate(0, 0);
}
#txt001 .txt001_bg,
#txt002 .txt002_bg,
#txt003 .txt003_bg,
#txt_arrow001 {
	opacity: 0;
}
/*-----初動の動き-----*/
/*-----------------sclollin-----------------*/
.sclollin {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1.5s;
	/*overflow: hidden;*/
}
.sclollin.scrollin_already {
	opacity : 1;
	transform : translate(0, 0);
	/*overflow: hidden;*/
}
/*-----------------movearrow-----------------*/
.movearrow {
	margin: 8px 0;
	animation-name: txtAnime;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-timing-function: ease;
	-webkit-animation-name: txtAnime;
	-webkit-animation-duration: 1s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: ease;
}
@keyframes txtAnime {
0% {transform: translate(0, 0);}
50% {transform: translate(0, -8px);}
100% {transform: translate(0, 0);}
}
@-webkit-keyframes txtAnime {
0% {-webkit-transform: translate(0, 0);}
50% {-webkit-transform: translate(0, -8px);}
100% {-webkit-transform: translate(0, 0);}
}
/*-----------------marker_line-----------------*/
.marker_line {
	background: -webkit-linear-gradient(left, #fdff70b3 50%, transparent 50%) 100% 0% / 200% 50% no-repeat;
	background: linear-gradient(to right, #fdff70b3 50%, transparent 50%) 100% 0% / 200% 50% no-repeat;
	transition: background-position 1s ease-out;
	-webkit-transition: background-position 1s ease-out;
}
.marker_start {
	background-position: 0% bottom;
}
/*--------------------sub_title--------------------*/
.sub_title {
	position: relative;
	padding: 9px;
	background: #ff9090;
	color: #fff;
	width: 93%;
	margin: 0 auto 30px;
	font-size: 17px;
	font-weight: bold;
}
.sub_title::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px #a17c7c;
}
.sub_title p {
	padding-left: 5px;
	letter-spacing: 0.12em;
}
/*--------------------txt006/btn--------------------*/
#txt006 {
	width: 95%;
	margin: 0 auto 35px;
}
#btn_vino,
#btn_discord {
	width: 95%;
	margin: 40px auto;
}
.btn_ani {
	transform: scale(1);
	animation-name: btn_ani;
	animation-duration: 0.8s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	-webkit-transform: scale(1);
	-webkit-animation-name: btn_ani;
	-webkit-animation-duration: 0.8s;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-direction: alternate;
}
@keyframes btn_ani {
0% {transform:scale(0.95);}
99.9%,to {transform:scale(1);}
}
@-webkit-keyframes btn_ani {
0% {-webkit-transform:scale(0.95);}
99.9%,to {-webkit-transform:scale(1);}
}
.shiny_btn {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	color: #fff;
	overflow: hidden;
}
.shiny_btn::after {
	content: '';
	position: absolute;
	top: -10%;
	left: -20%;
	width: 40px;
	height: 100%;
	transform: scale(2) rotate(20deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	animation-name: shiny;
	animation-duration: 3s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}
@keyframes shiny {
	0% { left: -20%; }
	10% { left: 120%; }
	100% { left: 120%; }
}
/*--------------------footer--------------------*/
#footer {
	background-color: #666;
	color: #FFF;
	padding: 10px 20px;
	text-align: right;
}
#footer p {
	display: block;
	margin: 0px auto;
	padding-right: 20px;
	font-size: 13px;
	line-height: 23px;
	margin-bottom: 3px;
}
#footer a {
	color: #FFF;
	text-decoration: none;
}
/*--------------------ol---------------------*/
#ol {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
	width: 95%;
	opacity: 0;
	max-width: 750px;
	border-radius: 15px 15px 0px 0px;
}
/*--------------------COMMON--------------------*/
a,
a img {
	cursor: pointer;
}
a {
	color: #317ed1;
}
.txt20 {
	font-size: 20px;
}
a img:hover,
a video:hover {
	opacity: 0.85;
	transition-duration: 0.1s;
}
/*--------------------clearfix--------------------*/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix { zoom: 1; } /* IE6 */
.clear {
	clear: both;
}
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
/*----------------------------PC用----------------------------*/
@media screen and (min-width:720px) {
	#top {
		padding: 15px;
	}
	section {
		margin-bottom: 80px;
	}
	section#toptxt_area {
		width: 80%;
	}
	#txt005 {
		font-size: 2.0rem;
	}
	#txt006 {
		width: 88%;
		margin: 60px auto 75px;
	}
	#btn_vino,
	#btn_discord {
		width: 86%;
		margin: 70px auto;
	}
	.sub_title {
		font-size: 25px;
		padding: 15px 10px;
	}
	.txt20 {
		font-size: 30px;
	}
	#carousel .carousel-view .carousel-contents {
		padding: 10px 10px 10px 15%;
	}
	#carousel .carousel-view p.prev,
	#carousel .carousel-view p.next {
		width: 50px;
	}
	#footer a:hover {
		color: #ffc7c7;
		text-decoration: underline;
	}
	#ol {
		width: 55%;
	}
}