@charset "utf-8";
/*
Theme Name: nishimura-orimono4
Theme URI: https://nishimura-orimono.jp/
Version: 4
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-gray: #5B5B5B;
	--color-light-gray: #777777;
	--color-black: #332F27;
	--color-white: #C7C7C7;
	--color-white-thin: rgba(228,228,228,0.5);
	--color-gold: #B4997A;
	--color-bg-white: #F9F9F8;
	--color-bg-navy: #070C1E;
	--color-bg-light-gray: #F3F3F2;
	--color-border-gray: #C0C0C0;
	--color-border-light-gray: #DDDDDD;
	--color-border-black: #797A79;
	--color-btn-navy: #2E2E3E;
	--font-min: '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-l: 'FOT-筑紫Aオールド明朝 Pr6 L', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-m: 'FOT-筑紫Aオールド明朝 Pr6 M', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-r: 'FOT-筑紫Aオールド明朝 Pr6 R', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-d: 'FOT-筑紫Aオールド明朝 Pr6 D', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-gothic: 'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif: 'AGaramondPro-Regular','FOT-筑紫Aオールド明朝 Pr6 R', serif;
	--font-sans: 'Roboto', sans-serif;
}

body {
	overflow-y: scroll;
	background-color: var(--color-bg-white);
	color: var(--color-gray);
	font-size: 14px;
	font-family: var(--font-min-m);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none !important;
	-webkit-tap-highlight-color: transparent;
}
body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: #E6E6E6; color: var(--color-black); }
::selection { background: #E6E6E6; color: var(--color-black); }

h1,h2,h3,h4,h5,h6 { color: var(--color-black); }
p { font-size: 14px; line-height: 1.95; letter-spacing: 0.08em; margin-bottom: 14px; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
figure img { width: 100%; }
.nowrap { white-space: nowrap; }

.block { display: inline-block !important; }
.wide { display: none !important; }
.narrow { display: inline-block !important; }
.narrow.block { display: block !important; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid var(--color-black);
	border-top-color: transparent;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	z-index: 99999;
	animation: spin .4s infinite linear;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* bg
------------------------------------*/
.bg-gradation { background: linear-gradient(209.78deg, #14131F 15.35%, #1D233F 30.63%, #141524 81.85%); }

.bg-pattern {
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png) repeat left top;
	background-size: 200px auto;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.8;
	pointer-events: none;
}

/* link
------------------------------------*/
a { color: var(--color-gray); text-decoration: none; -webkit-transform: translateZ(0); }

.line { display: inline-block; position: relative; padding-bottom: 1px; line-height: 1; }
.line:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-gray);
	width: 100%;
	height: 1px;
}

.ico-blank {
	display: inline-block;
	margin-left: 6px;
	transform: translateY(1px);
}

/* .btn
------------------------------------*/
.btn-link a {
	display: inline-block;
	background: var(--color-btn-navy);
	padding: 10px 20px 11px 20px;
	color: #FFFFFF;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.btn-link.size-l a {
	display: block;
	text-align: center;
}

.btn-line a {
	display: block;
	border: 1px solid #BBBBBB;
	padding: 14px 20px 15px 20px;
	color: var(--color-black);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: center;
}

.btn-line.size-l { width: 100%; }

.btn-line.size-l a {
	display: block;
	padding: 12px 15px 13px 15px;
	font-size: 14px;
	letter-spacing: 0.12em;
	text-align: center;
}

.btn-arrow a {
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.06em;
}

.btn-arrow a i {
	display: inline-block;
	background: url(img/share/ico-arrow-btn.svg) no-repeat;
	width: 18px;
	height: 18px;
	margin-right: 11px;
	transform: translateY(5px);
}

.btn-arrow span { padding-bottom: 4px; }
.btn-arrow span:after { opacity: 0.5; }

/* .btn-nav
------------------------------------*/
.btn-nav,
.btn-nav-close-common {
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	width: 100px;
	height: 75px;
	text-align: center;
	z-index: 10000;
}

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

.btn-nav div,
.btn-nav-close-common div {
	display: inline-block;
	position: relative;
	width: 43px;
	height: 9px;
	margin: 33px 0 0;
}

.btn-nav span,
.btn-nav-close-common span {
	position: absolute;
	left: 0;
	background-color: var(--color-gray);
	width: 100%;
	height: 1px;
	-webkit-transform: translateZ(0);
}

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

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span,
.btn-nav-close-common span { background-color: var(--color-white); }
.btn-nav.active span:nth-of-type(1),
.btn-nav-close-common span:nth-of-type(1) { transform: translateY(4px) rotate(-15deg); }
.btn-nav.active span:nth-of-type(2),
.btn-nav-close-common span:nth-of-type(2) { transform: translateY(-4px) rotate(15deg); }

/* .nav
------------------------------------*/
.nav {
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(33,37,52,0.9);
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 9999;
	display: none;
	opacity: 0;
}

.nav-scroll {
	position: relative;
	box-sizing: border-box;
	width: 100%;
}

.nav-inner {
	position: relative;
	box-sizing: border-box;
	min-height: 100vh;
	min-height: 100dvh;
	padding: 135px 10px 160px 20px;
	opacity: 0;
	z-index: 1;
}

.nav-bg {
	position: fixed;
	top: 0 !important;
	left: 0 !important;
	box-sizing: border-box;
	background: linear-gradient(209.78deg, #14131F 0%, #1D233F 22%, #141524 80%);
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

.nav-bg:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png) repeat left top;
	background-size: 200px auto;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.8;
}

.nav-scroll > .logo,
.onlineshop-nav .logo {
	position: absolute;
	top: 24px;
	left: 22px;
	z-index: 10;
}

.nav, .nav a {
	color: var(--color-white);
	white-space: nowrap;
}

.nav-inner dl { letter-spacing: 0.06em; }
.nav-inner dl > div { margin-bottom: 10px; }
.nav-inner dt { font-size: 17px; }
.nav-inner dt.sub { margin-top: 12px; font-size: 14px; }

.nav-inner dt:not(.sub) a {
	display: inline-block;
	position: relative;
	padding: 0 15px 11px;
}

.nav-inner dl:nth-of-type(2) dt:not(.sub) a { padding-bottom: 8px; }

.nav-inner dt:not(.sub) a:before {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 1px;
	background-color: #C7C7C7;
	width: 6px;
	height: 1px;
	opacity: 0.5;
}

.nav-inner dd { padding: 14px 0 15px 18px; }
.nav-inner dd ul { display: -webkit-box; display: flex; flex-wrap: wrap; }
.nav-inner dd li { width: 50%; margin-bottom: 5px; font-size: 13px; }

.nav-inner dd li a {
	display: inline-block;
	background: url(img/share/ico-arrow-list-white.svg) no-repeat left top 4px;
	padding: 0 13px 13px;
}

.nav-inner dl:last-of-type { position: absolute; bottom: 23px; left: 24px; margin: 0; }
.nav-inner dl:last-of-type dt:not(.sub) a { padding-left: 0; }
.nav-inner dl:last-of-type dt:not(.sub) a:before { display: none; }

.nav-inner .sns { position: absolute; bottom: 33px; right: 22px; }
.nav-inner .sns a { padding: 5px; }
.nav-inner .sns img { width: 25px; }
.company-info .sns { margin: -6px -6px 44px -6px; }
.company-info .sns li { padding: 6px; }
.company-info .sns li img { width: 30px; }
.company-info .logo { margin-bottom: 30px; }

.company-info address {
	margin-bottom: 17px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.company-info address span {
	display: block;
	margin-bottom: 12px;
	font-size: 13px;
}

.company-info address + p {
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.company-info address + p span {
	padding-left: 2px;
	font-size: 13px;
}


/* .onlineshop-nav
---------------------------------------------------------------------------*/
.onlineshop-nav-btn {
	display: none;
	position: fixed;
	bottom: 25px;
	right: 25px;
	z-index: 9000;
	opacity: 0;
}

.onlineshop-nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png), linear-gradient(217.45deg, #14131F -2.74%, #1D233F 16.56%, #141524 81.24%);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 11000;
	opacity: 0;
}

.onlineshop-nav-inner {
	position: relative;
	height: 100%;
	overflow-y: scroll;
}

.onlineshop-nav * { color: var(--color-white) !important; }
.onlineshop-nav .onlineshop-aside { padding: 110px 18px 0; }
.onlineshop-nav .onlineshop-aside dl { border-bottom: none; }

.onlineshop-nav .onlineshop-aside dl > div {
	display: -webkit-box;
	display: flex;
	border-top: 1px solid rgba(255,255,255,0.3);
	padding: 18px 0 40px 5px;
}

.onlineshop-nav .onlineshop-aside dt {
	width: 95px;
	min-width: 95px;
	padding: 3px 0 0;
}

.onlineshop-nav .onlineshop-aside dt span {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.onlineshop-nav .onlineshop-aside dt span br { display: block; }
.onlineshop-nav .onlineshop-aside dt i { display: none !important; }
.onlineshop-nav .onlineshop-aside dd { display: block !important; padding: 0; }
.onlineshop-nav .onlineshop-aside dl > div:first-of-type dd ul:nth-child(odd),
.onlineshop-aside dl > div:not(:first-of-type) dd ul li:nth-child(odd) { width: 52%; }
.onlineshop-nav .onlineshop-aside dl > div:first-of-type dd ul:nth-child(even),
.onlineshop-aside dl > div:not(:first-of-type) dd ul li:nth-child(even) { width: 48%; }

.onlineshop-nav .onlineshop-aside dd ul:first-of-type,
.onlineshop-nav .onlineshop-aside dd ul:nth-of-type(2) { padding-top: 0; }

.onlineshop-nav .onlineshop-aside dd li a {
	background: url(img/share/ico-arrow-list-white-light.svg) no-repeat left top 10px;
	padding-left: 13px;
	font-size: 14px;
	letter-spacing: 0.04em;
}


/* #wrap
---------------------------------------------------------------------------*/

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


/* header
---------------------------------------------------------------------------*/
header {
	display: none;
	position: relative;
	box-sizing: border-box;
	background-color: #FFFFFF;
	width: 100%;
	height: 75px;
	margin: 0;
	padding: 24px 22px 0;
	z-index: 100;
	opacity: 0;
}

body.blog header  { margin-bottom: 45px; }
body.gallery header { margin-bottom: 30px; }

header .logo img,
.nav-scroll > .logo img,
.onlineshop-nav .logo img { width: 134px; }
header .logo .logo-onlineshop { display: none; }

header .gnav,
header .nav-guide { display: none; }

/* .onlineshop-header
------------------------------------*/
.onlineshop-header { display: none !important; }


/* .mnav
---------------------------------------------------------------------------*/
.mnav-wrap {
	display: none;
	position: absolute;
	top: 100px;
	left: 0;
	box-sizing: border-box;
	background: linear-gradient(217.45deg, #14131F -2.74%, #282C41 16.56%, #141524 81.24%);
	width: 100%;
	padding: 50px 0 45px;
	z-index: 300;
	opacity: 0;
}

.mnav-bg {
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png) repeat left top;
	background-size: 200px auto;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.mnav {
	position: relative;
	width: 1114px;
	margin: 0 auto;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
}

.mnav ul { display: -webkit-box; display: flex; justify-content: space-between; }
.mnav li { width: 202px; }
.mnav li a { display: block; }
.mnav li figure { overflow: hidden; border-radius: 4px; }

.mnav li span {
	display: block;
	position: relative;
	margin-top: 20px;
	padding-left: 14px;
	color: #E4E4E4;
	font-size: 15px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.mnav li span:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	background: url(img/share/ico-arrow-list-white-light.svg) no-repeat left center;
	width: 10px;
	height: 10px;
}

.mnav-btn { position: relative; }

.mnav-btn i {
	display: block;
	position: absolute;
	bottom: -31px;
	left: calc(50% - 10px);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
  border-bottom: 8px solid #20233B;
  border-top: 0;
	pointer-events: none;
	opacity: 0;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 120px 0 0;
	padding: 100px 0 30px 7%;
	font-family: var(--font-min-r);
	white-space: nowrap;
	z-index: 0;
	opacity: 0;
}

footer:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, #181728 0%, #0A0B1F 100%);
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.88;
	pointer-events: none;
}

footer,
footer a { color: var(--color-white); }

.footer-inner {
	position: relative;
	white-space: nowrap;
	margin-bottom: 32px;
}

.footer-inner .sns { position: absolute; top: -8px; right: 6.5%; }
.footer-inner .sns li { padding: 5px; }
.footer-inner .sns li img { width: 28px; }

.footer-inner .logo { margin: 0 0 35px -2px; }
.footer-inner .logo img { width: 138px; }

.footer-inner h2 {
	margin: 0 0 -15px -2px;
	color: var(--color-white);
	font-size: 10px;
	letter-spacing: 0.03em;
}

.footer-inner .oriba { display: -webkit-box; display: flex; }
.footer-inner .oriba .logo-oriba { width: 58px; min-width: 58px; margin: 30px 0 0 14px; }
.footer-inner .oriba .logo-oriba img { width: 100%; }
.footer-inner .oriba .txt { padding: 0 0 0 32px; }

.footer-inner p {
	margin-bottom: 11px;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.03em;
}

.footer-inner p span { padding-left: 3px; font-size: 12px; }

footer .tel {
	margin: 0 0 10px 2px;
	font-size: 12px;
	letter-spacing: 0.05em;
}

footer .tel strong {
	padding-left: 3px;
	font-family: var(--font-min-l);
	font-size: 18px;
	letter-spacing: 0.04em;
}

.footer-inner address { font-size: 13px; letter-spacing: 0.03em; }
.footer-inner address span { padding-right: 5px;font-size: 12px; } 

footer nav,
footer .nav-cart { display: none; }

.copyright {
	display: inline-block;
	margin-right: 4px;
	font-size: 11px;
	letter-spacing: 0.04em;
}

footer .copyright2 {
	display: inline-block;
	font-size: 10px;
	letter-spacing: 0.02em;
}

footer p.attention {
	margin-top: 8px;
	margin-left: -2px;
	font-size: 12px;
  letter-spacing: 0.1em;
}


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

.contents { opacity: 0; }

.sec-lead,
.sec-outline,
.sec-about-project .about-pamphlet,
.sec-project-point,
.sec-hakataori-pattern, .sec-hakataori-flow, .sec-hakataori-history,
.sec-design1,
.sec-craftsman-point1, .sec-craftsman-point2 .txt, .sec-craftsman-point2 .img,
.interview-list, .sec-interview-img,
.sec-oriba,
.project-nav,
.sec-original-point,
.sec-original-flow,
#contactContents .sec-lead + .wpcf7 {
	padding-right: 7%;
	padding-left: 7%;
}

.about-project, .about-message,
.sec-hakataori .inner, .sec-hakataori-kenjou .txt, .sec-hakataori-kenjou .motif,
.sec-silk1, .sec-silk2,
.sec-design2 > .inner .txt, .sec-design3 > .inner .txt,
.interview-list-wrap > h2, .interview-list-wrap > p, .sec-interview-txt {
	padding-right: calc(7% + 10px);
	padding-left: calc(7% + 10px);
}

.sec-craftsman-point .txt p {
	margin-bottom: 10px;
	padding-right: 10px;
	padding-left: 10px;
}

/* .img-main
------------------------------------*/
.img-main { position: relative; width: 100%; }

#companyContents .img-main { margin-bottom: 60px; }

.img-main .img-slide,
.img-main .img-slide .slick-list,
.img-main .img-slide .slick-track { width: 100% !important; }
.img-main img { width: 100%; height: auto; }

.img-main .title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #FFFFFF;
	white-space: nowrap;
}

.img-main .title.en {
	font-family: var(--font-min-l);
	font-size: 37px;
	letter-spacing: 0.02em;
}

.img-main .figcaption {
	position: absolute;
	bottom: 15px;
	left: 15px;
	color: var(--color-bg-white);
}

.img-main .figcaption.en {
	font-family: var(--font-min-l);
	font-size: 11px;
	letter-spacing: 0.02em;
}

/* .modal-movie
------------------------------------*/
.img-main .btn-movie {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100px;
	padding: 20px;
	z-index: 10;
}

