@charset "utf-8";
/*
Theme Name: tsutau
Theme URI: https://tsutau.net
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-font: #121212;
	--color-font-light: #888888;
	--color-font-blue: #81929B;
	--color-bg: #FFFFFF;
	--color-border: #D7D7D7;
	--color-border-light: rgba(221,221,221,0.5);
	--color-border-dark-gray: #888888;
	--color-border-line: #AAAAAA;
	--color-brown: #47433F;
	--font-gothic: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-min: '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-serif: 'Adobe Garamond Pro', 'Garamond Premier Pro', 'EB Garamond', serif;
}

body {
	background-color: var(--color-bg);
	color: var(--color-font);
	font-size: 14px;
	font-family: var(--font-min);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

body.noscroll { overflow-y: scroll; position: fixed; width: 100%; }

::-moz-selection { background: #CCCCCC; color: var(--color-font); }
::selection { background: #CCCCCC; color: var(--color-font); }

p { font-size: 14px; line-height: 1.9; letter-spacing: 0.08em; margin-bottom: 10px; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }
.nav-sp { display: none !important; opacity: 0; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid rgba(0,0,0,1);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	z-index: 99999;
	animation: spin .4s infinite linear;
}

@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* txt
------------------------------------*/
.font-serif, .gnav, .snav, footer .copyright, .btn-cart { font-family: var(--font-serif); letter-spacing: 0.03em; }
.font-min { font-family: var(--font-min); }

/* link
------------------------------------*/
a { color: var(--color-font); text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); -webkit-tap-highlight-color: rgba(0,0,0,0); }
.hover { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover { text-decoration: none; opacity: 0.7; }

.line,
.about-info .holiday a { display: inline-block; position: relative; line-height: 1; }

.line:after,
.about-info .holiday a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-border-line);
	width: 100%;
	height: 1px;
}

.line.strong:after {
	background-color: var(--color-font);
	bottom: -1px;
}

/* .btn
------------------------------------*/
.btn-line a,
.btn-line > span {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid var(--color-border);
	width: 100%;
	padding: 24px 22px 22px;
	font-size: 14px;
	letter-spacing: 0.04em;
	text-align: center;
	cursor: pointer;
	transition: .15s ease-out;
}

.btn-line.size-m a,
.btn-line.size-m > span {
	padding: 20px 24px 20px 24px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.btn-line a:hover,
.btn-line > span:hover {
	opacity: 0.7;
}


/* #wrap
---------------------------------------------------------------------------*/
#wrap {
	min-width: 1240px;
	min-height: 100vh;
}


/* header
---------------------------------------------------------------------------*/
header {
	position: fixed;
	box-sizing: border-box;
	width: 50%;
	margin: 0;
	padding: 20px 0 0 20px;
	z-index: 100;
	white-space: nowrap;
	z-index: 100;
	opacity: 0;
}

header .logo {
	position: fixed;
	top: 34px;
	right: 30px;
}

header .logo a {
	display: inline-block;
	padding: 10px;
}

/* .gnav
------------------------------------*/
#gnav-top {
	display: none;
}

.gnav ul {
	display: -webkit-box;
	display: flex;
}

.gnav li a {
	display: inline-block;
	padding: 10px 9px;
	color: var(--color-font-blue);
	font-size: 19px;
	letter-spacing: 0.01em;
}

body.lineup-artist .gnav li a,
body.lineup-category .gnav li a {
	color: #FFFFFF;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 300px 0 40px 44px;
	white-space: nowrap;
	opacity: 0;
}

footer .logo {
	position: absolute;
	bottom: 26px;
	right: 34px;
}

footer .logo a {
	display: block;
	padding: 10px;
}

footer .logo img {
	width: 76px;
	height: auto;
}

footer .snav {
	margin: 0 0 19px 1px;
}

footer .snav ul {
	display: -webkit-box;
	display: flex;
}

footer .snav li {
	margin-right: 2px;
}

footer .snav li a {
	display: block;
	padding: 5px 10px 5px 2px;
	font-size: 14px;
}

footer .snav li a span {
	display: inline-block;
}

footer .snav li a .line:after {
	bottom: 2px;
}

footer .sns {
	display: -webkit-box;
	display: flex;
	margin-bottom: 24px;
	margin-left: -4px;
}

footer .sns li a {
	display: block;
	padding: 5px;
}

.copyright {
	display: block;
	margin: 0 0 0 4px;
	font-size: 14px;
	letter-spacing: 0.02em !important;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.contents {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	opacity: 0;
}

body.lineup-artist .contents,
body.lineup-category .contents,
body.lineup-single .contents {
	padding: 0 0 0 50%;
}

#aboutContents .contents-inner {
	padding: 135px 0 0 180px;
}

#shopping-guideContents .contents-inner,
#contactContents .contents-inner,
#termsContents .contents-inner {
	padding: 235px 0 0 270px;
}

#privacyContents .contents-inner {
	padding: 235px 0 0 235px;
}

/* .title-page
------------------------------------*/
.title-page {
	margin-bottom: 60px;
}

.title-page em {
	display: inline-block;
	font-family: var(--font-serif);
	font-size: 17px;
	letter-spacing: 0.04em;
}

.title-page h1 {
	position: relative;
	display: inline-block;
	margin-left: 20px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.title-page h1:before {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	left: -10px;
	background: var(--color-font);
	width: 1px;
	height: 12px;
	opacity: 0.5;
}

/* .dl-line
------------------------------------*/
.dl-line {
	border-top: 1px solid var(--color-border);
}

.dl-line.border-top-none {
	border-top: none;
}

.dl-line > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-border);
	padding: 17px 13px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.dl-line > div:last-of-type {
	margin-bottom: 0;
}

.dl-line dt {
	box-sizing: border-box;
	padding-right: 24px;
}

.dl-line.dt-w2 dt { width: 65px; min-width: 65px; white-space: nowrap; }

.dl-line.size-s > div {
	padding: 11px 13px 11px 0;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6px 3px;
	padding-left: 15px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.dot-list li:last-of-type {
	margin-bottom: 0;
}

.dot-list li:before {
	display: block;
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 7px 3px;
	padding-left: 9px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.05em;
	text-align: justify;
}

.attention-list li:last-of-type {
	margin-bottom: 0;
}

.attention-list li:before {
	display: block;
	content: '*';
	position: absolute;
	top: 0;
	left: 0;
}

.attention-list.size-l li {
	margin-bottom: 4px;
	padding-left: 20px;
	font-size: 14px;
	letter-spacing: 0.02em;
}

.attention-list.size-l li:before {
	content: '※';
}

/* .num-list
------------------------------------*/
.num-list li {
	box-sizing: border-box;
	position: relative;
	padding-left: 28px;
	margin-bottom: 3px;
}

.num-list li i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	padding-left: 4px;
	font-size: 16px;
}


/* blog
---------------------------------------------------------------------------*/
.blog-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.blog-list article {
	width: 322px;
	margin: 80px 55px 0 0;
}

.blog-list article:nth-of-type(1),
.blog-list article:nth-of-type(2),
.blog-list article:nth-of-type(3) {
	margin-top: 0;
}

.blog-list article:nth-of-type(3n) {
	margin-right: 0;
}

