/* CSS Document */

main{
	overflow: hidden;
}

/*fv*/

.fv{
	width: 100%;
	max-width: 1300px;
	margin: auto;
	padding: 0 20px;
}

.fv-box{
	margin: 5px auto;
	display: flex;
	flex-direction: row;
	width: 100%;
}

.fv-page-link{
	width: calc(100% / 125 * 54);
	display: flex;
	flex-direction: column;
    justify-content: space-between;
	align-items: center;
}

.fv-page-link a{
	display: block;
	overflow: hidden;
	transition: ease-in-out 600ms;
/*	aspect-ratio: 45/20;*/
	width: 100%;
}

.fv-page-link a img{
	width: 100%;
}

.fv-page-link a:hover img{
	border:3px solid red;
}


.fv-img{
    width: calc(100% / 125 *71);
}

.fv-img img{
	width: 100%;
}


/* fv //////*/



/* News */

/* >>>>see news.css*/

/* News //////*/



/* 紹介文章　*/



#about .main-area h3 span::before{
	background: inherit;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f130";
    padding-right: 10px;
    color: #d52423;
	font-size: 28px;
}

.main-area-box-content-text{
	width: 100%;
}


#about .main-area-box{
	background: #f9f1ee;
}

.sport-text dl dd{
	padding-left: 20px;
	position: relative;
	font-weight: 600;
	line-height: 36px;
	font-size: 18px;
}

.sport-text dl dd::before{
    position: absolute;
    display: block;
    content: '\f04b';
    left: 0;
	top:50%;
	transform: translateY(-50%);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #d52423;
    font-size: 12px;
}

/* 紹介文章　///*/




/*歌は体育会系と覚えておいてください。*/

#song-PE .main-area-box h3 {
	position: relative;
	overflow: hidden;
    padding: 10px 10px 10px 200px;
	border: 2px solid #d52423;
	color: #d52423;
	font-weight: 600;
	font-size: 24px;
}

#song-PE .main-area-box h3::before {
  position: absolute;
  top: -150%;
  left: -25px;
  width: 200px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #d52423;
}

#song-PE .main-area-box h3 span {
    font-size: 28px;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    display: block;
    padding-top: 3px;
    padding-left: 16px;
    color: #fff;
    transform: translateY(-50%);
}

#song-PE .main-area-box ul{
	display: flex;
	flex-direction: column;
	width: 100%;
}


#song-PE .main-area-box li p{
	font-size: 18px;
	padding: 10px 0;
}


#song-PE .main-area-box li p span{
	display: inline-block;
}

.sport-img img{
	width: 100%;
	display: block;
}

.sport-text{
	background: #f9f1ee;
	border: 2px solid #d52423;
	border-top: none;
	padding: 30px 20px;
	margin-bottom: 10px;
}

#song-PE .main-area-box {
	padding:0;
}

#song-PE .sp-text{
	margin: 5px 0;
}


#song-PE .main-area h3 span::before {
	display: none;
}

#song-PE .main-area-title h2 {
	background: linear-gradient(to right, #c1272d 40%, #f15a24, #f15a24);
}

#song-PE .main-area-title h2:before {
    border-color: transparent #c1272d transparent transparent;
}

/*歌は体育会系と覚えておいてください。///*/




/* ページガイド　*/

#page-guide{
	width:100%;
	background-size: cover;
	max-width: 1300px;
    margin: auto;
	padding: 0 20px;
}

.page-guide{
	background: url("../img/pageguide-bk.jpg") left center no-repeat;
	padding:80px 20px;
	max-width: 1300px;
	margin: auto;
	width: 100%;
	justify-content: center;
    align-items: center;
    display: flex;
}

.page-guide nav ul {
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: space-between;
}


.page-guide nav ul li{
	min-width: 280px;
	width:32.5%;
	padding: 10px;
	position: relative;
}

.page-guide-img{
	width: 100%;
	overflow: hidden;
	aspect-ratio:35/24;
	border: 1px solid #fff;
}

.page-guide-img img{
	width: 100%;
}

.guide-button{
	position: absolute;
	bottom:-5px;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	min-width: 260px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
    border: 1px solid #ef8200;
}

.guide-button span {
    color: #ef8200;
    font-weight: 600;
	font-size: 18px;
    position: relative;
    padding-right: 20px;
    letter-spacing: 6px;
}


