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

ul, li {
	list-style: none;
}

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

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

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

.repo-link{
	color:#8F7003;
	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: 1s;
}
.fadeIn.is-show {
  opacity: 1;
}

.t-strong{
	font-weight: 600;
	border-bottom:2px solid #bf916b;
}


#contents .clear{
	clear:both;
}

@media screen and (min-width:769px )
{
	/*トップ*/
	.pc { display: block !important; }
	.sp { display: none !important; }

	body{
		background:#fff;
		/*background-attachment: fixed;*/
	   /* color:#eaff00;*/
		color:#222;
		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;
		font-size:16px;
	}	

	#snsbanner{
		display: inline-block;
		margin: 2em auto 1em auto;
		padding:0.25em 0.5em;
		text-align: center;
		padding:0;
/*		background: #c2e3d8;*/
		border-radius: 5em;
	}

	#gigyaShare {
		vertical-align: top;
		text-align: center;
		margin-left:-2.5em; 
	}
	
	header{
		width:100%;
		background-image:url("../img/topImg_pc1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		padding-top: 60.9375%;
		position: relative;
		top:0;
	}
	header .mainImage{
		width:93.833%;
		height:0;
		margin:0 0 0 3%;
		padding-top: 39.082%;
		background-image:url(../img/topImg_pc2.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position:center center;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
 	header #header_inner{
		width:100%;
		height:auto;
		margin:0;
		text-align:center;
		position:absolute;
		top:50%;
		transform:translateY(-50%);
	}
	@media screen and (min-width:1201px )
	{
		header{
			width:100%;
			background-image:url("../img/topImg_pc1.jpg");
			background-repeat: no-repeat;
			background-size:cover;
			background-position: center center;
			padding-top: 780px;
			position: relative;
		}
		header .mainImage{
			width:1126px;
			background-image:url("../img/topImg_pc2.png");
			background-repeat: no-repeat;
			background-size: contain;
			background-position: center center;
			padding-top: 469px;
			top:0;
			margin:0 auto;
		}	
		header #header_inner{
			width:1200px;
			height:auto;
			margin:0 auto;
			text-align:center;
			position:absolute;
			top:50%;
			right: 0;
			left: 0;
		}
	}
	.img{
		max-width: 100%;
		border: 0;
		margin:0;
		padding:0;
	}

	#contents{
		width:100%;
		padding:0;
		margin:0 auto;
		text-align: center;
	}
	#contents p{
		margi:0;
		padding: 0;
	}
	#contents .emphasis_design20 span {
	  background: linear-gradient(transparent 70%, #ffdb01 50%);
	  padding: 0 0.1em;
	}
	#contents .triangle_g{
		position: relative;
		text-align: left;
	}
 	#contents .triangle_g::before{
		background: #ffdb01;
		width:100%;
		height: 7vw;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		content: "";
		position: absolute;
		margin-top: -7vw;
	}

	/*イントロダクション*/
	#contents #intro{
		width:100%;
		max-width:1200px;
		height:auto;
		margin:0 auto;
		padding: 3em 0 1em 0;
		position: relative;
	}
	#contents #intro .copy{
		height:auto;
		color:#222;
		font-size:min(3.5vw,38px);
		line-height:min(5vw,54px); 
		font-weight: 600;
		margin:0 auto;
		padding:0 20px;
		text-align: center;
	}
	#contents #intro .introRead{
		height:auto;
		margin:0 auto;
		color:#222;
		text-align: center;
	}
	#contents #intro .introRead p{
		margin: 2em auto 1em auto;
		font-size:min(1.5vw,21px);
		line-height:min(3vw,52px);
		padding:0 20px;
	}
	#contents #intro .wrap {
		width:100%;
		display: flex;
		justify-content:center;
		align-items: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
	}
	#contents #intro .box_g{
		width:18%;
		height:auto;
		margin:0.5em 2em;
		padding:0;
	}
	#contents #intro .navi1{
		width:100%;
		height:auto;
		margin:0;
		padding-top:100%;
		background-image:url("../img/navi1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}	
	#contents #intro .navi2{
		width:100%;
		height:auto;
		margin:0;
		padding-top:100%;
		background-image:url("../img/navi2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}	
	#contents #intro .name{
		font-size:min(1.75vw,21px);
		font-weight: 600;
		margin:0.5em 0 0 0;
		padding:0;
		text-align: center;
		color:#222;
	}
	#contents #intro .name p{
		font-size:min(1.25vw,15px);
		font-weight: 200;
		line-height:1.5em;
		padding: 0;
		margin: 0;
	}
    #contents #intro .logo{
        margin:30px auto;
        padding: 0;
        text-align: center;
    }
    #contents #intro .logo .size{
       width:25%;
    }

	/*バナーエリア*/
	#contents #SPbanner{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 3em 0 10vw 0;
		position: relative;
		background: #dddddd;
	}
	#contents #SPbanner .wrap{
		width:100%;
		max-width:1200px;
		display: flex;
		justify-content:center;
		align-items: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
	position:relative;
	}
	#contents #SPbanner .box_g{
		width:25%;
		height:auto;
		margin:0;
		padding:0 1em;
		box-sizing:border-box;
	}
	#contents #SPbanner .banner1 a{
		width:100%;
		margin:0;
		padding-top:50%;
		background-image:url("../img/sp_banner1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		position:relative;
		display:block;
	}	
	#contents #SPbanner .banner2 a{
		width:100%;
		margin:0;
		padding-top:50%;
		background-image:url("../img/sp_banner2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		position:relative;
		display:block;
	}	
	#contents #SPbanner .banner3 a{
		width:100%;
		margin:0;
		padding-top:50%;
		background-image:url("../img/sp_banner3.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		position:relative;
		display:block;
	}	
	#contents #SPbanner a:hover{
		opacity: 0.5;
	}
	
	/*メッセージ*/
 	#contents #message{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 0 0 7vw 0;
		position: relative;
    }
	#contents #message .wrap{
		width: 100%;
		margin: -.01em 0 3em 0;
		padding: 0 0 0 0;
		background: #ffdb01;
	}
	#contents .icon_p{
		width:5%;
		margin:0 auto 1em auto;
		padding-top:5%;
		background-image:url("../img/icon.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		top:-4.5vw;
		right: 0;
		left: 0;
		position:absolute;
	}
	@media screen and (min-width:1201px )
	{
		#contents .icon_p{
			width:60px;
			padding-top:60px;
		}
	}
	#contents #message h2{
		height:auto;
		font-family: brother-1816, sans-serif;
		font-style: normal;
		font-weight: 900;
		color:#222;
		font-size:min(4.5vw,54px);
		line-height:min(3vw,36px);
		font-weight: 600;
		margin:0 auto;
		padding:.5em .5em 0 .5em;
		text-align: center;
	}
	#contents #message .copy{
		height:auto;
		color:#101748;
		font-size:min(2.5vw,28px);
		line-height:min(5vw,54px); 
		font-weight: 600;
		margin:1em auto 0.75em auto;
		padding:0;
		text-align: center;
	}
    #contents #message .messageRead{
 		max-width: 1200px;
       height:auto;
        margin:0 auto;
        text-align: center;
		color:#222;
	}
	/* ボタン */
	#contents #message .btn_message a{
		width:50%;
		max-width: 420px;
		/*影の基点とするためrelativeを指定*/
		position: relative;
		/*ボタンの形状*/
		text-decoration: none;
		display: inline-block;
		text-align: center;
		border-radius: 2em;
		box-sizing: border-box;
		outline: none;
		font-size:min(2vw,21px);
		font-weight: 600;
		/*アニメーションの指定*/
		transition: all 0.2s ease;
		background: #245e8e;
		padding:1em 0;
		margin: 1em 0 1em 0;
		color:#fff;
	}
	/*hoverをした後のボタンの形状*/
	#contents #message .btn_message a:hover{
		opacity: 0.5;
	}
	/*ボタンの中のテキスト*/
	#contents #message .btn_message span {
		position: relative;
		z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
		/*テキストの形状*/
		display: block;
		padding: 10px 30px;
		background:#bf916b;
		border-radius: 25px;
		color:#fff;
		/*アニメーションの指定*/
		transition: all 0.3s ease;
	}
	#contents #message .messageRead .Readtext{
        margin: 0.25vw auto .5vw auto;
		font-size:min(1.5vw,18px);
        line-height:min(2.5vw,32px);
		text-align: center;
		display: inline-block;
	}
	#contents #message .messageRead .present_list{
        margin:1vw auto 1.5vw auto;
		padding:0;
		font-size:min(1.5vw,18px);
        line-height:min(2.5vw,32px);
		text-align: left;
		font-weight: 600;
		list-style:none;
		width:max-content;
	}
	#contents #message .messageRead .present_list li{
		display:flex;
		align-items:flex-start;
		margin-bottom:.1em;
		font-weight:bold;
	}

	#contents #message .messageRead .present_list .label{
		width:9em;
		flex-shrink:0;
		color:red;
	}
	#contents #message .messageRead .detail span{
		color:#f00;
	}
	#contents #message .messageRead .Readtext_s{
        margin: 0 auto 1vw auto;
		padding:0.5vw;
		font-size:min(1vw,14px);
        line-height:min(1.75vw,26px);
		text-align: left;
		display: inline-block;
		background:#efefef;
		color:#888;
	}
	#contents #message .messageRead .Readtext_s a{
		color:#f09;
	}
	#contents #message .messageRead span{
		font-weight: 600;
	}
	#contents #message .s-text{
		margin: 1em 0;
		font-weight: 400;
		font-size:min(1vw,14px);
		line-height:min(3vw,21px);
		font-family: "source-han-sans-japanese", sans-serif;
		font-weight: 400;
		font-style: normal;
		color:#fff;
		text-align: center;
	}
    #contents #message .logo .size{
		width:25%;
		margin: 1em 0;
    }

	/*ゲスト*/
	#contents #guest{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 3vw 0 7vw 0;
		position: relative;
    }
	#contents #guest .wrap2{
		width: 100%;
		margin-top: -.01em;
		padding: 0;
		background: #ffdb01;
	}
	#contents #guest .icon_p{
		top:-1.5vw;
	}
	#contents #guest h2{
		height:auto;
		font-family: brother-1816, sans-serif;
		font-style: normal;
		font-weight: 900;
		color:#222;
		font-size:min(4.5vw,54px);
		line-height:min(3vw,36px);
		font-weight: 600;
		margin:0 auto;
		padding:.5em .5em 0 .5em;
		text-align: center;
	}
	#contents #guest .copy{
		height:auto;
		color:#101748;
		font-size:min(2.5vw,28px);
		line-height:min(5vw,54px); 
		font-weight: 600;
		margin:1em auto 0.75em auto;
		padding:0;
		text-align: center;
	}
	#contents #guest .wrap {
		max-width: 1200px;
		width:70%;
		display: flex;
		justify-content:center;
		align-items: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
	}
	#contents #guest .box_g{
		width:23.4%;
		height:auto;
		margin:1vw 2em;
		padding:0;
	}
	#contents #guest .photo1{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/guest1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .photo2{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/guest2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .photo3{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/guest3.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .photo4{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/guest4.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .photo5{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/guest5.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .live1{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/live1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .live2{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/live2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .live3{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:100%;
		background-image:url("../img/live3.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}
	#contents #guest .name{
		width:100%;
		font-size:min(1.75vw,18px);
		font-weight: 600;
		margin:0.75vw 0 0 0;
		padding:0;
		text-align: center;
		color:#222;
	}
	#contents #guest .name span{
		width:100%;
		font-size:min(1.2vw,12px);
		font-weight: 400;
		margin: 0;
		padding:0;
	}
	
	
	/*フォトレポート*/
	#contents #photo{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 3vw 0 4vw 0;
		position: relative;
    }
	#contents #photo .wrap2{
		width: 100%;
		margin-top: -.01em;
		padding: 0;
		background: #ffdb01;
	}
	#contents #photo .icon_p{
		top:-1.5vw;
	}
	#contents #photo h2{
		height:auto;
		font-family: brother-1816, sans-serif;
		font-style: normal;
		font-weight: 900;
		color:#222;
		font-size:min(4.5vw,54px);
		line-height:min(3vw,36px);
		font-weight: 600;
		margin:0 auto;
		padding:.5em .5em 0 .5em;
		text-align: center;
	}
	#contents #photo .title{
		align-items: center;
		display: flex;
	}
	#contents #photo .title::before,
	.title::after{
		border-top:0.05em dashed #222;
		content: "";
		flex-grow: 1; 
	}
	#contents #photo .title::before {
		margin-right: 0.3em;
	}
	#contents #photo .title::after {
		margin-left: 0.3em;
	}
	#contents #photo .copy{
		max-width:1000px;
		height:auto;
		color:#101748;
		font-size:min(2.5vw,28px);
		line-height:min(5vw,54px); 
		font-weight: 600;
		margin:1em auto 1em auto;
		padding:0;
		text-align: center;
	}
	#contents #photo .wrap{
		max-width:1200px;
		margin:4em auto 0 auto;
		padding:0;
	}
	#contents #photo .display{
		width:auto;
		height:auto;
		margin:-3vw auto 3vw auto;
	}
	#contents #photo .title img{
        width: 100vw;
        margin:0 auto 10px auto;
        padding:0;
    } 
	#contents #photo .display .detail{
		width:93.75%;
		height:auto;
		margin: 0 auto ;
		padding:0;
		overflow: hidden; /* heightを戻す */
	}
	#contents #photo .display .detail .hsPRimg ul{
		margin:0;
		padding:0;
		display: flex;
		justify-content: space-between;
    	flex-wrap:wrap;
	}
	#contents #photo .display .detail .hsPRimg ul::after{
		display: block;
		content:"";
		width: 20%;
		margin:0 1vw 0 1vw;
	}
	#contents #photo .display .detail .hsPRimg li{
		width:20%;
		height:20%;
		margin:3vw 1vw 0 1vw;
		padding:0;
	}
    #contents #photo .display .detail .hsPRimg img{
       border-radius: 0%;     
    }

	/*アーカイブ*/
	#contents #archive{
		width:100%;
		height:auto;
		margin:0 auto;
		padding:2vw 0;
		background: #dddddd;
		position: relative;
	}
	#contents #archive .wrap {
		max-width: 1200px;
		width:100%;
		display: flex;
		justify-content:center;
		align-items: flex-start;
		flex-wrap: wrap;
		margin: 2em auto 0 auto;
		padding:0;
	}
	#contents #archive .box_g{
		width:20%;
		height:auto;
		margin:1vw 1vw;
		padding:0;
	}
	#contents #archive .photo1{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:62.5%;
		background-image:url("../img/archive1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}	
	#contents #archive .photo2{
		width:100%;
		height:auto;
		margin:0 ;
		padding-top:62.5%;
		background-image:url("../img/archive2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}	
	#contents #archive .name{
		width:100%;
		font-size:min(1.25vw,14px);
		font-weight: 600;
		margin:0.75vw 0 0 0;
		padding:0;
		text-align: center;
		color:#222;
	}

	/*フッタ*/

	footer{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 0 0 1em 0;
		background: #ffdb01;
		position: relative;
		text-align: center;
	}
	footer .jLogo{
		width:100%;
		margin:1em auto 5px 0;
		padding:0;
		text-align: center;
	}

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

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

}


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