.blog-list figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
	padding-bottom: 140%;
}

.blog-list figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.blog-list figure .noimg,
.blog-list-s > article figure .noimg {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #D9E3E9;
	width: 100%;
	height: 100%;
}

.blog-list figure .noimg span,
.blog-list-s > article figure .noimg span {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #FFFFFF;
	font-family: var(--font-serif);
	font-size: 20px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.blog-list-s > article figure .noimg span {
	margin-top: 2px;
	font-size: 15px;
}

.blog-list h2 {
	margin-bottom: 13px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.blog-list time,
.blog-title time {
	color: var(--color-font-blue);
	font-family: var(--font-serif);
	font-size: 14px;
	letter-spacing: 0.06em;
}

/* .blog-list-s
------------------------------------*/
.blog-list-s > article {
	margin-bottom: 30px;
}

.blog-list-s > article > span {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.blog-list-s > article figure {
	position: relative;
	align-self: flex-start;
	width: 80px;
	min-width: 80px;
	height: 80px;
}

.blog-list-s > article figure img {
	border: none !important;
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.blog-list-s > article .txt {
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 2px 22px;
}

.blog-list-s > article time {
	display: block;
	margin: 0 0 7px 1px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.blog-list-s > article h2 {
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}


/* blog single
---------------------------------------------------------------------------*/
.blog-area {
	box-sizing: border-box;
	position: relative;
	width: 800px;
	margin: 0 auto;
	padding: 0 60px;
}

.blog-area > h2 {
	position: absolute;
	top: 8px;
	left: -140px;
}

.blog-title,
.blog-main img {
	margin-right: -60px;
	margin-left: -60px;
}

/* .blog-title
------------------------------------*/
.blog-title {
	margin-bottom: 55px;
}

.blog-title time {
	display: inline-block;
	margin-left: 1px;
}

.blog-title .post-categories {
	position: relative;
	display: inline-block;
	margin-left: 20px;
	letter-spacing: 0.1em;
}

.blog-title .post-categories:before {
	display: block;
	content: '/';
	position: absolute;
	top: 0;
	left: -15px;
}

.blog-title .post-categories li {
	display: inline-block;
}

.blog-title h1 {
	margin-bottom: 15px;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* .blog-main
------------------------------------*/
.blog-main,
.blog-main p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

.blog-main p {
	margin-bottom: 25px;
	word-break: break-all;
}

.blog-main p:last-child { margin-bottom: 0; }
.blog-main a { text-decoration: underline; word-break: break-all; }

.blog-main strong,
.blog-main b {
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.blog-main em { font-style: italic; }
.blog-main del { text-decoration: line-through; }

.blog-main img {
	display: block;
	max-width: calc(100% + 120px);
	height: auto;
	padding: 30px 0 45px;
}

.blog-main > img:first-child,
.blog-main > p:first-child img:first-child {
	padding-top: 0 !important;
}

.blog-main img + img,
.blog-main br + img { margin-top: -55px; }

.blog-main .wp-caption {
	max-width: 100%;
	margin-bottom: 60px;
}

.blog-main .wp-caption-text {
	margin: -28px 0 0 -60px;
	font-size: 13px;
	line-height: 1.7;
}

.blog-main ul,
.blog-main ol,
.blog-main blockquote {
	margin: 30px 0;
}

.blog-main ul li {
	list-style: disc;
	margin: 0 0 6px 25px;
}

.blog-main ol li {
	list-style: decimal;
	margin: 0 0 6px 25px;
}

.blog-main ul li:last-of-type,
.blog-main ol li:last-of-type { margin-bottom: 0; }

.blog-main blockquote {
	background: #F5F5F5;
	padding: 28px 35px;
}

/* .sec-table
------------------------------------*/
.sec-table {
	margin-top: 110px;
}

.sec-table h3,
.sec-blog-lineup > h3,
.sec-blog-other > h3 {
	margin-bottom: 25px;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.sec-table h3:last-child {
	margin-bottom: -5px;
}

.blog-table {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 40px;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.blog-table tr {
	border-bottom: 1px solid var(--color-border);
}

.blog-table th,
.blog-table td {
	padding-top: 14px;
	padding-bottom: 14px;
}

.blog-table th {
	position: relative;
	box-sizing: border-box;
	width: 24%;
	padding-right: 15px;
	padding-left: 2px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

.blog-table td {
	box-sizing: border-box;
	width: 75%;
	padding-right: 5px;
}

.blog-table + .attention {
	margin-top: -20px;
}

/* .blog-link
------------------------------------*/
.blog-link {
	overflow: hidden;
	margin-top: 60px;
}

.sec-table + .blog-link {
	margin-top: 40px;
}

.blog-link li {
	float: left;
	margin: 0 15px 15px 0;
}

.blog-link li a {
	display: inline-block;
	padding-top: 18px;
	padding-bottom: 17px;
	line-height: 1.6;
	text-align: left;
	white-space: normal;
}

/* .sec-blog-lineup
------------------------------------*/
.sec-blog-lineup {
	width: 680px;
	margin: 110px auto 0;
}

.sec-blog-lineup > h3 {
	margin-bottom: 40px;
}

/* .sec-blog-other
------------------------------------*/
.sec-blog-other {
	margin-top: 200px;
}

.sec-blog-other .btn-line {
	margin-top: 80px;
}

.sec-blog-other .btn-line a {
	font-size: 16px;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin-top: 140px;
	font-family: var(--font-serif);
	font-size: 16px;
	text-align: center;
}

#lineupContents .wp-pagenavi {
	margin-top: 50px;
}

.wp-pagenavi .extend {
	display: none;
}

.wp-pagenavi a {
	margin: 0 4px;
	padding: 10px 6px;
}

.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	width: 26px;
	height: 26px;
	margin: 0 7px;
	padding: 6px 0 0;
}

.wp-pagenavi .current:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	box-sizing: border-box;
	border: 1px solid var(--color-font-light);
	border-radius: 50%;
	width: 27px;
	height: 27px;
	z-index: -1;
	opacity: 0.2;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	background: url(img/share/ico-arrow-s-wide.svg) no-repeat center center;
	width: 17px;
	height: 12px;
	text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink {
	margin-right: 20px;
	transform: scale(-1);
}

.wp-pagenavi a.nextpostslink {
	margin-left: 20px;
}


/* page top
---------------------------------------------------------------------------*/
#topContents {
	padding-top: 180px;
}

.top-wrap {
	opacity: 0;
}

.top-img {
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	opacity: 0;
}

.top-img .inner,
.top-img .inner figure {
	height: 100% !important;
}

.top-img .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	opacity: 0;
}

.top-img .inner:first-of-type {
	position: relative !important;
	opacity: 1;
}

.top-img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.top-img a {
	display: inline-block;
	position: absolute;
	bottom: 90px;
	left: 130px;
	margin: -200px;
	padding: 200px;
}

.top-img a:hover {
	opacity: 0.7 !important;
}

.top-img .inner.white a {
	color: #FFFFFF;
}

.top-img .inner a em {
	display: block;
	margin-bottom: 18px;
	font-size: 15px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.top-img .inner a strong {
	display: block;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* .top-lineup
------------------------------------*/
.top-lineup {
	position: relative;
	width: 1000px;
	margin: 0 auto 100px;
	padding-top: 220px;
}

.top-lineup .nav-category-btn {
	top: 150px;
	left: inherit;
	right: 30px;
}

.top-lineup .lineup-index-inner {
	position: relative;
	width: 1000px;
}

.top-lineup .lineup-title {
	margin-bottom: 50px;
}

.top-lineup .lineup-title h2 {
	display: inline-block;
	position: relative;
	margin-right: 85px;
	font-size: 17px;
}

.top-lineup .lineup-title h2:after {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	right: -72px;
	background: var(--color-border);
	width: 60px;
	height: 1px;
}

.top-lineup .lineup-title > a {
	display: inline-block;
	font-size: 16px;
	letter-spacing: 0;
}

.top-lineup .lineup-title > a.line:after {
	bottom: 1px;
}

/* .top-blog
------------------------------------*/
.top-blog {
	width: 1070px;
	margin: 0 auto 140px;
}

.top-blog > h2 {
	margin-bottom: 45px;
	font-size: 17px;
}

.top-blog .blog-list article {
	width: 242px;
	margin: 0 34px 0 0 !important;
}

.top-blog .blog-list article:last-of-type {
	margin-right: 0 !important;
}

.top-blog .blog-list figure {
	margin-bottom: 26px;
}

.top-blog .blog-list h2 {
	margin-bottom: 11px;
	font-size: 15px;
}

/* .about-info-wrap
------------------------------------*/
.about-info-wrap {
	position: relative;
	width: 1000px;
	margin: 0 auto 150px;
}

.about-info-wrap .img-center {
	position: relative;
}

.about-info-wrap .img-center .logo {
	display: inline-block;
	position: absolute;
	bottom: 137px;
	left: 75px;
	margin: -10px;
	padding: 10px;
}

.about-info-wrap .img-center .logo img {
	width: 71px;
	height: auto;
}

.about-info-wrap .img-center figcaption {
	position: absolute;
	bottom: 77px;
	left: 65px;
}

.about-info-wrap .img-center figcaption a {
	display: inline-block;
	margin: -10px;
	padding: 10px;
	font-size: 17px;
}

.about-info-wrap .img-center figcaption .line:after {
	background: var(--color-font);
	bottom: 1px;
	left: 0;
}

.about-info-wrap .img-center figcaption i {
	display: inline-block;
	margin-left: 10px;
	transform: translateY(-4px);
}

#aboutContents .img-center .logo,
#aboutContents .img-center figcaption {
	display: none;
}

/* .instagram
------------------------------------*/
.instagram {
	width: 1070px;
	margin: 0 auto;
}

.instagram > h2 {
	margin: 0 0 50px 12px;
	font-size: 16px;
}

.instagram > h2 i {
	display: inline-block;
	margin-right: 14px;
	transform: translateY(10px);
}

.instagram .btn-line {
	margin-top: 35px;
}

.instagram .btn-line a {
	font-size: 18px;
}

#sb_instagram {
	width: calc(100% + 44px);
	margin: -22px;
}

.sb_instagram_header,
#sbi_load {
	display: none !important;
}

#sb_instagram .sbi_type_carousel .fa-clone {
	top: 10px !important;
	right: 10px !important;
	font-size: 18px !important;
}

#sb_instagram .sbi_photo {
	overflow: hidden !important;
	width: 160px !important;
	height: 160px !important;
	padding-bottom: 0 !important;
}

#sb_instagram .sbi_photo img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}


/* page blog
---------------------------------------------------------------------------*/
#blogContents .contents-inner {
	width: 1076px;
	margin: 0 auto;
	padding-top: 265px;
}

#blogContents .contents-inner > h1,
.blog-area > h2 {
	margin: 0 0 35px 1px;
	font-family: var(--font-serif);
	font-size: 16px;
	letter-spacing: 0.04em;
}

/* .nav-blog
------------------------------------*/
.nav-blog {
	display: -webkit-box;
	display: flex;
	margin: 0 0 38px -1px;
}

.nav-blog .btn-select {
	display: inline-block;
	position: relative;
	overflow: hidden;
	margin-right: 20px;
	transition: .15s ease-out;
}

.nav-blog .btn-select:hover {
	opacity: 0.6;
}

.nav-blog .btn-select select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.nav-blog .btn-select .customSelect {
	display: block;
	box-sizing: border-box;
	width: 100%;
	font-size: 16px;
	text-align: center;
	letter-spacing: 0.06em;
}

.nav-blog .btn-select .customSelect .customSelectInner {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	padding: 8px 1px 3px 2px;
}

.nav-blog .btn-select .customSelect .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 1px;
	background: var(--color-font-light);
	width: calc(100% - 3px);
	height: 1px;
}


/* page about
---------------------------------------------------------------------------*/
#aboutContents {
	padding-top: 160px;
}

