@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@600&display=swap');

body{
	background:#fff;
    color:#000;
	letter-spacing:	2px;
	font-family: 'Noto Sans JP', sans-serif,游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ ゴシック',’MS PGothic’, Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif;
	text-align:	center;
	-webkit-text-size-adjust: 100%;
    display: flex;
	flex-flow: column;
	min-height: 100vh;
}


ul, li {
	list-style: none;
}

a:link{
	color:#8F7003;
	text-decoration:none;
}

a:visited{
	color:#435766;
	text-decoration:none;
}

a:hover{
	color:#ff6600;
	text-decoration:none;
}

.hidden{
	display:none;
	font-size:0px;
	text-indent:-9999px;
}

.object-fitImg{
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}


#contents .clear{
	clear:both;
}

#snsbanner{
    margin: 0 auto;
    text-align: center;
	padding:0;
}

#loader_wrap {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    top: 0;
    background: #1b1b1b;
    z-index: 50;
}


@media screen and (min-width:641px )
{

/*トップ*/
.pc { display: block !important; }
.sp { display: none !important; }

    .img{
        max-width: 100%;
        border: 0;
        margin:0;
        paddingg:0;
    }

    #contents{
        width:100%;
        padding:0;
        margin:0 auto;
    }
	
	#contents #top{
		width:100%;
		height:auto;
		display: flex;
		justify-content: center;
		font-family: 'Roboto', sans-serif;
	}
	#contents #top .l_side{
		width:25%;
/*		max-width:270px;*/
		height:auto;
		background: url("../img/pattern.svg");
		background-size: cover;
	}
	#contents #top .r_side{
		width:75%;
