@charset "UTF-8";

#drawer {
	display: none;
  z-index: 9880;
  font-weight: 700;
}
label {
	cursor: pointer;
	position: fixed;
  z-index: 9981;
}
.open {
	top: 0;
	right: 0;
	width: 70px;
	height: 70px;
	/*
	border-radius: 48px;
	background:url("../img/common/navi.png") no-repeat top center;
	background: #00b700;
	*/
	transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 9992;
}
.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 50%;
	border-bottom: 3px solid white;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 9996;
}
.open::before {transform: translateY(-12px);}
.open::after {transform: translateY(12px);}
.close {
	z-index: 1;
	inset: 0;
	pointer-events: none;
	transition: background .6s;
}
#drawer:checked + .open {
	/*background: #dc6688;*/
	border-radius: 48px;
	/*background:url("../img/common/navi.png") no-repeat top center;*/
	/*transform: translateX(-380px);*/
	top: 0;
	right: 0;
	z-index: 9998;
}
#drawer:checked + .open span {transform: scaleX(0);}
#drawer:checked + .open::before {transform: rotate(135deg) scaleX(1.2);}
#drawer:checked + .open::after {transform: rotate(-135deg) scaleX(1.2);}

#drawer:checked ~ .close {
	pointer-events: auto;
	background: rgba(255, 255, 255, 0.7);
}
.menu {
  z-index: 9996;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;
	/*
	width: 100%;*/
	width: 200px;
	height: 100%;
	margin: 0;
	padding: 60px 20px;
	box-sizing: border-box;
	/*background: #rgba(0,0,0,.6);
	background: #00b700 url("../img/common/good.png") no-repeat right bottom;
		background-size: 50% auto;
  font-family: "M PLUS Rounded 1c", sans-serif;
	font-size:1.5rem;
*/
	background-color: #b4751e;
	transform: translateX(100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.menu ul {
	margin: 0;
	padding: 0;
}
.menu li {
	line-height: 1.2;
}
/*.menu li span{ font-size:0.8em;}*/
.menu li:not(:first-child) {
	/*border-top: 1px solid rgba(255,255,255,.6);*/
}
.menu a {
	display: block;
	padding: 0.5em 0.8em 0.5em 18px;
	color: #fff;
	text-decoration: inherit;
	transition: background .6s;
	background: url("../img/common/arrow.png") no-repeat 0px 16px;
	background-size: 10px 12px;
}
.menu a:hover {
	color: #fff;
	text-decoration: underline;
}
#drawer:checked ~ .menu {
	transform: none;
}

	
/*子階層以降共通*/
.menu li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
}
.menu li li a {
	background: url("../img/common/circle.png") no-repeat 0px 14px;
	background-size: 6px 6px;
	padding-left: 10px;
}
.menu li:hover > ul > li {
	height: 2rem;
	overflow: visible;
	margin-bottom: 1rem;
	margin-left: 1rem;
}
/*
.menu li ul li ul {
    left: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}*/
/*
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
	border: 1px solid #ccc;
}
*/
.title {
    position: relative;
    cursor: pointer;
    font-size:1em;
    font-weight: normal;
    padding: 3% 3% 3% 2%;
    transition: all .5s ease;
}

.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/* sp
--------------------------------------------------------------------------------------*/
/* 
--------------------------------------------------------------------------------------*/

@media only screen and (max-width: 481px) {
.open {
	width: 50px;
	height: 50px;
	background:#b4751e;
}
.menu {
  z-index: 9996;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 120px 0;
	box-sizing: border-box;
	transform: translateY(-100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	font-size: 1rem;
}
	.menu ul {
	padding: 0 20%;
}
	.menu li:hover > ul > li {
	height: 1rem;
	margin-bottom: 1em;
	margin-left: 5%;
}
.menu li li a {
	padding-left: 10px;
}
	.menu li:hover > ul{
	padding: 0 0%;}
.menu li:hover > ul > li {
	height: 2rem;
	overflow: visible;
	margin-bottom: 1rem;
	margin-left: 1rem;
}
	
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 20%;
	width: 60%;
	border-bottom: 2px solid white;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 9996;
}
}
