@charset "utf-8";
/* CSS Document 

font-family: 'Noto Sans JP', sans-serif;
font-family: 'Sofia Sans', sans-serif;
font-family: "Volkhov", serif;

/* commmon / body
-------------------------------------------------- */
body {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:10px;
	line-height: 1;
	color: #423A55;
	background: #FBF6EE;
}
@media (min-width: 641px) {
/* PC用 */
	.inner {}
	.is--pc { display:block;}
	.is--sp { display:none;}
}
@media (max-width: 640px) {
/* SP用 */
	.is--pc { display:none;}
	.is--sp { display: block;}
}



/* body
-------------------------------------------------- */

@media (min-width: 641px) {
/* PC用 */
	body::before {
		content:''; position: fixed; left: 0; top:0; bottom:0; width:50.2%; height: 100%;
		background: url("../img/FV_pc.jpg") center center no-repeat;
		background-size:cover;
		z-index: -1;
	}
	body::after {
		content:''; position: fixed; left: 30px; bottom:30px; width:224px; height: 102px;
		background: url("../img/FV_txt.svg") left bottom no-repeat;
		background-size: 100% auto;
	}
}
@media (max-width: 640px) {
/* SP用 */
}


/* nav
-------------------------------------------------- */
nav {
	position: fixed;
	right:0; top:0; bottom:0;
	background: #FBF6EE;
	z-index: 11;
	
	opacity: 0; visibility: hidden; 
	transition: .4s all;
}
/* open */
.is--open nav { opacity: 1; visibility: visible;}

.ul--main--nav {
	border-bottom:1px solid #E4007F;
}
.ul--main--nav li {
	margin-bottom: 1.1em;
	font-family: "Volkhov", serif; 
	font-size:min(5vw, 20px);	
}

.ul--sub--nav {}
.ul--sub--nav li {
	margin-bottom: 10px;
	padding-left: 36px;
	line-height: 30px;
	font-size:14px;
	font-weight: bold;
}
.ul--sub--nav .tgb {
	background: url("../img/icn_bear.svg") left center no-repeat;
	background-size:23px auto;
}
.ul--sub--nav .nlc {
	background: url("../img/icn_nlc.svg") left center no-repeat;
	background-size:23px auto;
}

nav li a {
	text-decoration: none;
	color: #423A55;
}
@media (min-width: 641px) {
/* PC用 */
	nav {
		width:50%; height:100%;
	}
	.ul--main--nav {
		margin:115px 100px 18px;
		padding-bottom: 20px;
	}
	.ul--sub--nav { margin:0 100px 40px;}
	nav .ul--sns {
		position: absolute; bottom:40px; left: 50%; transform: translateX(-50%);
		margin: 0;
	}
}
@media (max-width: 640px) {
/* SP用 */
	nav {
		width: 100%; height:100%; z-index: 21;
		padding-top: 103px;
	}
	
	nav ul { margin:0 6.41025641% 20px;}
	
	nav .ul--sns {
		position: absolute; bottom:30px; left: 50%; transform: translateX(-50%);
		margin: 0;
	}
}

/* header
-------------------------------------------------- */
.header { position: fixed; left: 0; top:0; width:100%; z-index: 21;}
.header .logo { width:255px;}
.header .logo a { display: block;}

.menu--btn {
	position: absolute; right:34px; top:32px;
	width:34px;	height:26px;
}
.menu--btn:hover { cursor: pointer;}

.menu--btn span {
	position: absolute; right: 0; top:0;
	width:34px; height:4px; 
	background: #423A55;
	transition: .4s all;
}
.menu--btn span:nth-child(2) { top:50%; transform: translateY(-50%);}
.menu--btn span:nth-child(3) { top: auto; bottom:0;}

/* open */
.is--open .menu--btn span:nth-child(1) { top: 50%; transform: translate(0, 50%) rotate(35deg); width:39.5px;}
.is--open .menu--btn span:nth-child(2) { opacity: 0;}
.is--open .menu--btn span:nth-child(3) { top: 50%; transform: translate(0, 50%) rotate(-35deg); width:39.5px;}

