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


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

#menu,
#menu #chk_menu {
	block-size: 40px;
	inline-size: 40px;
	cursor: pointer;
}
#menu {
	position: fixed;
	inset-block-start: 2px;
	inset-inline-end: 5px;
	
	display: grid;
	z-index: 999;
}	
#menu #chk_menu  {
	-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(51, 51, 51, 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;

/* 	border: 1px solid #000;*/
}
#mnav ul li {
	list-style: none;
	padding: .8em 0em;
	font-size: 18px;
	text-align: center;
	inline-size: 12em;
	margin-inline: auto;
}
#mnav ul li:not(.btm) {
	border-block-end: 1px solid #858585;
}
#mnav ul li:last-child {
	margin-bottom: 100px;
/*	padding-block-start: 20px;*/
}


#mnav ul li a {
	color: #fff;
	display: block;
}
#mnav ul li a:hover {
	text-decoration: none;
}
#mnav ul li.btn_mnav {
	padding-block-start: 1.8em;
	inline-size: 100%;
}
#mnav ul li.btn_mnav a {
	display: block;
	inline-size: 100%;
	margin-inline: auto;
}
#mnav ul li.btn_mnav a:nth-of-type(2) {
	margin-block-start: 2em;
}



/* チェツクされた */
#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: 3px;
	inset-inline-end: 15px;
}

#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;
	/*border: 1px solid #000;*/
}
#menu {
	inset-block-start: 6px;
	inset-inline-end: 20px;
}
#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.btn_mnav a {
	inline-size: 250px;
}


/* 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 */	
}