/*		max-width:810px;*/
		height:auto;
		text-align: right;
	}
     
   #contents .wrap{
        width:100%;
        height:auto;
    }
    
  	#contents #top .date{
		color:#000;
		font-size:min(2.5vw,30px);
		font-weight: 400;
		text-align: right;
		margin: 0.5em 1% 0 0;
		padding:0;
	}
     
  	#contents #top .title1{
		color:#000;
		font-size:min(4vw,54px);
		font-weight: 900;
		text-align: right;
		margin: 0.5em 1% 0 0;
		padding:0;
		line-height: 0.5em;
	}
   	#contents #top .title2{
		color:#000;
		font-size:min(5vw,68px);
		font-weight: 900;
		text-align: right;
		margin: 0.1em 1% 0 0;
		padding:0;
	}

    #contents #top .topImg{
        height:auto;
        padding:0;
        margin:0 auto;
        text-align: left;
		position: relative;
    }
	
	#contents #top .navi{
		display: flex;
		justify-content:flex-end;
		margin: 0 2% 0.5em 0;
	}
	
   	#contents #top .navi .text1{
		color:#000;
		font-size:min(2vw,24px);
		font-weight: 400;
		margin: 0.3em 1% 0 0;
		padding:0;
	}
	
	#contents #top .navi .text2 {
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:min(2.5vw,30px);
		font-weight: 600;
		margin: 0.1em 0 0 0;
		padding:0 0.5em;
	}
	#contents #top .navi .text2::before {
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 2.5vw;
		max-height: 30px;
		background: #000000;
		transform: skewX(-15deg);
	}
	#contents #top .navi2{
		display: flex;
		justify-content:flex-end;
		margin: 0 2% 2em 0;
	}

	#contents #top .navi2 .text3{
		color:#000;
		font-size:min(2vw,24px);
		font-weight: 400;
		margin: 4.25vw 1% 0 0;
		padding:0;
	}

	#contents #top .navi2 .text4 {
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:min(2.5vw,30px);
		font-weight: 600;
		margin: 4vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents #top .navi2 .text4::before {
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 2.5vw;
		max-height: 30px;
		background: #000000;
		transform: skewX(-15deg);
	}
	#contents #top .navi2 .navi_harry{
		width:12vw;
		height:12vw;
		background: url("../img/harry.jpg")no-repeat;
		background-size: contain;
		border-radius: 50%;
		margin-top: -10px;
	}	
	
 	#contents #top .topImg .bnd{
		width:80%;
        height:auto;
        padding-top:53.336%;
        margin:0 0 0 19%;
        background: url("../img/bnd.jpg")no-repeat;
        background-size:contain;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
  	#contents #top .topImg .copy{
		color:#666;
		font-size:min(1vw,12px);
		margin:0.5em 0 0 19%;
		margin:0.5em 0 0 19%;
		padding:0;
	}
	


    /*プログラム*/

    #contents .intro{
        width:100%;
        height:auto;
        margin:0 auto;
        padding:1em 0;
		background: #000;
    }

    #contents .intro .introRead{
		width:100%;
        max-width:1080px;
        height:auto;
        margin:0 auto;
        font-size:min(2vw,21px);
        line-height:min(4vw,42px);
        text-align: center;
		color:#fff;
    }

	#contents .intro .logo{
        margin:30px auto;
        padding: 0;
        text-align: center;
    }
    #contents .intro .logo .size{
       width:25%;
    }

    /*メッセージ*/

    #contents .message{
		width:100%;
        height:auto;
        margin:0 auto;
		padding:0;
		text-align: center;
    }
    
    #contents .message .container{
        width: 90%;
		max-width:1080px;
        padding-bottom:20px;
        margin:2vw auto 0 auto;
    }
	#contents .message .title{
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:min(3.5vw,42px);
		font-weight: 600;
		margin: 2vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents .message .title::before{
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 4vw;
		max-height: 48px;
		background: #000000;
		transform: skewX(-15deg);
	}
	
   #contents .message .copy{
        font-size:min(3vw,28px);
        font-weight:bold;
        text-align: center;
        color:#000;
        padding:1vw 0 0 0;
	}
    
    #contents .message .messageRead{
        height:auto;
        margin:0;
        font-size:min(1.75vw,21px);
        line-height:min(3.5vw,36px);
		color:#000;
    }
	
	#contents .message .btnWrap{
        max-width:1080px;
		padding:0.5vw 0 2vw 0;
		margin: 2vw auto 0 auto;
		text-align: center;
   }
    
   #contents .message .btn_pc a:link{
        color: #000;
        border:0.175vw solid #000;
        font-size: min(1.75vw,21px);
        font-weight: bold;
        padding: 1.5vw 4vw;
        text-decoration: none;
        transition-property: opacity;
        -webkit-transition-property: opacity;
        transition-duration: 0.5s;
        -webkit-transition-duration: 0.5s;

    }
   #contents .message .btn_pc a:hover{
        color:#000;
	  	background: #ddd;
        border:0.175vw solid #000;
        font-size: min(1.75vw,21px);
        font-weight: bold;
        padding: 1.45vw 3.95vw;

    }
	#contents .message .btn_pc a:visited{
        color: #000;
        border:0.175vw solid #000;
        font-size: min(1.75vw,21px);
        font-weight: bold;
        padding: 1.5vw 4vw;
    }

	
   /*プレイリスト*/

    #contents .playlist{
		width:100%;
        height:auto;
        margin:3vw auto 0 auto;
		padding:0;
		text-align: center;
		background: #000;
    }
    
    #contents .playlist .container{
        width: 90%;
		max-width:1080px;
        padding-bottom:20px;
        margin:2vw auto 0 auto;
    }
	#contents .playlist  .title{
		position: relative;
		display: inline-block;
		color:#000;
		font-size:min(3.5vw,42px);
		font-weight: 600;
		margin: 2vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents .playlist .title::before{
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: 1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 4vw;
		max-height: 48px;
		background: #fff;
		transform: skewX(-15deg);
	}
 	#contents .playlist .title::after{
		content: "PLAYLIST";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: 1;
		padding:0 0 0.1em 0;
		position: absolute;
	}
  #contents .playlist .copy{
        font-size:min(3vw,28px);
        font-weight:bold;
        text-align: center;
        color:#fff;
        padding:1vw 0 0 0;
	}
    #contents .playlist .read{
        height:auto;
        margin:0;
        font-size:min(1.75vw,21px);
        line-height:min(3.5vw,36px);
		color:#fff;
    }
     #contents .playlist .comment{
        margin:0 auto 2vw auto;
        font-size:min(1.75vw,21px);
        line-height:min(3.5vw,36px);
		color:#fff;
    }
	#contents .playlist .comment .name{
        margin:0 auto 0.5em auto;
        font-size:min(2vw,26px);
        line-height:min(3.5vw,36px);
		color:#fff;
		font-weight: bold;
    }
 	#contents .playlist .comment .song{
        margin:0 auto 0.5em auto;
        font-size:min(1.75vw,21px);
        line-height:min(3vw,30px);
		color:#fff;
		font-weight: bold;
    }
  	#contents .playlist .comment .detail{
        margin:0 auto;
        font-size:min(1.5vw,18px);
        line-height:min(3vw,30px);
		color:#fff;
		text-align: left;
	}

    /*ゲスト*/

    #contents .guest{
        max-width:1080px;
        height:auto;
        margin:0 auto 2vw auto;
		padding:0;
		text-align: center;
    }
	#contents .guest .title{
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:min(3.5vw,42px);
		font-weight: 600;
		margin: 2vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents .guest .title::before{
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 4vw;
		max-height: 48px;
		background: #000000;
		transform: skewX(-15deg);
	}
		
	#contents .guest .wrap {
		max-width: 100%;	
		display: flex;
