@charset "UTF-8";


/* ------------------------------------------
	header
--------------------------------------------- */

header {
    position: fixed;
    top: 0;
    left: 0;
	width: 100%;
    text-align: center;
	z-index: 999;
	background:rgba(241, 241, 226, 0.6);
	height: 90px;
	color: #444;
}

@media(max-width:959px){
	header{
		padding-bottom: 0;
		border-bottom: 0;
		height: 80px;
	}
	a.splogo {
		width: 60%;
	}
}
@media(max-width:599px){
	a.splogo {
		width: 100%;
	}
}
/* ------------------------------------------
	NAV
--------------------------------------------- */
#brand {
    position: absolute;
    top: 50%;
    left: 2%;
    width: 20%; 
	height: clamp(30px, 6vw, 70px);
    transform: translate(0, -50%);
}
@media(max-width:1300px){
	#brand {
		width: 14%;
	}
}
@media(max-width:1200px){
	#brand {
		width: 6%;
	}
}
@media(max-width:1111px){
	#brand {
		top: 40%;
	}
}
@media(max-width:959px){
	#brand {
		width: 30%;
		top: 50%;
	}
}
@media(max-width:767px){
	#brand {
		width: 50%;
		left: 4%;
	}
}
#brand a.homelogo img {
	width: 100%;
	height: 100%;
	max-height: 70px;
	aspect-ratio: auto; /* または実際のロゴ比率を指定 */
	object-fit: contain;
	transition: none;
}
#brand a::before{
	display: none;
}
.navigation
{
	position:relative;
	font-size: 16px;
}

#brand a:link,
#brand a:visited,
#brand a:hover,
#brand a:active
{
	color:#444;
	text-decoration:none;
}

nav > ul {
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
	width: 80%;
    align-items: center;
    padding: 22px 20px;
    margin: 0 0 0 auto;
}
@media(max-width:1370px){
	nav > ul {
		width: 90%;
	}
}

nav.h-nav > ul li
{
	list-style:none;
	margin:0;
}

nav.h-nav > ul > li
{
	position:relative;
}

nav.h-nav > ul > li a
{
	display:block;
	padding: 0px 5px;
    margin-right: 16px;
    line-height: 40px;
	transition:0.4s;
}

nav ul li a:link,
nav ul li a:visited
{
	color:#444;
    text-decoration: none;
}

nav ul li a:hover,
nav ul li a:active
{
    text-decoration: none;
	color: rgba(27, 57, 126, 0.6);
}

/* Mobile navigation */

header .nav-mobile
{
	display:none;
	position:absolute;
	top:0px;
	right:0;
	height:60px;
	width:60px;
	color: #444;
}
@media (min-width: 960px){
	.nav-list {
		display: flex !important;
	}
}

@media(max-width:959px)
{
	
	header .navigation
	{
		background:rgba(255, 255, 255);
		font-size: 16px;
		position: relative;
	}
	header .nav-mobile
	{
		display:block;
		top: -7px;
	}
	.nav-container {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		margin: 0;
		z-index: 9999;
		position: fixed;
		height: 80px;
	}
	
	header nav
	{
		margin: 0 auto;
		z-index: 999;
		padding: 0;
	}
	nav.h-nav > ul li {
		text-align: center;
		margin: 30px 0;
	}
	.nav-list li a{
		font-size: 20px;
	}

	header nav > ul
	{
		display:none;
		background-color:rgb(238,238,222);
		padding:50px 30px 130px;
		height: 100vh;
		width: 100%;
	}
	
	header nav > ul > li a
	{
		padding: 10px 0;
		line-height:30px;
		text-align: center;
	}
	nav.h-nav > ul > li a {
		margin-right: 0;
	}
	

}
@media (max-width:599px){
	#brand a img {
		width: 100%;
	}
	

}


/* 開閉ボタン */

#nav-toggle
{
	position:absolute;
	left:0;
	top:35px;
	cursor:pointer;
	padding:10px 36px 16px 0px;
	z-index:9999;
}

#nav-toggle span,
#nav-toggle span::before,
#nav-toggle span::after
{
	cursor:pointer;
	border-radius:1px;
	height:2px;
	width:36px;
	background:rgb(28, 28, 28);
	position:absolute;
	display:block;
	content:'';
	-webkit-transition:all 0.4s ease-in-out;
	-moz-transition:all 0.4s ease-in-out;
	-ms-transition:all 0.4s ease-in-out;
	-o-transition:all 0.4s ease-in-out;
	transition:all 0.4s ease-in-out;
}

#nav-toggle span::before
{
	top:-10px;
}

#nav-toggle span::after
{
	bottom:-10px;
}

#nav-toggle.active span
{
	width:0;
}

#nav-toggle.active span::before
{
	top:0;
}

#nav-toggle.active span::after
{
	bottom:0;
}

#nav-toggle.active span::before
{
	transform:rotate(135deg);
}

#nav-toggle.active span::after
{
	transform:rotate(-135deg);
}
