@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.7);
	--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;
}

html {
	height: -webkit-fill-available;
}

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%;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

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: 2; 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; }
.narrow { display: inline-block !important; }
.wide { display: none !important; }
.narrow.block { display: block !important; }

/* #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; -webkit-transform: translateZ(0); -webkit-tap-highlight-color: rgba(0,0,0,0); }

.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;
}

/* .btn
------------------------------------*/
.btn-line a,
.btn-line > span {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid var(--color-border);
	width: 100%;
	padding: 18px 10px 17px;
	font-size: 14px;
	letter-spacing: 0.04em;
	text-align: center;
	white-space: nowrap;
}

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 25px;
	left: 13px;
	box-sizing: border-box;
	width: 76px;
	height: 34px;
	z-index: 9999;
	opacity: 0;
}

body.lineup-single .btn-nav-open {
	left: 10px;
}

.btn-nav div, .btn-nav span {
	display: inline-block;
	box-sizing: border-box;
	transition: all .1s;
}

.btn-nav div {
	position: relative;
	width: 56px;
	height: 14px;
	margin: 10px 0 0 10px;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: var(--color-font-light);
	width: 100%;
	height: 1px;
	opacity: 0.6;
}

.btn-nav span:nth-of-type(1) { top: 0; }
.btn-nav span:nth-of-type(2) { bottom: 0; }

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span:nth-of-type(1) { transform: translateY(6px) rotate(-13deg); }
.btn-nav.active span:nth-of-type(2) { transform: translateY(-7px) rotate(13deg); }

/* .nav-sp
------------------------------------*/
.nav-sp {
	position: fixed;
	top: 0;
	left: 0;
	background: #FFFFFF;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	white-space: nowrap;
	z-index: 10000;
	display: none;
	opacity: 0;
}

.nav-sp .inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.nav-sp .inner-s {
	position: absolute;
	bottom: 0;
	left: 16vw;
	height: 100%;
}

.nav-sp .snav {
	position: absolute;
	bottom: 16%;
	left: 0;
}

.nav-sp .sns {
	position: absolute;
	bottom: 6%;
	left: 0;
	margin-left: -6px;
}

.nav-sp .sns li:nth-of-type(1) { order: 2; }
.nav-sp .sns li:nth-of-type(2) { order: 1; }
.nav-sp .sns li a { padding: 8px; }

/* .gnav
------------------------------------*/
.gnav {
	position: absolute;
	bottom: 30%;
	left: 0;
}

.gnav li a {
	display: inline-block;
	padding: 1.4vh 20px 1.4vh 5px;
	font-size: 3vh;
	letter-spacing: 0;
	white-space: nowrap
}

/* .snav
------------------------------------*/
.snav li {
	margin-bottom: 3px;
}

.snav li a {
	display: block;
	padding: 0.5vh;
	font-size: 15px;
}

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

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


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


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

header .logo,
.nav-sp .logo {
	position: absolute;
	top: 30px;
	right: 22px;
	transition: .15s ease-out;
}

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

header .logo img,
.nav-sp .logo img {
	width: 17px;
	height: auto;
}

.lineup-archive header .logo {
	opacity: 0;
}

header .gnav {
	display: none !important;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 0 -5px;
	padding: 300px 0 30px;
	white-space: nowrap;
	opacity: 0;
}

body.top footer,
body.blog footer,
body.lineup footer,
body.about footer,
#errorContents footer {
	padding-left: 8%;
}

footer .logo {
	position: absolute;
	bottom: 20px;
	right: 16px;
}

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

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

footer .snav {
	display: none;
}

.sns {
	display: -webkit-box;
	display: flex;
}

footer .sns {
	margin-bottom: 19px;
}

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

.sns li a img {
	width: 4.4vh;
}

footer .sns li a img {
	width: 31px;
}

footer .copyright {
	display: block;
	margin: 0 0 0 4px;
	font-size: 12px;
	letter-spacing: 0.04em;
}


