@charset "utf-8";

@media (max-width: 600px) {

}

@media (max-width: 768px) {
	header {
	    height: 50px;
	}
	header h1 img {
	    height: 50px;
	}
	h2 {
	    font-size: 22px;
	}
}

@media (max-width: 1024px) {
	.inner {
		width: 95%;
    	padding: 0 2.5%;
    }

	header {
	padding: 10px 15px;
	}

	/* 右側ボタンを隠す */
	header ul {
	display: none;
	}

	/* ハンバーガー表示 */
	#menu-toggle {
	display: block;
	width: 30px;
	height: 22px;
	border: none;
	background: none;
	}

	#menu-toggle span {
	display: block;
	height: 3px;
	background: #333;
	margin: 5px 0;
	border-radius: 2px;
	}
	.sp-links {
		display: block;
		padding: 15px;
		background: #f5f5f5;
	}

	.sp-links ul {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.sp-links a {
		display: block;
		padding: 12px;
		text-align: center;
	}

	/* ナビを縦メニュー化 */
	#nav {
	display: none;
	position: fixed;
    top: 80px;
    left: 0;
    width: 100%;
    height: calc(100vh - 80px);
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
	}

	#nav.open {
	display: block;
	transform: translateY(0);
	}

	#nav > ul {
	flex-direction: column;
	background-color: #fff;
	position: relative;
	z-index: 1;
	padding: 15px;
	}

	nav ul li:hover {
		background-image: none;
	}

	#nav > ul > li {
		background-image: none;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	padding-top: 15px;
	}

	nav li.has-child {
		text-align: left;
		line-height: 22px;
	}

	nav li.has-no-child a {
		text-align: left;
		line-height: 22px;
	}
	nav li li a {
		text-align: left;
		line-height: 22px;
	}

	/* サブメニューを展開式に */
	.submenu {
	position: static;
	display: block;
	background: none;
	text-align: left;
	padding-left: 32px;
	}

	nav li.has-child > a::after, nav li.has-child::after {
		content: none;
	}
}


@media (max-width: 1280px) {
	.inner {
	    width: 100%;
	    max-width: 1100px;
	    margin: 0 auto;
	}
}