/* -----------------------------------------------------------
    PCハンバーガーメニュー
-------------------------------------------------------------- */

#nav-container {
    width: 66px;
    height: 80px;
    top: 0;
    right: 0;
	z-index: 9909;
    background-color: transparent;
}

#nav-container #nav-toggle {
	width: 66px;
    height: 80px;
    display: block;
    cursor: pointer;
    transform: rotate(0deg);
    position: fixed;
    background-color: #C2C2C2;
    color: #333;
    transition: all 0.8s ease;
	/* box-shadow: 0 0 20px rgba( 0 , 0 , 0 , .1); */
}

.head-nofix #nav-container #nav-toggle{
    position: relative;
}

#nav-toggle span {
    background-color: var(--main);
    width: 24px;
    height: 2px;
    display: block;
    position: absolute;
    /* left: 23px;*/
	left: 50%;
	transform: translateX(-50%);
	margin: 0 auto;
    content: "";
    transition: 0.5s ease-in-out;
}

#nav-toggle span:nth-child(1) {
    top: 19px;
    transform-origin: left center;
}

#nav-toggle span:nth-child(2) {
    top: 26px;
}

#nav-toggle span:nth-child(3) {
    top: 33px;
}

#nav-toggle .menu-txt{
	font-family: var(--font-en);
    font-size: 1.2rem;
    position: absolute;
    top: 45px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	font-weight: 600;
}

/* open */
#nav-toggle.open {
    transition: all 0.5s ease;
	position: absolute !important;
	top: 0;
	right: 0;
}

.header-contact #nav-toggle.open {
    position: fixed!important;
}

#nav-toggle.open span:nth-child(1) {
    transform: rotate(45deg);
	top: 20px;
    left: 28px;
}

#nav-toggle.open span:nth-child(2) {
    width: 0%;
    opacity: 0;
}

#nav-toggle.open span:nth-child(3) {
    transform: rotate(-45deg);
	top: 28px;
    left: 25px;
}

/* #nav-overlay {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 50%;
    transition: all .6s ease;
    transform: scale3d(0, 0, 0);
}

#nav-overlay.open {
    transform: scale3d(1, 1, 1);
    height: 100%;
    width: 100%;
} */

#pc-head #nav-fullscreen {
    width: 100%;
    position: fixed;
    height: 0;
    right: 0;
    top: 0;
    transition: all ease 0.3s;
    visibility: hidden;
    opacity: 0;
	/* background-color: #fff; */
    padding: 0 0 0;
    overflow-y: scroll;
}

#pc-head #nav-fullscreen ul {
    list-style: none;
}

#pc-head #pc-head #nav-fullscreen a {
    color: #333;
	width: 100% !important;
    text-decoration: none;
	/* min-height: 74px; */
	padding: 15px 0;
	background: none;
}

#pc-head #pc-head #nav-fullscreen a .txt{
	text-align: left;
}

#pc-head #pc-head #nav-fullscreen a:before{
	display: none;
}


#pc-head #nav-fullscreen.open {
    visibility: visible;
    height: 100%;
    opacity: 1;
    transition: ease-in-out 0.2s;
    background-color: var(--main);
}

#pc-head #nav-fullscreen.open .bg {
	padding: 80px 0;
}
#pc-head #nav-fullscreen.open .inner {
	position: relative;
	z-index: 1;
}


/*適宜調整*/
    #nav-container *,
    #nav-container *:before,
    #nav-container *:after {
    /* box-sizing: inherit; */
}

/* #pc-head #nav-fullscreen li:hover {
} */

