@charset "utf-8";

img {
	border: none;
	line-height: 0;
	vertical-align: bottom;
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
footer
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
footer {
	background-color: #999999;
	color: #fff;
	text-align: center;
	font-size: 0.8em;
	padding: 10px 0;
	margin: 120px auto 0;
	letter-spacing: 0.1em;
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
pagetop
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
a#page_top {
	position: fixed;
	bottom: 60px;
	right: 20px;
	z-index: 99999;
	width: 41px;
	height: 41px;
	background-color: rgba(255,255,255,0.7);
}

	a#page_top img {
		width: 100%;
	}
	
	
/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
club_header
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
div#login_menu {
	background-color: #1d4c4c;
	padding: 15px 0;
	font-size: 0.9em;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}

	div#login_menu > a {
		display: block;
		width: 100%;
		max-width: 230px;
	}
	
		div#login_menu > a > img {
			width: 100%;
		}
	
	
	div#login_menu ul {
		width: calc(100% - 250px);
		max-width: 850px;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	
		div#login_menu ul li {
			width: 50%;
			max-width: 125px;
			background-position: 10px center;
			background-size: contain;
			background-repeat: no-repeat;
			padding: 0 0 0 35px;
			box-sizing: border-box;
			margin: 0 0 0 25px;
			text-align: right;
			letter-spacing: 0.15em;
		}
		
		div#login_menu ul li:first-child {
			max-width: 165px;
			border-right: 1px #fff solid;
			background-image: url('../../img/login_menu_1.svg');
			margin: 0;
			padding: 0 40px 0 35px;
		}
		
		div#login_menu ul li:last-child {
			background-image: url('../../img/login_menu_2.svg');
		}
		
			div#login_menu ul li a {
				color: #fff;
			}

nav {
	width: calc(100% - 20px);
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	display: none;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 15px 0;
	font-size: 0.9em;
	align-items: center;
}
	
	nav a.site_name:hover {
		opacity: 0.5;
	}
	
		nav a.site_name img {
			width: 100%;
			max-width: 230px;
		}
		
	nav > ul {
		display: flex;
		justify-content: space-between;
		width: 100%;
		max-width: 700px;
	}
	
		nav > ul li {
			display: flex;
			align-items: center;
		}
		
		nav > ul span {
			content: '';
			display: inline-block;
			width: 1px;
			height: 28px;
			border-right: 1px #999999 solid;
			vertical-align: bottom;
			transform: rotate(25deg);
			margin: 3px 0 0 0;
		}


@media (max-width: 580px) {
	nav > ul {
		flex-wrap: wrap;
		justify-content: space-around;
		margin: 10px auto 0;
	}
	
		nav > ul li {
			width: calc(50% - 1px);
			justify-content: center;
			margin: 5px 0;
		}
		
		nav > ul span:nth-child(4n) {
			display: none;
		}
}

@media (max-width: 350px) {
		nav > ul li {
			width: 100%;
		}
		
		nav > ul span {
			display: none;
		}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ハンバーガーメニューアイコン
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
div#club_header #menu_button {
	position: fixed;
	right: 12px;
	top: 12px;
	display: none;
	width: 28px;
	padding: 0;
	text-align: center;
	text-decoration: none;
	color: #fff;
	font-size: 0.7em;
	text-indent.0.1em;
	z-index: 8;
	background-color: rgba(255,255,255,0.75);
	padding: 8px;
}

	div#club_header #menu_button p {
		margin: 15px 0 0 0;
	}
	
	div#club_header #menu_button p.active::after {
		content: 'CLOSE';
		display: inline;
	}
	div#club_header #menu_button p.close::before {
		content: 'MENU';
		display: inline;
	}
	

.menu-trigger,
.menu-trigger span {
	display: block;
	transition: all .4s;
	box-sizing: border-box;
	margin: 0 auto;
	text-align: center;
}
.menu-trigger {
	position: relative;
	width: 28px;
	height: 24px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #1d4c4c;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 11px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #1d4c4c;
	transition: all .4s;
}

.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(20px) scale(0);
}
.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-20px) scale(0);
}

@media screen and (max-width: 580px) {
	div#club_header #menu_button {
		display: block;
	}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
サイドメニュー
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
div#club_header nav > ul li.menu_sp {
	display: none;
}

@media screen and (max-width: 580px) {
	div#login_menu {
		display: none;
	}
	
	div#club_header nav {
		position: fixed;
		top: 0;
		right: -400px;
		display: block;
		width: 100%;
		max-width: 400px;
		height: 100vh;
		box-sizing: border-box;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		z-index: 7;
		background-color: rgba(29,76,76,0.9);
		padding: 0;
	}
	
		div#club_header nav > a {
			display: block;
			width: 100%;
			margin: 0 auto;
			line-height: 1.75em;
			text-align: center;
			padding: 15px 0;
			background-color :#fff;
		}
		
		
		div#club_header nav > ul li {
			width: 100%;
			padding: 10px 0;
		}
		
		div#club_header nav > ul li.menu_sp {
			display: flex;
		}

		
		div#club_header nav > ul span {
			display: none;
		}
		
		div#club_header nav > ul li a {
			color: #fff;
			margin: 8px 0;
		}
		

	div#club_header .nav_menu.active {
		animation: nav_animation_1_1 1.2s ;
		animation-timing-function: ease;
		animation-iteration-count: 1;
		right: 0;
	}
	
	div#club_header .nav_menu.close {
		animation: nav_animation_3_1 1.2s ;
		animation-timing-function: ease;
		animation-iteration-count: 1;
		right: -400px;
	}
}
@keyframes nav_animation_1_1 {
	0% {
		right: -400px;
	}
	60% {
		right: 0;
	}
}

@keyframes nav_animation_3_1 {
	0% {
		right: 0;
	}
	60% {
		right: -400px;
	}
}
@media screen and (max-width: 580px) {
	div#club_header nav > div > div {
		padding: 10px 0 60px 0;
	}
}