.modal-movie {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10100;
	opacity: 0;
}

.modal-movie-bg {
	position: fixed;
	top: -150px;
	right: -150px;
	background: url(img/share/pattern_noise.png), linear-gradient(209.78deg, #14131F 15.35%, #1D233F 30.63%, #141524 81.85%);
	width: calc(100% + 150px);
	height: calc(100% + 150px);
	z-index: 0;
}

.modal-movie-bg:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png) repeat left top;
	background-size: 200px auto;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.8;
}

.modal-movie-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 30px 25px;
	z-index: 2;
}

.modal-movie-close img { width: 43px; }

.modal-movie-inner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%) !important;
	/*width: 980px;
	height: 625px;*/
	width: 100%;
	height: 0;
	padding-bottom: min(63.77%, 100vh);
	z-index: 1;
	opacity: 0;
}

.modal-movie-inner iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* .img-slide
------------------------------------*/
.img-slide { position: relative; }
.img-slide .slick-track { width: 100% !important; }

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

.img-slide .inner:first-of-type { position: static !important; opacity: 1; }
.img-slide .inner img { width: 100%; }

/* .nav-page
------------------------------------*/
.nav-page { margin-bottom: 60px; padding: 0 7%; }
.nav-page li { border-bottom: 1px solid var(--color-border-light-gray); }
.nav-page li:first-of-type { border-top: 1px solid var(--color-border-light-gray); }

.nav-page li a {
	display: block;
	background: url(img/share/ico-arrow-gnav.svg) no-repeat right 15px top 23px;
	padding: 19px 50px 19px 15px;
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.08em;
}

/* .title-page
------------------------------------*/
.title-page { font-size: 20px; letter-spacing: 0.1em; }

/* .sec-lead
------------------------------------*/
.sec-lead { margin: 35px auto 50px; text-align: center; }

#shopping-guideContents .sec-lead,
#privacyContents .sec-lead,
#termsContents .sec-lead,
#faqContents .sec-lead {
	margin-top: 50px;
	margin-bottom: 75px;
	text-align: center !important;
}

#shopping-guideContents .sec-lead,
#termsContents .sec-lead { margin-bottom: 50px; }

.sec-lead.left { text-align: left; }

.sec-lead > h1 {
	margin-bottom: 20px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.sec-lead > h1.en { letter-spacing: 0.05em; }
.sec-lead > h1:has(+ h2) { font-size: 13px; }

.sec-lead > h2,
.sec-design-case h2 {
	margin-bottom: 40px;
	font-size: 17px;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.sec-lead > p {
	margin-bottom: 14px;
	padding: 0 10px;
	font-size: 14px;
	line-height: 1.95;
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-lead > p a {
	text-decoration: underline;
	display: inline-block;
}

.sec-lead > p.attention {
	margin-top: 20px;
	font-size: 13px;
}

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

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

.dl-line > div {
	border-bottom: 1px solid var(--color-border-light-gray);
	padding: 14px 0 15px 3px;
}

.dl-line > div:last-of-type { margin-bottom: 0; }
.dl-line dt { color: var(--color-black); }
.dl-line p { margin-bottom: 4px; }

.dl-line dd .attention p {
	margin-top: 5px;
	padding-bottom: 5px;
	font-size: 11px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 4px 3px;
	padding-left: 13px;
	font-size: 14px;
	line-height: 1.7;
	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 10px;
	padding-left: 17px;
	font-size: 12px !important;
	line-height: 1.9 !important;
	letter-spacing: 0.02em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }

/* .bnr-art-space
------------------------------------*/
.bnr-art-space { width: 86%; margin: 75px auto 0; }
.bnr-art-space img { width: 100%; }


/* blog archive
---------------------------------------------------------------------------*/
#blogContents .blog-list {
	box-sizing: border-box;
	padding: 0 7%;
}

/* .blog-header
------------------------------------*/
.blog-header {
	position: relative;
	margin: 0 0 32px;
	white-space: nowrap;
}

.blog-header:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-bg-white);
	width: 100%;
	height: 10px;
	z-index: 10;
	pointer-events: none;
}

#blogContents.single .blog-header { margin-bottom: 40px; }

.blog-header .title-page {
	margin-bottom: 40px;
	font-size: 18px;
	text-align: center;
}

.blog-header .title-page a {
	color: inherit;
}

.blog-header nav {
	overflow-x: scroll;
	padding: 0 calc(7vw - 4px) 10px;
}

.blog-header nav ul {
	display: -webkit-box;
	display: flex;
	float: left;
}

.blog-header nav li {
	margin-right: 4px;
}

.blog-header nav li a,
.btn-select .customSelect {
	display: inline-block;
	border: 1px solid #E5E5E5;
	border-radius: 30px;
	padding: 6px 9px 6px 10px;
	color: var(--color-black);
	font-size: 12px;
	letter-spacing: 0.04em;
}

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

.blog-header .btn-select select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	z-index: 2;
	font-family: var(--font-gothic) !important;
	font-size: 16px !important;
	line-height: 1 !important;
}

.blog-header option,
.blog-header select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	display: block;
	height: 10px !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	vertical-align: middle;
}

.btn-select .customSelect {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	color: var(--color-black);
	font-family: var(--font-serif);
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.04em;
}

.btn-select .customSelect .customSelectInner {
	box-sizing: border-box;
	width: 100% !important;
	padding: 5px 10px 3px;
	transform-origin: center center;
	transform: scale(0.9);
}

/* .blog-list
------------------------------------*/
.blog-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px 9%;
	width: 100%;
}

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

.blog-list figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	margin-bottom: 14px;
	padding-bottom: calc(100% / 3 * 2);
}

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

