@charset "utf-8";
/* CSS Document */


.kinkon{
	width: 100%;
	font-size:  95%;
}
.kinkon hr{
	border: none;
	border-top: 1px solid #eee;
}
.kinkon em{
	font-weight: bold;
	color: #e65c5c;
}
.kinkon em > em{
	font-size: 1.5rem;
}

.kinkon_h1{
	font-family: serif;
	font-weight: bold;
	text-align: center;
	margin: 48px auto;
	color: #C39A63;
	line-height: 1.4;
}
.kinkon_h1::before,.kinkon_h1::after{
	content: '';
	display: block;
	width: 8rem;
	aspect-ratio: 236 / 49;
	background-size:contain;
	vertical-align: middle;
	background-repeat: no-repeat;
}

.kinkon_h1::before{
	background-image: url("img/main-title_top.png");
	margin: 0 auto 16px;
}
.kinkon_h1::after{
	background-image: url("img/main-title_bottom.png");
	margin: 16px auto 0;
}

.kinkon_container{
	margin: 0 auto;
	width: 100%;
}

.kinkon_container > p{
	text-indent: 1rem;
}
						
.kinkon p{
	font-size: 100%;
	line-height: 1.7;
	letter-spacing: 0.04rem;
}

.kinkon_headline,.kinkon .lead{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}

.kinkon .lead{
	text-indent: 1rem;
}

/* YOUTUBE */

.kinkon_youtube{
	background-color: rgba(195, 154, 99, 0.5);
	border: solid #c39a63 2px;
	max-width: 600px;
	padding: .5em;
	margin: 3em auto 0;
	text-align: center;
}

.kinkon_youtube p{
	font-weight: bold;
	font-family: 'Noto Serif JP', serif;
	font-size: .9em;
	margin-bottom: .5em;
}

.kinkon_youtube iframe{
	width: 100%;
	aspect-ratio: 16 / 9;
}

.kinkon_login{
	margin: 2em auto 10rem;
	position: relative;
}

.login-img{
	position: relative;
	display: flex;
	justify-content: center;
}

.login-img img{
	max-width: 100%;
}

