@charset "utf-8";

body::-webkit-scrollbar{
  display:none;
}

body {
	margin: 0;
	/*スクロールバー非表示（IE・Edge）*/
	-ms-overflow-style: none;
	/*スクロールバー非表示（Firefox）*/
	scrollbar-width: none;
	width: 100vw;
/*	overflow: hidden;*/
}

li {
  list-style-type: none;
}
ul {
  margin: 0;
  padding: 0;
}

/* android tap-highlight-color disable*/
a, .swiper-button-prev, .swiper-button-next, .modaal-inner-wrapper{
	-webkit-tap-highlight-color:rgba(0,0,0,0) !important;
	cursor:pointer ;
}

/* 簡易リセットCSS */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

img {
	width: 100%;
}

main {
	width: 100%;
	height: 100svh;
	position: relative;
	overflow: hidden;
}

.pc_menu {
	display: none;
}

.sp_menu {
	width: 100%;
	height: 80px;
	background: #000;
}
section.content {
	width: 100%;
	height: calc(100% - 80px);
	overflow: hidden;
	background: #000;
}
section.content.open {
	filter: brightness(0.5);
}

.sp_menu {
	display: flex;
	align-items: center;
	justify-content: center;
}
.sp_menu_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6.1vw;
}
.sp_menu_icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 78px;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}
.sp_menu_icon img{
	height: 24px;
}
.sp_menu_icon span{
	font-size: 10px;
	margin-top: 2px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	font-weight: normal;
}

@media screen and (min-width: 769px){
	main {
		display: flex;
	}
	.sp_menu {
		display: none;
	}
	.pc_menu {
		display: block;
		width: 7.5svh;
		height: 100svh;
		box-shadow: 2px 2px 6px rgba(0,0,0,0.16);
		background-color: #fff;
	}
	section.content {
		width: calc(100% - 7.5svh);
		height: 100svh;
		background: #fff;
	}
}

@media screen and (min-width: 769px){
	.pc_menu {
		width: 33.519svh;
		padding-top: 2.963svh;
		padding-left: 3.333svh;
		z-index: 2;
	}
	.headerLogo {
		width: 8.426svh;
		display: block;
		margin-bottom: 4.444svh;
		line-height: 0;
	}
	.pc_menu_icon {
		display: flex;
		flex-wrap: nowrap;
		line-height: 0;
		align-items: center;
		text-decoration: none;
		color: #3D3D3D;
		margin-bottom: 3.704svh;
	}
	.pc_menu_icon img{
		height: 2.407svh;
		width: 20px;;
	}
	.pc_menu_icon span{
		line-height: 1;
		font-size: 1.481svh;
		margin-left: 1.481svh;
	}
	.pc_menu_icon.menu_icon img{
		padding-left: 0.926svh;
		padding-right: 0.648svh;
	}
	.category_list_title {
		display: flex;
		flex-wrap: nowrap;
		margin-bottom: 1.296svh;
	}
	.category_list_title img{
		height: 2.963svh;
		width: auto;
	}
	.category_list_container {
		margin-top: 5.556svh;
	}
	.category_list_title span{
		font-size: 1.481svh;
		margin-left: 1.389svh;
	}
	.category_list {
		width: 25.741svh;
		padding-left: 2.148svh;
		padding-top: 2svh;
		overflow-y: scroll;
		height: calc(100svh - 39.111svh);
		overflow-x: hidden;
	}
	.category_list_item {
		width: 100%;
		margin-bottom: 3.704svh;
		position: relative;
	}
	.category_list_item.categoryTarget:before {
		content: '';
		width: 100%;
		height: 110%;
		top: -4%;
		left: 0;
		background: #FDF7F8;
		position: absolute;
		border-radius: 5px;
	}
	.category_list_item a{
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		text-decoration: none;
		position: relative;
		padding-left: 1svh;
	}
	.category_list_item a:hover{
		text-decoration: underline #3D3D3D;
	}
	.category_list_thmb {
		width: 5.185svh;
		height: 5.185svh;
		box-shadow: 0 0 0 1px #ccc;
		border-radius : 50%;
		overflow: hidden;
		line-height: 0;
	}
	.category_list_item a span {
		font-size: 1.296svh;
		margin-left: 0.741svh;
		line-height: 1.7;
		color: #3D3D3D;
	}
	ul.category_list::-webkit-scrollbar{
	  display:none;
	}
}
@media screen and (min-width: 769px) and (max-width: 1025px){
	.pc_menu {
		width: 6.481svh;
		padding-top: 2.963svh;
		padding-left: 0.741svh;
		padding-right: 0.741svh;
	}
	.headerLogo {
		width: 100%;
	}
	.pc_menu_wrap {
		width: 100%;
	}
	.pc_menu_icon {
		justify-content: center;
	}
	.pc_menu_icon span {
		display: none;
	}
	.category_list_title {
		justify-content: center;
		margin-left: -1.667svh;
		display: none;
	}
	.category_list_title span {
		display: none;
	}
	.category_list {
		width: 130%;
		margin-left: -14%;
		padding: 0;
		padding-top: 3px;
	}
	.category_list_item a {
		padding-left: 0;
		justify-content: center;
	}

	.category_list_item a span {
		display: none;
	}
}