.blog-list time,
.blog-title time,
.blog-list .category,
.blog-title .post-categories a { color: #666; }

.blog-list time,
.blog-title time {
	display: inline-block;
	margin-right: 4px;
	margin-bottom: 2px;
	font-family: var(--font-serif);
	font-size: 11px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.blog-list .category,
.blog-title .post-categories { display: inline; }
.blog-title .post-categories li { display: inline-block; margin-right: 4px; }
.blog-list .category span { padding-right: 6px; }

.blog-list .category span,
.blog-title .post-categories li a {
	display: inline-block;
	margin-bottom: 2px;
	white-space: nowrap;
	font-size: 11px;
	letter-spacing: 0.04em;
}

.blog-list h2 {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.65;
	letter-spacing: 0.04em;
}

/* .blog-list-wide
------------------------------------*/
.blog-list-wide { display: block; }
.blog-list-wide article { width: 100%; margin: 0 0 25px; }
.blog-list-wide article:last-of-type { margin-bottom: 0; }

.blog-list-wide article a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	width: fit-content;
	color: #FFFFFF;
}

.blog-list-wide figure {
	align-self: flex-start;
	width: 98px;
	min-width: 98px;
	margin: 0;
	padding-bottom: calc(98px / 3 * 2);
}

.blog-list-wide a > div { padding: 2px 0 0 18px; }

.blog-list-wide time,
.blog-list-wide .category,
.blog-list-wide h2 { color: #FFFFFF; }
.blog-list-wide .category span { text-decoration: none; }
.blog-list-wide h2 { font-size: 13px; }

.top-blog .btn-line {
	display: block !important;
	width: 100% !important;
	margin-top: 40px;
}

.top-blog .btn-line a {
	display: block;
	border: 1px solid rgba(255,255,255,0.3);
	color: #FFFFFF;
}


/* blog single
---------------------------------------------------------------------------*/
.blog-area { position: relative; padding: 0 7%; }

.blog-area .prev-next {
	display: none;
	/*display: -webkit-box;
	display: flex;
	flex-direction: row-reverse;
	position: absolute;
	top: -7px;
	right: 0;*/
}

/*.blog-area .prev-next .prev { transform: scaleX(-1); }
.blog-area .prev-next li { padding: 6px; }
.blog-area .prev-next li span { opacity: 0.5; }
.blog-area .prev-next li img { width: 18px; }*/

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

.blog-title time {
	margin-left: 1px;
	margin-right: 7px;
	font-size: 13px;
	transform: translateY(1px);
}

.blog-title .post-categories li a {
	font-size: 12px;
	text-decoration: underline;
}

.blog-title h1 {
	margin: 11px 0 0;
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

/* .blog-main
------------------------------------*/
.blog-main, .blog-main p {
	font-size: 13px;
	line-height: 2.1;
	letter-spacing: 0.06em;
}

.blog-main h2,
.blog-table h3 {
	margin: 55px 0 15px;
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.blog-main h2:first-child { margin-top: 0; }

.blog-main p {
	margin-bottom: 30px;
	text-align: justify;
	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 { font-weight: bold; }
.blog-main em { font-style: italic; }
.blog-main del { text-decoration: line-through; }

.blog-main img { display: block; max-width: 100%; height: auto; margin: 10px 0 !important; }
.blog-main p img:first-child { margin-top: 10px !important; }
.blog-main img:first-child, .blog-main p:first-child img:first-child { margin-top: 0 !important; }
/*.blog-main img + img { margin-top: -40px; }
.blog-main img + br + img { margin-top: -70px; }*/
.blog-main .wp-caption { max-width: 100%; margin-bottom: 40px; }
.blog-main .wp-caption-text { font-size: 12px; }

.blog-main ul, .blog-main ol { margin: 30px 0 30px; }
.blog-main p + ul {	margin-top: -15px }
.blog-main ul li { list-style: disc; margin: 0 0 0 18px; }
.blog-main ol li { list-style: decimal; margin: 0 0 6px 24px; }
.blog-main ul li:last-of-type,
.blog-main ol li:last-of-type { margin-bottom: 0; }

.blog-main blockquote {
	background: #F5F5F5;
	margin: 40px 0;
	padding: 28px 36px;
	text-align: justify;
}

.blog-main blockquote p {
	font-size: 14px;
	line-height: 1.9;
}

/* .blog-table
------------------------------------*/
.blog-table {
	margin-top: 55px;
}

.blog-table h3 {
	margin: 60px 0 8px;
	letter-spacing: 0.1em;
}

.blog-table h3:first-child { margin-top: 0; }

.blog-table table {
	box-sizing: border-box;
	/* width: 75%; */
	margin: 0 -5px 40px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

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

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

.blog-table th {
	position: relative;
	box-sizing: border-box;
	padding-right: 21px;
	padding-left: 6px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.blog-table td {
	box-sizing: border-box;
	width: 100%;
}

.blog-table table.right td { text-align: right; }

.blog-table-attention {
	margin-top: -22px;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

/* .blog-link
------------------------------------*/
.blog-link { margin-top: 35px; }
.blog-link li { display: inline-block; margin: 0 8px 12px 0; }
.blog-link li a { padding: 9px 16px 9px 16px; font-size: 13px; }

/* .blog-other
------------------------------------*/
.blog-other { margin: 80px 0 0; }

.blog-other > h2 {
	margin-bottom: 32px;
	padding: 0 7%;
	font-size: 18px;
	letter-spacing: 0.08em;
}

.blog-other .btn-line { width: 84%; margin: 40px auto 0; }


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 60px 0 0 calc(7% - 7px);
	text-align: left;
}

#onlineshopContents .wp-pagenavi {
	padding-left: 5px;
}

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

.wp-pagenavi a.page,
.wp-pagenavi .current {
	font-family: var(--font-serif);
	font-size: 14px;
}

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

.wp-pagenavi .extend,
.wp-pagenavi a.first,
.wp-pagenavi a.last { display: none; }

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	background: url(img/share/ico-arrow-list.svg) no-repeat center top 12px;
	background-size: 11px auto;
	padding-top: 9px;
	text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink { margin-right: 8px; margin-left: 5px; transform: scaleX(-1); }
.wp-pagenavi a.nextpostslink { margin-left: 8px; }


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

/* .sec-top-lead
------------------------------------*/
.sec-top-lead {
	position: relative;
	display: -webkit-box;
	display: flex;
	flex-direction: row-reverse;
	width: 290px;
	margin: 52px auto 80px;
}

.sec-top-lead h2 { margin: 0 0 0 27px; }
.sec-top-lead h2 img { width: 68px; }
.sec-top-lead .btn-arrow { display: none; }

/* .sec-top-blog
------------------------------------*/
.sec-top-blog {
	position: relative;
	box-sizing: border-box;
  width: 100%;
	margin: 0 auto 60px;
	padding: 55px 7% 40px;
}

.top-blog {
	position: relative;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
	z-index: 1;
}

.top-blog > h2 {
	margin: 0 0 28px 2px;
	color: #FFFFFF;
	font-size: 16px;
	letter-spacing: 0.12em;
}

/* .sec-top-bnr
------------------------------------*/
.sec-top-bnr { padding: 0 7%; }
.sec-top-bnr .bnr-sub .inner { margin-bottom: 20px; }
.sec-top-bnr .bnr-sub .inner:last-of-type { margin-bottom: 0; }

.sec-top-bnr .bnr-sub .inner a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.sec-top-bnr .bnr-sub figure {
	align-self: flex-start;
	width: 120px;
	min-width: 120px;
}

.sec-top-bnr .bnr-sub figure img { width: 100%; }

.sec-top-bnr .bnr-sub h3 {
	padding: 0 0 0 22px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.sec-top-bnr .bnr-main { margin-bottom: 60px; text-align: center; }
.sec-top-bnr .bnr-main .inner { margin-bottom: 38px; }

.sec-top-bnr .bnr-main h2 {
	margin: 28px 0 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.sec-top-bnr .bnr-main h3 {
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .sec-top-onlineshop
------------------------------------*/
.sec-top-onlineshop {
	overflow: hidden;
	box-sizing: border-box;
	border-top: 1px solid var(--color-border-light-gray);
	width: 100%;
	margin: 80px auto 80px;
	padding-top: 75px;
}

.sec-top-onlineshop .sec-inner { margin: 0 auto; }

.sec-top-onlineshop .sec-inner > h2 {
	margin: 0 0 22px 7%;
	font-size: 16px;
	letter-spacing: 0.06em;
}

.top-onlineshop-bnr-wrap {
	margin-left: 7%;
}

.top-onlineshop-bnr {
	display: -webkit-box;
	display: flex;
}

.top-onlineshop-bnr .slick-arrow {
	position: absolute;
	top: -48px;
	background: url(img/share/btn-modal-arrow-s.svg) no-repeat center center;
	background-size: 6px auto;
	width: 37px;
	height: 37px;
	text-indent: -9999px;
}

.top-onlineshop-bnr .slick-prev { right: calc(5% + 30px); transform: scaleX(-1); }
.top-onlineshop-bnr .slick-next { right: 5%; }

.top-onlineshop-bnr .inner {
	width: 300px;
	min-width: 300px;
	margin-right: 28px;
}

.top-onlineshop-bnr .inner figure img { width: 100%; height: auto; }
.top-onlineshop-bnr .inner .num { display: none; }

.top-onlineshop-bnr .inner h3 {
	margin-top: 15px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.sec-top-onlineshop .sec-inner .btn-line {
	width: 86%;
	margin: 50px auto 0;
}

.sec-top-onlineshop .sec-inner .btn-line a {
	display: block;
	border: none;
	background-color: #273155;
	padding-top: 12px;
	padding-bottom: 12px;
	color: #FFFFFF;
	font-size: 19px;
	letter-spacing: 0.04em;
	text-align: center;
}

/* .sec-top-craftsman
------------------------------------*/
.sec-top-craftsman {
	position: relative;
	width: 100%;
	margin-bottom: 80px;
}

.sec-top-craftsman a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.sec-top-craftsman,
.sec-top-craftsman a,
.sec-top-craftsman h2,
.sec-top-craftsman h3 {
	color: #FFFFFF;
}

.sec-top-craftsman h2 {
	position: absolute;
	bottom: 22px;
	left: 20px;
	z-index: 2;
}

.sec-top-craftsman h2 img { width: 25px; }

.sec-top-craftsman h3 {
	position: absolute;
	bottom: 20px;
	left: 61px;
	font-family: var(--font-serif);
	font-size: 15px;
	letter-spacing: 0.08em;
	z-index: 2;
}

.sec-top-craftsman p {
	position: absolute;
	top: 26px;
	right: 22px;
	font-size: 18px;
	line-height: 1.75;
	letter-spacing: 0.16em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

/* .sec-top-oriba
------------------------------------*/
.sec-top-oriba {
	margin: -30px auto 100px;
	padding: 30px 7% 0;
}

.sec-top-oriba figure {
	margin-bottom: 43px;
}

.sec-top-oriba .txt {
	position: relative;
	padding: 0 10px;
	color: var(--color-black);
}

.sec-top-oriba .txt .logo {
	display: block;
	width: 88px;
	margin: 0 auto 40px;
}

.sec-top-oriba .txt h2 {
	display: none;
}

.sec-top-oriba .txt h3 {
	margin-bottom: 28px;
	font-size: 19px;
	letter-spacing: 0.08em;
	text-align: center;
}

.sec-top-oriba .txt p {
	margin-bottom: 9px;
	font-size: 14px;
	line-height: 1.75;
}

.sec-top-oriba .txt dl {
	margin: 22px 0 14px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sec-top-oriba .txt dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 5px;
}

.sec-top-oriba .txt dl > div:last-of-type { margin-bottom: 0; }

.sec-top-oriba .txt dt {
	width: 95px;
	min-width: 95px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.sec-top-oriba .txt .attention {
	font-size: 13px;
}

.sec-top-oriba .txt .btn-line.narrow {
	display: block !important;
	width: 100% !important;
	margin: 30px 0 0;
}

.sec-top-oriba .txt .btn-line.narrow a {
	text-align: center;
}


/* page onlineshop-top
---------------------------------------------------------------------------*/
#wrap.onlineshop header {
	margin-bottom: 27px;
}

/* .onlineshop-bnr-slide
------------------------------------*/
.onlineshop-bnr-slide {
	overflow: hidden;
	width: 100%;
	margin-bottom: 70px;
}

.onlineshop-bnr-slide .slide-bnr {
	margin-left: -22px;
}

.onlineshop-bnr-slide .inner {
	box-sizing: border-box;
	width: calc(100vw - 28px - 20px) !important;
	padding: 0 14px !important;
}

.onlineshop-bnr-slide .inner a { display: block; position: relative; }

.onlineshop-bnr-slide figure { position: relative; overflow: hidden; width: 100%; height: 0; margin-bottom: 16px; padding-bottom: 100%; }
.onlineshop-bnr-slide figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.onlineshop-bnr-slide h3 {
	padding-right: 60px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.onlineshop-bnr-slide .num {
	position: absolute;
	bottom: 8px;
	right: 0;
	color: #AAAAAA;
	font-family: var(--font-sans);
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.onlineshop-bnr-slide .slick-arrow {
	position: absolute;
	top: calc((100vw - 28px - 20px) / 2);
	transform: translateY(-50%);
	background: url(img/share/btn-arrow-navy.svg) no-repeat center center;
	width: 56px;
	height: 56px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	z-index: 10;
}

.onlineshop-bnr-slide .slick-prev { left: 22px; transform: translateY(-50%) scaleX(-1); }
.onlineshop-bnr-slide .slick-next { right: -6px; }

/* .onlineshop-wrap
------------------------------------*/
.onlineshop-wrap .onlineshop-aside,
.onlineshop-aside .index {
	display: none;
}

.onlineshop-btm .onlineshop-aside {
	margin-top: 65px;
}

.onlineshop-aside dl { border-bottom: 1px solid var(--color-border-light-gray); }
.onlineshop-aside dl > div { border-top: 1px solid var(--color-border-light-gray); }
.onlineshop-aside dl > div:last-of-type { margin-bottom: 0; }

.onlineshop-aside dt {
	position: relative;
	padding: 21px 0 20px 55px;
}

.onlineshop-aside dt i {
	display: block;
	position: absolute;
	top: 25px;
	left: 30px;
	width: 7px;
	height: 7px;
	transition: .8s cubic-bezier(0.23, 1, 0.32, 1); /* easeOutQuint */
	transform: rotate(0deg);
}

.onlineshop-aside dt.active i { transform: rotate(225deg); }

.onlineshop-aside dt i:before,
.onlineshop-aside dt i:after {
	display: block;
	content: '';
	position: absolute;
	background-color: #000;
}

.onlineshop-aside dt i:before { top: 0; left: 3px; width: 1px; height: 100%; }
.onlineshop-aside dt i:after { top: 3px; left: 0; width: 100%; height: 1px; }

.onlineshop-aside dt span {
	color: var(--color-black);
	font-size: 15px;
	letter-spacing: 0.12em;
}

.onlineshop-aside dt span br { display: none; }
.onlineshop-aside dt span:after { display: none; }

.onlineshop-aside dd {
	display: none;
	position: relative;
	overflow: hidden;
	padding: 0 0 40px 58px;
}

.onlineshop-aside dd ul {
	float: left;
	width: 50%;
}

.onlineshop-aside dl > div:not(:first-of-type) dd ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	float: none;
	width: 100%;
}

.onlineshop-aside dd ul:first-of-type,
.onlineshop-aside dd ul:nth-of-type(2) { padding-top: 10px; }
.onlineshop-aside dd ul:first-of-type:not(:last-of-type) { margin-bottom: 12px; }
.onlineshop-aside dd ul:nth-of-type(2) { float: right; }

.onlineshop-aside dd li { margin-bottom: 7px; }
.onlineshop-aside dl > div:not(:first-of-type) dd ul li { width: 50%; }

.onlineshop-aside dd li a {
	display: inline-block;
	background: url(img/share/ico-arrow-list.svg) no-repeat left top 10px;
	padding: 5px 5px 5px 13px;
	color: var(--color-black);
	font-size: 15px;
	letter-spacing: 0.06em;
}

/* .onlineshop-inner
------------------------------------*/

/* .onlineshop-blog
------------------------------------*/
.onlineshop-blog {
	position: relative;
	box-sizing: border-box;
	min-height: 80px;
	margin-bottom: 75px;
	padding: 0 0 0 70px;
}

.onlineshop-blog h2 {
	position: absolute;
	top: 1px;
	left: 24px;
	color: var(--color-black);
	font-size: 17px;
	letter-spacing: 0.17em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.onlineshop-blog article { margin-bottom: 18px; }
.onlineshop-blog article:last-of-type { margin-bottom: 0; }

.onlineshop-blog article a {
	display: inline-block;
	position: relative;
	line-height: 1.75;
}

.onlineshop-blog time {
	display: block;
	margin: 0 0 3px 1px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.onlineshop-blog h3 {
	width: 100%;
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.07em;
}

/* .onlineshop-bnr-s
------------------------------------*/
.onlineshop-bnr-s {
	position: relative;
	margin-bottom: 90px;
}

.onlineshop-bnr-s:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-bg-white);
	width: 28px;
	height: 100%;
	z-index: 1;
}

.onlineshop-bnr-s ul {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.slide-bnr-s {
	margin-left: calc(-17.5vw - 10px);
	z-index: 0;
}

.slide-bnr-s li {
	width: 65vw;
	padding: 0 8px;
}

.onlineshop-bnr-s figure { margin-bottom: 15px; }
.onlineshop-bnr-s li img { width: 100%; }
.onlineshop-bnr-s h3 { font-size: 13px; line-height: 1.65; letter-spacing: 0.03em; }

/* .onlineshop-bnr-single
------------------------------------*/
.onlineshop-bnr-single { margin: 80px 0 85px; }
.onlineshop-bnr-single img { width: 100%; }

/* .onlineshop-list-wrap
------------------------------------*/
.onlineshop-list-wrap { position: relative; padding: 0 27px; }
.onlineshop-list-wrap .btn-line { margin-top: 20px; }

/* .onlineshop-list-title
------------------------------------*/
.onlineshop-blog + .onlineshop-list-wrap { margin-top: 100px; }

.onlineshop-list-title {
	position: relative;
	margin-bottom: 30px;
	z-index: 0;
}

.onlineshop-list-title h1,
.onlineshop-list-title h2,
.onlineshop-color > h2 {
	display: inline-block;
	margin-right: 8px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

#onlineshopContents .onlineshop-list-wrap:not(.onlineshop-other) .onlineshop-list-title {
	margin-bottom: 50px;
	padding: 30px 5px 0;
}

#onlineshopContents .onlineshop-list-title h1 {
	position: relative;
	display: block;
	margin: 0 0 20px;
}

#onlineshopContents .onlineshop-list-title h1 strong {
	display: inline-block;
	margin-right: 5px;
}

#onlineshopContents .onlineshop-list-title h1 em {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.13em;
	transform: translateY(-1px);
}

#onlineshopContents .onlineshop-list-title p {
	font-size: 13px;
	text-align: justify;
	letter-spacing: 0.06em;
}

#onlineshopContents .onlineshop-list-title p br {
	display: none;
}

.onlineshop-list-title .all {
	display: inline-block;
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.04em;
	transform: translateY(-1px);
}

.onlineshop-list-title .category-wrap {
	position: absolute;
	top: -3px;
	right: -16px;
	z-index: 1;
}

.onlineshop-list-title .category-wrap .btn-select {
	position: relative;
}

.onlineshop-list-title .category-wrap .btn-select select {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 22px !important;
}

.onlineshop-list-title .category-wrap .btn-select .customSelect {
	border: none;
	pointer-events: none;
}

.onlineshop-list-title .btn-select .customSelect .customSelectInner {
	position: relative;
	padding: 5px 10px 5px 16px;
}

.onlineshop-list-title .category-wrap .btn-select .customSelectInner:before {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 1px;
	background: url(img/share/ico-plus.svg) no-repeat;
	width: 10px;
	height: 10px;
}

.onlineshop-list-title .category-wrap .btn-select .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 5px;
	left: 16px;
	background-color: var(--color-gray);
	width: calc(100% - 26px);
	height: 1px;
}

/* .onlineshop-list
------------------------------------*/
.onlineshop-list { display: -webkit-box; display: flex; flex-wrap: wrap; justify-content: space-between; }
.onlineshop-list article { width: 46.5%; margin: 0 0 7%; opacity: 0; }

.onlineshop-list figure { position: relative; overflow: hidden; width: 100%; height: 0; margin-bottom: 12px; padding-bottom: 100%; }
.onlineshop-list figure > img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.onlineshop-list figure .img-sold {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.45);
	width: 100%;
	height: 100%;
	z-index: 2;
	transition: .1s ease-out;
	opacity: 0;
}

.onlineshop-list article.sold figure .img-sold { display: block; opacity: 1; }
.onlineshop-list a:hover figure .img-sold { opacity: 0; }

.onlineshop-list figure .img-sold span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	/*color: var(--color-white);*/
	color: #FFFFFF;
	font-size: 12px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.onlineshop-list h2 {
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.55;
	letter-spacing: 0.02em;
}

.onlineshop-list article .category {
	margin-top: -7px;
}

#onlineshopContents.category .onlineshop-list article .category,
.onlineshop-other .onlineshop-list article .category,
.onlineshop-list-s article .category {
	display: none;
}

.onlineshop-list article .category a {
	display: inline-block;
	position: relative;
	background: url(img/share/ico-arrow-list.svg) no-repeat left top 5px;
	margin: 0 5px 4px 0;
	padding: 2px 2px 4px 6px;
	color: var(--color-black);
	font-size: 11px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.onlineshop-list article .category a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 3px;
	left: 11px;
	background-color: var(--color-gray);
	width: calc(100% - 14px);
	height: 1px;
	opacity: 0.8;
}

.onlineshop-list article .category a i {
	display: inline-block;
	margin-right: 4px;
}












/* .cart
------------------------------------*/
.cart-price {
	margin-left: 1px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.cart-price .cartjs_sales_price th,
.cart-price .cartjs_product_num,
.cart-price .cartjs_option,
.cart-price .cartjs_cart_in,
.cart-price .cartjs_product_info {
	display: none !important;
}

.cartjs_sales_price td {
	position: relative;
	display: inline-block;
}

.cartjs_sales_price td:before {
	display: block;
	content: '円 （税込）';
	position: absolute;
	top: 1px;
	right: 1px;
	font-size: 11px;
	letter-spacing: 0.04em;
	z-index: 2;
}

.cartjs_sales_price td:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-bg-white);
	width: 54px;
	height: calc(100% + 1px);
	z-index: 1;
}


/* page onlineshop single
---------------------------------------------------------------------------*/
body.onlineshop-single header {
	margin-bottom: 0 !important;
}

/* .onlineshop-post
------------------------------------*/
.onlineshop-post {
	overflow: hidden;
}

.onlineshop-path {
	width: 100%;
	margin: 18px -8% 45px;
}

.onlineshop-path ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.onlineshop-path li {
	position: relative;
	margin-bottom: 2px;
	padding-right: 14px;
}

.onlineshop-path li:after {
	display: block;
	content: '/';
	position: absolute;
	top: 0;
	right: 5px;
}

.onlineshop-path li:last-of-type {
	padding-right: 0;
}

.onlineshop-path li:last-of-type:after {
	display: none;
}

.onlineshop-path li,
.onlineshop-path li a {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

/* .onlineshop-img
------------------------------------*/
.onlineshop-img {
	position: relative;
	margin-bottom: 2px;
}

.onlineshop-img .inner {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100vw !important;
	height: 100vw;
}

.onlineshop-img .inner:first-of-type { position: relative; }

.onlineshop-img .inner img {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}

.onlineshop-img .onlineshop-movie-btn {
	background: url(img/share/pattern_noise.png), linear-gradient(209.78deg, #14131F 15.35%, #1D233F 30.63%, #141524 81.85%);
}

.onlineshop-img .onlineshop-movie-btn iframe {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 100%;
	height: 56.25vw;
}

.slider-item-nav { display: -webkit-box; display: flex; }
.slider-item-nav.noslide .slick-track,
.slider-item-nav .slick-track:has( .img-inner.noimg) { transform: none !important; }

.slider-item-nav .img-inner {
	position: relative;
	width: 25vw !important;
	min-width: 25vw !important;
	height: 25vw !important;
}

.slider-item-nav .img-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -1px;
	background-color: var(--color-bg-white);
	width: 1px;
	height: 100%;
	z-index: 2;
}

.slider-item-nav .img-inner:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1;
	transition: .1s ease-out;
}

.slider-item-nav .img-inner.slick-current:after { opacity: 0.7; }
.slider-item-nav .img-inner-movie.slick-current:after { opacity: 0.3; }
.slider-item-nav .img-inner.noimg { pointer-events: none !important; }
.slider-item-nav .img-inner img { display: block; object-fit: cover; width: 100%; height: 100%; }

/* .onlineshop-modal
------------------------------------*/
.onlineshop-modal { display: none !important; }

/* .onlineshop-txt
------------------------------------*/
.onlineshop-txt { padding: 0 9.5%; }
.onlineshop-txt .cart { margin: 45px -8px 0; }
.onlineshop-txt .onlineshop-txt-inner:has(.onlineshop-craftsman) + .cart { margin-top: 0; }
.onlineshop-txt .cart-price { color: var(--color-black); }
.onlineshop-txt .cart-price .cartjs_sales_price td:before { top: 3px; right: 5px; }
.onlineshop-txt .cart-price .cartjs_sales_price td:after { width: 56px; }

.onlineshop-title {
	margin-bottom: 30px;
}

.onlineshop-txt .category {
	margin: 0 0 12px -3px;
	font-size: 12px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.onlineshop-txt .category span {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid var(--color-border-light-gray);
	border-radius: 50px;
	margin-right: 5px;
	padding: 5px 7px 5px 8px;
}

.onlineshop-txt .category span i { display: none; }

.onlineshop-txt h1 {
	margin: 0 0 13px;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.onlineshop-txt .cart-price { font-size: 14px; }

.onlineshop-txt .txt { margin-bottom: 30px; }
.onlineshop-txt .txt + .txt:not(:has(h2)) { margin-top: -10px; }

.onlineshop-txt .txt h2 {
	margin: 40px 0 14px -1px;
	font-size: 17px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.onlineshop-txt .txt p {
	margin-bottom: 10px;
	font-size: 15px;
	letter-spacing: 0.02em;
	text-align: justify;
}

.onlineshop-txt .txt p a,
.onlineshop-txt .dl-line p a {
	color: var(--color-black);
	text-decoration: underline;
}

.onlineshop-txt .txt .attention {
	margin-top: 10px;
}

.onlineshop-txt .txt .attention p {
	margin-bottom: 2px;
	font-size: 13px;
	line-height: 1.9;
}

.onlineshop-txt-inner .dl-line {
	margin: 50px -8px 0;
	font-size: 14px;
}

.onlineshop-txt-inner .dl-line > div {
	padding: 4px 0 12px 3px;
}

.onlineshop-txt-inner .dl-line > div dd {
	padding: 8px 0 0 14px;
}

.onlineshop-txt-inner .dl-line p,
.dl-line dd .attention:first-child p {
	font-size: 14px;
}

/* .onlineshop-craftsman
------------------------------------*/
.onlineshop-craftsman {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 65px -8px 30px;
}

.onlineshop-craftsman + .onlineshop-craftsman {
	margin-top: 45px;
}

.onlineshop-craftsman figure {
	width: 90px;
	min-width: 90px;
}

.onlineshop-craftsman figure img {
	width: 100%;
}

.onlineshop-craftsman .txt {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0 14px 0 24px;
}

.onlineshop-craftsman .txt h3 {
	margin: 0 0 6px -1px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.onlineshop-craftsman .txt h2 {
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.onlineshop-craftsman .txt p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .cart
------------------------------------*/
.cart {
	position: relative;
	box-sizing: border-box;
	background-color: var(--color-bg-light-gray);
	margin-top: 50px;
	padding: 30px 25px 25px;
	color: var(--color-black);
}

.cart h1 {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.cart .guide {
	margin-top: 24px;
}

.cart .guide a {
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.06em;
}

.cart .postage {
	margin-top: 9px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.cart th {
	display: none !important;
}

.cart .cartjs_sales_price,
.cart .cartjs_product_num,
.cart .cartjs_option {
	display: inline-block;
	position: relative;
}

.cart .cartjs_option {
	transform: translateY(1px);
	margin-right: -4px;
}

.cart .cartjs_sales_price {
	margin-top: 8px;
	margin-right: 4px;
	font-size: 16px;
	letter-spacing: 0.06em;
	transform: translateY(-4px);
}

.cart .cartjs_sales_price td:before { top: 3px; right: 4px; font-size: 13px; }
.cart .cartjs_sales_price td:after { background-color: var(--color-bg-light-gray); width: 65px; }

.cart .cartjs_product_num {
	margin-right: 26px;
}

.cart .cartjs_product_num input {
	position: relative;
	box-sizing: border-box;
	border: 1px solid var(--color-border-light-gray);
	border-radius: 2px;
	width: 36px !important;
	height: 28px;
	margin-left: -5px;
	padding: 4px 6px 6px;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: right;
	transform-origin: right bottom;
	transform: scale(0.85);
}

.cart .cartjs_product_num td {
	position: relative;
}

.cart .cartjs_product_num td:after {
	display: block;
	content: '点';
	position: absolute;
	top: 12px;
	left: 39px;
	font-size: 14px;
	z-index: 2;
}

.cart .cartjs_cart_in {
	margin-top: 22px;
}

.cart .cartjs_cart_in input {
	box-sizing: border-box;
	background: var(--color-btn-navy) !important;
	border: none !important;
	border-radius: 0 !important;
	width: 100% !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 0 3px 6px !important;
	color: #FFFFFF !important;
	font-size: 17px !important;
	letter-spacing: 0.1em !important;
}

.cart .btn-sold {
	display: none;
	box-sizing: border-box;
	background: var(--color-btn-navy);
	width: 100%;
	height: 54px;
	padding: 18px 0 0;
	color: #FFFFFF;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-align: center;
	opacity: 0.3;
}

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

/* .cartjs_option
------------------------------------*/
.cart .cartjs_option_txt {
	margin: 20px 0 -5px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.cart .cartjs_option {
	position: relative;
}

.cart.sold .cartjs_option {
	display: none !important;
}

.cart .cartjs_option2 {
	margin-top: -10px;
}

.cart .option-modal-icon {
	display: block;
	content: '';
	position: absolute;
	top: 21px;
	left: calc(80% + 6px);
	background: url(img/share/ico-question.svg) no-repeat;
	width: 25px;
	height: 25px;
	z-index: 10;
}

.cart .cartjs_option td {
	display: inline-block;
	position: relative;
	overflow: hidden;
	padding-top: 8px;
}

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

.cart .cartjs_option td .customSelect {
	display: block;
	box-sizing: border-box;
	border: none !important;
	width: 100%;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.06em;
}

.cart .cartjs_option td .customSelect .customSelectInner {
	position: relative;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border-light-gray);
	width: 100% !important;
	padding: 14px 36px 10px 12px;
	transform-origin: left bottom;
	transform: scale(0.8);
}

.cart .cartjs_option td .customSelect .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	top: 17px;
	right: 12px;
	background: url(img/share/ico-arrow-gnav.svg) no-repeat;
	background-size: 100% auto;
	width: 10px;
	height: 6px;
	z-index: 1;
}

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

.cart .cartjs_stock {
	display: none !important;
}

.cartjs_product_table table {
	width: 100% !important;
	margin-bottom: 20px;
}

.cartjs_sales_price td { font-size: 13px; }
.onlineshop-title .cartjs_sales_price td { font-size: 14px; }
.cart .cartjs_sales_price td { margin-left: 2px; font-size: 16px; }

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

.colorme-option-tbl th {
	display: block !important;
	position: relative;
	background: none !important;
	border: none !important;
	padding: 14px 20px 15px 10px !important;
	text-align: left !important;
	letter-spacing: 0.06em !important;
	white-space: nowrap;
}

.colorme-option-tbl th:after {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	right: 0;
	background-color: var(--color-border-light-gray);
	width: 1px;
	height: calc(100% - 17px);
}

.colorme-option-tbl td {
	box-sizing: border-box;
	width: 100%;
	padding: 14px 15px 15px 38px !important;
	text-align: left !important;
}

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

.colorme-option-tbl td input {
	margin: 0 8px 0 -20px;
	transform: translateY(1px);
}

_::-webkit-full-page-media, _:future, :root .colorme-option-tbl td input {
	transform: translateY(-1px);
}


/* .cart-option-modal
------------------------------------*/
.cart-option-modal {
	position: fixed;
	top: 0;
	right: -100%;
	background: url(img/share/pattern_noise.png), linear-gradient(217.45deg, #14131F -2.74%, #1D233F 16.56%, #141524 81.24%);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 9000;
}

.cart-option-modal-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 35px 30px;
	z-index: 2;
}

.cart-option-modal-close img {
	width: 40px;
}

.cart-option-modal .modal-inner {
	overflow-y: scroll;
	position: relative;
	box-sizing: border-box;
	padding: 100px 9% 60px;
	height: 100%;
	z-index: 1;
}

.cart-option-modal .modal-inner,
.cart-option-modal .modal-inner * {
	color: var(--color-white);
}

.cart-option-modal h3 {
	margin-bottom: 25px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.cart-option-modal h3:not(:first-of-type) {
	margin-top: 75px;
}

.cart-option-modal h3 span {
	padding-left: 12px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.cart-option-modal h4 {
	margin-top: 40px;
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.cart-option-modal h3 + h4 {
	margin-top: 30px;
}

.cart-option-modal p {
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.cart-option-modal .box {
	border: 1px solid var(--color-white-thin);
	margin-top: 26px;
	padding: 24px 26px 24px;
}

.cart-option-modal .box h4 {
	margin-top: 0;
	margin-bottom: 10px;
}

.cart-option-modal .box p,
.cart-option-modal dd p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.cart-option-modal dl {
	border-top: 1px solid var(--color-white-thin);
}

.cart-option-modal dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-white-thin);
}

.cart-option-modal dt {
	box-sizing: border-box;
	width: 105px;
	min-width: 105px;
	padding: 17px 0 0;
	font-size: 14px;
}

.cart-option-modal dd {
	border-left: 1px solid var(--color-white-thin);
	padding: 14px 4px 16px 18px;
}

/* .check-service
------------------------------------*/
.check-service {
	border-top: 1px solid var(--color-border-light-gray);
	margin-top: 20px;
	padding: 26px 0 6px;
}

.check-service a {
	display: inline-block;
	background: url(img/share/btn-arrow-gold.svg) no-repeat left top 1px;
	margin-bottom: 4px;
	padding: 2px 10px 10px 26px;
	color: var(--color-black);
	font-size: 15px;
	letter-spacing: 0.1em;
}

.check-service p {
	font-size: 12px;
	line-height: 1.8;
}

/* .onlineshop-color
------------------------------------*/
.onlineshop-color { margin: 60px calc(-11.6% + 27px) 0; }
.onlineshop-color > h2 { margin-bottom: 30px; }

.onlineshop-list-s { justify-content: left; }
.onlineshop-list-s article { width: 30%; margin-right: 5% !important; }
.onlineshop-list-s article:nth-of-type(3n) { margin-right: 0 !important; }
.onlineshop-list-s figure { margin-bottom: 8px; }
.onlineshop-list-s h2 { font-size: 13px; }
.onlineshop-list-s figure .img-sold span { font-size: 11px; }
.onlineshop-list-s .cart-price { display: none !important; }

/* .onlineshop-other
------------------------------------*/
.onlineshop-other { margin: 90px 0 0; }


/* page obito
---------------------------------------------------------------------------*/
body.obito #wrap.onlineshop header { margin-bottom: 0; }

.title-obito { margin: 40px 0 48px; text-align: center; }
.title-obito .en { margin-bottom: 16px; }
.title-obito .en img { width: 215px; }
.title-obito h1 { margin-bottom: 28px; }
.title-obito h1 img { width: 177px; }
.title-obito h2 img { width: 215px; margin-left: 10px; }

#obitoContents .sec-lead { margin-bottom: 80px; }
#obitoContents .sec-lead > h2 { margin-bottom: 38px; }
#obitoContents .sec-lead > h2 img { width: 325px; }
#obitoContents .sec-lead > p { padding: 0 14px; }

#obitoContents .sec-lead nav {
	margin-top: 40px;
	padding: 0 10px;
	text-align: left;
}

#obitoContents .sec-lead nav li {
	position: relative;
	/*border-bottom: 1px solid var(--color-border-light-gray);*/
	border-bottom: 1px solid #CECECE;
	margin-bottom: 14px;
	white-space: nowrap;
}

#obitoContents .sec-lead nav li:last-of-type { margin-bottom: 0; }

#obitoContents .sec-lead nav li a {
	display: block;
	background: url(img/share/ico-arrow-oblique.svg) no-repeat right 11px top 18px;
	padding: 15px 0 12px;
	color: #666666;
	font-size: 15px;
	letter-spacing: 0.15em;
}

#obitoContents .sec-lead nav li:nth-of-type(2) a { padding-left: 4px; }

#obitoContents .sec-lead nav li a i {
	display: inline-block;
	margin-right: 14px;
}

#obitoContents .sec-lead nav li:nth-of-type(1) a i img { width: auto; height: 18px; }
#obitoContents .sec-lead nav li:nth-of-type(2) a i img { width: auto; height: 17px; }

.obito-category-title { margin-bottom: 55px; }

.obito-category.textile,
.obito-category.textile .cartjs_sales_price td:after { background-color: #F7F2EA; }
.obito-category.knit,
.obito-category.knit .cartjs_sales_price td:after { background-color: #E7ECF2; }

.obito-category.textile .obito-category-title .txt,
.obito-category.textile .obito-category-title .txt * { color: #DBD1C0; }
.obito-category.knit .obito-category-title .txt,
.obito-category.knit .obito-category-title .txt * { color: #D3D1CD; }

.obito-category.textile .obito-category-title .txt { background: url(img/obito/bg-obito-textile.jpg) repeat left top; }
.obito-category.knit .obito-category-title .txt { background: url(img/obito/bg-obito-knit.jpg) repeat left top; }

.obito-category-title .txt { padding: 55px 10% 65px; }
.obito-category-title .txt h2 { margin-bottom: 50px; }
.obito-category-title .txt h2 em { display: block; }
.obito-category.textile .obito-category-title .txt h2 em { margin-left: -6px; }
.obito-category.textile .obito-category-title .txt h2 em img { width: 114px; }
.obito-category.knit .obito-category-title .txt h2 em { margin-left: -2px; }

.obito-category-title .txt h2 strong {
	display: block;
	margin-top: 10px;
	font-size: 15px;
	letter-spacing: 0.24em;
}

.obito-category-title .txt h3 {
	margin-bottom: 24px;
	font-size: 18px;
	letter-spacing: 0.08em;
}

.obito-category-title .txt p {
	letter-spacing: 0.03em;
	text-align: justify;
}

/* .obito-onlineshop-list
------------------------------------*/
.obito-onlineshop-list { padding: 0 27px 60px; }

.obito-onlineshop-list nav { margin-bottom: 25px; padding-left: 5px; }
.obito-onlineshop-list nav ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}

.obito-onlineshop-list nav li { margin: 0 14px 10px 0; white-space: nowrap; }
.obito-onlineshop-list nav li.all { order: 998; }
.obito-onlineshop-list nav li.archive { order: 999; }

.obito-onlineshop-list nav li a,
.obito-onlineshop-list nav li > span {
	display: block;
	padding: 5px 0 5px;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.obito-onlineshop-list nav li.current a,
.obito-onlineshop-list nav li.current > span {
	text-decoration: underline;
}

.obito-onlineshop-list .onlineshop-list article .category { display: none !important; }

/* .sec-obito
------------------------------------*/
.sec-obito {
	margin: 0 auto 80px;
	padding: 0 7%;
}

.sec-obito > h2 {
	position: relative;
	margin-bottom: 35px;
	padding: 28px 0 0;
}

.sec-obito > h2:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-gray);
	width: 20px;
	height: 1px;
}

.sec-obito > h2 em {
	display: inline-block;
	margin-right: 14px;
	font-family: var(--font-serif);
	font-size: 24px;
	letter-spacing: 0.04em;
}

.sec-obito > h2 strong {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.06em;
}

/* .obito-news
------------------------------------*/
.obito-news, .obito-stockist { margin-top: 80px; }

.blog-list-s {
	border-top: 1px solid var(--color-border-light-gray);
	margin: 0 -4px;
}

.blog-list-s article {
	border-bottom: 1px solid var(--color-border-light-gray);
	padding: 16px 4px 16px;
}

.blog-list-s article a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	color: var(--color-black);
}

.blog-list-s article figure {
	width: 75px;
	min-width: 75px;
	height: 75px;
	padding: 0;
}

.blog-list-s article figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.blog-list-s article a > div { padding: 0 0 0 18px; }

.blog-list-s article time {
	display: block;
	margin-bottom: 7px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.blog-list-s article .category { display: none; }

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

/* .obito-stockist
------------------------------------*/
.obito-stockist dl { padding: 10px 0 0 10px; color: var(--color-black); }
.obito-stockist dl > div { margin-bottom: 50px; }
.obito-stockist dl > div:last-of-type { margin-bottom: 0; }

.obito-stockist dt {
	margin-bottom: 17px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.obito-stockist dd {
	padding: 0 0 0 25px;
}

.obito-stockist dd address,
.obito-stockist dd p {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.obito-stockist dd address span {
	display: block;
	margin-bottom: 1px;
	font-size: 13px;
}

.obito-stockist dd a.link {
	display: inline-block;
	margin-top: 9px;
	color: var(--color-black);
	font-size: 13px;
	letter-spacing: 0.02em;
	text-decoration: underline;
}

.obito-stockist dd p a { text-decoration: underline; }
.obito-stockist dd .attention-list { margin-top: -2px; }
.obito-stockist dd .attention-list li { margin-bottom: 0; padding-left: 14px; }

/* .obito-btm
------------------------------------*/
.obito-btm { padding: 0 7%; }
.obito-btm .sns { margin: 0 0 20px -5px; }
.obito-btm .sns li a { display: block; padding: 5px; }
.obito-btm .sns li img { filter: saturate(0%) brightness(85%) contrast(100%); }

.obito-btm p,
.obito-btm p a { color: var(--color-black); }

.obito-btm p {
	font-size: 13px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.obito-btm p a {
	display: inline-block;
	margin-left: -4px;
	font-size: 12px;
	text-decoration: underline;
	letter-spacing: 0;
	transform: translateY(-1px);
}


/* page shopping-guide
---------------------------------------------------------------------------*/
#shopping-guideContents {
  padding: 0 4.5%;
}

/* .sec-guide
------------------------------------*/
.sec-guide {
	border-top: 1px solid var(--color-border-light-gray);
	margin: 0 auto 80px;
  padding: 15px 10px 0 5px;
}

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

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

.sec-guide h3 {
	margin: 0 0 12px -5px;
	font-size: 15px;
  line-height: 1.7;
	letter-spacing: 0.06em;
}

.sec-guide h3:not(:first-child) { margin-top: 55px; }

.sec-guide h4 {
	margin: 0 0 20px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.sec-guide h4:not(:first-child) { margin-top: 60px; }
.sec-guide .inner-s { padding-left: 20px; }

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

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

.sec-guide p a,
.sec-guide .attention-list li a { text-decoration: underline; }

.sec-guide figure { margin-top: 25px; }

.sec-guide ul { margin: 20px 0 20px; }
.sec-guide ul.mt { margin-top: -10px; }
.sec-guide ul li br { display: none; }

.sec-guide .box-wrap { margin-top: 25px; }

.sec-guide .box {
	display: inline-block;
	background-color: #EFEFEF;
	margin: 10px 0 22px;
	padding: 13px 21px 13px;
}

.sec-guide .box.pd-l { padding: 20px 20px 18px 24px; }

.sec-guide .box-wrap .box {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 5px;
}

.sec-guide .box:has(table) {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 28px 28px;
}

.sec-guide .box p {
  font-size: 13px;
  text-align: left;
}

.sec-guide .box table {
	width: 100%;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.sec-guide .box th,
.sec-guide .box td {
	padding: 6px 0;
	border-bottom: 1px solid var(--color-border-light-gray);
}

.sec-guide .box th:nth-of-type(2),
.sec-guide .box td:nth-of-type(2) {
	padding-right: 5px;
	text-align: right;
}

.sec-guide .box + .attention-list { margin-top: -5px; }
.sec-guide .attention-list { margin-top: 15px; }

.sec-guide .attention-list li {
	margin-bottom: 4px;
  line-height: 1.8 !important;
	letter-spacing: 0.05em;
}


/* page gallery
---------------------------------------------------------------------------*/
body.gallery {
	background-color: #FFFFFF;
	height: 100vh;
	height: 100dvh;
}

body.gallery footer {
	display: none !important;
}

.gallery-wrap {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: start;
	align-items: flex-start;
}

.gallery-nav {
	box-sizing: border-box;
	position: sticky;
	top: 0;
	left: 0;
	width: 65px;
	min-width: 65px;
	height: 100vh;
	margin-top: -35px;
	padding: 35px 0 0 23px;
	color: var(--color-black);
	white-space: nowrap;
	z-index: 100;
}

.gallery-nav h1 {
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	font-size: 18px;
	letter-spacing: 0.28em;
}

.gallery-nav-btn {
	position: fixed;
	bottom: 19px;
	left: 13px;
	z-index: 101;
	opacity: 0;
}

.gallery-nav-btn div img {
	width: 40px;
}

.gallery-nav-btn .close {
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 0;
	z-index: 1;
}

.gallery-nav-count {
	position: absolute;
	top: 35px;
	right: 30px;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-align: right;
	white-space: nowrap;
}

.gallery-nav-count .fill { margin-bottom: 15px; }
.gallery-nav-count .hit .current { padding-right: 3px; }
.gallery-nav-count .hit .all { padding-left: 3px; }

.gallery-nav nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 100;
	opacity: 0;
}

/*.gallery-nav nav.btm {
	position: absolute;
}*/

.gallery-nav nav h1 {
	position: absolute;
	top: 35px;
	left: 23px;
}

.gallery-nav nav dl {
	overflow-y: scroll;
	position: absolute;
	bottom: 20px;
	left: 73px;
	box-sizing: border-box;
	width: calc(100% - 73px - 30px);
	max-height: calc(100% - 140px);
	padding: 0 0 0 10px;
	opacity: 0;
}

.gallery-nav nav dl > div {
	margin-bottom: 30px;
}

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

.gallery-nav nav dt {
	margin: 50px 0 20px -8px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.gallery-nav nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 14px;
}

.gallery-nav nav li {
	background-color: #FFFFFF;
	border: 1px solid #DEDEDE;
	border-radius: 5px;
	padding: 10px 10px 10px 11px;
	font-size: 14px;
	letter-spacing: 0.04em;
	text-align: left;
	white-space: nowrap;
}

.gallery-nav nav ul.year li {
	padding-top: 12px;
	padding-bottom: 8px;
	font-family: var(--font-serif);
	font-size: 15px;
	letter-spacing: 0.04em;
}

.gallery-nav nav li.current {
	background-color: #85868A;
	border-color: #85868A;
	color: #FFFFFF;
}

/* .gallery-list
------------------------------------*/
.gallery-inner { width: 100%; }
.gallery-list { width: 100%; }

.gallery-list article {
	width: 44%;
	margin: 0 6% 6% 0;
	transition: none !important;
}

.gallery-list figure img { width: 100%; height: auto; }

.no-result {
	display: none;
	position: relative;
	width: calc(100% - 30px);
  height: calc(100vh - 200px);
}

.no-result p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 14px;
	line-height: 1.9;
	text-align: center;
	white-space: nowrap;
}


/* page gallery single
---------------------------------------------------------------------------*/
body.gallery-single { background-color: #FFFFFF; }
body.gallery-single footer { display: none; }

#galleryContents.archive {
	/*margin-top: -45px;
	padding-top: 45px;*/
}

#galleryContents.single {
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	background: #FFFFFF;
	width: 100%;
	height: 100%;
	padding: 0;
	z-index: 10100;
}

.gallery-close {
	position: fixed;
	top: 0;
	right: 0;
	padding: 30px;
	z-index: 10;
}

.gallery-close img {
	width: 54px;
}

.gallery-img-wrap {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	padding: 0;
}

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

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

.gallery-img .inner img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	max-width: 100%;
	height: auto !important;
	max-height: calc(100vh - 160px);
	max-height: calc(100dvh - 160px);
	margin: 0 auto !important;
}

.gallery-img .slick-arrow {
	position: absolute;
	top: calc(100vh - 38px);
	top: calc(100dvh - 38px);
	background: url(img/share/btn-modal-arrow.svg) no-repeat center center;
	background-size: 8px auto;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	z-index: 10;
}

.gallery-img .slick-prev { right: 45px; transform: translateY(-50%) scaleX(-1); }
.gallery-img .slick-next { right: 15px; transform: translateY(-50%); }

.gallery-title {
	box-sizing: border-box;
	position: absolute;
	top: calc(100vh - 90px);
	top: calc(100dvh - 90px);
	left: 0;
	width: 100%;
	height: 100px;
}

.gallery-title-inner {
	box-sizing: border-box;
	position: absolute;
	bottom: 50%;
	left: 0;
	transform: translateY(50%);
	width: 100%;
	padding: 0 90px 0 8%;
}

.gallery-title h1 {
	display: inline;
	margin-right: 7px;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.gallery-title .txt-btn {
	display: inline-block;
	border: 1px solid #D8D8D8;
	border-radius: 20px;
	margin-top: 10px;
	padding: 1px 12px 5px 13px;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0.02em;
	transform: translateY(-3px);
}

.gallery-title .cnt {
	display: none !important;
}

.gallery-title .cnt span {
	padding: 0 3px 0 2px;
}

.gallery-txt {
	max-height: none !important;
	padding: 5px 8% 45px;
}

.gallery-txt p {
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}

.gallery-txt > p {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.04em;
}

.gallery-txt p a {
	text-decoration: underline;
}

.gallery-txt .txt {
	margin-top: 25px;
}

.gallery-txt .txt p {
	line-height: 1.8;
}


/* page about
---------------------------------------------------------------------------*/
#aboutContents .img-main {
	height: 125vw;
	margin-bottom: -1px;
}

#aboutContents .img-main picture img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* .sec-about-lead
------------------------------------*/
.sec-about-lead {
	position: relative;
	box-sizing: border-box;
	background: linear-gradient(-28deg, rgba(20, 19, 31, 1) 10%, rgba(29, 35, 63, 1) 30%, rgba(20, 21, 36, 1) 100%);
	width: 100%;
	padding: 135px calc(7% + 10px) 65px;
}

.sec-about-lead:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png) repeat left top;
	background-size: 200px auto;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.8;
	pointer-events: none;
}

.sec-about-lead > div {
	color: #E4E4E4;
}

.sec-about-lead > div.inner1 p {
	margin-bottom: 10px;
	letter-spacing: 0.05em !important;
}

.sec-about-lead .inner1 {
	margin-bottom: 30px;
}

.sec-about-lead .inner1 h1 {
	margin-bottom: 24px;
	margin-left: 2px;
	color: #E4E4E4;
	font-size: 15px;
	letter-spacing: 0.14em;
}

.sec-about-lead > div h2 {
	color: #EBEBEB;
}

.sec-about-lead .inner1 h2 {
	margin: 0 0 24px -1px;
	font-size: 27px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.sec-about-lead .inner1 .copy-en1 {
	position: absolute;
	top: 40px;
	right: 32px;
	font-size: 14px;
	letter-spacing: 0.04em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-about-lead .inner1 .copy-en2 {
	position: absolute;
	top: 40px;
	right: 62px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-about-lead .inner1 .img1 {
	margin-top: 50px;
	margin-bottom: 20px;
}

.sec-about-lead .inner2 figure {
	margin-top: 50px;
}

.sec-about-lead .inner2 h2 {
	margin-bottom: 20px;
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1.7;
	text-align: center;
}

/* .sec-about-history
------------------------------------*/
.sec-about-history {
	margin-bottom: 90px;
	padding: 0;
}

.sec-about-history > h2 {
	margin-bottom: 16px;
	line-height: 1.75;
	letter-spacing: 0.17em;
}

.sec-about-history > p {
	text-align: center;
}

.about-history {
	position: relative;
	box-sizing: border-box;
	margin: 55px auto 0;
	padding-right: calc(5% + 5px);
	padding-left: calc(5% + 60px);
	text-align: left;
}

.about-history h2 {
	position: absolute;
	top: 0;
	left: calc(7% - 7px);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-history h2 span {
	display: inline-block;
	margin-right: 2px;
	padding: 2px 0px 2px 0px;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.1em;
}

.about-history .img {
	margin-bottom: 32px;
}

.about-history .img figcaption {
	margin-top: 10px;
	color: var(--color-black);
	font-size: 10px;
	letter-spacing: 0.04em;
}

.about-history .txt {
	padding: 0;
}

.about-history .txt h3 {
	margin: 0 0 12px 1px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.about-history .txt h4 {
	margin-bottom: 16px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.about-history .txt p {
	line-height: 1.9;
}

.about-history h5 {
	margin-top: 30px;
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

/* .about-history-box
------------------------------------*/
.about-history-box {
	box-sizing: border-box;
	margin: 55px auto 60px;
}

.about-history-box > div {
	position: relative;
	background: var(--color-bg-light-gray);
	padding: 45px calc(7% + 5px) 45px;
}

.about-history-box > div:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern.png) repeat left top;
	background-size: 200px auto;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.5;
	pointer-events: none;
}

.about-history-box .inner {
	margin-bottom: 30px;
	z-index: 1;
}

.about-history-box .inner:last-of-type {
	margin-bottom: 0;
}

.about-history-box .inner h3 {
	margin-bottom: 13px;
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 0.1em;
	text-align: left;
}

.about-history-box .inner p {
	font-size: 13px;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .sec-about-project
------------------------------------*/
.sec-about-project {
	width: 100%;
}

.sec-about-project .img-scroll {
	margin-bottom: 45px;
}

.sec-about-project .img-scroll .inner {
	margin: 0;
}

.about-project {
	margin-bottom: 80px;
}

.about-project h2 {
	margin-bottom: 16px;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.about-project .btn-arrow {
	margin-bottom: 35px;
}

.about-project p {
	margin-bottom: 10px;
	line-height: 1.95;
}

.about-message {
	position: relative;
	display: -webkit-box;
	display: flex;
}

.about-message figure {
	width: 75px;
	min-width: 75px;
	padding-top: 5px;
}

.about-message .txt {
	padding: 0 0 0 22px;
}

.about-message .txt h3 {
	position: absolute;
	top: -26px;
	left: calc(7% + 8px);
	font-size: 14px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.about-message .txt p {
	margin-bottom: 9px;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.01em !important;
}

.about-message .txt .name {
	margin-top: 14px;
	color: var(--color-black);
	white-space: nowrap;
}

.about-message .txt .name em {
	padding-right: 10px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.about-message .txt .name strong {
	font-size: 14px;
	letter-spacing: 0.04em;
}

.sec-about-project .about-pamphlet {
	margin: 65px auto 0;
}

.sec-about-project .about-pamphlet h3 {
	margin-bottom: 16px;
	font-size: 15px;
	letter-spacing: 0.02em;
}

.sec-about-project .about-pamphlet .bnr img {
	width: 100%;	
}



/* page craftsman
---------------------------------------------------------------------------*/

/* .sec-craftsman-point1
------------------------------------*/
.sec-craftsman-point {
	margin-bottom: 75px;
}

/* .sec-craftsman-point2
------------------------------------*/
.sec-craftsman-point2 {
	margin: 0 auto 90px;
}

.sec-craftsman-point2 .txt {
	margin-bottom: 60px;
}

.sec-craftsman-point2 .tips {
	position: relative;
	box-sizing: border-box;
	width: calc(100% - 10px);
	margin: 45px auto 0;
	padding: 10px 28px 4px;
}

.sec-craftsman-point2 .tips > i {
	display: block;
	position: absolute;
	top: 0;
	background-color: rgba(0,0,0,0.3);
	width: 1px;
	height: 100%;
	opacity: 0.5;
}

.sec-craftsman-point2 .tips > i:nth-of-type(1) { left: 0; }
.sec-craftsman-point2 .tips > i:nth-of-type(2) { right: 0; }

.sec-craftsman-point2 .tips > i:before,
.sec-craftsman-point2 .tips > i:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background-color: rgba(0,0,0,0.3);
	width: 4px;
	height: 1px;
}

.sec-craftsman-point2 .tips > i:after {
	top: auto;
	bottom: 0;
}

.sec-craftsman-point2 .tips > i:nth-of-type(1):before,
.sec-craftsman-point2 .tips > i:nth-of-type(1):after {
	left: 0;
}

.sec-craftsman-point2 .tips > i:nth-of-type(2):before,
.sec-craftsman-point2 .tips > i:nth-of-type(2):after {
	right: 0;
}

.sec-craftsman-point2 .tips h4 {
	margin-bottom: 16px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.sec-craftsman-point2 .tips p {
	padding: 0;
	font-size: 13px;
	line-height: 1.85;
	letter-spacing: 0.01em !important;
}

.sec-craftsman-point2 .img {
	position: relative;
}

.sec-craftsman-point2 .img1 {
	margin-bottom: 20px;
}

/* .interview-list
------------------------------------*/
.interview-list-wrap {
	margin: 0 auto;
}

.interview-list-wrap > h2 {
	margin-bottom: 22px;
}

.interview-list-wrap > h2 em {
	display: block;
	margin: 0 0 16px 1px;
	color: var(--color-gold);
	font-family: var(--font-min-r);
	font-size: 13px;
	letter-spacing: 0.05em;
}

.interview-list-wrap > h2 strong {
	display: block;
	font-size: 19px;
	letter-spacing: 0.08em;
}

.interview-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 45px auto 0;
}

.interview-list .inner {
	width: 47%;
	margin: 0 0 35px;
}

.interview-list .inner:nth-last-of-type(1),
.interview-list .inner:nth-last-of-type(2) {
	margin-bottom: 0;
}

.interview-list .inner > a {
	display: block;
}

.interview-list figure {
	position: relative;
	margin-bottom: 18px;
}

.interview-list figure.uc:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #313040;
	width: 100%;
	height: 100%;
	opacity: 0.6;
	z-index: 1;
}

.interview-list figcaption {
	position: absolute;
	bottom: 16px;
	left: 0;
	width: 100%;
	color: #FFFFFF;
	font-size: 11px;
	letter-spacing: 0.04em;
	text-align: center;
	white-space: nowrap;
	z-index: 2;
}

.interview-list h3 {
	margin-bottom: 12px;
}

.interview-list h3 em {
	display: block;
	margin: 0 0 12px 1px;
	font-size: 11px;
	letter-spacing: 0.12em;
}

.interview-list h3 strong {
	display: block;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.interview-list p {
	color: var(--color-black);
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}


/* page craftsman single
---------------------------------------------------------------------------*/
body.interview footer {
	margin-top: 0;
}

.contents.interview {
	background: url(img/share/bg-interview@2x.jpg) repeat left top;
	background-size: 200px auto;
	padding-bottom: 170px;
	color: var(--color-black);
}

.contents.interview .sec-lead h1 {
  margin-bottom: 20px;
  letter-spacing: 0.12em;
}

.contents.interview .sec-lead h2 {
	margin-bottom: 16px;
	font-size: 18px;
	line-height: 1.7;
}

.contents.interview .sec-lead h3 {
	margin-bottom: 40px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.contents.interview .sec-lead p,
.sec-interview-txt p,
.sec-interview-profile p {
	color: var(--color-gray);
}

.contents.interview .sec-lead p {
	line-height: 1.9;
}

.sec-interview-img {
	margin: 0 auto 60px;
}

.sec-interview-img:has(+ .sec-interview-profile) {
	margin-top: 100px;
	padding-right: 0;
	padding-left: 0;
}

.sec-interview-img figure:not(:last-of-type) {
	margin-bottom: 10px;
}

.sec-interview-txt {
	margin: 0 auto 60px;
}

.sec-interview-txt .inner:not(:last-child) {
	margin-bottom: 60px;
}

.sec-interview-txt h3 {
	margin-bottom: 18px;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;	
}

.sec-interview-txt p {
	margin-bottom: 16px;
	letter-spacing: 0.03em !important;
}

.sec-interview-profile {
	margin: 60px auto 100px;
	padding: 0 calc(7% + 10px);
}

.sec-interview-profile .txt-img {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	margin-bottom: 22px;
}

.sec-interview-profile .txt-img figure {
	width: 105px;
	min-width: 105px;
}

.sec-interview-profile .txt-img div {
	padding: 0 0 6px 22px;
}

.sec-interview-profile h3 {
	margin-bottom: 16px;
}

.sec-interview-profile h3 em {
	display: block;
	margin: 0 0 15px;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.sec-interview-profile h3 strong {
	display: block;
	margin-left: -1px;
	font-size: 20px;
	letter-spacing: 0.08em;
}

.sec-interview-profile h4 {
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.sec-interview-profile p {
	/* line-height: 1.8; */
}


/* page silk
---------------------------------------------------------------------------*/

/* .sec-silk1
------------------------------------*/
.sec-silk1 {
	margin: 0 auto 75px;
}

.sec-silk1 .img-txt {
	margin-bottom: 65px;
}

.sec-silk1 .img-txt2 {
	margin-bottom: 0;
}

.sec-silk1 .img-txt figure,
.sec-craftsman-point1 figure,
.sec-oriba .inner figure {
	margin-bottom: 34px;
}

.sec-silk1 .img-txt2 figure {
	width: 35%;
	margin-bottom: 30px;
	margin-right: auto;
	margin-left: auto;
}

.sec-silk1 .img-txt figcaption {
	margin-top: 8px;
	color: var(--color-light-gray);
	font-size: 12px;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-silk1 .img-txt2 .txt img {
	display: block;
	margin: 0 auto;
}

/* .img-slide-silk
------------------------------------*/
.img-slide-silk {
	box-sizing: border-box;
	padding: 0 6%;
}

.img-slide-silk,
.img-slide-silk .img-slide,
.img-slide-silk .slick-list,
.img-slide-silk .slick-track {
	width: 100% !important;
}

.img-slide-silk .img-slide:not(:last-of-type) {
	margin-bottom: 5px;
}

/* .sec-silk2
------------------------------------*/
.sec-silk2 .img-txt {
	margin: 30px auto 60px;
}


/* page design
---------------------------------------------------------------------------*/

/* .sec-design1
------------------------------------*/
.sec-design1 {
	margin: 0 auto 75px;
}

.sec-design1 > figure {
	margin: -5px auto 65px;
}

.sec-design1 .sec-inner {
	margin: 0 auto;
}

.sec-design1 h2,
.sec-craftsman-point h2 {
	margin-bottom: 18px;
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: center;
}

.sec-design1 h2,
.sec-craftsman-point1 h2 {
	display: none;
}

.sec-design1 .img-txt .inner {
	margin-bottom: 60px;
}

.sec-design1 .img-txt .inner:last-of-type {
	margin-bottom: 0;
}

.sec-design1 .img-txt .inner figure {
	width: 74%;
	margin: 0 auto 25px;
}

.sec-design1 .img-txt .inner .txt {
	padding: 0 10px;
}

.sec-silk1 .img-txt .txt h2,
.sec-silk2 .img-txt .txt h2,
.sec-design1 .img-txt .inner .txt h3,
.sec-craftsman-point h3,
.sec-oriba .inner .txt h2 {
	margin-bottom: 18px;
	font-size: 18px;
	line-height: 1.9;
	letter-spacing: 0.1em;
	text-align: center;
}

.sec-craftsman-point h2 + .txt h3 {
	margin-bottom: 22px;
}

.sec-top-oriba .txt p,
.sec-about-lead > div p, .about-history .txt p, .about-project p, .about-message .txt p,
.sec-project-point p,
.sec-hakataori .txt p, .sec-hakataori-pattern h2 + p, .sec-hakataori-kenjou .txt p, .hakataori-flow-list p, .hakataori-history-list dd, .hakataori-history-list dd p, .sec-hakataori-flow > p,
.sec-silk1 .img-txt .txt p,
.sec-silk2 .img-txt .txt p,
.sec-design1 .img-txt .inner .txt p,
.sec-design2 > .inner p,
.sec-design-case p,
.sec-craftsman-point .txt p, .interview-list-wrap > p, .sec-interview-txt p, .sec-interview-profile p,
.sec-oriba .inner .txt p, .sec-factory .txt > p,
.sec-original-flow .dl dd p, .sec-original-point .inner p {
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-top-oriba .txt p br,
.sec-lead > p br,
.sec-about-lead > div p br, .about-history .txt p br, .about-project p br, .about-message .txt p br,
.sec-hakataori-flow > p br,
.sec-design-case p br,
.sec-craftsman-point .txt p br, .interview-list-wrap > p br, .sec-interview-profile p br,
.sec-factory .txt > p br {
	display: none;
}

/* .sec-design2
------------------------------------*/
.sec-design2 {
	width: 100%;
	margin: 0 auto 75px;
}

.sec-design2 .img-scroll {
	margin-bottom: 40px;
}

.img-scroll {
	display: -webkit-box;
	display: flex;
}

.img-scroll .inner {
	margin: 0 1px;
}

.img-scroll .inner img {
	width: auto;
	height: 120px;
}

.sec-design2 > .inner,
.sec-design3 > .inner {
	
}

.sec-design2 > .inner {
	
}

.sec-design2 > .inner h2,
.sec-design3 > .inner h2 {
	margin-bottom: 20px;
	text-align: center;
}

.sec-design2 > .inner h2 em,
.sec-design3 > .inner h2 em {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	letter-spacing: 0.14em;
}

.sec-design2 > .inner h2 strong,
.sec-design3 > .inner h2 strong {
	display: block;
	font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

/* .sec-design3
------------------------------------*/
.sec-design3 {
	margin: 0 auto;
}

.sec-design3 figure {
	margin-bottom: 55px;
}

/* .sec-design-case
------------------------------------*/
.sec-design-case {
	width: 100%;
	color: var(--color-black);
	text-align: center;
}

.sec-design-case .sec-inner {
	margin: 0 auto;
}

.sec-design-case figure {
	position: relative;
	margin-bottom: 40px;
}

.sec-design-case figcaption {
	position: absolute;
	bottom: 15px;
	left: 15px;
	color: #FFFFFF;
	font-size: 11px;
	letter-spacing: 0.02em;
}

.sec-design-case h2 {
	margin-bottom: 20px;
	font-size: 17px;
}

.sec-design-case p {
	padding: 0 calc(7% + 6px);
}

.sec-design-case .btn-wrap {
	width: 86%;
	margin: 40px auto 0;
}

.sec-design-case .btn-wrap .btn-line {
	margin-bottom: 15px;
}


/* page hakataori
---------------------------------------------------------------------------*/

/* .sec-hakataori
------------------------------------*/
.sec-hakataori {
	margin: 0 auto 60px;
}

.sec-hakataori .img {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 45px;
}

.sec-hakataori .img figure:nth-of-type(2) {
	margin: 0 5px;
}

.sec-hakataori .img figure:nth-of-type(2):last-of-type,
.sec-hakataori-kenjou > .img-set figure:last-of-type {
	margin: 0 0 0 5px;
}

.sec-hakataori h2 {
	margin-bottom: 14px;
	font-size: 19px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

/* .sec-hakataori-pattern
------------------------------------*/
.sec-hakataori-pattern {
	border-top: 1px solid var(--color-border-light-gray);
	margin: 0 auto 50px;
	padding-top: 60px;
}

.sec-hakataori-pattern .sec-inner {
	margin: 0 auto;
}

.sec-hakataori-pattern h2 {
	/*margin-bottom: 18px;*/
	margin-bottom: 30px;
	font-size: 19px;
	letter-spacing: 0.16em;
}

/*.sec-hakataori-pattern h2 + p {
	margin-bottom: 35px;
}*/

.hakataori-pattern-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.hakataori-pattern-list li {
	width: 47%;
	margin: 0 0 30px;
}

.hakataori-pattern-list figure {
	margin-bottom: 15px;
}

.hakataori-pattern-list h3 {
	margin-bottom: 13px;
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: center;
}

.hakataori-pattern-list h3 span {
	display: inline-block;
	padding-left: 2px;
	font-size: 10px;
	letter-spacing: 0.02em;
}

.hakataori-pattern-list p {
	font-size: 12px;
	line-height: 1.75;
	letter-spacing: 0.01em;
	text-align: justify;
}

/* .sec-hakataori-kenjou
------------------------------------*/
.sec-hakataori-kenjou {
	margin: 0 auto 60px;
}

.sec-hakataori-kenjou > .img-set {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 45px;
}

.sec-hakataori-kenjou .txt {
	margin-bottom: 50px;
}

.sec-hakataori-kenjou .txt h2 {
	margin-bottom: 19px;
	font-size: 19px;
	letter-spacing: 0.12em;
}

.sec-hakataori-kenjou .motif {
	overflow: hidden;
	box-sizing: border-box;
	background-color: var(--color-bg-light-gray);
	padding-top: 50px;
	padding-bottom: 20px;
	padding-right: 7%;
}

.sec-hakataori-kenjou .motif h3 {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 35px;
}

.sec-hakataori-kenjou .motif h3:not(:first-of-type) {
	position: relative;
	margin-top: 45px;
	padding-top: 45px;
}

.sec-hakataori-kenjou .motif h3:not(:first-of-type):after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -20%;
	background-color: var(--color-border-light-gray);
	width: 140%;
	height: 1px;
}

.sec-hakataori-kenjou .motif h3 strong {
	display: inline-block;
	position: relative;
	padding: 0 11px;
	font-size: 16px;
	letter-spacing: 0.04em;
}

.sec-hakataori-kenjou .motif h3 strong:before,
.sec-hakataori-kenjou .motif h3 strong:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background: url(img/share/ico-brackets.svg) no-repeat left top;
	width: 3px;
	height: 21px;
	transform-origin: top;
	transform: scaleY(0.8);
}

.sec-hakataori-kenjou .motif h3 strong:before { left: 0; }
.sec-hakataori-kenjou .motif h3 strong:after { right: 0; transform: scaleX(-1) scaleY(0.8); }

.sec-hakataori-kenjou .motif h3 em {
	color: var(--color-gold);
	font-size: 14px;
	letter-spacing: 0.06em;
	text-align: right;
	transform: translateY(2px);
}

.sec-hakataori-kenjou .motif dl > div {
	margin-bottom: 25px;
}

.sec-hakataori-kenjou .motif dt {
	position: relative;
	margin-bottom: 14px;
	padding-top: 1px;
	padding-left: 29px;
	color: var(--color-black);
	font-family: var(--font-min-d);
	font-size: 14px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.sec-hakataori-kenjou .motif dt i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: left center;
	transform: scale(0.9);
}

.sec-hakataori-kenjou .motif .motif2 dt i { top: -3px; left: -4px; }
.sec-hakataori-kenjou .motif .motif2 dl > div:nth-of-type(1) dt i { left: -3px; }

.sec-hakataori-kenjou .motif dt span {
	padding-left: 4px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.sec-hakataori-kenjou .motif dd p {
	color: var(--color-light-gray);
	line-height: 1.75;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .sec-hakataori-flow
------------------------------------*/
.sec-hakataori-flow {
	margin: 0 auto 75px;
}

.sec-hakataori-flow > h2,
.sec-hakataori-flow > h3,
.sec-hakataori-flow > p {
	padding: 0 10px;
}

.sec-hakataori-flow > h2 {
	margin-bottom: 18px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.sec-hakataori-flow > h3 {
	margin-bottom: 22px;
	font-size: 19px;
	letter-spacing: 0.08em;
}

.hakataori-flow-list {
	margin-top: 50px;
	padding: 0 5px;
}

.hakataori-flow-list .inner:not(:last-of-type) {
	margin-bottom: 50px;
}

.hakataori-flow-list figure {
	margin-bottom: 35px;
}

.hakataori-flow-list .txt {
	padding: 0 5px;
}

.hakataori-flow-list h4 {
	position: relative;
	margin-bottom: 25px;
	padding-left: 57px;
	font-size: 18px;
	letter-spacing: 0.08em;
}

.hakataori-flow-list h4:before {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	left: 37px;
	background-color: var(--color-light-gray);
	width: 1px;
	height: 32px;
	opacity: 0.5;
}

.hakataori-flow-list h4 i {
	display: block;
	position: absolute;
	top: -2px;
	left: 6px;
	font-family: var(--font-min-r);
	font-size: 22px;
}

.hakataori-flow-list h4 span {
	display: inline-block;
	margin-top: -25px;
}

.hakataori-flow-list h4 ruby {
	position: relative;
}

.hakataori-flow-list h4 rt {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 9px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

_::-webkit-full-page-media, _:future, :root .hakataori-flow-list h4 rt {
	transform: translateX(0) translateY(4px);
}

/* .sec-hakataori-history
------------------------------------*/
.sec-hakataori-history {
	border-top: 1px solid var(--color-border-light-gray);
	margin: 0 auto;
	padding-top: 60px;
}

.sec-hakataori-history > h2 {
	margin-bottom: 10px;
	font-size: 19px;
	letter-spacing: 0.1em;
}

.hakataori-history-list > div {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 0 0 42px;
}

.hakataori-history-list > div:not(:first-of-type) {
	border-top: 1px solid var(--color-border-light-gray);
}

.hakataori-history-list > div:last-of-type {
	margin-bottom: 0;
}

.hakataori-history-list dt {
	position: absolute;
	top: 35px;
	left: 1px;
	font-size: 16px;
	letter-spacing: 0.14em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.hakataori-history-list dt:has(+ dd.flex) {
	top: 30px;
}

.hakataori-history-list dd.flex figure {
	margin-bottom: 18px;
}
.hakataori-history-list p {
	line-height: 1.9;
}



/* page project
---------------------------------------------------------------------------*/
#projectContents .sec-lead > h2 {
	margin-bottom: 24px;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

/* .sec-project-point
------------------------------------*/
.sec-project-point {
	margin: 60px auto 60px;
}

.sec-project-point .inner:not(:last-of-type) {
	margin-bottom: 50px;
}

.sec-project-point figure {
	margin-bottom: 28px;
}

.sec-project-point h3 {
	margin-bottom: 18px;
	font-size: 17px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: center;
}

.sec-project-point p {
	line-height: 1.85;
	padding: 0 10px;
}

.sec-project-point p br {
	display: none;
}

/* .project-nav
------------------------------------*/
.project-nav {
	position: relative;
	padding-top: 60px;
}

.project-nav:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border-light-gray);
	width: 100%;
	height: 1px;
}

.project-nav > div {
	margin-bottom: 60px;
	text-align: center;
}

.project-nav > div a {
	display: block;
}

.project-nav > div figure {
	margin-bottom: 28px;
}

.project-nav > div h2 {
	margin-bottom: 15px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.project-nav > div:nth-of-type(2) h2 {
	margin-bottom: 13px;
}

.project-nav > div h3 {
	font-size: 16px;
	letter-spacing: 0.04em;
}

/* .sec-project-list
------------------------------------*/
.sec-project-list {
	margin: 0 auto;
}

.sec-project-list > h2 {
	margin-bottom: 36px;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: center;
}

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

.project-list > div {
	width: 80%;
	margin: 0 auto 40px;
}

.project-list > div:last-of-type {
	margin-bottom: 0;
}

.project-list > div.main {
	width: 100%;
	margin-bottom: 60px;
}

.project-list > div figure {
	margin-bottom: 24px;
}

.project-list > div.main figure {
	margin-bottom: 23px;
}

.project-list > div.main h3 {
	padding-left: 5%;
}

.project-list > div h3 strong {
	display: block;
	margin-bottom: 14px;
	font-size: 16px;
	letter-spacing: 0.03em;
}

.project-list > div h3 strong span.en {
	letter-spacing: 0;
}

.project-list > div h3 strong span.en.size-s {
	font-size: 14px;
}

.project-list > div h3 em {
	display: block;
	color: var(--color-light-gray);
	font-size: 12px;
	letter-spacing: 0.02em;
}

/* .modal-project
------------------------------------*/
.modal-project {
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--color-bg-white);
	width: 100%;
	height: 100%;
	z-index: -999;
	opacity: 0;
	pointer-events: none;
}

.modal-project.active,
.modal-project-inner.active {
	z-index: 10100;
	pointer-events: auto;
}

.modal-project-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 24px 24px;
	z-index: 10101;
}

.modal-project-close img,
.gallery-nav-close img {
	width: 45px;
}

.modal-project-inner {
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-bg-white);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	pointer-events: none;
	opacity: 0;
}

.modal-project-slide {
	width: 100%;
	margin-top: calc(50dvh - (100vw * 0.36));
}

.modal-project-slide .slick-initialized .slick-slide {
	height: calc(100vh - 200px);
}

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

.modal-project-slide .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	height: 71.4vw;
	opacity: 0;
}

.modal-project-slide .inner:first-of-type {
	position: static !important;
	opacity: 1;
}

.modal-project-slide .inner img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.modal-project-slide .slick-arrow {
	position: fixed;
	top: 21.5px;
	background: url(img/share/ico-arrow-list.svg) no-repeat center center;
	background-size: 9px auto;
	width: 20px;
	height: 20px;
	text-indent: -9999px;
}

.modal-project-slide .slick-prev { left: 18px; transform: scaleX(-1); }
.modal-project-slide .slick-next { left: 43px; }

.modal-project-slide .slick-dots {
	position: fixed;
	top: 22px;
	left: 40px;
}

.modal-project-slide .slick-dots li {
	position: relative;
	display: inline-block;
	width: 17px;
	height: 19px;
}

.modal-project-slide .slick-dots li:first-of-type:last-of-type {
	opacity: 0 !important;
}

.modal-project-slide .slick-dots button {
	position: relative;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	transition: .15s ease-out;
}

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

.modal-project-slide .slick-dots .slick-active button:after {
	background: #555555;
}

.modal-project .txt {
	position: absolute;
	bottom: 25px;
	left: 8%;
	width: 84%;
}

.modal-project .txt nav {
	position: fixed;
	top: calc(50% + 40vw);
	right: 3%;
	z-index: 2;
}

.modal-project .txt nav ul {
	display: -webkit-box;
	display: flex;
}

.modal-project .txt nav li {
	padding: 9px;
}

.modal-project .txt nav li.prev {
	transform: scaleX(-1);
}

.modal-project .txt nav li.off {
	pointer-events: none !important;
	opacity: 0.4 !important;
}

.modal-project .txt nav li img {
	display: block;
	transform-origin: left top;
	transform: scaleY(0.45);
}

.modal-project .txt .year {
	display: block;
	margin-bottom: 14px;
	color: var(--color-black);
	font-family: var(--font-serif);
	font-size: 12px;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.modal-project .txt h3 {
	margin-bottom: 22px;
}

.modal-project .txt h3 strong {
	display: block;
	margin: 0 0 8px -1px;
	padding-right: 60px;
	font-size: 16px;
	line-height: 1.55;
	letter-spacing: 0.03em;
}

.modal-project .txt h3 strong br {
	display: none;
}

.modal-project .txt h3 em {
	display: block;
	margin-left: 1px;
	color: var(--color-light-gray);
	font-size: 10px;
	letter-spacing: 0.02em;
}

.modal-project .txt p {
	color: var(--color-light-gray);
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
}

.modal-project .txt p br { display: none; }

@media (max-height: 740px) {
	.modal-project-slide {
		margin-top: calc(((100dvh - 155px) / 2) - (100vw * 0.36));
	}
	.modal-project .txt {
		bottom: 20px;
	}
	.modal-project .txt nav {
		top: calc(((100dvh - 155px) / 2) + 39vw);
		right: 4%;
	}
	.modal-project .txt .year {
		margin-bottom: 5px;
	}
	.modal-project .txt h3 {
		margin-bottom: 18px;
	}
	.modal-project .txt h3 strong {
		font-size: 15px;
	}
	.modal-project .txt p {
		font-size: 12px;
		line-height: 1.7;
	}
}


/* page art-space
---------------------------------------------------------------------------*/
body.art-space footer {
	margin-top: 0;
}

.art-space-wrap > .btn-arrow,
#original-productsContents > .btn-arrow {
	margin: 90px 0 30px 17px;
}

.art-space-wrap > .btn-arrow a,
#original-productsContents > .btn-arrow a {
	letter-spacing: 0.04em;
}

.art-space-wrap > .btn-arrow a i,
#original-productsContents > .btn-arrow a i {
	margin-right: 9px;
	transform: translateY(5px) scaleX(-1);
}

.art-space-wrap > .btn-arrow a span,
#original-productsContents > .btn-arrow a span {
	padding-bottom: 3px;
}

/* .head-art-space
------------------------------------*/
.head-art-space {
	box-sizing: border-box;	
}

.head-art-space .title {
	margin: 45px 0 45px;
	text-align: center;
}

.head-art-space .title .logo-mark {
	display: none;
}

.head-art-space h1 {
	margin: 0;
	font-size: 18px;
	letter-spacing: 0;
	white-space: nowrap;
}

/* .nav-art-space
------------------------------------*/
.nav-art-space {
	display: none;
}

/*.nav-art-space li span {
	display: inline-block;
	padding: 4px 15px 14px 0;
	color: var(--color-black);
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0;
}*/

/* .art-space-list
------------------------------------*/
.art-space-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px 20px;
	padding: 0 10px;
}

.art-space-list article figure { margin-bottom: 13px; }
.art-space-list article figure img { width: 100%; }

.art-space-list article h2 {
	padding: 0 7px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

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

.modal-art-space .modal-project-close { position: fixed; }

.modal-art-space .modal-project-inner {
	display: none;
	top: 0;
	height: auto;
	z-index: 0;
}

.art-space-img { width: 100%; }
.art-space-img .img { margin-bottom: 2px; }
.art-space-img .img img { width: 100%; }

.art-space-img .img.column2,
.art-space-img .img.column3 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px 0;
}

.modal-art-space .txt {
	position: relative;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	padding: 90px 90px 25px 8%;
}

.modal-art-space .txt h3 {
	margin-bottom: 24px;
}

.modal-art-space .txt h3 strong {
	padding-right: 0;
}

.modal-art-space .txt nav {
	position: absolute;
	top: auto;
	bottom: 24px;
	right: 15px;
	margin: 0;
}

.modal-art-space .txt nav ul {
	display: block;
}

.modal-art-space .txt nav li {
	padding: 7px;
	font-size: 12px;
	letter-spacing: 0;
	text-align: right;
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.modal-art-space .txt nav li.prev {
	transform: scaleX(1);
	letter-spacing: 0.04em;
}

.modal-art-space .txt .btn-back-list {
	position: absolute;
	top: 22px;
	right: 22px;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	white-space: nowrap;
}


/* page original-products
---------------------------------------------------------------------------*/
body.original-products footer {
	margin-top: 0;
} 

#original-productsContents .sec-lead > h2 {
	margin-bottom: 24px;
}

#original-productsContents > .btn-arrow {
	margin-left: 7%;
}

/* .sec-original-point
------------------------------------*/
.sec-original-point {
	margin: 0 auto 80px;
}

.sec-original-point .inner:not(:last-of-type) {
	margin-bottom: 45px;
}

.sec-original-point .inner figure {
	margin-bottom: 24px;
}

.sec-original-point .inner h3 {
	margin-bottom: 14px;
	font-size: 17px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: center;
}

.sec-original-point .inner p {
	padding: 0 10px;
	line-height: 1.75;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .sec-original-case
------------------------------------*/
.sec-original-case {
	overflow: hidden;
	background: url(img/share/bg-pattern-gray.jpg) repeat left top / 200px auto;
	margin: 0 auto 65px;
	padding: 50px 7% 55px;
}

/* .nav-original-case
------------------------------------*/
.nav-original-case {
	margin: 0 auto 37px;
}

.nav-original-case ul {
	display: flex;
	justify-content: center;
}

.nav-original-case li {
	margin: 0 8px;
}

.nav-original-case li span {
	display: block;
	box-sizing: border-box;
	border-bottom: 1px solid var(--color-border-black);
	padding: 8px 4px 5px;
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.04em;
	text-align: center;
	white-space: nowrap;
	opacity: 0.5;
}

.nav-original-case li span.current {
	opacity: 1;
}

.nav-original-case li span.current {
	pointer-events: none !important;
}

/* .original-case-list
------------------------------------*/
.original-case-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px 20px;
	margin: 0 auto;
}

.original-case-list article figure {
	margin-bottom: 16px;
}

.original-case-list article figure:has(.noimg) {
	width: 100%;
}

.original-case-list article figure .noimg {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.original-case-list article .year {
	display: block;
	margin: 0 0 3px 1px;
	font-family: var(--font-serif);
	font-size: 12px;
	letter-spacing: 0.06em;
}

.original-case-list article h3 {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/* .sec-original-flow
------------------------------------*/
.sec-original-flow {
	margin: -60px auto 0;
	padding-top: 60px;
}

.sec-original-flow h2 {
	margin: 0 0 10px 2px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.sec-original-flow h2 span {
	padding-bottom: 5px;
}

.sec-original-flow .dl dl {
	border-bottom: 1px solid var(--color-border-gray);
	padding: 25px 8px 25px;
}

.sec-original-flow .dl dt {
	position: relative;
	box-sizing: border-box;
	margin-bottom: 10px;
	padding-left: 22px;
	color: var(--color-black);
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.07em;
}

.sec-original-flow .dl dt br {
	display: none;
}

.sec-original-flow .dl dt i {
	display: block;
	position: absolute;
	top: 0;
	left: 2px;
}

.sec-original-flow .dl dd p {
	line-height: 1.85;
}

.sec-original-flow .dl dd p br {
	display: none;
}

.sec-original-flow .attention-list {
	margin: 24px 0 36px 9px;
}

.sec-original-flow .attention-list li {
	margin-bottom: 3px;
	line-height: 1.8 !important;
}


/* page company
---------------------------------------------------------------------------*/
.sec-company {
	margin: 0 auto 120px;
	color: var(--color-black);
}

.sec-company h1 {
	margin: 0 0 40px 12px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.sec-company h2 {
	margin: 0 0 45px 10px;
	font-size: 25px;
	letter-spacing: 0.1em;
}

.sec-company dl p {
	margin-bottom: 13px;
}

.sec-company dl > div {
	padding-top: 5px;
	padding-bottom: 18px;
	padding-left: 0;
}

.sec-company dt {
	letter-spacing: 0.02em;
}

.img-company {
	margin: 0 auto 120px;
}

.sec-outline .txt {
	margin-bottom: 60px;
}

.sec-outline .txt dt {
	font-size: 12px;
}

.sec-outline .txt dd {
	padding: 8px 0 0 14px;
}

.sec-outline .txt dd .flex {
	margin-top: 2px;
	margin-bottom: 9px;
}

.sec-outline .txt dd .flex:last-child {
	margin-bottom: 4px;
}

.sec-outline .txt dd .flex em {
	font-size: 15px;
}

.sec-outline .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 430px;
}

.sec-outline .map iframe {
	display: block;
	position: absolute;
	top: -145px;
	left: -2px;
	width: calc(100% + 32px);
	height: calc(100% + 300px);
}


/* page contact
---------------------------------------------------------------------------*/
#contactContents {
	color: var(--color-black);
}

#contactContents .sec-lead.left h1,
#contactContents .sec-lead.left h2 {
	text-align: center;
}

#contactContents .sec-lead.left h2 {
	font-size: 17px;
}

/*.bnr-service {
	display: inline-block;
	border: 1px solid var(--color-border-light-gray);
	margin-top: 25px;
	padding: 18px 28px 22px 28px;
}

.bnr-service a {
	display: block;
	color: var(--color-black);
}

.bnr-service p {
	margin-bottom: 12px;
	font-size: 12px !important;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

.bnr-service h3 {
	font-size: 16px;
	letter-spacing: 0.12em;
}*/

#contactContents .sec-lead > p:has(+ .contact-link) {
	margin-top: 40px;
}

.contact-link {
	padding: 4px 10px 0;
}

.contact-link li {
	position: relative;
	margin-bottom: 24px;
	padding: 4px 0 0 30px;
}

.contact-link li > div {
	margin-bottom: 9px;
}

.contact-link li > div i {
	display: block;
	position: absolute;
	top: -1px;
	left: 2px;
	background: url(img/share/ico-arrow-btn.svg) no-repeat;
	width: 18px;
	height: 18px;
	margin-right: 12px;
	transform: translateY(4px);
}

.contact-link li > div a {
	display: inline-block;
	position: relative;
	padding-bottom: 1px;
	color: var(--color-black);
	font-size: 15px;
	letter-spacing: 0.1em;
}

.contact-link li > div a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-black);
	width: 100%;
	height: 1px;
}

.contact-link li > div a span {
	font-size: 13px;
}

.contact-link li p {
	color: var(--color-gray);
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.contact-link li p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .form-wrap
------------------------------------*/
.form-wrap { margin: 75px 0 0; }
.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { margin-bottom: 15px; }
.form-wrap dl div:has(dt.pt2) { margin-bottom: 25px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	margin: 0 0 8px 2px;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 15px;
	letter-spacing: 0.06em;
}

.form-wrap dt.pt2 { display: none; }

.form-wrap dt span {
	margin: 0 3px 0 10px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.form-wrap dt i {
	display: inline-block;
	background-color: #C7B197;
	border-radius: 3px;
	margin-left: 9px;
	padding: 3px 5px 4px 5px;
	color: var(--color-bg-white);
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.06em;
	white-space: nowrap;
	transform: translateY(-1px);
}

.form-wrap dd {
  box-sizing: border-box;
	min-height: 48px;
}

.form-wrap dd:has(.wpcf7-radio) {
	padding: 6px 0 0 4px;
}

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

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

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea,
.form-wrap select {
	display: inline-block;
	box-sizing: border-box;
	background-color: var(--color-bg-light-gray);
	border: none;
	border-radius: 0;
	width: 100%;
	height: 44px;
	padding: 10px 16px;
	font-family: var(--font-min);
	font-size: 16px;
	letter-spacing: 0.08em;
}

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

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

.form-wrap select {
  -webkit-appearance: none;
  appearance: none;
  background: var(--color-bg-light-gray) url(img/share/ico-plus.svg) no-repeat left 18px center;
	padding: 1px 20px 0 40px;
	font-size: 13px;
}

.form-wrap .wpcf7-checkbox {
	display: block;
	margin-left: 4px;
	transform: translateY(8px);
}

.form-wrap .wpcf7-checkbox .wpcf7-list-item {
	display: inline-block;
	margin-right: 20px;
	cursor: pointer;
}

.form-wrap .wpcf7-checkbox input[type="checkbox"] {
	margin-right: 9px;
	transform: scale(1.2) translateY(1px);
}

_::-webkit-full-page-media, _:future, :root .form-wrap .wpcf7-checkbox input[type="checkbox"] {
	transform: scale(1) translateY(1px);
}

.form-wrap .wpcf7-list-item-label {
	/*color: var(--color-black);*/
	font-size: 14px;
}

.form-wrap .dd-num .wpcf7-form-control-wrap {
	display: inline-block;
	width: auto;
	margin-right: 10px;
}

.form-wrap .dd-num input[type="text"] {
	width: 144px;
	text-align: right;
}

.form-wrap dd .txt-s {
	font-size: 14px;
	vertical-align: bottom;
}

.form-wrap dd .wpcf7-radio .wpcf7-list-item {
	display: inline-block;
	margin-right: 20px;
}

.form-wrap dd .wpcf7-radio .wpcf7-list-item input {
	margin-right: 5px;
	transform: translateY(1px);
}

/* .form-calendar
------------------------------------*/
.form-wrap dl div:has(dd .form-calendar) {
	margin-top: 20px;
}

.form-wrap dd:has(.form-calendar) {
	padding-top: 8px;
}

.form-calendar {
	width: 100%;
}

.form-calendar th,
.form-calendar td {
	padding-bottom: 6px;
}

.form-calendar th {
	padding: 4px 12px 0 2px;
	vertical-align: top;
	white-space: nowrap;
}

.form-calendar th p {
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.form-calendar td {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 6px;
}

.form-wrap .form-calendar input[type="text"],
.form-wrap .form-calendar .customSelect {
	background: var(--color-bg-light-gray) url(img/share/ico-arrow-gnav.svg) no-repeat right 10px center;
	height: 44px !important;
	padding-left: 10px;
	color: var(--color-gray);
	font-family: var(--font-min-m) !important;
	font-size: 12px;
	letter-spacing: 0.03em;
}

.form-wrap .form-calendar input[type="text"] {
	padding-top: 9px;
}

.form-wrap .form-calendar .btn-select {
	display: block;
	width: 100%;
	text-align: left;
}

.form-wrap .form-calendar select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.form-wrap .form-calendar .customSelect {
	display: block;
	box-sizing: border-box;
	border: none;
	border-radius: 0;
	width: 100%;
	padding-left: 4px;
	padding-top: 3px;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.06em;
}

.form-wrap .form-calendar .customSelect .customSelectInner {
	transform-origin: left center;
	transform: scale(0.75);
}

.xdsoft_datetimepicker .xdsoft_today_button {
	display: none !important;
}

.form-wrap .form-calendar + .attention-list {
	margin: 5px 0 35px !important;
}

.form-wrap .form-calendar + .attention-list li:before {
	top: -2px;
}

.form-wrap .form-calendar + .attention-list li p {
	font-size: 12px !important;
}

.form-wrap .form-calendar input::-webkit-input-placeholder { color: #888888; letter-spacing: 0.12em; }
.form-wrap .form-calendar input:-moz-placeholder { color: #888888; letter-spacing: 0.12em; }
.form-wrap .form-calendar input::-moz-placeholder { color: #888888; letter-spacing: 0.12em; }
.form-wrap .form-calendar input:placeholder-shown { color: #888888; letter-spacing: 0.12em; }

/* .privacy-check
------------------------------------*/
.privacy-check {
	margin: 15px 0 0;
	font-size: 14px;
}

.privacy-check p {
	letter-spacing: 0.1em;
}

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

.privacy-check .wpcf7-form-control-wrap + a {
	text-decoration: underline;
	color: var(--color-black);
}

/* .form-btm
------------------------------------*/
.form-btm {
	margin: 30px 0 0;
}

.form-btm p {
	margin-bottom: 11px;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	width: 100%;
	margin: 45px 0 0;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: var(--color-black);
	box-sizing: border-box;
	border: none;
	border-radius: 0;
	width: 100%;
	margin: 0;
	padding: 20px 10px 20px 12px;
	color: var(--color-bg-white);
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	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: 6px 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

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

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

.wpcf7-response-output:first-child {
	margin: -45px 0 45px;
	padding-top: 45px;
}

.wpcf7-response-output:empty {
	margin: 0;
	padding-top: 0;
}

/* 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 .sec-lead > h1 {
	margin-bottom: 50px;
	letter-spacing: 0.08em;
}

#privacyContents .sec-lead > p {
	color: var(--color-gray);
	letter-spacing: 0;
	text-align: justify;
}

.sec-privacy {
	padding: 0 calc(7% + 10px);
}

.sec-privacy dl > div {
	margin-bottom: 50px;
}

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

.sec-privacy dt {
	margin-bottom: 25px;
	color: var(--color-black);
	font-size: 17px;
	letter-spacing: 0.06em;
}

.sec-privacy dd {
	padding-left: 15px;
}

.sec-privacy dd p {
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-privacy dd ul + p {
	margin-top: 30px;
}

.sec-privacy dd p br {
	display: none;
}

.sec-privacy dd ul {
	margin-top: 18px;
}

.sec-privacy dd li {
	position: relative;
	margin-bottom: 2px;
	padding-left: 19px;
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-privacy dd .line2 li {
	margin-bottom: 12px;
}

.sec-privacy dd li i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.sec-privacy dd li i span {
	padding-right: 1px;
}

.sec-privacy dd li br {
	display: none;
}


/* page terms
---------------------------------------------------------------------------*/
#termsContents .sec-lead > h1 { letter-spacing: 0.06em; }

.sec-terms { padding: 0 8%; }
.sec-terms .inner { border-top: 1px solid var(--color-border-light-gray); padding: 18px 0 20px; }
.sec-terms .inner:last-of-type { border-bottom: 1px solid var(--color-border-light-gray); }

.sec-terms .inner,
.sec-terms .inner h2,
.sec-terms .inner h3,
.sec-terms .inner p {
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.sec-terms .inner h2 { margin-bottom: 7px; font-size: 15px; }
.sec-terms .inner h2 br { display: none; }
.sec-terms .inner .txt { padding-left: 12px; }
.sec-terms .inner h3 { margin: 20px 0 5px; font-size: 14px; }
.sec-terms .inner p { margin-bottom: 8px; text-align: justify; }
.sec-terms .inner p.attention { margin-top: 13px; padding-bottom: 5px; font-size: 13px; }
.sec-terms .inner p.let { letter-spacing: 0; }
.sec-terms .inner p br { display: none; }
.sec-terms .inner p a { text-decoration: underline; }
.sec-terms .inner .dot-list { margin: 10px 0 5px; }


/* page en
---------------------------------------------------------------------------*/
#enContents { font-family: var(--font-serif); }
#enContents .sec-lead { margin-top: 60px; padding: 0 8%; }
#enContents .img-main + .sec-lead { margin-top: 50px; }
#enContents .sec-lead figure { margin-bottom: 40px; }

#enContents .sec-lead > h1 {
	margin-bottom: 36px;
	font-size: 20px;
	letter-spacing: 0.03em;
}

#enContents .sec-lead > h2 {
	margin-bottom: 15px;
	padding-left: 5px;
	font-size: 18px;
	letter-spacing: 0.01em;
	text-align: left;
}

#enContents .sec-lead > p {
	padding: 0 5px;
	line-height: 1.7;
	letter-spacing: 0;
	text-align: left;
}

#enContents .img-main + .sec-lead > p {
	padding: 0 15px;
	color: var(--color-black);
	letter-spacing: 0.02em;
}

/* .form-wrap-en
------------------------------------*/
.form-wrap-en {
	border-top: 1px solid var(--color-border-light-gray);
	margin-top: 70px;
	padding-top: 75px;
}

.form-wrap-en .sec-inner { padding: 0 7%; }
.form-wrap-en .sec-inner > .txt { padding: 0 10px; }

.form-wrap-en .sec-inner > .txt h2 {
	margin-bottom: 25px;
	font-size: 17px;
	letter-spacing: 0.01em;
}

.form-wrap-en .sec-inner > .txt p {
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0;
}

.form-wrap-en .sec-inner > .txt p br { display: none; }
.form-wrap-en .sec-inner > .txt p.size-s { font-size: 13px; }
.form-wrap-en .sec-inner > .txt p + p.size-s { margin-top: 34px; }

.form-wrap-en .sec-inner > .txt ul {
	margin: 15px 0 13px;
}

.form-wrap-en .sec-inner > .txt li {
	margin-bottom: 3px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0;
}

.form-wrap-en .form-wrap {
	margin-top: 75px;
}

.form-wrap-en .form-wrap dt {
	margin-bottom: 3px;
	padding: 0;
}

.form-wrap-en .form-wrap dt i {
	display: inline-block;
	position: static;
	background: none;
	margin-left: 12px;
	padding: 0;
	color: #D4AA78;
	font-size: 12px;
	letter-spacing: 0.01em;
}

.form-wrap-en .form-wrap dt,
.form-wrap-en .form-wrap dt p {
	letter-spacing: 0.02em;
}

.form-wrap-en .form-wrap select {
	letter-spacing: 0.02em;
}

.form-wrap-en .privacy-check {
	margin: 10px 0 0;
}

.form-wrap-en .privacy-check p {
	font-size: 12px;
	letter-spacing: 0.03em;
}

.form-wrap-en .btn-submit {
	margin: 30px 0 0;
}

.form-wrap-en .btn-submit input {
	padding-top: 16px;
	padding-bottom: 14px;
	font-size: 16px;
	letter-spacing: 0.04em;
}


/* page faq
---------------------------------------------------------------------------*/
#faqContents .sec-lead {
	margin-bottom: 50px;
}

.faq-list { padding: 0 8%; }
.faq-list .post { margin-bottom: 75px; }
.faq-list .post:last-of-type { margin-bottom: 0; }

.faq-list .post h2,
.faq-list .post dt {
	color: var(--color-black);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.faq-list .post h2 {
	margin: 0 0 10px 5px;
}

.faq-list .post dl {
	border-top: 1px solid var(--color-border-light-gray);
	width: 100%;
}

.faq-list .post dl > div {
	border-bottom: 1px solid var(--color-border-light-gray);
}

.faq-list .post dt {
	position: relative;
	padding: 18px 10px 18px 30px;
}

.faq-list .post dt i {
	display: block;
	position: absolute;
	top: 25px;
	left: 8px;
	background: url(img/share/ico-plus.svg) no-repeat left top;
	background-size: 100% auto;
	width: 11px;
	height: 11px;
	transition: .6s cubic-bezier(0.23, 1, 0.32, 1); /* easeOutQuint */
	transform: rotate(0deg);
}

.faq-list .post dt.active i { transform: rotate(225deg); }

.faq-list .post dd,
.faq-list .post dd p {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
}

.faq-list .post dd {
	display: none;
	padding: 0 10px 30px 30px;
}

.faq-list .post dd p {
	margin-bottom: 10px;
	word-break: break-all;
}

.faq-list .post dd .blog-link {
	margin-top: 20px;
}


/* page oriba
---------------------------------------------------------------------------*/
#oribaContents .sec-lead {
	margin-top: 45px;
}

#oribaContents .sec-lead > h2 {
	margin-top: -5px;
	font-size: 19px;
}

#oribaContents .sec-lead .logo {
	margin-top: -15px;
	margin-bottom: 30px;
}

#oribaContents .sec-lead .logo img {
	width: 85px;
}

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

.sec-oriba .inner {
	margin-bottom: 60px;
}

.sec-oriba .inner .txt {
	padding: 0 10px;
	text-align: justify;
}

.sec-oriba .inner .txt:not(:has(h2)) {
	margin-top: -15px;
	padding-left: 0;
}

.sec-oriba .inner .txt h2 {
	margin-top: -6px;
}

.sec-oriba .profile {
	box-sizing: border-box;
	border: 1px solid var(--color-border-light-gray);
	width: calc(100% - 20px);
	margin: 60px auto 0;
	padding: 28px 28px 36px;
}

.sec-oriba .profile figure {
	margin-bottom: 35px;
}

.sec-oriba .profile figure img {
	width: 100%;
}

.sec-oriba .profile .txt h2 {
	margin: 0 0 15px 3px;
}

.sec-oriba .profile .txt h2 img {
	width: 226px;
}

_::-webkit-full-page-media, _:future, :root .sec-oriba .profile .txt h2 img {
	margin-left: -6px;
}

.sec-oriba .profile .txt h3 {
	margin: 0 0 22px 1px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.sec-oriba .profile .txt p {
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.02em;
}

.sec-oriba .profile .txt a {
	display: inline-block;
	margin: 5px 0 0;
	color: var(--color-black);
	font-size: 13px;
	letter-spacing: 0.02em;
	text-decoration: underline;
}

/* .sec-factory
------------------------------------*/
.sec-factory .txt {
	margin: 55px auto 50px;
	padding: 0 8%;
}

.sec-factory .txt h2 {
	margin-bottom: 26px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.sec-factory .txt > h3 {
	margin-bottom: 40px;
	font-size: 15px;
	line-height: 2.15;
	letter-spacing: 0.06em;
}

.sec-factory .txt > h3 span {
	border-bottom: 3px double var(--color-border-gray);
}

.sec-factory .txt .attention-list {
	margin: 25px 0 20px;
}

.sec-factory .txt .attention-list li {
	margin-bottom: 4px;
	line-height: 1.85 !important;
	letter-spacing: 0.04em;
}

.sec-oriba .profile + .factory-contact {
	margin: 60px 5px 0;
}

.factory-contact h3 {
	margin: 0 0 15px 4px;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.factory-contact h3 span {
	display: block;
	margin: 3px 0 0 1px;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.factory-contact dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-border-light-gray);
	padding: 12px 0 13px 4px;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.factory-contact dl > div:last-of-type {
	border-bottom: none;
}

.factory-contact dt {
	width: 95px;
	min-width: 95px;
	color: var(--color-black);
	letter-spacing: 0.04em;
}

.factory-contact dd p {
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.05em;
}

.factory-contact dd p span {
	font-size: 12px;
	letter-spacing: 0.04em;
}

.factory-contact dd .btn-line {
	margin: 35px 0 0 -95px;
}

/* .factory-contact-form
------------------------------------*/
.factory-contact-form {
	background: url(img/share/bg-pattern-gray.jpg) repeat left top / 200px auto;
	margin: 50px -10px -10px;
	padding: 26px 20px 16px;
}

.factory-contact-form h3 {
	margin-bottom: 12px;
}

.factory-contact-form dl > div {
	border-color: #FFFFFF;
	padding-top: 13px;
	padding-bottom: 14px;
}

.factory-contact-form dt {
	width: 75px;
	min-width: 75px;
	padding-top: 1px;
	padding-left: 1px;
	line-height: 1.6;
}

.factory-contact-form dd p {
	margin-bottom: 6px;
}

.factory-contact-form dd p.nowrap {
	white-space: nowrap;
}

.factory-contact-form dd p.justify {
	letter-spacing: 0.04em;
	text-align: justify;
}

/* #factory-form
------------------------------------*/
#factory-form {
	margin-top: 100px;
}

#factory-form > h2 {
	letter-spacing: 0.07em;
	white-space: nowrap;
}

#factory-form .form-wrap {
	margin-top: 40px;
}


/* page error
---------------------------------------------------------------------------*/
#errorContents {
	text-align: center;
}

#errorContents .inner {
	padding: 75px 10% 0;
}

#errorContents h1 {
	margin-bottom: 34px;
	font-size: 17px;
	letter-spacing: 0.08em;
}

#errorContents p {
	letter-spacing: 0.04em;
	text-align: justify;
}

#errorContents p br {
	display: none;
}