/* 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;
}

#blogContents,
#aboutContents,
#shopping-guideContents,
#contactContents,
#privacyContents,
#termsContents {
	padding-top: 200px;
}

#shopping-guideContents,
#contactContents,
#privacyContents,
#termsContents {
	padding-right: 8%;
	padding-left: 8%;
}

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

.title-page em {
	display: block;
	margin-bottom: 13px;
	font-family: var(--font-serif);
	font-size: 16px;
	letter-spacing: 0.03em;
}

.title-page h1 {
	font-size: 15px;
	letter-spacing: 0.04em;
}

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

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

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

.dl-line dt {
	box-sizing: border-box;
	padding-right: 12px;
	white-space: nowrap;
	letter-spacing: 0.04em;
}

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

.dl-line.size-s > div {
	padding: 9px 0 8px;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 4px 3px;
	padding-left: 11px;
	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 8px 2px;
	padding-left: 8px;
	font-size: 12px;
	line-height: 1.8;
	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;
}

/* .num-list
------------------------------------*/
.num-list li {
	box-sizing: border-box;
	position: relative;
	padding-left: 22px;
}

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


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

.blog-list article {
	width: 45.6%;
	margin: 0 8.8% 10% 0;
}

.blog-list article:nth-of-type(2n) {
	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: #BFD7E5;
	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: 16px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

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

.blog-list article a > div {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.blog-list h2 {
	order: 2;
	width: 100%;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.blog-list time,
.blog-title time {
	order: 1;
	display: block;
	width: 100%;
	margin-bottom: 4px;
	color: var(--color-font-blue);
	font-family: var(--font-serif);
	font-size: 11px;
	letter-spacing: 0.06em;
}

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

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

.blog-list-s > article figure {
	align-self: flex-start;
	width: 75px;
	min-width: 75px;
}

.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 0 18px !important;
	text-align: left !important;
}

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

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


/* blog single
---------------------------------------------------------------------------*/

/* .blog-title
------------------------------------*/
.blog-title {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 35px;
	padding: 0 15px;
}

.blog-title time {
	letter-spacing: 0.06em;
}

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

.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 {
	order: 2;
	padding-top: 3px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* .blog-main
------------------------------------*/
.blog-main,
.blog-main p {
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.08em;
	text-align: justify;
}

.blog-main p {
	margin-bottom: 15px;
	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% + 20px);
	height: auto;
	margin-right: -10px;
	margin-left: -10px;
	padding: 15px 0 35px;
}

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

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

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

.blog-main .wp-caption-text {
	margin: -22px 0 0 -10px;
	font-size: 12px;
	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: 75px;
}

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

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

.blog-table {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 40px;
	font-size: 13px;
	letter-spacing: 0.02em;
}

.blog-table tr {
	border-bottom: 1px solid #CCC;
}

.blog-table tr:first-of-type {
	border-top: 1px solid #CCC;
}

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

.blog-table th {
	position: relative;
	box-sizing: border-box;
	width: 20%;
	padding-right: 15px;
	padding-left: 5px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.blog-table td {
	box-sizing: border-box;
	width: 80%;
	padding-right: 5px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.blog-table + .attention {
	margin-top: -22px;
	font-size: 12px;
}

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

.blog-link li {
	margin-bottom: 10px;
}

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

/* .sec-blog-lineup
------------------------------------*/
.sec-blog-lineup {
	margin: 80px auto 0;
}

/* .sec-blog-lineup .lineup-list {
	justify-content: left;
}

.sec-blog-lineup .lineup-list article {
	width: 24.1% !important;
	margin: 0 1.2% 1.2% 0 !important;
}

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

.sec-blog-lineup .lineup-list article figure {
	margin: 0 !important;
}

.sec-blog-lineup .lineup-list article h2,
.sec-blog-lineup .lineup-list article .price,
.sec-blog-lineup .lineup-list article .sold-txt {
	display: none !important;
} */

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

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


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin-top: 40px;
	font-size: 14px;
	text-align: center;
}

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

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

.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: 25px;
	height: 25px;
	margin: -1px 0 0 -0.5px;
	z-index: -1;
}

.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: 90px;
}

.top-wrap {
	opacity: 0;
}

.top-img {
	width: 100%;
	height: calc(100vh - 90px);
	opacity: 0;
}

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

.top-img .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	box-sizing: border-box;
	width: 100%;
	padding: 75px 0 0;
	opacity: 0;
}

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

