@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;
}
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.9; letter-spacing: 0.08em; margin-bottom: 14px; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }

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

/* #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: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	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.4;
	pointer-events: none;
}

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

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

a.tel-link { pointer-events: none; }

/* .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;
	padding-top: 13px;
	padding-bottom: 14px;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-align: center;
}

.btn-line a {
	display: inline-block;
	border: 1px solid #BBBBBB;
	padding: 10px 20px 12px 20px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.btn-line.size-l a {
	display: block;
	padding: 15px 15px 17px 15px;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-align: center;
}

.btn-arrow a {
	color: var(--color-black);
	font-size: 15px;
	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: 10px;
	transform: translateY(4px);
}

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

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: absolute;
	top: 10px;
	right: 6px;
	box-sizing: border-box;
	width: 114px;
	height: 79px;
	text-align: center;
	z-index: 10000;
	cursor: pointer;
}

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

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

#wrap.onlineshop header .btn-nav div { margin-top: 15px; }

.btn-nav 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) { top: 0; }
.btn-nav span:nth-of-type(2) { bottom: 0; }

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

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

.nav-inner {
	position: absolute;
	top: 0;
	right: 0;
	overflow: hidden;
	box-sizing: border-box;
	width: 470px;
	height: 100vh;
	opacity: 0;
	z-index: 1;
}

.nav-bg {
	position: absolute;
	top: -150px;
	right: -150px;	
	box-sizing: border-box;
	background: linear-gradient(209.78deg, #14131F 0%, #1D233F 22%, #141524 80%);
	width: calc(100% + 150px);
	height: calc(100vh + 150px);
	min-height: calc(660px + 150px);
	z-index: 0;
}

.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 > .logo {
	position: absolute;
	top: 36px;
	left: 35px;
	z-index: 1;
}

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

.nav-inner .inner {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 700px;
}

.nav-inner .inner-s {
	position: absolute;
	bottom: 45px;
	left: 55px;
	width: calc(100% - 85px);
	z-index: 1;
}

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

.nav-inner dt:not(.sub) a {
	display: inline-block;
	position: relative;
	padding: 0 16px 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.3;
}

.nav-inner dd { padding: 14px 0 20px 25px; }

.nav-inner dd ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.nav-inner dd li {
	width: 50%;
	margin-bottom: 5px;
	font-size: 15px;
}

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

.nav-inner dl:last-of-type {
	position: absolute;
	bottom: 11px;
	right: 20px;
	margin: 0;
	text-align: right;
}

.nav-inner dl:last-of-type > div:not(:has(.sub)) { margin-right: -12px; letter-spacing: 0.02em; }

.nav-inner .sns { position: absolute; top: 42px; left: 52px; }
.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;
}

@media (max-height: 660px) {
	.nav-inner { overflow-y: scroll; height: 100%; }
	.nav-inner::-webkit-scrollbar { width: 1px; }
	.nav-inner::-webkit-scrollbar-track { border-radius: 0; background: none; }
	.nav-inner::-webkit-scrollbar-thumb { border-radius: 0; background: none; }
}


/* .onlineshop-nav
---------------------------------------------------------------------------*/
.onlineshop-nav,
.onlineshop-nav-btn {
	display: none !important;
}


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

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


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

body.blog header,
body.contact header,
body.privacy header { margin-bottom: 130px; }
body.shopping-guide header,
body.terms header,
body.faq header { margin-bottom: 100px; }
body.gallery header { margin-bottom: 30px; }

header .logo .logo-onlineshop { display: none; }

header .gnav {
	display: inline-block;
	position: absolute;
	top: 32px;
	right: 115px;
}

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

header .gnav > ul > li > a,
header .gnav > ul > li > span,
header .nav-guide a {
	display: block;
	padding: 10px 9px;
	cursor: pointer;
}

header .gnav > ul > li > a .size-s,
header .gnav > ul > li > span .size-s { display: none; }

header .gnav > ul > li.mnav-btn > a,
header .gnav > ul > li.mnav-btn > span {
	background: url(img/share/ico-arrow-gnav.svg) no-repeat right 9px top 16px;
	padding-right: 24px;
}

#wrap:not(.onlineshop) header #gnav-shop { transform: translateY(-0.5px); }
header #gnav-about > a > span:not(.size-s) img { transform: translateY(-1px); }
header #gnav-blog a { padding-top: 11px; }

header #gnav-onlineshop-top {
	margin-left: 12px;
	transform: translateY(-1px);
}

header #gnav-onlineshop-top a {
	background: linear-gradient(209.78deg, #14131F 15.35%, #1D233F 30.63%, #141524 81.85%);
	border-radius: 30px;
	padding: 11px 18px 12px 18px;
}

header .nav-guide { display: none; }

/* #wrap.onlineshop header
------------------------------------*/
#wrap.onlineshop header {
	background: none;
	padding-top: 20px;
	padding-bottom: 45px;
}

body.onlineshop:not(.onlineshop-top) header,
body.onlineshop-category header,
body.onlineshop-single header { margin-bottom: 75px; }

#wrap.onlineshop header .logo a { display: none; }
#wrap.onlineshop header .logo .logo-onlineshop { display: inline-block; }

#wrap.onlineshop header .gnav { top: 14px; right: calc(50% - 345px); }
#wrap.onlineshop header .gnav > ul > li > a span,
#wrap.onlineshop header .nav-guide a span { display: none; }
#wrap.onlineshop header .gnav > ul > li > a .size-s,
#wrap.onlineshop header .nav-guide a .size-s { display: block; }
#wrap.onlineshop header .nav-guide { display: block; position: absolute; top: 14px; right: 100px; }

body.onlineshop .btn-nav { top: 12px; }
body.onlineshop header #gnav-onlineshop-top { margin-left: 0; }
body.onlineshop header #gnav-onlineshop-top a { background: none; }

/* .onlineshop-header
------------------------------------*/
.onlineshop-header {
	display: none;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	margin-top: -52px;
	padding: 13px 0 0;
	text-align: center;
	white-space: nowrap;
	opacity: 0;
}

body.onlineshop .onlineshop-header { margin-top: 0; }

.onlineshop-header:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 15px;
	background-color: var(--color-border-light-gray);
	width: calc(100% - 30px);
	height: 1px;
}

.onlineshop-header .login {
	display: -webkit-box;
	display: flex;
	position: absolute;
	top: 15px;
	left: 40px;
}

.onlineshop-header .login li { margin-right: 16px; }

.onlineshop-header .login a { display: block; position: relative; padding: 3px 0 3px 24px; }
.onlineshop-header .login a i { display: block; position: absolute; top: 0; left: 0; }
.onlineshop-header .login li:nth-of-type(1) a i { top: 2px; }

.onlineshop-header .sns { position: absolute; top: 9px; right: 32px; }
.onlineshop-header .sns a { display: block; padding: 5px; }
.onlineshop-header .sns img { width: 25px; }


/* .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%;
	min-height: 281px;
	padding: 50px 0 45px;
	z-index: 300;
	opacity: 0;
}

body.onlineshop .mnav-wrap { top: 83px; }

.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 {
	display: none;
	position: relative;
	width: 1114px;
	margin: 0 auto;
	z-index: 1;
	opacity: 0;
	/*pointer-events: none;*/
}

.mnav ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 0 25px;
}

.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 {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 240px 0 0;
	padding: 90px 65px 55px 70px;
	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;
	margin-right: 90px;
	white-space: nowrap;
}

.footer-inner .sns { position: absolute; top: 68px; left: 294px; }
.footer-inner .sns li { padding: 6px; }
.footer-inner .sns li img { width: 30px; }

.footer-inner .logo { margin: 0 0 50px -2px; }

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

.footer-inner .oriba { display: -webkit-box; display: flex; }
.footer-inner .oriba .logo-oriba { width: 93px; min-width: 93px; padding-top: 3px; }
.footer-inner .oriba .txt { padding: 0 0 0 38px; }

.footer-inner p {
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

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

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

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

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

footer nav {
	display: -webkit-box;
	display: flex;
	transform: translateY(13px);
}

footer nav ul { margin-right: 25px; }
footer nav ul:last-of-type { margin-right: 0; }

footer nav li { margin-bottom: 3px; }

footer nav li a {
	position: relative;
	display: block;
	padding: 5px 5px 10px;
	font-size: 15px;
	letter-spacing: 0.04em;
}

footer nav li.mt { margin-top: 14px; }
footer nav li.mt2 { margin-top: 4px; }
footer nav li:not(.mt2) + li.mt2 { margin-top: 12px; }
footer nav li.sub { margin-bottom: 2px; }

footer nav li.sub a {
	padding-bottom: 5px;
	font-family: var(--font-min-d);
	font-size: 12px;
}

footer nav li a.line:after {
	bottom: 3px;
	left: 5px;
	width: calc(100% - 10px);
}

footer .nav-cart {
	display: -webkit-box;
	display: flex;
	position: absolute;
	bottom: 240px;
	right: 514px;
}

footer .nav-cart li {
	position: relative;
	margin-right: 5px;
	padding-right: 11px;
}

footer .nav-cart li:first-of-type:after {
	display: block;
	content: '/';
	position: absolute;
	top: 3px;
	right: 0;
	font-size: 11px;
}

.copyright {
	margin-left: 2px;
	font-size: 10px;
	letter-spacing: 0.06em;
}

footer .copyright {
	position: absolute;
	bottom: 55px;
	right: 143px;
}

footer .copyright2 {
	position: absolute;
	bottom: 54px;
	right: 61px;
	font-size: 10px;
	letter-spacing: 0.02em;
}

footer p.attention {
	position: absolute;
	top: 125px;
	right: 50px;
	font-size: 12px;
  letter-spacing: 0.09em;
}


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

.contents { opacity: 0; }

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

#companyContents .img-main { margin-bottom: 105px; }
#companyContents .sec-lead { margin-bottom: 90px;	 }
#companyContents .sec-lead > h1 { font-size: 22px; }

.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: 20px;
	left: 25px;
	color: var(--color-bg-white);
}

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

/* .modal-movie
------------------------------------*/
.img-main .btn-movie {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 120px;
	padding: 60px;
	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: 45px 40px;
	z-index: 2;
}

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

/* .nav-page
------------------------------------*/
.nav-page { margin-bottom: 60px; }
.nav-page ul { display: flex; justify-content: center; }
.nav-page li { border-right: 1px solid var(--color-border-gray); }
.nav-page li:first-of-type { border-left: 1px solid var(--color-border-gray); }

.nav-page li a {
	display: block;
	background: url(img/share/ico-arrow-gnav.svg) no-repeat right 26px top 16px;
	padding: 10px 46px 10px 34px;
	color: var(--color-black);
	font-size: 17px;
	letter-spacing: 0.1em;
}

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

/* .sec-lead
------------------------------------*/
.sec-lead { margin: 85px auto 85px;	text-align: center; }
.sec-lead.justify { width: 710px; }
.sec-lead.left { text-align: left; }

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