@media screen and (max-width: 768px){
	
	
	#nav-container {
		/*
		position: relative;
		*/
		width: 0px;
		height: 0px;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 31;
	}

	#nav-container.open {
		margin-left: auto;
		position: relative;
		width: 100vw;
		height: 100vh;
		z-index: 100;
	}

	#nav-toggle {
		width: 60px;
		height: 55px;
		top: 0px;
		right: 0px;
		border-radius: 0px;
		transition: all 0.8s ease;
		background-color: #fff;
	}

	/* contactページ drawerボタン位置 */
	.header-contact #nav-toggle {
		top: 0px;
	}

	#nav-toggle span {
		width: 22px;
		height: 2px;
		display: block;
		position: absolute;
		left: 20px;
		content: "";
		transition: 0.5s ease-in-out;
	}

	/*.top #nav-toggle {
		top: 0px;
		right: 0px;
	}*/

	#nav-toggle span:nth-child(1) {
		top: 10px;
		top: 19px;
		transform-origin: left center;
	}

	#nav-toggle span:nth-child(2) {
		top: 17px;
		top: 27px;
	}

	#nav-toggle span:nth-child(3) {
		top: 24px;
		top: 35px;
	}
    #nav-toggle .menu-txt{
        left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
        top: 35px;
		font-size: 1.2rem;
		color: #333;
		transition-duration: 0.5s;
		width: auto;
		white-space: nowrap;
    }
	/* scroll-nav */
	#nav-toggle.scroll-nav {
		transition: all 0.8s ease;
		right: 0;
		top: 0;
	}

	.scroll-nav #nav-toggle {
		top: 0px;
        background-color:  #133891;
	}

	/* open */
	#nav-toggle.open {
		top: 0 !important;
		right: 0px !important;
		/* background: #444; */
	}
	#nav-toggle.open span {
		/* background-color: #fff; */

	}
	#nav-toggle.open span:nth-child(1) {
		transform: rotate(45deg);
		top: 17px;
		left: 23px;
	}

	#nav-toggle.open span:nth-child(2) {
		width: 0%;
		opacity: 0;
	}

	#nav-toggle.open span:nth-child(3) {
		transform: rotate(-45deg);
		top: 24px;
		left: 20px;
	}

	 /* #nav-toggle.open .menu-txt{
		color: #fff;
    } */
	
	#nav-overlay {
		position: absolute;
		top: 0;
		right: 0;
		width: 0;
		height: 0;
		z-index: -1;
		background: rgba(0, 0, 0, 0.8);
		transition: all .2s ease;
		transform: scale3d(0, 0, 0);
	}

	#nav-overlay.open {
		transform: scale3d(1, 1, 1);
		height: 100%;
		width: 100%;
	}

	#pc-head #nav-fullscreen {
		width: 100%;
		position: fixed;
		height: 0;
		right: 0;
		top: 0;
		visibility: hidden;
		opacity: 0;
		background-color: #fff;
		padding: 0 0 0;
		overflow-y: scroll;
	}

	#pc-head #nav-fullscreen ul {
		list-style: none;
	}
	#pc-head #nav-fullscreen a {
		color: #333;
		text-decoration: none;
	}
	#pc-head #nav-fullscreen .box04 .child-area a{
		padding: 20px 20px 20px 60px;
	}
	#pc-head #nav-fullscreen.open {
		visibility: visible;
		height: 100%;
		opacity: 1;
		transition: ease-in-out 0.5s;
		/*
		transition-delay: 0.25s;
		*/
		padding: 0;
		/*background-color: var(--rightblue);*/
	}
	#pc-head #nav-fullscreen.open .bg {
		padding: 10px 20px 50px;
	}


	/*適宜調整*/
		#nav-container *,
		#nav-container *:before,
		#nav-container *:after {
		box-sizing: inherit;
	}

	#nav-overlay {
		/* background: linear-gradient(180deg, #FF512F 10%, #FF512F 50%, #DD2476 90%); */
		background:#fff;
	}

	#pc-head #nav-fullscreen li:hover {
		/*list-style: disc;*/
	}
}


/*    中身
-------------------------------------------------------------- */

#pc-head #nav-fullscreen .drawer-middle {
	width: 100%;
	/* display: flex; */
	justify-content: space-between;
}

#pc-head #nav-fullscreen .drawer-box {
	/* width: calc( (100% - 10px * 3) / 4 ); */
	border-radius: 10px;
	background-color: #fff;
	padding: 40px 40px 40px;
}

#pc-head #nav-fullscreen .drawer-box .box-wrap{
	background-color: #F8EAF5;
	border-radius: 8px;
	padding: 15px 15px 15px;
	margin: 0px auto 0;
}

#pc-head #nav-fullscreen .drawer-box .box-wrap h3{
	color: #333;
	font-size: 1.6rem;
	height: 40px;
	line-height: 40px;
	position: relative;
	/* padding: 0 0 0 45px; */
	display: flex;
	gap: 15px;
}

#pc-head #nav-fullscreen .drawer-box .box-wrap h3 img{
	width: 40px !important;
    height: 40px !important;
    border-radius: 50%;
    background-color: #D2D2D2;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

#pc-head #nav-fullscreen .drawer-box ul li {
	margin: 5px 0  0;
}

#pc-head #nav-fullscreen .drawer-box ul li:first-of-type{
	margin: 20px 0 0;
}

#pc-head #nav-fullscreen .drawer-box ul li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 12px 15px;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 5px 5px 20px rgb(0 0 0 / 8%);
	box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	z-index: 1;
	transition: 0s;
	width: 100%;
	text-align: left;
}

