@charset "utf-8";
/* top */
#top_main {
	height: 100%;
	width: 100%;
	background-image: url("../img/top/top-bg1-h.jpg");
	background-size: 100%;
	background-size:cover;
	background-position: center center;
	position: relative;
}
#top_main #top_logo {
	position: absolute;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
#top_main #top_logo h1 {
	width: 120px;
	margin: 0 auto 10px;
    opacity: 0;
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 2.5s;
    -ms-animation-duration: 2.5s;
    animation-duration: 2.5s;
    -webkit-animation-name: top_logo;
    animation-name: top_logo;
    visibility: visible !important;
}
@-webkit-keyframes top_logo {
 0% {
opacity: 0;
-webkit-transform: translateY(-20px);
}
 60% {
opacity: 1;
-webkit-transform: translateY(0);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}
}
@keyframes top_logo {
 0% {
opacity: 0;
-webkit-transform: translateY(-20px);
-ms-transform: translateY(-20px);
transform: translateY(-20px);
}
 60% {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}
}
#top_main #top_logo h2 {
	font-family: 'Archivo Black', sans-serif;
	font-size: 22px;
	color: #aaa;
	opacity: 0;
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 2.5s;
    -ms-animation-duration: 2.5s;
    animation-duration: 2.5s;
    -webkit-animation-name: top_text;
    animation-name: top_text;
    visibility: visible !important;
}
@-webkit-keyframes top_text {
 60% {
opacity: 0;
}
 100% {
opacity: 1;
}
}
@keyframes top_text {
 60% {
opacity: 0;
}
 100% {
opacity: 1;
}
}
#top_main .s_btn {
	opacity: 0;
	-webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 2.5s;
    -ms-animation-duration: 2.5s;
    animation-duration: 2.5s;
    -webkit-animation-name: top_text;
    animation-name: top_text;
    visibility: visible !important;
}
#top_main .s_btn a {
  position: absolute;
  bottom: -10px;
  left: 50%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-decoration: none;
}
#top_main .s_btn a {
  padding-top: 50px;
	color: #aaa;
}
#top_main .s_btn a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 36px;
  height: 36px;
  margin-left: -18px;
  border: 1px solid #aaa;
  border-radius: 100%;
  box-sizing: border-box;
}
#top_main .s_btn a span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  width: 10px;
  height: 10px;
  margin: -8px 0 0 -5px;
  border-left: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.image {
	text-align: center;
}
#top_ranking {
	text-align: center;
	padding: 60px 0;
}
#top_ranking .rank_list {
	margin: 40px 0;
}
#top_ranking dl {
	display: flex;
	width: 90%;
    justify-content: center; 
    align-items: center;
	font-size: 20px;
	margin: 0 auto 25px;
}
#top_ranking dl dd {
	text-align: right;
	padding: 0 20px 0 0;
	width: 24%;
	font-weight: bold;
}
#top_ranking dl dd:nth-child(1) {
	text-align: left;
	width: 4%;
}
#top_ranking dl:nth-child(1) dd:nth-child(1) span {
    color: #fff;
    background: #006837;
}
#top_ranking dl dd:nth-child(1) span {
	font-weight: bold;
	display: inline-block;
	padding: 4px 6px;
	font-size: 18px;
	border-radius: 4px;
}
#top_ranking dl dd:nth-child(2) {
	width: 60px;
	text-align: left;
}
#top_ranking dl dd:nth-child(3) {
	text-align: left;
}
#top_ranking dl dd:nth-child(5) {
	text-align: right;
	padding: 0;
}

