#menu-btn-check,
.menu .btn {
    display: none;
}

.nav img {
	max-width: 100%;
}
.nav li {
	font-size: min(4.2vw, 68px);
	font-family: "Smooch Sans", sans-serif;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.02em;
	margin-bottom: min(1vw, 16px);
}
.nav .works {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	position: relative;
	z-index: 2;
}
.nav li span {
	display: block;
	font-size: 30%;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0em;
	margin-top: -.55em;
}
.nav li a {
	color: #000;
	display: block;
	position: relative;
	overflow: hidden;
}
.nav li a::before {
	content: '';
	display: block;
	width: 100%;
	height: 20%;
	background-image: url("../img/common/arrow.png");
	background-position: right bottom;
	background-size: contain;
	background-repeat: no-repeat;
	border-bottom: 1px solid #000;
	position: absolute;
	bottom: 0;
	left: -100%;
	opacity: 0;
	transition: .3s all;
}
@media (hover: hover) {
	.nav li a:hover::before {
		left: 0;
		opacity: 1;
	}
}
@media(min-width:1024px) {
	.nav h1 {
		margin-left: max(-2vw, -32px);
		width: min(calc((100% + 4vw)), calc((100% + 64px)));
	}
	.nav.not_top h1 {
		margin-left: 0;
		width: 100%;
	}
	/*.nav::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: url("../img/common/menu_bg.png");
		background-repeat: no-repeat;
		background-size: 110%;
		background-position: bottom center;
		z-index: -1;
	}*/
	.nav li.home {
		font-size: min(3.15vw, 51px);
	}
	.nav .works {
		gap: 0;
		margin-left: max(-3vw, -48px);
		width: min(calc(100% + 6vw + 13px), calc(100% + 96px + 13px));
	}
	.nav .works div {
		padding: 10px min(3vw, 48px);
	}
	.nav .works div:nth-child(2n-1) {
		background-color: rgba(0,0,0,.1);
	}
	.btn strong {
		display: none;
	}
}
@media(max-width:1023px) {
	.nav h1 {
		padding-left: min(20px, 3vw);
		text-align: left;
		position: relative;
		z-index: 5;
	}
	.nav img {
		width: 20vw;
		max-width: 800px;
	}
	.btn {
	    position: fixed;
	    top: 10px;
	    right: 32px;
	    display: flex;
	    height: 80px;
	    width: 90px;
	    justify-content: center;
	    align-items: center;
		cursor: pointer;
		background-color: rgba(255,255,255,.8);
		border-radius: 3px;
		z-index: 99;
	}
	#menu-btn-check:checked ~ .btn {
		width: 60px;
		right: 22px;
		top: 0;
		background-color: rgba(255,255,255,0);
	}
	/*ボタン内側*/
	.btn span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 10px;
		height: 3px;
		border-radius: 2px;
		width: calc(100% - 20px);
	}
	.btn span:nth-of-type(1) {
		top: 12px;
		height: 16px;
		background-image: url("../img/common/arrow.png");
		background-position: right bottom;
		background-size: contain;
		background-repeat: no-repeat;
		border-bottom: 1px solid #000;
	}
	.btn span:nth-of-type(2) {
		top: 35px;
		width: 30px;
		background: #1a1a1a;
	}
	.btn span:nth-of-type(3) {
		top: 45px;
		width: 18px;
		background: #1a1a1a;
	}

	#menu-btn-check:checked ~ .btn span {
		background: #fff;
	}
	/*activeクラスが付与されると線が回転して×に*/
	#menu-btn-check:checked ~ .btn span:nth-of-type(1) {
		opacity: 0;/*真ん中の線は透過*/
	}
	#menu-btn-check:checked ~ .btn span:nth-of-type(2){
		top: 30px;
		right: 8px;
		left: auto;
		transform: rotate(45deg);
		width: 70%;
	}
	#menu-btn-check:checked ~ .btn span:nth-of-type(3) {
		top: 30px;
		right: 8px;
		left: auto;
		transform: rotate(-45deg);
		width: 70%;
	}
	.btn strong {
		display: inline-block;
		position: absolute;
		left: 10px;
		width: calc(100% - 20px);
		bottom: 5px;
		text-align: center;
		font-size: 80%;
		color: #fff;
		background-color: #1a1a1a;
		letter-spacing: -.03em;
		opacity: 1;
		transition: .3s all;
	}
	#menu-btn-check:checked ~ .btn strong {
		opacity: 0;
	}
	.menu-content {
		margin: auto;
		width: 100vw;
		height: 100%;
	    position: fixed;
	    top: -100%;
		left: 0;
	    z-index: 80;
	    background-color: rgba(0,0,0,.75);
	    transition: all 0.5s;
		animation-delay: 3.5s;
	}
	.menu-content::before {
		content: '';
		position: absolute;
		display: flex;
		align-items: center;
		width: 1px;
		max-width: 600px;
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-color: rgba(255,255,255,.8);
		z-index: -1;
		opacity: 0;
	}
	#menu-btn-check:checked ~ .menu-content {
		top: 0;
	}
	#menu-btn-check:checked ~ .menu-content::before {
		content: '';
		position: absolute;
		display: flex;
		align-items: center;
		width: calc(100vw - 60px);
		max-width: 600px;
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
		animation: SlideDown .5s ease .5s 1 normal backwards;
		background-color: rgba(255,255,255,.8);
		z-index: -1;
		opacity: 1;
		transition: .5s all;
		transition-delay: .2s;
	}
	nav {
		display: block;
		width: 100%;
		height: 100%;
	    min-height: 100vh;
		overflow-y: scroll;
		position: relative;
	}
	/*nav::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: url("../img/common/menu_bg.png");
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: bottom center;
		opacity: 0;
	}*/
	#menu-btn-check:checked ~ .menu-content nav::before {
		opacity: 1;
	    transition: all 1.5s;
		transition-delay: .2s;
	}
	.menu-content ul {
		margin-left: 25px;
		padding: 5vw;
		position: relative;
		z-index: 2;
		margin: auto;
		width: calc(100vw - 60px);
		max-width: 600px;
	}
	.menu-content ul li {
		font-size: min(14vw, 72px);
		font-size: min(10vw, 52px);
		margin: 0;
	}
	.menu-content ul * {
		transition: 1s all;
		height: 0;
		opacity: 0;
	}
	#menu-btn-check:checked ~ .menu-content ul,
	#menu-btn-check:checked ~ .menu-content ul * {
		height: auto;
		opacity: 1;
	}
	#menu-btn-check:checked ~ .menu-content ul li {
		margin-bottom: 15px;
	}
	.nav .bnr {
		padding-top: 10px;
		
	}
	.nav ul {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.nav ul > li {
		width: calc(50% - 5px);
	}
	.nav .works {
		padding: 0 10px;
		margin: auto;
		width: calc(100vw - 60px);
		max-width: 600px;
	}
	.nav .works div {
		width: calc(50% - 5px);
		background-color: rgba(255,255,255,.75);
		border-radius: .3em;
		padding: 10px 20px;
	}
	.nav .works div img {
		width: 100%;
	}
}
@media(max-width:767px) {
	.nav h1 {
		padding-left: min(20px, 3vw);
		text-align: left;
	}
	.nav img {
		width: 40vw;
	}
	.btn {
	    position: fixed;
	    top: 10px;
	    right: 32px;
	    display: flex;
	    height: 60px;
	    width: 60px;
	    justify-content: center;
	    align-items: center;
	    z-index: 90;
		cursor: pointer;
		background: none;
	}
	.nav .works div {
		padding: 10px 10px;
	}
}
@media(max-width:1023px) and (orientation: landscape) {
	nav::before,#menu-btn-check:checked ~ .menu-content nav::before {
		visibility: hidden;
	}
}
