@charset "utf-8";


/* ここから */
	html{
		width: 100%;
		height: 100%;
		margin: 0px;
		padding: 0px;
	}
	
	body{
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	main{
		width: 100%;
		margin: 0 auto;
		background-size: cover;
		font-family: YakuHanJP,Roboto,Noto Sans JP,sans-serif;
		font-size: 16px;
    	font-weight: 500;
	}
	
	img{
		width: 100%;
		vertical-align:middle;
	}

.all_wrap{
	font-family: "Noto Sans JP", serif;
	margin-bottom: 7rem;
}


.fv{
	width: 100%;
}

.logo {
	position: absolute;
	z-index: 2;
	width: 70px;
	left: 10px;
	top: 10px;
}

@media screen and (max-width: 767px) {
	.logo {
		width: 60px;
	}
}




.fv_wrap{
	width: 100%;
	background: url("../img/bk.jpg") no-repeat;
	background-position: center top;
	background-size: cover;
	padding-top: 3em;
	padding-bottom: 8em;
}



.pc_only{
	display: block;
}

.sp_only{
	display: none;
}








.white-logo{
	max-width: 790px;
	margin: 0 auto;
	background-color: #fff;
	width: 100%;
	padding: 6px;
}



.main {
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
	margin-bottom: 2em;
	margin-top: 2em;
}


.main-sub{
	max-width: 702px;
	margin: 0 auto;
	background-color: #002156;
	border: solid 4px #fff;
	border-radius: 12px;
	padding: 20px;
}

.vs{
	text-align: center;
	font-size: 2em;
	font-weight: bold;
	color: #fff;
	border-bottom: solid 1.5px #fff;
	padding-bottom: 10px;
}


.vs-day{
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
	color: #fff;
	
	padding-top: 10px;
}




@media  screen and (max-width:767px) {
	.fv{
		width: 100%;
	}

	.fv_wrap{
		width: 100%;
		background: url(../img/bg_sp.png) no-repeat;
		background-position: center;
		background-size: cover;
		padding-bottom: 2em;
	}

	.fv_content{
		width: 95%;
		margin: 0 auto;
	}
	
	.vs{
		font-size: 1.5em;
	}
	.vs-day{
		font-size: 1.1em;
	}
	
	.main-sub{
		width: 95%;
	}
	
}




.kikan_wrap{
	width: 100%;
	background: #C7000B;

}

.kikan{
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
	padding: 1rem 0;
	color: #fff;
}

.cp-kikan{
	margin: 1rem;
	font-size: 2.5rem;
	font-weight: 700;
}

.closing{
	margin: 1rem;
	font-size: 2.5rem;
	font-weight: 700;
}

.cp-kikan p{
	display: flex;
    align-items: center;
}

.closing p{
	display: flex;
    align-items: center;
}

.k_bg{
	background: #fff;
	color: #C7000B;
	width: 250px;
	text-align: center;
	border-radius: 10px;
	display: inline-block;
	font-size: 1.5rem;
	margin-right: 0.5rem;
	line-height: 1.7rem;
	padding: 20px 7px;
	
}

.cp-kikan .small{
	font-size: 1.25rem;
}

.closing .small{
	font-size: 1.25rem;
}

.closing .kome{
	font-size: 1.5rem;
	margin-top: 1.5rem;
    margin-left: 5px;
}



@media screen and (max-width:975px){
	.fv_wrap{
		padding-top: 5.5em;
		
	}	
	.white-logo{
		width: 90%;
	}
}




@media screen and (max-width:919px){
	.pc_only{
		display: none;
	}
	
	.sp_only{
		display: block;
	}

	.k_bg{
		display: block;
		margin: 0 auto 0.25rem;
		width: 70%;
		max-width: 300px;
		font-size: 1.125rem;
		line-height: 1.25rem;
		padding: 0.25rem;
	}

	.cp-kikan .small{
		font-size: 0.875rem;
	}

	.cp-kikan p {
		display: block;
		align-items: center;
	}

	.closing{
		margin-top: 1rem;
	}

	.closing p{
		display: block;
		align-items: center;
	}

	.closing .small{
		font-size: 0.875rem;
	}

	.day{
		display: block;
		text-align: center;
		font-size: 1.75rem;
	}

	.closing .kome {
		font-size: 1rem;
		display: block;
		margin: 0;
	}
	
	.main{
		margin-top: 1em;
	}


	
}


@media screen and (max-width:767px){
	.pc_only{
		display: none;
	}
	
	.sp_only{
		display: block;
	}
	
	.fv_item{
		width: 100%;
	}
	
	.kirin_logo{
		margin: -3rem auto 2rem;
	}
	
	.kirin_ttl{
		margin: 0 auto;
		width: 90%;
	}

	.kikan{
		text-align: center;
	}
	

	
	.closing{
		margin: 1rem 0 0;
		font-size: 1.75rem;
		font-weight: 700;
	}
	
	.cp-kikan{
		margin: 0.5rem auto 1.25rem;
		font-size: 1.75rem;
		font-weight: 700;
	}

	.k_bg{
		display: block;
		margin: 0 auto 0.25rem;
		width: 60%;
		max-width: 250px;
		font-size: 1.125rem;
	}

	.day{
		font-size: 1.375rem;
	}

}



.contents-wrap{
	background-color: #FFFEF1;
	padding-top: 3em;
	padding-bottom: 2em;
}





.jouken{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 1.5rem;
	font-weight: 700;

}

.jouken p{
	text-align: center;
}


.marker {
    background: linear-gradient(transparent 70%, #F9FF46 30%);
   
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1.5s ease; /* ease を追加 */
}


.marker.on { 
    background-size: 100% 100%;
}


@media screen and (max-width:767px) {
	.jouken{
		width: 95%;
		font-size: 1.125rem;
	}
}


.target{
	margin: 6rem auto 0;
	width: 90%;
	max-width: 1000px;
}

.target_item{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.target_item h2{
	color: #C7000B;
	font-size: 1.5rem;
	margin: 0 auto 1.5rem;
	border: 3px solid #C7000B;
	border-radius: 30px 0;
	width: 200px;
	text-align: center;
	position: relative;
	padding: 5px 0;
	background-color: #fff;
}


.target-wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	    width: 54%;
    margin: 0 auto;
}

.target-info{
	width: 90%;
}


.target-img{
	max-width: 112px;
	width: 100%;
}

.t_txt{
	margin: 0 auto;
}



.t_txt span{
	font-size: 1.875rem;
}

.target_item .t_txt{
	font-size: 1.25rem;
}

.target_item>.small{
	font-size: 1rem;
	font-weight: 400;
	margin-top: 1.5rem;
}

.target_img{
	max-width: 440px;
	margin: 1.25rem auto;
}



@media screen and (max-width:767px){
	.target{
		width: 95%;
		margin: 3rem auto 0;
	}
	
	.target_item{
		width: 100%;
		margin: 0 auto;
	}

	.target_item h2{
		font-size: 1.375rem;
	}

	.target_item>.small{
		font-size: 0.875rem;
		margin-top: 3rem;
		text-align: left;
	}
	
	.target_item .t_txt{
		font-size: 1.125rem;
		line-height: 2rem;
	}
	
	.t_txt span{
		font-size:  1.625rem;
	}
	
	.target_img{
		width: 80%;		
	}
	
	
	.target-wrap{
		width: 95%;
	}
}

.prize{
	width: 90%;
	max-width: 1000px;
	margin: 6.25rem auto 0;
}


.prize h2 {
    color: #C7000B;
    font-size: 1.5rem;
    margin: 0 auto 1.5rem;
    border: 3px solid #C7000B;
    border-radius: 30px 0;
    width: 200px;
    text-align: center;
    position: relative;
    padding: 5px 0;
	background-color: #fff;
}

.prize_img{
	width: 100%;
	max-width: 800px;
	margin: 3.5em auto;
}


.underline{
	position: relative;
	margin-top: 1em;
}

.underline::after{
	content: "";
	position: absolute;
	max-width: 780px;
	width: 100%;
	height: 3px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%); 
	color: #000;
	background: #000;
	bottom: -2em;
	
}






.p_large{
	font-size: 3.5rem;
}

.p_middle{
	font-size: 2.5rem;
}

.p_txt{
	font-size: 1rem;
	font-weight: 400;
	margin-top: 1.5rem;
	margin-bottom: 3rem;
}

.p_txt p{
	text-align: left;
}

.p_img{
	text-align: end;
}

@media screen and (max-width:767px){
	.prize{
		width: 95%;
		margin-top: 7rem;
	}

	.prize h2{
		font-size: 1.375rem;
	}
	
	.prize-item{
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	
	.prize_img{
		width: 100%;
		margin-top: 1rem;
	}
	
	.prize_detail{
		width: 100%;
	}

	.p_detail_item{
		font-size: 1.5rem;
		font-weight: 700;
	}
	
	.p_txt{
		font-size: 0.875rem;
		margin-bottom: 3.5rem;
	}

	.p_txt p{
		text-align: left;
		margin-top: 2rem;
	}

	.event_detail p{
		font-size: 1rem;
	}

	.p_img p{
		font-size: 0.875rem;
	}
	
	

}

.website ul{
	width: 90%;
	display: flex;
	justify-content: space-around;
	margin: 2rem auto 7rem;
}

.website ul li{
	color: #0068B6;
	border-bottom: 1px solid #0068B6;
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	padding: 0 6px 0 6px;
	position: relative;
}

.website ul li a{
	color: #0068B6;
}

.website ul li:after{
	content: '';
	position: absolute;
	background-image: url(../img/arrow_blue.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 6px;
    height: 13px;
    top: 8px;
    right: -15px;
}


@media screen and (max-width:919px){
	.website ul{
		width: 70%;
		display: block;
		margin: 3rem auto 4rem;
		max-width: 270px;
	}

	.website ul li{
		margin-top: 1.5rem;
		border-bottom: none;
	}

	.website ul li p{
		border-bottom: 1px solid #0068B6;
	}

	.banpaku_ja{
		width: 100%;
		margin: 0 auto;
		max-width: 240px;
	}

	.banpaku_en{
		width: 90%;
		margin: 0 auto;
		max-width: 213px;
	}

	.info{
		width: 93%;
		margin: 0 auto;
		max-width: 226px;
	}

	.website ul li:after{
		content: none;
	}

	.banpaku_ja:after{
		content: '';
		position: absolute;
		background-image: url(../img/arrow_blue.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 6px;
		height: 13px;
		top: 7px;
		left: 102%;
	}

	.banpaku_en:after{
		content: '';
		position: absolute;
		background-image: url(../img/arrow_blue.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 6px;
		height: 13px;
		top: 7px;
		left: 97%;
	}

	.info:after{
		content: '';
		position: absolute;
		background-image: url(../img/arrow_blue.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 6px;
		height: 13px;
		top: 7px;
		left: 99%;
	}
}



.entry{
	width: 100%;

}

.entry-ttl_bk{
	width: 100%;
	background: #002156;
}

.entry-ttl_bk h2{
	color: #ffffff;
	padding: 1rem;
	margin: 0 auto;
	font-size: 1.5rem;
	font-weight: 700;
	width: 20%;
    text-align: center;
}

.entry_wrap{
	margin: 3rem auto 0;
	width: 90%;
	max-width: 1000px;
}

.entry_item{
	margin-top: 4rem;
}

.entry_item:first-child{
	margin-top: 0;
}

.e_ttl{
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 1rem;
}

.large{
	font-size: 1.25rem;
    line-height: 1.5;
	font-weight: 700;
}

.bold{
	font-weight: 700;
	font-size: 1.75rem;
	display: block;
	margin: 0.5rem 0;
	color: #004097;
}

.e_txt{
	margin-top: 2rem;
	font-weight: 400;
}

.mt0{
	margin-top: 0;
}



.e_btn{
	position: relative;
	width: 260px;
	margin: 4rem auto 5rem;
}

.e_btn p{
	font-size: 1rem;
	width: 100%;
	text-align: center;
	background: #00A75B;
	border-radius: 50px;
	padding: 1rem 1.25rem;
	color: #ffffff;
	box-shadow: 2px 3px 2px 0px rgba(0, 0, 0, 0.33);
}

@media screen and (max-width:767px){
	.entry{
		margin-top: 7rem;
	}
	
	.entry-ttl_bk h2{
		width: 95%;
		font-size: 1.375rem;
	}
	
	.entry_wrap{
		width: 95%;
		margin: 1.25rem auto 0;
	}
	
	.entry_item{
		margin-top: 3.25rem;
	}

	.e_ttl{
		font-size: 1.125rem;
		font-weight: 500;
		margin-bottom: 0.25rem;
	}
	
	.e_txt{
		margin-top: 1.5rem;
		font-weight: 400;
	}
	
	.large{
		font-size: 1.25rem;
	}
	
	.e_btn{
		position: relative;
		width: 300px;
		margin: 5rem auto 6rem;
	}

	.e_btn p{
		font-size: 1.125rem;
		width: 100%;
		text-align: center;
		background: #00A75B;
		border-radius: 50px;
		padding: 1.125rem 0;
		color: #ffffff;
		box-shadow: 2px 3px 2px 0px rgba(0, 0, 0, 0.33);
	}

	.mt0{
	margin-top: 0;
}
	
}