/*
nav_menu
*/

.menu_nav {
	position: absolute;
	background-color: #fff;
	width: 320px;
	height: 767px;
	z-index: 2;
	top: 0;
	right: 0;
	padding-top: 23px;
	padding-left: 22px;
	bottom: 0;
	margin: auto;
	transition: transform 0.5s;
	transform: translateX(110%);
}
.menu_nav.open {
	transform: translateX(0);
}
.menu_nav .logo_wrap {
	width: 300px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.menu_nav .nav_logo {
	width: 137px;
	line-height: 0;
}
.menu_nav .nav_close {
	width: 16px;
	margin-right: 16px;
	line-height: 0;
}
.menu_nav .menu_nav_links {
	margin-top: 36px;
}
.menu_nav .menu_nav_links_item {
	display: flex;
	flex-direction: column;
	padding-bottom: 18px;
	margin-bottom: 18px;
	width: 100%;
	border-bottom: dashed 1px #ABABAB;
}
.menu_nav .menu_nav_links_item:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.menu_nav .menu_nav_links_item .link_category_title {
	font-size: 20px;
	border-bottom: solid 2px #3D3D3D;
	line-height: 1;
	padding-bottom: 0.2em;
	margin-bottom: 0.9em;
}

.menu_nav .menu_nav_links_item .link_title {
	font-size: 16px;
	line-height: 1;
	margin-bottom: 14px;
}
.menu_nav .menu_nav_links_item a {
	font-size: 12px;
	line-height: 1;
	margin-bottom: 1em;
	text-decoration: none;
	color: #000;
}
.menu_nav .menu_nav_links_item a:last-of-type {
	margin-bottom: 0;
}

@media screen and (max-height: 824px) {
.menu_nav {
	position: absolute;
	background-color: #fff;
	width: 38.835svh;
	height: 93.083svh;
	z-index: 2;
	top: 0;
	right: 0;
	padding-top: 2.791svh;
	padding-left: 2.67svh;
	bottom: 0;
	margin: auto;
	transition: transform 0.5s;
	transform: translateX(110%);
}
.menu_nav.open {
	transform: translateX(0);
}
.menu_nav .logo_wrap {
	width: 36.408svh;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.menu_nav .nav_logo {
	width: 16.626svh;
	line-height: 0;
}
.menu_nav .nav_close {
	width: 1.942svh;
	margin-right: 1.942svh;
	line-height: 0;
}
.menu_nav .menu_nav_links {
	margin-top: 4.369svh;
}
.menu_nav .menu_nav_links_item {
	display: flex;
	flex-direction: column;
	padding-bottom: 2.184svh;
	margin-bottom: 2.184svh;
	width: 100%;
	border-bottom: dashed 1px #ABABAB;
}
.menu_nav .menu_nav_links_item:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.menu_nav .menu_nav_links_item .link_category_title {
	font-size: 2.427svh;
	border-bottom: solid 2px #3D3D3D;
	line-height: 1;
	padding-bottom: 0.2em;
	margin-bottom: 0.9em;
}

.menu_nav .menu_nav_links_item .link_title {
	font-size: 1.942svh;
	line-height: 1;
	margin-bottom: 1.699svh;
}
.menu_nav .menu_nav_links_item a {
	font-size: 1.456svh;
	line-height: 1;
	margin-bottom: 1em;
	text-decoration: none;
	color: #000;
}
.menu_nav .menu_nav_links_item a:last-of-type {
	margin-bottom: 0;
}
}

@media screen and (min-width: 769px) {
	.menu_nav {
		right: auto;
		left: 6.2svh;
		z-index: 1;
		height: 800px;
		transform: translateX(-120%);
	}
	.menu_nav .menu_nav_links {
		width: 90%;
	}
	.menu_nav .menu_nav_links_item a:hover {
		text-decoration: underline;
	}	
}

@media screen and (max-height: 824px) and (min-width: 769px) {
	.menu_nav {
		right: auto;
		left: 6.495svh;
		z-index: 1;
		height: 94svh;
	}
	.menu_nav .menu_nav_links {
		width: 90%;
	}
}

@media screen and (min-width: 1025px) {
	.menu_nav {
		left: calc(27.719svh + 10px);
	}
}

.is-pc {
	display: none !important;
}
.is-sp {
	display: block !important;
}
.is-sp-flex {
	display: flex !important;
}


@media screen and (min-width: 769px) {
	.is-pc {
		display: block !important;
	}
	.is-sp {
		display: none !important;
	}
	.is-sp-flex {
		display: none !important;
	}
}
