@charset "utf-8";
.topContents{padding-bottom: 120px;}
.mainimage{
	max-width: 1115px;
	min-width: 1000px;
	margin: 20px auto 0;
	/*display: grid;*/
	width: 100%;
	position: relative;
}
.indexContents{
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto;
	clear: both;
}
.scrollBtn{
	display: inline-block;
	width: 100px;
	height: 20px;
	position: absolute;
	bottom: -80px;
	left: calc(50% - 50px);
	transform: rotateZ(90deg);
}
.scrollBtn a{
	text-decoration: none;
	color: #000;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	position: relative;
	display: block;
	width: 100px;
	height: 20px;
}
.scrollBtn a::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background: #000;
	position: absolute;
	right: 0;
	bottom: 5px;
}
.scrollBtn a::after{
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	background: #000;
	bottom: 3px;
	right: 36px;
	position: absolute;
}
/*---------- 見出し ----------*/
.newsBox h2,.scheduleBox h2,.linkBox h2{
	background: url("../images/base/h2.png") left top / 50px no-repeat;
	padding-left: 65px;
	line-height: 100%;
	font-size: 3.6rem;
}
.voiceName{
	background: url("../images/base/h2.png") left top / 45px no-repeat;
	padding-left: 60px;
	line-height: 100%;
	font-size: 3.4rem;
}
.scheduleBoxCalender h2{
    background: none;
}
.newsBox h2,.scheduleBox h2,.linkBox h2{
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
}
.newsBox h2 span,.scheduleBox h2 span,.linkBox h2 span{
	font-size: 1.5rem;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}
.voiceName{
	padding-top: 5px;
	padding-bottom: 10px;
	margin-bottom: 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
}
.scheduleBox h2{margin-bottom: 30px;}

/*ティザーで使用していたバナー表示エリア*/
/*.indexTeaserBnrArea{
    display:flex;
    flex-wrap:wrap;
    margin:75px 0 75px;
}
.indexTeaserBnrArea > div{
    width:calc((100% - 10px) / 5);
    margin:0px 1.9px 0px 0px;
    z-index:3;
}
.indexTeaserBnrArea > div:nth-child(5){
    margin:0px;
}
.indexTeaserBnrArea > div img{
    display:block;
    margin: 0 auto;
}
.indexTeaserBnrArea > div a{
    
}
.indexTeaserBnrArea > div:hover{
    outline:2px solid #292c8c;
    outline-offset: -2px;
}
@media only screen and (max-width:999px) {
    .indexTeaserBnrArea{
        flex-direction: column;
        margin-bottom:25px;
    }
    .indexTeaserBnrArea > div{
        width:100%;
        margin:0px 0px 2px 0px;
    }
}*/
.indexTeaserBnrArea{
    display:flex;
    flex-wrap:wrap;
    margin-bottom:50px;
}
.indexTeaserBnrArea > div{
    width:calc((100% - 25px) / 6);
    margin:5px 4.9px 5px 0px;
    /*background-color:#f5f5f5;*/
    position: relative;  
}
.indexTeaserBnrArea > div:nth-child(6n){
    margin:5px 0px 5px 0px;
}
.indexTeaserBnrArea > div img{
    display:block;
    margin: 0 auto;
}