#aboutContents .slider-wrap {
	padding-right: 180px;
}

.slider-img {
	width: 100%;
}

.slider-img .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	opacity: 0;
}

.slider-img .inner:first-of-type {
	position: static !important;
	opacity: 1;
}

.slider-img .inner img {
	width: 100%;
	height: auto;
}

.slider-img .slick-dots {
	bottom: -5px !important;
	right: -35px !important;
}

.slider-img .slick-dots button:after {
	background: var(--color-font-blue) !important;
	opacity: 0.4 !important;
}

.slider-img .slick-dots button:hover:after,
.slider-img .slick-dots .slick-active button:after {
	background: var(--color-font) !important;
	opacity: 1 !important;
}

.about-info-wrap .img-center,
#aboutContents .img-center {
	margin-bottom: 160px;
}

/* .about-lead
------------------------------------*/
.about-lead {
	position: relative;
	margin-bottom: 140px;
	padding-left: 238px;
}

.about-lead h1,
.about-info h2 {
	position: absolute;
	top: 10px;
	left: 0;
	font-family: var(--font-serif);
	font-size: 16px;
	letter-spacing: 0.04em;
}

.about-lead p {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.12em;
}

/* .about-info
------------------------------------*/
.about-info {
	position: relative;
	box-sizing: border-box;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	width: 960px;
	min-height: 600px;
	padding-left: calc(218px + 478px);
}

.about-info h2 {
	top: 30px;
	font-weight: normal;
}

.about-info .map {
	position: absolute;
	top: 0;
	left: 218px;
	overflow: hidden;
	width: 420px;
	min-width: 420px;
	height: 100%;
}

.about-info .map iframe {
	position: absolute;
	top: -140px;
	left: 0;
	width: 100%;
	height: calc(100% + 280px);
}

.about-info .map iframe,
.about-info .map object,
.about-info .map embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.about-info .txt {
	padding: 60px 0 0;
}

