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


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

#menu,
#menu #chk_menu {
	block-size: 40px;
	inline-size: 40px;
	cursor: pointer;
}
#menu {
	position: fixed;
	inset-block-start: 1px;
	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 ;
	/*background-color: #000 ;*/
}




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

	background-color: rgba(238, 25, 74, 1.0); 
	padding-block-end: 150px;

	z-index: 998;

	transition: all 300ms 0s ease;
}

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

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


#mnav ul li a {
	font-family: "League Spartan", sans-serif;
	color: #fff;
	display: block;
}
#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: 375px) {
/* iphone6 */

#mnav ul {
	padding: 50px 0 150px;
}
#mnav ul li {
	padding: .8em 0em;
}
#mnav ul li.btn_mnav {
	padding-block-start: 1.8em;
}
#mnav ul li.btn_mnav a {
	/*margin-block-start: 2.5em;*/
}
#mnav ul li.btn_mnav .mnav_phone {
	margin-block-start: 1.5em;
}

/* end of media query(iphone6) */	
}







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

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

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




/* 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: 8px;
	inset-inline-end: 14px;
}
#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;*/
}


/* 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;
	/*border: 1px solid #000;*/
}
#menu {
	inset-block-start: 0px;
	inset-inline-end: 20px;
}
#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;*/
}





/* end of media query */	
}


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


/* end of media query */	
}