@media (min-width: 641px) {
/* PC用 */
	.header { padding: 30px;}
}
@media (max-width: 640px) {
/* SP用 */
	.header {}
	.header .logo { position: fixed; top:12px; left: 10px; z-index: 22; transition: .4s all;}
	.header .logo a { 
		background: url("../img/head_logo.svg") left top no-repeat;
		background-size: 100% auto;
	}
	.header .logo img { opacity: 0;}
	
	.home .header .logo a { background: none;}
	.home .header .logo img { opacity: 1;}
	
	.is--open .header .logo,
	.is--scroll .header .logo { 
		background: url("../img/head_logo.svg") left top no-repeat;
		background-size: 100% auto;
		transition: .4s all;
	}
	.is--open .header .logo img,
	.is--scroll .header .logo img { opacity: 0;}
	
	.menu--btn { top: 24px; right:25px;}
	.home .menu--btn span { background: #fff;}
	
	.is--open .menu--btn span,
	.is--scroll .menu--btn span { background:#423A55;}
}


/* layout
-------------------------------------------------- */
main section { 
	position: relative;
	padding-bottom: 30px;
}

.home main section::after {
	content:''; position: absolute; left: 50%; bottom:0; transform: translateX(-50%);
	width:min(80%, 295px); height:1px;
	background: #E4007F;
}
.home main #goods::after { height: 0;}

@media (min-width: 641px) {
/* PC用 */
	main {
		position: relative;
		width:50%;
		margin-left: 50%;
	}
	main section {
		width:440px;
		margin:30px auto 0;
	}
}
@media (max-width: 640px) {
/* SP用 */
	.home main {
		padding-top:148.718%;
		background: url("../img/FV_sp.jpg") center top no-repeat;
		background-size: 100% auto;
		transition:.4s all;
	}
	main section { margin:30px 6.41025641% 0;}
	
	#lead { padding-top: 40px;}
}

/* parts
-------------------------------------------------- */
main img { width:100%; height: auto;}

main h2 { 
	font-family: "Volkhov", serif; 
	font-weight: normal;
	font-size: min(7vw, 28px);
	margin:1.3em auto 0.65em;
	text-align: center;
	letter-spacing: 5%;
}
main h3 {
	font-weight: bold;
	font-size: min(5.4vw, 20px);
	line-height: 1.75;
	margin:1.3em auto 0.5em;
	text-align: center;
}
main h4 {
	font-weight: bold;
	font-size: min(4.2vw, 18px);
	margin:1.3em auto 0.1em;
}

main p { font-size:min(3.6vw, 14px); line-height: 1.65; text-align: center;}
main h4 + p { text-align: left;}
main p + p { margin-top: 1.5em;}

main dl  { font-size:min(3.7vw, 14px); line-height: 1.45;}


main table { margin: 40px 0;}
main table th, main table td {
	padding: 10px 1em;
	font-size:min(3.2vw, 14px);  line-height: 1.65; letter-spacing: 5%;
	vertical-align: middle;
	border-bottom:1px solid #FBF6EE;
	background: #fff;
}
main table th { white-space: nowrap; text-align: left; border-right: 1px solid #FBF6EE;}
main table td {}
main table small { font-size:92%;}


section .btn { margin-top: 20px; text-align: center;}
section .btn a,
section .btn span {
	display: inline-block;
	min-width:216px;
	margin:0 auto 0;
	padding: 1em 1.2em;
	font-family: "Volkhov", 'Noto Sans JP', serif;
	font-size: min(4.4vw, 16px);
	text-align: center;
	color: #fff;
	background: #E4007F;
	border-radius: 40px;
	text-decoration: none;
	transition: .4s all;
}
section p + .btn { margin-top: 30px;}
section .btn a:hover { opacity: .6;}

@media (min-width: 641px) {
/* PC用 */
	main { padding-top: 110px;}
	.home main h1 { width:min(84%, 407px); margin:0 auto 0 0;}
}
@media (max-width: 640px) {
/* SP用 */
	main h1 { opacity: 0; visibility: hidden; display: none;}
}

/* section
-------------------------------------------------- */
#lead { padding-bottom: 60px;}
#lead p { 
	margin-top: 30px;
	font-size:min(4.8vw, 16px);
	line-height: 1.75;
}
.logo--pickes img { display: block; width:140px; margin:0 auto 15px;}
.logo--pickes p {
	font-family: "Volkhov", serif; 
	font-size: min(9.4vw, 34px);
	line-height: 1.25;
	margin:0 auto 0.5em;
	text-align: center;
	letter-spacing: 5%;
}

.logo--tgb img { display: block; width:148px; margin:30px auto 20px;}

.link--pbj img { display: block; width:161px; margin:30px auto 5px;}
.link--pbj p { text-align: center;}
.link--pbj a {
	font-family: "Volkhov", serif; 
	font-size:13px;
	color: #2AABE2;
	transition:.4s all;
}
.link--pbj a:hover { text-decoration: none;}

.rule00 dl {
	/*display: grid; gap: 1px; grid-template-columns: auto 1fr;*/
	margin-bottom: 1px;
}
.rule00 dl dt, 
.rule00 dl dd {
	/*display: flex; align-items: center;*/
	padding:0.4em 0 1em;
}
.rule00 dl dt { display: none; white-space: nowrap;}

.rule00 .dl--original dt, 
.rule00 .dl--original dd {}


.staff { margin-top: 3em;}

@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}



/* footer
-------------------------------------------------- */
.footer {
	margin-top: 12%;
	padding:6.4em 0 28.6em;
	font-family: "Volkhov", serif; 
	font-size:10px;
	text-align: center;
	color: #fff;
	background: #E4007F;
}
.ul--sns { display: flex; justify-content: center; margin-bottom: 18px;}
.ul--sns li { width:44px; padding: 0 5px; text-align: center;}
.ul--sns li img { max-width:100%;}

.ul--sns .icn_x { width:30px; height: 30px;}

@media (min-width: 641px) {
/* PC用 */
	.ul--sns img { width:100%;}
}
@media (max-width: 640px) {
/* SP用 */
}
.ul--sns .icn_x { width:30px; height: 30px;}


/* page // event 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
	.event main {
		padding-top:133%;
		background: url("../img/bnr_01.jpg") center 4.4% no-repeat;
		background-size: 100% auto;
		transition:.4s all;
	}
}

/* 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}

/* 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}

/* 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}

/* 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}

/* 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}

/* 
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}