.about-info .txt h1 {
	position: absolute;
	top: 15px;
	right: 10px;
	font-size: 21px;
	letter-spacing: 0.4em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-info .txt .sns {
	display: -webkit-box;
	display: flex;
	margin: 0 0 25px -2px;
}

.about-info .txt .sns li {
	margin-right: 8px;
}

.about-info .txt .sns li:nth-of-type(1) { order: 2; }
.about-info .txt .sns li:nth-of-type(2) { order: 1; }

.about-info .txt .sns img {
	width: 32px;
	height: auto;
	opacity: 0.6;
}

.about-info .txt p {
	font-size: 13px;
	line-height: 1.95;
	letter-spacing: 0.04em;
}

.about-info .txt address {
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.about-info .txt address span {
	display: block;
	margin-bottom: 3px;
	font-family: var(--font-serif);
	font-size: 13px;
	letter-spacing: 0.06em;
}

.about-info .txt address + p {
	font-size: 13px;
	line-height: 1.85;
	letter-spacing: 0.06em;
}

.about-info .txt blockquote {
	position: relative;
	margin: -2px 0 28px;
	padding: 0 0 0 14px;
	font-size: 11px;
	line-height: 1.95;
	letter-spacing: 0.07em;
	white-space: nowrap;
}

.about-info .txt blockquote:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	left: 2px;
	background-color: var(--color-border);
	width: 1px;
	height: calc(100% - 8px);
}

.about-info .txt h3 {
	margin: 28px 0 10px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.about-info .txt time {
	display: block;
}

.about-info .txt time strong {
	display: inline-block;
	margin-top: 2px;
	padding-right: 9px;
	font-family: var(--font-serif);
	font-size: 17px;
	letter-spacing: 0.01em;
}

.about-info .txt time span {
	font-size: 11px;
	letter-spacing: 0.06em;
}

.about-info .txt time em {
	display: block;
	margin-top: 8px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.about-info .txt nav ul {
	display: -webkit-box;
	display: flex;
	margin-top: 30px;
}

.about-info .txt nav li {
	margin-right: 5px;
}

.about-info .txt nav li a {
	display: inline-block;
	padding: 5px 10px 5px 0;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.about-info .txt nav li a:after {
	bottom: 5px;
	width: calc(100% - 10px);
}


/* page shopping-guide
---------------------------------------------------------------------------*/
#shopping-guideContents .title-page + p {
	font-size: 16px;
}

/* pnav-fix
------------------------------------*/
.pnav-fix {
	position: fixed;
	top: 315px;
	left: 40px;
}

.pnav-fix li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down.svg) no-repeat left top 8px;
	padding: 5px 10px 12px 15px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

/* .sec-guide
------------------------------------*/
.sec-guide {
	margin-top: -80px;
	padding-top: 240px;
}

.sec-guide:first-of-type {
	margin-top: -150px;
}

.sec-guide h2 {
	margin-bottom: 50px;
	font-size: 20px;
	letter-spacing: 0.08em;
}

.sec-guide h3 {
	margin-bottom: 16px;
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.sec-guide .inner {
	padding: 0 0 0 38px;
}

.sec-guide .inner:not(:last-child) {
	margin-bottom: 70px;
}

.sec-guide h4 {
	margin: 50px 0 18px;
	font-size: 16px;
	letter-spacing: 0.06em;
}

.sec-guide h4:first-child {
	margin-top: 35px;
}

.sec-guide table + h4 {
	margin-top: 60px;
}

.sec-guide p {
	font-size: 16px;
}

.sec-guide p.pt {
	padding-top: 10px;
}

.sec-guide h2 + p {
	margin: -10px 0 60px 38px;
}

.sec-guide p .line {
	margin-right: 2px;
}

.sec-guide .box-line {
	display: inline-block;
	border: 1px solid var(--color-border);
	margin-top: 10px;
	padding: 12px 24px 11px 24px;
}

/* .table-line
------------------------------------*/
.table-line {
	width: 710px;
	margin-top: 25px;
}

.table-line tr {
	border-bottom: 1px solid var(--color-border);
}

.table-line th,
.table-line td {
	padding-top: 21px;
	padding-bottom: 21px;
	font-size: 16px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.table-line th {
	padding-top: 16px;
	padding-bottom: 16px;
	font-weight: normal;
}

.table-line th:first-of-type,
.table-line td:first-of-type {
	padding-left: 23px;
}

.table-line th:last-of-type,
.table-line td:last-of-type {
	padding-right: 21px;
	text-align: right;
}

.table-line td:last-of-type {
	padding-right: 25px;
}

.table-line + .attention-list {
	margin-top: 25px;
}


/* page contact
---------------------------------------------------------------------------*/
#contactContents .contents-inner-s {
	position: relative;
	padding-left: 130px;
}

.contact-lead h1 {
	position: absolute;
	top: 6px;
	left: 0;
	font-family: var(--font-serif);
	font-size: 16px;
	letter-spacing: 0.02em;
}

.contact-lead p {
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 2;
}

.contact-lead p a{
	letter-spacing: 0.04em;
}

/* .form-wrap
------------------------------------*/
.form-wrap {
	width: 530px;
	margin-bottom: 50px;
	padding-top: 65px;
}

.form-wrap dl { line-height: 1.6; }
.form-wrap dl div { margin-bottom: 25px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	margin-bottom: 7px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.form-wrap dt.pt {
	padding-top: 0;
}

.form-wrap dl > div:last-of-type dt {
	padding-top: 10px;
	align-self: flex-start;
}

.form-wrap dt span {
	font-size: 12px;
	letter-spacing: 0.1em;
	padding-left: 3px;
}

.form-wrap dd p {
	font-size: 12px;
	line-height: 1.7;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap {
	display: inline-block;
	width: 100%;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border);
	width: 100%;
	height: 54px;
	padding: 0 20px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.form-wrap textarea {
	height: 400px;
	padding: 18px 20px;
}

.form-wrap .check dd p {
	font-size: 14px;
}

.form-wrap .check dd .wpcf7-form-control-wrap {
	width: auto;
	margin-right: 8px;
	transform-origin: left top;
	transform: scale(1.3) translateY(-1px);
}

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	width: 530px;
	margin: -5px 0 0;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	box-sizing: border-box;
	background-color: var(--color-font-blue);
	border: none;
	width: 100%;
	margin: 0;
	padding: 17px 0;
	color: #FFFFFF;
	font-size: 18px;
	letter-spacing: 0.08em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.7; }

/* error
------------------------------------*/
.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 10px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.12em;
	color: #B9565B;
	text-decoration: underline;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 20px 0 0;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* recaptcha
------------------------------------*/
.grecaptcha-badge {
	pointer-events: none;
	z-index: -999;
	opacity: 0;
	transition: .15s ease-out;
}

body.contact .grecaptcha-badge {
	pointer-events: auto;
	z-index: 0;
	opacity: 1;
}


/* page privacy
---------------------------------------------------------------------------*/
#privacyContents .contents-inner {
	width: 760px;
}

#privacyContents .title-page + p,
#privacyContents dd {
	padding-left: 38px;
}

#privacyContents dl {
	margin-top: 70px;
}

#privacyContents dl > div {
	margin-bottom: 70px;
}

#privacyContents dl > div:last-of-type {
	margin-bottom: 0;
}

#privacyContents dt {
	margin-bottom: 28px;
	font-size: 16px;
	letter-spacing: 0.06em;
}

#privacyContents .title-page + p,
#privacyContents dd,
#privacyContents dd p,
#privacyContents dd li {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.02em;
	text-align: justify;
}

#privacyContents dd ol {
	margin: 20px 0 25px;
}

#privacyContents dd ol:last-child {
	margin-bottom: 0;
}