.top-img img {
	display: block;
	position: absolute;
	top: 75px;
	left: 50%;
	width: auto;
	height: calc(100% - 75px);
	transform: translateX(-43%);
}

.top-img .active img {
	animation: top_img 12s linear forwards infinite;
}

@keyframes top_img {
	0% { transform: translateX(-43%); }
	100% { transform: translateX(-57%); }
}

.top-img a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}

.top-img .inner a span {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 23px;
	padding-right: 60px;
}

.top-img .inner a em {
	display: block;
	margin-bottom: 7px;
	font-size: 10px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

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

/*.top-img .inner a strong:first-child {
	transform: translateY(16px);
}*/

.top-img .slick-list {
	overflow: hidden;
}

/* .top-lineup
------------------------------------*/
.top-lineup {
	position: relative;
	margin: 0 auto 30px;
	padding-top: 130px;
}

.top-lineup .nav-category-btn {
	top: 75px;
	left: 64%;
}

.top-lineup .lineup-index-inner {
	position: relative;
	padding: 0 7%;
}

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

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

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

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

.top-lineup .lineup-list,
#blogContents .sec-blog-lineup .lineup-list {
	justify-content: left;
}

.top-lineup .lineup-list article,
#blogContents .sec-blog-lineup .lineup-list article {
	width: 32%;
	margin-right: 2% !important;
	margin-bottom: 9%;
}

.top-lineup .lineup-list article:nth-of-type(3n),
#blogContents .sec-blog-lineup .lineup-list article:nth-of-type(3n) {
	margin-right: 0 !important;
}

.top-lineup .lineup-list figure,
.sec-blog-lineup .lineup-list figure {
	margin-bottom: 11px;
}

.top-lineup .lineup-list h2,
.sec-blog-lineup .lineup-list h2 {
	margin-bottom: 6px;
	font-size: 11px;
	letter-spacing: 0.02em;
}

.top-lineup .lineup-list .cartjs,
.sec-blog-lineup .lineup-list .cartjs {
	transform-origin: center top;
	transform: scale(0.9);
}

.top-lineup .lineup-list .cartjs_sales_price td,
.sec-blog-lineup .lineup-list .cartjs_sales_price td {
	padding-left: 2px;
}

/* #topContents .nav-category-modal
------------------------------------*/
#topContents .nav-category-modal {
	position: relative !important;
	left: 0 !important;
	height: auto;
	margin-bottom: 90px;
	z-index: 0;
}

#topContents .nav-category-modal-inner {
	overflow: hidden;
	position: static;
	max-height: none;
	padding-top: 60px;
	padding-bottom: 50px;
	opacity: 1 !important;
}

#topContents .nav-category-modal-close,
#topContents .nav-category-modal-inner .blog-lineup {
	display: none !important;
}

/* .top-blog
------------------------------------*/
.top-blog {
	margin-bottom: 75px;
	padding: 0 8.5%;
}

.top-blog > h2 {
	margin-bottom: 22px;
	font-size: 16px;
}

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

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

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

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

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

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

.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;
	width: 9px;
	margin-left: 6px;
	transform: translateY(-3px);
}

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

/* .instagram
------------------------------------*/
.instagram {
	padding: 0 6%;
}

.instagram > h2 {
	margin: 0 0 28px;
	font-size: 14px;
}

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

.instagram > h2 i img {
	width: 30px;
	height: auto;
}

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

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

.instagram-list {
	width: calc(100% + 10px);
	margin: 0 -5px;
}

#sb_instagram #sbi_images {
	padding: 0 !important;
}

.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_mob_col_3 #sbi_images .sbi_item {
	padding: 5px !important;
}

#sb_instagram .sbi_photo {
	overflow: hidden !important;
	height: 0 !important;
	padding-bottom: 100% !important;
}

#sb_instagram .sbi_photo img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}


/* page blog
---------------------------------------------------------------------------*/
#blogContents .contents-inner {
	padding: 0 6%;
}

#blogContents.category .btn-line {
	margin-top: 20px;
}

/* .nav-blog
------------------------------------*/
.nav-blog {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 30px;
	padding: 0 0 0 10px;
	white-space: nowrap;
}

