@charset "utf-8";

body::-webkit-scrollbar{
  display:none;
}

body {
	margin: 0;
	width: 100vw;
	overflow-x: 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%;
}

/* gn_header */
@media screen and (max-width: 768px){
	#gn_header .logo-container {
		filter: invert(1);
	}
	.c_010D .burger {
		filter: brightness(0) invert(1);
	}
	.js-c_010D-menu-open .c_010D .burger, .js-c_010D-meganav-open .c_010D .burger {
		filter: none;
	}
}

/*gn_footer*/
#gn_footer .gn_element .grid-row.bleed {
  max-width: none !important;
}
#gn_footer .gn_element .grid-row.bleed {
  max-width: none !important;
}

main {
	width: 100%;
	height: max(100svh, 770px);
	min-height: 700px;
	position: relative;
	overflow: hidden;
}

.sp_menu {
	width: 100%;
	height: 80px;
	background: #000;
}
section.content {
	width: 100%;
/*	height: calc(100% - 80px); */
	height: 100%;
	overflow: hidden;
	margin-top: -56px;
	position: relative;
}
section.content.open {
	filter: brightness(0.5);
	background: #fff;
}
main.open {
	background: rgba(0,0,0, 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){
	.sp_menu {
		display: none;
	}
}

/*
nav_menu
*/

.menu_nav {
	position: fixed;
	background-color: #fff;
	width: 320px;
	height: 767px;
	z-index: 110;
	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: fixed;
	background-color: #fff;
	width: 38.835svh;
	height: 93.083svh;
	z-index: 110;
	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: 0;
		z-index: 110;
		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: 0;
		z-index: 110;
		height: 94svh;
	}
	.menu_nav .menu_nav_links {
		width: 90%;
	}
}

@media screen and (min-width: 1025px) {
	.menu_nav {
		left: 0;
	}
}



.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;
	}
}

.content-wrap {
	height: 100%;
}
.main_content {
	height: 100%;
}
.kv_wrap {
	height: 48.7%;
	position: relative;
}
.kv_sp_Swiper {
	height: 100%;
}
.kv_img_sp {
	width: 100%;
	height: 100%;
	background-color: rgba(2,10,13,0.2);
}
.kv_img_sp img{
	height: 100%;
	object-fit: cover;
	object-position: center;
	line-height: 0;
	position: relative;
	z-index: -1;
}
.kv_title {
	position: absolute;
	color: #fff;
	right: 0;
	left: 0;
	text-align: center;
	font-family: ShinGoPro-Bold,sans-serif !important;
	font-weight: normal;
	letter-spacing: 0.08em;
	font-size: min(6.7vw, 30px);
	bottom: 97px;
	z-index: 1;
}
.kv_txt {
	color: #fff;
	position: absolute;
	right: 0;
	left: 0;
	text-align: center;
	font-size: min(3.2vw, 14px);
	bottom: 20px;
	z-index: 1;
}

.category_list_wrap {
	height: auto;
	text-align: center;
}

.category_list_container {
	height: 100%;
}

.category_list {
	display: none;
	width: 77%;
	max-width: 330px;
	margin: 0 auto;
	flex-wrap: wrap;
	gap: 4svh 10%;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 7svh;
	justify-content: center;
}
.category_list.open {
	display: flex;
}

.category_list_item {
	width: 26.666%;
}
.category_list_item a{
	text-decoration: none;
	color: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.category_list_thmb {
	width: 83.75%;
	line-height: 0;
	overflow: hidden;
	border-radius: 50%;
	border: solid 1px #E8E8E8;
}
.category_list_item a span{
	font-size: min(2.564vw, 11px);
	letter-spacing: 0.08em;
	text-align: center;
	display: inline-block;
	width: 100%;
	line-height: 1.4;
	margin-top: 3px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	font-weight: normal;
}

.sp_guide_btn {
	position: absolute;
	bottom: 10px;
	left: 4px;
	width: 40px;
}

.pc_content {
	display: none;
}

.step_text_btn_wrap {
	font-size: min(3.077vw ,12px);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 2svh;
}
.step_text_btn {
	font-size: 1em;
	font-family: ShinGoPro-Bold,sans-serif !important;
	font-weight: normal;
	text-decoration: none;
	color: #020A0D;
}
.menu_btn_wrap {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	width: min(78.462vw, 306px);
	column-gap: min(4.103vw, 16px);
	padding-top: 2svh;
	border-top: 1px solid rgba(171,171,171,0.5);
}
.menu_btn {
	display: flex;
	width: min(35.128vw, 137px);
	padding-left: min(4.615vw, 18px);
	padding-right: min(4.615vw, 18px);
	height: min(9.231vw, 36px);
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	border: 1px solid #707070;
	border-radius: min(5.128vw, 20px);
	text-decoration: none;
	font-size: min(2.564vw, 10px);
}
.icon_collectbox {
	width: 0.9em;
	line-height: 0;
}
.icon_info {
	width: 0.3em;
	line-height: 0;
}
.menu_btn_txt {
	font-size: 1em;
	color: #3D3D3D;
}
.step_text_arrow {
	width: 0.5em;
	line-height: 0;
	filter: grayscale(1);
}

.category_list_title_pc {
	display: block;
	width: 77%;
	max-width: 350px;
	margin: 0 auto;
	margin-top: 20px;
	position: relative;
	background-color: #F6F6F6;
	border-radius: min(5.128vw, 20px);
}
.select_bg_box {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.select_bg_elm {
	width: 50%;
	height: 100%;
	background-color: #C3002F;
	margin-left: 0;
	transition: margin 0.4s cubic-bezier(0.65, 0.05, 0.36, 1);
	border-radius: 20px;
}
.select_tab {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	align-items: center;
	padding-top: 5px;
	padding-bottom: 5px;
}
.select_item {
	display: flex;
	width: 50%;
	height: 100%;
	font-size: min(2.564vw, 10px);;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	justify-content: center;
	color: #ABABAB;
	font-family: ShinGoPro-Bold,sans-serif !important;
	font-weight: normal;
}

#select_tab_normal {
	color: #FFF;
}
#select_tab_step {
	color: #ABABAB;
}
.step .select_bg_elm {
	margin-left: 50%;
}
.step #select_tab_normal {
	color: #ABABAB;
}
.step #select_tab_step {
	color: #FFF;
}