.indexTeaserBnrArea > div:hover{
    outline:2px solid #292c8c;
    outline-offset: -2px;
}
.indexTeaserBnrArea > div:nth-child(1):hover,
.indexTeaserBnrArea > div.noOutline:hover{
    outline:0px;
}
.indexTeaserBnrArea div.indexYoutube{
    width:100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
/*.indexTeaserBnrArea > div.youtube::before{
    content:"";
    display: block;
    padding-top: 56.25%;
}*/
.indexTeaserBnrArea div.indexYoutube iframe {
/*    position: absolute;*/
    width: 100%;
    height: 100%;
}
.indexTeaserBnrArea .buttonLink1 {
    margin: 0 auto 0px;
    display:inline-block;
    display:flex;
    justify-content: center;
    border-radius: 0;
    margin-top:5px;
}
.indexTeaserBnrArea .buttonLink1 a{
    background-color:#999;
    padding:0px 50px 0px 25px;
    display:flex;
    height:auto;
    width:99%;
    align-items: center;
    border-radius: 6px;
    color:#fff;
    padding-top:2px;
}
.indexTeaserBnrArea .buttonLink1 a:hover{
    background-color:#aaa;
}
.indexTeaserBnrArea .buttonLink1.green a{
    background-color:rgba(15,145,66,1);
}
.indexTeaserBnrArea .buttonLink1.green a:hover{
    background-color:rgba(15,145,66,0.8);
}
.indexTeaserBnrArea .buttonLink1.sky a{
    background-color:rgba(26,154,230,1);
}
.indexTeaserBnrArea .buttonLink1.sky a:hover{
    background-color:rgba(26,154,230,0.5);
}
.indexTeaserBnrArea .buttonLink1.navy a{
    background-color:rgba(42,44,140,1);
}
.indexTeaserBnrArea .buttonLink1.nevy a:hover{
    background-color:rgba(42,44,140,0.5);
}
.indexTeaserBnrArea .buttonLink1.pink a{
    background-color:rgba(238,69,161,1);
}
.indexTeaserBnrArea .buttonLink1.pink a:hover{
    background-color:rgba(238,69,161,0.5);
}
.indexTeaserBnrArea .buttonLink1.red a{
    background-color:rgba(255,0,0,1);
}
.indexTeaserBnrArea .buttonLink1.red a:hover{
    background-color:rgba(255,0,0,0.5);
}
.indexTeaserBnrArea .buttonLink1.yellow a{
    background-color:rgba(254,239,0,1);
    color:rgba(42,44,140,1);;
}
.indexTeaserBnrArea .buttonLink1.yellow a:hover{
    background-color:rgba(254,239,0,5);
}
.indexTeaserBnrArea .buttonLink1 a::before{
    top: calc((100% - 1em) /2);
    margin-top: 0px;
    line-height:1;
}
@media only screen and (max-width:1350px) {
    .indexTeaserBnrArea .buttonLink1 {
        font-size:1.1vw;
    }
    .indexTeaserBnrArea .buttonLink1 a{
        padding:0px 3.76vw 0px 1.88vw;
    }    
}
@media only screen and (max-width:999px) {
    .indexTeaserBnrArea{
        flex-direction: column;
        margin-bottom:25px;
    }
    .indexTeaserBnrArea > div{
        width:100%;
        margin:0px 0px 10px 0px;
    }
    .indexTeaserBnrArea > div:last-child{
        margin:0px 0px 2px 0px;
    }
    .indexTeaserBnrArea .buttonLink1 {
        font-size:1.6rem;
    }
    .indexTeaserBnrArea .buttonLink1 a{
        padding:0px 50px 0px 25px;
    }
}
/*---------- NEWS ----------*/
.newsBox{
	display: flex;
	padding: 50px 0;
}
.newsBox > div:first-child{
	width: 300px;
}
.newsBox > div:last-child{
	width: calc(100% - 300px);
}
.newsBox h2{
	margin-bottom: 25px;
}
.newsBox > div:first-child a{
	color: #000;
	padding-bottom: 5px;
	text-decoration: none;
	border-bottom: 2px solid #000;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
}
.newsBox .newsList1 li{
	padding-bottom: 0;
	border-bottom: none;
}
/*---------- Message ----------*/
.indexMessage{
    margin:50px 0;
}
.indexMessageBox{
    display:flex;
    padding:0px 0 0px;
    align-items: center;
}
.indexMessageBox > div:nth-child(1){
    width:calc(100% - 425px);
}
.indexMessageBox > div:nth-child(2){
    width:400px;
    margin-left:25px;
}
.indexMessage h2{
    font-family:'Noto Sans JP',sans-serif;
    font-weight:900;
    margin-bottom:30px;
    font-size:3.5rem;
    letter-spacing: 0.1rem;    
    line-height:1;
    min-height:50px;
    display:flex;
    align-items: center;
}
.indexMessage h2::before{
    content:"";
    background-image:url("../images/base/h2.png");
    background-position:left top;
    background-size:50px;
    background-repeat:no-repeat;
    display:inline-block;
    width:50px;
    height:50px;
    margin-right:15px;
}
.indexMessage h3{
    font-family:'Noto Sans JP';
    font-weight:700;
    margin-bottom:25px;
    margin-top:25px;
    font-size:3.0rem;
    letter-spacing: 0.1rem;
}
.indexMessageBox img{
    display:block;
    margin:0 auto;
}
.indexMessage p{
    margin-bottom:25px;
}
.indexMessage .boxContainer{
    display:flex;
    flex-wrap: wrap;
}
.indexMessage .boxContainer > div{
    width:calc((100% - 50px)/3);
    margin:0 14.9px 15px 0;
    border-radius: 10px;
    border: 3px solid #eee;
    padding:10px 15px;
}
.indexMessage .boxContainer > div:nth-child(3n){
    margin:0 0 15px 0;
}
.indexMessage .boxContainer > div > p{
    margin-bottom:0;
}
.indexMessage .boxContainer > div h4{
    font-family:'Noto Sans JP';
    font-weight:600;
    margin-bottom:10px;
    font-size:2.2rem;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width:999px){
    .indexMessage{
        margin:100px 0;
    }
    .indexMessageBox{
        flex-direction: column;
        padding:0px 0 0px;        
    }
    .indexMessageBox > div:nth-child(1),
    .indexMessageBox > div:nth-child(2){
        width:100%;
        margin-left:0px;
    }
    .indexMessage h2{
        font-family:'Noto Sans JP',sans-serif;
        font-weight:900;
        margin-bottom:30px;
        font-size:3.0rem;
        letter-spacing: 0.1rem;    
        line-height:1;
        min-height:35px;
        display:flex;
        align-items: center;
    }
    .indexMessage h2::before{
        content:"";
        background-image:url("../images/base/h2.png");
        background-position:left top;
        background-size:35px;
        background-repeat:no-repeat;
        display:inline-block;
        width:35px;
        height:35px;
        margin-right:15px;
    }
    .indexMessage h3{
        margin-bottom:15px;
        margin-top:15px;
        font-size:2.5rem;
    }
    .indexMessage p{
        margin-bottom:25px;
    }
    .indexMessage .boxContainer{
        flex-direction: column;
    }
    .indexMessage .boxContainer > div{
        width:100%;
    }
    .indexMessage .boxContainer > div h4{
        font-family:'Noto Sans JP';
        font-weight:600;
        margin-bottom:10px;
        font-size:2.0rem;
        letter-spacing: 0.1rem;
    }
}
/*---------- Voice ----------*/
.voice{
	padding: 200px 0 220px;
	position: relative;
}
.voice::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 200px;
	content: "";
	background: url("../images/contents/index/voice.png") left top / contain no-repeat;
}
.voice::after{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 120px;
	content: "";
	background: url("../images/contents/index/voice-after.png") center / cover no-repeat;
}