.nav-blog ul {
	display: -webkit-box !important;
	display: flex !important;
	flex-wrap: wrap;
	width: 100%;
}

.nav-blog li {
	width: 50%;
	margin-bottom: 5px;
}

.nav-blog li a {
	display: block;
	position: relative;
	padding: 0 0 13px 20px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.nav-blog li a:before,
.nav-blog .btn-select:before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 1px;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid var(--color-font-light);
	width: 11px;
	height: 11px;
}

.nav-blog li.current-cat a:before,
body.blog-archive .nav-blog .btn-select:before {
	background: var(--color-font);
	border-color: var(--color-font);
}

.nav-blog .btn-select {
	display: block;
	position: relative;
	overflow: hidden;
}

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

.nav-blog .btn-select .customSelect {
	display: block !important;
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 0 20px;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.06em;
	transform: translateY(-2px);
}

.nav-blog .btn-select .customSelect .customSelectInner {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	transform-origin: left bottom;
	transform: scale(0.87);
}


/* page about
---------------------------------------------------------------------------*/
.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 {
	top: 71vw !important;
	right: 20px !important;
}

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

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

.about-info-wrap .img-center {
	margin-bottom: 75px;
}

#aboutContents .img-center {
	margin-bottom: 100px;
}

.about-info-wrap .img-center img,
#aboutContents .img-center img {
	width: 100%;
	height: auto;
}

/* .about-lead
------------------------------------*/
.about-lead {
	margin: 100px 0 90px;
	padding: 0 8.5%;
}

.about-lead h1,
.about-info h2 {
	margin: 0 0 35px 1px;
	font-family: var(--font-serif);
	font-size: 14px;
	letter-spacing: 0.04em;
}

.about-lead p {
	margin-bottom: 18px;
	font-size: 13px;
	line-height: 2.3;
	letter-spacing: 0.1em;
}

/* .about-info
------------------------------------*/
.about-info {
	padding: 0 8.5%;
}

.about-info h2 {
	margin-bottom: 20px;
}

.about-info .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 425px;
	margin-bottom: 100px;
}

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

.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 {
	position: relative;
	padding: 0 0 0 15px;
}

.about-info .txt h1 {
	position: absolute;
	top: -70px;
	right: 20px;
	font-size: 19px;
	letter-spacing: 0.3em;
	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 20px -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: 27px;
	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: 14px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.about-info .txt address + p {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

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

.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: 32px 0 10px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.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
---------------------------------------------------------------------------*/

/* pnav-fix
------------------------------------*/
.pnav-fix {
	margin: 25px 0 100px;
}

.pnav-fix-btn {
	position: relative;
	margin-bottom: 20px;
	padding: 9px 0 0 46px;
}

.pnav-fix-btn i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	border: 1px solid var(--color-font-light);
	border-radius: 50%;
	width: 34px;
	height: 34px;
	padding: 8px 0 0 1px;
	font-size: 16px;
	text-align: center;
}

.pnav-fix-btn span {
	padding-bottom: 2px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.pnav-fix-btn + div {
	display: none;
	margin-left: 46px;
}

.pnav-fix ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	background: #F7F7F7;
	padding: 16px 20px 11px 22px;
}

.pnav-fix li { width: 55%; }
.pnav-fix li:nth-child(even) { width: 45%; }

.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;
	white-space: nowrap;
}

/* .sec-guide
------------------------------------*/
.sec-guide {
	margin: -100px 0 100px;
	padding-top: 120px;
}

.sec-guide:last-child {
	margin-bottom: 0;
}

.sec-guide h2 {
	margin-bottom: 45px;
	font-size: 18px;
	letter-spacing: 0.06em;
}