#pc-head #nav-fullscreen .drawer-box ul li a::after {
	content: "\f105";
	display: block;
    font: 500 1.3rem / 1 "FontAwesome";
	margin: 0 0 0 0;
	color: var(--main);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: auto;
	right: 20px;
	transition: 0.3s;
    text-align: center;
}

#pc-head #nav-fullscreen .drawer-box ul li a::before{
	display: none;
}

#pc-head #nav-fullscreen .drawer-box ul li a:hover{
	/* color: #fff !important; */
	transition: 0s;
}

#pc-head #nav-fullscreen .drawer-box ul li a .img{
	width: 44px !important;
    height: 44px !important;
    border-radius: 50%;
    background-color: #D2D2D2;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.drawer-box ul li a .thumb {
	width: 50px;
	display: flex;
	align-items: center;
	text-align: center;
}

.drawer-box ul li a .thumb img {
	width: 100%;
	height: 50px;
	border-radius: 5px;
	object-fit: cover;
}
.drawer-box ul li a .thumb.mark img {
	object-fit: contain;
	border-radius: 0;
}
.drawer-box ul li a .txt {
	width: calc(100% - 59px);
	font-weight: 500;
	line-height: 1.3;
	/* padding: 0 10px 0 15px; */
	font-size: 1.6rem!important;
	transition: 0.3s;
	letter-spacing: -0.05em;
}

.drawer-box ul li a .txt span{
	font-size: 1.5rem;
}
.drawer-box ul li a .txt .en{
	color: var(--main-color);
}
.drawer-box ul li a .txt .s {
	font-size: 1.2rem!important;
	display: block;
}

/*ロゴ*/
.drawer-box ul li.logo-mark {
	text-align: center;
}
.drawer-box ul li.logo-mark a {
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	margin: 0 auto;
	justify-content: center;
	display: inline-block;
}
#pc-head #nav-fullscreen .logo-mark a{
	box-shadow: none;
}
.drawer-box ul li.logo-mark a img {
	width: 100%;
}
.drawer-box ul li.logo-mark a::after{
	display: none;
}
.drawer-box ul li.logo-mark a::before {
	display: none;
}


.drawer-box ul li.sub-menu {
	background-color: transparent;
	margin: 20px 0 0;
}
.drawer-box ul li.sub-menu a {
	width: auto;
	padding: 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
	position: relative;
	transition: all .3s ease;
	background: none;
	box-shadow: none;
	text-align: left;
	justify-content: flex-start;
}
/* .drawer-box ul li.sub-menu a:hover {
	background: none;
	color: #133891;
} */

.drawer-box ul li.sub-menu a::before {
	content: "\f105";
	display: block;
    font: 500 1.4rem / 1 "FontAwesome";
	margin: 0 5px 0 0;
	color: #133891;
	position: initial;
	top: unset;
	right: unset;
	transform: translateY(0);
}

.drawer-box ul li.sub-menu a.wide {
	width: 100%;
}



/* drawer-lower */
#pc-head .drawer-lower {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 40px 0 60px;
}

#pc-head .drawer-lower .l-list {
	display: flex;
}

#pc-head .drawer-lower .l-list li a{
	font-size: 1.4rem;
	font-weight: 500;
	margin: 0 30px 0 0;
	box-shadow: none;
	color: #fff !important;
	background-color: unset;
	width: auto;
	display: flex;
	align-items: center;
}