/*		justify-content:space-between;*/
		justify-content:center;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
	}
		
	#contents .guest .box_g{
        width:45%;
		max-width:486px;
        height:auto;
		padding:2vw 1.25vw 0 1.25vw;
		magin:0 0 -1vw 0;
   }
	
	#contents .guest .photo1{
        width:100%;
        height:auto;
        margin:0;
		padding-top:66.67%;
		background-image:url("../img/imase.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
 		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		
		
   }
  	#contents .guest .photo2{
        width:100%;
        height:auto;
        margin:0;
		padding-top:66.67%;
		background-image:url("../img/sui.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
 		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		
		
   }
 
	#contents .guest .name{
        font-size:min(3vw,24px);
        line-height:min(2.5vw,24px);
		color:#000;
        font-weight:bold;
		text-align: center;
		margin: 1vw 0 0 0;
		padding: 0;
    }

	#contents .guest .name_s{
        font-size:min(2vw,18px);
		color:#000;
		text-align: center;
		margin: 0.4vw 0 0 0;
		padding: 0;
    }

    /*フッタ*/

    footer{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 0 0 1vw 0;
		background: #000;
		position: relative;
		text-align: center;
    }
	#snsbanner{
		display: inline-block;
		margin: 2vw auto 1vw auto;
		text-align: center;
		padding:0;
		background: #999;
		border-radius: 8vw;
	}

	#gigyaShare {
		vertical-align: top;
		text-align: center;
		margin-left:-2.5em; 
	}
    footer .jLogo{
        width:100%;
        margin:0px auto 5px 0;
        padding:0;
        text-align: center;
        
    }

    footer .logo_jwave {
        width: 240px;
        margin: 20px 0 5px 20px;
    }

    footer .copyright{
        width:100%;
        font-family: Arial, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
        font-size:12px;
        color:#fff;
        text-align:center;
        padding:5px auto 0 auto;
    }

}


/* スマートフォン用 */

@media screen and (max-width:640px )
{
	.pc { display: none !important; }
	.sp { display: block !important; }
/*	
	img {
		border: 0;
		width: 100%;
	}
	
*/
    #contents{
		width:100%;
		margin:0 auto;
		padding:0;
        flex: 1;
	}
		

	#contents #top{
		width:100%;
		height:auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		font-family: 'Roboto', sans-serif;
	}
	#contents #top .l_side{
		width:100%;
		height:15vh;
/*		max-width:270px;*/
		background: url("../img/pattern.svg");
		background-size: cover;
	}
	#contents #top .r_side{
		width:100%;
		height:75vh;