.sec-guide h3 {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

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

.sec-guide h4 {
	margin: 35px 0 10px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

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

.sec-guide p,
.sec-guide p a,
.sec-guide li {
	/* color: var(--color-font-light); */
	text-align: justify;
}

.sec-guide p {
	line-height: 1.9;
	letter-spacing: 0.02em;
	font-size: 13px;
}

.sec-guide p.let {
	padding-top: 2px;
	line-height: 1.7;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.sec-guide h2 + p {
	margin: -20px 0 45px;
}

.sec-guide p .line {
	display: inline;
	/* text-decoration: underline; */
	/* margin-right: 2px; */
}

.sec-guide p .line:after {
	display: none;
}

.sec-guide p br,
.sec-guide li br {
	display: none;
}

.sec-guide .box-line {
	display: inline-block;
	border: 1px solid var(--color-border);
	margin-top: 5px;
	padding: 10px 16px 9px 18px;
}

.sec-guide .box-line,
.sec-guide .box-line p {
	color: var(--color-font);
}

.sec-guide .box-line p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.02em;
}

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

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

.table-line th,
.table-line td {
	font-size: 14px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

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

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

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

.table-line td {
	padding-top: 18px;
	padding-bottom: 10px;
}

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

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


/* page contact
---------------------------------------------------------------------------*/
.contact-lead p {
	letter-spacing: 0.04em;
	text-align: justify;
}

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

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

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

.form-wrap dt {
	margin-bottom: 4px;
}

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

.form-wrap dt p {
	letter-spacing: 0.04em;
	font-size: 13px;
}

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

.form-wrap dt span {
	font-size: 12px;
	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);
	border-radius: 0;
	width: 100%;
	height: 54px;
	padding: 0 20px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.form-wrap textarea {
	height: 300px;
	padding: 16px 20px;
}

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

.form-wrap .check dd .wpcf7-form-control-wrap {
	width: auto;
	margin-right: 6px;
	transform: translateY(1px);
}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	.form-wrap .check dd .wpcf7-form-control-wrap {
		margin-right: 9px;
		transform: translateY(3px);
	}
}

::-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;
}

.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;
	border-radius: 0;
	width: 100%;
	margin: 0;
	padding: 15px 0;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

/* 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 5px;
	padding: 0;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #B9565B;
	text-decoration: underline;
}

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

.txt-response,
.wpcf7-response-output {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

/* 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 dl {
	margin-top: 70px;
}

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

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

#privacyContents dt {
	margin-bottom: 20px;
	font-size: 15px;
	letter-spacing: 0.05em;
}

#privacyContents .title-page + p,
#privacyContents dd,
#privacyContents dd p {
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
}

#privacyContents .title-page + p,
#privacyContents dd,
#privacyContents dd p,
#privacyContents dd p a {
	color: var(--color-font-light);
}

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

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

#privacyContents .num-list li {
	margin-bottom: 6px;
	line-height: 1.6;
}

#privacyContents .dot-list li {
	margin-bottom: 12px;
	padding-left: 16px;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

#privacyContents .attention-list {
	padding-top: 2px;
}

#privacyContents .attention-list li {
	line-height: 1.8;
}


/* page terms
---------------------------------------------------------------------------*/
#termsContents dl > div {
	margin-bottom: 30px;
}

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

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

#termsContents dt {
	margin-bottom: 6px;
}

#termsContents dd,
#termsContents dd a {
	color: var(--color-font-light);
}

#termsContents dd ul {
	padding-top: 4px;
}


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

body.lineup-artist #lineupContents,
body.lineup-category #lineupContents {
	padding-top: 200px;
}

.lineup-index-inner {
	padding: 0 8.5%;
}

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

.lineup-list-wrap + .nav-category-btn-wrap {
	display: -webkit-box !important;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	position: static;
	top: inherit;
	left: inherit;
	width: 100%;
	margin-top: 60px;
}

.lineup-list-wrap + .nav-category-btn-wrap > div:nth-of-type(1) {
	width: 100%;
	margin-bottom: 3%;
}

.lineup-list-wrap + .nav-category-btn-wrap > div:nth-of-type(1) a {
	background-color: var(--color-brown);
	color: #FFFFFF;
}

.lineup-list-wrap + .nav-category-btn-wrap > div:nth-of-type(2),
.lineup-list-wrap + .nav-category-btn-wrap > div:nth-of-type(3) {
	width: 48.5%;
}

.lineup-list-wrap + .nav-category-btn-wrap .nav-category-btn {
	display: block !important;
	position: static;
	top: inherit;
	left: inherit;
}

body.lineup-archive #lineupContents h1,
body.lineup-category #lineupContents h1 {
	margin: 0 0 -12px 2px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

