@media (max-width: 932px) {

	body.scroll-locked {
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
		overflow: hidden;
		padding-top: 56px;
	}

	body.scroll-locked header {
		position: fixed;
	}

	header {
		padding: 10px 15px;
	}

	header>div:last-child {
		order: 1;
		flex-basis: 74px;
	}

	header>div:nth-child(2) {
		order: 3;
		flex-basis: 30px;
	}

	header>div:first-child {
		order: 2;
		flex-basis: calc(100% - 104px);
		padding-right: 44px;
		text-align: center;
	}

	.header-nav {
		position: fixed;
		left: 0;
		top: 56px;
		width: 100%;
		height: calc(100% - 56px);
		padding: 40px 30px;
		background: #fff;
		z-index: 501;
		visibility: hidden;
		transform: translate3d(-100%, 0, 0);
		transition: all .3s ease;
	}

	.header-nav.is-visible {
		visibility: visible;
		transform: translateZ(0);
		transition: all .3s ease;
	}

	.header-nav ul {
		display: block;
		font-size: 16px;
	}

	.header-nav ul li {
		opacity: 0;
		transform: translateY(-50%);
		transition: all .65s cubic-bezier(.215, .61, .355, 1) .5s, transform .35s cubic-bezier(.215, .61, .355, 1) .5s;
	}

	.header-nav.is-visible ul li {
		opacity: 1;
		transform: translateY(0);
	}

	.header-nav.is-visible ul li:first-child {
		transition-delay: 10ms;
	}

	.header-nav.is-visible ul li:nth-child(2) {
		transition-delay: 60ms;
	}

	.header-nav.is-visible ul li:nth-child(3) {
		transition-delay: 110ms;
	}

	.header-nav.is-visible ul li:nth-child(4) {
		transition-delay: 160ms;
	}

	.header-nav.is-visible ul li:nth-child(5) {
		transition-delay: 210ms;
	}

	.header-nav.is-visible ul li:nth-child(6) {
		transition-delay: 260ms;
	}

	.header-nav ul li a {
		display: inline-block;
	}

	.header-nav ul li a.is-visible,
	.header-nav ul li a:hover {
		background: unset;
	}

	/*.header-nav ul li a.is-visible span::after,*/
	.header-nav ul li a:hover span::after {
		transform: scaleX(0.6);
	}

	.header-hamburger {
		display: block;
		position: relative;
		width: 30px;
		height: 30px;
		left: 0;
		padding: 0;
		cursor: pointer;
		background: none;
	}

	.header-hamburger-lines {
		display: block;
		width: 100%;
		height: 100%;
		transition: .5s ease-in-out;
	}

	.header-hamburger-lines span {
		display: block;
		position: absolute;
		height: 3px;
		width: 24px;
		background: #212121;
		opacity: 1;
		transform: rotate(0deg);
		transition: .25s ease-in-out;
		border-radius: 3px;
		width: 26px;
		height: 1px;
	}

	.header-hamburger-lines span:first-child {
		top: 9px;
	}

	.header-hamburger-lines span:last-child {
		top: 21px;
	}

	.header-hamburger-lines.is-visible span:first-child {
		top: 15px;
		transform: rotate(225deg);
	}

	.header-hamburger-lines.is-visible span:last-child {
		top: 15px;
		transform: rotate(-225deg);
	}

	.main-nav ul {
		margin-bottom: 10px;
	}

	.main-nav ul li a {
		padding: 5px 10px;
	}

	.main-nav ul li a:hover,
	.main-nav ul li a.is-visible {
		background-color: unset;
	}

	.main-nav ul li a.is-visible span::after,
	.main-nav ul li a:hover span::after {
		transform: scaleX(0.6);
	}

	.main-nav ul li a.is-visible span::after {
		transform: scaleX(0.6);
	}

	section.sep {
		display: block;
	}

	section.sep>div {
		width: 100%;
	}

	section.sep>div:last-child {
		padding-top: 20px;
	}

	a.leaflet {
		width: 70%;
	}

	.event-present {
		display: block;
	}

	.event-present>div {
		width: 100%;
	}

	.event-present-nav {
		width: 100%;
	}

	.swiper-slide {
		height: calc(100vh - 56px);
	}

	.kv-text {
		padding: 10px 30px 60px;
	}
}

@media (max-width: 834px) {
	.shingi {
		grid-template-columns: repeat(3, 1fr);
	}

	.product {
		grid-template-columns: repeat(3, 1fr);
	}

	.concept {
		display: block;
	}

	.concept>div {
		width: 100%;
	}

	.concept>div:last-child {
		padding: 0;
	}

	.concept-ttl {
		margin-top: 30px;
	}

	.concept-ttl.show {
		margin-top: 15px;
	}
}

@media (max-width: 700px) {
	.shingi {
		grid-template-columns: repeat(2, 1fr);
	}

	.product {
		grid-template-columns: repeat(2, 1fr);
	}

	.presentation {
		grid-template-columns: repeat(2, 1fr);
	}
}