#pc-head .drawer-lower .l-list li a::before{
	content: "\f105";
	display: inline;
    font: 500 1.4rem / 1 "FontAwesome";
	margin: 0 8px 0 0;
	color: #fff;
	position: initial;
	top: unset;
	right: unset;
	transform: translateY(0);
	width: auto;
	height: auto;
}



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

	.sp-head-btn{
		/* position: absolute; */
		/* right: 70px; */
		z-index: 999;
		width: 100%;
		margin: 13px 0 0;
	}
	.sp-head-btn .btn-list{
		display: flex;
		gap: 5px;
		width: 100%;
	}
	.sp-head-btn .btn-list li{
		width: calc((100% - 5px) / 2 );
	}
	.sp-head-btn .btn-list a{
		display: block;
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
		border-radius: 66px;
		padding: 7px 0;
		width: 100%;
		height: 54px;
		line-height: 1.5;
		text-align: center;
		border-radius: 5px;
		background-color: var(--dark-color);
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	}
	.sp-head-btn .btn-list a span{
		font-size: 1.2rem;
		font-weight: 600;
		display: block;
	}

    /* drawer-middle */
    .drawer-middle {
        display: block;
        padding: 0;
        margin: 0 0 20px;
        border-bottom: none;
    }

    .drawer-box {
        width: 100%;
		/*
        padding: 15px 10px;
        margin: 0 0 5px;
		*/
		margin: 0;
		padding: 0;
        position: relative;
		background: none;
    }
	.drawer-box.box04{
		background-color: #F6F6F6;
		box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.05);
	}
	.drawer-box .category-title,
	.drawer-box .category-title.bot{
		margin: 10px 0 0;
		padding: 12px 15px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #fff;
		border-radius: 8px;
		/*min-height: 68.9px;*/
	}
	.drawer-box.color .category-title{
		background-color: var(--thin-color);
		color: #333;
	}
	.drawer-box.box04 .category-title{
		background-color: #f6f6f6;
	}
	.drawer-box .category-title .thumb {
		display: block;
		width: 50px;
		line-height: 1;
	}
	.drawer-box .category-title .thumb img {
		width: 100%;
		height: 50px;
		object-fit: cover;
		border-radius: 5px;
		vertical-align: bottom;
	}
	.drawer-box .category-title .thumb.mark img {
		object-fit: contain;
	}
	.drawer-box .category-title h3 {
		text-align: left;
		width: calc(100% - 50px);
		padding: 0 10px 0 15px;
		font-size: 1.7rem;
	}
	.drawer-box.box04 .category-title h3{
		font-size: 1.7rem;
	}
    .drawer-middle .sp-toggle {
        display: none;
        padding: 0 0 10px;
    }
    .drawer-box ul li {
        margin: 0 0 10px;
        border-radius: 0;
    }
    .drawer-box ul li:last-child {
        margin: 0;
    }
    .drawer-box ul li a {
        border-radius: 8px;
        padding: 12px 15px;
    }
    .drawer-box ul li a::before {
        margin: 0;
		right: 15px;
    }
	.drawer-box ul li a::after{
		display: none;
	}
	.drawer-box ul li a:hover{
		color: #333 !important;
	}
	.drawer-box ul li a:hover .txt .en{
		color: var(--main-color) !important;
	}
	
	.drawer-box ul li a .thumb {
		width: 50px;
	}
	.drawer-box ul li a .thumb img {
		height: 50px;
	}
	.drawer-box ul li a .thumb.mark img {
	}
	.drawer-box ul li a .txt {
		/*
		width: calc(100% - 50px);
		padding: 0 10px 0 15px;
		*/
		font-weight: bold;
		padding: 0 10px 0 15px;
		font-size: 1.7rem!important;
	}
	.drawer-box ul li a .txt .s {
	}
	/* .drawer-box ul li a:hover {
		background: #fff;
		color: #133891;
	}
	.drawer-box ul li a:hover::before {
		color: #133891;
	}
	.drawer-box ul li a:hover .txt {
		color: #133891;
	} */
	
	
	/*ロゴ*/
	.drawer-box ul li.logo-mark {
		text-align: center;
		background: none;
		padding: 0 0 15px;
		text-align: left;
		/*
		position: absolute;
		left: -20px;
		top: -60px;
		*/
	}
	.drawer-box ul li.logo-mark a {
		box-shadow: none;
		width: 261px;
		height: 42px;
		/*margin: 0 auto;
		align-items: center;
		justify-content: center;
		border-radius: 50px;
		padding: 10px;
		background: #fff;*/
		padding: 0 5px 0 0;
		background: #fff;
	}
	.drawer-box ul li.logo-mark a img {
		width: 100%;
		max-width: 256px;
		height: 100%;
		object-fit: contain;
		/* height: 63px; */
		/* margin: -10px -5px; */
	}
	.drawer-box ul li.logo-mark a::before {
	}
	
	.drawer-box.box04 .box-wrap{
		background-color: #F6F6F6;
	}
	.drawer-box .box-wrap{
		width: calc(100% - 30px);
		margin: 0 auto 15px;
	}
	.drawer-box .box-wrap h3{
		margin: 0 0 15px;
	}
	/*展開後リンク*/
	.drawer-box ul.child-area {
		/* background: #e5e5e5;
		padding: 10px; */
	}
	.drawer-box ul.child-area li .thumb {
		display: none;
	}
	.drawer-box ul.child-area li a .txt {
		width: 100%;
		padding: 0;
	}
	.drawer-box ul.child-area li a {
		padding: 12px 15px;
		min-height: 60px !important;
	}
	
	/*サブメニュー*/
    .drawer-box ul li.sub-menu {
        display: block;
        /*margin: 10px 0 15px;
        padding: 0 0 0 10px;*/
    }
    .drawer-box ul li.sub-menu a {
        width: 100%;
        line-height: 1.8;
    }
    .drawer-box ul li.sub-menu a::before {
        font: 500 1.2rem / 1 "FontAwesome";
    }

	
    /* drawer-lower */
    .drawer-lower {
        display: block;
        padding: 0;
    }

    .drawer-lower .l-list {
        display: block;
    }

    .drawer-lower .l-list li a ,
    .drawer-lower .r-list li a {
        font-size: 1.6rem;
        line-height: 1;
        margin: 0;
        padding: 15px 0;
        position: relative;
        width: 100%;
        display: block;
        border-bottom: solid 1px #f1f5f4;
    }

    .drawer-lower .l-list li a::before ,
    .drawer-lower .r-list li a::before {
        margin: 0;
        color: #133891;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
    }
	
	
	
	/* アコーディオン */
	.drawer-box .accordion-icon{
		display: block;
	}
	
	

}



