@charset "utf-8";
/*
Theme Name: suzukake 4
Theme URI: https://suzukake.co.jp/
Version: 4.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-font: #111111;
	--color-font-light: #888888;
	--color-red: #91301D;
	--color-bg: #FFFFFF;
	--color-bg-gray: #F7F7F7;
	--color-bg-gray-dark: #EFEFEF;
	--color-border: #F3F3F3;
	--color-border-btn: #CDCDCD;
	--color-border-frame: #E7E7E7;
	--color-border-section: rgba(0,0,0,0.3);
	--font-min: ryo-text-plusn, '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-gothic: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif: "adobe-garamond-pro", ryo-text-plusn, '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

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

body {
	background-color: #FFFFFF;
	color: var(--color-font);
	font-size: 13px;
	font-family: var(--font-min);
	font-weight: 500;
	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%; }

h1,h2,h3,h4,h5,h6,strong,em,i,th { font-weight: 500; line-height: 1.6; letter-spacing: 0.05em; }
p { font-size: 13px; line-height: 1.9; letter-spacing: 0.08em; margin-bottom: 13px; }
p:last-of-type { margin-bottom: 0 !important; }
p.attention { font-size: 12px !important; letter-spacing: 0.08em !important; }
address,i { font-style: normal; }
img { width: 100%; max-width: none; height: auto; }

.clearfix:after { content: ''; display: block; clear:both; }

.block { display: inline-block !important; }
.wide { display: none !important; }
.narrow { display: inline-block !important; }
.lazy { transition: .4s ease-out; opacity: 0; }
.lazyloaded { opacity: 1; }

.btn-nav.hidden,
header.hidden,
footer.hidden {
	display: none !important;
	opacity: 0 !important;
	transform: none !important;
	transition: none !important;
}

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

.loading-post {
	position: absolute;
	width: 12px;
	height: 12px;
	margin: -6px 0 0 -6px;
	z-index: 2;
}

.item-list.relation .loading-post,
.notec .loading-post { display: none !important; }

.item-list-api article.notec figure img,
.item-list-api article.notec h3,
.item-list-api article.notec .label,
.item-list-api article.notec .price {
	opacity: 1 !important;
}

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

/* link
------------------------------------*/
a { color: var(--color-font); text-decoration: none; -webkit-transform: translateZ(0); }
p a, .link-line, .link-line-title, a.tel {
	display: inline-block;
	position: relative;
	line-height: 1;
	padding-bottom: 1px;
}

p a:after, .link-line a:after, .link-line-title:after, a.tel:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: var(--color-font);
	width: 100%;
	height: 1px;
}

.line { text-decoration: underline; }

/* .btn
------------------------------------*/
.btn-line a, .btn-line > span {
	display: block;
	box-sizing: border-box;
	border: 0.5px solid #666666;
	padding: 15px 22px;
	font-size: 15px;
	text-align: center;
	letter-spacing: 0.12em;
}

p + .btn-line { margin-top: 35px; }
.btn-set p + .btn-line { margin-top: 25px; }

.btn-line.size-m a {
	display: inline-block;
	border-color: var(--color-border-btn);
	padding: 14px 16px;
	font-size: 14px;
}

.btn-line.size-s a {
	display: inline-block;
	border-color: var(--color-border-btn);
	padding: 7px 13px 7px 14px;
	font-size: 13px;
}

p + .btn-line.size-s { margin-top: 15px; }

/* .btn-set
------------------------------------*/
.btn-set > div:not(:last-child) { margin-bottom: 10px; }

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 25px;
	right: 0;
	box-sizing: border-box;
	width: 75px;
	height: 60px;
	z-index: 10000;
}

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

.btn-nav div {
	position: relative;
	width: 35px;
	height: 17px;
	margin: 22px 0 0 13px;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: #888888;
	width: 100%;
	height: 1px;
}