#top_recent {
	text-align: center;
	padding: 60px 0;
}
#top_recent .recent_list {
	margin:40px auto;
	width: 90%;
}
#top_recent .recent_list .s_ttl {
	text-align: left;
	margin:  auto auto auto 0;
	font-weight: bold;
	font-size: 16px;
}
#top_recent .recent_list .s_ttl span {
	font-size: 14px;
	padding: 0 6px 0 0;
	font-weight: bold;
}
#top_recent .recent_list .s_ttl a {
	display: inline-block;
	padding: 4px 8px;
	font-weight: bold;
	font-size: 12px;
	background-color: #006837;
	color: #fff;
	border-radius: 5px;
	margin: 0 0 0 10px;
	float: right;
}
#top_recent .recent_list dl {
	display: flex;
    justify-content: center; 
    align-items: center;
	padding: 0 0 25px;
	margin: 16px auto 25px;
	border-bottom:  dotted 2px #006837;
}
#top_recent .recent_list dl dd {
	text-align: center;
	margin:  auto auto auto 0;
	padding: 0 5px;
}
#top_recent .recent_list dl dd:last-child {
	margin: 0;
}
#top_recent dl dd.r1,
#top_recent dl dd.r1 span{
	color: #00F;
	font-weight: bold;
}
#top_recent dl dd.r4,
#top_recent dl dd.r4 span{
	color: #F00;
	font-weight: bold;
}
#top_twitter {
	text-align: center;
	padding: 60px 0;
}
#top_twitter .inn {
	width: 90%;
	margin: 30px auto 0;
}
/* record */
#record {
	width: 96%;
	margin: 0 auto 60px;
}
#record .ttl {
	margin: 0 0 40px;
}
#record .record_list {
	text-align: left;
}
#record .record_list h2 {
	font-size: 20px;
	background-color: #006837;
	color: #fff;
	padding: 4px 10px;
	font-weight: bold;
}
#record .record_list .year_list,
#record .record_list .kojin_list{
	display: flex;
	flex-wrap:wrap;
	padding: 10px 0 50px;
	width: 100%;
}
#record .record_list .year_list li {
	text-align:  center;
	width: 30%;
	margin: 20px 5% 20px 0;
}
#record .record_list .year_list li:nth-child(3n) {
	margin: 20px 0;
}
#record .record_list .kojin_list li {
	text-align:  center;
	width: 25%;
	margin:20px 0;
}
#record .record_list .year_list li a,
#record .record_list .kojin_list li a{
	display: block;
	color: #333;
	font-size: 18px;
	font-weight: bold;
}
#record .record_list .kojin_list li a {
	font-size: 16px;
}
#record .record_list .point_list {
	margin:25px 10px;
}
#record .record_list .point_list.snd {
	margin:80px 10px 25px;
}
#record .record_list .point_list h3 {
border-bottom: solid 3px #ccc;
position: relative;
	font-size: 18px;
	padding: 0 0 4px;
	margin: 0 0 25px;
	font-weight: bold;
}
#record .record_list .point_list h3:after {
position: absolute;
content: " ";
display: block;
border-bottom: solid 3px #006837;
bottom: -3px;
width: 20%;	
}
#record .point_list tr:nth-child(2n-1) {
background-color: #fafafa;
}
#record .point_list th,
#record .point_list td {
	text-align:center;
	padding:10px 4px;
	vertical-align:middle;
}
#record .point_list th {
	background:#eee;
	color:#000;
	font-weight: bold;
}
#record .point_list .r1 {
	color:#00F;
}
#record .point_list .r4 {
	color:#F00;
}
#record .point_list table .r2 {
	color:#009245;
}
#record .point_list table .r3 {
}
#record .champion dl {
	display: flex;
	justify-content: center; 
    align-items: center;
	padding: 0 0 20px;
	font-size: 20px;
}
#record .champion dl dd {
	font-size: 30px;
	font-weight: bold;
	padding: 0 0 0 12px;
	font-family: "Yu Mincho", "YuMincho";
}
#record .champion dl dt i {
	color:#CDB600;
}
#record .recent_list {
	margin: 20px 0 40px;
}
#record .recent_list .s_ttl {
	text-align: left;
	margin:  auto auto auto 0;
	font-weight: bold;
	font-size: 16px;
}
#record .recent_list .s_ttl span {
	font-size: 14px;
	padding: 0 6px 0 0;
	font-weight: bold;
}
#record .recent_list .s_ttl a {
	display: inline-block;
	padding: 4px 8px;
	font-weight: bold;
	font-size: 12px;
	background-color: #006837;
	color: #fff;
	border-radius: 5px;
	margin: 0 0 0 10px;
	float: right;
}
#record .recent_list dl {
	display: flex;
    justify-content: center; 
    align-items: center;
	padding: 0 0 25px;
	margin: 16px auto 25px;
	border-bottom:  dotted 2px #006837;
}
#record .recent_list dl dd {
	text-align: center;
	margin:  auto auto auto 0;
	padding: 0 5px;
}
#record .recent_list dl dd:last-child {
	margin: 0;
}
#record .cate_table tr th,
#record .cate_table tr td {
	width: 25%;
}
/* single */
#record.single .score_list .date {
	text-align: left;
	margin: 0 0 8px;
	font-weight: bold;
	font-size: 18px;
}
#record.single .score_list .date span {
	padding: 0 0 0 6px;
	font-weight: bold;
}
#record.single .score_list h2 {
border-bottom: solid 3px #ccc;
position: relative;
	font-size: 18px;
	padding: 0 0 4px;
	margin: 0 0 25px;
	font-weight: bold;
	text-align: left;
}
#record.single .score_list h2:after {
position: absolute;
content: " ";
display: block;
border-bottom: solid 3px #006837;
bottom: -3px;
width: 20%;	
}
#record.single .tobi_detail.box {
	margin: 0 0 40px;
}
#record.single .box h3 {
border-bottom: solid 2px #ccc;
	font-size: 16px;
	padding: 0 10px 4px;
	margin: 20px 0 25px;
	font-weight: bold;
	text-align: left;
}
#record.single .box .inn {
	display: flex;
	justify-content: center; 
    align-items: center;
	margin: auto;
	padding: 0 2% 10px;
}
#record.single .box .inn dl {
	margin: auto auto auto 0;
	width: 100%;
}
#record.single .box .inn dl:last-child {
	margin: 0;
}
#record.single .box .inn dl dt {
	font-weight: bold;
	padding: 0 0 5px;
}
#record.single .box .inn dl dd {
	padding: 5px;
}
#record.single .box .inn dl dd:last-child {
	border-top: 1px solid #333;
	margin: 5px 0;
	padding: 10px 5px;
	font-weight: bold;
}
#record.single .tobi_detail.box .inn dl dd:last-child {
	border-top:none;
	padding: 5px;
	font-weight: bold;
}
#record.single .avg_detail.box .inn dl dd{
	border-top:none;
	padding: 5px;
	margin: 5px 0;
	font-weight: bold;
}
#record.single .box .inn dl dd.r1 {
	color:#00F;
}
#record.single .box .inn dl dd.r4 {
	color:#F00;
}
#record.single .box .inn dl dd.r2 {
	color:#009245;
}
#record.single .box .inn dl dd.r3 {
}
.chart-container {
	position: relative;
	height:30vh;
	width:94vw;
	margin: auto;
}
/*rule*/
#rule {
	width: 96%;
	margin: 0 auto 60px;
}
#rule .ttl {
	margin: 0 0 40px;
}
#rule .rule_wrap {
	text-align: left;
}
#rule .rule_wrap h3 {
border-bottom: solid 3px #ccc;
position: relative;
	font-size: 18px;
	padding: 0 0 4px;
	margin: 0 0 25px;
	font-weight: bold;
}
#rule .rule_wrap h3:after {
position: absolute;
content: " ";
display: block;
border-bottom: solid 3px #006837;
bottom: -3px;
width: 20%;	
}
#rule .rule_wrap .rule_nav{
	display: flex;
	flex-wrap:wrap;
	padding: 0 0 30px;
	width: 100%;
}
#rule .rule_wrap .rule_nav li {
	text-align:  center;
	width: 24%;
	margin:10px 0.5% 30px;
}
#rule .rule_wrap .rule_nav li a{
	display: block;
	color: #333;
	font-size: 15px;
	font-weight: bold;
}
#rule .rule_wrap .rule_list{
	font-size: 14px;
	line-height: 1.4;
	width: 94%;
	margin: 0 auto 40px;
}

