@media screen and (max-width: 768px) {

	/*========= ナビゲーションのためのCSS ===============*/
	#sp_gnav {
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position: fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top: 0;
		right: -120%;
		width: 100%;
		height: 100vh; /*ナビの高さ*/
		background: #999;
		/*動き*/
		transition: all 0.3s;
	}

	/*アクティブクラスがついたら位置を0に*/
	/*#sp_gnav.panelactive{
        right: 0;
    }*/
	/*ナビゲーションの縦スクロール*/
	#sp_gnav.panelactive #g_nav_list {
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999;
		width: 100%;
		height: 100vh; /*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*========= ボタンのためのCSS ===============*/
	.sp_gnav_btn {
		position: absolute;
		z-index: 9999;
		top: 0;
		right: 0;
		cursor: pointer;
		width: 60px;
		height: 60px;
		background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
	}

	.sp_gnav_btn span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 20px;
		height: 1px;
		border-bottom: 1px solid var(--cmnblack);
		width: 20px;
	}

	header.header_active .sp_gnav_btn span, .drawer_open .sp_gnav_btn span {
		border-bottom-color: var(--cmnblack);
	}

	.sp_gnav_btn span:nth-of-type(1) {
		top: 28px;
	}

	.sp_gnav_btn span:nth-of-type(2) {
		top: 35px;
	}

	.sp_gnav_btn span:nth-of-type(3) {
		top: 41px;
	}

	header.header_active .sp_gnav_btn span:nth-of-type(1) {
		top: 25px;
	}

	header.header_active .sp_gnav_btn span:nth-of-type(2) {
		top: 31px;
	}

	header.header_active .sp_gnav_btn span:nth-of-type(3) {
		top: 37px;
	}

	/*×に変化*/
	.sp_gnav_btn.active {}

	.sp_gnav_btn.active span:nth-of-type(1) {
		top: 26px;
		left: 20px;
		transform: translateY(6px) rotate(-45deg);
	}

	.sp_gnav_btn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.sp_gnav_btn.active span:nth-of-type(3) {
		top: 38px;
		left: 20px;
		transform: translateY(-6px) rotate(45deg);
	}

	/*    spナビ
    ---------------------*/
	#sp_gnav {
		width: 100%;
		height: 100%;
		overflow: hidden;
		overflow-y: hidden;
		position: fixed;
		top: 0;
		margin: 0 auto;
		box-sizing: border-box;
		z-index: 150;
		opacity: 1.0;
		background: #fff;
	}

	#g_nav_list {
		padding: 30px 20px 0;
	}

	#sp_gnav .drawer_nav_inner {
		list-style: none;
		text-align: left;
		height: 100vh;
	}

	#sp_gnav .drawer_nav_inner li.btm_first {
		margin: 50px 0 0 0;
	}

	#sp_gnav .drawer_nav_inner li.btm_first a {
		border-top: 1px solid #e8e4e1
	}

	#sp_gnav .drawer_nav_inner > li:last-child {
		padding-bottom: 150px !important;
	}

	/*drawer-nav-top ---------------------------------*/
	.drawer_nav_top {
		margin: 0;
	}

	.drawer_nav_top .nav_top_subttl {
		font-weight: bold;
		font-size: 2.6rem;
		line-height: 1;
		letter-spacing: .03em;
		position: relative;
		padding: 0 0 0 20px;
		margin: 35px 0 5px;
	}

	.drawer_nav_top .nav_top_subttl::before {
		content: "";
		background: var(--main);
		width: 15px;
		height: 4px;
		left: 0;
		position: absolute;
		top: 60%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.drawer_nav_top .nav_top_list {
		display: flex;
		flex-direction: column;
		margin: 0 0 0;
	}

	.drawer_nav_top .nav_top_item_ttl {
		align-items: center;
		display: flex;
		flex-grow: 1;
		flex-wrap: wrap;
		position: relative;
		font-size: 1.8rem;
		font-weight: bold;
		padding: 0 25px 0 0;
		line-height: 1.3;
	}

	.drawer_accordion {
		display: none;
	}

	.drawer_default_list a::before {
		background: var(--main);
		content: "";
		height: 2px;
		position: absolute;
		top: 48%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 15px;
		left: 15px;
	}

	/*solution---------------------------------------*/
	/*drawer_menu_ttl---------------------------------------*/
	.drawer_menu_ttl {
		align-items: center;
		display: flex;
		gap: 10px;
	}

	.drawer_menu_ttl .plus {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		right: 0;
		height: 24px;
		width: 24px;
	}

	.drawer_wetarea .drawer_menu_ttl .plus {
		background: var(--cate2);
	}

	.drawer_eco .drawer_menu_ttl .plus {
		background: var(cate3);
	}

	.drawer_menu_ttl .plus span {
		background: var(--main);
		position: relative;
		display: block;
		height: 100%;
		width: 100%;
	}

	.drawer_menu_ttl .plus span::after, .drawer_menu_ttl .plus span::before {
		background: #fff;
		border-radius: 1px;
		content: "";
		position: absolute;
		transition: all .3s;
	}

	.drawer_menu_ttl .plus span::after {
		height: 15px;
		right: 11px;
		top: 5px;
		width: 1px;
	}

	.drawer_menu_ttl .plus span::before {
		height: 1px;
		right: 4px;
		width: 15px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.nav_top_item.menu_active .plus span::after {
		transform: rotate(90deg);
	}

	/*drawer_accordion_service-------------------------*/
	.drawer_accordion_service {
		background: #f5f5f5;
	}

	.drawer_accordion_service a {
		align-items: center;
		border-bottom: 1px solid #ddd;
		color: var(--cmnblack);
		display: flex;
		height: 60px;
		padding: 5px 10px 7px 40px;
		position: relative;
		width: 100%;
		line-height: 1.4;
	}

	.drawer_accordion_service li:last-child a {
		border-bottom: none;
	}

	.drawer_accordion_service a::before {
		background: var(--main);
		content: "";
		height: 2px;
		position: absolute;
		top: 48%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 15px;
		left: 15px;
	}

	/*nav_product_list--------------------------------*/
	.drawer_accordion .nav_product_list {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		background: #ebf1f6;
		padding: 20px 15px;
	}

	.drawer_accordion .nav_product_list a {
		width: calc((100% - 10px) / 2);
		align-items: center;
		display: flex;
		gap: 5px;
		font-size: 1.5rem;
		line-height: 1.3;
		color: var(--cmnblack);
		background: #fff;
		flex-direction: column;
		font-weight: 600;
		padding: 5px 5px 10px;
	}

	.drawer_accordion .nav_product_list a .s {
		font-size: 1.2rem;
		display: inline-block;
		margin: 3px 0 0;
	}

	.nav_top_list_product .drawer_default .drawer_menu_ttl .plus {
		background: var(--main);
	}

	.nav_top_list_product .drawer_default .drawer_menu_ttl .plus span::before, .nav_top_list_product .drawer_default .drawer_menu_ttl .plus span::after {
		background: #fff !important;
	}

	.drawer_accordion .nav_product_list .thumb {
		display: block;
		flex-shrink: 0;
		width: 100%;
		height: 85px;
	}

	.drawer_accordion .nav_product_list .thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.drawer_nav_top .nav_top_item {
		border-bottom: 1px solid #e3e3e3;
		padding: 15px 0 15px 0;
	}

	.drawer_nav_top img {
		aspect-ratio: 1/0.583;
		width: 100px;
	}

	.nav_top_list_product .drawer_product_bg {
		width: 100px;
		height: 58.3px;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}

	.nav_top_list_product_wrap .nav_top_list_product:nth-of-type(2), .nav_top_list_product_wrap .nav_top_list_product:nth-of-type(3) {
		border-top: none;
		margin: 0;
	}

	.nav_top_list_product_wrap .nav_top_list_product:first-of-type .drawer_product_bg {
		background: var(--cmnbg) url("../img/cmn_mfg_logo.png")center/85% no-repeat;
		aspect-ratio: 439/210;
		height: 70px;
	}

	/*nav_calender-----------------------------------------*/
	.nav_calender {
		align-items: center;
		margin: 55px 0 0;
		display: flex;
		gap: 5px;
	}

	.nav_calender_ttl {
		color: var(--sub);
		font-weight: 500;
		display: block;
		font-size: 1.5rem;
		width: 110px;
	}

	.nav_calender_list {
		display: flex;
		gap: 10px;
		flex-grow: 1;
	}

	.nav_calender_item {
		width: calc((100% - 10px) / 2);
	}

	.nav_calender_list a {
		align-items: center;
		border: 1px solid var(--sub);
		display: flex;
		gap: 10px;
		padding: 10px;
		height: 45px;
		width: 100%;
		justify-content: center;
	}

	.nav_calender_item span {
		align-items: center;
		color: var(--sub);
		display: flex;
		font: italic 600 1.8rem /1 var(--en);
		gap: 10px;
		justify-content: center;
		position: relative;
		transition: .5s;
	}

	.nav_calender_item span::before {
		aspect-ratio: 117/150;
		background: url("../img/icon-pdf-gray.svg")center/contain no-repeat;
		content: "";
		display: block;
		width: 20px;
	}

	/*nav_center_list-----------------------------------------*/
	.drawer_nav_center {
		border-top: 1px solid #d5dadd;
		margin: 25px 0 0;
	}

	.drawer_nav_center.bottom {
		margin: 0;
		border-top: none;
	}

	.drawer_nav_center .nav_center_item {
		border-bottom: 1px solid #d5dadd;
		padding: 15px 0 15px 0;
	}

	.drawer_nav_center .nav_center_item img {
		aspect-ratio: 1/0.583;
		width: 100px;
		margin: 0;
	}

	.drawer_nav_center .nav_center_item:not(.is_menu) a::after {
		display: block;
		content: "\f105";
		color: var(--main);
		font-weight: 800;
		font-family: var(--webicon);
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		right: 5px;
	}

	.drawer_nav_center .nav_center_item.menu_active .drawer_menu_ttl .plus span::after {
		transform: rotate(90deg);
	}

	.drawer_nav_center .nav_center_ttl {
		align-items: center;
		display: flex;
		color: var(--cmnblack);
		font-size: 1.8rem;
		font-weight: bold;
		gap: 10px;
		position: relative;
		padding: 0 25px 0 0;
		line-height: 1.3;
	}

	.drawer_nav_center .nav_center_item_ttl {
		line-height: 1.3;
	}

	.drawer_nav_center .nav_center_item_ttl span {
		font-size: 1.3rem;
		display: block;
	}

	.drawer_nav_center .drawer_accordion {
		background: #f5f5f5;
	}

	.drawer_nav_center .drawer_accordion a {
		align-items: center;
		border-bottom: 1px solid #ddd;
		color: var(--cmnblack);
		display: flex;
		height: 56px;
		padding: 5px 10px 7px 40px;
		position: relative;
		width: 100%;
	}

	.drawer_nav_center .drawer_accordion .parent a {
		border-bottom: none;
	}

	.drawer_nav_center .drawer_accordion .child {
		padding: 0 13px;
	}

	.drawer_nav_center .drawer_accordion .child a {
		background: #fff;
		font-size: 1.5rem;
	}

	.drawer_nav_center .drawer_accordion .child a::before {
		width: 10px;
		height: 2px;
	}

	/*drawer_nav_sub--------------------------------------------*/
	.drawer_nav_sub {
		margin: 0 0 18px;
	}

	.drawer_nav_sub a {
		color: var(--cmnblack) !important;
		border-top: none;
		font-size: 1.6rem;
		position: relative;
		padding: 5px 0 10px 18px;
		display: block;
	}

	.drawer_nav_sub a::before {
		content: "";
		background: var(--main);
		height: 2px;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 10px;
		left: 0;
	}

	/*** openmove ***/
	.drawer_top #sp_gnav {
		width: 100%;
		height: auto;
		max-height: 100%;
	}

	.drawer_top .drawer_hamburger, .drawer_top.drawer_open .drawer_hamburger {
		right: 5px;
	}

	#sp_gnav {
		right: -120vw;
		-webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		transition: right.6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	}

	.drawer_open #sp_gnav, .drawer_open #sp_gnavbar {
		right: 0;
	}

	/*** hamburger ***/
	.drawer_hamburger {
		background: #fff;
		border: 0;
		outline: 0;
		padding: 0;
		position: absolute;
		top: 3px;
		right: 15px;
		z-index: 300;
		display: block;
		width: 35px;
		height: 50px;
	}

	.drawer_open .drawer_hamburger {
		background: #fff;
	}

	.drawer_hamburger:hover {
		cursor: pointer;
	}

	.drawer_hamburger_icon {
		margin: 0;
		position: relative;
		display: block;
	}

	.drawer_hamburger_icon, .drawer_hamburger_icon:before, .drawer_hamburger_icon:after {
		width: 27px;
		height: 3px;
		background: #231815;
		text-align: center;
		margin: 0 auto 0 auto;
		top: 0;
		right: 0;
		-webkit-transition: all .8s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		transition: all .8s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	}

	.drawer_hamburger_icon:before, .drawer_hamburger_icon:after {
		position: absolute;
		right: 0;
		content: '';
	}

	.drawer_hamburger_icon:before {
		top: -10px;
	}

	.drawer_hamburger_icon:after {
		top: 10px;
	}

	.drawer_open .drawer_hamburger_icon {
		width: 16px;
		text-align: center;
		height: 0;
		border: 0;
		outline: 0;
		right: 0;
		margin: 0 auto 0;
		background: transparent;
	}

	.drawer_open .drawer_hamburger_icon:before, .drawer_open .drawer_hamburger_icon:after {
		position: absolute;
		top: 0;
	}

	.drawer_open .drawer_hamburger_icon:before {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.drawer_open .drawer_hamburger_icon:after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}