img.voiceTitle{
	display: block;
	width: 100%;
}
.voiceText{
    margin-bottom:10px;
}
.indexVoiceList,
.indexVoiceList2{
	padding: 120px 0 0;
	position: relative;
}
.indexVoiceList2{
    display:flex;
    flex-wrap:wrap;
}
/*.indexVoiceList::before{
	display: block;
	content: "";
	position: absolute;
	width: 577px;
	height: 203px;
	top: -203px;
	left: 0;
	background: url("../images/contents/index/voice.png") left / contain no-repeat;
}*/
/*.indexVoiceList::before{
	content: "";
	position: absolute;
	left: 60px;
	top:-30px;
	background: url("../images/contents/index/ayamate.png") left top / contain no-repeat;
	width: 640px;
	height: 138px;
}*/

.indexVoiceList > li,
.indexVoiceList2 > li{
	display: flex;
    justify-content: space-between;
	position: relative;
	margin-bottom: 100px;
}
.indexVoiceList2 > li{
    width:calc((100% - 100px)/2);
    margin:0 99.9px 100px 0;
}
.indexVoiceList2 > li:nth-child(2n){
    margin-right:0;
}
.indexVoiceList > li:last-child{
    margin-bottom:0;
}
/*.indexVoiceList2 > li > div:nth-child(2) > div{
	height:420px
}*/
.indexVoiceList2 > li > div{
    width:calc((100% - 25px) /2);
}
.indexVoiceList2 > li > div > img,
.indexVoiceList2 > li img,
.indexVoiceList > li img{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.indexVoiceList2 > li > div > img,
.indexVoiceList2 > li img{
    height: auto;
}
.indexVoiceList2 > li > div,
.indexVoiceList > li > div{
	max-width: 420px;
    /*height:420px;*/
}
.indexVoiceList > li > div:first-child{
	padding-top: 150px;
}
.indexVoiceList2 > li > div:first-child,.indexVoiceList2 > li:nth-child(even) > div:first-child{
    padding-top: 80px;
}
.indexVoiceList2 > li > div:first-child{
    margin-left: 25px;
}
.indexVoiceList2 > li:nth-child(even) > div:first-child{
    margin-left: 0px;
    margin-right: 25px;
}
ul.indexVoiceList2 li:nth-child(odd),
ul.indexVoiceList li:nth-child(odd) {
    flex-direction: row-reverse;
}
.indexVoiceList2 > li > div > p,
.indexVoiceList > li > div > p{margin-bottom: 25px;}
.indexVoiceList2 > li > div > div:last-child a,
.indexVoiceList > li > div > div:last-child a{
	text-decoration: none;
	border-bottom: 2px solid #000;
	padding-bottom: 5px;
	color: #000;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
}
.indexVoiceList > li::before{
    display: block;
	text-align: center;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	line-height: 100%;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 12rem;
}
.indexVoiceList2 > li::before{
    display: block;
	text-align: center;
	position: absolute;
	top: 0px;
	left: 70%;
	transform: translateX(-50%);
	line-height: 100%;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 6rem;
}
ul.indexVoiceList2 li:nth-child(even)::before{
    left:20%;
}
.indexVoiceList2 > li:nth-child(1)::before,.indexVoiceList > li:nth-child(1)::before{content: "#01";}
.indexVoiceList2 > li:nth-child(2)::before,.indexVoiceList > li:nth-child(2)::before{content: "#02";}
.indexVoiceList2 > li:nth-child(3)::before,.indexVoiceList > li:nth-child(3)::before{content: "#03";}
.indexVoiceList2 > li:nth-child(4)::before,.indexVoiceList > li:nth-child(4)::before{content: "#04";}
/*.voice01::before,.voice02::before,.voice03::before,.voice04::before{
	display: block;
	text-align: center;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	line-height: 100%;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 12rem;
}
.voice01::before{content: "#01";}
.voice02::before{content: "#02";}
.voice03::before{content: "#03";}
.voice04::before{content: "#04";}*/
.viewAllBtn a{
	display: block;
	color: #000;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	text-align: center;
	border:2px solid #000;
	text-decoration: none;
	padding: 10px;
	transition:0.3s;
}
.viewAllBtn a:hover{
	color: #fff;
	background: #000;
	transition:0.3s;
}

/*---------- SCHEDULE ----------*/
.scheduleBoxCalender{
    width:100%;
    overflow: hidden;
}
.scheduleBox{
	padding: 120px 0 170px;
	position: relative;
}
.scheduleBox::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 120px;
	bottom:0;
	background: #f2f2f2;
}
.eventBox{
	position: relative;
}
.scheduleBox h3{
	font-size: 3.0rem;
	font-weight: 700;
	margin-bottom: 25px;
}
/*.eventBox .newsList1 li{
	border-bottom: 1px dashed #ccc;
	padding-bottom: 15px;
}*/
.eventBox .newsList1Title a:first-child{
	margin-right: 20px;
}
.eventBox .newsList1Title a:hover{
	text-decoration: underline;
}
.eventBox .newsList1{
	margin-bottom: 60px;
}
/*---------- PARTNER ----------*/
.linkBox{
	padding: 120px 0;
}
.linkBox .indexContents{
	display: flex;
}
.linkBox .indexContents > div,.linkBox .indexContents > ul{
	width: 50%;
}
/*.linkBox .indexContents > ul{
	border-top:2px solid #000;
	border-left:2px solid #000;
}
.linkBox .indexContents > ul li{
	border-right:2px solid #000;
	border-bottom:2px solid #000;
	margin: 0;
}*/
/*.linkBox .indexContents > div:last-child{
	border-top:2px solid #000;
	border-left:2px solid #000;
}*/
/*.linkBox .indexContents > div:last-child{
	display: flex;
	flex-wrap: wrap;
}*/
.linkBox .indexContents > div:last-child > div{
	border-right:2px solid #000;
	border-left:2px solid #000;
	margin: 0;
	border-bottom:2px solid #000;

}
.linkBox .indexContents > div:last-child > div:first-child{
	border-top:2px solid #000;
}
.linkBox .indexContents > div:last-child > div a{
	padding: 15px;
	display: block;
	text-decoration:none;
	color:#000;
	position: relative;
	transition: 0.3s;
	margin: 0;
}
.linkBox .indexContents > div:last-child > div a:hover{
	background: #000;
	color: #fff;
	transition: 0.3s;
}
.linkBox .indexContents >div:last-child > div a::before{
	position: absolute;
	right: 5px;
	top:5px;
	content: "";
	width: 16px;
	height: 16px;
	background-color: #000;
	display: inline-block;
	-webkit-mask: url("../images/contents/index/link.svg");
	mask: url("../images/contents/index/link.svg");
	-webkit-mask-size: cover;
	mask-size: cover;
}
.linkBox .indexContents > div:last-child >div a:hover::before{
	background-color: #fff;
}
@media only screen and (max-width:999px){
	.topContents{
		padding-bottom: 145px;
	}
	.mainimage{
		min-width: 100px;
		padding: 0 15px;
	}
	.mainimage img{
		display: block;
		margin: 0 auto;
	}
	.indexContents{
		min-width: 100px;
    	width: 100%;
		padding: 0 15px 0 15px;
	}
	.newsBox h2,.voiceName,.scheduleBox h2,.linkBox h2{
		background-size: 35px;
		padding-left: 50px;
	}
	.voiceName{
		padding-top: 0;
		padding-bottom:0;
        min-height:35px;
	}
	.newsBox h2 span, .scheduleBox h2 span, .linkBox h2 span{
		line-height: 1.7;
	}

	/*---------- NEWS ----------*/
	.newsBox{display: inherit;}
	.newsBox > div:first-child,.newsBox > div:last-child{width: 100%;}
	.newsBox > div:first-child > div{text-align: right;}
	/*---------- Voice ----------*/
	.voice{padding: 65px 0 120px;}
	.voice::before{
		height: 80px;
		background-size: cover;
	}
    .indexVoiceList2{
        display:flex;
        flex-wrap:wrap;
    }
    .indexVoiceList2 > li{
        width:100%;
        margin:0 0px 15px 0;
        margin-bottom:100px;
    }
    .indexVoiceList2,
	.indexVoiceList{padding-top: 90px;}
	.indexVoiceList2::before,.indexVoiceList::before{
		width: 300px;
		height: 65px;
		left: 0;
		top: 0;
	}
	.indexVoiceList2 > li,.indexVoiceList > li{
		flex-wrap: wrap;
	}
	.indexVoiceList2 > li:last-child,.indexVoiceList > li:last-child{margin-bottom: 40px;}
	.indexVoiceList2 > li img,.indexVoiceList > li img{
		width: 100%;
		height: auto;
	}
    .indexVoiceList2 > li > div:first-child,.indexVoiceList2 > li:nth-child(even) > div:first-child{
        padding-top: 25px;
    }
	.indexVoiceList2 > li > div,.indexVoiceList > li > div{width: 100%;}
	.indexVoiceList2 > li > div:first-child,.indexVoiceList > li > div:first-child,
    .indexVoiceList2 > li:nth-child(even) > div:first-child{
		order:2;
        margin-left:0px;
        margin-right:0px;
	}
	.indexVoiceList2 > li > div:last-child,.indexVoiceList > li > div:last-child{order:1;}
    .indexVoiceList2 > li:nth-child(1)::before,
    .indexVoiceList > li:nth-child(1)::before,
    .indexVoiceList2 > li:nth-child(2)::before,
    .indexVoiceList > li:nth-child(2)::before,
    .indexVoiceList2 > li:nth-child(3)::before,
    .indexVoiceList > li:nth-child(3)::before,
    .indexVoiceList2 > li:nth-child(4)::before,
    .indexVoiceList > li:nth-child(4)::before{
		font-size: 8rem;
		top: -50px;
	}
	/*.voice01::before, .voice02::before, .voice03::before, .voice04::before{
		font-size: 8rem;
		top: -50px;
	}*/
    .indexVoiceList2 > li > div > div:last-child,
	.indexVoiceList > li > div > div:last-child{
		text-align: center;
	}
	.voice::after{
		height: 80px;
	}
	/*---------- SCHEDULE ----------*/
	.scheduleBox{
		padding: 50px 0 120px;
	}
	.eventBox .newsList1{margin-bottom: 30px;}
	.scheduleBox::after{
		height: 80px;
	}
	/*---------- PARTNER ----------*/
	.linkBox {
    	padding: 40px 0;
	}
	.linkBox .indexContents{display: inherit;}
	.linkBox .indexContents > div, .linkBox .indexContents > ul{width: 100%;}
	.linkBox h2{margin-bottom: 25px;}
}