@media screen and (min-width: 769px) {
	section.content {
		margin-top: 20px;
		padding-top: 0;
		height: calc(100% - 98px);
	}
	.content-wrap {
		display: flex;
		flex-wrap: nowrap;
	}
	.main_content {
		width: 502px;
		margin-left: 72px;
	}
	.kv_img_sp {
		display: none;
	}
	.kv_title {
		color: #020A0D;
		font-size: 64px;
		letter-spacing: 0.14em;
		position: static;
		line-height: 1.5;
		text-align: left;
		margin-bottom: 6.481svh;
	}
	.kv_txt {
		color: #020A0D;
		text-align: left;
		position: static;
		font-size: 16px;
		letter-spacing: 0.02em;
		line-height: 2.6;
		padding-bottom: 6.667svh;
	}
	.category_list_title_pc {
		display: block;
	}
	.category_list_title_pc p{
		font-size: 24px;
		line-height: 1.7;
		font-family: ShinGoPro-Bold,sans-serif !important;
		font-weight: normal;
	}
	.category_list {
		width: 100%;
		max-width: none;
		gap: 20px 40px;
		padding-top: 24px;
		padding-bottom: 24px;
	}
	.category_list_item {
		width: 27.689%;
	}
	.category_list_thmb {
		width: 64px;
	}
	.category_list_item a span {
		font-size: 16px;
		margin-top: 7px;
		font-family: ShinGoPro-Regular,sans-serif !important;
	}
	.menu_btn_wrap {
		width: 100%;
		column-gap: min(2.202svh, 24px);
		padding-top: 3svh;
	}
	.menu_btn {
		width: min(15.413svh,168px);
		font-size: min(1.101svh, 12px);
		padding-left: min(1.835svh, 20px);
		padding-right: min(1.835svh, 20px);
		height: min(3.486svh, 38px);
		border-radius: min(1.835svh, 20px);
	}
	/*swiper pc*/
	.pc_content {
		display: block;
		width: 1260px;
		margin-left: 94px;
	}
	.kv_pc_Swiper {
		margin-left: auto;
		margin-right: auto;
		position: relative;
		overflow: hidden;
		list-style: none;
		padding: 0;
		z-index: 1;
		display: block;
		width: 1820px;
	}
	.kv_pc_Swiper .slide_img_wrap {
		width: 570px;
		position: relative;
	}
	.kv_pc_Swiper .slide_img_main {
		width: 552px;
		position: relative;
		z-index: 2;
		border-radius: 30px;
		overflow: hidden;
		line-height: 0;
	}
	.kv_pc_Swiper .slide_img_bgmask {
		position: absolute;
		top: 18px;
		right: -10px;
		z-index: 1;
		width: 416px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1919px) {
	section.content {
		width: 1920px;
	}
}

/*vh style*/
@media screen and (min-width: 769px) {
	html {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.kv_sp_Swiper {
		display: none;
	}
	section.content {
		margin-top: 1.852svh;
		padding-top: 0;
		height: calc(100% - 9.074svh);
	}
	.content-wrap {
		display: flex;
		flex-wrap: nowrap;
	}
	.main_content {
		width: 46.481svh;
		margin-left: 6.667svh;
	}
	.kv_img_sp {
		display: none;
	}
	.kv_title {
		color: #020A0D;
		font-size: 5.926svh;
		letter-spacing: 0.14em;
		position: static;
		line-height: 1.5;
		text-align: left;
		margin-bottom: 6.481svh;
	}
	.kv_txt {
		color: #020A0D;
		text-align: left;
		position: static;
		font-size: 1.781svh;
		letter-spacing: 0.06em;
		line-height: 2.1;
		padding-bottom: 3.667svh;
	}
	.category_list_title_pc {
		display: block;
		width: 100%;
		max-width: none;
	}
	.category_list_title_pc p{
		font-size: 2.222svh;
		line-height: 1.7;
		font-family: ShinGoPro-Bold,sans-serif !important;
		font-weight: normal;
	}
	.select_item {
		font-size: 1.481svh;
	}
	.category_list {
		width: 100%;
		max-width: none;
		gap: 2.852svh 3.704svh;
		padding-top: 2.222svh;
		padding-bottom: 2.222svh;
		margin-top: 4.3svh;
	}
	.category_list_item {
		width: 26.689%;
	}
	.category_list_thmb {
		width: 5.926svh;
	}
	.category_list_item a span {
		font-size: 1.481svh;
		margin-top: 0.648svh;
		font-family: ShinGoPro-Bold,sans-serif !important;
	}
	.step_text_btn_wrap {
		font-size: 1.7svh;
	}
	.step_text_btn:hover {
		color: #C3002F;
		text-decoration: underline;
		text-underline-offset: 0.35em;
	}

	/*swiper pc*/
	.pc_content {
		width: 116.667svh;
		margin-left: 8.704svh;
		max-width: 57vw;
	}
	.kv_pc_Swiper {
		margin-left: auto;
		margin-right: auto;
		position: relative;
		overflow: hidden;
		list-style: none;
		padding: 0;
		z-index: 1;
		display: block;
		width: 230svh;
	}
	.kv_pc_Swiper .slide_img_wrap {
		width: 52.778svh;
		position: relative;
	}
	.kv_pc_Swiper .slide_img_main {
		width: 51.111svh;
		position: relative;
		z-index: 2;
		border-radius: 2.778svh;
		overflow: hidden;
	}
	.kv_pc_Swiper .slide_img_bgmask {
		position: absolute;
		top: 1.667svh;
		right: -0.926svh;
		z-index: 1;
		width: 38.519svh;
	}
}

/*tab style*/
@media screen and (min-width: 769px) and (max-width: 1400px) {
	main {
		height: auto;
	}
	section.content {
		margin-top: 1.429vw;
		padding-top: 0;
		height: auto;
	}
	.content-wrap {
		display: flex;
		flex-wrap: nowrap;
	}
	.main_content {
		width: 35.857vw;
		margin-left: 5.143vw;
	}
	.kv_img_sp {
		display: none;
	}
	.kv_title {
		color: #020A0D;
		font-size: 4.571vw;
		letter-spacing: 0.14em;
		position: static;
		line-height: 1.5;
		text-align: left;
		margin-bottom: 6.481svh;
	}
	.kv_txt {
		color: #020A0D;
		text-align: left;
		position: static;
		font-size: 1.343vw;
		letter-spacing: 0.06em;
		line-height: 2.1;
		padding-bottom: 5.767svh;
	}
	.category_list_title_pc {
		display: block;
	}
	.category_list_title_pc p{
		font-size: 1.714vw;
		line-height: 1.7;
		font-family: ShinGoPro-Bold,sans-serif !important;
		font-weight: normal;
	}
	.select_item {
		font-size: 1.143vw;
	}
	.category_list {
		width: 100%;
		max-width: none;
		gap: 2.429vw 2.857vw;
		padding-top: 1.714vw;
		padding-bottom: 1.714vw;
		margin-top: 1vw;
	}
	.category_list_item {
		width: 27.689%;
	}
	.category_list_thmb {
		width: 4.571vw;
	}
	.category_list_item a span {
		font-size: 1.143vw;
		margin-top: 0.5vw;
		font-family: ShinGoPro-Bold,sans-serif !important;
	}
	.step_text_btn_wrap {
		font-size: 1.4vw;
		margin-top: 1vw;
	}
	.menu_btn_wrap {
		column-gap: 1.7vw;
		padding-top: 2.3vw;
	}
	.menu_btn {
		width: 12.4vw;
		height: 2.571vw;
		padding-left: 1.429vw;
		padding-right: 1.429vw;
		font-size: 0.857vw;
		border-radius: 1.429vw;
	}


	/*swiper pc*/
	.pc_content {
		width: 90vw;
		margin-left: 6.714vw;
	}
	.kv_pc_Swiper {
		margin-left: auto;
		margin-right: auto;
		position: relative;
		overflow: hidden;
		list-style: none;
		padding: 0;
		z-index: 1;
		display: block;
		width: 180vw;
	}
	.kv_pc_Swiper .slide_img_wrap {
		width: 40.714vw;
		position: relative;
	}
	.kv_pc_Swiper .slide_img_main {
		width: 39.429vw;
		position: relative;
		z-index: 2;
		border-radius: 2.143vw;
		overflow: hidden;
	}
	.kv_pc_Swiper .slide_img_bgmask {
		position: absolute;
		top: 1.286vw;
		right: -0.714vw;
		z-index: 1;
		width: 29.714vw;
	}

}

@media screen and (min-width: 1400px) and (max-height: 850px) {
	.kv_wrap {
		height: 37.5svh;
	}
	.kv_title {
		margin-bottom: 1.481svh;
	}
	.kv_txt {
		padding-bottom: 1svh;
	}
}