@charset "utf-8";
/* CSS Document */

.clearText{
	display: inline-block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 100%;
	height: 100%;
	color: transparent !important;
}
.text_b{
	font-weight: bold;
}

contents *,
contents *::before,
contents *::after{
	box-sizing: border-box;
}

/*======================================================

	PCサイズ（641px以上）ここから
	
======================================================*/

@media screen and (min-width:641px), print{
	.pc_non{ display: none !important; }
	
	
	a{
		transition: 0.15s ease-in-out;
	}
	a:hover{
		opacity: 0.65;
	}

	contents{
		padding-bottom: 50px;
		min-width: 950px;
	}
	
	#title_bg{
		margin-bottom: 20px;
	}
	
	#topImage{
		display: block;
		margin-top: -20px;
	}
	#topImage h2{
		display: block;
		height: 750px;
		background-image:
			url("../images/kekka2025/kekka_pc.jpg");
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center top;
		border-bottom: none;
	}
	#topImage .kekka{
		display: block;
		width: 600px;
		margin: -145px auto 0;
	}
	#topImage .kekka img{
		display: block;
		width: 100%;
	}
	
	
	
	#kekka{
		margin: 15px 0 40px;
	}
	#kekka .gr{
		display: block;
		width: 870px;
		margin: 0 auto 40px;
	}
	#kekka .gr p{
		display: block;
		text-align: right;
		margin-top: 15px;
	}
	
	#kekka h3{
		display: block;
		text-indent: -100%;
		overflow: hidden;
		color: transparent;
		height: 60px;
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center;
	}
	#kekka h3.md_gp{ background-image: url("../images/md_gp.png"); }
	#kekka h3.md_y{ background-image: url("../images/md_y.png"); }
	
	#kekka dl.gp{
		display: flex;
		justify-content: space-between;
		width: 880px;
		padding-left: 20px;
		margin: 20px auto 55px;
	}
	#kekka dl.gp > dt{
		width: 150px;
		padding-top: 15px;
	}
	#kekka dl.gp dt img{
		display: block;
		width: 100%;
		height: auto;
	}
	#kekka dl.gp dd{
		position: relative;
		width: 670px;
		padding-top: 70px;
	}
	#kekka dl.gp dd .author{
		line-height: 1.4;
		font-size: 16px;
		margin-bottom: 25px;
	}
	#kekka dl.gp dd .author p{
		font-weight: bold;
		font-size: 24px;
	}
	/*
	#kekka dl.gp dd .author::before{
		content: "作者";
	}
	*/
	
	#kekka dl.gp dd .comment{
		width: 100%;
		padding: 20px 0 130px;
		background-color: #9FD8F7;
		background-image: url("../images/gp_com-pc.png");
		background-repeat: no-repeat;
		background-position: center bottom 10px;
		background-size: 100% auto;
		
	}
	#kekka dl.gp dd .comment dl{
		display: block;
		width: 630px;
		margin: 0 auto;
	}
	#kekka dl.gp dd .comment dl dt{
		display: block;
		width: 100%;
		color: #FFFFFF;
		font-size: 17px;
		font-weight: bold;
		line-height: 1.3;
		margin-bottom: 10px;
	}
	#kekka dl.gp dd .comment dl dt span{
		font-size: 20px;
		margin: 0 3px;
	}
	#kekka dl.gp dd .comment dl dt p{
		font-size: 14px;
		font-weight: normal;
	}
	
	#kekka dl.gp dd .comment dl dd{
		display: block;
		width: 100%;
		padding: 17px;
		background-color: #FFFFFF;
		border-radius: 12px;
		line-height: 1.8;
	}
	
	
	#kekka dl.gp dd img.gp_logo{
		position: absolute;
		top: 0;
		right: -15px;
		width: 330px;
	}
	
	
	#kekka h5{
		display: inline-block;
		color: #FF4D00;
		font-size: 24px;
		font-weight: bold;
		padding: 0 10px;
		border-bottom: 2px solid #FF4D00;
		margin: 40px 0 0 15px;
	}
	
	#kekka .yushu{
		display: flex;
		justify-content: space-between;
		width: 850px;
		padding-bottom: 70px; 
		margin: 28px auto 0;
	}
	
	#kekka .yushu dl{
		width: 100px;
		position: relative;
	}	
	#kekka .yushu dl dt img{
		width: 100%;
		height: auto;
	}
	#kekka .yushu dl dd{
		text-align: center;
		width: 188px;
		line-height: 1.3;
		position: absolute;
		top: 510px;
		left: 50%;
		transform: translateX(-50%);
	}
	
		#kekka .yushu dl dd.gj{
			font-size: 13px;
		}
			

	#kekka .yushu dl dd p{
		font-size: 18px;
		font-weight: bold;
	}
	/*
	#kekka .yushu dl dd::before{
		content: "作者";
		display: block;
	}
	*/
	
	#kekka #ichiran{
		margin-top: 50px;
		text-align: center;
	}
	#kekka #ichiran a{
		display: block;
		width: 800px;
		margin: 0 auto;
		position: relative;
		font-size: 18px;
		padding: 12px 0;
		color: #FF4D00;
		border: 1px solid #FF4D00;
		background-color: #FFF9D8;
		border-radius: 7px;
	}
	#kekka #ichiran a::after{
		content: "";
		display: block;
		width: 11px;
		height: 22px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 11px;
		background-image: url("../images/arrow_o.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	#kekka #ichiran a span{
		font-size: 14px;
	}
	
	#kekka #req{
		margin: 25px 0 60px;
	}
	#kekka #req a{
		display: block;
		width: 400px;
		margin: 0 auto;
		position: relative;
		font-size: 16px;
		padding: 3px 0;
		text-align: center;
		color: #FF4D00;
		border: 1px solid #FF4D00;
		background-color: #FFF9D8;
		border-radius: 7px;
	}
	#kekka #req a::after{
		content: "";
		display: block;
		width: 8px;
		height: 15px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 11px;
		background-image: url("../images/arrow_o.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	
	
	
	#detail{
		display: block;
		width: 800px;
		margin: 40px auto 0;
	}
	#detail a{
		display: block;
		position: relative;
		width: 100%;
		padding: 8px 0;
		text-align: center;
		color: #FF4D00;
		border: 1px solid #FF4D00;
		background-color: #FFF9D8;
		border-radius: 7px;
	}
	#detail a::after{
		content: "";
		display: block;
		width: 11px;
		height: 22px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 11px;
		background-image: url("../images/arrow_o.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	#detail a p{
		font-size: 16px;
	}
	#detail a p span{
		font-size: 20px;
	}
	
	#organizer{
		margin-top: 40px;
	}
	#organizer p{
		margin-bottom: 10px;
		text-indent: -1.0em;
		padding-left: 1.0em;
		word-break: keep-all;
	}
	#organizer p:first-of-type{
		font-size: 16px;
		font-weight: bold;
	}
	#organizer p span{
		font-weight: bold;
	}
	
	
	/*======
	        20240806 追加 変更
	                     ======*/
	
	#topImage h2 {
		margin-bottom: 0;
	}
	
	#coming-soon {
		display: block;
		background:linear-gradient(180deg,#9FD8F7, #ffffff);
		padding-top: 30px;
	}
	
	#coming-soon .flag2024 .flag {
		content: '';
		display: block;
		width: 810px;
		height: 350px;
		background-image: url("../images/2024_flag.png");
		background-repeat: no-repeat;
		background-size: contain;
		margin: 0 auto;
	}
	
	#coming-soon .flag2024 .soonImg {
		content: '';
		display: block;
		width: 890px;
		height: 228px;
		background-image: url("../images/soon.png");
		background-repeat: no-repeat;
		background-size: contain;
		margin: 0 auto;
		margin-top: -40px;
	}
	
	#overview {
		margin-top: 10px;
	}
	
	#overview .shinkansenL {
		display: block;
		content: '';
		height: 50px;
		background-image: url("../images/shinkansen-L.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left bottom;
	}
	
	#overview .rail {
		display: block;
		content: '';
		height: 25px;
		background-image: url("../images/rail3.png");
		background-repeat: repeat-x;
		background-size: contain;
		background-position: center top;
	}
	
	#overview .shinkansenR {
		display: block;
		content: '';
		height: 50px;
		background-image: url("../images/shinkansen-R.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: right top;
	}
	
	#overview .comment {
		content: '';
		display: block;
		background-image: url("../images/comment-mountain1.png"),url("../images/comment-mountain2.png");
		background-size: 185px auto, 155px auto;
		background-repeat: no-repeat;
		background-position: left 30px bottom, right 25px bottom 13px;
		text-align: center;
		font-weight: bold;
		line-height: 1.77;
		margin: 18px 0;
		padding: 5px 0 0;
		letter-spacing: 1.2px;
	}
	
	
	#sponsor {
		margin-top: 40px;
	}
	#sponsor p {
		margin-bottom: 10px;
		text-indent: -1.0em;
		padding-left: 1.0em;
		word-break: keep-all;
		}
	#sponsor p span{
		font-weight: bold;
	}
	#sponsor div {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		width: 830px;
		margin: auto;
	}
	#sponsor div img {
		width: 200px;
	}
	
	
	#kekka2023 {
		margin-top: 40px;
	}
	
	#kekka2023 .Oldprise .prise_bn  {
		content: '';
		display: block;
		height: 120px;
		background-image: url("../images/2024kekka_bn.jpg");
		background-repeat: no-repeat;
		background-position: center top;
		background-size: contain;
	}
	
	#kekka2023 .Oldprise .message {
		width: 510px;
		margin: 0 auto;
		margin-top: 25px;
		box-sizing: border-box;
	}
	
}