@media screen and (max-width:768px )
{
	.pc { display: none !important; }
	.sp { display: block !important; }
	
	body{
		background:#fff;
		/*background-attachment: fixed;*/
	   /* color:#eaff00;*/
		color:#222;
		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;
	}

	#snsbanner{
		display: inline-block;
		margin: 4vw auto 1vw auto;
		text-align: center;
		padding:0;
/*		background: #c2e3d8;*/
		border-radius: 8vw;
	}

	#gigyaShare {
		vertical-align: top;
		text-align: center;
		margin-left:-2.5em; 
	}
	header{
		width:100%;
		height:0;
		background-image:url("../img/topImg_sp1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		padding-top: 178.125%;
		position: relative;
		top:0;
	}	
	header .mainImage{
		width:95%;
		height:0;
		margin:0 auto;
		padding-top: 40.391%;
		background-image:url(../img/topImg_sp2.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	header #header_inner{
		position:relative;
		width:100%;
		height:auto;
		margin:0;
		text-align: center;
		position: absolute;
		top:50%;
		transform:translateY(-60%);
	}
	#contents{
		width:100%;
		margin:0 auto;
		padding:0;
		flex: 1;
		position: relative;
		text-align: center;
	}
	#contents .emphasis_design20 span {
	  background: linear-gradient(transparent 70%, #ffdb01 50%);
	  padding: 0 0.1em;
	}
	#contents .triangle_g{
		position: relative;
		text-align: left;
	}
 	#contents .triangle_g::before{
		background: #ffdb01;
		width:100%;
		height: 14vw;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		content: "";
		position: absolute;
		margin-top: -14vw;
	}
	
	/*イントロダクション*/
	#contents #intro{
		min-width:300px;
		height:auto;
		margin:0 auto;
		padding:6vw 0 3vw 0;
		position: relative;
	}
	#contents #intro .copy{
		min-width:300px;
		height:auto;
		color:#222;
		font-size:5vw;
		line-height: 8.5vw;
		font-weight: 600;
		margin:3vw 0;
		padding:0;
		text-align: center;
	} 
	#contents #intro .introRead{
		min-width:300px;
		height:auto;
		margin:1.5em 0 0 0;
		color:#222;
		font-size:3.1vw;
		line-height:8vw;
		text-align: center;
	}
	#contents #intro .introRead p{
		margin:2vw 0 4vw 0;
	}
	#contents #intro .wrap {
		min-width: 300px;
		width:100%;
		display: flex;
		justify-content:center;
		align-items: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
	}
	#contents #intro .box_g{
		width:30%;
		height:auto;
		margin:0.5em 1.5em;
		padding:0;
	}
	#contents #intro .navi1{
		width:100%;
		height:auto;
		margin:0 auto;
		padding-top:100%;
		background-image:url("../img/navi1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}	
	#contents #intro .navi2{
		width:100%;
		height:auto;
		margin:0 auto;
		padding-top:100%;
		background-image:url("../img/navi2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
	}	
	#contents #intro .name{
		width:100%;
		font-size:3.75vw;
		font-weight: 600;
		margin:0.75em 0 0 0;
		padding:0;
		text-align: center;
		color:#222;
	}
	#contents #intro .name p{
		font-size:2.25vw;
		font-weight: 200;
		line-height:0.25em;
		padding: 0;
		margin: 0;
	}
    #contents #intro .logo{
        margin:30px auto;
        padding: 0;
        text-align: center;
    }
    #contents #intro .logo .size{
       width:40%;
    }

	/*バナーエリア*/
	#contents #SPbanner{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 3em 0 18vw 0;
		position: relative;
		background: #dddddd;
	}
	#contents #SPbanner .wrap{
		width:100%;
		min-width:300px;
		display: flex;
		justify-content:center;
		align-items: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
		padding:0;
		position:relative;
	}
	#contents #SPbanner .box_g{
		width:60%;
		height:auto;
		margin:0 auto;
		padding:1em 0;
		box-sizing:border-box;
	}
	#contents #SPbanner .banner1 a{
		width:100%;
		margin:0;
		padding-top:50%;
		background-image:url("../img/sp_banner1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		position:relative;
		display:block;
	}	
	#contents #SPbanner .banner2 a{
		width:100%;
		margin:0;
		padding-top:50%;
		background-image:url("../img/sp_banner2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		position:relative;
		display:block;
	}	
	#contents #SPbanner .banner3 a{
		width:100%;
		margin:0;
		padding-top:50%;
		background-image:url("../img/sp_banner3.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		position:relative;
		display:block;
	}	
	#contents #SPbanner a:hover{
		opacity: 0.5;
	}
	
 /*メッセージ*/    
  	#contents #message{
		width:100%;
		height:auto;
		margin:0 auto;
		padding:0 0 14vw 0;
		position: relative;
    }
 	#contents #message .wrap{
		width: 100%;
		min-width:300px;
        margin:0 auto 6vw auto;
        padding:-.1em 0 1vw 0;
		background: #ffdb01;
		position: relative;
	}
	#contents .icon_p{
		width:7%;
		margin:0 auto 1em auto;
		padding-top:7%;
		background-image:url("../img/icon.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		top:-10vw;
		right: 0;
		left: 0;
		position:absolute;
	}
	#contents #message h2{
		min-width:300px;
		height:auto;
		font-family: brother-1816, sans-serif;
		font-style: normal;
		font-weight: 900;
		color:#222;
		font-size:7vw;
		line-height:7vw; 
		font-weight: 600;
		margin:0 auto;
		padding:0 2vw;
		text-align: center;
	}
	#contents #message .title{
		align-items: center;
		display: flex;
	}
	#contents #message .title::before,
	.title::after{
		border-top:0.25vw dashed #222;
		content: "";
		flex-grow: 1; 
	}
	#contents #message .title::before {
		margin-right: 2vw;
	}
	#contents #message .title::after {
		margin-left: 2vw;
	}
	#contents #message .copy{
		min-width:300px;
		height:auto;
		color:#222;
		font-size:4vw;
		line-height:6vw; 
		font-weight: 600;
		margin:4vw auto;
		padding:0;
		text-align: center;
	} 
    #contents #message .messageRead{
		min-width:300px;
        height:auto;
        margin:0 auto;
        text-align: center;
	}
	#contents #message .messageRead .Readtext{
        margin: 0.25vw auto 3vw auto;
		font-size:2.65vw;
		color:#222;
		text-align: center;
	}
	#contents #message .messageRead .present_list{
        margin:1.5vw auto 2vw auto;
		padding:0 1vw;
		font-size:2.65vw;
        line-height:3.5vw;
		text-align: left;
		font-weight: 600;
		list-style:none;
		width:fit-content;
		max-width:93%;
	}
	#contents #message .messageRead .present_list li{
		display:flex;
		align-items:flex-start;
		margin-bottom:2vw;
		font-weight:bold;
	}

	#contents #message .messageRead .present_list .label{
		width:9em;
		flex-shrink:0;
		color:red;
	}
	#contents #message .messageRead .Readtext_s{
		width:90vw;
        margin: 2vw auto 2vw auto;
		padding:2vw;
		font-size:2.25vw;
		line-height: 3vw;
		color:#fff;
		text-align: left;
		background:#efefef;
		color:#888;
	}
	#contents #message .messageRead .Readtext_s a{
		color:#f09;
	}

	#contents #message .messageRead p{
        margin: 0 2vw 4vw 2vw;
		font-size:3vw;
        line-height:5vw;
		text-align: left;
	}
	/* ボタン */
	#contents #message .btn_message a{
		width:70%;
		min-width: 300px;
		/*影の基点とするためrelativeを指定*/
		position: relative;
		/*ボタンの形状*/
		text-decoration: none;
		display: inline-block;
		text-align: center;
		border-radius:8vw;
		box-sizing: border-box;
		outline: none;
		font-size:3.5vw;
		font-weight: 600;
		/*アニメーションの指定*/
		transition: all 0.2s ease;
		background: #245e8e;
		padding:4vw 0;
		margin: 2vw auto;
		color:#fff;
	}
	/*hoverをした後のボタンの形状*/
	#contents #message .btn_message a:hover{
		opacity: 0.5;
	}
	/*ボタンの中のテキスト*/
	#contents #message .btn_message span {
		position: relative;
		z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
		/*テキストの形状*/
		display: block;
		padding: 10px 30px;
		background:#bf916b;
		border-radius: 25px;
		color:#fff;
		/*アニメーションの指定*/
		transition: all 0.3s ease;
	}
	#contents #message .b-text{
		font-weight: 600;
	}
    #contents #message .logo .size{
       width:45%;
       margin:1vw auto 2vw auto;
	}
	
	/*ゲスト*/
 	#contents #guest{
		width:100%;
		height:auto;
		margin:0 auto;
		padding:6vw 0 6vw 0;
		position: relative;
    }
    #contents #guest .wrap2{
		width: 100%;
		min-width:300px;
        margin:0 auto 6vw auto;
        padding:-.1em 0 1vw 0;
		background: #ffdb01;
		position: relative;
	}
 	#contents #guest .wrap{
        min-width:300px;
        margin:0 auto;
        padding:4vw 0;
    }
	#contents #guest h2{
		min-width:300px;
		height:auto;
		font-family: brother-1816, sans-serif;
		font-style: normal;
		font-weight: 900;
		color:#222;
		font-size:7vw;
		line-height:7vw; 
		font-weight: 600;
		margin:0 auto;
		padding:0 2vw;
		text-align: center;
	}
	#contents #guest .title{
		align-items: center;
		display: flex;
	}
	#contents #guest .title::before,
	.title::after{
		border-top:0.25vw dashed #222;
		content: "";
		flex-grow: 1; 
	}
	#contents #guest .title::before {
		margin-right: 2vw;
	}
	#contents #guest .title::after {
		margin-left: 2vw;
	}
	#contents #guest .copy{
		min-width:300px;
		height:auto;
		color:#222;
		font-size:4vw;
		line-height:6vw; 
		font-weight: 600;
		margin:4vw auto;
		padding:0;
		text-align: center;
	} 
	#contents #guest .wrap {
		min-width:300px;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin:4vw 0 2vw 0;
	}
	#contents #guest .box_g{
        width:50%;
        height:auto;
        margin:0;
		padding: 0;
    }
    #contents #guest .photo1{
        width:100%;
        height:auto;
        margin:0 0 0 0;
		padding-top:80%;
		background-image:url("../img/guest1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #guest .photo2{
        width:100%;
        height:auto;
        margin:0 0 0 0;
		padding-top:80%;
		background-image:url("../img/guest2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #guest .photo3{
        width:100%;
        height:auto;
        margin:0;
		padding-top:80%;
		background-image:url("../img/guest3.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #guest .photo4{
        width:100%;
        height:auto;
        margin:0;
		padding-top:80%;
		background-image:url("../img/guest4.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #guest .photo5{
        width:100%;
        height:auto;
        margin:0;
		padding-top:80%;
		background-image:url("../img/guest5.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #guest .live1{
        width:100%;
        height:auto;
        margin:0;
		padding-top:80%;
		background-image:url("../img/live1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #guest .live2{
        width:100%;
        height:auto;
        margin:0;
		padding-top:80%;
		background-image:url("../img/live2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
     #contents #guest .live3{
        width:100%;
        height:auto;
        margin:0;
		padding-top:80%;
		background-image:url("../img/live3.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
   #contents #guest .name{
		width:100%;
		font-size:3vw;
		font-weight: 600;
		color: #222;
		margin:1vw 0 3vw 0;
        padding:0;
		text-align: center;
  }	
    #contents #guest .name span{
		width:100%;
		font-size:2.5vw;
		font-weight: 400;
		margin:0;
        padding:0;
		text-align: center;
  }	
	
 /*フォトレポート*/
 	#contents #photo{
		width:100%;
		height:auto;
		margin:0 auto;
		padding:6vw 0 4vw 0;
		position: relative;
    }
    #contents #photo .wrap2{
		width: 100%;
		min-width:300px;
        margin:0 auto 1vw auto;
        padding:0 0 1vw 0;
		background: #ffdb01;
		position: relative;
	}
   #contents #photo .wrap{
        min-width:300px;
        margin:0 auto;
        padding:0;
    }
	#contents #photo h2{
		min-width:300px;
		height:auto;
		font-family: brother-1816, sans-serif;
		font-style: normal;
		font-weight: 900;
		color:#222;
		font-size:7vw;
		line-height:7vw; 
		font-weight: 600;
		margin:0 auto;
		padding:0 2vw;
		text-align: center;
	}
	#contents #photo .title{
		align-items: center;
		display: flex;
	}
	#contents #photo .title::before,
	.title::after{
		border-top:0.25vw dashed #222;
		content: "";
		flex-grow: 1; 
	}
	#contents #photo .title::before {
		margin-right: 2vw;
	}
	#contents #photo .title::after {
		margin-left: 2vw;
	}
	#contents #photo .copy{
		min-width:300px;
		height:auto;
		color:#222;
		font-size:4vw;
		line-height:6vw; 
		font-weight: 600;
		margin:4vw auto;
		padding:0;
		text-align: center;
	} 		
	#contents #photo .display{
		width:auto;
		height:auto;
		margin:0 auto;
	}
	#contents #photo .title img{
        width: 100vw;
        margin:0 auto 10px auto;
        padding:0;
    } 
	#contents #photo .display .detail{
		width:93.75%;
		height:auto;
		margin: 0 auto ;
		padding:0;
		overflow: hidden; /* heightを戻す */
	}	
	#contents #photo .display .detail .hsPRimg ul{
		margin:0;
		padding:0;
	}
	#contents #photo .display .detail .hsPRimg li{
		width:30%;
		height:30%;
		margin:3vw 1.5vw 0 1.5vw;
		padding:0;
		float:left;
	}
    #contents #photo .display .detail .hsPRimg img{
       border-radius: 0%;     
    }
	#contents #photo .display .detail .hsPRimg .clear{
		clear:both
	}
	