.sec-lead > h1.size-l { font-size: 25px; }
.sec-lead > h1.en { letter-spacing: 0.05em; }

.sec-lead > h2 {
	margin-bottom: 30px;
	font-size: 25px;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.sec-lead.left > h2 {
	margin-bottom: 35px;
	line-height: 1.8;
}

.sec-lead > p {
	color: var(--color-black);
	font-size: 17px;
	line-height: 2.1;
	letter-spacing: 0.07em;
}

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

.sec-lead.justify > p {
	margin-bottom: 16px;
	line-height: 2.2;
	letter-spacing: 0.04em;
	text-align: justify;
}

.sec-lead.left > p {
	font-size: 16px;
	line-height: 2;
}

.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,
.dl-line dd .attention:first-child p {
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.dl-line > div {
	display: -webkit-box;
	display: flex;
	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 {
	box-sizing: border-box;
	width: 100px;
	min-width: 100px;
	padding-right: 15px;
	color: var(--color-black);
}

.dl-line p { margin-bottom: 4px; }

.dl-line dd .attention p {
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

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

.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: 20px;
	font-size: 12px !important;
	line-height: 2 !important;
	letter-spacing: 0.1em;
}

.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: 1100px;
	margin: 140px auto 0;
}


/* blog archive
---------------------------------------------------------------------------*/
#blogContents { width: 980px; margin: 0 auto; }

/* .blog-header
------------------------------------*/
.blog-header {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 0 -6px 25px -4px;
}

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

.blog-header .title-page { margin-right: 25px; }
.blog-header .title-page a { color: inherit; }

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

.blog-header nav ul {
	position: relative;
	display: -webkit-box;
	display: flex;
	margin-right: 21px;
}

.blog-header nav ul:after {
	display: block;
	content: '/';
	position: absolute;
	top: 7px;
	right: -14px;
	color: var(--color-black);
	font-size: 15px;
}

.blog-header nav ul li a {
	display: inline-block;
	padding: 7px;
	color: var(--color-black);
	font-size: 15px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.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: 5px 0 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: 15px;
	text-align: left;
	letter-spacing: 0.04em;
}

.btn-select .customSelect .customSelectInner {
	box-sizing: border-box;
	width: 100% !important;
	padding: 10px 8px;
	/* transform-origin: right bottom; */
	/* transform: scale(0.75); */
}

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

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

.blog-list figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	margin-bottom: 20px;
	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: 6px;
	font-family: var(--font-serif);
	font-size: 12px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

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

.blog-list .category span { padding-right: 8px; }

.blog-list .category span,
.blog-title .post-categories li a {
	display: inline-block;
	white-space: nowrap;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-decoration: underline;
}

.blog-list h2 {
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

/* .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: 150px;
	min-width: 150px;
	margin: 0;
	padding-bottom: calc(150px / 3 * 2);
}

.blog-list-wide a > div { padding: 4px 37px 0; }

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


/* blog single
---------------------------------------------------------------------------*/
.blog-area { position: relative; }
.blog-area .prev-next { position: absolute; top: 80px; right: -10px; }
.blog-area .prev-next .prev { transform: scaleX(-1); }
.blog-area .prev-next li { padding: 12px; }
.blog-area .prev-next li span { opacity: 0.5; }

.blog-area article { width: 720px; }

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

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

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

.blog-title h1 {
	margin-top: 12px;
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

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

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

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

.blog-main p {
	margin-bottom: 35px;
	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: 20px 0 10px !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: 13px; }

.blog-main ul, .blog-main ol { margin: 30px 0 30px 5px; }
.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: 60px; }
.blog-table h3 { margin: 80px 0 10px; 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: 15px;
	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: 25px;
	padding-bottom: 10px;
}

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

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

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

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

/* .blog-link
------------------------------------*/
.blog-link { margin-top: 45px; }
.blog-link li { display: inline-block; margin: 0 10px 14px 0; }

/* .blog-other
------------------------------------*/
.blog-other { width: 980px; margin: 160px 0 0; }

.blog-other > h2 {
	margin-bottom: 30px;
	font-size: 20px;
	letter-spacing: 0.08em;
}

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


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 80px 0 0 -5px;
	text-align: left;
}

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

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

.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
---------------------------------------------------------------------------*/
#topContents .img-main { margin-bottom: 80px; }

/* .sec-top-lead
------------------------------------*/
.sec-top-lead {
	position: relative;
	display: -webkit-box;
	display: flex;
	flex-direction: row-reverse;
	width: 496px;
	margin: 0 auto 70px;
	transform: translateX(5px);
}

.sec-top-lead h2 { margin: -20px 0 0 50px; }

.sec-top-lead .btn-arrow {
	position: absolute;
	top: 0;
	left: 0;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-top-lead .btn-arrow a { font-size: 16px; letter-spacing: 0.18em; }
.sec-top-lead .btn-arrow a i { margin: -2px 0 13px; transform: rotate(90deg); }

/* .sec-top-blog
------------------------------------*/
.sec-top-blog {
	position: relative;
  width: 100%;
	margin: 0 auto 150px;
	padding: 70px 0 70px;
}

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

.top-blog > h2 {
	position: absolute;
	top: 2px;
	left: 2px;
	color: #FFFFFF;
	font-size: 18px;
	letter-spacing: 0.14em;
}

.top-blog .btn-line {
	margin-top: 40px;
	/*margin-right: 15px;*/
}

.top-blog .btn-line a {
	display: block;
	border: 1px solid rgba(255,255,255,0.3);
	padding-top: 13px;
	padding-bottom: 14px;
	color: #FFFFFF;
	text-align: center;
}

/* .sec-top-bnr
------------------------------------*/
.sec-top-bnr {
	width: 1040px;
	margin: 0 auto;
}

.sec-top-bnr .bnr-main {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 38px;
	margin-bottom: 60px;
	text-align: center;
}

.sec-top-bnr .bnr-main h2 {
	margin: 34px 0 15px;
	font-size: 17px;
	letter-spacing: 0.06em;
}

.sec-top-bnr .bnr-main h3 {
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.sec-top-bnr .bnr-sub {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 39px;
}

.sec-top-bnr .bnr-sub h3 {
	margin-top: 15px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

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

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

.sec-top-onlineshop .sec-inner > h2 {
	margin-bottom: 30px;
	font-size: 22px;
	letter-spacing: 0.08em;
}

.top-onlineshop-bnr-wrap { margin-left: calc(50% - 540px); }
.top-onlineshop-bnr { display: -webkit-box; display: flex; }

.top-onlineshop-bnr .slick-arrow {
	position: absolute;
	top: -58px;
	background: url(img/share/btn-arrow.svg) no-repeat center center;
	width: 37px;
	height: 37px;
	text-indent: -9999px;
	transition: .15s ease-out;
}

.top-onlineshop-bnr .slick-prev { left: 1004px; transform: scaleX(-1); }
.top-onlineshop-bnr .slick-next { left: 1040px; }
.top-onlineshop-bnr .slick-arrow:hover { opacity: 0.7; }

.top-onlineshop-bnr .inner {
	width: 328px;
	min-width: 328px;
	margin-right: 47px;
}

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

.top-onlineshop-bnr .inner .num { display: none; }

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

.sec-top-onlineshop .sec-inner .btn-line {
	width: 100%;
	margin-top: 55px;
}

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

/* .sec-top-craftsman
------------------------------------*/
.sec-top-craftsman {
	position: relative;
	width: 1160px;
	margin: 0 auto 150px;
}

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

.sec-top-craftsman a:hover { opacity: 0.9; }

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

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

.sec-top-craftsman h3 {
	position: absolute;
	bottom: 47px;
	left: 135px;
	font-family: var(--font-serif);
	font-size: 14px;
	letter-spacing: 0.05em;
	z-index: 2;
}

.sec-top-craftsman p {
	position: absolute;
	top: 37px;
	right: 40px;
	font-size: 16px;
	letter-spacing: 0.22em;
}

/* .sec-top-oriba
------------------------------------*/
.sec-top-oriba {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	width: 1060px;
	margin: -150px auto 200px;
	padding-top: 150px;
	transform: translateX(-10px);
}

.sec-top-oriba figure {
	width: 660px;
	min-width: 660px;
}

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

.sec-top-oriba .txt .logo {
	display: block;
	position: absolute;
	top: 113px;
	right: -15px;
	width: 85px;
}

.sec-top-oriba .txt h2 {
	margin: 0 0 19px -2px;
	font-size: 16px;
	letter-spacing: 0.02em;
}

.sec-top-oriba .txt h3 {
	margin: 0 0 28px -3px;
	font-size: 22px;
	letter-spacing: 0.14em;
}

.sec-top-oriba .txt p {
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
}

.sec-top-oriba .txt dl {
	margin: 26px 0 6px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

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

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

.sec-top-oriba .txt dt {
	width: 92px;
	min-width: 92px;
	white-space: nowrap;
}

.sec-top-oriba .txt .attention {
	font-size: 13px;
	letter-spacing: 0.08em;
}

.sec-top-oriba .txt .btn-arrow {
	margin: 18px 0 0;
}


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

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

.onlineshop-bnr-slide .inner {
	width: 555px !important;
	padding: 0 40px !important;
}

.onlineshop-bnr-slide .inner a:hover,
.onlineshop-bnr-s li a:hover,
.onlineshop-img .inner:hover { opacity: 0.75; }
.onlineshop-bnr-slide .inner a { display: block; position: relative; }

.onlineshop-bnr-slide figure { position: relative; overflow: hidden; width: 100%; height: 0; margin-bottom: 12px; 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: 17px;
	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: 0;
	background: url(img/share/ico-arrow-bnr.svg) no-repeat left 32px center;
	width: calc(50vw - 277px);
	height: 100%;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	z-index: 10;
}

.onlineshop-bnr-slide .slick-prev { right: calc(50% + 277px); transform: scaleX(-1); }
.onlineshop-bnr-slide .slick-next { left: calc(50% + 277px); }

@media (min-width: 1880px) {
	.onlineshop-bnr-slide .slick-arrow {
		top: 277px;
		background-position: center center;
		width: 22px;
		height: 88px;
		margin: -80px -40px;
		padding: 80px 40px;
	}
	.onlineshop-bnr-slide .slick-prev { left: calc(50% - 317px); right: inherit; }
	.onlineshop-bnr-slide .slick-next { right: calc(50% - 317px); left: inherit; }
}

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

.onlineshop-aside {
	box-sizing: border-box;
	position: sticky;
	top: 0;
	left: 0;
	width: 245px;
	min-width: 245px;
	margin-top: -45px;
	padding: 45px 60px 0 30px;
	white-space: nowrap;
}

.onlineshop-aside .index { margin-bottom: 35px; }
.onlineshop-aside .index a { font-size: 14px; letter-spacing: 0.04em; }

#onlineshopContents.single .onlineshop-aside {
	width: 270px;
	min-width: 270px;
}

.onlineshop-aside dl > div { margin-bottom: 10px; }
.onlineshop-aside dl > div:last-of-type { margin-bottom: 0; }

.onlineshop-aside dt {
	display: inline-block;
	position: relative;
	padding: 0 10px 10px 15px;
	cursor: pointer;
}

.onlineshop-aside dt i {
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	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: #000000;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.onlineshop-aside dt span br { display: none; }
.onlineshop-aside dd { display: none; }
.onlineshop-aside dl > div:first-of-type dd { display: block; }

.onlineshop-aside dd ul { padding: 12px 0 21px 16px; }
.onlineshop-aside dd ul + ul { margin-top: -10px; padding-top: 0; }
.onlineshop-aside dd ul:last-of-type { padding-bottom: 40px; }
.onlineshop-aside dd li { margin-bottom: 5px; }

.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 11px;
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.06em;
}

/* .onlineshop-inner
------------------------------------*/
.onlineshop-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding-right: 5.2%;
}

#onlineshopContents.single .onlineshop-inner {
	max-width: 1200px;
	padding-right: 4%;
}

/* .onlineshop-blog
------------------------------------*/
.onlineshop-blog {
	position: relative;
	box-sizing: border-box;
	min-height: 150px;
	margin-top: -3px;
	margin-bottom: 90px;
	padding: 50px 0 0 112px;
}

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

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

.onlineshop-blog article a {
	display: inline-block;
	position: relative;
	padding-left: 90px;
	line-height: 1.6;
}

.onlineshop-blog time {
	position: absolute;
	top: 3px;
	left: 0;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.onlineshop-blog h3 {
	width: 100%;
	color: var(--color-black);
	font-size: 14px;
	letter-spacing: 0.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* .onlineshop-bnr-s
------------------------------------*/
.onlineshop-bnr-s { margin-bottom: 120px; }
.onlineshop-bnr-s ul { display: -webkit-box; display: flex; }
.onlineshop-bnr-s li { width: 23.8%; margin-right: 1.6%; }
.onlineshop-bnr-s li:nth-of-type(4n) { margin-right: 0; }
.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 120px; }
.onlineshop-bnr-single img { width: 100%; }

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

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

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

.onlineshop-list-title h2 .size-s {
	padding-left: 20px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

#onlineshopContents .onlineshop-list-title {
	display: -webkit-box;
	display: flex;
	margin-bottom: 75px;
}

#onlineshopContents .onlineshop-list-title h1 {
	box-sizing: border-box;
	width: 20.4%;
	min-width: 20.4%;
	margin: 0;
	padding: 7px 0 0 5px;
}

#onlineshopContents .onlineshop-list-title h1 strong {
	display: block;
}

#onlineshopContents .onlineshop-list-title h1 em {
	display: block;
	margin-top: 20px;
	font-size: 11px;
}

#onlineshopContents .onlineshop-list-title p {
	font-size: 15px;
	line-height: 2;
	text-align: justify;
}