/* .blog-lineup
------------------------------------*/
.blog-lineup {
	overflow: hidden;
	position: absolute !important;
	top: 180px;
	left: 8.5%;
	max-width: 84%;
	height: auto !important;
}

#lineupContents .blog-lineup {
	opacity: 0;
}

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

.blog-lineup time {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	letter-spacing: 0.06em;
	transform: translateY(-2px);
}

.blog-lineup a {
	display: inline-block;
	border-bottom: 1px solid var(--color-font);
	max-width: 100%;
	padding: 0;
	font-size: 12px;
	letter-spacing: 0.08em;
	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: 30px 0 0;
}

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

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

/* .lineup-list
------------------------------------*/
.lineup-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.lineup-list article {
	width: 48.5%;
	margin-bottom: 12%;
	text-align: center;
}

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

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

.lineup-list figure {
	position: relative;
	margin-bottom: 16px;
}

.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;
}

.top-lineup .lineup-list .sold .sold-txt {
	bottom: 8px;
}

.top-lineup .lineup-list .sold-txt img {
	width: 40px;
}

.lineup-list h2 {
	margin-bottom: 10px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.lineup-cart .cartjs_sales_price td {
	font-family: var(--font-serif) !important;
	font-weight: normal !important;
}

.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%;
}

.lineup-list .cartjs_sales_price td,
.lineup-cart .cartjs_sales_price td {
	display: inline-block;
	position: relative;
	font-family: var(--font-serif);
	padding-left: 4px;
	letter-spacing: 0.04em;
	white-space: nowrap;
	color: #888;
}

.lineup-list .cartjs_sales_price td:before,
.lineup-cart .cartjs_sales_price td:before {
	display: block;
	content: 'yen';
	position: absolute;
	top: 1px;
	right: 35px;
	font-size: 12px;
	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: 54px;
	height: calc(100% + 6px);
	padding: 6px 4px 0 0;
	font-size: 10px;
	letter-spacing: 0;
	text-align: right;
	z-index: 1;
}

.lineup-list .cartjs_sales_price td:after {
	padding-top: 6.5px;
}

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

/* .lineup-artist
------------------------------------*/
body.lineup-artist .lineup-detail {
	padding: 70px 8% 0;
}

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

body.lineup-artist .lineup-tax-title,
body.lineup-artist .lineup-detail .lineup-txt .txt {
	padding: 25px 15px 0;
}

body.lineup-artist .lineup-detail .lineup-txt .txt {
	margin-bottom: 80px;
}

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

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

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

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

/* .category-main
------------------------------------*/
.category-main {
	position: relative;
}

.category-main h2 {
	position: absolute;
	bottom: 30px;
	left: 25px;
	width: calc(100% - 100px);
	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 {
	position: relative !important;
	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: 20px;
	right: 10px;
}

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

.slider .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #FFFFFF;
	border-radius: 50%;
	width: 4px;
	height: 4px;
}

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

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

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

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

.lineup-tax-title h1 em {
	display: block;
	margin-left: 1px;
	font-size: 12px;
	letter-spacing: 0.04em;
}

body.lineup-category .lineup-tax-title {
	margin: 0 0 60px 15px;
}

body.lineup-category .lineup-tax-title h1 strong {
	margin-bottom: 16px;
	font-size: 20px;
}

body.lineup-category .lineup-tax-title h1 em {
	font-size: 12px;
	text-transform: capitalize;
}


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

/* .lineup-main
------------------------------------*/
.lineup-main,
.category-main {
	box-sizing: border-box;
}

.lineup-main {
	padding: 175px 9.5% 0;
}

.lineup-main-inner {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
}

.lineup-main .slider-wrap {
	margin-bottom: 40px;
}

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

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

.lineup-main h2 {
	text-align: center;
}

