@charset "UTF-8";
/* CSS Document */

/*back to top button*/
#fixedTop {
	display:block;
	right: 10px;
	bottom: 60px;/*-60px*/
	width: 50px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	background-color: rgba(0,0,0,.5);
	position: fixed;
	z-index: 9999;
	border-radius: 25px;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
#fixedTop:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.8;
	text-decoration:none;
}

/*---hamburger nav---*/

#contents {
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#navBtn:checked ~ #contents {
	transform: translateX(250px);
}

/* ---button--- */
#navBtn {
	display: none;
}
label {
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;/*left*/
	display: block;
}
.open {
	z-index: 100;
	width: 48px;
	height: 48px;
	background: #3B4D9D;
	transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid white;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 5;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .6s;
}
#navBtn:checked + .open {
	background: #cb8780;
	transform: translateX(-250px);/*250px*/
}
#navBtn:checked + .open span {
	transform: scaleX(0);
}
#navBtn:checked + .open::before {
	transform: rotate(45deg);
}
#navBtn:checked + .open::after {
	transform: rotate(-45deg);
}
#navBtn:checked ~ .close {
	pointer-events: auto;
	background: rgba(0,0,0,.3);
}

/* menu */
.menu {
	z-index: 10;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;/*right*/
	width: 250px;
	height: 100%;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	background: rgba(0,0,0,.6);
	transform: translateX(100%);/*-100%*/
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu h2,
.menu a {
	color: #FFF;
}
.menu h2 {
	text-align: center;
}
.menu ul {
	margin: 0;
	padding: 0;
}
.menu li {
	font-size: .8em;
	line-height: 1.4;
}

.menu li ul li {
	text-indent: 1em;
	position: relative;
}

.menu li ul li::before {
	content: '';
	display: inline-block;
	border: 4px solid transparent;
	border-left: 5px solid #FFF;
	top: 14px;
	left: 20px;
	position: absolute;
}

.menu li:not(:first-child) {
	border-top: 1px solid rgba(255,255,255,.6);
}

.menu li ul li:not(:first-child) {
	border-top: none;
}

.menu li:last-of-type {
	border-bottom: 1px solid rgba(255,255,255,.6);
}

.menu li ul li:last-of-type {
	border-bottom: none;
}

.menu a {
	display: block;
	padding: 1em 2em;
	text-decoration: inherit;
	transition: background .6s;
}
.menu a:hover {
	background: black;
}

.menu a[target="_blank"] {
	background: url("../img2025/ico_blank.png") no-repeat right center;
}

@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx) {
.menu a[target="_blank"] {
	background-image: url("../img2025/ico_blank@2x.png");
	background-size: 16px 15px;
}
}

#navBtn:checked ~ .menu {
	transform: none;
}