/*ティザーサイト*/
.headerTitleTeaser img{
	width: 280px;
	height: 56px;
}
.mainimageTeaser{
	max-width: 1115px;
	min-width: 1000px;
	margin: 50px auto 50px;
}
.mainimageTeaser img{
	display: block;
	margin: 0 auto;
}
.comingsoon{
	text-align: center;
	background: #009fe8;
	color: #fff;
	padding: 20px;
	font-size: 1.8rem;
}
.comingsoon span{
	font-size: 2.6rem;
}
.teaserFooter{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
    width: 800px;
}
.teaserFooter div{
	width: calc(100% / 3);
}
.teaserFooter div:first-child img{
	width: 200px;
	height: 40px;
	display: block;
	margin: 0 auto 15px;
}
.teaserFooter div:nth-child(2){
	font-weight: bold;
	text-align: center;
}

@media only screen and (max-width:999px){
	.headerTitleTeaser img{
		width: 180px;
		height: 36px;
	}
	.mainimageTeaser{
		min-width: 100px;
		padding: 0 15px;
	}
	.teaserFooter{
		display: inherit;
		width: 100%;
	}
	.teaserFooter div:first-child img{margin-bottom: 25px;}
	.teaserFooter div{width: 100%;}
	.teaserFooter div:nth-child(2){margin-bottom: 25px;}
	/*.snsLink > ul{justify-content: center;}*/
}