/* page terms
---------------------------------------------------------------------------*/
#termsContents dl {
	padding-top: 10px;
}

#termsContents dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 28px;
}

#termsContents dl > div:last-of-type {
	margin-bottom: 0;
}

#termsContents dt,
#termsContents dd,
#termsContents dd p,
#termsContents dd li {
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

#termsContents dt {
	width: 165px;
	min-width: 165px;
	letter-spacing: 0.04em;
}

#termsContents dd li {
	margin-bottom: 1px;
}


/* page lineup
---------------------------------------------------------------------------*/
body.lineup-archive #lineupContents {
	width: 100%;
	margin: 0;
	padding: 260px 0 0;
}

.lineup-index-inner {
	position: relative;
	width: 980px;
	margin: 0 auto;
}

.lineup-index-inner > .btn-line a {
	display: block;
	width: 100%;
	margin-top: 100px;
}

body.lineup-archive #lineupContents h1 {
	margin: 0 0 30px 2px;
	font-size: 16px;
	letter-spacing: 0.04em;
}

/* .blog-lineup
------------------------------------*/
.blog-lineup {
	overflow: hidden;
	margin-bottom: 30px;
}

.blog-lineup .inner {
	padding: 5px 0;
}

.blog-lineup time {
	display: inline-block;
	font-family: var(--font-serif);
	width: 95px;
	font-size: 16px;
	letter-spacing: 0.06em;
	transform: translateY(-4px);
}

