/*-----------------------------------------------------------------------
    メインビジュアル
------------------------------------------------------------------------*/
.mainvisual {
    width: 990px;
    height: 376px;
    background: url("../images/top/backimage.jpg?ver=0.0.1") 0 0 no-repeat;
	  position: relative;
}

/* 対局開始ボタン */
.mainvisual__startgame {
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -140px;
}
.startgame__button {
	display: block;
	width: 280px;
	height: 156px;
	position: relative;
	background: url("../images/top/startgame.png") 0 0 no-repeat;
}
.startgame__button:hover {
	background: url("../images/top/startgame.png") 0 -156px no-repeat;
}
.startgame__text {
	width: 100%;
	height: 100%;
	background: url("../images/top/startgame.png") 0 -312px no-repeat;
}

.startgame__ring {
	width: 178px;
	height: 178px;
	background: url("../images/top/startgame_ring.png") 0 0 no-repeat;
	position: absolute;
	top: 48px;
	left: 51px;
}
.twinkle .startgame__text {
	-webkit-animation: twinkle 2.5s ease-in-out infinite normal;
	animation: twinkle 2.5s ease-in-out infinite normal;
}
.rolling .startgame__ring {
	-webkit-animation: rolling 2.5s linear infinite normal;
	animation: rolling 2.5s linear infinite normal;
}
@-webkit-keyframes twinkle {
	33.333% {opacity: 0;}
	66.666% {opacity: 100%;}
	100% {opacity: 0%;}
}
@keyframes twinkle {
	33.333% {opacity: 0;}
	66.666% {opacity: 100%;}
	100% {opacity: 0%;}
}
@-webkit-keyframes rolling {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@keyframes rolling {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

.mainvisual__ttl,
.mainvisual__catchcopy,
.mainvisual__platform {
	white-space: nowrap;
	text-indent: 150%;
	overflow: hidden;
	position: absolute;
}
.mainvisual__ttl {
	width: 460px;
	height: 140px;
	background: url("../images/top/mainvisual_items.png?v=0.0.1") 0 0 no-repeat;
	top: 15px;
	right: 8px;
}
.mainvisual__catchcopy {
	width: 340px;
	height: 90px;
	background: url("../images/top/mainvisual_items.png?v=0.0.1") 0 -150px no-repeat;
	top: 188px;
	right: 15px;
}

/* マルチプラットフォーム対応 */
.mainvisual__platforms {
	width: 250px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: absolute;
    right: 15px;
    bottom: 5px;
}
.mainvisual__platforms li + li {
	margin-left: 5px;
}
.mainvisual__platforms li a {
	background: url("../images/top/mainvisual_items.png?v=0.0.1") no-repeat;

	display: block;
	white-space: nowrap;
	text-indent: 150%;
	overflow: hidden;
}
.mainvisual__platforms li a:hover {
	opacity: .7;
}
.mainvisual__platforms li a + a {
	margin-top: 5px;
}
.mainvisual__platforms .gp,
.mainvisual__platforms .ns {
	background-position:  0 -250px;
	width: 135px;
	height: 40px;
}
.mainvisual__platforms .ns {
	background-position:  0 -295px;
}
.mainvisual__platforms .as,
.mainvisual__platforms .fstv {
	background-position:  -140px -250px;
	width: 110px;
	height: 40px;
}
.mainvisual__platforms .fstv {
	background-position:  -140px -295px;
}

/* アプリダウンロードリンク */
.mainvisual__apps {
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;
	justify-content: space-around;
	-webkit-justify-content: space-around;
	-ms-flex-pack: distribute;
	-webkit-box-pack: justify;
	position: absolute;
	bottom: 8px;
	right: 16px;
}

.mainvisual__apps a:hover {
  opacity: .85;
}

.mainvisual__apps .apps__left {
	margin-right: 8px;
}
.mainvisual__apps .apps__left a,
.mainvisual__apps .apps__right a {
	display: block;
	white-space: nowrap;
	text-indent: 125%;
	overflow: hidden;
}
.mainvisual__apps .apps__left a {
	width: 193px;
	height: 86px;
	background: url("../images/top/mainvisual_items.png?v=0.0.1") 0 -300px no-repeat;
}
.mainvisual__apps .apps__right a:first-child {
	width: 131px;
	height: 43px;
	background: url("../images/top/mainvisual_items.png?v=0.0.1") 0 -388px no-repeat;
}
.mainvisual__apps .apps__right a:last-child {
	width: 131px;
	height: 39px;
	margin-top: 4px;
	background: url("../images/top/mainvisual_items.png?v=0.0.1") 0 -433px no-repeat;
}

.mainvisual__help {
	width: 176px;
	height: 24px;
	white-space: nowrap;
	text-indent: 125%;
	overflow: hidden;
	background: url("../images/top/mainvisual_items.png?v=0.0.1") 0 -474px no-repeat;
	position: absolute;
	bottom: 8px;
	left: 192px;
}

.mainvisual__help:hover {
	background-position: -178px -474px;
}

/* ゲームタイトル・ジャンル表記 */
.mainvisual__spec {
	color: #FFF;
	font-size: 10px;
	font-weight: bold;
	font-family: sans-serif;
	line-height: 16px;
	text-shadow: -1px -1px 0px rgba(0,0,0,0.25);
	position: absolute;
	bottom: 8px;
	left: 15px;
}

.mainvisual__apology {
  height: auto;
  position: absolute;
  bottom: 48px;
  left: 16px;
}
.mainvisual__apology img {
  display: block;
  width: 240px;
  height: auto;
}

/*-----------------------------------------------------------------------
    コンテンツ
------------------------------------------------------------------------*/
#contents {
	margin-top: 10px;
}

.main--col {
	width: 540px;
	background: none;
}

/* バナーリスト */
.main--col .main__banner {
	display: block;
}
.main--col .main__banner img {
	display: block;
	width: 100%;
	height: auto;
}
.main--col .main__banner + .main__banner {
	margin-top: 8px;
}

/* 動画リスト */
.movie {
	padding-bottom: 8px;
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
	background: #D2D2D2;
}
.main__banner + .movie {
	margin-top: 16px;
}

.movie__ttl {
	padding: 2px;
	border: solid 1px #808080;
	background: #FFF;
}
.movie__ttl span {
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;
	align-items: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
	padding: 4px;
	background: #386D00;
}
.movie__ttl span::before {
    content: "";
	display: block;
	width: 24px;
	height: 24px;
	margin-right: 4px;
	background: url("../images/common/head_icon.png") 0 0 no-repeat;
	background-size: auto 100%;
}

.movie__readmore {
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;
	align-items: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	-webkit-box-pack: end;
	color: #2E72CC;
	font-size: 12px;
	font-weight: bold;
	margin: 8px 8px 0;
}
.movie__readmore::before {
    content: "";
	display: block;
	width: 5px;
	height: 10px;
	margin-right: 5px;
	background: url("../images/common/arrow.png") 0 0 no-repeat;
	background-size: auto 100%;
}
.movie__readmore:hover {
	color: #244066;
}
.movie__readmore:hover::before {
	background: url("../images/common/arrow.png") -5px 0 no-repeat;
	background-size: auto 100%;
}

.movie__list {
	padding: 11px;
	margin: 0 4px;
	border: solid 1px #6EA500;
	border-top: none;
	background: #FFF;
}

.movie__list li + li {
	margin-top: 8px;
}

.movie__item--normal .item__hd {
	padding: 8px 16px;
	background: #181818;
}

.movie__item--normal .item__hd span {
	display: block;
    padding: 2px 16px 2px 0;
    color: #DADADA;
    overflow: hidden;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -moz-text-overflow: ellipsis;
    background: url("../images/common/play.png") 100% 0 no-repeat;
}

.movie__item--normal :hover .item__hd span {
    color: #FFF;
    background: url("../images/common/play.png") 100% -16px no-repeat;
}

.movie__item--normal a {
	display: block;
	width: 100%;
}

.movie__item--normal a img {
	display: block;
	width: 100%;
	height: auto;
}


.right-col {
	width: 396px;
}
.sns {
    width: 80%;
    margin: 0 auto;
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;
	justify-content: space-around;
	-webkit-justify-content: space-around;
	-ms-flex-pack: distribute;
	-webkit-box-pack: justify;
	margin-bottom: 8px;
}
.sns a {
	white-space: nowrap;
	text-indent: 125%;
	overflow: hidden;
	display: block;
	width: 50px;
	height: 50px;
	background-image: url("../images/top/sns.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: auto 100%;
}
.sns a.sns__link--yt {background-position: 0 0;}
.sns a.sns__link--nc {background-position: -50px 0;}
.sns a.sns__link--tw {background-position: -100px 0;}
.sns a.sns__link--fb {background-position: -150px 0;}
.sns a.sns__link--ins {background-position:-200px 0;}
.sns a.sns__link--li {background-position: -250px 0;}

/*-----------------------------------------------------------------------
    バナーリスト
------------------------------------------------------------------------*/
.bannerlist {
  width: 100%;
	margin: 15px auto 0;
}
.bannerlist li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
		-ms-flex-pack: center;
			justify-content: center;
}
.bannerlist li + li {
	margin-top: 5px;
}
.bannerlist li a {
	width: 220px;
}
.bannerlist li a + a {
	margin-left: 10px;
}
.bannerlist li a img {
  width: 100%;
  height: auto;
}

#top_game{
	padding: 16px 0;
}