.btn-nav.white span { background-color: #FFFFFF; }

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

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span { background-color: #888888 !important; }
.btn-nav.active span:nth-of-type(1) { transform: translateY(8px) rotate(-20deg); }
.btn-nav.active span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active span:nth-of-type(3) { transform: translateY(-8px) rotate(20deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

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

.nav .inner {
	overflow-y: scroll;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	-webkit-overflow-scrolling: touch;
}

/* .nav .gnav
------------------------------------*/
.nav .gnav { margin-bottom: 120px; padding: 20px 23px 0; }

.nav .gnav > ul > li,
.nav .gnav li li { border-bottom: 1px solid var(--color-border) !important; }
.nav .gnav > ul > li:last-of-type { border-bottom: none !important; font-family: var(--font-serif);}

.nav .gnav > ul > li:first-of-type,
.nav .gnav li li:first-of-type,
.nav .gnav > ul > li.mt { border-top: 1px solid var(--color-border) !important; }
.nav .gnav > ul > li.mt { margin-top: 50px; }

.nav .gnav > ul > li > a {
	display: block;
	padding: 18px 18px 18px;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.nav .gnav > ul > li.let > a { letter-spacing: 0.01em; }

.nav .gnav > ul > li > span {
	display: block;
	padding: 54px 16px 16px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.nav .gnav li li:last-of-type { border-bottom: none !important; }

.nav .gnav li li a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	padding: 10px 0 10px 18px;
}

.nav .gnav li li img { align-self: flex-start; width: 50px; min-width: 50px; }
.nav .gnav li li strong { padding: 0 0 0 20px; font-size: 15px; }
.nav .gnav li li strong span { padding-left: 4px; font-size: 12px; }

/* .nav .snav
------------------------------------*/
.nav .snav { margin-bottom: 120px; }

.nav .snav a {
	display: inline-block;
	padding: 10px 30px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

/* .nav .fnav
------------------------------------*/
.nav .fnav {
	border-top: 1px solid var(--color-border);
	width: calc(100% - 60px);
	margin: 0 auto;
	padding: 30px 0 0;
}

.nav .fnav li { margin-bottom: 7px; }
.nav .fnav li:last-of-type { margin-bottom: 0; }

.nav .fnav a {
	display: inline-block;
	padding: 0 10px 10px 0;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.nav .fnav a span {
	display: inline-block;
	border-bottom: 1px solid rgba(0,0,0,0.5);
	padding-bottom: 1px;
}

/* .nav-btm
------------------------------------*/
.nav-btm { position: relative; padding: 35px 30px 25px; }
.nav-btm .copyright { color: #888888; font-size: 13px; letter-spacing: 0.02em; font-family: var(--font-serif); }
.nav-btm .copyright i { display: inline-block; transform: translateY(2px); }

/* .sns
------------------------------------*/
.nav .sns {
	position: absolute;
	bottom: 28px;
	right: 31px;
	display: -webkit-box;
	display: flex;
	margin: 0 -11px -11px 0;
}

.nav .sns a { display: block; padding: 9px; }

/* .nav .gnav-en
------------------------------------*/
body.en .nav .inner,
body.en .nav .inner-s {
	position: relative;
	height: 100dvh;
}

body.en .header .cart-check,
body.en .header .logo.narrow { display: none !important; }
.nav .gnav-en,
body.en .nav .gnav,
body.en .nav .fnav { display: none; }

body.en .nav .gnav-en {
	display: block;
	position: absolute;
	bottom: 60px;
	left: 10px;
	font-family: var(--font-serif);
}

.nav .gnav-en > ul > li,
.nav .gnav-en > ul > li:first-of-type { border: none !important; }
.nav .gnav-en > ul > li .current { display: none; }
body.en-top .nav .gnav-en > ul > li .other { display: none; }
body.en-top .nav .gnav-en > ul > li .current { display: block; }

.nav .gnav-en > ul > li a {
	font-size: 19px;
	letter-spacing: 0.01em;
}

body.en .nav-btm {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 52px 45px;
}

body.en .nav-btm .sns {
	position: static;
	margin: 20px 0 25px -8px;
}


/* #wrap
---------------------------------------------------------------------------*/
#wrap { position: relative; }


/* header
---------------------------------------------------------------------------*/
.header {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 32px 0 28px;
}

header {
	transition: .1s linear;
	pointer-events: none;
	opacity: 0;
}

body.top header { margin-bottom: 20px; }

body.onlineshop-archive header,
body.onlineshop-category header,
body.onlineshop-set header,
body.oiwai header,
body.chouji header,
body.osonae header,
body.original header,
body.news header,
body.suzunari header,
body.about header,
body.shops:not(.shops-single) header,
body.guide header,
body.recruit header,
body.faq header,
body.order header,
body.contact header,
body.privacy header,
body.terms header {
	margin-bottom: 35px;
}

header.active { pointer-events: auto; opacity: 1; }

.header .logo { width: 38px; margin: 0 auto; }
.header .logo.narrow { display: block !important; }
.header .logo a { display: block; position: relative; }
header .logo img, header .cart-check img { transition: .15s ease-out; }

.header .cart-check .white { display: block; position: absolute; top: 0; left: 0; opacity: 0; }
.header .cart-check { position: absolute; top: 41px; left: 30px; }
.header .cart-check img { width: 32px; }

header.white .logo img,
header .cart-check .white,
header.white .cart-check img { opacity: 0; }
header.white .cart-check .white { opacity: 1; }


/* footer
---------------------------------------------------------------------------*/
footer {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 140px 0 145px;
	text-align: center;
}

footer .logo { width: 92px; margin: 0 auto; }

/* .fix-cart
------------------------------------*/
.fix-cart {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 90;
	opacity: 0;
}

body.onlineshop .fix-cart,
body.en .fix-cart { display: none !important; }
body.top .fix-cart { position: absolute; }

.fix-cart a {
	display: block;
	background-color: #EFEFEF;
	padding: 8px 0 15px;
	font-size: 16px;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
	font-feature-settings: 'palt' 1;
}

.fix-cart a.en,
body.en .fix-cart a { display: none; }

body.en .fix-cart a.en {
	display: block;
	padding: 18px 0 15px;
}

body.en .fix-cart a.en span {
	font-family: var(--font-serif);
	font-size: 18px;
	letter-spacing: 0.02em;
	transform: translateY(2px);
}

.fix-cart a i {
	display: inline-block;
	margin-right: 20px;
	transform: translateY(4px);
}


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

.contents { opacity: 0; }

.top-img,
.top-news,
.feature-main,
.onlineshop-top-item,
.item-list,
.item-list-catalog,
.img-main,
.img-main-fix,
.slider-item-nav,
.post-item .bnr-nav,
.recruit-list,
.en figure,
.en .sec-common,
.en .month-lead .attention {
	box-sizing: border-box;
	padding: 0 7.3%;
}

/* .img-main
------------------------------------*/
.img-main { box-sizing: border-box; width: 100%; margin-bottom: 100px; }
.img-main .slick-dots li:first-of-type:last-of-type { display: none; }
.img-main-l { width: 100%; margin-bottom: 60px; padding: 0 !important; }

/* .title-page
------------------------------------*/
.title-page { margin-bottom: 70px; text-align: center; }
.title-page.mb { margin-bottom: 45px; }
.item-list + .title-page { margin-top: 90px; }
.post-item .txt + .title-page { margin-top: 25px; }

#aboutContents .title-page,
#shopsContents .title-page { margin-bottom: 40px; }

.sec-common .title-page { margin-bottom: 20px; }

.title-page time {
	display: block;
	margin-bottom: 20px;
	font-family: var(--font-serif);
	font-size: 12px;
	letter-spacing: 0.05em;
}

.title-page strong {
	display: block;
	font-size: 20px;
	letter-spacing: 0.1em;
}

h1.title-page strong { font-feature-settings: normal; }
.title-page strong.kana { letter-spacing: 0.18em; }
.title-page strong i { font-size: 10px; }

.title-page strong span.link-line-title {
	padding-bottom: 0;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-decoration: underline;
}

.title-page strong span.link-line-title:after { display: none; }

.title-page em {
	display: block;
	margin-top: 6px;
	font-size: 12px;
}

.title-page + .sec-lead { margin-top: -50px; }

/* .title-bracket
------------------------------------*/
.title-bracket {
	margin-bottom: 25px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

/* .title-center
------------------------------------*/
.title-center { margin-bottom: 25px; text-align: center; }

.title-center,
.title-center strong { font-size: 20px; letter-spacing: 0.12em; }

.title-center.size-s,
.title-center.size-s strong { font-size: 16px; }

/* .title-left
------------------------------------*/
.title-left {
	margin-bottom: 15px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: left;
}

/* .nav-anchor
------------------------------------*/
.nav-anchor {
	text-align: center;
	margin: 25px 0 60px;
}

.nav-anchor li {
	display: inline-block;
	border-right: 1px solid var(--color-border-frame);
	margin-right: -4px;
}

.nav-anchor li:first-of-type { border-left: 1px solid var(--color-border-frame); }

.nav-anchor li a {
	display: inline-block;
	padding: 2px 16px;
	font-size: 14px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.nav-anchor li a.prl { padding-right: 18px; padding-left: 18px; }
.nav-anchor li a span { display: inline-block; padding-bottom: 1px; }
.nav-anchor li.current a span { border-bottom: 1px solid var(--color-font); }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6px 3px;
	padding-left: 15px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}
.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 2px;
	padding-left: 15px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}
.attention-list.size-s li { margin-bottom: 5px; font-size: 11px; }
.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }

/* .dl-num
------------------------------------*/
.dl-num > div:not(:last-of-type) { margin-bottom: 35px; }

.dl-num dt {
	position: relative;
	margin-bottom: 10px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.dl-num dt i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
}

.dl-num dt, .dl-num dd { padding-left: 20px; }
.dl-num dd p { line-height: 1.9; }

/* .dl-txt
------------------------------------*/
.dl-txt > div:not(:last-of-type) { margin-bottom: 35px; }

.dl-txt dt {
	margin-bottom: 15px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.dl-txt dd { padding-left: 25px; }

.dl-txt dd p,
.dl-txt dd address {
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.dl-txt dd address { line-height: 1.6; }

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

.dl-txt-horizontal > div {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border);
	padding: 15px 3px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.dl-txt-horizontal dt { padding-right: 20px; letter-spacing: 0.06em; }
.dl-txt-horizontal dd { text-align: right; letter-spacing: 0; }

/* .sec-common
------------------------------------*/
.sec-common {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 70px;
	padding: 0 8%;
}

.sec-common.sec-lead { margin-bottom: 55px; padding: 0 7%; }
body.shops-single .sec-common.sec-lead { margin-bottom: 90px; }
body.shops-single .sec-common:not(.sec-lead) .title-center strong { font-size: 18px; }

.sec-common.border-bottom {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 60px;
	padding-bottom: 45px;
}
.sec-common:last-child { margin-bottom: 0 !important; }

.sec-common p, .sec-common address { line-height: 2; }
.sec-common p { text-align: justify; }
.sec-common.size-m p { font-size: 14px; }
.sec-common.center p { font-size: 14px; text-align: center; }
.sec-common.center.nowrap p { white-space: nowrap; }
.sec-common p.attention { padding-top: 6px; }
.sec-common P + p.attention { margin-top: -4px; padding-top: 0; }
.sec-common.p-height-s p { font-size: 14px; line-height: 1.9; }

#suzunariContents.single .sec-common p br { display: none; }

/* .sec-lead
------------------------------------*/
.sec-lead h2,
.form-wrap > h2 { margin: 50px 0 9px; font-size: 15px; }
.sec-lead > div:first-child h2 { margin-top: 0; }


/* news
---------------------------------------------------------------------------*/

/* .news-list
------------------------------------*/
.news-list article { border-bottom: 1px solid var(--color-border-frame); }
.news-list article:first-of-type { border-top: 1px solid var(--color-border-frame); }

.news-list article a {
	display: block;
	padding: 20px 0 17px;
}

.news-list article time {
	display: inline-block;
	font-family: var(--font-serif);
	font-size: 14px;
	letter-spacing: 0.02em;
}

.news-list article .category {
	display: inline-block;
	position: relative;
	min-height: 11px;
	margin-left: 12px;
	letter-spacing: 0.04em;
}

.news-list article .category:before {
	display: block;
	content: '｜';
	position: absolute;
	top: 0;
	left: -14px;
}

.news-list article h2 {
	margin-top: 9px;
	font-size: 13px;
}


/* psot
---------------------------------------------------------------------------*/

/* .post
------------------------------------*/
.post, .post p {
	font-size: 14px;
	line-height: 2.1;
	letter-spacing: 0.06em;
	text-align: justify;
}

.post p {
	margin-bottom: 20px;
	word-break: break-all;
}

.post p:last-child { margin-bottom: 0; }
.post a { text-decoration: underline; word-break: break-all; }
.post a:after { display: none; }
.post strong { font-weight: bold; }
.post em { font-style: italic; }
.post del { text-decoration: line-through; }

.post img {
	display: block;
	max-width: 100%;
	height: auto;
	padding: 50px 0 25px;
}

.post > img:first-child,.post > p:first-child img:first-child { padding-top: 0; }
.post img + img { margin-top: 10px; }
.post .wp-caption { max-width: 100%; margin-bottom: 25px; }
.post .wp-caption-text { margin-top: -5px; }

.post ul, .post ol, .post blockquote { margin: 30px 0; }
.post ul li { list-style: disc; margin: 0 0 6px 25px; }
.post ol li { list-style: decimal; margin: 0 0 6px 25px; }
.post ul li:last-of-type, .post ol li:last-of-type { margin-bottom: 0; }

.post blockquote {
	background: #F5F5F5;
	padding: 28px 35px;
}

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

.sec-table h3 {
	margin-bottom: 14px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.news-table {
	box-sizing: border-box;
	border-top: 1px solid var(--color-border);
	width: 100%;
	margin-bottom: 35px;
}

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

.news-table th,
.news-table td {
	padding-top: 13px;
	padding-bottom: 12px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.news-table th {
	position: relative;
	box-sizing: border-box;
	width: 30%;
	padding-right: 10px;
	text-align: left;
	vertical-align: top;
}

.news-table td {
	box-sizing: border-box;
	width: 70%;
}

.news-table-attention { margin-top: -15px; }
.news-table-attention p { line-height: 1.8; letter-spacing: 0.06em; }

/* .news-link
------------------------------------*/
.news-link { overflow: hidden; margin-top: 30px; }
.news-link li { float: left; margin: 0 10px 10px 0; }


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

.wp-pagenavi .extend { display: none; }
.wp-pagenavi a { margin: 0 5px; padding: 5px; }

.wp-pagenavi .current {
	display: inline-block;
	border-bottom: 1px solid #666666;
	margin: 0 10px;
	padding: 5px 0 2px;
}

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

.wp-pagenavi a.previouspostslink { margin-right: 20px; transform: translateY(-1px) scaleX(-1); }
.wp-pagenavi a.nextpostslink { margin-left: 20px; transform: translateY(-1px); }
.wp-pagenavi a.first, .wp-pagenavi a.last { display: none; }


/* .faq-list
---------------------------------------------------------------------------*/
.faq-list { border-top: 1px solid var(--color-border); text-align: left; }
.faq-list > div { border-bottom: 1px solid var(--color-border); }

.faq-list dt,
.faq-list dd,
.faq-list dd * {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.05em;
}

.faq-list dt {
	position: relative;
	padding: 15px 0 15px 25px;
}

.faq-list dt i {
	display: block;
	position: absolute;
	top: 23px;
	left: 7px;
	width: 7px;
	height: 7px;
	transition: .1s ease-out;
}

.faq-list dt i:before,
.faq-list dt i:after {
	display: block;
	content: '';
	position: absolute;
	background-color: var(--color-font);
}

.faq-list dt i:before { top: 0; left: 3px; width: 1px; height: 100%; }
.faq-list dt i:after { top: 3px; left: 0; width: 100%; height: 1px; }
.faq-list dt.active i { transform: rotate(135deg); }

.faq-list dd {
	display: none;
	padding: 0 9px 25px 25px;
	text-align: justify;
}


/* page top
---------------------------------------------------------------------------*/

/* .top-img
------------------------------------*/
.top-img { width: 100%; margin-bottom: 60px; }
.top-img a { display: block; position: relative; }
.top-img a figure { display: none; }
.top-img a figure:first-of-type { display: block; }

.top-img h2 {
	position: absolute;
	bottom: 25px;
	left: 15px;
	font-size: 23px;
	letter-spacing: 0.04em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 1;
}

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

.dot-none .slick-dots { display: none !important; }

.slider-top .slick-dots {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	position: absolute;
	bottom: 25px;
	left: 30px;
	width: calc(100% - 60px);
	z-index: 2;
}

.slider-top .slick-dots li {
	position: relative;
	width: calc(100% / 7 - 6px);
	height: 2px;
}
.slider-top .slick-dots li:first-of-type:last-of-type { display: none; }

.slider-top.img4 .slick-dots li {
	position: relative;
	width: calc(100% / 4 - 6px);
}

.slider-top .slick-dots button {
	position: relative;
	width: 100%;
	height: 2px;
	text-indent: -9999px;
}

.slider-top .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(231,231,231,0.2);
	width: 100%;
	height: 100%;
	transition: .15s ease-out;
}

.slider-top .slick-dots .slick-active button:after { background: rgba(231,231,231,1); }
.slider-top.slider-sub .slick-dots { bottom: -20px; left: 0; width: 100%; }
.slider-top.slider-sub .slick-dots button:after { background: #CCCCCC; }
.slider-top.slider-sub .slick-dots .slick-active button:after { background: #222222; }

/* .top-news
------------------------------------*/
.top-news { margin-bottom: 80px; }

/* .top-bnr
------------------------------------*/
.top-bnr-wrap > h2 {
	width: 100%;
	margin-bottom: 65px;
	text-align: center;
}

.top-bnr-wrap > h2 span {
	display: inline-block;
	font-size: 25px;
	letter-spacing: 0.4em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.top-bnr { margin-bottom: 60px; padding: 0 13.5%; }
.top-bnr:last-child { margin-bottom: 0; }
.top-bnr a { display: block; }
.top-bnr figure { position: relative; }
.top-bnr figure img { width: 100%; height: auto; }

.top-bnr figcaption {
	position: absolute;
	top: 26px;
	right: 18px;
	font-size: 21px;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.top-bnr figcaption.white { color: #FFFFFF; }

.top-bnr h2 {
	margin-top: 17px;
	font-size: 17px;
	letter-spacing: 0.12em;
	text-align: center;
}

/* .bnr-nav (top page / onlineshop detail)
------------------------------------*/
.bnr-nav .inner { margin-bottom: 100px; }
.post-item .bnr-nav .inner { margin-bottom: 45px; }
.bnr-nav .inner:last-of-type { margin-bottom: 0 !important; }
.bnr-nav figure { margin-bottom: 20px; }
.bnr-nav h2 { padding: 0; line-height: 1.5; }

.bnr-nav h2 em {
	display: block;
	margin: 0 0 4px 1px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.bnr-nav h2 strong { font-size: 17px; letter-spacing: 0.14em; }


/* page news
---------------------------------------------------------------------------*/
#newsContents.archive .title-page { margin-bottom: 65px; }

/* .news-title
------------------------------------*/
.news-title { margin-bottom: 35px; }

.news-title time,
.news-title .category {
	display: inline-block;
	font-size: 12px;
	white-space: nowrap;
}

.news-title time {
	margin-right: 8px;
	font-family: var(--font-serif);
	font-size: 13px;
	letter-spacing: 0.04em;
}

.news-title .category { letter-spacing: 0.08em; }

.news-title h1,
.news-title h2 {
	margin-top: 10px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.news-title h2 { margin-top: 8px; font-size: 14px; }
.news-title h2 + h1 { margin-top: 6px; font-size: 17px; }

/* .news-other
------------------------------------*/
.news-other { margin-top: 100px; }
.news-other .btn-line { margin-top: 50px; }


/* page about
---------------------------------------------------------------------------*/
#aboutContents .img-main { margin-bottom: 40px; }

#aboutContents .img-main figcaption {
	margin-top: 12px;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-align: right;
}

/* .about-outline
------------------------------------*/
.about-outline { padding: 0 8%; }

.about-outline > p {
	padding: 0 10px;
	font-size: 15px;
	line-height: 2;
	text-align: justify;
}

.about-outline > p br { display: none; }

.about-outline dl { margin-top: 65px; }

.about-outline dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 14px;
	padding-bottom: 14px;
}

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

.about-outline dt,
.about-outline dd,
.about-outline dd p {
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.about-outline dd p { margin-bottom: 0; }

.about-outline dt {
	box-sizing: border-box;
	width: 28%;
	min-width: 28%;
}


/* page suzunari
---------------------------------------------------------------------------*/
body.suzunari .img-main { margin-bottom: 65px; }
body.suzunari .title-page { padding-bottom: 5px; }
body.suzunari .sec-lead.center { margin-bottom: 80px; }
body.suzunari .sec-lead.center p { margin-bottom: 15px; font-size: 15px; }

/* .suzunari-list
------------------------------------*/
.suzunari-list { border-top: 1px solid var(--color-border); }
.suzunari-list article { border-bottom: 1px solid var(--color-border); }

.suzunari-list a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
}

.suzunari-list figure {
	width: 80px;
	min-width: 80px;
	height: 80px;
}

.suzunari-list .txt {
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 8px 28px;
}

.suzunari-list h3 {
	margin-bottom: 8px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.suzunari-list time { margin-left: 1px; font-size: 14px; letter-spacing: 0.04em; font-family: var(--font-serif);}
.suzunari-list + .btn-line { margin-top: 50px; }


/* suzunari single
---------------------------------------------------------------------------*/
body.suzunari-single .title-page strong {
	margin-bottom: 10px;
	letter-spacing: 0.14em;
}

body.suzunari-single .title-page em {
	margin-left: -4px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

#suzunariContents.single .sec-common.sec-relation { padding: 0 8%; }

/* .suzunari-other
------------------------------------*/
.suzunari-other { margin-top: 120px; }
.suzunari-other h2 { margin-bottom: 20px; font-size: 18px; letter-spacing: 0.1em; }


/* page shops
---------------------------------------------------------------------------*/
body.shops .img-main { margin-bottom: 55px !important; }
#shopsContents .sec-common { margin-bottom: 90px; }
#shopsContents .title-center { display: none; }

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

.shops-detail .inner {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border);
	padding: 20px 0 40px;
	line-height: 1.6;
}

.shops-detail .inner:last-of-type { padding-bottom: 10px; }

.shops-detail .inner h3 {
	box-sizing: border-box;
	width: 60px;
	min-width: 60px;
	padding: 1px 15px 0 0;
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.shops-detail .inner .txt { width: 100%; }
.shops-detail .inner-s { border-bottom: 1px solid var(--color-border); padding: 15px 0; }
.shops-detail .inner-s:first-child { padding-top: 2px; }
.shops-detail .inner-s:last-of-type { border-bottom: none; }
.shops-detail .inner-s a { display: block; }

.shops-detail .inner .txt h4 {
	position: relative;
	margin-bottom: 6px;
	padding-right: 30px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.shops-detail .inner .txt h4:after {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	right: 12px;
	background: url(img/share/ico-arrow-right-ss.svg) no-repeat center center;
	width: 8px;
	height: 12px;
}

.shops-detail .inner .txt h4 span { padding-left: 6px; }

.shops-detail .inner .txt p,
.shops-detail .inner .txt address {
	line-height: 1.65;
	letter-spacing: 0.06em !important;
}

.shops-list-wrap .shops-detail .inner .txt address {
	color: var(--color-font-light);
}

.shops-detail .inner .txt p.attention { padding-top: 2px; }
.shops-detail .inner .txt p + p.attention { margin-top: -14px; }
.shops-detail .inner .txt .attention-list { margin-top: 6px; }
.shops-detail .inner .txt dl { margin-top: 10px; }
.shops-detail .inner .txt dl:first-child { margin-top: 2px; }
.shops-detail .inner .txt dl:not(:last-child) { margin-bottom: 16px; }

.shops-detail .inner .txt dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 5px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.shops-detail .inner .txt dl > div:last-of-type { margin-bottom: 0; }

.shops-detail .inner .txt dt {
	width: 35px;
	min-width: 35px;
	padding-right: 10px;
}

.shops-detail + p {
	margin-top: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}


/* shops single
---------------------------------------------------------------------------*/
body.shops-single .title-center.narrow { display: block !important; }
body.shops-single .img-sub { margin-bottom: 25px !important; }
body.shops-single .contents.single:not(#hontenContents) .sec-lead { margin-bottom: 43px; }
body.shops-single .shops-detail { border-top: 1px solid var(--color-border); margin-top: 40px; }
body.shops-single .shops-detail .inner { padding: 14px 0; }
body.shops-single .shops-detail .inner h3 { min-width: 75px; transform: translateY(-1px); }
body.shops-single p + .btn-line { margin-top: 25px; }

/* .shops-list-chaho
------------------------------------*/
.shops-list-chaho { margin-top: 55px; }

.shops-list-chaho ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.shops-list-chaho li { width: 47%; margin-bottom: 25px; }
.shops-list-chaho li:nth-of-type(1) { width: 100%; margin-bottom: 35px; }

.shops-list-chaho figure { margin-bottom: 0 !important; }
body.en .shops-list-chaho figure { margin: 0 !important; }

.shops-list-chaho figcaption {
	margin-top: 14px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

body.en .shops-list-chaho ul + p { padding: 0; }

/* .shops-map
------------------------------------*/
.shops-map { margin-bottom: 80px; }
.shops-map .map { position: relative; overflow: hidden; width: 100%; height: 0; padding-bottom: 100%;	}
.shops-map .btn-line { margin-top: 30px; }

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

.shops-map .map,
.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
  filter: grayscale(100%);
}

/* .shops-news
------------------------------------*/
.shops-news { margin-bottom: 80px; }
.shops-news .btn-line { margin-top: 40px; }
.shops-news .btn-line:first-child { margin-top: -65px; }

/* .shops-list
------------------------------------*/
.shops-list { border-top: 1px solid var(--color-border); }
.shops-list li { border-bottom: 1px solid var(--color-border); }

.shops-list li a {
	display: block;
	padding: 21px 15px 21px 17px;
	font-size: 15px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.shops-list + .btn-line { margin: 50px auto 0; }


/* page recruit
---------------------------------------------------------------------------*/
#recruitContents.archive .title-page { margin-bottom: 35px; }
#recruitContents.single .title-page { margin-bottom: 45px; }
#recruitContents.single .title-page + .txt p { font-size: 15px; letter-spacing: 0.04em; }
#recruitContents.single .sec-common { margin-bottom: 45px; }

/* .recruit-list
------------------------------------*/
.recruit-list article:not(:last-of-type) { margin-bottom: 34px; }
.recruit-list .txt { padding: 22px 8px 0; }

.recruit-list h3 {
	margin-bottom: 5px;
	margin-left: -1px;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.recruit-list .category span,
.title-page .category span {
	display: inline-block;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.recruit-list .category span:last-of-type i,
.title-page .category span:last-of-type i { display: none; }


/* recruit single
---------------------------------------------------------------------------*/
#recruitContents.single .img-main { margin-bottom: 45px; }

/* .recruit-detail
------------------------------------*/
.recruit-detail { border-top: 1px solid var(--color-border); }
.recruit-detail .inner:first-of-type { display: none !important; }

.recruit-detail .inner {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border);
	padding: 18px 0 18px;
	line-height: 1.6;
}

.recruit-detail .inner h2 {
	box-sizing: border-box;
	width: 90px;
	min-width: 90px;
	padding: 3px 15px 0 0;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.recruit-detail .inner .txt { width: calc(100% - 90px); }

.recruit-detail .inner .txt h3 {
	margin: 16px 0 8px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.recruit-detail .inner .txt h3:first-child { margin-top: 3px; }

.recruit-detail .inner .txt .dot-list li {
	margin-bottom: 2px;
	padding-left: 13px;
	font-size: 13px;
}

.recruit-detail .inner .txt .dot-list li span { display: block; margin: 5px 0 7px -17px; }
.recruit-detail .inner .txt .dot-list li.indent span { margin: 0 0 12px; letter-spacing: 0.08em; }
.recruit-detail .inner .txt .attention-list { margin-top: 6px; }
.recruit-detail .inner .txt .dot-list + .attention-list { margin-top: 16px; }

.recruit-detail .inner .txt p:empty { margin: 0; }

/* .recruit-other
------------------------------------*/
.recruit-other { margin-top: 100px; }


/* page contact
---------------------------------------------------------------------------*/
#contactContents .title-page + .sec-lead { margin-top: -25px; margin-bottom: 100px; }
.form-wrap > h2 { position: relative; }

.form-wrap > h2 .attention {
	display: block;
	position: absolute;
	top: 3px;
	right: 0;
	font-size: 11px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

#contactContents .sec-lead p.attention { margin-top: -8px; }
#contactContents .sec-lead .inner p.mt { margin-top: 30px; }
#contactContents .sec-lead p + .btn-line { margin-top: 20px; }
#contactContents .sec-lead .dl-txt-horizontal { margin-top: 25px; }

/* .form-wrap
------------------------------------*/
.form-wrap dl > div:first-of-type dt { display: none; }
.form-wrap dl > div { margin-bottom: 24px; }
.form-wrap dl > div:first-of-type { margin-bottom: 35px; }
.form-wrap dl > div:last-of-type { margin-bottom: 0; }

.form-wrap div > dt {
	margin-bottom: 2px;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.form-wrap div > dt span {
	padding-left: 6px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.form-wrap div > dt i {
	display: inline-block;
	padding-left: 2px;
	transform: translateY(-3px);
}

.form-wrap .txt-s {
	font-size: 11px;
	color: #555555;
	margin-top: 6px;
	text-align: justify;
	letter-spacing: 0.04em;
	line-height: 1.95;
}

.form-wrap div > dd + p { display: none; }

.form-wrap .btn-select { width: 100%; display: block; position: relative; }
.form-wrap .btn-select .wpcf7-form-control-wrap { display: block; }

.form-wrap .btn-select .customSelect {
	display: block !important;
	position: relative;
	box-sizing: border-box;
	background: #FFFFFF;
	border: solid 1px var(--color-border-frame);
	border-radius: 0;
	width: 100%;
	height: 50px;
	margin-bottom: 0;
	padding: 12px 0 12px 18px;
	font-size: 12px;
	letter-spacing: 0.12em;
	pointer-events: none;
}

.form-wrap .btn-select .customSelect:after {
	position: absolute;
	background-image: url(img/share/ico-arrow-down-s.svg);
	background-size: 13px auto;
	content: '';
	display: block;
	right: 18px;
	top: calc(50% - 3px);
	width: 13px;
	height: 7px;
	pointer-events: none;
}

.form-wrap .btn-select .customSelect .customSelectInner { width: 100% !important; }
.form-wrap .hidden-fields-container { border: none; margin: 0; padding: 0; }

/* input
------------------------------------*/
.wpcf7-form-control-wrap { display: inline-block; }
.form-wrap input[type="checkbox"] { width: auto; margin-right: 8px; transform: translateY(4px); }
_::-webkit-full-page-media, _:future, :root .form-wrap input[type="checkbox"] { transform: translateY(0px); }

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea {
	-webkit-appearance: none;
	display: inline-block;
	box-sizing: border-box;
	background: #FFFFFF;
	border: solid 1px var(--color-border-frame);
	border-radius: 0;
	width: 100%;
	height: 41px;
	padding: 5px 15px;
	color: #000000;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.form-wrap textarea { height: 280px; padding: 16px 20px; line-height: 1.7; }
.wpcf7-display-none { display: none !important; }

/* privacy check
------------------------------------*/
.form-wrap .privacy-check { font-size: 13px; }
.form-wrap .privacy-check .wpcf7-not-valid-tip { margin: 10px 0 0; }
.form-wrap .privacy-check p { margin-top: 7px; font-size: 13px; letter-spacing: 0.1em; }
.check-wrap {	padding-left: calc(32% - 9px); margin: 15px 0 45px; }

.form-wrap .your-consent .wpcf7-list-item-label {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0.08em;
	transform: translate(11px,-2px);
	white-space: nowrap;
}

/* .btn-submit
------------------------------------*/
.submit-wrap {
	margin: 10px 0 0;
	font-size: 12px;
	letter-spacing: 0.04em;
}

.form-wrap .btn-submit {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 45px 0 0;
}

.form-wrap .btn-submit input {
	display: block;
	box-sizing: border-box;
	background: #3D3D3D;
	border: none;
	border-radius: 0;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 14px 0 14px;
	color: #FFFFFF;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.08em;
	appearance: none;
}

/* error
------------------------------------*/
.wpcf7-not-valid-tip,
.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	display: block;
	margin: 10px 0 0;
	padding: 0;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

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

.txt-response,
.wpcf7-response-output {
	display: inline-block;
	margin: 24px 0 0;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; }
body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; bottom: 74px !important; }


/* page privacy
---------------------------------------------------------------------------*/
#privacyContents .title-bracket { margin-bottom: 15px; font-size: 15px; }


/* page faq
---------------------------------------------------------------------------*/
#faqContents { text-align: center; }
#faqContents .title-page { margin-bottom: 20px; }
#faqContents .faq-list-wrap { text-align: left; }

/* .btn-select.anchor
------------------------------------*/
.btn-select.anchor {
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0 auto 60px;
}

#faqContents .btn-select.anchor { width: 86%; }

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

.btn-select.anchor .customSelect {
	display: block;
	box-sizing: border-box;
	width: 100%;
	color: #282828;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.1em;
}

.btn-select.anchor .customSelect .customSelectInner {
	display: block !important;
	box-sizing: border-box;
	background: url(img/share/ico-arrow-down-s.svg) no-repeat right 20px center;
	border: 1px solid var(--color-border-frame);
	width: 122% !important;
	margin: 0 -11%;
	padding: 20px 0 20px 20px;
	transform-origin: center center;
	transform: scale(0.8);
}

/* .faq-list-wrap
------------------------------------*/
.faq-list-wrap > div:not(:last-of-type) { margin-bottom: 45px; }
.faq-list-wrap h2 { margin-bottom: 10px; font-size: 14px; letter-spacing: 0.1em; }
.faq-list-wrap h2 i { padding-right: 4px; font-size: 13px; }
.faq-list-wrap .faq-list { border-top: none; }


/* page terms
---------------------------------------------------------------------------*/
#termsContents .dl-txt dt { font-size: 14px; }


/* page thismonth
---------------------------------------------------------------------------*/
body.thismonth .img-main { margin-bottom: 0; }

/* .month-lead
------------------------------------*/
.month-lead {
	margin-bottom: 25px;
	padding-top: 70px;
	text-align: center;
}

.month-title {
	position: relative;
	margin-bottom: 70px;
	height: 75px;
}

.month-lead h1 {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	font-size: 21px;
	letter-spacing: 0.2em;
	z-index: 1;	
}

body.thismonth-en .month-lead h1 {
	writing-mode: inherit;
}

.nav-arrow {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 100%;
	z-index: 0;
}

.nav-arrow a {
	display: block;
	width: 55px;
	height: 75px;
}

.nav-arrow a.prev { transform: scaleX(-1); }

.nav-arrow a i {
	display: block;
	background: url(img/share/ico-arrow-nav.svg) no-repeat center center;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.month-lead .attention {
	margin-top: 55px;
	font-size: 11px !important;
	opacity: 0.6;
}

/* .btn-modal-saijiki
------------------------------------*/
.btn-modal-saijiki { margin-top: 35px; text-align: center; }
.btn-modal-saijiki .inner { display: inline-block; }

.btn-modal-saijiki h2 {
	margin-bottom: 10px;
	font-size: 13px;
	letter-spacing: 0.14em;
}

.btn-modal-saijiki h3 {
	font-size: 15px;
	letter-spacing: 0.1em;
}

.btn-modal-saijiki h3 span { border-bottom: 1px solid var(--color-font); padding-bottom: 1px;}

/* .modal-saijiki
------------------------------------*/
.modal-saijiki {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	z-index: 10001;
	display: none;
	opacity: 0;
}

.modal-saijiki-inner {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.modal-saijiki-inner .inner {
	position: relative;
	overflow-y: scroll;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 185px 17px 40px;
	-webkit-overflow-scrolling: touch;
	text-align: left;
}

.modal-saijiki-inner .modal-close-btn {
	position: absolute;
	top: 0;
	left: 0;
	padding: 40px 34px;
}

.modal-saijiki-inner h2 {
	position: absolute;
	top: 26px;
	right: 32px;
	font-size: 16px;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.modal-saijiki-inner h3,
.modal-saijiki-inner h4 {
	margin-left: 30px;
}

.modal-saijiki-inner h3 {
	margin-bottom: 7px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.modal-saijiki-inner h4 {
	margin-bottom: 28px;
	font-size: 17px;
	letter-spacing: 0.1em;
}

.modal-saijiki-inner .txt { padding: 0 30px; }

.modal-saijiki-inner .txt > img:first-child,
.modal-saijiki-inner .txt p:first-of-type img {
	width: calc(100% + 40px);
	margin: 0 -20px 38px;
}

.modal-saijiki-inner .txt p {
	margin-bottom: 16px;
	font-size: 14px;
	text-align: justify;
}

.modal-saijiki-inner .btn-line { margin-top: 80px; }
.modal-saijiki-inner .btn-line + .btn-line { margin-top: 10px; }

/* .nav-month
------------------------------------*/
.nav-month { margin: 90px 0 0; }

.nav-month ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.nav-month li {
	width: calc(100% / 6);
	text-align: center;
}

.nav-month li a {
	display: block;
	padding: 20px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.nav-month li span {
	border-right: 1px solid #FFFFFF;
	padding-right: 2px;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.nav-month li.current span { border-color: var(--color-font); }

body.thismonth-en .nav-month ul {
	flex-direction: initial;
	margin: 0 -2px;
}

body.thismonth-en .nav-month li {
	width: calc(100% / 4);
}

body.thismonth-en .nav-month li.current {
	pointer-events: none !important;
}

body.thismonth-en .nav-month li.off {
	opacity: 0.2 !important;
	pointer-events: none !important;
}

body.thismonth-en .nav-month li a {
	padding: 13px 0;
	letter-spacing: 0.02em;
}

body.thismonth-en .nav-month li span {
	display: inline-block;
	border-right: none;
	border-bottom: 1px solid #FFFFFF;
	writing-mode: inherit;
	width: auto;
	padding-right: 0;
	font-size: 13px;
}

.nav-month li.current span { border-color: #666666 !important; }

/* .modal-item / .not-ec
------------------------------------*/
.post-item .modal-item-close { display: none; }
.post-item .modal-item-close.active { display: block; }
.modal-close-btn.modal-item-close { display: none !important; position: absolute; top: 0; right: 0; padding: 26px; z-index: 100; }
.modal-close-btn.modal-item-close img { width: 40px; }
.btn-line.modal-item-close { width: 84%; margin: 80px auto 60px; }
.post-item-inner.btm + .btn-line.modal-item-close { margin-top: 20px; }
.post-item.notsale .post-item-inner.btm + .btn-line.modal-item-close { margin-top: 60px; }

.item-list .not-ec .post-item .txt { margin-top: 30px; }
.item-list .not-ec .post-item .dl-line {
	border-top: 1px solid var(--color-border);
	padding-top: 16px;
}


/* page onlineshop
---------------------------------------------------------------------------*/
#onlineshopContents.archive .title-page { margin-bottom: 35px; }

#onlineshopContents .sec-common { margin-bottom: 120px; }
#onlineshopContents .sec-common.news-onlineshop { margin-bottom: 80px; }
#onlineshopContents .sec-common .btn-set { margin-top: 50px; }
#onlineshopContents .sec-common.btn-set { margin-top: 70px; }

#onlineshopContents .item-list-category h4 { display: none; }

#onlineshopContents.archive .title-page {
	margin-top: -35px;
	margin-bottom: 50px;
}

#setContents > .title-page,
#kashiContents > .title-page {
	overflow: hidden;
	height: 0;
	margin-bottom: 85px;
}

#onlineshopContents.archive .title-page strong,
#kashiContents > .title-page strong {
	font-size: 18px;
	letter-spacing: 0.12em;
	opacity: 0.8;
	padding-left: 2px;
	font-feature-settings: 'palt' 1!important;
}

#kashiContents > .title-page strong { font-size: 12px; }

/* .feature-main
------------------------------------*/
.feature-main { margin-bottom: 100px !important; }
.feature-main .bnr { position: relative; margin-bottom: 32px; }
.feature-main .bnr a { display: block; position: relative; }

.feature-main .bnr h2 {
	position: absolute;
	top: 25px;
	right: 24px;
	font-size: 25px;
	letter-spacing: 0.12em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.feature-main .bnr h2.white { color: #FFFFFF; }

.feature-main-txt {
	margin-bottom: 50px;
	color: var(--color-font-light);
	text-align: center;
}

.feature-main-txt h2 {
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.feature-main-txt h2 strong { padding-right: 6px; }
.feature-main-txt h2 span { font-size: 11px; }
.feature-main-txt p { font-size: 14px; line-height: 2.0; }

/* .onlineshop-top-item
------------------------------------*/
.onlineshop-top-item { text-align: center; }

.onlineshop-top-item > h2 {
	display: inline-block;
	margin-bottom: 38px;
	font-size: 26px;
	letter-spacing: 0.5em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

/* .feature-sub
------------------------------------*/
.feature-sub { margin-bottom: 60px; }
.feature-sub + .feature-sub { margin-top: -20px; }
.feature-sub a { display: block; }

/* .bnr-onlineshop-common
------------------------------------*/
.bnr-onlineshop-common { margin-bottom: 35px; }
.bnr-onlineshop-common figure { margin-bottom: 10px; }
.bnr-onlineshop-common h2 { font-size: 15px; }

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

.item-list article {
	position: relative;
	width: 45.4%;
	margin: 13% 9.2% 0 0;
	text-align: left;
}

.item-list-api article figure img,
.item-list-api article h3,
.item-list-api article .label,
.item-list-api article .price,
.item-list-api article p { opacity: 0; }

.item-list article:nth-of-type(1),
.item-list article:nth-of-type(2) { margin-top: 0 !important; }
.item-list article:nth-of-type(2n) { margin-right: 0 !important; }
.item-list article a { display: block; }
.item-list article > figure img.lazyload { height: 125%; }

.item-list article figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 149%;
}

.item-list article figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.item-list article h3 {
	margin: 16px 0 0;
	font-size: 15px;
	/* text-align: center; */
}

.item-list.relation article h3 {
	text-align: center;
	font-size: 14px;
}

.item-list article h3 em {
	display: block;
	font-size: 12px;
	min-height: 1;;
}

.item-list article h4 {
	margin-top: 6px;
	font-size: 12px;
	opacity: 0.6;
}

.item-list article .price { margin: 4px 0 0 !important; font-size: 15px !important; }
.item-list article .price span { font-size: 11px !important; }

.item-list .label,
.item-list-set .label {
	position: absolute;
	top: 0;
	left: -16px;
	font-size: 11px;
	letter-spacing: 0.06em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

body.thismonth-en .item-list .label {
	display: none !important;
}

.item-list .label-sold,
.item-list-set .label-sold,
.item-list .label-kikangai,
.item-list-set .label-kikangai { display: none; }

.item-list .sold:not(.kikangai) .label-sold,
.item-list .kikangai .label-kikangai,
.item-list-set .sold:not(.kikangai) .label-sold,
.item-list-set .kikangai .label-kikangai { display: block; }

/* .item-list.relation
------------------------------------*/
.sec-relation { margin-top: 55px; padding: 0; }
.sec-relation + .sec-relation { margin-top: 75px; }

.sec-relation > h2 { margin: 0 0 24px 0; font-size: 18px; }

.item-list.relation { padding: 0; }
.item-list.relation article .price { display: none; }

/* .item-list-set
------------------------------------*/
.item-list-set article { margin-bottom: 32px; }

.item-list-set article a {
	position: relative;
	display: -webkit-box;
	display: flex;
}

.item-list-set figure {
	position: relative;
	overflow: hidden;
	width: 143px;
	min-width: 143px;
	height: 0;
	padding-bottom: calc(143px * 1.49);
}

.item-list-set figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.item-list-set .txt { padding: 8px 0 0 25px; }

.item-list-set h3 {
	margin-bottom: 5px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.item-list-set .price {
	font-size: 13px;
	letter-spacing: 0.03em;
}

.item-list-set .price span {
	padding-left: 3px;
	font-size: 10px;
	letter-spacing: 0.06em;
}

.item-list-set .txt p {
	margin-top: 17px;
	font-size: 12px;
	line-height: 1.7;
}

/* .item-list-category
------------------------------------*/
.item-list-category { padding: 0; }

.feature-sub h3,
.item-list-category article h3 {
	margin-top: 16px;
	font-size: 14px;
	text-align: center;
}

.item-list-category article h4 {
	margin: 6px 0 0 1px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	opacity: 0.6;
}

/* .item-list-month
------------------------------------*/
.item-list-month article { margin-top: 8%; }

.item-list-month article h3 {
	margin-top: 14px;
	font-size: 14px;
	text-align: center;
}

/* .item-list-catalog
------------------------------------*/
.item-list-catalog {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	margin-top: 60px;
	transform: translateX(-2px);
}

.item-list-catalog article {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	box-sizing: border-box;
	width: 50%;
	margin-bottom: 32px;
}

.item-list-catalog article:nth-child(odd) { width: calc(50% + 15px); padding-right: 20px; }
.item-list-catalog article:nth-child(even) { width: calc(50% - 15px); padding-right: 0; }

.item-list-catalog figure {
	position: relative;
	overflow: hidden;
	width: 66px;
	min-width: 66px;
	height: 0;
	margin-right: 10px;
	padding-bottom: calc(66px * 1.49);
}

.item-list-catalog figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.item-list-catalog h3 {
	margin-bottom: 4px;
	font-size: 13px;
}

.item-list-catalog h4 {
	margin-bottom: -2px;
	font-size: 12px;
	letter-spacing: 0.03em;
	color: #888;

}

.item-list-catalog h4 i { padding-right: 1px; }
.item-list-catalog h4 i:last-of-type { display: none; }

/* .item-bnr
------------------------------------*/
.item-bnr { width: 85.4%; margin: 0 auto 75px; }
.item-bnr a { display: block; }
.item-bnr figure { margin-bottom: 25px; }
.item-bnr h3 { margin-bottom: 12px; font-size: 18px; }
.item-bnr p { font-size: 13px; }
.item-bnr .btn-line { display: block !important; margin-top: 25px; }

/* .txt-box-line
------------------------------------*/
.txt-box-line .inner {
	border: 1px solid var(--color-border-frame);
	padding: 30px 25px;
}

.txt-box-line .inner h2 {
	margin-bottom: 10px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.txt-box-line .inner p,
.txt-box-line .inner address {
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.txt-box-line .inner address { margin-top: 15px; }
.txt-box-line .btn-line { margin-top: 30px; }


/* page onlineshop category
---------------------------------------------------------------------------*/
#onlineshopContents.category .img-main { display: none !important; margin-bottom: 60px; }
#onlineshopContents.category .title-page + .sec-lead { margin-top: -50px; margin-bottom: 80px; }
#onlineshopContents.category .btn-line { margin-top: 60px; }


/* page order / oiwai,chouji,osonae
---------------------------------------------------------------------------*/
body.order-item .post-item .txt p { white-space: nowrap; }

/* .post-item-s
------------------------------------*/
.dl-line + .post-item-s { margin-top: 65px; }
.post-item-s + .order-kakegami { margin-top: 130px; }
.post-item-s { margin-bottom: 40px; text-align: left; }
.post-item-s figure { margin-bottom: 26px; }
.post-item-s .post-item-title { margin: 0; }
.post-item-s .post-item-title h2 { font-size: 17px; }
.post-item-s .post-item-title .price { margin-top: 4px; }
.post-item-s .post-item-title h2 strong { padding-right: 8px; color: var(--color-red); font-size: 15px; }
.post-item-s .post-item-title h2 ruby > rt { transform: translateY(-4px); }

.post-item .post-item-s .txt { margin-top: 12px; }
.post-item .post-item-s .txt p { font-size: 14px; white-space: inherit !important; }

.post-item .post-item-s .dl-line {
	border-top: 1px solid var(--color-border);
	margin-top: 22px;
}

.post-item .post-item-s .dl-line > div {
	margin-bottom: 0;
	padding-top: 11px;
	padding-bottom: 10px;
}

/* .order-kakegami
------------------------------------*/
.order-kakegami { margin-top: 65px; }
.order-kakegami figure { margin-bottom: 20px; }
.order-kakegami p { text-align: justify; }
.order-kakegami .btn-line { margin-top: 25px; }

/* .order-info
------------------------------------*/
.order-info { margin-top: 80px; }

.order-info .inner {
	box-sizing: border-box;
	border: 1px solid var(--color-border-frame);
	padding: 35px 26px 35px;
	text-align: left;
}

.order-info .inner h2 {
	margin-bottom: 30px;
	font-size: 18px;
	line-height: 1.6;
}

.order-info .inner h3 {
	margin-top: 24px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.6;
}

.order-info .inner dl + h3 {
	margin-top: 34px;
}

.order-info .inner p {
	margin-bottom: 7px;
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.06em;
	text-align: justify;
}

.order-info .inner h2 + p.attention { margin-top: -20px; margin-bottom: 30px; }

.order-info .inner dl { margin-top: 24px; font-size: 13px; }
.order-info .inner dl > div { margin-bottom: 15px; }
.order-info .inner dl > div:has(dd) { margin-bottom: 18px; }
.order-info .inner dl > div:last-of-type { margin-bottom: 0; }
.order-info .inner dt { margin-bottom: 8px; letter-spacing: 0.04em; }
.order-info .inner dd { letter-spacing: 0; }

.order-info .btn-line { margin-top: 30px; }
.order-info + .btn-line { margin-top: 25px !important; }


/* page original
---------------------------------------------------------------------------*/
#originalContents { padding: 0 7.3%; }
#originalContents .title-page { margin-bottom: 20px; }
#originalContents .sec-lead.center { text-align: center; white-space: nowrap; }
#originalContents .sec-lead p { font-size: 14px; line-height: 2; letter-spacing: 0.06em; }
#originalContents .sec-lead:not(.center) p { text-align: justify; }
#originalContents .img-original { margin: 45px 0 30px; }
#originalContents .img-original figure { margin-bottom: 20px; }


/* page onlineshop single
---------------------------------------------------------------------------*/
.post-item { position: relative; }

.post-item .item-detail,
.post-item .faq-list,
.post-item .post-relation,
.post-item .bnr-wrap,
.post-item .item-kakegami { margin-top: 90px; }

.post-item .bnr-nav,
#kashiContents .bnr-wrap { margin-top: 120px; }

/* .slider-item
------------------------------------*/
.slider-item { overflow: hidden; }

.slider-item .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	overflow: hidden;
	width: 100%;
	height: 0;
	margin: 0 !important;
	padding-bottom: calc(85.4vw * 1.49) !important;
}

.slider-item .inner:first-of-type { position: relative !important; }

.slider-item .inner img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* .slider-item-nav
------------------------------------*/
.slider-item-nav { overflow: hidden; }

.slider-item-nav .slick-track {
	display: -webkit-box !important;
	display: flex !important;
}

.slider-item-nav.noslide .slick-track { transform: translate3d(0, 0, 0) !important; }

.slider-item-nav .img-inner {
	position: relative;
	display: block !important;
	overflow: hidden;
	float: none !important;
	height: 0;
	margin: 0 !important;
	padding-bottom: calc(85.4vw / 4 * 1.49);
	transform: none !important;
	opacity: 1 !important;
}

.slider-item-nav .img-inner.noimg { pointer-events: none; }

.slider-item-nav .img-inner.noimg:not(:last-child):after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: var(--color-border-frame);
	width: 1px;
	height: 100%;
}

.slider-item-nav .img-inner img {
	display: block !important;
	position: absolute;
	top: 0;
	left: 0;
	transform: none !important;
	object-fit: cover;
	width: 100%;
	height: 100%;
	opacity: 1 !important;
}

/* .post-item
------------------------------------*/
.post-item-inner {
	padding: 60px 8% 0;
	text-align: center;
}

.post-item-title {
	position: relative;
	margin: 0 -8vw;
}

.post-item-title .nav-arrow { display: none; }
.post-item-title .nav-arrow.active { display: -webkit-box; display: flex; }

.post-item-title .nav-arrow.active + h1,
.post-item-title .nav-arrow.active + h1 + .price {
	width: calc(100% - 110px);
	margin-right: auto;
	margin-left: auto;
}

.post-item-title h1,
.post-item-title .price {
	position: relative;
	z-index: 1;
}

.post-item-title h1 {
	font-size: 22px;
	letter-spacing: 0.1em;
}

.post-item-title h1 i {
	display: block;
	margin-bottom: 2px;
	font-size: 11px;
	letter-spacing: 0.14em;
}

.post-item-title .price,
.item-list article .price {
	margin-top: 4px!important;
	font-size: 17px;
	letter-spacing: 0.03em;
}

.post-item-title .price strong,
.item-list article .price strong {
	padding-left: 1px;
	font-family: var(--font-serif);
	font-size: 17px;
	letter-spacing: 0.04em;
}

.post-item-title .price span,
.item-list article .price span {
	padding-left: 2px;
	font-size: 12px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.post-item .txt { margin-top: 35px; text-align: left; letter-spacing: 0.04em;}
.post-item h1 + .txt { margin-top: 30px; }

.post-item .txt p {
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 2;
}

.post-item-inner .strage {
	margin: 14px 0 0;
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: center;
}

.post-item-inner > .btn-line { margin-top: 45px; }
.post-item-inner + .post-item-inner.btm { margin-top: -40px; }
.post-item-inner.btm > .btn-line { margin-top: 20px; }
.post-item-inner.btm > .btn-line:first-of-type { margin-top: 0; }
.post-item-inner .btn-oiwai-index, .post-item-inner .btn-chouji-index, .post-item-inner .btn-osonae-index { display: none; }

/* .cart-wrap
------------------------------------*/
.cart-wrap {
	position: relative;
	margin-top: 65px;
	text-align: left;
}

.cart-wrap.sold { margin-top: 55px; }

.cart-wrap > p,
.cart-wrap form p { font-size: 12px; letter-spacing: 0.04em; }
.cart-wrap form p { font-size: 14px; white-space: nowrap; }

.dl-cart {
	margin: 15px 0 30px;
	text-align: left;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.dl-cart + .dl-cart.border {
	border-top: 1px solid var(--color-border);
	margin-top: -10px;
	margin-bottom: 35px;
	padding-top: 20px;
}

.dl-cart > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 13px;
}
.dl-cart > div:last-of-type { margin-bottom: 0; }

.cart-wrap .price,
.dl-cart dt {
	box-sizing: border-box;
	/*align-self: center;*/
	width: 105px;
	min-width: 105px;
	padding-top: 14px;
	padding-right: 10px;
}

.dl-cart dt.size-s { padding-top: 5px; padding-right: 20px; }

.dl-cart .description {
	margin: 10px 0 5px;
	font-size: 12px;
	line-height: 1.85;
	letter-spacing: 0.04em;
	text-align: justify;
}

.dl-cart .description dt:first-child:last-child { padding-left: 100px; }

.dl-cart dd {
	position: relative;
	overflow: hidden;
	width: calc(100% - 70px);
	min-height: 42px;
}

.dl-cart dd.border,
.dl-cart dd .border { border: 1px solid #DBDBDB; }
.dl-cart dd > div { position: relative; }

.dl-cart dd input {
	-webkit-appearance: none;
	box-sizing: border-box;
	border: none;
	border-radius: 0;
	width: 120%;
	height: 42px;
	font-size: 16px !important;
	padding: 4px 0 4px 14px !important;
	transform-origin: left center;
	transform: scale(0.75);
}

/* .dl-cart-option
------------------------------------*/
.dl-cart-option-wrap {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	margin: 15px 0 0;
	padding-bottom: 1px;
}

.dl-cart-option {
	position: absolute;
	top: 40px;
	left: 0;
	width: 100%;
	margin: 0;
}

.dl-cart-option-txt,
.dl-cart-option > div { display: none; }
.dl-cart-option > div.active { display: -webkit-box; display: flex; }

/* .cart-num
------------------------------------*/
.dl-cart dd.border.num { width: 75px; }

.cart-num select,
.dl-cart dd select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.cart-num .customSelect,
.dl-cart dd .customSelect {
	display: block;
	box-sizing: border-box;
	background: url(img/share/ico-arrow-down-s.svg) no-repeat right 14px center;
	background-size: 13px auto;
	border: 1px solid #DBDBDB;
	width: 100%;
	padding: 15px 16px;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.1em;
}

.dl-cart dd .customSelect { padding: 10px 12px; }

.cart-num .customSelect .customSelectInner,
.dl-cart dd .customSelect .customSelectInner { box-sizing: border-box; width: 110% !important; }
.dl-cart dd .customSelect .customSelectInner { transform-origin: left center; transform: scale(0.8); }

.btn-cart {
	display: block;
	-webkit-appearance: none;
	box-sizing: border-box;
	background-color: #000000;
	border: none;
	border-radius: 0;
	width: 100%;
	margin-top: 5px;
	padding: 22px 0;
	color: #FFFFFF;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.btn-cart.sold { background-color: rgba(0,0,0,0.2); pointer-events: none !important; }

.cart-wrap .btn-cart.sold.kikangai {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #CCCCCC;
	z-index: 10;
	transition: .15s ease-out;
	opacity: 0;
	pointer-events: none !important;
}

.cart-wrap.kikangai .btn-cart { pointer-events: none !important; }
.cart-wrap.kikangai .btn-cart.sold.kikangai { opacity: 1; }

.cart-wrap.kikangai .dl-cart-option-wrap {
	opacity: 0.3;
	pointer-events: none;
}


/* .btn-question
------------------------------------*/
.btn-question {
	display: inline-block;
	width: 19px;
	height: 19px;
	font-size: 0;
	transform: translateY(4px);
}

.btn-question img { width: 100%; height: auto; }

/* .ico-required
------------------------------------*/
.ico-required {
	display: inline-block;
	box-sizing: border-box;
	background-color: var(--color-font);
	border-radius: 2px;
	height: 18px;
	margin-left: 2px;
	padding: 4px 4px 2px 4px;
	color: #FFFFFF;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.04em;
	white-space: nowrap;
	transform: translateY(-2px);
}

/* .cart-nav
------------------------------------*/
.cart-nav { margin-top: 40px; text-align: left; }
.cart-nav li { display: block; margin-bottom: 14px; }
.cart-nav li:last-of-type { margin-bottom: 0; }

.cart-nav li a {
	display: inline-block;
	padding: 0 0 2px;
	font-size: 13px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.cart-nav li a:after {
	background: var(--color-border-btn);
	left: 18px;
	width: calc(100% - 18px);
}

/* .attention-item
------------------------------------*/
.attention-item { margin-top: 20px; }

.attention-item li {
	position: relative;
	margin-bottom: 6px;
	padding-left: 14px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.04em;
	text-align: justify;
}
.attention-item li:last-of-type { margin-bottom: 0; }

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

/* .post-item .dl-line
------------------------------------*/
.post-item .dl-line {
	margin: 60px 0 0;
	text-align: left;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.post-item .dl-line > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 16px;
	padding: 0 0 8px;
}
.post-item .dl-line > div:last-of-type { margin-bottom: 0; }

.post-item .dl-line dt {
	width: 105px;
	min-width: 105px;
	padding-right: 15px;
}
.post-item .dl-line.dt-s dt { width: 70px; min-width: 70px; }
.post-item .dl-line dd span:last-of-type i { display: none; }
.post-item .dl-line dd .size-s { font-size: 12px; }

/* .item-detail
------------------------------------*/
.item-detail .inner { margin-bottom: 45px; text-align: left; }
.item-detail .inner:last-of-type { margin-bottom: 0; }
.item-detail .inner figure { margin-bottom: 15px; }
.item-detail .inner p { text-align: justify; }

/* .post-relation
------------------------------------*/
.post-relation > h2 {
	margin-bottom: 35px;
	padding: 0 7.3%;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-align: center;
}

.post-relation > .btn-line {
	width: 84%;
	margin: 50px auto 0;
}

/* .bnr-wrap
------------------------------------*/
.bnr-wrap { padding: 0 8%; }

/* .item-kakegami
------------------------------------*/
.item-kakegami {
	text-align: left;
}

.item-kakegami a {
	display: -webkit-box !important;
	display: flex !important;
	-webkit-box-align: center;
	align-items: center;
}

.item-kakegami figure {
	border: 1px solid var(--color-border);
	width: 84px;
	min-width: 84px;
}

.item-kakegami .txt {
	margin: 0;
	padding: 0 0 0 20px;
}

.item-kakegami h2 {
	margin-bottom: 6px;
	font-size: 11px;
	letter-spacing: 0.08em;
}

.item-kakegami h3 {
	font-size: 15px;
	letter-spacing: 0.08em;
}

/* .wrap-modal
------------------------------------*/
.post-item.notsale .btn-kakegami,
.post-item.notsale .post-item-inner.btm {
	display: none;
}


/* page guide
---------------------------------------------------------------------------*/
#guideContents .sec-common .title-page {
	margin-bottom: 28px;
	margin-left: -1px;
	text-align: left;
}

/* .pnav-guide
------------------------------------*/
.pnav-guide { margin-bottom: 100px; }
.pnav-guide li { margin-bottom: 6px; }

.pnav-guide li a {
	display: inline-block;
	padding: 5px 10px 10px 0;
	font-size: 13px;
	text-decoration: underline;
}

/* .sec-guide
------------------------------------*/
.sec-guide { margin: -40px 0 160px; padding-top: 40px; }
.sec-guide:last-child { margin-bottom: 0; }

.sec-guide h2 {
	margin-bottom: 60px;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.sec-guide h3 {
	margin: 60px 0 18px -2px;
	font-size: 15px;
	line-height: 1.6;
}

.sec-guide h3.ms {
	margin-top: 40px !important;
	margin-bottom: 15px;
}

.sec-guide h3.mt {
	margin-top: -30px;
	margin-bottom: 15px;
	padding-top: 60px;
}

.sec-guide h4 {
	margin: 25px 0 5px;
	font-size: 14px;
	line-height: 1.6;
}

.sec-guide p {
	line-height: 1.85;
	letter-spacing: 0.06em;
	text-align: justify;
}

.sec-guide p.ml { margin-left: 20px; }

.sec-guide dl { margin-top: 16px; }

.sec-guide dl,
.sec-guide dl p {
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.sec-guide dl > div { margin-bottom: 18px; }

.sec-guide dt {
	position: relative;
	margin-bottom: 6px;
	padding: 0 0 0 20px;
}

.sec-guide dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 0;
	background-color: var(--color-font);
	width: 13px;
	height: 1px;
}

.sec-guide dd {
	padding: 0 0 0 20px;
	text-align: justify;
}

.sec-guide table { width: 100%; margin: 35px 0 0; }
.sec-guide table tr { border-bottom: 1px solid var(--color-border-frame); }
.sec-guide table th { padding: 0 5px 7px; font-size: 11px; white-space: nowrap; }
.sec-guide table th:last-of-type { padding-right: 3px; text-align: right; }

.sec-guide table td {
	padding: 15px 5px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.sec-guide table td span {
	display: block;
	margin-top: 10px;
	font-size: 11px;
}

.sec-guide table td:last-of-type {
	text-align: right;
	letter-spacing: 0;
	white-space: nowrap;
}

.sec-guide .attention-list { margin-top: 20px; }
.sec-guide p + .attention-list { margin-top: 15px; }

.sec-guide .attention-list li {
	margin-bottom: 4px;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.sec-guide .attention-list.mb li { margin-bottom: 10px; line-height: 1.85; }

.sec-guide .box {
	display: inline-block;
	box-sizing: border-box;
	background-color: var(--color-bg-gray-dark);
	padding: 16px 22px 14px 22px;
}

.sec-guide .box.size-l {
	display: block;
	background: none;
	border: 1px solid var(--color-border-frame);
	margin-top: 24px;
	padding: 32px 26px 22px 26px;
}

.sec-guide ul + .box { margin-top: 30px; }
.sec-guide .box.mb { margin-bottom: 22px; }
.sec-guide .box h4 { margin: 0 0 14px; font-size: 15px; letter-spacing: 0.08em; }
.sec-guide .box p { letter-spacing: 0.04em; text-align: justify; }
.sec-guide .box.size-l p { margin-bottom: 12px; }
.sec-guide .box.size-l p strong { color: var(--color-red); }
.sec-guide .box p.let { letter-spacing: 0.02em; }

/* #sec-gift
------------------------------------*/
#sec-gift.sec-guide h3 { margin-top: 70px; }

#sec-gift.sec-guide h3#sec-kakegami {
	margin-top: 35px;
	padding-top: 45px;
}

#sec-gift.sec-guide h4 {
	margin-top: 60px;
	margin-bottom: 17px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

/* .noshi-list
------------------------------------*/
.noshi-list-main { margin-top: 30px; margin-bottom: 75px; }
.noshi-list-main li { margin-bottom: 40px; }
.noshi-list-main li h5 { margin-top: 10px; font-size: 14px; }
.noshi-list + .noshi-list { margin-top: 30px; }

.noshi-list li {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
}

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

.noshi-list li figure { width: 100px; min-width: 100px; }
.noshi-list li > div { padding: 0 0 0 20px; }

.noshi-list li h5 {
	margin-bottom: 6px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.noshi-list li h5 span {
	padding-left: 4px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.noshi-list li p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.noshi-list + p.attention { margin-top: 15px; }

/* .kakegami-list
------------------------------------*/
.kakegami-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 40px;
}

.kakegami-list li { width: 47%; margin-bottom: 30px; }
.kakegami-list li > div { margin-top: 11px; }

.kakegami-list li h4 {
	margin: 0 !important;
	font-size: 13px !important;
}

.kakegami-list li h4 span {
	padding-left: 4px;
	font-size: 11px;
	letter-spacing: 0.08em;
}

.kakegami-list li h5 {
	margin: 1px 2px 0 0 !important;
	font-size: 11px;
	white-space: nowrap;
}

/* #sec-kasane-kakegami
------------------------------------*/
#sec-kasane-kakegami {
	position: relative;
	margin-top: 35px;
	padding-top: 45px;
}

#sec-gift.sec-guide #sec-kasane-kakegami h3 { margin-top: 0; }

.kasane-kakegami-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

.kasane-kakegami-list li { width: 47%; margin-bottom: 25px; }

#sec-gift.sec-guide .kasane-kakegami-list li h4 {
	margin: 11px 0 0;
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.noshiawabi {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	margin: 15px 0 0 5px;
}

.noshiawabi figure {
	width: 24px;
	margin-right: 24px;
}

.noshiawabi p {
	font-size: 13px;
	line-height: 1.55;
	transform: translateY(-30px);
}

#sec-kasane-kakegami .attention {
	margin: 0 0 0 53px;
	padding-top: 0;
	font-size: 13px !important;
	transform: translateY(-26px);
}


/* error 404
---------------------------------------------------------------------------*/
#errorContents { padding: 15vh 9% 60px; }
#errorContents h1 { margin-bottom: 24px; font-size: 18px; letter-spacing: 0.1em; text-align: center; }
#errorContents p { letter-spacing: 0.06em; text-align: justify; }
#errorContents p br { display: none; }


/* page en
---------------------------------------------------------------------------*/
body.thismonth-en #mainContents > .contents { padding-top: 60px; }
.en.onlineshop-single #mainContents > .contents { padding-top: 0; }
#mainContents .en { font-family: var(--font-serif); }
.en #mainContents { font-family: var(--font-serif); }
.en h1, .en h2, .en h3, .en h4, .en h5, .en h6, .en strong { letter-spacing: 0.02em; }
body.en .btn-line a, .en .btn-line a, .btn-line.en a { padding-top: 16px; padding-bottom: 14px; letter-spacing: 0.04em; }

.en .img-main { margin-bottom: 55px; }
.en #main-shopContents .img-main { margin-bottom: 70px; }
.en .img-sub { margin-bottom: 55px; }
.en .sec-common { margin-bottom: 80px; }
.en .sec-lead { margin-bottom: 65px; }

.en .title-page strong,
.en .title-center,
.en .title-center strong {
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.en .sec-common h1,
.en .sec-common h2,
.en .sec-common p { padding: 0 4px; }

.en .sec-lead h1 strong { letter-spacing: 0.02em; }

.en .title-left { margin-bottom: 20px; font-size: 20px; }
.en .en-mainshop .title-left { margin-bottom: 15px; }

.en .title-page + .sec-lead { margin-top: -48px; }

.en .sec-common p,
.en-location .office address {
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 1.55;
	letter-spacing: 0;
	text-align: left;
}

.en .sec-common p + p.attention {
	margin-top: 12px;
	line-height: 1.6;
	letter-spacing: 0 !important;
}

#enContents figure { margin: 0 0 50px; }
#enContents .sec-common figure { margin-bottom: 40px; padding: 0; }
#enContents figure + .sec-common { margin-top: -18px; }
#enContents figure img + img { display: block; margin-top: 1px; }
#enContents .sec-common .btn-line { margin-top: 30px; margin-right: -5px; margin-left: -5px; }

/* .en-location
------------------------------------*/
.en-location h2 { margin: 0 0 35px 10px !important; }

.en .en-location figure { margin-bottom: 50px; }
.en-location dl { padding: 0 0 0 15px; }
.en-location dl > div:not(:last-of-type) { margin-bottom: 65px; }
.en-location dt { margin-bottom: 28px; }
.en-location dt h3 { font-size: 14px; letter-spacing: 0.04em; }
.en-location dd { padding: 0 0 0 20px; }

.en-location dd h4 {
	margin: 27px 0 14px;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.en-location dd h4:first-of-type { margin-top: 0; }
.en-location dd h4 a { display: inline-block; line-height: 0.9; }

.en-location dd address {
	color: var(--color-font-light);
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.en .en-location .btn-line { margin-top: 80px; }

/* .en-location .office
------------------------------------*/
.en-location .office {
	border-top: 1px solid var(--color-border-section);
	margin-top: 55px;
	padding: 50px 0 0 5px;
}

.en-location .office h3 { margin-bottom: 20px; font-size: 16px; }
.en-location .office .txt { padding: 0 0 0 20px; }
.en-location .office address { display: block; }

/* .en-store-detail
------------------------------------*/
.en-store-detail {
	border-top: 1px solid var(--color-border);
	margin-top: 80px;
	padding-top: 35px;
}

.en-store-detail .inner { margin-bottom: 20px; }
.en-store-detail h3 { margin: 0 0 10px 10px; font-size: 15px; }
.en-store-detail .txt { padding: 0 0 0 25px; }

.en-store-detail .txt p,
.en-store-detail .txt p a,
.en-store-detail .txt address,
.en-store-detail .txt dl,
body.en .shops-list-chaho ul + p {
	color: var(--color-font-light);
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0;
}

.en-store-detail .txt p a { padding-bottom: 0; line-height: 1; }
.en-store-detail .txt p a:after { background-color: var(--color-font-light); }
.en-store-detail .txt p.attention { font-size: 13px; letter-spacing: 0.02em !important; }

.en-store-detail .txt dl { margin-bottom: 6px; }
.en-store-detail .txt p + dl {margin-top: 18px; }

.en-store-detail .txt dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 2px;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.en-store-detail .txt dl > div:last-of-type { margin-bottom: 0; }
.en-store-detail .txt dt { width: 50px; min-width: 50px; padding-right: 10px; }
.en-store-detail .inner + p { margin-top: 35px; }

/* .en .saho
------------------------------------*/
body.en .post-item-title .price span {
	letter-spacing: 0.04em;
}

.en .sec-common.saho .title-center {
	display: block !important;
	margin-bottom: 20px;
	text-align: center;
}

.en .sec-common.saho .title-center i {
	font-style: italic;
	letter-spacing: 0;
}

/* .en online-shop
------------------------------------*/
body.en .month-lead {
	padding-top: 10px;
}

body.en .month-title {
	height: auto;
	margin-bottom: 85px;
}

body.en .month-lead .attention {
	font-size: 13px !important;
	letter-spacing: 0.01em !important;
	text-align: left;
}

body.en .item-list article h3 {
	margin-top: 14px;
	letter-spacing: 0.03em;
	font-size: 15px;
	text-align: left;
}

body.en .item-list-month article h3 {
	font-size: 14px;
	letter-spacing: 0.02em;
}

body.en .attention-item li {
	margin-bottom: 7px;
	line-height: 1.45;
	letter-spacing: 0.03em;
	text-align: left;
	font-size: 14px;
}

body.en .item-detail .inner p {
	line-height: 1.55;
	letter-spacing: 0.04em;
	font-size: 15px;
	text-align: left;
}

body.en .post-relation > h2 {
	font-size: 20px;
	letter-spacing: 0.02em;
}

body.en .item-detail .inner figure {
	margin-bottom: 22px;
}

body.en .item-list article .price strong {
	font-size: 15px;
}

body.en .item-list article .loading-post {
	display: none !important;
}

body.en #onlineshopContents .post-item .txt p {
	margin-bottom: 16px;
	line-height: 1.65;
	letter-spacing: 0;
	font-size: 16px;
}

body.en #onlineshopContents .post-item .dl-line {
	line-height: 1.3;
	letter-spacing: 0;
}

body.en #onlineshopContents .post-item .dl-line > div {
	margin-bottom: 11px;
}

body.en #onlineshopContents .post-item .dl-line dt {
	width: 80px;
	min-width: 80px;
}

body.en #onlineshopContents .post-item .attention-item {
	margin-top: 25px;
}