@charset "UTF-8";
/* Navigation */


/*  ハンバーガーメニュー */
#hamburger {
}

#menu,
#menu #chk_menu {
	block-size: 40px;
	inline-size: 40px;
	cursor: pointer;
/*	border: 1px solid #000;*/
}
#menu {
	position: fixed;
	inset-block-start: 2px;
	inset-inline-end: 0px;
	
	display: grid;
	z-index: 999;
/*	background-color: #000;*/
}	
#menu #chk_menu  {
	/*block-size: 80px;
	inline-size: 77px;*/

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0;
	
}

#menu label {
	display: grid;
	justify-items: center;
	align-items: center; 

	cursor: pointer;

	position: relative;
}


#menu label span {
	display: block;
	inset-block-start: 17px;

	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

#menu label span,
#menu label span:before,
#menu label span:after {
	content: '';
	display: block;
	block-size: 2px;
	inline-size: 25px;
	border-radius: 3px;
	background-color: #3b3938;
	position: absolute;
	transition: all 300ms 0s ease;
}
#menu label span:before {
	inset-block-end: 7px;
}
#menu label span:after {
	inset-block-start: 7px;
}

/* チェツクされた */
#menu #chk_menu:checked ~ label span  {
/*	inset-block-start: 28px;*/
	background-color: rgba(255, 255, 255, 0); 
}
#menu #chk_menu:checked ~ label span:before  {
	inset-block-end: 0;
	transform: rotate(45deg);
}
#menu #chk_menu:checked ~ label span:after  {
	inset-block-start: 0;
	transform: rotate(-45deg);
}
#menu #chk_menu:checked ~ label span:before,
#menu #chk_menu:checked ~ label span:after {
	background-color: #fff ;
}




/* モバイルナビゲーション */
#mnav {
	display: block;
	position: fixed;
	inset-inline-end: -450px;
	inset-block-start: 0;
	inline-size: 300px;
/*	inline-size: 100%;*/
	block-size: auto;

	background-color: rgba(49, 41, 39, 0.9); 
	padding-block-end: 150px;

	z-index: 998;

	transition: all 300ms 0s ease;
}

#mnav ul {
	max-inline-size: 70%;
	margin-inline: auto;
	padding: 80px 0 150px;
	height: 100vh;
	overflow-y: auto;
 	-webkit-overflow-scrolling: touch;

}
#mnav ul li {
	list-style: none;
	text-align: left;
}
#mnav ul li:not(.btm) {
	border-block-end: 1px dotted #c8b487;
}

#mnav ul li.divider {
	border-block-end: 1px solid #dbdada;
	padding-block-end: 2em;
	margin-block-end: 2em;
}


#mnav ul li:last-child {
	margin-bottom: 100px;
/*	padding-block-start: 20px;*/
}

#mnav ul li.m_dancer {
	padding: 1em 0em;
}
#mnav ul li.m_dancer figure {
	inline-size: 104px;
	margin-inline: auto;
}

#mnav ul li.mttl {
	color: var(--f-color);
	font-weight: bold;
	padding: .6em .2em;
	margin-block-start: .4em;
	margin-block-end: .4em;
	border-block-start: 1px solid #fbc7ce;
	border-block-end: 1px solid #fbc7ce;
}
#mnav ul li a {
	color: #ffff;
	display: block;
	padding: .8em .2em;
	font-size: 18px;
}
#mnav ul li.mhome a {
	color: var(--f-color);
	font-weight: bold;
}
#mnav ul li.msns div {
	display: grid;
	grid-template-columns: 36px 36px 36px;
	grid-template-rows: auto;
	column-gap: 1em;
	row-gap: 0;
	margin-block-start: 1.5em;
	inline-size: 140px;
	margin-inline: auto;
}
#mnav ul li a:hover {
	text-decoration: none;
}



/* チェツクされた */
#hamburger:has(#menu #chk_menu:checked) #mnav {
	display: block;
	inset-inline-end: 0;
}








@media handheld, print, screen and (min-width: 480px) {

/*  ハンバーガーメニュー */
#menu,
#menu #chk_menu {
	block-size: 45px;
	inline-size: 45px;
}
#menu {
	inset-block-start: 2px;
	inset-inline-end: 5px;
}

#menu label span {
/*	inset-block-start: 22px;*/
}
#menu label span,
#menu label span:before,
#menu label span:after {
	block-size: 3px;
	inline-size: 35px;
	border-radius: 3px;
}
#menu label span:before {
	inset-block-end: 10px;
}
#menu label span:after {
	inset-block-start: 10px;
}


/* チェツクされた */
#menu #chk_menu:checked ~ label span  {
/*	inset-block-start: 28px;*/
}


/* モバイルナビゲーション */
#mnav {
	inset-inline-end: -300px;
	inline-size: 300px;
	padding-block-end: 150px;
}

#mnav ul {
	max-inline-size: 80%;
	padding: 50px 0 150px;
}

#mnav ul li:last-child {
	margin-bottom: 100px;
}



/* end of media query */
}



@media handheld, print, screen and (min-width: 620px) {

/*  ハンバーガーメニュー */
#menu,
#menu #chk_menu {
	block-size: 50px;
	inline-size: 50px;
}
#menu {
	inset-block-start: 2px;
	inset-inline-end: 15px;
}
#menu label span {
/*	inset-block-start: 28px;*/
}
#menu label span,
#menu label span:before,
#menu label span:after {
	block-size: 3px;
	inline-size: 35px;
	border-radius: 3px;
}
#menu label span:before {
	inset-block-end: 10px;
}
#menu label span:after {
	inset-block-start: 10px;
}


/* チェツクされた */
#menu #chk_menu:checked ~ label span  {
/*	inset-block-start: 38px;*/
}


/* モバイルナビゲーション */
#mnav {
	inset-inline-end: -400px;
	inline-size: 400px;
	padding-block-end: 150px;
}

#mnav ul {
	padding: 50px 0 150px;
}
#mnav ul li:last-child {
	margin-bottom: 100px;
}
#mnav ul li.msns div {
	/*display: grid;
	grid-template-columns: 35px 35px;
	grid-template-rows: auto;
	column-gap: 1em;
	row-gap: 0;
	margin-block-start: 1.5em;*/
}



/* end of media query */
}






@media handheld, print, screen and (min-width: 900px) {

/*  ハンバーガーメニュー */
#hamburger {
	display: none;
}
#menu,
#menu #chk_menu {
	block-size: 50px;
	inline-size: 50px;
}
#menu label span {
/*	inset-block-start: 35px;*/
}
#menu label span,
#menu label span:before,
#menu label span:after {
	block-size: 3px;
	inline-size: 35px;
	border-radius: 3px;
}
#menu label span:before {
	inset-block-end: 10px;
}
#menu label span:after {
	inset-block-start: 10px;
}


/* チェツクされた */
#menu #chk_menu:checked ~ label span  {
/*	inset-block-start: 43px;*/
}


/* モバイルナビゲーション */
#mnav {
	inset-inline-end: -500px;
	inline-size: 500px;
	padding-block-end: 150px;
}

#mnav ul {
	max-inline-size: 80%;
	padding: 50px 0 150px;
}
#mnav ul li:last-child {
	margin-bottom: 100px;
}




/* end of media query */	
}

@media handheld, print, screen and (min-width: 1020px) {



/* end of media query */	
}

@media handheld, print, screen and (min-width: 1200px) {



/* end of media query */	
}