.img-overlay{
	width: 105%;
	height: 108%;
	aspect-ratio: 16 / 9.1;
	background-image: linear-gradient(0deg, #ffffff, #ffffff99 90%);
	position: absolute;
	top: -10px;
}
.img-overlay .nowrap{
	white-space: nowrap;
	font-weight: bold;
}
.img-overlay p{
	text-align: center;
	position: absolute;
	top: 40%;
	padding: 0 2%;
	width: 100%;
	font-weight: bold;
	font-size: 1.1em;
	background-color: #ffffff95;
	border: rgba(195, 154, 99) 1px solid;
}

.login-btn{
	display: flex;
	justify-content: center;
	flex-direction: column;
	position: absolute;
	bottom: -150px;
	left: 0;
	right: 0;
	margin: 1% auto;
    text-align: center;
    width: 100%;
}

.login-btn a{
	display: block;
	background-color: #ffffff95;
	border-top: #c39a63 double 5px;
	border-bottom: #c39a63 double 5px;
	padding: 5%;
	color: rgba(var(--color00), 1);
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	margin-bottom: 1em;
}

.display-none{
	display: none;
}

/* 日程 */

.kinkon_headline{
	margin-top: 36px;
}
.kinkon_headline::before,.kinkon_headline::after{
	content: '';
	display: block;
	width: 8rem;
	aspect-ratio: 235 / 23;
	background-size:contain;
	vertical-align: middle;
	background-repeat: no-repeat;
}

.kinkon_headline::before{
	background-image: url("img/headline_top.png");
}
.kinkon_headline::after{
	background-image: url("img/headline_bottom.png");
}


.kinkon dt, .kinkon dd{
	font-size: 100%;
}

.kinkon dl{
	display: flex;
	flex-flow: column wrap;
	width: 100%;
}

.kinkon dt{
	letter-spacing: 0.1rem;
	position: relative;
	width: 100%;
	line-height: 1.5;
	font-weight: bold;
	text-align:  center; 
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.kinkon dl.kinkon_list > dt{
	padding: 0.25em;
}

.kinkon dl.date-tables_kinkon_list dt{
	padding: 0;
}

.kinkon dt span{
	font-weight: normal;
	line-height: 1.5;
}

.kinkon dd{
	    line-height: 1.5em;
		width: 100%;
		align-items: center;
}

.kinkon dl.kinkon_list > dd:not(.dd_date,.dd_apply){
		padding: 1.25em 1em;
}

.kinkon dl.date-tables_list dd{
	padding: 0;
}
.kinkon .dd_apply{
	padding-top:1.25rem;
}

/*　「日程」のテーブル　*/

	.kinkon_schedule-table{
		border-collapse: separate;
		border-spacing:  2px 8px;
		margin-top: 32px;
		width: 100%;
	}
	.kinkon_schedule-table:first-of-type{
		margin-top: 1.25rem;
	}


	.kinkon_schedule-table .table_caption,
	.kinkon_schedule-table .table_caption span{
		line-height: 1.25;
		font-weight: bold;

	}
	.kinkon_schedule-table .table_caption{
		letter-spacing: 0.08rem;
		margin: 0 auto;
		border-radius: 30px 30px 0 0;
		border: 2px solid #c39a63;
		padding: 16px;
		width: calc(100% - 4px);
	}
	.kinkon_schedule-table .table_caption span.date{
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
	}
	.kinkon_schedule-table .table_caption span.day-of-week{
		color: #e65c5c;
	}

	.kinkon_schedule-table th,.kinkon_schedule-table td{
		padding: 16px 10px;
	}

	.kinkon_schedule-table th{
		vertical-align: middle;
		background: #ddd;
	}
	.kinkon_schedule-table th.areaname{
		writing-mode: vertical-rl;
	}

	.kinkon_schedule-table thead th{
		background: rgba(195,154,99,0.5);
	}

	.kinkon_schedule-table td{
		background: #efebea;
	}

	.td_inner > div{
		line-height: 1.6;
	}
	
	.kinkon_schedule-table td:has(.td_inner){
		padding: 0;
	}
	.kinkon_schedule-table .td_inner div{
		padding: 16px 10px;
	}
	.kinkon_schedule-table .td_inner .place{
		border-bottom: 2px solid #fff;
	}

	div.details{
		margin: 0 auto;
		width: 100%;
		max-width: 26rem;
	}
	div.details p{
		padding: 0 1rem;
	}
	ol.details_list{
		width: 100%;
		margin: 16px auto;
		display: grid;
		grid-template-columns: 1fr;
		border:1px solid #c39a63;
		padding: 1rem;
		list-style: none;
		counter-reset: number;
		list-style-position: inside;
	}
	ol.details_list li{
		line-height: 1.6;
		position: relative;
	}

	ol.details_list.required li{
		padding-left: 40px;
	}
	ol.details_list.required li::before {
		  counter-increment: number;
		  content: '（' counter(number) '）';
		  position: absolute;
		  left: 0;
	}
	ol.details_list.address li{
		padding-left: 16px;
	}

/*　申込書ボタン　*/
.kinkon a.kinkon_pdf_btn{
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	text-decoration: none;
	min-width: 120px;
	/*margin: auto;*/
	padding: 1rem 4rem;
	font-weight: bold;
	background: #c39a63;
	color: #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	transition: 0.5s;
}
.kinkon a.kinkon_pdf_btn:hover{
	color: #fff;
	opacity: 0.5;
}



.kinkon_btn_wrap{
	margin-top: 48px;
	margin-bottom: 20px;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}
.kinkon_btn_wrap + p{
	width: min(100%,37em);/*396px*/
	margin: 1.25em auto 0;
	font-size: 0.875rem;
	text-indent: 0;
}
.kinkon_attention{
	margin-top: 36px;
	padding: 0.5rem;
	background: #efebea;
}
.kinkon_attention li{
	line-height: 1.7;
}

span.please {
    font-size: 100%;
    padding-left: 1em;
    text-indent: -1em;
    display: inline-block;
    /* ご来場予定の皆様へのお願い */
}
.text_center{
	text-align: center;
}

.mb24{
	margin-bottom: 24px;
}

/*レスポンシブ---------------------------------*/
@media screen and (min-width:400px){
	.narrow-display{
		display: none;
	}
	.img-overlay p{
		padding: 15px 2%;
	}
	.login-btn{
		width: 70%;
	}
}


@media screen and (min-width:768px){
	.kinkon{
		font-size: 110%;
	}
	.kinkon_container,dd.kinkon_container{
		width: min(80%,50rem);
	}

	.kinkon_login{
		margin: 2em auto;
	}
	.img-overlay p{
		top: 30%;
	}
	.login-btn{
		flex-direction: row;
		gap: 5%;
		width: 100%;
		position: absolute;
	    bottom: 0;
	}
	.login-btn a{
		padding: 3% 10%;
		margin-bottom: 0;
	}
	
	.kinkon dt{
		margin-bottom: 0;
		padding: 1.5em 0.25em;;
		box-shadow: none;
		}
	.kinkon dd{
		padding: 1.5em 1.25em;
	}
	.kinkon_schedule-table th.areaname{
		width: 10rem;
		max-width: 152px;
		writing-mode:horizontal-tb;
	}
	
/*
	.kinkon_btn_wrap + p{
		width: min(100%,400px);
	}
*/

	.kinkon .sp-display{
		display: none;
	}
}