#rule .rule_wrap .rule_list li {
    list-style-type:decimal;
    margin-left: 2em;
    margin-bottom: 10px;
    line-height: 1.7;
}
#rule .rule_wrap .rule_list li table {
	margin: 10px 0 0;
}
#rule .rule_wrap .rule_list li table tr th {
	font-weight: bold;
}
#rule .rule_wrap .rule_list li table tr th,
#rule .rule_wrap .rule_list li table tr td{
	width: 16%;
    text-align: center;
    padding: 10px 0;
    border: 1px solid #ccc;
}
#rule .rule_wrap .bonus{
	font-size: 14px;
	line-height: 1.4;
	width: 94%;
	margin: 0 auto 40px;
}
#rule .rule_wrap .bonus p {
	font-size: 14px;
	line-height: 1.7;
	margin: 0 auto 10px;
}
#rule .rule_wrap .bonus h4 {
	font-weight: bold;
	margin: 0 0 10px;
}
#rule .rule_wrap .bonus ul {
	margin: 0 0 20px;
}
#rule .rule_wrap .bonus li {
    list-style-type:decimal;
    margin-left: 2em;
    margin-bottom: 10px;
    line-height: 1.7;
}
#rule .rule_wrap .text{
	font-size: 14px;
	line-height: 1.7;
	width: 94%;
	margin: 0 auto 40px;
}
#rule .rule_wrap .text p {
	margin: 0 0 10px;
}
/*participant*/
#participant {
	width: 96%;
	margin: 0 auto 60px;
}
#participant .ttl {
	margin: 0 0 40px;
}
#participant .participant_list {
	text-align: left;
}
#participant .participant_list h2 {
border-bottom: solid 3px #ccc;
position: relative;
	font-size: 18px;
	padding: 0 0 4px;
	font-weight: bold;
}
#participant .participant_list h2:after {
position: absolute;
content: " ";
display: block;
border-bottom: solid 3px #006837;
bottom: -3px;
width: 20%;	
}
#participant .participant_list ul{
	display: flex;
	flex-wrap:wrap;
	padding: 10px 0 50px;
	width: 100%;
}
#participant .participant_list ul li {
	text-align:  center;
	width: 25%;
	margin:20px 0;
}
#participant .participant_list ul li a{
	display: block;
	color: #333;
	font-size: 18px;
	font-weight: bold;
}
#participant .participant_list ul li a {
	font-size: 16px;
}
#participant .participant_list {
	margin:25px 10px;
}
#participant.detail .participant_list h2 {
	margin: 0 0 20px;
}
#participant .participant_list th,
#participant .participant_list td {
	background:#fff;
	text-align:center;
	padding:10px 4px;
	vertical-align:middle;
	width: 25%;
}
#participant .participant_list th {
	background:#eee;
	color:#000;
	font-weight: bold;
}
#participant .participant_list .box {
	margin: 0 0 40px;
}
#participant .recent_list {
	margin: 20px 0 40px;
}
#participant .recent_list .s_ttl {
	text-align: left;
	margin:  auto auto auto 0;
	font-weight: bold;
	font-size: 16px;
}
#participant .recent_list .s_ttl span {
	font-size: 14px;
	padding: 0 6px 0 0;
	font-weight: bold;
}
#participant .recent_list .s_ttl a {
	display: inline-block;
	padding: 4px 8px;
	font-weight: bold;
	font-size: 12px;
	background-color: #006837;
	color: #fff;
	border-radius: 5px;
	margin: 0 0 0 10px;
	float: right;
}
#participant .recent_list dl {
	display: flex;
    justify-content: center; 
    align-items: center;
	padding: 0 0 25px;
	margin: 16px auto 25px;
	border-bottom:  dotted 2px #006837;
}
#participant .recent_list dl dd {
	text-align: center;
	margin:  auto auto auto 0;
	padding: 0 5px;
}
#participant .recent_list dl dd:last-child {
	margin: 0;
}
#participant .recent_list .r1 {
	color:#00F;
}
#participant .recent_list .r4 {
	color:#F00;
}