#onlineshopContents .onlineshop-list-title p:last-of-type {
	margin-bottom: 0;
}

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

.onlineshop-list-title .category-wrap {
	position: absolute;
	top: 4px;
	right: 0;
}

.onlineshop-list-title .category {
	display: -webkit-box;
	display: flex;
}

.onlineshop-list-title .category li { position: relative; }

.onlineshop-list-title .category li:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-border-light-gray);
	width: 1px;
	height: 100%;
}

.onlineshop-list-title .category li:last-of-type:after { display: none; }

.onlineshop-list-title .category a {
	display: block;
	padding: 0 11px 0 12px;
	color: var(--color-black);
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.onlineshop-list-title .category li:last-of-type a { padding-right: 0; }

/* .onlineshop-list
------------------------------------*/
.onlineshop-list { display: -webkit-box; display: flex; flex-wrap: wrap; }
.onlineshop-list article { width: 18.4%; margin: 0 2% 3% 0; opacity: 0; }
.onlineshop-list article:nth-of-type(5n) { margin-right: 0; }

.onlineshop-list article:nth-last-of-type(1),
.onlineshop-list article:nth-last-of-type(2),
.onlineshop-list article:nth-last-of-type(3),
.onlineshop-list article:nth-last-of-type(4),
.onlineshop-list article:nth-last-of-type(5) { margin-bottom: 10px; }

.onlineshop-list figure { position: relative; overflow: hidden; width: 100%; height: 0; margin-bottom: 14px; 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: .15s 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: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

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

.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 7px 4px 0;
	padding: 2px 2px 4px 7px;
	color: var(--color-black);
	font-size: 12px;
	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: 100%;
	z-index: 1;
}


/* page onlineshop single
---------------------------------------------------------------------------*/

/* .onlineshop-post
------------------------------------*/
.onlineshop-post {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	position: relative;
	padding-top: 40px;
}

.onlineshop-path {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0 0 25px -2px;
}

.onlineshop-path ul { display: -webkit-box; display: flex; flex-wrap: wrap; }
.onlineshop-path li { position: relative; padding-right: 17px; }

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

.onlineshop-path li:last-of-type { padding-right: 0; }
.onlineshop-path li:last-of-type:after { display: none; }
.onlineshop-path li a { font-size: 13px; letter-spacing: 0.04em; }

/* .onlineshop-img
------------------------------------*/
.onlineshop-img { width: 410px; min-width: 410px; }
.onlineshop-img .inner { margin-bottom: 20px; }
.onlineshop-img .inner:last-of-type { margin-bottom: 0; }
.onlineshop-img .inner img { width: 100%; }
.slider-item-nav { display: none !important; }

/* .onlineshop-modal
------------------------------------*/
.onlineshop-modal {
	display: none;
	overflow-y: scroll;
	background-color: rgba(255,255,255,0.9);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10100;
	opacity: 0;
}

.onlineshop-modal::-webkit-scrollbar { width: 0; }
.onlineshop-modal::-webkit-scrollbar-track { border-radius: 0; background: none; }
.onlineshop-modal::-webkit-scrollbar-thumb { border-radius: 0; background: none; }

.onlineshop-modal-close {
	position: fixed;
	top: 0;
	right: 0;
	padding: 36px 33px;
	cursor: pointer;
}

.onlineshop-modal-close img { transition: .15s ease-out; }
.onlineshop-modal-close:hover img { opacity: 0.75; }

.onlineshop-modal-inner {
	width: 800px;
	margin: 0 auto;
	padding: 57px 0;
}

.onlineshop-modal-inner figure { margin-bottom: 20px; }
.onlineshop-modal-inner img { width: 100%; }

/* .onlineshop-movie
------------------------------------*/
.onlineshop-movie-btn {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}

.onlineshop-movie-btn iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }

/* .modal-movie-onlineshop
------------------------------------*/
.modal-movie-onlineshop .modal-movie-inner {
	left: 90px;
	width: calc(100% - 180px);
	padding-bottom: min(calc((100% - 180px) * 0.5625), 100vh);
}

.modal-movie-onlineshop iframe { display: none; }

/* .onlineshop-txt
------------------------------------*/
.onlineshop-txt { width: 100%; margin: 5px 0 0 10.5%; }
.onlineshop-txt-inner { margin-right: 7.5%; }
.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: 35px; }

.onlineshop-txt .category {
	margin-bottom: 10px;
	font-size: 12px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.onlineshop-txt .category span { display: inline-block; margin-right: 4px; }
.onlineshop-txt .category span:last-child i { display: none; }

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

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

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

.onlineshop-txt .txt h2 {
	margin: 0 0 16px -1px;
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.onlineshop-txt .txt p {
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.04em;
	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-top: 60px;
}

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

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

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

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

.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-bottom: 16px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.onlineshop-craftsman .txt p {
	font-size: 13px;
	line-height: 1.9;
	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: 35px 35px 10px;
	color: var(--color-black);
}

.cart .cart-inner {
	position: relative;
	padding-bottom: 60px;
}

.onlineshop-txt .cart { margin-left: -6.5%; }

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

.cart .guide {
	position: absolute;
	bottom: 27px;
	left: 0;
}

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

.cart .postage {
	position: absolute;
	bottom: 21px;
	right: 0;
	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_sales_price {
	margin-top: 4px;
	margin-right: 10px;
	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);
	width: 33px !important;
	height: 25px;
	margin-left: -5px;
	padding: 0 6px;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-align: right;
}

_::-webkit-full-page-media, _:future, :root .cart .cartjs_product_num input {
	padding-top: 1px;
}

.cart .cartjs_product_num td { position: relative; }

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

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

.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;
	transition: .15s linear;
}

.cart .cartjs_cart_in input:hover { opacity: 0.7; }

.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: 22px 0 12px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.cart .cartjs_option {
	position: relative;
	margin-bottom: 6px;
	margin-right: 14px;
	padding-right: 30px;
	transform: translateY(1px);
}

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

.cart .option-modal-icon {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	right: 0;
	background: url(img/share/ico-question.svg) no-repeat;
	width: 25px;
	height: 25px;
	transition: .15s ease-out;
	cursor: pointer;
}

.cart .option-modal-icon:hover { opacity: 0.5; }

.cart .cartjs_option td {
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: .15s ease-out;
	transform: translateY(-1px);
}

.cart .cartjs_option td:hover { opacity: 0.6; }

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

.cart .cartjs_option td .customSelect {
	display: block;
	box-sizing: border-box;
	width: 100%;
	font-size: 13px;
	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);
	border-radius: 2px;
	width: 100% !important;
	padding: 12px 26px 8px 10px;
}

.cart .cartjs_option td .customSelect .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	top: 14px;
	right: 7px;
	background: url(img/share/ico-arrow-gnav.svg) no-repeat;
	width: 12px;
	height: 5px;
	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 { 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: -660px;
	background: url(img/share/pattern_noise.png), linear-gradient(217.45deg, #14131F -2.74%, #1D233F 16.56%, #141524 81.24%);
	width: 660px;
	height: 100%;
	z-index: 9000;
}

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

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

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

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

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

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

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

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

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

.cart-option-modal p {
	text-align: justify;
}

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

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

.cart-option-modal .box p,
.cart-option-modal dd p {
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.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: 145px;
	min-width: 145px;
	padding: 26px 0 0 15px;
	font-size: 15px;
}

.cart-option-modal dd {
	border-left: 1px solid var(--color-white-thin);
	padding: 21px 20px 25px 30px;
}

/* .check-service
------------------------------------*/
.check-service {
	border-top: 1px solid var(--color-border-light-gray);
	padding: 28px 0 24px;
}

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

.check-service p {
	font-size: 12px;
	letter-spacing: 0.1em;
}

/* .onlineshop-color
------------------------------------*/
.onlineshop-color { margin: 48px 0 0 -6.5%; }
.onlineshop-color > h2 { margin-bottom: 22px; font-size: 15px; letter-spacing: 0.08em; }
.onlineshop-list-s article { width: 17.2%; margin-right: 3.5%; }
.onlineshop-list-s figure { margin-bottom: 8px; }
.onlineshop-list-s h2 { margin: 0; font-size: 12px; line-height: 1.55; }
.onlineshop-list-s figure .img-sold span { font-size: 12px; }
.onlineshop-list-s .cart-price { display: none !important; }

/* .onlineshop-other
------------------------------------*/
.onlineshop-other { margin: 180px 0 0; }
.onlineshop-other .onlineshop-list-title h2 { font-size: 20px; }


/* page obito
---------------------------------------------------------------------------*/
body.obito #wrap.onlineshop header { margin-bottom: 0; }
#obitoContents .img-main { margin-top: -18px; }

.title-obito { position: absolute; bottom: 64px; left: 82px; }
.title-obito .en { margin: 0 0 20px; }
.title-obito h1 { margin: 0 0 35px -9px; }
.title-obito img { width: auto; }

#obitoContents .sec-lead { margin: 115px 0 120px; }
#obitoContents .sec-lead > h2 { margin-bottom: 35px; }
#obitoContents .sec-lead > p { line-height: 2.2; }

#obitoContents .sec-lead nav {
	margin-top: 50px;
	text-align: center;
}