.blog-lineup a {
	display: inline-block;
	border-bottom: 1px solid var(--color-border-dark-gray);
	max-width: 100%;
	padding: 0;
	font-size: 16px;
	letter-spacing: 0.1em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

_::-webkit-full-page-media, _:future, :root .news-header time {
	transform: translateY(0);
}

/* .lineup-list-wrap
------------------------------------*/
.lineup-list-wrap {
	position: relative;
	padding-top: 45px;
}

.lineup-list-wrap > .index {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.lineup-list-wrap > .index i {
	display: inline-block;
	margin: 0 6px 0 6px;
	background-color: var(--color-border);
	width: 40px;
	height: 1px;
	transform: translateY(-3px);
}

/* .lineup-list
------------------------------------*/
.lineup-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.lineup-list.list3 article {
	width: 31%;
	margin: 0 3.5% 10% 0;
	text-align: center;
}

.lineup-list.list4 article {
	width: 22%;
	margin: 0 4% 9% 0;
	text-align: center;
}

.lineup-list.list6 article {
	width: 15%;
	margin: 0 2% 6% 0;
	text-align: center;
}

.lineup-list.list3 article:nth-of-type(3n),
.lineup-list.list4 article:nth-of-type(4n),
.lineup-list.list6 article:nth-of-type(6n) {
	margin-right: 0 !important;
}

.lineup-list article a {
	display: block;
}

.lineup-list figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 22px;
}

.lineup-list.list3 figure,
.lineup-list.list4 figure {
	margin-bottom: 19px;
}

.lineup-list figure img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.lineup-list .sold-mask {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.2);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.lineup-list .sold-txt {
	display: none;
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 2;
}

.lineup-list .sold .sold-mask,
.lineup-list .sold .sold-txt {
	display: block;
}

.lineup-list .sold-txt img {
	width: auto;
}

.lineup-list h2 {
	margin-bottom: 9px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.lineup-list.list4 h2 {
	margin-bottom: 13px;
}

.lineup-list .cartjs_sales_price {
	color: var(--color-font-light);
	font-family: var(--font-serif) !important;
	font-weight: normal !important;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.lineup-list .cartjs_sales_price th,
.lineup-list .cartjs_product_num,
.lineup-list .cartjs_cart_in,
.lineup-list .cartjs_option {
	display: none !important;
}

.lineup-list .cartjs_product_table table {
	width: 100%;
}

.cartjs_sales_price td {
	white-space: nowrap;
}

.lineup-list .cartjs_sales_price td,
.lineup-cart .cartjs_sales_price td {
	display: inline-block;
	position: relative;
	padding-left: 5px;
}

.lineup-list .cartjs_sales_price td:before,
.lineup-cart .cartjs_sales_price td:before {
	display: block;
	content: 'yen';
	position: absolute;
	top: 1px;
	right: 37px;
	font-size: 14px;
	letter-spacing: 0;
	text-align: left;
	z-index: 2;
}

.lineup-list .cartjs_sales_price td:after,
.lineup-cart .cartjs_sales_price td:after {
	display: block;
	content: '（税込）';
	position: absolute;
	top: -4px;
	right: 0;
	box-sizing: border-box;
	background-color: #FFFFFF;
	width: 57px;
	height: calc(100% + 6px);
	padding: 8px 6px 0 0;
	font-size: 10px;
	letter-spacing: 0;
	text-align: right;
	z-index: 1;
}

/* .lineup-artist / .lineup-category
------------------------------------*/
body.lineup-artist .lineup-detail,
body.lineup-category .lineup-detail {
	padding-top: 220px;
}

body.lineup-artist .lineup-detail .lineup-txt,
body.lineup-category .lineup-detail .lineup-txt {
	padding: 0;
}

body.lineup-artist .lineup-detail .lineup-txt .txt,
body.lineup-category .lineup-detail .lineup-txt .txt {
	margin-bottom: 70px;
}

body.lineup-artist .lineup-list-wrap,
body.lineup-category .lineup-list-wrap {
	padding-top: 30px;
}

body.lineup-artist .lineup-list-wrap {
	margin-top: 80px;
}

body.lineup-artist .lineup-list-wrap + dl,
body.lineup-category .lineup-list-wrap + dl {
	margin-top: 80px;
}

/* .category-main
------------------------------------*/
.category-main h1 {
	position: absolute;
	bottom: 20%;
	left: 12%;
	padding: 0 0 0 58px;
	color: #FFFFFF;
	z-index: 1;
}

.category-main h1 strong {
	display: block;
	position: absolute;
	bottom: -52px;
	left: 0;
	font-size: 26px;
	letter-spacing: 0.4em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.category-main h1 em {
	display: block;
	font-size: 16px;
	white-space: nowrap;
}

.category-main h2 {
	position: absolute;
	bottom: 45px;
	left: 45px;
	color: #FFFFFF;
	font-size: 27px;
	z-index: 1;
}

.category-main .slider-fix {
	z-index: 0;
}

.slick-slider {
	height: 100%;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	width: 100% !important;
	height: 100%;
}

.slider-fix .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.slider-fix .inner:first-of-type {
	opacity: 1;
}

.slider-fix .inner img {
	position: relative;
	object-fit: cover;
	width: 100%;
	height: 100%;
	z-index: 0;
}

/* .slider .slick-dots
------------------------------------*/
.slider .slick-dots {
	position: absolute;
	bottom: 35px;
	right: 20px;
}

body.lineup-category .slider .slick-dots {
	position: absolute;
	bottom: 120px;
	left: 45px;
}

.slider .slick-dots li {
	position: relative;
	width: 19px;
	height: 19px;
}

.slider .slick-dots button {
	position: relative;
	width: 19px;
	height: 19px;
	text-indent: -9999px;
	transition: .15s ease-out;
}

.slider .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 7px;
	background: #FFFFFF;
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.slider .slick-dots button:hover:after,
.slider .slick-dots .slick-active button:after {
	background: var(--color-font-blue);
}

/* .lineup-tax-title
------------------------------------*/
.lineup-tax-title {
	margin: 0 0 45px 6px;
}

.lineup-tax-title h2 {
	margin: 0 0 24px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.lineup-tax-title h1 strong {
	display: block;
	margin: 0 0 18px;
	font-size: 20px;
	letter-spacing: 0.06em;
}

.lineup-tax-title h1 em {
	display: block;
	font-size: 14px;
	letter-spacing: 0.04em;
}


/* page lineup single
---------------------------------------------------------------------------*/

/* .lineup-main
------------------------------------*/
.lineup-main,
.category-main {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 50%;
	min-width: 620px;
	height: 100vh;
	min-height: 620px;
}

.lineup-main {
	border-right: 1px solid var(--color-border);
}

.lineup-main { padding: 14.5vh 0 0; }
.lineup-main .slider-wrap-inner img { max-height: calc(67vh - 52px); }
.lineup-main-btm { height: 18vh; }

@media (max-height: 620px) {
	.lineup-main { padding-top: calc(620px * 0.14); }
	.lineup-main .slider-wrap { height: calc(620px * 0.68); }
	.lineup-main .slider-wrap-inner img { max-height: calc((620px * 0.68) - 52px); }
	.lineup-main-btm { height: calc(620px * 0.18); }
}

@media screen and (orientation: portrait) {
	.lineup-main { padding-top: 12vh; }
	.lineup-main .slider-wrap { height: 70vh; }
	.lineup-main .slider-wrap-inner h1 { position: relative !important; }
	.lineup-main .slider-wrap-inner span {
		display: -webkit-box;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		margin: 0 auto;
	}
}

.lineup-main-inner {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	text-align: center;
}

.lineup-main .slider-wrap {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	width: 100%;
}

.lineup-main .slider-wrap-inner {
	box-sizing: border-box;
	position: relative;
	max-width: 78%;
	margin: 0 auto;
	padding-top: 0;
}

.lineup-main .slider-wrap-inner h1 {
	width: 100%;
	margin-bottom: 30px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: center;
	z-index: 1;
}

.lineup-main .slider-wrap-inner img {
	width: auto;
	max-width: 100%;
	height: auto;
}

.lineup-main-btm {
	position: relative;
	width: 100%;
}

.lineup-main h2 {
	position: absolute;
	top: calc(50% + 4px);
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}

.lineup-main h2 strong {
	display: block;
	margin-bottom: 9px;
	font-size: 17px;
	letter-spacing: 0.07em;
	font-family: var(--font-serif)
}

.lineup-main h2 em {
	color: var(--color-font-light);
	font-size: 15px;
	letter-spacing: 0.04em;
}

/* .lineup-detail
------------------------------------*/
.lineup-detail {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 220px 15% 0;
}

.lineup-detail .cart-wrap {
	display: block !important;
	margin-bottom: 45px;
}

.lineup-detail .cart-wrap.narrow {
	display: none !important;
}

.lineup-detail .lineup-txt {
	padding: 0 30px;
}

.lineup-detail .lineup-txt .txt {
	margin-bottom: 60px;
	padding-left: 5px;
}

.lineup-artist .lineup-detail .lineup-txt .txt + dl {
	margin: -30px 0 0 5px;
}

.lineup-detail .lineup-txt .txt p {
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
	text-align: justify;
}

.lineup-detail .lineup-txt .attention-list {
	margin-top: 20px;
}

.lineup-detail > .btn-line {
	margin-top: 10px;
}

.lineup-detail .lineup-txt .cartjs_sales_price th,
.lineup-detail .lineup-txt .cartjs_product_num,
.lineup-detail .lineup-txt .cartjs_cart_in,
.lineup-detail .lineup-txt .cartjs_option {
	display: none !important;
}

/* .lineup-cart
------------------------------------*/
.lineup-cart {
	position: relative;
	border: 1px solid var(--color-border);
	margin-top: 60px;
	padding: 27px 30px 113px;
}

.lineup-cart h1 {
	margin-bottom: 7px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.lineup-gallery {
	padding: 0 10px;
}

/* .cartjs
------------------------------------*/
.lineup-cart .cartjs_sales_price th,
.lineup-cart .cartjs_product_num th {
	display: none !important;
}

.lineup-cart .cartjs_sales_price td {
	padding-left: 2px !important;
	padding-bottom: 0 !important;
	font-family: var(--font-serif) !important;
	font-size: 16px !important;
	font-weight: normal !important;
	letter-spacing: 0.04em !important;
	white-space: nowrap !important;
}

.lineup-cart .cartjs_sales_price td:after { width: 62px; padding: 9px 7px 0 0; }
.lineup-cart .cartjs_sales_price td:before { top: 2px; right: 39px; }

.lineup-cart .cartjs_product_num td {
	position: absolute;
	bottom: 30px;
	left: 30px;
	padding: 0 !important;
}

.lineup-cart .cartjs_product_num td:after {
	display: block;
	content: '個';
	position: absolute;
	bottom: 0;
	right: -18px;
	font-size: 11px;
}

.lineup-cart .cartjs_product_num td input {
	-webkit-appearance: none;
	box-sizing: border-box;
	border: 1px solid var(--color-border);
	border-radius: 0;
	width: 54px !important;
	padding: 2px 7px !important;
	font-size: 16px;
	text-align: right;
	letter-spacing: 0.06em;
}

.lineup-cart .cartjs_cart_in {
	position: absolute;
	bottom: 30px;
	right: 30px;
	width: calc(100% - 150px) !important;
	cursor: pointer;
	transition: .15s ease-out;
}

.lineup-cart .cartjs_cart_in:hover {
	opacity: 0.7;
}

.lineup-cart .cartjs_cart_in:before {
	display: block;
	content: 'add to cart';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.07em;
	white-space: nowrap;
	z-index: 1;
}

.lineup-cart .cartjs_cart_in input {
	display: block !important;
	position: relative !important;
	box-sizing: border-box !important;
	background: var(--color-brown) !important;
	border: none !important;
	border-radius: 0 !important;
	width: 100% !important;
	height: 55px !important;
	margin: 0 !important;
	color: #FFFFFF !important;
	text-align: center !important;
	text-indent: -9999px !important;
}

.lineup-cart .btn-sold {
	display: none;
	position: absolute;
	bottom: 30px;
	left: 30px;
	width: calc(100% - 60px);
	pointer-events: none;
	opacity: 0.6;
}

.lineup-cart .sold + .btn-sold {
	display: block;
}

.lineup-cart .btn-sold span {
	padding-top: 20px;
	padding-bottom: 19px;
}

/* .cartjs option
------------------------------------*/
.cartjs_box {
	padding: 0 !important;
}

.cartjs_option {
	display: none !important;
}

.cartjs_product_table table {
	width: 100% !important;
	text-align: left !important;
}

.colorme-option-box table caption {
	display: none !important;
}

.colorme-option-box table th,
.colorme-option-box table td {
	border-color: var(--color-border-light);
	font-size: 13px !important;
	line-height: 1.6 !important;
	vertical-align: top !important;
}

.colorme-option-box table th {
	border-left: none !important;
	border-right: none !important;
	padding: 15px 15px !important;
	letter-spacing: 0.06em !important;
	text-align: center !important;
}

.colorme-option-box table td {
	position: relative;
	border-right: none;
	padding: 15px 15px 15px 52px !important;
	letter-spacing: 0.1em !important;
	text-align: left !important;
}

.colorme-option-box table td br {
	display: none !important;
}

.colorme-option-box table td input {
	position: absolute;
	top: 50%;
	left: 24px;
	transform: translateY(-50%) scale(1.2);
}

.colorme-option-tbl {
	margin: 0 !important;
}

.colorme-option-box.mb {
	margin: 24px 0 16px !important;
}

/* .nav-txt-link
------------------------------------*/
.lineup-detail .nav-txt-link {
	margin-top: 6px;
}

.nav-txt-link li {
	display: inline-block;
	white-space: nowrap;
}

.nav-txt-link li a {
	display: inline-block;
	background: url(img/share/ico-arrow-s.svg) no-repeat left top 4px;
	padding: 0 10px 5px 10px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.nav-txt-link li a span {
	padding-bottom: 1px;
}

/* .lineup-gallery
------------------------------------*/
.lineup-gallery {
	margin-top: 80px;
}

.lineup-gallery > ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.lineup-gallery > ul li {
	width: calc((100% / 6) - 1px);
	margin: 0 1px 1px 0;
}

.lineup-gallery > ul li:nth-of-type(6n) {
	margin-right: 0;
}

.lineup-gallery > ul li img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

/* .img-gallery-modal
------------------------------------*/
.img-gallery-modal {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255,255,255,1);
	width: 100%;
	height: 100%;
	z-index: 10000;
	display: none;
	opacity: 0;
}

.img-gallery-modal .btn-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 40px;
	cursor: pointer;
	z-index: 2;
}

.img-gallery-modal .btn-close img {
	width: 95px;
	height: auto;
}

.img-gallery-modal .modal-inner {
	position: relative;
	width: 100vw;
	height: 100vh;
	opacity: 0;
	z-index: 0;
}

.img-gallery-modal .modal-title {
	position: absolute;
	top: 40px;
	left: 25px;
	white-space: nowrap;
	z-index: 1;
}

.img-gallery-modal .modal-title h1,
.img-gallery-modal .modal-title h2 {
	font-size: 15px;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.img-gallery-modal .modal-title h1 br {
	display: none;
}

.img-gallery-modal .modal-title h2 {
	position: relative;
	margin-top: 16px;
	padding-top: 20px;
}

.img-gallery-modal .modal-title h2:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -1px;
	background-color: var(--color-border);
	width: 18px;
	height: 1px;
}

.img-gallery-modal .slider-zoom {
	z-index: 0;
}

.img-gallery-modal .slick-track,
.img-gallery-modal .inner {
	width: 100vw !important;
	height: 100vh !important;
}

.img-gallery-modal .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

.img-gallery-modal .inner img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: auto;
	max-width: calc(100% - 320px);
	height: auto;
	max-height: calc(100% - 80px);
	margin: 0 auto !important;
	-webkit-backface-visibility: hidden;
}

.img-gallery-modal .inner img + .loading {
	display: none;
}

.img-gallery-modal.active .inner img + .loading { display: block; }
.img-gallery-modal .inner img.lazyloaded + .loading { opacity: 0; }

.img-gallery-modal .slick-prev,
.img-gallery-modal .slick-next {
	position: absolute;
	top: 0;
	width: 50vw;
	height: 100vh;
	text-indent: -9999px;
	z-index: 10;
	opacity: 0;
}

.img-gallery-modal.active .slick-prev { left: 0; cursor: url(img/share/ico-arrow-modal-left.svg), auto; }
.img-gallery-modal.active .slick-next { right: 0; cursor: url(img/share/ico-arrow-modal-right.svg), auto; }

.img-gallery-modal .slick-dots {
	position: absolute;
	bottom: 30px;
	left: 20px;
	z-index: 11;
}

.img-gallery-modal .slick-dots li {
	position: relative;
	width: 21px;
	height: 21px;
}

.img-gallery-modal .slick-dots button {
	position: relative;
	width: 21px;
	height: 21px;
	text-indent: -9999px;
	transition: .15s linear;
}

.img-gallery-modal .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 7px;
	background: #D9D9D9;
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.img-gallery-modal .slick-dots button:hover:after,
.img-gallery-modal .slick-dots .slick-active button:after {
	background: var(--color-font-blue);
}

/* .lineup-block
------------------------------------*/
.lineup-block {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 80px;
}

.lineup-block .inner {
	width: 46%;
	margin-bottom: 10%;
}

.lineup-block .inner figure {
	margin-bottom: 15px;
}

.lineup-block .inner figure img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.lineup-block .inner p {
	font-size: 13px;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

.lineup-list .cartjs_sales_price {
	text-align: center;
}

/* .lineup-artist
------------------------------------*/
.lineup-detail .lineup-artist {
	position: relative;
	margin-top: 100px;
}

.lineup-detail .lineup-artist .artist-name {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	margin-bottom: 30px;
}

.lineup-detail .lineup-artist .artist-name figure {
	width: 120px;
	min-width: 120px;
}

.lineup-detail .lineup-artist figure img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
	border: 1px solid #ededed;
}

.lineup-detail .lineup-artist .artist-name .name {
	box-sizing: border-box;
	width: 100%;
}

.lineup-detail .lineup-artist:not(.noimg) .artist-name .name {
	padding-left: 35px;
}

.lineup-detail .lineup-artist .artist-name h3 {
	margin: 0 0 22px 0px;
	font-size: 12px;
	letter-spacing: 0.2em;
}

.lineup-detail .lineup-artist .artist-name h2 strong {
	display: block;
	margin-bottom: 9px;
	font-size: 18px;
	letter-spacing: 0.04em;
	font-family: var( --font-serif)
}

.lineup-detail .lineup-artist .artist-name h2 em {
	color: var(--color-font-light);
	font-size: 15px;
	letter-spacing: 0.04em;
}

.lineup-detail .lineup-artist .txt {
	text-align: justify;
}

.lineup-detail .lineup-artist .txt p {
	display: inline;
}

.lineup-detail .lineup-artist .txt p br {
	display: none;
}

.lineup-detail .lineup-artist .dl-line {
	margin-top: 30px;
}

.lineup-detail .lineup-artist .blog-list-s {
	margin-top: 50px;
}

/* .lineup-other
------------------------------------*/
.lineup-other {
	margin-top: 120px;
}

.lineup-other > h2 {
	margin-bottom: 20px;
	font-size: 16px;
	letter-spacing: 0.02em;
}

.lineup-other .lineup-list {
	margin-bottom: -15%;
}

.lineup-other .btn-line {
	margin-top: 100px;
}


/* .nav-category
---------------------------------------------------------------------------*/
.nav-category-btn {
	position: absolute;
	top: 50px;
	left: 55px;
}

.lineup-index-inner .nav-category-btn {
	top: -100px;
	right: 25px;
	left: inherit;
}

.nav-category-btn .mask {
	display: none;
	position: absolute;
	top: 0;
	right: 19px;
	background-color: #FFFFFF;
	width: calc(100% - 19px);
	height: 100%;
	z-index: 10;
}

#topContents .nav-category-btn {
	pointer-events: none;
}

#topContents .nav-category-btn .mask {
	display: block;
}

.nav-category-btn li {
	position: relative;
}

.nav-category-btn li:nth-of-type(2) {
	display: inline-block;
}

.nav-category-btn li span {
	display: inline-block;
	padding: 4px 20px 5px 5px;
}

.nav-category-modal,
.blog-modal,
.blog-modal-bg {
	position: fixed;
	top: 0;
	left: -444px;
	width: 444px;
	height: 100vh;
	color: #FFFFFF;
	z-index: 999;
}

.nav-category-modal,
.blog-modal-bg {
	background: url(img/share/bg-modal@2x.jpg) repeat-y left top / 100% auto;
}

.blog-modal-bg {
	z-index: 998;
}

.nav-category-modal-close,
.nav-category-modal-open,
.blog-modal-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 33px 30px;
	z-index: 2;
}

.blog-modal-close {
	position: fixed;
	left: 326px;
	width: 58px;
	z-index: 1000;
	display: none;
	opacity: 0;
	cursor: pointer;
}

.nav-category-modal-close img,
.nav-category-modal-open span,
.blog-modal-close img {
	display: block;
	transition: .15s ease-out;
}

.nav-category-modal-close:hover img,
.nav-category-modal-open:hover span,
.blog-modal-close:hover img {
	opacity: 0.5;
}

.nav-category-modal-open {
	box-sizing: border-box;
	width: 118px;
	height: 100%;
	padding: 34px 30px 0;
	display: none;
	opacity: 0;
}

#topContents .nav-category-modal-close {
	display: none;
	opacity: 0;
}

