/*
--------------------------------------------------------------------------------
reset
--------------------------------------------------------------------------------
*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,audio,canvas,details,dialog,embed,figcaption,figure,footer,header,hgroup,hr,mark,menu,meter,nav,output,progress,rp,rt,ruby,section,summary,time,video,xmp{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}html,body{line-height:1;}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}hr{clear:both;float:none;width:100%;height:0px;margin:0px;padding:0px;border:none;}
*{word-break:break-all;word-wrap:break-word;}*{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}table[border] caption,table[border] tbody,table[border] tfoot,table[border] thead,table[border] tr,table[border] th,table[border] td{outline:1px solid rgba(0,0,0,0.3);}


/*
--------------------------------------------------------------------------------
base
--------------------------------------------------------------------------------
*/
body, html
{
	margin : 0;
	padding : 0;
	width : 100%;
	height : 100%;
	font-family : "Zen Kaku Gothic New",Noto Sans JP ,sans-serif ,ui-sans-serif  , 'BlinkMacSystemFont' , "Meiryo UI" , "Meiryo" , "メイリオ" , system-ui , "Hiragino Sans" , "Hiragino Kaku Gothic ProN" , sans-serif;
	scroll-behavior: smooth;
}
.header-rogo
{
	width : 10vw;
	position: absolute;
	margin : 20px 10px;
}
.container
{
	max-width :1920px;
	width : 100%;
	margin : 0 auto;
}

.wid_content
{
	width : 1100px;
}
.round_title
{
	display : inline-block;
	border : solid #a1902f 6px;
	border-radius : 75px;

	line-height : 75px;
	text-align :center;

	font-size : 30px;
	font-weight : 600;
	color : #a1902f;
	letter-spacing: 0.2em;

	background-color : #fff;
}

#info
{
	width : 1100px;
	margin : 0 auto;
	margin-top : 40px;
}
.info_head
{
	width : 950px;
	font-size : 25px;
	color : #a1902f;
	line-height : 180%;
	margin : 40px auto;
	font-weight : 600;
	text-align : center;
}
.info_cesa
{
	width : 620px;
	margin : 0 auto;
	background-image : url('img/about_cesa.png');
	background-repeat : no-repeat;
	background-position : 50% 0;
	background-size : 40%;
	padding-top : 100px;
	font-size : 20px;
	line-height : 160%;
}
.info_desc
{
	width : 950px;
	font-size : 22px;
	color : #a1902f;
	line-height : 180%;
	margin : 60px auto;
	font-weight : 600;
	text-align : center;
	margin-bottom : 120px;
}

#entry_sections
{
	width : 100%;
	background-color : #a1902f;
	position : relative;
	padding : 80px 0;
}

#entry_menu
{
	position : absolute;
	top : -55px;
	left : calc(50% - 550px);

	display : flex;
	flex-direction : row;
	align-items : center;

	border : solid #a1902f 6px;
	border-radius : 40px;
	background-color : #fff;

	width : 1100px;
	height : 115px;
}
#entry_menu .item
{
	font-size : 28px;
	color : #a1902f;
	font-weight : 600;
	flex-grow : 1;
	text-align : center;
	line-height : 120%;
	cursor : pointer;
	text-decoration : none;
}
#entry_menu .item.disabled
{
	color : #ccc;
}
#entry_menu .item:hover
{
	opacity : 0.8;
}
#entry_menu .item .small
{
	font-size : 20px;
}
#entry_menu .sep
{
	width : 3px;
	height : 60%;
	background-color : #a1902f;
}

.section
{
	width : 1100px;
	margin : 60px auto 120px auto;
	background-color : #f5f4d7;
	position : relative;
	border-radius : 30px;
	padding : 60px 60px 20px 60px;
	font-size : 20px;
	line-height : 180%;
}
.section.require
{
	margin-bottom : 60px;
}
.section > .title
{
	position : absolute;
	left : calc(50% - 294px);
	top : -45px;
	width : 585px;
}
.section .item_name
{
	display : inline-block;
	background-color : #a1902f;
	padding : 2px 6px;
	color : #f5f4d7;
	font-size : 20px;
}
.section .item_val
{
	padding : 10px 0 40px 0;
	font-size : 20px;
}
p0
{
	font-size : 16px;
}
.confirm_label
{
	padding : 0 0 40px 0;
	color : #fff;
	font-size : 22px;
	text-align : center;
}

.form_link_wrap
{
	width : 100%;
	text-align : center;
	padding : 20px 0;
}
.form_link
{
	display : inline-block;
	border : none;
	border-radius : 90px;
	height : 90px;
	line-height : 90px;
	text-align :center;
	font-size : 30px;
	font-weight : 600;
	color : #000;
	background-color : #fff;
	width : 690px;
	text-decoration : none;
	box-shadow : 0 2px 10px 6px rgba(0,0,0,0.2);
	background-image : url('img/arrow_black.png');
	background-size : 5%;
	background-position : 600px 50%;
	background-repeat : no-repeat;
	margin-bottom : 50px;
}
.form_link:hover
{
	box-shadow : 0 0 10px 6px rgba(0,0,0,0.05);
	transition: 0.5s;
}