#obitoContents .sec-lead nav li {
	display: inline-block;
	position: relative;
	white-space: nowrap;
	margin-right: 10px;
	padding-right: 30px;
}

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

#obitoContents .sec-lead nav li:after {
	display: block;
	content: '';
	position: absolute;
	top: 23px;
	right: -8px;
	background-color: #AAAAAA;
	width: 34px;
	height: 1px;
	transform: rotate(-45deg);
}

#obitoContents .sec-lead nav li:last-of-type:after { display: none; }

#obitoContents .sec-lead nav li a {
	display: block;
	padding: 10px;
	color: #888888;
	font-size: 17px;
	letter-spacing: 0.19em;
}

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

.obito-category { width: 100%; }

.obito-category-title {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.obito-category-title figure { width: 50%; }
.obito-category-title figure img { width: 100%; }

.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-title .txt { position: relative; box-sizing: border-box; width: 50%; }
.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 > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 396px;
	margin-top: -5px;
}

.obito-category-title .txt h2 { margin-bottom: 70px; }
.obito-category-title .txt h2 em { display: block; }
.obito-category.textile .obito-category-title .txt h2 em { margin-left: -6px; }
.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: 17px;
	letter-spacing: 0.24em;
}

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

.obito-category-title .txt p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .obito-onlineshop-list
------------------------------------*/
.obito-onlineshop-list {
	width: 982px;
	margin: 0 auto;
	padding: 120px 0 180px;
}

.obito-onlineshop-list nav { margin-bottom: 60px; }
.obito-onlineshop-list nav ul { text-align: center; }
.obito-onlineshop-list nav li { display: inline-block; position: relative; white-space: nowrap; }

.obito-onlineshop-list nav li:after {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	right: -3px;
	background-color: var(--color-gray);
	width: 1px;
	height: calc(100% - 10px);
}

.obito-onlineshop-list nav li:last-of-type:after { display: none; }

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

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

.obito-onlineshop-list nav li a:hover,
.obito-onlineshop-list nav li > span:hover {
	opacity: 0.7;
}

.obito-onlineshop-list .onlineshop-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 30px 50px;
} 

.obito-onlineshop-list .onlineshop-list article { width: 208px; margin: 0; }
.obito-onlineshop-list .onlineshop-list article .category { display: none !important; }

/* .sec-obito
------------------------------------*/
.sec-obito {
	position: relative;
	box-sizing: border-box;
	width: 1020px;
	min-height: 100px;
	margin: 0 auto 120px;
	padding: 35px 0 0 280px;
}

.sec-obito > h2 {
	position: absolute;
	top: 0;
	left: 0;
	padding: 35px 0 0;
}

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

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

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

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

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

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

.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: 85px;
	min-width: 85px;
	height: 85px;
	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 28px; }

.blog-list-s article time {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	letter-spacing: 0.05em;
}

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

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

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