#top_game h3{
    color: #FFF;
    font-size: 16px;
    font-weight: bold;
    padding: 8px;
    background: #386D00;
    text-align: center;
    margin-bottom: 8px;
}

.in-session {
  background-color: #c9a61d;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
}
.in-session h2 {
  color: #051e61;
  text-align: center;
  padding: 5px;
      text-shadow: 1px 1px rgba(255,255,255,.5);
}
.in-session a {
  display: block;
  padding: 2px;
}
.in-session a img {
  display: block;
  width: 100%;
  height: auto;
}
.in-session::after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-animation: reflection 2s ease-in-out infinite;
  animation: reflection 2s ease-in-out infinite;
  background: url("../images/mobile/top/reflection.png") 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: -100%;
}
@-webkit-keyframes reflection {
  0% { -webkit-transform: translate3d(0, 0, 0); }
  80% { -webkit-transform: translate3d(0, 0, 0); }
  100% { -webkit-transform: translate3d(200%, 0, 0); }
}



/* Adsense サイズ調整 */
.right-col .ad-block {
	margin-bottom: 1em;
}
.flex-cols + .ad-block {
	margin-top: 1em;
}

.gl_live-streaming {
	text-align: center;
    margin-bottom: 15px;
    font-size: 1.25em;
    font-weight: bold;
}
.gl_live-streaming a {
    color: #003bb3;
}
.gl_live-streaming  a .fas {
	margin-right: .25em;
}