/*		max-width:810px;*/
		height:auto;
		text-align: center;
	}

	#contents #top .date{
		color:#000;
		font-size:4vw;
		font-weight: 400;
		text-align: center;
		margin: 0.5em 1% 0 0;
		padding:0;
	}
     
  	#contents #top .title1{
		color:#000;
		font-size:5vw;
		font-weight: 900;
		text-align: center;
		margin: 0.5em 1% 0 0;
		padding:0;
		line-height: 0.5em;
	}
   	#contents #top .title2{
		color:#000;
		font-size:8vw;
		font-weight: 900;
		text-align: center;
		margin: 0.1em 1% 0 0;
		padding:0;
	}
	
	#contents #top .navi{
		display: flex;
		justify-content:center;
		margin: 1em 0 1em 0;;
	}
	
   	#contents #top .navi .text1{
		color:#000;
		font-size:4vw;
		font-weight: 400;
		margin: 0.3em 1% 0 0;
		padding:0;
	}
	
	#contents #top .navi .text2 {
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:5vw;
		font-weight: 600;
		margin: 0.1em 0 0 0;
		padding:0 0.5em;
	}
	#contents #top .navi .text2::before {
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 5vw;
		max-height: 30px;
		background: #000000;
		transform: skewX(-15deg);
	}
	#contents #top .navi2{
		display: flex;
		justify-content:flex-end;
		margin: 0 1% 4vw 0;
	}

	#contents #top .navi2 .text3{
		color:#000;
		font-size:4vw;
		font-weight: 400;
		margin: 10vw 1% 0 0;
		padding:0;
	}

	#contents #top .navi2 .text4 {
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:5vw;
		font-weight: 600;
		margin: 9vw 2vw 0 0;
		padding:0 0.5em;
	}
	#contents #top .navi2 .text4::before {
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 5vw;
		max-height: 30px;
		background: #000000;
		transform: skewX(-15deg);
	}
	#contents #top .navi2 .navi_harry{
		width:24vw;
		height:24vw;
		background: url("../img/harry.jpg")no-repeat;
		background-size: contain;
		border-radius: 50%;
	}	
	
 	#contents #top .topImg .bnd{
		width:100%;
        height:auto;
        padding-top:66.67%;
        margin:0 auto 0 auto;
        background: url("../img/bnd.jpg")no-repeat;
        background-size:contain;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
  	#contents #top .topImg .copy{
		color:#666;
		font-size:2vw;
		margin:0.5em 0 0 2.5%;
		padding:0;
		text-align: left;
	}
	
    #contents .intro{
        min-width:300px;
        height:auto;
        margin:0 auto;
        padding:1vw 0;
		background: #000;
    }

    #contents .intro .introRead{
        min-width:300px;
        height:auto;
        margin:0;
        font-size:3.5vw;
        line-height:5vw;
		color:#fff;
        text-align: center;
    }

    #contents .intro .logo{
        margin:30px auto;
        padding: 0;
        text-align: center;
    }
	
    #contents .intro .logo .size{
       width:40%;
    }
    /*message_sp*/
    
    #contents .message{
        min-width:300px;
        height:auto;
        margin:2vw auto 0 auto;
        padding:0;
		text-align: center;
    }
  	#contents .message .title{
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:7vw;
		font-weight: 600;
		margin: 2vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents .message .title::before{
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 7vw;
		background: #000000;
		transform: skewX(-15deg);
	}  

   #contents .message .copy{
        font-size:3.5vw;
        font-weight:bold;
        text-align: center;
        color:#000;
    }
     
    #contents .message .messageRead{
        height:auto;
        margin:0;
        font-size:3vw;
        line-height:5vw;
		color:#000;
		text-align: center;
    }
  	
	#contents .message .btnWrap{
		padding:0;
		margin: 6vw auto 0 auto;
		text-align: center;
   }
    
   #contents .message .btn_pc a:link{
        color: #000;
        border:0.75vw solid #000;
        font-size: 4vw;
        font-weight: bold;
        padding: 1.5vw 4vw;
        text-decoration: none;
        transition-property: opacity;
        -webkit-transition-property: opacity;
        transition-duration: 0.5s;
        -webkit-transition-duration: 0.5s;
    }
   #contents .message .btn_pc a:hover{
        color:#000;
    }
	#contents .message .btn_pc a:visited{
        color: #000;
    }


	/*プレイリスト*/
   #contents .playlist{
        min-width:300px;
        height:auto;
        margin:6vw auto 0 auto;
        padding:2vw 0;
		background: #000;
	   text-align: center;
    }
   
    #contents .playlist .container{
        width: 100%;
        margin:2vw auto 0 auto;
    }
	#contents .playlist .title{
		position: relative;
		display: inline-block;
		color:#000;
		font-size:7vw;
		font-weight: 600;
		margin: 2vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents .playlist .title::before{
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: 1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 7vw;
		background: #fff;
		transform: skewX(-15deg);
	}
 	#contents .playlist .title::after{
		content: "PLAYLIST";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: 1;
		padding:0 0 0.1em 0;
		position: absolute;
	}
  #contents .playlist .copy{
        font-size:5vw;
        font-weight:bold;
        text-align: center;
        color:#fff;
        padding:1vw 0 0 0;
	}
    #contents .playlist .read{
        height:auto;
        margin:0;
        font-size:3vw;
        line-height:5vw;
		color:#fff;
    }
     #contents .playlist .comment{
        margin:0 auto 5vw auto;
		color:#fff;
    }
	#contents .playlist .comment .name{
        margin:0 auto 1vw auto;
        font-size:4vw;
        line-height:5vw;
		color:#fff;
		font-weight: bold;
    }
 	#contents .playlist .comment .song{
        margin:0 auto 1vw auto;
        font-size:3.5vw;
        line-height:4.5vw;
		color:#fff;
		font-weight: bold;
    }
  	#contents .playlist .comment .detail{
		width:90%;
        margin:0 auto;
        font-size:2.5vw;
        line-height:3.75vw;
		color:#fff;
		text-align: left;
	}

	/*guest_sp*/
    
	#contents .guest{
		min-width:300px;
		height:auto;
		margin:6vw auto;
		padding:0;
		text-align: center;
	}
	
  	#contents .guest .title{
		position: relative;
		display: inline-block;
		color:#fff;
		font-size:7vw;
		font-weight: 600;
		margin: -2vw 1vw 0 0;
		padding:0 0.5em;
	}
	#contents .guest .title::before{
		content: "";
		top: 0;
		bottom: 0;
		left: 0;
	    right: 0;
	    z-index: -1;
		padding:0 0 0.1em 0;
		position: absolute;
		height : 7vw;
		background: #000000;
		transform: skewX(-15deg);
	}  

	#contents .guest .wrap {
		max-width: 95%;	
		display: flex;
