@charset "utf-8";

@media screen and (max-width: 999px) {
	.l-puzzle .logo {
		width: 20%;
	}
	
	.l-culture .stage:before {
		width: 10%;
	}
	
}

@media screen and (max-width: 767px) {
	.l-puzzle .logo {
		width: 100%;
		margin-inline: auto;
		padding: 42.5% 0 0;
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
	
	.l-puzzle .logo img {
		width: 70%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	.l-puzzle .item {
		width: 100%;
		height: calc(100% / 4.6);
	}
	
	.l-puzzle .item:nth-of-type(1),
	.l-puzzle .item:nth-of-type(3) {
		padding-bottom: 0;
	}
	
	.l-puzzle .icon {
		width: 18%;
	}
	
	.l-puzzle .title {
		font-size: 6vw;
	}
	
	.l-puzzle .text {
		font-size: 4.25vw;
	}
	
	.l-puzzle .image .parts:nth-of-type(1) {
		display: none;
	}
	
	.l-puzzle .image .parts:nth-of-type(2) {
		width: 44%;
		margin: 0 -14% 30% 0;
	}
	
	.l-culture .u-inner {
		padding-inline: 0;
	}
	
	.l-culture .title {
		width: calc(100% - (20px * 2));
		margin-inline: 20px;
		padding: 20px 10px;
	}
	
	.l-culture .title:before {
		width: 32px;
		height: 34px;
		margin: 0 0 15px;
		display: block;
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
	
	.l-culture .title small {
		font-size: 15rem;
	}
	
	.l-culture .title b {
		font-size: 22rem;
	}
	
	.l-culture .stage .image {
		padding-inline: 20px;
	}
	
	.l-culture .stage:before {
		width: 12.5%;
		margin: 25px 0 0 18px;
	}
	
}