.guide-button span::before {
    position: absolute;
    content: '';
    display: block;
    right: 0;
    top: 40%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #ef8200;;
    transform: rotate(90deg) translateY(-50%);
}

.page-guide a:hover .page-guide-img {
	border: 1px solid #ef8200;
}

.page-guide a:hover .page-guide-img img{
	transform: scale(1.05,1.05);
}

.page-guide a:hover .guide-button{
	background: #ef8200;
}

.page-guide a:hover .guide-button span{
	color: #fff;
}

.page-guide a:hover .guide-button span::before{
	border-bottom: 5px solid #fff;
	animation: arrow 900ms linear infinite;
}
  

/* ページガイド　///*/



/* 歌謡喫茶ハミング */



#kayou{
	width: 100%;
	max-width: 1300px;
    margin: auto;
	padding: 0 20px;
}

#kayou .main-area {
    padding: 50px 0;
	margin: 0 auto;
	background: #f9f9f9;
}


.kayou-above{
	margin-top: 20px;
	display: flex;
	flex-direction: row;
}


.kayou-test{
	width: 53%;
	padding-left: 20px;
}

.kayou-test h3{
	font-size: 35px;
	letter-spacing: 2px;
	color: #148245;
	margin-bottom: 10px;
}

.kayou-test p{
	font-size: 18px;
}

.kayou-img{
	width:45%;
}

.kayou-img img{
	width:100%;
	aspect-ratio:15/11;
}



.haming-link{
	position: fixed;
	right:58px;
	bottom:22px;
}

.haming-link span{
	display: block;
	background: url("../img/haminngu-link.png") no-repeat center;
	background-size: cover;
	width: 200px;
	aspect-ratio:1/1;
	
	position: relative;
}

.haming-link span::before{
	content: '';
	position: absolute;
	top:0px;
	left: 50%;
	transform: translateX(-50%);
	background: #ffff00;
	border-radius: 50%;
	width:180px;
	display: block;
	aspect-ratio:1/1;
	opacity: 0;
	animation: 1s shining ease-in infinite;
	z-index: -1;
}

@keyframes shining{
	
	0%{
		opacity: 0;
	}
	50%{
		opacity: 1;
	}
	
	100%{
		opacity: 0;
	}
	
	
}


.haming-link a:hover span{
	opacity: 0.95;
	transform: scale(1.02,1.02);
}

.haming-link a:hover span::before{
	display: none;
	animation: inherit;
	opacity: 0;
}





/* 歌謡喫茶ハミング ////*/





@media(max-width:1300px){

.about-item-circle::after {
    right: -10vw;
}

.about-item-bk3 .about-item-circle::after {
    left: -10vw;}

}


@media(max-width:1200px){

	.about-item-text {
		width: 60%;
		max-width: 600px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.same-row h3 {
		font-weight: 400;
		font-size: 40px;
		letter-spacing: 3px;
		padding-bottom: 15px;
	}

	.about-item-text p {
		font-size: 14px;
		letter-spacing: 1px;
		line-height: 30px;
	}

	.about-item1 h4 {
		font-size: 30px;
		line-height: 40px;
	}

	.song-box {
		padding: 40px 20px 30px;
		width:48%;
	}

	
	#kayou .main-area {
		padding: 100px 10px 30px;
	}

}



@media(max-width:1000px){
	
	.fv {
		padding: 0;
		max-width: 100%;
	}
	
	.fv-box {
		width: 100%;
		background: red;
		padding: 10px;
		margin: 0 auto;
	}
	
	.fv-page-link {
		width: calc(100% / 125 * 54 + 10px);
		padding-left: 10px;
	}
	
	
	
/* page guide 	*/
	.page-guide{
        padding: 15px 0 30px;
	}
	
	#page-guide {
    	padding: 0 10px;
	}
	
	.page-guide a:hover .page-guide-img {
		border: 1px solid #fff;
	}

	.page-guide a:hover .page-guide-img img{
		transform: scale(1,1);
	}

	.page-guide a:hover .guide-button{
		background: #fff;
	}

	.page-guide a:hover .guide-button span{
		color: #b7a06e;
	}

	.page-guide a:hover .guide-button span::before{
		border-bottom: 5px solid #b7a06e;
		animation: none;
	}

	.page-guide nav ul li {
		min-width: 240px;
	}

	.guide-button {
		min-width: 200px;
		bottom: -19px;
	}

	.guide-button span {
		padding-right: 10px;
		letter-spacing: 0px;
		font-size: 18px;
	}

    .kayou-img {
		width: 75%;
		padding-left: 0;
	}
	
	
	#kayou {
		padding: 0;
	}
	
	#kayou .main-area {
        padding: 40px 10px 30px;
    }
	
	.kayou-test {
		width: 100%;
		padding-left: 10px;
		min-width: 480px;
	}
	
	.kayou-test h3 {
		font-size: 30px;
		letter-spacing: 1px;
		line-height: 40px;
	}
	
	
	#song-PE .main-area-title h2 span {
		text-indent: -15px;
	}
	
	.page-guide nav ul {
		justify-content: space-evenly;
	}
	
	.page-guide nav ul li {
		min-width: inherit;
		width: calc(33.3% - 10px);
		padding: 0;
		position: relative;
	}
	

}