/*archiveト*/
    #contents #archive{
		width:100%;
		height:auto;
		padding:4vw 0 4vw 0;
		background: #dddddd;
		position: relative;
    }
	#contents #archive .wrap {
		min-width:300px;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin:4vw 0 2vw 0;
	}
	#contents #archive .box_g{
        width:40%;
        height:auto;
        margin:0 auto;
		padding: 0;
    }
    #contents #archive .photo1{
        width:100%;
        height:auto;
        margin:0 0 0 0;
		padding-top:62.5%;
		background-image:url("../img/archive1.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #archive .photo2{
        width:100%;
        height:auto;
        margin:0 0 0 0;
		padding-top:62.5%;
		background-image:url("../img/archive2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
        background-position: top center;
    }
    #contents #archive .name{
		width:100%;
		font-size:2.5vw;
		font-weight: 600;
		color: #222;
		margin:1vw 0 3vw 0;
        padding:0;
		text-align: center;
	}
	/*フッタ*/	
	footer{
		width:100%;
		height:auto;
		margin:0 auto;
		padding: 0 0 5vw 0;
		background: #ffdb01;
		position: relative;
		text-align: center;
	}
	footer .jLogo{
		width:100%;
        margin:20px auto 5px auto;
		padding:0;
        float: left;
        text-align: center;
	}
    footer .logo_jwave {
        width: 50%;
        margin:10px 0 7px 20px;  
      }
	footer .copyright{
		width:100%;
		font-size:2vw;
		text-align:center;
        letter-spacing: 0.25vw;
		margin:4.5vw 0 0 0;
		color:#222;
	}
	footer .banner_area{
		width:60%;
		height:auto;
		margin:0 auto 2vw auto;
		padding: 0;
		background: #222;
		position: relative;
	}
	footer .banner_area .banner2{
		width:100%;
		height:auto;
		padding-top:31.3%;
		background-image:url("../img/banner2.jpg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top center;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		border:0.1vw solid #dcdcdc;
		margin-bottom: 1vw;
	}	
}