.nav-slide-txt {
	display: block;
	position: absolute;
	width: 100%;
	overflow: hidden;
	z-index: 0;
	
	top: 10px;
	background: url("../img/mv-en-txt3.png") repeat-x 0 0;
	background-size: 2230px auto;
	height: 128px;
	-moz-animation: loop_nav_en 30s linear infinite;
	animation: loop_nav_en 30s linear infinite;
}

@keyframes loop_nav_en {
	0% {
		background-position: 0 0;
		}

	100% {
		background-position: -2230px 0;
		}
}

@media screen and (max-width: 768px){
	
	.nav-slide-txt {
		/*bottom: 100px;*/
		bottom: 170px;
		background-size: 1257px auto;
		height: 72px;
		-moz-animation: loop_nav_en 20s linear infinite;
		animation: loop_nav_en 20s linear infinite;
	}

	@keyframes loop_nav_en {
		0% {
			background-position: 0 0;
			}

		100% {
			background-position: -1257px 0;
			}
	}
	
}



/*コンタクト部*/
.drawer-contact-area{
}

.drawer-contact-area .foot-contact-area .btn-area li {
	width: calc((100% - 30px) / 2);
}
.drawer-contact-area .foot-contact-area .btn-area li a{
	padding: 15px 20px;
	min-height: inherit;
	width: 100%;
	height: 100%;
	color: #fff!important;
	justify-content: center;
	border-radius: 6px;
}
.drawer-contact-area .foot-contact-area .btn-area .icon{
	padding: 0 20px 0 0;
}

.drawer-contact-area .foot-contact-area .btn-area .txt-area {
	/*
	width: calc(100% - 70px)!important;
	*/
	width: auto;
}


@media screen and (max-width: 768px) {
	
	/*フロー：コンタクト部*/
	.drawer-contact-area .foot-contact-area {
		background: none;
		padding: 0 0 20px;
	}
	.drawer-contact-area .foot-contact-area .btn-area li {
		width: 100%;
		background: none;
	}
	.drawer-contact-area .foot-contact-area .btn-area li:last-child {
		margin: 0!important;
	}
	.drawer-contact-area .foot-contact-area .btn-area li a{
		padding: 20px 20px;
		border-radius: 0;
	}
	.drawer-contact-area .foot-contact-area .btn-area .icon{
		padding: 0;
	}
	.drawer-contact-area .foot-contact-area .btn-area .txt-area {
		width: calc(100% - 70px)!important;
		padding: 0 0 0 15px;
		font-size: 2rem;
	}
	
}
#pc-head #nav-fullscreen .cv-box{
	margin: 0 auto 30px;
	display: flex;
	gap: 20px;
}

#pc-head #nav-fullscreen .cv-box div{
	width: calc((100% - 40px) / 3);
}

#pc-head #nav-fullscreen .cv-box div a{
	padding: 20px 20px;
	min-height: inherit;
	width: 100%;
	height: 100%;
	justify-content: center;
	border-radius: 6px;
	color: var(--cmnblack);
	border-radius: 6px;
    font-size: 2.2rem;
    text-align: center;
    font-weight: bold;
    position: relative;
    z-index: 1;
    overflow: hidden;
	background-color: #fff !important;
}

#pc-head #nav-fullscreen .cv-box div a::before{
	display: none;
}

#pc-head #nav-fullscreen .cate-list.u-cate{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 15px 0 0;
}

.drawer-box.products{
	width: auto;
	margin: 0 0 15px;
}
.products .sp-toggle{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.products .sp-toggle .box-wrap{
	width: calc((100% - 30px) / 3);
}

.products .sp-toggle .box-wrap ul{
	display: none;
}

.drawer-box.other ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 15px;
}
.drawer-box.other ul li{
	width: calc((100% - 30px) / 3);
	border: solid 1px var(--main);
	margin: 0 !important;
}