@media(max-width:700px){
	#song-PE .main-area-box h3 span {
	    font-size: 22px;
		padding-top: 0px;
		padding-left: 10px;
	}
	
	#song-PE .main-area-box h3::before {
    	left: -60px;
	}
	
	#song-PE .main-area-box h3 {
		padding: 10px 10px 10px 160px;
		font-size: 22px;
	}
	
	.sport-text {
    	padding: 0px 10px 10px;
	}
	
		
	
	.page-guide {
		max-width: 100%;
	}
	
	.page-guide nav ul {
    	flex-direction: column;
	}
	
	.page-guide nav ul li {
    	min-width: 100%;
		margin-bottom: 30px;
	}
	
	.page-guide {
		background: url(../img/pageguide-bk.jpg) right center no-repeat;
	}
	
}


@media(max-width:650px){

	#about .main-area h3 span::before {
	    font-size: 20px;
		padding-right: 5px;
	}
	
	#song-PE .main-area-box h3 span {
		font-size: 13px;
		letter-spacing: 0;
	}
	
	#song-PE .main-area-box h3::before {
        left: -125px;
    }
	
	#song-PE .main-area-box h3 {
        padding: 10px 10px 10px 80px;
        font-size: 18px;
		letter-spacing: 0;
    }
	
	
	
	
	
}

@media(min-width:601px){
	.kayou-banner-sp{
		display: none;
	}
}



@media(max-width:600px){
	
	.kayou-banner{
		display: none;
	}
		
	.fv-box {
		padding: 10px 0;
		flex-direction: column;
		background: #fff;
	}
	
	.fv-img {
		width: 100%;
	}
	
	.fv-page-link {
		background: red;
		width: 100%;
		padding: 10px;
	}
	
	.fv-page-link a:hover img{
		border:none;
	}
	
		
	.page-guide {
        padding: 10px;
    }


	
	.kayou-above {
        flex-direction: column-reverse;
	}
	
	.kayou-img {
        width: 100%;
        padding-left: 0;
    }
	
	.kayou-test {
        min-width: 100%;
	}
	
	.kayou-test h3 {
        font-size: 24px;
        letter-spacing: 1px;
        line-height: 40px;
        font-weight: 600;
    }
	
	
	.kayou-test p {
		letter-spacing: 0;
		font-size: 18px;
	}
	
	
	
	.pagetop{
		display: none;
	}
	
	
	.haming-link {
		bottom: 24px;
		right: 10px;
	}
	
	
	.haming-link span{
		display: block;
		background: url("../img/haminngu-link.png") no-repeat center;
		background-size: cover;
		width: 150px;
		aspect-ratio:1/1;

		position: relative;
	}

	.haming-link span::before{
		content: '';
		position: absolute;
		top:0px;
		left: 50%;
		transform: translateX(-50%);
		background: #ffff00;
		border-radius: 50%;
		width:135px;
		display: block;
		aspect-ratio:1/1;
		opacity: 0;
		animation: 1s shining ease-in infinite;
		z-index: -1;
	}

	@keyframes shining{

		0%{
			opacity: 0;
		}
		50%{
			opacity: 1;
		}

		100%{
			opacity: 0;
		}


	}


	.haming-link a:hover span{
		opacity: 1;
		transform: scale(1,1);
	}

	.haming-link a:hover span::before{
		display: none;
		animation: inherit;
		opacity: 0;
	}

	
	
}