/*yakuman*/
#yakuman {
    width: 96%;
    margin: 0 auto 60px;
}
#yakuman h3.ttl_border {
	text-align: left;
    border-bottom: solid 3px #ccc;
    position: relative;
    font-size: 18px;
    padding: 0 0 4px;
    margin: 0 0 25px;
    font-weight: bold;
}
#yakuman h3.ttl_border:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #006837;
    bottom: -3px;
    width: 20%;
}
#yakuman .hora_count {
	margin: 40px 0;
}
#yakuman .recent_list .list_wrap {
	margin: 20px 0;
	padding: 0 0 20px;
	border-bottom: solid 1px #ccc;
}
#yakuman .recent_list .s_ttl {
	text-align: left;
	margin:  auto auto auto 0;
	font-weight: bold;
	font-size: 16px;
}
#yakuman .recent_list .s_ttl span {
	font-size: 14px;
	padding: 0 6px 0 0;
	font-weight: bold;
}
#yakuman .cate_table {
	margin: 8px 0 0;
}
#yakuman .cate_table tr th,
#yakuman .cate_table tr td {
    background: #fff;
    text-align: center;
    padding:8px 4px;
    vertical-align: middle;
	font-size: 14px;
}
#yakuman .cate_table tr th {
	background: #eee;
    color: #000;
    font-weight: bold;
}
#yakuman .cate_table tr .w15 {
	width: 14%;
}
#yakuman .hora_count .cate_table tr th,
#yakuman .hora_count .cate_table tr td {
	width: 12.5%;
}
#yakuman .recent_list .info {
	font-size: 14px;
	text-align: right;
	margin: 8px 8px 0;
}

@media screen and (max-width:768px) {


#top_ranking dl {
	font-size: 20px;
}
#top_recent .recent_list dl dd span,
	#record .recent_list dl dd span{
	display: block;
}
/* record */
#record .point_list th {
	font-size: 13px;
}
	.chart-container {
	height:200px;
}
}