#topContents .nav-category-modal-open {
	display: block;
	opacity: 1;
}

.nav-category-modal-open span {
	display: block;
	background-color: rgba(255,255,255,0.7);
	width: 100%;
	height: 1px;
	margin-bottom: 11px;
}

.nav-category-modal-inner {
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 32px);
	max-height: 100vh;
	padding: 140px 0 60px 40px;
	overflow-y: scroll;
}

#topContents .nav-category-modal-inner {
	opacity: 0;
}

.nav-category-modal-inner::-webkit-scrollbar { width: 1px; }
.nav-category-modal-inner::-webkit-scrollbar-track { border-radius: 0; background: none; }
.nav-category-modal-inner::-webkit-scrollbar-thumb { border-radius: 0; background: none; }


.nav-category-modal .blog-lineup {
	margin-bottom: 65px;
}

.nav-category-modal .blog-lineup time {
	display: block;
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 0.04em;
	transform: translateY(0);
}

.nav-category-modal .blog-lineup a {
	border-color: #FFFFFF;
	color: #FFFFFF;
	font-size: 13px;
}

.nav-category-modal-inner dl {
	margin-top: 32px;
}

.nav-category-modal-inner dt {
	margin-bottom: 5px;
	font-size: 14px;
	letter-spacing: 0.02em;
}