/*		justify-content:space-between;*/
		justify-content:center;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
	}
	
	
	#contents .guest .box_g{
        width:70%;
        height:auto;
		padding:4vw 2.5% 0 2.5%;
		magin:0;
   }
	
	#contents .guest .photo_wrap{
		padding:0.75vw;
		border:0.3vw solid #c07f13;
	}

	#contents .guest .photo1{
        width:100%;
        height:auto;
        margin:0;
		padding-top:67.5%;
		background-image:url("../img/imase.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
 		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		
		
   }
  	#contents .guest .photo2{
        width:100%;
        height:auto;
        margin:0;
		padding-top:67.5%;
		background-image:url("../img/sui.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
 		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		
		
   }
	#contents .guest .name{
        font-size: 5vw;
        line-height:5vw;
        font-weight:bold;
		text-align: center;
		margin: 0.5vw 0 0 0;
		padding: 0;
    }
	#contents .guest .name_s{
        font-size: 3vw;
		text-align: center;
		margin: 0.25vw 0 0 0;
		padding: 0;
    }

   
/*フッタ*/	
	footer{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 0 0 5vw 0;
		background: #000;
		position: relative;
        text-align: center;
	}
	#snsbanner{
		display: inline-block;
		margin: 4vw auto 3vw auto;
		text-align: center;
		padding:0;
		background: #999;
		border-radius: 8vw;
	}

	#gigyaShare {
		vertical-align: top;
		text-align: center;
		margin-left:-2.5em; 
	}
	footer .jLogo{
		width:100%;
        margin:10px auto 5px auto;
		padding:0;
        float: left;
        text-align: center;
	}

    footer .logo_jwave {
        width: 50%;
        margin:0 0 7px 20px;  
      }

	footer .copyright{
		width:100%;
		font-size:2vw;
		color:#fff;
		text-align:center;
        letter-spacing: 0.25vw;
		margin:4.5vw 0 0 0;
		padding-bottom: 2vw;
	}
	
}