/*======================================================

	タブレットおよびSP横向き用サイズ調整
	（641px以上・1023px以下）ここから
	
======================================================*/

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



}

@media only screen and (max-width: 978px) and (min-width: 834px){


}

@media only screen and (max-width: 833px) and (min-width: 718px){


}

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


}

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


}


/*==================================================

	SPスタイル

==================================================*/
@media only screen and (max-width: 640px){
	.sp_non{ display: none !important; }
	
	h1 span{
		display: inline-block;
		margin-left: 0;
	}

	contents{
		padding-bottom: 50px;
	}
	
	#title_bg{
		margin-bottom: 20px;
	}
	
	#topImage{
		display: block;
		position: relative;
		margin: -20px -2.5vw 0;
	}
	#topImage h2{
		display: block;
		height: 87vw;
		background-image:
			url("../images/kekka2024/kekka2024.jpg");
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center top;
		border-bottom: none;
	}
	
	#topImage .kekka{
		display: block;
		width: 85%;
		margin: -23vw auto 0;
	}
	#topImage .kekka img{
		display: block;
		width: 100%;
	}
	
	
	#kekka{
		margin: 15px 0 40px;
	}
	#kekka .gr{
		display: block;
		width: 100%;
		margin: 0 auto 30px;
	}
	#kekka .gr p{
		display: block;
		text-align: right;
		margin-top: 15px;
	}
	
	#kekka h3{
		display: block;
		text-indent: -100%;
		overflow: hidden;
		color: transparent;
		height: 35px;
		background-repeat: no-repeat;
		background-size: auto 35px;
		background-position: left center;
	}
	#kekka h3.md_gp{ background-image: url("../images/md_gp.png"); }
	#kekka h3.md_y{ background-image: url("../images/md_y.png"); }
	
	#kekka dl.gp{
		display: flex;
		justify-content: space-between;
		width: 97%;
		padding-left: 3%;
		margin: 20px auto 55px;
	}
	#kekka dl.gp > dt{
		width: 115px;
		padding-top: 5px;
	}
	#kekka dl.gp dt img{
		display: block;
		width: 100%;
		height: auto;
	}
	#kekka dl.gp dd{
		width: calc(100% - 130px);
		padding-top: 15px;
	}
	#kekka dl.gp dd .author{
		line-height: 1.4;
		font-size: 14px;
		margin-bottom: 15px;
	}
	#kekka dl.gp dd .author p{
		font-weight: bold;
		font-size: 20px;
	}
	/*
	#kekka dl.gp dd .author::before{
		content: "作者";
	}
	*/
	
	#kekka dl.gp dd .comment{
		width: 100%;
		padding: 12px 0 20vw;
		background-color: #9FD8F7;
		background-image: url("../images/gp_com-sp.png");
		background-repeat: no-repeat;
		background-position: center bottom 10px;
		background-size: 100% auto;
		
	}
	#kekka dl.gp dd .comment dl{
		display: block;
		width: 95%;
		margin: 0 auto;
	}
	#kekka dl.gp dd .comment dl dt{
		display: block;
		width: 100%;
		color: #FFFFFF;
		font-size: 15px;
		font-weight: bold;
		line-height: 1.3;
		margin-bottom: 10px;
		padding-left: 3px;
	}
	#kekka dl.gp dd .comment dl dt span{
		font-size: 18px;
		margin: 0 3px;
	}
	#kekka dl.gp dd .comment dl dt p{
		font-size: 12px;
		font-weight: normal;
	}
	
	#kekka dl.gp dd .comment dl dd{
		display: block;
		width: 100%;
		padding: 17px;
		background-color: #FFFFFF;
		border-radius: 12px;
		line-height: 1.8;
	}
	
	
	#kekka dl.gp dd img.gp_logo{ display: none; }
	
	
	#kekka .y_bu{
		text-align: center;
		margin: 30px 0 20px;
	}
	#kekka h5{
		display: inline-block;
		color: #FF4D00;
		font-size: 20px;
		font-weight: bold;
		padding: 0 10px;
		border-bottom: 2px solid #FF4D00;
		margin-bottom: 5px;
	}
	
	#kekka .yushu{}
	
	#kekka .yushu dl{
		width: 95%;
		margin: 0 auto 10px;
		padding: 8px 5px 3px;
		background-color: #FFF7E3;
		border: 2px solid #C49F7F;
	}
	#kekka .yushu dl dt{
		margin-bottom: 5px;
	}
	#kekka .yushu dl dt img{ display: none; }
	#kekka .yushu dl dt p{
		display: block;
		font-size: 16px;
		font-weight: bold;
		padding-left: 8px;
	}
	#kekka .yushu dl dd{
		font-size: 13px;
		text-align: right;
		padding: 0 5px;
	}
	
		#kekka .yushu dl dd.gj p::after{
			content: "（";
			font-size: 13px;
			font-weight: normal;
		}
		#kekka .yushu dl dd.gj::after{
			content: "）";
		}
	
	#kekka .yushu dl dd p{
		display: inline-block;
		font-size: 15px;
		font-weight: bold;
	}
	/*
	#kekka .yushu dl dd::before{
		content: "作者";
		margin-right: 8px;
	}
	*/
	
	#kekka #ichiran{
		margin-top: 50px;
		text-align: center;
	}
	#kekka #ichiran a{
		display: block;
		position: relative;
		width: 100%;
		padding: 10px 15px;
		text-align: center;
		color: #FF4D00;
		font-size: 16px;
		border: 1.5px solid #FF4D00;
		background-color: #FFF9D8;
		border-radius: 7px;
		line-height: 1.5;
		margin-top: 15px;
	}
	#kekka #ichiran a::after{
		content: "";
		display: block;
		width: 8px;
		height: 16px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 8px;
		background-image: url("../images/arrow_o.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	#kekka #ichiran a span{
		display: block;
		font-size: 14px;
	}
	
	#kekka #req{
		margin: 25px 0 60px;
	}
	#kekka #req a{
		display: block;
		width: 90%;
		margin: 0 auto;
		position: relative;
		font-size: 16px;
		padding: 3px 0;
		text-align: center;
		color: #FF4D00;
		border: 1.5px solid #FF4D00;
		background-color: #FFF9D8;
		border-radius: 7px;
	}
	#kekka #req a::after{
		content: "";
		display: block;
		width: 8px;
		height: 15px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 11px;
		background-image: url("../images/arrow_o.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	
	
	#detail{
		display: block;
		width: 100%;
		margin: 40px auto 0;
	}
	#detail a{
		display: block;
		position: relative;
		width: 100%;
		padding: 10px 15px;
		text-align: center;
		color: #FF4D00;
		border: 1.5px solid #FF4D00;
		background-color: #FFF9D8;
		border-radius: 7px;
		line-height: 1.5;
	}
	#detail a::after{
		content: "";
		display: block;
		width: 8px;
		height: 16px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 8px;
		background-image: url("../images/arrow_o.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	#detail a span{
		display: inline-block;
	}
	#detail a p{
		margin-top: 5px;
		line-height: 1.3;
		font-size: 15px;
	}
	#detail a p span{
		font-size: 17px;
	}
	
	#organizer{
		margin-top: 50px;
	}
	#organizer p{
		display: block;
		width: 100%;
		margin-bottom: 10px;
		text-indent: -0.8em;
		padding-left: 0.8em;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
	#organizer p:first-of-type{
		font-size: 15px;
		font-weight: bold;
	}
	#organizer p span{
		display: block;
		font-weight: bold;
	}
	
	/*================
	　　20260807 追加 変更
	=================*/
	
	#title_bg .header_wide {
		text-align: center;
	}
	
	#topImage dl#tsunagun dt{
		width: 14vw;
		height: 24vw;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center top 1vw;
	}
	
	#topImage dl#tsunagun dd{
		order: 1;
		line-height: 1.3;
		margin-right: .3vw;
		padding-bottom: 1vw;
	}
	#topImage dl#tsunagun dd p{
		margin-bottom: 2px;
		font-size: .7em;
	}
	
	#topImage h2 {
		margin-bottom: 0;
	}
	
	#coming-soon {
		display: block;
		margin: 0 -2.5vw;
		background:linear-gradient(180deg,#9FD8F7, #ffffff);
		padding-top: 40px;
	}
	
	#coming-soon .flag2024 .flag {
		content: '';
		display: block;
		height: 24vh;
		background-image: url("../images/2024_flag.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center top;
	}
	
	#coming-soon .flag2024 .soonImg {
		content: '';
		display: block;
		height: 11vh;
		background-image: url("../images/soon.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center top;
		margin-top: -2vh;
	}
	
	#overview .shinkansenL {
		display: block;
		content: '';
		height: 3.8vh;
		background-image: url("../images/shinkansen-L.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left bottom;
	}
	
	#overview .rail {
		display: block;
		content: '';
		height: 2.4vh;
		background-image: url("../images/rail3.png");
		background-repeat: repeat-x;
		background-size: contain;
		background-position: center top;
	}
	
	#overview .shinkansenR {
		display: block;
		content: '';
		height: 3.8vh;
		background-image: url("../images/shinkansen-R.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: right top;
	}
	
	#overview .comment {
		content: '';
		display: block;
		background-image: url("../images/comment-mountain1.png"),url("../images/comment-mountain2.png");
		background-size: 12vh auto, 10vh auto;
		background-repeat: no-repeat;
		background-position: left 2vw top, right 1vw bottom;
		text-align: center;
		font-weight: bold;
		line-height: 1.77;
		margin: 10px 0;
		padding: 5px 0;
	}
	
	#overview .comment {
		margin-top: 2.6vh;
		margin-bottom: 2vh;
		font-size: 1.14em;
	}
	
	#overview .comment p {
		margin-top: 8.4vh;
		margin-bottom: 6.2vh;
	}
	
	
	#sponsor {
		margin-top: 50px;
	}
	#sponsor p {
		margin-bottom: 10px;
	}
	#sponsor p span{
		font-weight: bold;
	}
	/*#sponsor div {
		display: none;
	}*/
	#sponsor div {
		display: flex;
		gap: 5px;
		flex-wrap: wrap;
		width: 355px;
		margin: auto;
	}
	#sponsor div img {
		width: 85px;
	}
	
	
	#kekka2023 {
		margin-top: 60px;
	}
	
	#kekka2023 .Oldprise .prise_bn  {
		content: '';
		display: block;
		height: 9vh;
		background-image: url("../images/2024kekka_bn.jpg");
		background-repeat: no-repeat;
		background-position: center top;
		background-size: contain;
	}
	
	#kekka2023 .Oldprise .message {
		width: 80vw;
		margin: 0 auto;
		margin-top: 25px;
		box-sizing: border-box;
	}
	
	
}


@media only screen and (max-width: 346px){


}