.nav-category-modal-inner dd {
	padding-left: 130px;
}

.nav-category-modal-inner dd li {
	margin-bottom: 4px;
}

.nav-category-modal-inner dd li a {
	display: inline-block;
	color: #FFFFFF;
	padding: 5px 15px 10px 0;
	letter-spacing: 0.04em;
}

.nav-category-modal-inner dd li strong {
	padding-right: 8px;
	font-size: 14px;
}

.nav-category-modal-inner dd li em {
	font-size: 11px;
	text-transform: capitalize;
}

.nav-category-modal-inner dd li em .en {
	font-family: var(--font-min);
	font-size: 12px;
}


/* .blog-modal
---------------------------------------------------------------------------*/
.blog-modal { overflow-y: scroll; }
.blog-modal::-webkit-scrollbar { width: 1px; }
.blog-modal::-webkit-scrollbar-track { border-radius: 0; background: none; }
.blog-modal::-webkit-scrollbar-thumb { border-radius: 0; background: none; }

.blog-modal .blog-area {
	box-sizing: border-box;
	width: 100%;
	padding: 114px 57px 80px;
	opacity: 0;
}

.blog-modal .blog-title {
	display: none;
}

.blog-main,
.blog-main p {
	font-size: 15px;
	line-height: 2.1;
}

.blog-main p {
	margin-bottom: 18px;
}

.blog-modal .blog-main img {
	width: calc(100% + 20px);
	margin-right: -10px;
	margin-left: -10px;
	padding: 20px 0 40px;
}

.blog-modal .blog-main img + img,
.blog-modal .blog-main br + img {
	margin-top: -60px;
}

.blog-modal .sec-table {
	margin-top: 80px;
}

.blog-modal .sec-table h3,
.blog-modal .sec-blog-lineup > h3,
.blog-modal .sec-blog-other > h3 {
	font-size: 14px;
}

.blog-modal .blog-table {
	margin-bottom: 30px;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.blog-modal .blog-table tr {
	border-color: rgba(255,255,255,0.25);
}

.blog-modal .blog-table tr:first-of-type {
	border-top: 1px solid rgba(255,255,255,0.25);
}

.blog-modal .blog-table th {
	width: 20%;
	padding-right: 10px;
}

.blog-modal .sec-table + .blog-link {
	margin-top: 35px;
}

.blog-modal .blog-link li {
	float: none;
	margin: 0 0 10px;
}

.blog-modal .blog-link li a {
	display: block;
	border-color: rgba(255,255,255,0.25);
	padding-top: 16px;
	padding-bottom: 16px;
	color: #FFFFFF;
	font-size: 14px;
}

/* .blog-modal .lineup-list
------------------------------------*/
.blog-modal .sec-blog-lineup {
	width: 100%;
	margin-top: 80px;
}

.blog-modal .sec-blog-lineup > h3 {
	margin-bottom: 26px;
}

.blog-modal .lineup-list article {
	width: 23.8%;
	margin: 0 1.6% 1.6% 0;
}

.blog-modal .lineup-list figure {
	margin: 0;
}

.blog-modal .lineup-list figure img {
	border: none !important;
}

.blog-modal .lineup-list h2,
.blog-modal .lineup-list .cartjs {
	display: none !important;
}

/* .blog-modal .sec-blog-other
------------------------------------*/
.blog-modal .sec-blog-other {
	margin-top: 80px;
}

.blog-modal .sec-blog-other .blog-list-s {
	margin-top: 0;
}

.blog-modal .sec-blog-other .blog-list-s > article {
	margin-bottom: 22px;
}

.blog-modal .sec-blog-other .blog-list-s > article time {
	margin-bottom: 5px;
}

.blog-modal .sec-blog-other .blog-list-s > article.hidden {
	display: none !important;
}


/* error
---------------------------------------------------------------------------*/
#errorContents .contents {
	position: relative;
	height: 100vh;
	min-height: 600px;
	margin-bottom: -260px;
}

.error-txt {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}

.error-txt h1 {
	margin-bottom: 28px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.error-txt p {
	font-size: 15px;
	line-height: 1.95;
	letter-spacing: 0.08em;
}


/* print
---------------------------------------------------------------------------*/
@media print {

}