.section.disabled
{
	background-color : #ccc;
	margin-bottom : 20px;
}
.section.disabled .round_title
{
	border-color : #ccc;
	color : #ccc;
}
.section.disabled .nodata
{
	color : #fff;
	padding : 40px 0 50px 0;
	text-align : center;
}


#other_sections
{
	width : 100%;
	position : relative;
	padding : 80px 0 30px 0;
}
#other_sections .section
{
	background-color : transparent;
	margin : 0 auto;
	padding : 0;
}
#other_sections .section > .title
{
	position : static;
	width : 1100px;
}
#other_sections .section > .desc
{
	padding : 60px;
	text-align : center;
}
#other_sections .section > .desc.cesa
{
	display : flex;
	flex-direction : row;
	align-items : center;
}
#other_sections .section > .desc.cesa .spacer
{
	flex-grow : 1;
}
#other_sections .section > .desc.cesa a
{
	background-image : url('img/link.png');
	background-repeat : no-repeat;
	background-size : 5%;
	background-position : 100% 50%;
	padding-left : 40px;
	padding-right : 40px;
	text-decoration : none;
	color : #000;
}
#other_sections .form_link_wrap
{
	padding : 0;
}
#other_sections .form_link
{
	margin-bottom : 0px;
	background-image : url('img/arrow_yellow.png');
	color : #a1902f;
	box-shadow : 0 2px 10px 6px rgba(0,0,0,0.1);
}
#other_sections .form_link:hover
{
	box-shadow : 0 0 10px 6px rgba(0,0,0,0);
	background-color: #f5f4d7;
	transition: 0.5s;
}

footer
{
	background-color : #a1902f;
	color : #fff;
	text-align : center;
	width : 100%;
	padding : 30px;
}


/*
--------------------------------------------------------------------------------
for SP
--------------------------------------------------------------------------------
*/
@media (max-width: 768px)
{
	.header-rogo
	{
	width : 80px;
	}

	.container
	{
		width : 375px;
		margin : 0 auto;
	}

	.wid_content
	{
		width : 360px;
	}
	.wid_text
	{
		width : 950px;
	}
	.round_title
	{
		border-radius : 50px;
		line-height : 50px;
		font-size : 20px;
		border-width : 4px;
	}

	#info
	{
		width : 360px;
	}
	.info_head
	{
		width : 320px;
		font-size : 16px;
	}
	.info_cesa
	{
		width : 300px;
		padding-top : 50px;
		font-size : 14px;
	}
	.info_desc
	{
		width : 320px;
		font-size : 14px;
		margin-top : 30px;
		margin-bottom : 90px;
	}

	#entry_sections
	{	
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding-top : 250px;
		padding-bottom : 20px;
	}

	#entry_menu
	{
		left : calc(50% - 135px);
		width : 265px;
		height : auto;
		flex-direction : column;
		
	}
	#entry_menu .item
	{
		font-size : 20px;
		padding : 20px 0;
	}
	#entry_menu .item .small
	{
		font-size : 14px;
	}
	#entry_menu .sep
	{
		width : 100%;
		height : 3px;
	}

	.section
	{
		width : 360px;
		margin : 60px auto 60px auto;
		padding : 60px 20px 0px 20px;
	}
	.section.require
	{
		margin-bottom : 30px;
	}
	.section > .title
	{
		left : calc(50% - 132px);
		width : 265px;
		top : -30px;
		font-size : 20px;
	}
	.section .item_name
	{
		font-size : 14px;
		padding : 0px 10px;
	}
	.section .item_val
	{
		font-size : 14px;
		line-height : 150%;
	}
p0
{
	font-size : 12px;
}
	.confirm_label
	{
		padding : 0 60px 0px 60px;
		line-height : 150%;
		font-size : 14px;
	}

	.form_link_wrap
	{
		padding : 20px 0 0 0;
	}
	.form_link
	{
		width : 320px;
		height : 70px;
		line-height : 70px;
		border-radius : 70px;
		font-size : 18px;
		background-position : 280px 50%;
		margin-bottom : 20px;
	}

	.section.disabled .nodata
	{
		font-size : 16px;
		padding : 20px 60px 60px 60px;
	}

	#other_sections
	{
		padding : 40px 0 30px 0;
	}

	#other_sections .section > .title
	{
		width : 360px;
	}
	#other_sections .section > .desc
	{
		padding : 20px;
		font-size : 16px;
		text-align : left;
		line-height : 150%;
	}
	#other_sections .section > .desc.cesa
	{
		flex-direction : column;
	}
	#other_sections .section > .desc.cesa a
	{
		font-size : 16px;
		padding-left : 0px;
		padding-right : 30px;
		background-position : 100% 85%;
		text-align : center;
	}

	#other_sections .section.organizer img
	{
		padding-bottom : 20px;
	}

	footer
	{
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding : 20px;
		font-size : 14px;
		
	}

}