.lineup-main h2 strong {
	display: block;
	margin-bottom: 6px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

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

/* .lineup-detail
------------------------------------*/
.lineup-detail {
	padding: 40px 9.5% 0;
}

body.lineup-category .lineup-detail {
	padding-top: 110px;
}

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

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

.lineup-detail .lineup-txt .txt {
	margin-bottom: 35px;
	padding: 0 10px;
	text-align: justify;
}

.lineup-artist .lineup-detail .lineup-txt .txt + dl {
	margin: -40px 0 0 15px;
}

.lineup-detail .lineup-txt .txt p {
	display: inline;
	letter-spacing: 0.04em;
	font-feature-settings : "palt" 1;
}

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

.lineup-detail .lineup-txt .dl-line {
	margin: 0 -8px;
}

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

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

/* .lineup-cart
------------------------------------*/
.lineup-cart:not(:first-child) {
	margin-top: 60px;
	padding: 0 5px;
}

.lineup-cart .cart-box {
	box-sizing: border-box;
	border: 1px solid var(--color-border);
	padding: 25px 20px 25px;
}

.lineup-cart:first-child .cart-box {
	padding: 30px 25px 25px;
}

.lineup-cart .cart-box .narrow {
	position: relative;
	display: block !important;
	box-sizing: border-box;
	width: 100%;
}

.lineup-cart .cart-box figure {
	margin: 0 0 25px;
}

.lineup-cart:first-child .cart-box figure {
	display: none;
}

.lineup-cart .cart-box figure img {
	width: 100%;
	height: auto;
}

.lineup-cart .cart-box h1 {
	margin: 0 0 9px;
	padding-right: 60px;
	padding-left: 5px;
	font-size: 17px;
	line-height: 1.45;
	letter-spacing: 0.04em;
}

/* .cartjs
------------------------------------*/
.cartjs {
	position: relative;
}

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

.lineup-cart .cartjs_sales_price td {
	padding-left: 5px !important;
	padding-bottom: 0 !important;
	font-size: 16px !important;
	letter-spacing: 0.04em !important;
	white-space: nowrap !important;
}

.lineup-cart .cartjs_sales_price td:after { width: 61px; padding: 8px 10px 0 0; }
.lineup-cart .cartjs_sales_price td:before { top: 2px; right: 42px; }

.lineup-cart .cartjs_product_num td {
	position: absolute;
	top: -14px;
	right: 14px;
	padding: 0 !important;
}

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

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

.lineup-cart .cartjs_product_num td span {
	display: inline-block;
	transform: translateY(10px);
	margin-left: 6px;
	font-size: 11px;
}

.lineup-cart .cartjs_cart_in {
	position: relative;
	margin-top: 10px !important;
}

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

.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.02em;
	white-space: nowrap;
	z-index: 1;
}

.lineup-cart .btn-sold {
	display: none;
	margin-top: 12px;
	pointer-events: none;
	opacity: 0.6;
}

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

/* .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: 12px !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 10px !important;
	letter-spacing: 0.06em !important;
	text-align: center !important;
}

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

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

.colorme-option-box table td input {
	position: absolute;
	top: 16px;
	left: 14px;
	transform: scale(1.2);
}

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

.colorme-option-box.mb {
	margin: 25px 0 20px !important;
}

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

.nav-txt-link li {
	margin-bottom: 6px;

}

.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 12px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

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

/* .lineup-gallery
------------------------------------*/
.lineup-gallery {
	margin: 30px 0 0;
}

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

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

.lineup-gallery > ul li:nth-of-type(4n) {
	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: 30px 25px 25px;
	z-index: 2;
}

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

.img-gallery-modal .modal-inner {
	position: relative;
	width: 100vw;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	opacity: 0;
	z-index: 0;
}

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

.img-gallery-modal .modal-title h1,
.img-gallery-modal .modal-title h2 {
	font-size: 13px;
	letter-spacing: 0.08em;
}

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

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

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

.img-gallery-modal .slick-track,
.img-gallery-modal .inner {
	width: 100vw !important;
	height: 100vh !important;
	height: calc(var(--vh, 1vh) * 100) !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: 100%;
	height: auto;
	max-height: calc(100% - 145px);
	margin: 5px auto 0 !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;
	bottom: 12px;
	background: url(img/share/ico-arrow-modal.svg) no-repeat center center;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	z-index: 10;
	opacity: 0;
}

.img-gallery-modal .slick-prev { right: 50px; transform: scaleX(-1); }
.img-gallery-modal .slick-next { right: 10px; }
.img-gallery-modal.active .slick-prev,
.img-gallery-modal.active .slick-next { opacity: 1; }

