@charset "utf-8";
/* CSS Document */
@media screen and (max-width: 959px) {
	/* 959px以下に適用されるCSS（タブレット用）*/
    .omura_logo a {
        display:block;
        width:80%;
    }
    .sp_sns {
        width: 30%;
        height: 38px;
        display: block;
        position: absolute;
        right: 40px;
        top: 25px;
    }
    .sp_sns a{
        text-decoration: none;
    }
    .sp_sns img {
        width: 34px;
    }
    .visual_area{
      width: 100%;
      height: 0;
      padding-top: calc(1670 / 1200 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
      background: url(../images/sp_top_bg.jpg) center center / cover no-repeat;
      position: relative;
     }
    .pn_item_news{
     position: absolute;
     height:90px;
     top:auto;
     bottom:120px;
     right:0;
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    z-index:13;
}
     .grandprix_logo_sp{
        display:block;
        width: 100%;
        margin: 0 auto;
        position: absolute;
        bottom:-20px;
     }
     .grandprix_logo{
         display:none;
    }

    .time_waku_sp{
        position: absolute;
        display:flex;
	flex-wrap: wrap;
	justify-content: center;
        width: 98%;
        margin: 0 auto;
        bottom:0px;
	color:white;
	margin: 0 4px;
    }

    .memo_item{
	width:100%;
	}

    .contents_area,
    .news_area,
    .movie_area,
    .sgwinner_area,
    .sns_area{
        /*background-image: url(../images/background_sp.jpg);*/
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }
        div.sgwinner_racerbox{
		width: 100%;
		height: calc(100vw * 0.5625);  
                height:auto;
                justify-content: center;
        }
	.contents_area{
		width: 100vw;
		/*height: calc(100vh - 460px);*/
                height:auto;

		margin: 0 auto 0px;
        }   
        .news_area{
		width: 100vw;
		height: calc(100vh + 100px);
                height:auto;
		margin: 0 auto 0px;
        }
        .top_info_box{
            max-height: 300px;
            overflow-y: scroll;
        }

        div.contents_btn_area{
		width: 100%;
		height: calc(100vw * 0.5625);
                height:auto;

		margin: 0 auto 8px;
                gap: 10px 1px;
	}
        .pickup_news_flex{
		width: 100%;
		height: calc(100vw * 0.5625);
                height:auto;

		margin: 0 auto 0px;            
        }
        .movie_area{
		width: 100vw;
		height: calc(100vh + 100px);
                height:auto;

		margin: 0 auto 0px;
        }   
        .sgwinner_area{
		width: 100vw;
		height: calc(100vh + 300px);
                height:auto;
		margin: 0 auto 0px;
        }
        .sns_area{
		width: 100vw;
		height: calc(100vh + 500px);
                height:auto;

		margin: 0 auto 0px;
        }
        .sns_flex{
		width: 100%;
		height: calc(100vw * 0.5625);
                height:auto;

		margin: 0 auto 10px;            
        }
.sp_pnly_block{
	display:block;
}
.title_logo_sp{
	position: absolute;
	top:0;
	font-weight:bold;	
	font-size:0.8rem;
  	width:100%;
  	text-align: center;
	display:flex;
	justify-content:center;
	margin: 0 auto;
	flex-wrap:wrap;
}
.title_logo_memo{
	font-size:0.8rem;
	width:98%;
	text-align: center;
	line-height:1rem;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	padding: 0.4rem 0.2rem;
}
.title_logo_memo span{
	color: red;
	font-size:1.4rem;
	font-weight:bold;
}
.title_logo_memo font{
	color: red;
	font-size:1.4rem;
}

        .contents_btn{
                margin: auto;
                font-size: 1rem;
        }
        .contents_btn_item01{
            position: relative;
            width: 95%;
        }
        .contents_btn_item02{
            position: relative;
            width: 45%;
        }
        .contents_btn_item03{
            font-size: 0.9rem;
            position: relative;
            width: 29%;
            height: 60px;
        } 
        .contents_btn_item03_1{
            font-size: 0.9rem;
            position: relative;
            width: 29%;
            /*height: 60px;*/
            padding:5px 0 0;
        }
        .contents_btn_item03 a,
        .contents_btn_item03_1 a {
            line-height: 1rem;
            display: block;
            width: 100%;
            height: auto;
            vertical-align: middle;            
        }

.top_dream {
    padding: 10px;
}        
        
        .single_item {
            width: 100%;
            height: 2rem;
            justify-content: center;
            align-items: center;
            font-size: 1rem;
            font-weight: 600;
        }
	.tenbou_area div.single_item {
            width: 100%;
	    margin:0 auto;
            height: 2rem;
	    color:#fff73c;
            font-size: 1rem;
            font-weight: 600;
        }

        .single_item span {
            font-style: italic;
            color: yellow;
        }
        .dream_table div.tei {
            text-align: center;
            font-size: 0.8rem;
            line-height: 1.1rem;
            padding:2px 0;
        }
        .pn_item,
        .pn_item_pickup,
        .pn_item_news{
            width: 100%;
        }

        .pn_item_item02{
            height:auto;
        }
        .swiper--wrapper {
          /* wrapperのサイズを調整 */
          width: 100%;
          height: 260px;
        }
        .swiper-slide {
          /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
          color: #ffffff;
          width: 100%;
          height: 100%;
        }   
        
        /* 過去優勝戦動画リスト */
        .movie_link_box ul.scroll_content { /* リスト全体のスタイル */
            display: flex;
            width: 100%;
            justify-content: unset;
        } 
        .movie_link_box ul.scroll_content li { /* 各リストのスタイル */
            width: 80px;
        }
        .movie_link_box ul.scroll_content li a{
            width: 100%;
        } 
        .scroll_content::-webkit-scrollbar {
            height: 15px; /* スクロールバーの高さ */
        }
        .acd-label{
            position: relative;
        }
            
        .acd-label:after{
            content: '▼';
            display: block;
            height: 20px;
            padding: 10px 20px;
            position: absolute;
            right: 0;
            top: 0px;
        }
        .acd-check:checked + .acd-label:after{
            content: '▲';
        }

        
        /* sgwinner 1行3列の場合（2列の場合下記をコメント）*/
        div.sgwinner_racerbox {
            margin: 0;
        }
        .racer_item {
            width:110px;
            height: 220px;
            margin: 4px;
        }
        .review_img {
            width: 100%;
            height: 149px;
        }
        /* sgwinner end */

        /* sns (twitter instagram 埋め込み個所) */
        .sns_item{
            width: 98%;
            justify-content: center;
        }
        .title_h{
            /*margin: 65px 0px 45px 0px;*/
            padding: 40px 0;
        }
        .sns_item_item02{
            height:355px;
            width: 100%;
        }
        .sns_item_item03{
            height:auto;
            background-image:none;
        }        
        .sns_pc_only,
        .pc_only{
            display:none;
        }
        .sp_only{
            display:block;
        }
        
        /* sns icon */
        .sp_sns{
            width:35%;
            height:36px;
            display:block;
            position: absolute; 
            right: 40px;
            top: 25px;
        }
        .sp_sns img{
            width: 20px;
        }
        .sp_sns a{
            text-decoration: none;
            width: 100%;
            height: 100%;
        }
        .pc_sns{
            display:none;
        }
        
        .countdown_2 {
/*            top: calc(50% - 100px);
            left: calc(50% - 135px);*/
            top: calc(50% - 16px);
    left: calc(50% - 79px);
        }
        .cd_txt{
/*            width: 270px;
            height: 110px;   
            padding-right: 20px;*/
            
            width: 156px;
            height: 94px;
            padding-right: 0px;
        }
        .cd_txt span{   
            font-size:1rem;
            padding: 5px 0px 0 15px;    
        }
        .cd_txt ul {
/*          width: 180px;
          height: 57px;*/
            width: 140px;
            height: 48px;
            margin: 0 auto;
            top:2rem;
            left:2rem;            
        }
        .cd_txt_day{
            bottom:1px;
            font-size: 1rem;
            right: 4px;
        }
        
        /* タイトル */
.contents_area .title_h img{
    width:41%;
}
.movie_area .title_h img{
    width:50%;
}
.sgwinner_area .title_h img{
    width:41%;
}
.pickup{
    width:36%;
}
.news{
    width:31%;
}
.twitter{
    width:33%;
}
.instagram{
    width:41%;
}

}
@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */
        header {
            padding: 8px 0 3px;
        }
        .sp_sns {
            width: 40%;
            height: 38px;
            display: block;
            position: absolute;
            right: 40px;
            top: 25px;
        } 
        .sp_sns img {
            width: 23px;
        }  
        .top_enter_message{
            display: flex;
            justify-content: center;
            height:3rem;
            line-height: 1rem;
            align-items: center;
            text-align: left;
        }
        
        /* 展望 */
        .top_tenbou_box h3 {
            color: #fffafa;
            font-size: 1rem;
            font-weight: bold;
            font-style: italic;
            text-shadow: 4px 2px 0 0000001a;
            line-height: 2rem;
            letter-spacing: 2;
            padding: 20px 0 20px 0;
        }
        .top_tenbou_box_fl img {
            width: 100%;
            padding-bottom: 5px;
        }
        .top_tenbou_box_fl_series .textmain {
            width: 100%;
        }
        .top_tenbou_box_fl_series .image {
            width: 100%;
        }
        .top_tenbou_box .text {
            padding: 1rem 0.5px 20px;
            font-size: 1rem;
            color: #0f0f0f;
            letter-spacing: 1;
            font-weight: 500;
            line-height: 1.5rem;
            text-align: left;
        }


        
}