.obito-stockist dt {
	margin-bottom: 25px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

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

.obito-stockist dd address,
.obito-stockist dd p {
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.obito-stockist dd address span {
	display: block;
	font-size: 14px;
}

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

.obito-stockist dd p a { text-decoration: underline; }

.obito-stockist dd .attention-list li {
	margin-bottom: 0;
	padding-left: 14px;
	letter-spacing: 0.06em;
}

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

.obito-btm p,
.obito-btm p a { color: var(--color-black); }
.obito-btm p { line-height: 2.2; letter-spacing: 0.02em; }
.obito-btm p a { text-decoration: underline; letter-spacing: 0; }


/* page shopping-guide
---------------------------------------------------------------------------*/

/* .sec-guide
------------------------------------*/
.sec-guide {
	display: -webkit-box;
	display: flex;
	box-sizing: border-box;
	border-top: 1px solid var(--color-border-light-gray);
	width: 948px;
	margin: 0 auto 80px;
	padding: 40px 0 0 12px;
}

.sec-guide h2 {
	width: 215px;
	min-width: 215px;
	font-size: 17px;
	letter-spacing: 0.04em;
}

.sec-guide .sec-inner { padding: 0 0 0 35px; }
.sec-guide .sec-inner .inner:not(:last-child) { margin-bottom: 70px; }
.sec-guide .sec-inner .inner.pl { margin-left: -35px; }

.sec-guide h3 {
	margin: 0 0 25px -35px;
	font-size: 17px;
	letter-spacing: 0.06em;
}

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

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

.sec-guide p { font-size: 15px; }
.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 .box-wrap {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: start;
	align-items: flex-start;
	margin-top: 35px;
}

.sec-guide .box {
	display: inline-block;
	background-color: #EFEFEF;
	margin: 10px 0 30px;
	padding: 12px 20px 12px;
}

.sec-guide .box.pd-l { padding: 20px 30px 20px; }
.sec-guide .box-wrap .box { margin: 0 40px 0 0; }
.sec-guide .box:has(table) { padding: 18px 30px 28px; }

.sec-guide .box table {
	min-width: 220px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.sec-guide .box th,
.sec-guide .box td {
	padding: 8px 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: -10px; }

.sec-guide .attention-list li {
	margin-bottom: 0;
	letter-spacing: 0.08em;
}


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

.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: 315px;
	min-width: 315px;
	height: 100vh;
	margin-top: -45px;
	padding: 45px 100px 0 35px;
	color: var(--color-black);
	white-space: nowrap;
}

.gallery-nav-close,
.gallery-nav nav h1,
.gallery-nav-btn,
.gallery-nav-count {
	display: none !important;
}

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

.gallery-nav nav {
	position: fixed;
	bottom: 30px;
	left: 35px;
	width: 220px;
	z-index: 10;
}

.gallery-nav nav.btm { position: absolute; }
.gallery-nav nav dl > div { margin-bottom: 30px; }
.gallery-nav nav dl > div:last-of-type { margin-bottom: 0; }

.gallery-nav nav dt {
	margin: 0 0 20px 2px;
	font-size: 17px;
	letter-spacing: 0.06em;
}

.gallery-nav nav dt i { display: none; }

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

.gallery-nav nav li {
	background-color: #F2F2F2;
	border-radius: 20px;
	margin: 0 6px 8px 0;
	padding: 5px 10px 6px 11px;
	font-size: 14px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.gallery-nav nav ul.year li {
	padding-top: 6px;
	padding-bottom: 5px;
	font-family: var(--font-serif);
	letter-spacing: 0.02em;
}

.gallery-nav nav li.current {
	background-color: var(--color-bg-navy);
	color: #FFFFFF;
}

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

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

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

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

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


/* 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 {
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	background: #FFFFFF;
	width: 100%;
	height: 100%;
	padding: 0 0 0 300px;
	z-index: 10100;
}

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

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

.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: 100%;
	margin: 0 auto !important;
}

.gallery-img .slick-arrow {
	position: absolute;
	top: 50%;
	background: url(img/share/btn-modal-arrow.svg) no-repeat left 40px center;
	width: 110px;
	height: 110px;
	text-indent: -9999px;
	z-index: 10;
	transition: .15s ease-out;
}

.gallery-img .slick-arrow:hover { opacity: 0.6; }
.gallery-img .slick-prev { left: -110px; transform: translateY(-50%) scaleX(-1); }
.gallery-img .slick-next { right: -110px; transform: translateY(-50%); }

.gallery-title {
	position: absolute;
	top: 40px;
	left: 40px;
}

.gallery-title h1 {
	margin-bottom: 25px;
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

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

.gallery-title .cnt { font-size: 19px; white-space: nowrap; }
.gallery-title .cnt span { padding: 0 3px 0 2px; }

.gallery-txt {
	overflow-y: scroll;
	position: absolute;
	bottom: 35px;
	left: 40px;
	width: 260px;
	padding-right: 20px;
}

.gallery-txt::-webkit-scrollbar { width: 1px; }
.gallery-txt::-webkit-scrollbar-track { border-radius: 0; background: #FFFFFF; }
.gallery-txt::-webkit-scrollbar-thumb { border-radius: 0; background: var(--color-gray); }

.gallery-txt p { line-height: 1.9; letter-spacing: 0.02em; text-align: justify; }
.gallery-txt > p { font-size: 15px; line-height: 1.9; }
.gallery-txt p a { text-decoration: underline; }
.gallery-txt .txt { margin-top: 30px; }
.gallery-txt .txt p { line-height: 1.85; }


/* page about
---------------------------------------------------------------------------*/

/* .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%;
	margin-bottom: 80px;
	padding: 155px 0 175px;
}

.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 {
	position: relative;
	box-sizing: border-box;
	width: 975px;
	margin: 0 auto;
	color: #E4E4E4;
	z-index: 1;
}

.sec-about-lead > div p {
	margin-bottom: 15px;
	font-size: 17px;
	line-height: 2.2;
	white-space: nowrap;
}

.sec-about-lead .inner1 { margin-bottom: 110px; }
.sec-about-lead .inner1 .txt { padding: 6px 0 0 8px; }

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

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

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

.sec-about-lead .inner1 .copy-en1 {
	position: absolute;
	top: 124px;
	left: 842px;
	font-size: 17px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sec-about-lead .inner1 .copy-en2 {
	position: absolute;
	top: 175px;
	left: 842px;
	font-size: 25px;
	line-height: 1.55;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sec-about-lead .inner1 .img1 { position: absolute; top: -10px; left: 400px; }
.sec-about-lead .inner1 .img2 { position: absolute; top: 334px; left: 488px; }

.sec-about-lead .inner2 {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
}

.sec-about-lead .inner2 figure {
	order: 1;
	width: 508px;
	min-width: 508px;
}

.sec-about-lead .inner2 .txt {
	order: 2;
	padding: 0 0 0 64px;
	transform: translateY(4px);
}

.sec-about-lead .inner2 h2 {
	margin-bottom: 28px;
	font-size: 30px;
	letter-spacing: 0.11em;
	line-height: 1.7;
}

.sec-about-lead .inner2 p {
	margin-bottom: 12px;
	line-height: 1.95;
}

/* .sec-about-history
------------------------------------*/
.sec-about-history { margin-bottom: 200px; }

.sec-about-history > h2 {
	line-height: 1.95;
	letter-spacing: 0.17em;
}

.about-history {
	position: relative;
	display: -webkit-box;
	display: flex;
	box-sizing: border-box;
	width: 1000px;
	margin: 90px auto 0;
	padding-left: 75px;
	text-align: left;
}

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

.about-history h2 span {
	display: inline-block;
	/* background-color: var(--color-black); */
	margin-right: 7px;
	padding: 2px 2px 2px 1px;
	/* color: #FBFBF9; */
	font-size: 17px;
	line-height: 1;
	letter-spacing: 0.1em;
}

.about-history .img {
	width: 430px;
	min-width: 430px;
}

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

.about-history .txt { padding: 2px 0 0 30px; }

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

.about-history .txt h4 {
	margin-bottom: 26px;
	font-size: 30px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.about-history h5 {
	margin-top: 30px;
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.about-history .txt p {
	margin-bottom: 12px;
	color: var(--color-light-gray);
	font-size: 16px;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .about-history-box
------------------------------------*/
.about-history-box {
	box-sizing: border-box;
	width: 1000px;
	margin: 70px auto 120px;
	padding-left: 75px;
}

.about-history-box > div {
	position: relative;
	background: var(--color-bg-light-gray);
	padding: 52px 65px 50px 60px;
}

.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 {
	position: relative;
	display: -webkit-box;
	display: flex;
	margin-bottom: 42px;
	z-index: 1;
}

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

.about-history-box .inner h3 {
	width: 220px;
	min-width: 220px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: left;
}

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

/* .sec-about-project
------------------------------------*/
.sec-about-project { width: 100%; }
.sec-about-project .img-scroll { margin-bottom: 80px; }
.sec-about-project .img-scroll .inner { margin: 0; }

.about-project,
.about-message {
	box-sizing: border-box;
	width: 960px;
	margin: 0 auto;
	color: var(--color-light-gray);
}

.about-project {
	position: relative;
	margin-bottom: 105px;
	padding: 200px 0 0 285px;
}

.about-project h2 {
	position: absolute;
	top: -4px;
	left: 0;
	font-size: 38px;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

.about-project .btn-arrow {
	position: absolute;
	top: 150px;
	left: 2px;
}

.about-project p {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.04em;
}

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

.about-message figure {
	width: 220px;
	min-width: 220px;
	margin-right: 63px;
}

.about-message .txt {
	position: relative;
	padding: 0 0 0 50px;
	transform: translateY(-5px);
}

.about-message .txt h3 {
	position: absolute;
	top: 5px;
	left: 0;
	font-size: 16px;
	letter-spacing: 0.12em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-message .txt p {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 2.1;
    letter-spacing: 0.04em;
}

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

.about-message .txt .name em {
	padding-right: 18px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

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

.sec-about-project .about-pamphlet {
	margin: 120px auto 0;
	width: 960px;

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


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

/* .sec-craftsman-point1
------------------------------------*/
.sec-craftsman-point {
	position: relative;
	box-sizing: border-box;
	display: -webkit-box;
	display: flex;
	width: 1020px;
	padding-left: 55px;
}

.sec-craftsman-point h2 {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 15px;
	letter-spacing: 0.25em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-craftsman-point1 {
	-webkit-box-align: end;
	align-items: flex-end;
	margin: 0 auto 115px;
}

.sec-craftsman-point1 figure {
	width: 354px;
	min-width: 354px;
}

.sec-craftsman-point1 .txt {
	padding: 0 0 0 62px;
}

.sec-craftsman-point h3 {
	margin-bottom: 24px;
	font-size: 24px;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

.sec-craftsman-point .txt p {
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 1.95;
}

/* .sec-craftsman-point2
------------------------------------*/
.sec-craftsman-point2 {
	justify-content: space-between;
	margin: 0 auto 165px;
	padding-left: 60px;
}

.sec-craftsman-point2 .txt {
	width: 360px;
	padding-top: 30px;
}

.sec-craftsman-point2 .txt h3 {
	margin-left: 1px;
	text-indent: -3px;
}

.sec-craftsman-point2 .txt p {
	font-size: 15px;
	margin-bottom: 15px;
	line-height: 2.1;
	letter-spacing: 0.05em;
	text-align: justify;
}

.sec-craftsman-point2 .tips {
	position: relative;
	margin-top: 75px;
	padding: 8px 30px 6px;
}

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

.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: 22px;
	font-size: 16px;
	letter-spacing: 0.04em;
}

.sec-craftsman-point2 .tips p {
	/* color: var(--color-black); */
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-craftsman-point2 .img { position: relative; width: 526px; }
.sec-craftsman-point2 .img1 { margin-bottom: 25px; }

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

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

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

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

.interview-list-wrap > p {
	color: var(--color-light-gray);
	font-size: 15px;
	line-height: 2;
}

.interview-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	width: 1021px;
	margin: 50px auto 0;
}

.interview-list .inner { width: 305px; margin: 0 53px 50px 0; }
.interview-list .inner:nth-of-type(3n) { margin-right: 0; }
.interview-list .inner > a { display: block; }
.interview-list .inner > a:hover { opacity: 0.8; }

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

.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: 30px;
	left: 0;
	width: 100%;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-align: center;
	white-space: nowrap;
	z-index: 2;
}

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

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

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

.interview-list p {
	color: var(--color-black);
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.1em;
}


/* 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 {
	width: 680px;
	margin: 85px auto 85px;
}

.contents.interview .sec-lead h1 { margin-bottom: 25px; letter-spacing: 0.12em; }
.contents.interview .sec-lead h2 { margin-bottom: 25px; font-size: 28px; line-height: 1.7; }
.contents.interview .sec-lead h3 { margin-bottom: 45px; font-size: 16px; }
.contents.interview .sec-lead p { font-size: 18px; text-align: justify; }

#interview6Contents.contents.interview .sec-lead p { white-space: nowrap; }

.sec-interview-img { width: 1020px; margin: 0 auto 100px; }
.sec-interview-img figure:not(:last-of-type) { margin-bottom: 40px; }

.sec-interview-txt { width: 730px; margin: 0 auto 110px; }
.sec-interview-txt .inner:not(:last-child) { margin-bottom: 80px; }

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

.sec-interview-txt p {
	margin-bottom: 15px;
	font-size: 16px;
	line-height: 2.15;
	letter-spacing: 0.03em;
	text-align: justify;
}

.sec-interview-profile {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	width: 730px;
	margin: 160px auto 180px;
}

.sec-interview-profile figure {
	width: 266px;
	min-width: 266px;
}

.sec-interview-profile .txt {
	padding: 0 0 0 60px;
}

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

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

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

.sec-interview-profile h4 {
	margin-bottom: 30px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.sec-interview-profile p {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0;
	text-align: justify;
}


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

/* .sec-silk1
------------------------------------*/
.sec-silk1 {
	width: 943px;
	margin: 0 auto 120px;
}

.sec-silk1 .img-txt {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}

.sec-silk1 .img-txt2 {
	position: relative;
	-webkit-box-align: end;
	align-items: flex-end;
	margin-bottom: 0;
}

.sec-silk1 .img-txt1 figure { order: 2; width: 480px; }
.sec-silk1 .img-txt2 figure { order: 1; width: 295px; min-width: 295px; }

.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-txt1 .txt { order: 1; width: 366px; }
.sec-silk1 .img-txt2 .txt { order: 2; padding: 0 0 0px 42px; }

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

.sec-silk1 .img-txt .txt h2 {
	margin-bottom: 20px;
	font-size: 24px;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

.sec-silk1 .img-txt2 .txt h2 {
	line-height: 1.85;
}

.sec-silk1 .img-txt .txt p {
	color: var(--color-light-gray);
	font-size: 15px;
	line-height: 2.05;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .img-slide-silk
------------------------------------*/
.img-slide-silk { width: 1035px; margin: 0 auto 100px; }
.img-slide-silk .img-slide:not(:last-of-type) { margin-bottom: 15px; }

/* .sec-silk2
------------------------------------*/
.sec-silk2 { width: 821px; margin: 0 auto; }
.sec-silk2 .img-txt { margin: 0 auto 100px; }
.sec-silk2 .img-txt .txt { width: 680px; margin: 50px auto 0; }

.sec-silk2 .img-txt .txt h2 {
	text-align: center;
	font-size: 26px;	
	margin-bottom: 26px;
	font-size: 26px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.sec-silk2 .img-txt .txt p {
	color: var(--color-light-gray);
	font-size: 15px;
	line-height: 2.05;
	letter-spacing: 0.07em;
	text-align: justify;
}


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

/* .sec-design1
------------------------------------*/
.sec-design1 { width: 1080px; margin: 0 auto 150px; }
.sec-design1 > figure { margin: 0 auto 75px; }
.sec-design1 .sec-inner { width: 1016px; margin: 0 auto; }

.sec-design1 h2 {
	margin-bottom: 32px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.sec-design1 .img-txt .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	margin-bottom: 50px;
}

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

.sec-design1 .img-txt .inner figure {
	align-self: flex-start;
	width: 367px;
	min-width: 367px;
}

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

.sec-design1 .img-txt .inner .txt h3 {
	margin-bottom: 18px;
	font-size: 24px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.sec-design1 .img-txt .inner .txt p {
	color: var(--color-light-gray);
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .sec-design2
------------------------------------*/
.sec-design2 { width: 100%; margin: 0 auto 150px; }
.sec-design2 .img-scroll { margin-bottom: 55px; }
.img-scroll { display: -webkit-box; display: flex; }
.img-scroll .inner { margin: 0 1px; }

.sec-design2 > .inner,
.sec-design3 > .inner {
	display: -webkit-box;
	display: flex;
	box-sizing: border-box;
	width: 1020px;
	margin: 0 auto;
	color: var(--color-black);
}

.sec-design2 > .inner { padding-right: 35px; }

.sec-design2 > .inner h2,
.sec-design3 > .inner h2 {
	box-sizing: border-box;
	width: 320px;
	min-width: 320px;
	padding: 9px 0 0;
}

.sec-design2 > .inner h2 em,
.sec-design3 > .inner h2 em {
	display: block;
	margin-bottom: 16px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

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

.sec-design2 > .inner p,
.sec-design3 > .inner p {
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.1em;
	text-align: justify;
}

.sec-design2 > .inner p {
	line-height: 2.15;
	letter-spacing: 0.06em;
}

/* .sec-design3
------------------------------------*/
.sec-design3 { width: 1038px; margin: 0 auto; }
.sec-design3 figure { margin-bottom: 55px; }

/* .sec-design-case
------------------------------------*/
.sec-design-case {
	border-top: 1px solid var(--color-border-light-gray);
	width: 100%;
	margin: 120px 0 0;
	padding: 125px 0 0;
	color: var(--color-black);
	text-align: center;
}

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

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

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

.sec-design-case h2 {
	margin-bottom: 25px;
	font-size: 22px;
	line-height: 1.95;
	letter-spacing: 0.14em;
}

.sec-design-case p {
	font-size: 15px;
	line-height: 2.15;
}

.sec-design-case .btn-wrap {
	width: 1020px;
	margin: 100px auto 0;
}

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

.sec-design-case .btn-wrap .btn-line a {
	display: block;
	padding: 20px 0 19px;
	color: var(--color-black);
	font-size: 17px;
}


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

/* .sec-hakataori
------------------------------------*/
.sec-hakataori {
	width: 1080px;
	margin: 0 auto 120px;
}

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

.sec-hakataori .inner {
	display: -webkit-box;
	display: flex;
}

.sec-hakataori h2 {
	box-sizing: border-box;
	width: 448px;
	min-width: 448px;
	padding-left: 45px;
	font-size: 25px;
	line-height: 1.95;
	letter-spacing: 0.18em;
	transform: translateY(-4px);
}

.sec-hakataori .txt {
	padding-right: 49px;
}

.sec-hakataori .txt p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.06em;
	text-align: justify;
}

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

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

.sec-hakataori-pattern h2 {
	display: inline-block;
	margin: 0 65px 55px 30px;
	font-size: 25px;
	letter-spacing: 0.2em;
}

/*.sec-hakataori-pattern h2 + p {
	display: inline-block;
	color: var(--color-light-gray);
	font-size: 15px;
	letter-spacing: 0.06em;
	transform: translateY(-2px);
}*/

.hakataori-pattern-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.hakataori-pattern-list li {
	width: 243px;
	margin: 0 36px 34px 0;
}

.hakataori-pattern-list li:nth-of-type(4n) { margin-right: 0; }

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

.hakataori-pattern-list .txt {
	position: relative;
	padding: 0 12px 0 48px;
}

.hakataori-pattern-list h3 {
	position: absolute;
	top: 2px;
	left: 6px;
	font-size: 17px;
	letter-spacing: 0.15em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.hakataori-pattern-list h3 span {
	display: inline-block;
	padding-top: 8px;
	font-size: 10px;
	letter-spacing: 0;
}

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

/* .sec-hakataori-kenjou
------------------------------------*/
.sec-hakataori-kenjou {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	width: 1080px;
	margin: 0 auto 140px;
}

.sec-hakataori-kenjou > .img-set {
	order: 2;
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1055px;
}

.sec-hakataori-kenjou .sec-inner {
	order: 1;
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1020px;
	margin: 0 auto 80px;
}

.sec-hakataori-kenjou .txt {
	width: 420px;
	padding-top: 10px;
}

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

.sec-hakataori-kenjou .txt p {
	margin-bottom: 13px;
	color: var(--color-light-gray);
	font-size: 16px;
	line-height: 2.05;
	letter-spacing: 0.02em;
	text-align: justify;
}

.sec-hakataori-kenjou .motif {
	align-self: flex-start;
	box-sizing: border-box;
	background-color: var(--color-bg-light-gray);
	width: 534px;
	margin-top: 5px;
	padding: 58px 35px 38px 48px;
	transform: translateX(5px);
}

.sec-hakataori-kenjou .motif h3 { margin-bottom: 30px; }
.sec-hakataori-kenjou .motif h3:not(:first-of-type) { margin-top: 50px; }

.sec-hakataori-kenjou .motif h3 strong {
	display: inline-block;
	position: relative;
	margin-right: 18px;
	padding: 0 13px 0 15px;
	font-size: 18px;
	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;
}

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

.sec-hakataori-kenjou .motif h3 em {
	color: var(--color-gold);
	font-size: 17px;
	letter-spacing: 0.08em;
}

.sec-hakataori-kenjou .motif dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 15px;
}

.sec-hakataori-kenjou .motif dt {
	position: relative;
	padding-top: 6px;
	padding-right: 18px;
	padding-left: 36px;
	color: var(--color-black);
	font-family: var(--font-min-d);
	font-size: 15px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.sec-hakataori-kenjou .motif dt i {
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
}

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

.sec-hakataori-kenjou .motif dt span {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

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

/* .sec-hakataori-flow
------------------------------------*/
.sec-hakataori-flow {
	width: 1000px;
	margin: 0 auto 160px;
}

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

.sec-hakataori-flow > h3 {
	margin-bottom: 30px;
	font-size: 25px;
	letter-spacing: 0.15em;
}

.sec-hakataori-flow > p {
	color: var(--color-light-gray);
	font-size: 16px;
	line-height: 2.1;
}

.hakataori-flow-list {
	margin-top: 80px;
}

.hakataori-flow-list .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	margin-bottom: 80px;
}

.hakataori-flow-list .inner:last-of-type { margin-bottom: 0; }

.hakataori-flow-list figure {
	width: 337px;
	min-width: 337px;
}

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

.hakataori-flow-list h4 {
	position: relative;
	margin-bottom: 28px;
	font-size: 20px;
	letter-spacing: 0.08em;
}

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

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

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

.hakataori-flow-list p {
	color: var(--color-light-gray);
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .sec-hakataori-history
------------------------------------*/
.sec-hakataori-history {
	width: 1020px;
	margin: 0 auto;
}

.sec-hakataori-history > h2 {
	margin-bottom: 45px;
	font-size: 25px;
	letter-spacing: 0.15em;
}

.hakataori-history-list > div {
	display: -webkit-box;
	display: flex;
	border-top: 1px solid var(--color-border-light-gray);
	margin-bottom: 55px;
	padding-top: 30px;
	padding-right: 15px;
}

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

.hakataori-history-list dt,
.hakataori-history-list dd,
.hakataori-history-list dd p {
	color: var(--color-black);
	font-size: 16px;
	line-height: 2.15;
}

.hakataori-history-list dt {
	width: 195px;
	min-width: 195px;
	letter-spacing: 0.04em;
}

.hakataori-history-list dd,
.hakataori-history-list dd p {
	letter-spacing: 0.02em;
	text-align: justify;
}

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

.hakataori-history-list dd.flex figure {
	order: 2;
	width: 310px;
	transform: translateY(5px);
}

.hakataori-history-list dd.flex .txt {
	order: 1;
	padding-right: 55px;
}


/* page project
---------------------------------------------------------------------------*/
#projectContents .sec-lead > h2 {
	line-height: 1.8;
	letter-spacing: 0.14em;
}

/* .sec-project-point
------------------------------------*/
.sec-project-point {
	width: 1080px;
	margin: 90px auto 120px;
	text-align: center;
}

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

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

.sec-project-point h3 {
	margin-bottom: 22px;
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.sec-project-point p {
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.06em;
}

/* .project-nav
------------------------------------*/
.project-nav {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 1080px;
	margin: 0 auto;
	padding-top: 120px;
}

.project-nav:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #000000;
	width: 1170px;
	height: 1px;
}

.project-nav > div {
	width: 520px;
	text-align: center;
}

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

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

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

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

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

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

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

.project-list > div {
	width: 491px;
	margin-bottom: 60px;
}

.project-list > div.main { width: 100%; }

.project-list > div figure {
	margin-bottom: 24px;
	cursor: pointer;
	transition: .15s ease-out;
}

.project-list > div figure:hover { opacity: 0.8; }
.project-list > div.main figure { margin-bottom: 30px; }

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

.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: 36px 33px;
	z-index: 10;
}

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

.modal-project-slide {
	position: absolute !important;
	bottom: 42px;
	right: 64px;
	max-width: calc(100% - 444px);
	max-height: calc(100% - 100px);
}

.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: auto;
	opacity: 0;
}

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

.modal-project-slide .inner img {
	width: auto;
	min-width: 100%;
	max-width: 100%;
	height: auto;
	max-height: calc(100vh - 190px);
}

.modal-project-slide .slick-arrow {
	position: absolute;
	top: -32px;
	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 { right: 22px; transform: scaleX(-1); }
.modal-project-slide .slick-next { right: 0; }

.modal-project-slide .slick-dots {
	position: absolute;
	top: -31px;
	right: 20px;
}

.modal-project-slide .slick-dots li {
	position: relative;
	display: inline-block;
	width: 19px;
	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 button:hover:after,
.modal-project-slide .slick-dots .slick-active button:after {
	background: #555555;
}

.modal-project .txt {
	position: absolute;
	bottom: 40px;
	left: 40px;
	width: 270px;
}

.modal-project .txt nav { margin: 0 0 30px -6px; }
.modal-project .txt nav ul { display: -webkit-box; display: flex; }
.modal-project .txt nav li { padding: 11px; }
.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 .year {
	display: block;
	margin-bottom: 13px;
	color: var(--color-black);
	font-family: var(--font-serif);
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.modal-project .txt h3 {
	margin-bottom: 18px;
}

.modal-project .txt h3 strong {
	display: block;
	margin: 0 0 13px -1px;
	font-size: 19px;
	line-height: 1.4;
	letter-spacing: 0;
}

.modal-project .txt h3 em {
	display: block;
	color: var(--color-light-gray);
	font-family: var(--font-serif);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.modal-project .txt p {
	color: var(--color-light-gray);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
	text-align: justify;
}


/* page art-space
---------------------------------------------------------------------------*/
body.art-space footer {
	margin-top: 0;
}

.art-space-wrap {
	display: flex;
}

/* .head-art-space
------------------------------------*/
.head-art-space {
	box-sizing: border-box;
	position: sticky;
	top: 0;
	width: 300px;
	min-width: 300px;
	height: 100vh;
	z-index: 10;
}

.head-art-space .title {
	margin: 35px 0 0 35px;
}

.head-art-space h1 {
	margin: 14px 0 0;
	font-size: 18px;
	letter-spacing: 0;
	white-space: nowrap;
}

.head-art-space .btn-arrow {
	position: absolute;
	bottom: 35px;
	left: 35px;
}

.head-art-space .btn-arrow a,
#original-productsContents .sec-lead .btn-arrow a {
	letter-spacing: 0.04em;
}

.head-art-space .btn-arrow a i,
#original-productsContents .sec-lead .btn-arrow a i {
	margin-right: 8px;
	transform: translateY(4px) scaleX(-1);
}

.head-art-space .btn-arrow a span,
#original-productsContents .sec-lead .btn-arrow a span {
	padding-bottom: 4px;
}

/* .nav-art-space
------------------------------------*/
.nav-art-space {
	position: absolute;
	top: 50%;
	left: 37px;
	transform: translateY(-50%) !important;
}

.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-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 100%;
	padding: 70px 70px 140px 50px;
}

.art-space-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px 60px;
	margin: 0 auto;
}

.art-space-list article figure {
	margin-bottom: 10px;
	cursor: pointer;
	transition: .15s ease-out;
}

.art-space-list article figure:hover { opacity: 0.7; }
.art-space-list article figure img { width: 100%; }

.art-space-list article h2 {
	font-size: 15px;
	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: 5px; }
.art-space-img .img img { width: 100%; }

.art-space-img .img.column1 {
	padding: 0 5px;
}

.art-space-img .img.column1:first-child,
.art-space-img .img.column1 + .img.column1 {
	padding: 0;
}

.art-space-img .img.column2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 5px;
	padding: 0 5px;
}

.art-space-img .img.column3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 5px;
	padding: 0 5px;
}

.modal-art-space .txt {
	position: relative;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	padding: 130px 110px 50px 40px;
}

.modal-art-space .txt h3 {
	margin-bottom: 24px;
}

.modal-art-space .txt h3 strong {
	font-size: 17px;
	letter-spacing: 0.04em;
}

.modal-art-space .txt p {
	max-width: 760px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.04em;
}

.modal-art-space .txt nav {
	position: absolute;
	bottom: 51px;
	right: 25px;
	margin: 0;
}

.modal-art-space .txt nav ul {
	display: block;
}

.modal-art-space .txt nav li {
	padding: 7px;
	font-size: 13px;
	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: 26px;
	right: 32px;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	white-space: nowrap;
}


/* page original-products
---------------------------------------------------------------------------*/
#original-productsContents .sec-lead {
	position: relative;
	margin-bottom: 65px;
}

#original-productsContents .sec-lead .btn-arrow {
	position: absolute;
	top: -60px;
	left: 25px;
}

/* .sec-original-point
------------------------------------*/
.sec-original-point {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 65px 40px;
	width: 880px;
	margin: 0 auto 80px;
}

.sec-original-point .inner figure {
	margin-bottom: 30px;
}

.sec-original-point .inner h3 {
	margin-bottom: 17px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.15em;
	text-align: center;
}

.sec-original-point .inner p {
	color: var(--color-black);
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .sec-original-case
------------------------------------*/
.sec-original-case {
	background: url(img/share/bg-pattern-gray.jpg) repeat left top / 200px auto;
	margin: 0 auto 140px;
	padding: 90px 0 125px;
}

/* .nav-original-case
------------------------------------*/
.nav-original-case {
	margin: 0 auto 60px;
}

.nav-original-case ul {
	display: flex;
	justify-content: center;
}

.nav-original-case li {
	margin: 0 12px;
}

.nav-original-case li span {
	display: block;
	box-sizing: border-box;
	border-bottom: 1px solid var(--color-border-black);
	min-width: 194px;
	padding: 10px 20px 18px;
	color: var(--color-black);
	font-size: 17px;
	letter-spacing: 0.04em;
	text-align: center;
	opacity: 0.5;
}

.nav-original-case li span:hover,
.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 1fr;
	gap: 60px 35px;
	width: 1030px;
	margin: 0 auto;
}

.original-case-list article figure {
	margin-bottom: 22px;
	cursor: pointer;
	transition: .15s ease-out;
}

.original-case-list article figure:hover {
	opacity: 0.7;
}

.original-case-list article figure:has(.noimg) {
	width: 320px;
	height: 240px;
}

.original-case-list article figure .noimg {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.original-case-list article .year {
	display: block;
	margin: 0 0 6px 1px;
	font-family: var(--font-serif);
	font-size: 12px;
	letter-spacing: 0.06em;
}

.original-case-list article h3 {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

/* .sec-original-flow
------------------------------------*/
.sec-original-flow {
	width: 1030px;
	margin: -60px auto 0;
	padding-top: 60px;
}

.sec-original-flow h2 {
	margin: 0 0 30px 1px;
	font-size: 17px;
	letter-spacing: 0.08em;
}

.sec-original-flow h2 span {
	padding-bottom: 5px;
}

.sec-original-flow .dl dl {
	display: flex;
	border-bottom: 1px solid var(--color-border-gray);
	padding: 30px 18px 30px;
}

.sec-original-flow .dl dt {
	position: relative;
	box-sizing: border-box;
	width: 225px;
	min-width: 225px;
	padding-left: 42px;
	color: var(--color-black);
	font-size: 17px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.sec-original-flow .dl dt i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.sec-original-flow .dl dd p {
	font-size: 15px;
	line-height: 2;
	text-align: justify;
}

.sec-original-flow .attention-list {
	margin: 32px 0 50px 14px;
}

.sec-original-flow .attention-list li {
	margin-bottom: 3px;
	font-size: 15px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.06em;
}


/* page company
---------------------------------------------------------------------------*/
.sec-company {
	width: 1040px;
	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,
.sec-company dl p {
	font-size: 16px;
	line-height: 1.75;
}

.sec-company dl p {
	margin-bottom: 13px;
}

.sec-company dl > div {
	padding-top: 17px;
	padding-bottom: 17px;
	padding-left: 10px;
}

.sec-company dt {
	width: 170px;
	min-width: 170px;
	letter-spacing: 0.02em;
}

.img-company {
	width: 1080px;
	margin: 0 auto 120px;
}

.sec-outline {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.sec-outline .txt {
	width: 532px;
}

.sec-outline .txt dt {
	width: 115px;
	min-width: 115px;
	font-size: 15px;
}

.sec-outline .txt dd .flex {
	display: -webkit-box;
	display: flex;
	margin-bottom: 8px;
}

.sec-outline .txt dd .flex:last-child { margin-bottom: 4px; }

.sec-outline .txt dd .flex em {
	width: 95px;
	min-width: 95px;
	padding-top: 1px;
	font-size: 14px;
}

.sec-outline .map {
	position: relative;
	overflow: hidden;
	width: 442px;
}

.sec-outline .map iframe {
	display: block;
	position: absolute;
	top: -150px;
	left: -2px;
	width: calc(100% + 4px);
	height: calc(100% + 300px);
}


/* page contact
---------------------------------------------------------------------------*/
#contactContents {
	width: 860px;
	margin: 0 auto;
	color: var(--color-black);
}

/*.bnr-service {
	display: inline-block;
	border: 1px solid var(--color-border-light-gray);
	margin-top: 25px;
	padding: 22px 40px 28px 35px;
}

.bnr-service a {
	display: block;
	color: var(--color-black);
}

.bnr-service p {
	margin-bottom: 6px;
	font-size: 14px !important;
	letter-spacing: 0.1em;
}

.bnr-service h3 {
	font-size: 18px;
	letter-spacing: 0.15em;
}*/

#contactContents .sec-lead {
	margin-bottom: 20px;
}

#contactContents .sec-lead > p:has(+ .contact-link) {
	margin-top: 45px;
}

.contact-link li {
	display: -webkit-box;
	display: flex;
	margin-bottom: 18px;
}

.contact-link li > div {
	position: relative;
	margin-right: 34px;
}

.contact-link li > div:after {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	right: -17px;
	background-color: var(--color-border-light-gray);
	width: 1px;
	height: 20px;
}

.contact-link li > div i {
	display: inline-block;
	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;
	color: var(--color-black);
	font-size: 16px;
	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: 13px;
	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 {
	width: 680px;
	padding-top: 100px;
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 22px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	position: relative;
	box-sizing: border-box;
	width: 255px;
	min-width: 255px;
	padding-top: 14px;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 16px;
	letter-spacing: 0.08em;
}

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

.form-wrap dt span {
	display: block;
	margin: 3px 0 0 1px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.form-wrap dt i {
	display: block;
	position: absolute;
	top: 15px;
	right: 25px;
	background-color: #C7B197;
	border-radius: 4px;
	padding: 4px 9px 5px 8px;
	color: var(--color-bg-white);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.form-wrap dt.pt2 i { top: 39px; }

.form-wrap dd {
  box-sizing: border-box;
	width: 515px;
	min-height: 48px;
}

.form-wrap dd:has(.wpcf7-radio) {
	padding-top: 13px;
}

.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;
	width: 100%;
	height: 52px;
	padding: 12px 20px;
	font-family: var(--font-min);
	font-size: 14px;
	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;
  cursor: pointer;
}

.form-wrap .wpcf7-checkbox {
	display: block;
	transform: translateY(12px);
}

.form-wrap .wpcf7-checkbox .wpcf7-list-item {
	display: inline-block;
	margin-right: 20px;
	cursor: pointer;
}

.form-wrap .wpcf7-checkbox input[type="checkbox"] {
	margin-right: 10px;
	margin-left: 2px;
	transform: scale(1.2) translateY(1px);
}

_::-webkit-full-page-media, _:future, :root .form-wrap .wpcf7-checkbox input[type="checkbox"] {
	transform: scale(1.2) translateY(-1px);
}

.form-wrap .wpcf7-list-item-label {
	/*color: var(--color-black);*/
	font-size: 16px;
}

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

/* .form-calendar
------------------------------------*/
.form-wrap dd:has(.form-calendar) {
	padding-top: 7px;
}

.form-calendar {
	width: 100%;
}

.form-calendar th,
.form-calendar td {
	padding-bottom: 6px;
}

.form-calendar th {
	padding-right: 30px;
	white-space: nowrap;
}

.form-calendar th p {
	font-size: 14px;
}

.form-calendar td {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 12px;
}

.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 15px center;
	height: 42px !important;
	padding-left: 15px;
	font-size: 13px;
	letter-spacing: 0.06em;
	cursor: pointer;
}

_::-webkit-full-page-media, _:future, :root .form-wrap .form-calendar input[type="text"] {
	padding-top: 13px;
}

.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;
	width: 100%;
	padding-left: 8px;
	color: #888888;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.08em;
}

.form-wrap .form-calendar .btn-select.active .customSelect {
	color: var(--color-gray);
}

.form-wrap .form-calendar .customSelect .customSelectInner {
	transform-origin: left center;
	transform: scale(0.85);
}

_::-webkit-full-page-media, _:future, :root .form-wrap .form-calendar .customSelect .customSelectInner {
	padding-top: 9px;
}

.xdsoft_datetimepicker .xdsoft_today_button {
	display: none !important;
}

.form-wrap .form-calendar + .attention-list {
	margin: 5px 0 10px 1px !important;
}

.form-wrap .form-calendar + .attention-list li:before {
	top: -2px;
}

.form-wrap .form-calendar + .attention-list li p {
	font-size: 13px !important;
	letter-spacing: 0.06em;
}

.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: 12px 0 0 255px; font-size: 14px; }
.privacy-check p { letter-spacing: 0.1em; }

.privacy-check .wpcf7-form-control-wrap {
	width: auto;
	margin-right: 10px;
	transform: translateY(2px);
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap {
	transform: translateY(-1px);
}

.privacy-check .wpcf7-form-control-wrap + a {
	text-decoration: underline;
	color: var(--color-black);
}

/* .form-btm
------------------------------------*/
.form-btm {
	width: 425px;
	margin: 40px 0 0 255px;
}

.form-btm p {
	/*color: var(--color-black);*/
	text-align: justify;
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	width: 435px;
	margin: 40px 0 0 255px;
}

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

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

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

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 6px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.txt-response,
.wpcf7-response-output {
	margin: 30px 0 0 255px;
	font-size: 16px;
	line-height: 1.6;
	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 { width: 890px; margin: 0 auto; }
#privacyContents .sec-lead > h1 { margin-bottom: 52px; }
#privacyContents .sec-lead > p { color: var(--color-gray); }

.sec-privacy dl > div { margin-bottom: 65px; }
.sec-privacy dl > div:last-of-type { margin-bottom: 0; }

.sec-privacy dt {
	margin-bottom: 23px;
	color: var(--color-black);
	font-size: 17px;
	letter-spacing: 0.1em;
}

.sec-privacy dd { padding-left: 40px; }
.sec-privacy dd p { font-size: 15px; line-height: 2.1; }
.sec-privacy dd ul + p { margin-top: 35px; }
.sec-privacy dd ul { margin-top: 28px; }
.sec-privacy dd ul.attention-list { margin-top: -8px; }

.sec-privacy dd li {
	position: relative;
	margin-bottom: 4px;
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.sec-privacy dd .line2 li { margin-bottom: 10px; }
.sec-privacy dd li i { display: block; position: absolute; top: 0; left: 0; }
.sec-privacy dd li i span { padding-right: 1px; }


/* page terms
---------------------------------------------------------------------------*/
#termsContents .sec-lead { margin-bottom: 80px; }

.sec-terms {
	width: 948px;
	margin: 0 auto;
}

.sec-terms .inner {
	display: -webkit-box;
	display: flex;
	border-top: 1px solid var(--color-border-light-gray);
	padding: 21px 14px 22px;
}

.sec-terms .inner:last-of-type { border-bottom: 1px solid var(--color-border-light-gray); }
.sec-terms .inner.pb { padding-bottom: 30px; }

.sec-terms .inner,
.sec-terms .inner h2,
.sec-terms .inner h3,
.sec-terms .inner p {
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.sec-terms .inner h2 { width: 195px; min-width: 195px; }
.sec-terms .inner h3 { margin: 25px 0 8px; }
.sec-terms .inner h3:first-child { margin-top: 0; }
.sec-terms .inner p.attention { margin-top: -2px; padding-bottom: 5px; font-size: 13px; }
.sec-terms .inner p.let { letter-spacing: 0.04em; }
.sec-terms .inner p a { text-decoration: underline; }
.sec-terms .inner ul { padding-bottom: 5px; }


/* page en
---------------------------------------------------------------------------*/
#enContents { font-family: var(--font-serif); }
#enContents .sec-lead:first-of-type { margin-top: 65px; }
#enContents .sec-lead figure { margin-bottom: 45px; }

#enContents .sec-lead > h1 {
	margin-bottom: 34px;
	font-size: 27px;
	letter-spacing: 0.01em;
}

#enContents .sec-lead > h2 {
	margin-bottom: 23px;
	font-size: 23px;
	letter-spacing: 0.01em;
}

#enContents .sec-lead > p {
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0;
}

/* .form-wrap-en
------------------------------------*/
.form-wrap-en {
	border-top: 1px solid var(--color-border-light-gray);
	margin-top: 130px;
	padding-top: 130px;
}

.form-wrap-en .sec-inner {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 950px;
	margin: 0 auto;
}

.form-wrap-en .sec-inner > .txt {
	width: 515px;
	color: var(--color-black);
}

.form-wrap-en .sec-inner > .txt h2 {
	margin-bottom: 29px;
	font-size: 23px;
	letter-spacing: 0.01em;
}

.form-wrap-en .sec-inner > .txt p {
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0;
}

.form-wrap-en .sec-inner > .txt p.size-s { font-size: 13px; }
.form-wrap-en .sec-inner > .txt p + p.size-s { margin-top: 40px; }

.form-wrap-en .sec-inner > .txt ul {
	margin: 17px 0 15px;
}

.form-wrap-en .sec-inner > .txt li {
	margin-bottom: 2px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0;
}

.form-wrap-en .sec-inner > .txt + div { width: 435px; }

.form-wrap-en .form-wrap {
	width: 100%;
	margin-top: 0;
	color: var(--color-black);
}

.form-wrap-en .form-wrap dl div {
	display: block;
	margin-bottom: 22px;
}

.form-wrap-en .form-wrap dt {
	width: 100%;
	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: 13px;
	letter-spacing: 0.01em;
}

.form-wrap-en .form-wrap dt,
.form-wrap-en .form-wrap dt p {
	letter-spacing: 0.03em;
}

.form-wrap-en .form-wrap dt span {
	display: inline-block;
	margin-left: 12px;
	font-size: 12px;
	letter-spacing: 0.01em;
}

.form-wrap-en .form-wrap dd { width: 100%; }
.form-wrap-en .form-wrap dd p { letter-spacing: 0.02em; }
.form-wrap-en .form-wrap select { letter-spacing: 0.02em; }
.form-wrap-en .privacy-check { margin: -5px 0 0; }
.form-wrap-en .privacy-check p { font-size: 12px; letter-spacing: 0.03em; }
.form-wrap-en .btn-submit { width: 100%; margin: 22px 0 0; }
.form-wrap-en .btn-submit input { padding-top: 25px; padding-bottom: 21px; }

.form-wrap-en .form-wrap .txt-error,
.form-wrap-en .wpcf7-not-valid-tip { letter-spacing: 0.02em; }

.form-wrap-en .txt-response,
.form-wrap-en .wpcf7-response-output {
	margin-left: 0;
	font-size: 14px;
	letter-spacing: 0.02em;
}


/* page faq
---------------------------------------------------------------------------*/
#faqContents .sec-lead > h1 {
	letter-spacing: 0.16em;
}

.faq-list {
	width: 880px;
	margin: 0 auto;
}

.faq-list .post {
	display: -webkit-box;
	display: flex;
	margin-bottom: 80px;
}

.faq-list .post:last-of-type { margin-bottom: 0; }

.faq-list .post h2,
.faq-list .post dt {
	color: var(--color-black);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.faq-list .post h2 {
	width: 200px;
	min-width: 200px;
	padding-top: 18px;
}

.faq-list .post dl { width: 100%; }
.faq-list .post dl > div { border-bottom: 1px solid var(--color-border-light-gray); }

.faq-list .post dt {
	position: relative;
	padding: 19px 10px 19px 50px;
}

.faq-list .post dt i {
	display: block;
	position: absolute;
	top: 26px;
	left: 22px;
	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: 15px;
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
}

.faq-list .post dd { display: none; padding: 0 10px 27px 50px; }
.faq-list .post dd p { margin-bottom: 10px; }
.faq-list .post dd .blog-link { margin-top: 25px; }


/* page oriba
---------------------------------------------------------------------------*/
#oribaContents .sec-lead .logo { margin-top: 50px; margin-bottom: 45px; }
#oribaContents .sec-lead .logo img { width: 115px; }

/* .sec-oriba
------------------------------------*/
.sec-oriba {
	width: 830px;
	margin: 0 auto 140px;
}

.sec-oriba .inner {
	margin-bottom: 80px;
}

.sec-oriba .inner figure {
	margin-bottom: 40px;
}

.sec-oriba .inner .txt {
	display: -webkit-box;
	display: flex;
	padding: 0 25px 0 15px;
	text-align: justify;
}

.sec-oriba .inner .txt:not(:has(h2)) {
	margin-top: -15px;
	padding-left: 0;
}

.sec-oriba .inner .txt h2 {
	width: 265px;
	min-width: 265px;
	font-size: 19px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.sec-oriba .inner .txt p {
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

.sec-oriba .profile {
	box-sizing: border-box;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	border: 1px solid var(--color-border-light-gray);
	margin: -15px auto 0;
	padding: 45px 40px 45px 45px;
}

.sec-oriba .profile figure {
	width: 223px;
	min-width: 223px;
}

.sec-oriba .profile .txt {
	padding: 0 0 0 40px;
}

.sec-oriba .profile .txt h2 {
	margin: 0 0 19px 2px;
}

.sec-oriba .profile .txt h3 {
	margin-bottom: 30px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.sec-oriba .profile .txt p {
	line-height: 1.85;
	letter-spacing: 0.07em;
}

.sec-oriba .profile .txt a {
	display: inline-block;
	margin: 10px 0 5px;
	color: var(--color-black);
	font-size: 15px;
	letter-spacing: 0.02em;
	text-decoration: underline;
}

/* .sec-factory
------------------------------------*/
.sec-factory {
	width: 1020px;
	margin: 0 auto;
}

.sec-factory .txt {
	width: 920px;
	margin: 85px auto 0;
}

.sec-factory .txt h2 {
	margin-bottom: 30px;
	font-size: 26px;
	letter-spacing: 0.12em;
}

.sec-factory .txt > h3 {
	margin-bottom: 40px;
	color: var(--color-gray);
	font-size: 19px;
	letter-spacing: 0.06em;
}

.sec-factory .txt > h3 span {
	display: inline-block;
	border-bottom: 3px double var(--color-border-gray);
	padding-bottom: 4px;
}

.sec-factory .txt > p {
	font-size: 15px;
	line-height: 2;
}

.sec-factory .txt .attention-list {
	margin: 22px 0 34px;
}

.sec-factory .txt .attention-list li {
	margin-bottom: 5px;
	font-size: 13px !important;
	letter-spacing: 0.06em;
}

.factory-contact {
	display: -webkit-box;
	display: flex;
}

.sec-oriba .profile + .factory-contact {
	margin: 55px 0 0;
}

.factory-contact h3 {
	width: 205px;
	min-width: 205px;
	padding-top: 10px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.factory-contact h3 span {
	display: block;
	margin: 4px 0 0 1px;
	font-size: 12px;
	letter-spacing: 0.14em;
}

.factory-contact dl {
	width: 100%;
}

.factory-contact dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-border-light-gray);
	padding: 12px 0 13px 8px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.factory-contact dl > div:last-of-type {
	border-bottom: none;
}

.factory-contact dt {
	width: 155px;
	min-width: 155px;
	padding-top: 1px;
	color: var(--color-black);
}

.factory-contact dd p span {
	font-size: 12px;
	letter-spacing: 0.05em;
}

.factory-contact dd .btn-line {
	margin-top: 25px;
}

/* .factory-contact-form
------------------------------------*/
.factory-contact-form {
	background: url(img/share/bg-pattern-gray.jpg) repeat left top / 200px auto;
	margin: 75px -15px -10px;
	padding: 35px 45px 35px;
}

.factory-contact-form dl > div {
	border-color: #FFFFFF;
	padding-top: 16px;
	padding-bottom: 17px;
}

.factory-contact-form dd p {
	margin-bottom: 0;
}

/* #factory-form
------------------------------------*/
#factory-form {
	margin-top: 160px;
}

#factory-form .form-wrap {
	padding-top: 40px;
}


/* page error
---------------------------------------------------------------------------*/
#errorContents {
	position: relative;
	height: calc(100vh - 270px);
	min-height: 600px;
	text-align: center;
}

#errorContents .inner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
}

#errorContents h1 {
	margin-bottom: 30px;
	font-size: 22px;
	letter-spacing: 0.08em;
}

#errorContents p {
	font-size: 15px;
	line-height: 2.1;
}


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

}