.img-gallery-modal .slick-dots {
	position: absolute;
	bottom: 22px;
	left: 15px;
}

.img-gallery-modal .slick-dots li {
	position: relative;
	display: inline-block;s
	width: 13px;
	height: 13px;
}

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

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

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

/* .lineup-block
------------------------------------*/
.lineup-block {
	margin-top: 100px;
	padding: 0 15px;
}

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

.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.04em;
	text-align: justify;
}

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

.lineup-detail .lineup-artist .artist-name,
.lineup-detail .lineup-artist .txt {
	padding-right: 15px;
	padding-left: 15px;
}

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

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

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

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

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

.lineup-detail .lineup-artist .artist-name h3 {
	margin-bottom: 18px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.lineup-detail .lineup-artist .artist-name h2 strong {
	display: block;
	margin-bottom: 4px;
	font-size: 16px;
	letter-spacing: 0.04em;
}

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

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

.lineup-detail .lineup-artist .txt p {
	display: inline;
	letter-spacing: 0.04em;
}

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

.lineup-detail .lineup-artist .dl-line,
.lineup-detail .lineup-artist .blog-list-s {
	padding: 0 8px;
}

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

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

/* .lineup-other
------------------------------------*/
.lineup-other {
	margin: 110px -1% 0;
}

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


/* .nav-category
---------------------------------------------------------------------------*/
.nav-category-btn {
	position: absolute;
	top: 115px;
	left: 51%;
	opacity: 0;
}

#topContents .nav-category-btn {
	opacity: 1 !important;
}

.gnav .nav-category-btn { top: 18.6vh; left: 43vw; }
.lineup-index-inner .nav-category-btn { top: 108px; left: 50%; }

#lineupContents.category .nav-category-btn {
	display: none;
}

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

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

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

.nav-category-btn li span img {
	height: 16.3px;
}

.gnav .nav-category-btn li span img { height: 18px; }

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

.blog-modal {
	opacity: 0;
}

.blog-modal,
.blog-modal-bg {
	width: 87vw;
	left: inherit;
	right: -87vw;
}

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

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

.blog-modal-mask {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.8);
	width: 100vw;
	height: 100vh;
	z-index: 10001;
	display: none;
	opacity: 0;
}

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

.blog-modal-close {
	position: fixed;
	width: 58px;
	z-index: 10004;
	display: none;
	opacity: 0;
}

.nav-category-modal-inner {
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	max-height: 100vh;
	padding: 215px 0 60px 8.5vw;
	overflow-y: scroll;
}

.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 {
	top: 115px;
	left: 8.5vw;
	margin-left: -2px;
}

.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: 12px;
}

.nav-category-modal-inner dl {
	position: relative;
	margin-top: 45px;
}

#topContents .nav-category-modal-inner dl {
	margin-top: 40px;
}

.nav-category-modal-inner dl:first-of-type {
	margin-top: 0 !important;
}

.nav-category-modal-inner dt {
	position: absolute;
	top: 4px;
	left: 0;
	font-size: 12px;
	letter-spacing: 0.02em;
}

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

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

.nav-category-modal-inner dd li a {
	display: inline-block;
	color: #FFFFFF;
	padding: 5px 0 11px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.nav-category-modal-inner dd li strong {
	padding-right: 5px;
	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: 115px 9% 75px;
	opacity: 0;
}

.blog-modal .blog-title {
	padding: 0;
}

.blog-modal .blog-title h1 {
	padding-top: 0;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.blog-modal .blog-title time {
	margin-bottom: 8px;
	color: #FFFFFF;
	font-size: 11px;
	letter-spacing: 0.06em !important;
}

.blog-main,
.blog-main p {
	font-size: 14px;
	letter-spacing: 0.04em;
}

.blog-main {
	padding: 0 15px;
}

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

.blog-modal .blog-main p {
	padding: 0;
}

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

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

.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: 25%;
	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: 13px;
}

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

.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: 75px;
}

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

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


/* error
---------------------------------------------------------------------------*/
#errorContents .contents {
	position: relative;
	height: 100vh;
}

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

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

.error-txt p {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.error-txt p br {
	display: none;
}