@charset "utf-8";

.pc {
	display: none !important;
}



#wrap > header {
	position: fixed;
	width: 100%;
	height: 56px;
	left: 0;
	top: 0;
	z-index: 1000;
}
#wrap > header .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	background: linear-gradient(to right, rgba(255,255,255,1.0), rgba(255,255,255,0.6));
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

#wrap > header .inner {
	position: relative;
	height: 56px;
	z-index: 10;
}
#logo {
	position: absolute;
	width: 180px;
	height: 16px;
	left: 16px;
	top: 20px;
	font-size: 0;
}
#logo a {
	display: block;
}
#logo a img {
	width: 100%;
	height: 100%;
}

#wrap > header a {
	color: #000;
}



#menu-button {
	position: absolute;
	width: 24px;
	height: 24px;
	right: 16px;
	top: 16px;
}
#menu-button button {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
#menu-button button i {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	background: #000;
	transition: all 200ms ease-out;
}
#menu-button button i:nth-child(1) {
	margin-top: -8px;
}
#menu-button button i:nth-child(3) {
	margin-top: 8px;
}

body.opened-menu #menu-button button i:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}
body.opened-menu #menu-button button i:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}
body.opened-menu #menu-button button i:nth-child(2) {
	opacity: 0;
}



#menu-container {
	position: fixed;
	width: 100%;
	height: 0;
	left: 0;
	top: 56px;
	z-index: 1000;
	background: #fff;
	overflow: hidden;
	transition: all 400ms ease-out;
}
#menu-container .extra {
	position: relative;
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: calc(100vh - 56px);
	height: calc(100dvh - 56px);
}

body.opened-menu #menu-container {
	height: calc(100vh - 56px);
	height: calc(100dvh - 56px);
}


#global-menu {
}
#global-menu ul {
	width: 100%;
	text-align: center;
}
#global-menu li {
	position: relative;
}
#global-menu li + li {
	margin-top: 16px;
}
#global-menu a {
	position: relative;
	display: inline-block;
	z-index: 10;
	padding: 0 20px;
	font-size: 24px;
	font-family: "Cormorant Garamond", serif;
	background: #fff;
}
#global-menu li::after {
	position: absolute;
	content: "";
	display: block;
	width: 50vw;
	height: 1px;
	left: calc(50% - 50vw);
	top: 50%;
	background: #000;
	transform: scaleX(0);
}
/*
#global-menu a:active::after {
	transform: scaleX(1);
}
*/
body.home		#global-menu li.home::after,
body.exhibition #global-menu li.exhibition::after,
body.artist		#global-menu li.artist::after,
body.news		#global-menu li.news::after,
body.shop		#global-menu li.shop::after,
body.movie		#global-menu li.movie::after,
body.framing	#global-menu li.framing::after,
body.about		#global-menu li.about::after,
body.contact	#global-menu li.contact::after
{
	transform: scaleX(1);
}




#lang-menu {
	position: relative;
	margin: 32px 0 0;
	padding: 32px 0 0;
}
#lang-menu::before {
	position: absolute;
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	left: calc(50% - 24px);
	top: 0;
	background: #333;
}
#lang-menu ul {
	display: flex;
}
#lang-menu li {
	position: relative;
}
#lang-menu li + li {
	margin-left: 20px;
}
#lang-menu li + li::before {
	position: absolute;
	left: -18px;
	top: calc(50% - 8px);
	content: "・";
	font-size: 16px;
	font-family: "Cormorant Garamond", serif;
}
#lang-menu a {
	position: relative;
	font-size: 16px;
	font-family: "Cormorant Garamond", serif;
}
#lang-menu a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #000;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
#lang-menu a:active::after {
	transform: scaleX(1);
}
html:lang(ja) #lang-menu li.ja a::after,
html:lang(en) #lang-menu li.en a::after {
	transform: scaleX(1);
}





#tool-menu {
	position: absolute;
	right: 56px;
	top: 14px;
}
#tool-menu ul {
	display: flex;
}

#tool-menu li {
	position: relative;
}
#tool-menu li + li {
	margin-left: 8px;
}
#tool-menu a {
	display: block;
	width: 25px;
	height: 25px;
	transition: all 300ms ease-out;
}
#tool-menu img {
	width: 100%;
	height: auto;
}
#tool-menu a:active {
	opacity: 0.7;
}


#tool-menu .search {
	display: none;
}
#tool-menu .cart .count {
	box-sizing: border-box;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 15px;
	height: 15px;
	right: -8px;
	top: -3px;
	padding: 0 0 2px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: #000;
	border-radius: 8px;
	pointer-events: none;
}





body.home #wrap > header .bg {
	opacity: 0;
	transition: all 500ms ease-out;
}
body.home #logo,
body.home #tool-menu,
body.home #menu-button {
	filter: invert(1);
	transition: all 500ms ease-out;
}

body.home.scrolled-kv #wrap > header .bg {
	opacity: 1;
}
body.home.scrolled-kv #logo,
body.home.scrolled-kv #tool-menu,
body.home.scrolled-kv #menu-button {
	filter: invert(0);
}

body.home.opened-menu #wrap > header .bg {
	opacity: 1;
}
body.home.opened-menu #logo,
body.home.opened-menu #tool-menu,
body.home.opened-menu #menu-button {
	filter: invert(0);
}



#path {
	box-sizing: border-box;
	padding: 56px 0 0;
	height: 100px;
	background: url(../img/bg_header_sp.jpg) 50% 0 no-repeat;
	background-size: cover;
}

#path .inner {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 44px;
	padding: 0 16px;
}
#path .inner * {
	position: relative;
	font-size: 10px;
}
#path .inner * + * {
	margin-left: 20px;
}
#path .inner * + *::before {
	position: absolute;
	content: "";
	display: block;
	width: 4px;
	height: 6px;
	left: -11px;
	top: calc(50% - 2px);
	background: url(../img/arrow_path.svg) 0 0 no-repeat;
	background-size: 100% auto;
}
#path .inner a:active {
	text-decoration: underline;
}









#wrap > footer {
	position: relative;
	z-index: 100;
	margin: 60px 0 0;
	background: #333;
}
body.home #wrap > footer {
	margin-top: 0;
}

#wrap > footer .inner {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 32px 32px;
}

#wrap > footer .logo {
	width: 118px;
}
#wrap > footer .logo img {
	width: 100%;
	height: auto;
}


#wrap > footer .main-menu {
	width: calc(100vw - 64px);
	margin: 60px 0 0;
}
#wrap > footer .main-menu ul {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: repeat(2, 50%);
	grid-template-rows: repeat(4, auto);
	grid-gap: 20px 0;
}
#wrap > footer .main-menu li {
	height: 29px;
}
#wrap > footer .main-menu a {
	position: relative;
	display: inline-block;
	font-size: 24px;
	font-family: "Cormorant Garamond", serif;
	color: #fff;
}


#wrap > footer .sub-menu {
	margin-top: 60px;
}
#wrap > footer .sub-menu li {
	box-sizing: border-box;
}
#wrap > footer .sub-menu li + li {
	margin-top: 20px;
}
#wrap > footer .sub-menu a {
	position: relative;
	display: inline-block;
	font-size: 14px;
	color: #fff;
}


#wrap > footer .main-menu a::after,
#wrap > footer .sub-menu a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #fff;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
#wrap > footer .main-menu a:active::after,
#wrap > footer .sub-menu a:active::after {
	transform: scaleX(1);
}



#wrap > footer .sns {
	margin: 70px 0 0;
	filter: invert(1);
}


#wrap > footer .copyright {
	margin: 40px 0 0;
	font-size: 15px;
	font-family: "Bellefair", serif;
	color: #fff;
}







#scroll-top {
	position: fixed !important;
	display: flex;
	justify-content: flex-end;
	/*
	width: 1280px;
	height: 50px;
	left: calc(50% - 640px);
	bottom: 80px;
	*/
	
	width: 50px;
	height: 50px;
	right: 16px;
	bottom: 20px;
	
	z-index: 1000 !important;
	background: none !important;
	pointer-events: none;
	transition: all 500ms ease-out;
	opacity: 0;
	visibility: hidden;
	filter: invert(0.8);
}



#scroll-top a {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	border: 1px solid #fff;
	border-radius: 25px;
	pointer-events: auto;
	transition: all 300ms ease-out;
	cursor: pointer;
}
#scroll-top a::after {
	position: absolute;
	content: "";
	display: block;
	width: 12px;
	height: 8px;
	left: calc(50% - 6px);
	top: calc(50% - 4px);
	background: url(../img/arrow_top.svg) 0 0 no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}
#scroll-top a:active {
	background: #fff;
}
#scroll-top a:active::after {
	filter: invert(1);
}

body.scrolled #scroll-top {
	opacity: 1;
	visibility: visible;
}
body.scrolled-end #scroll-top {
	filter: invert(0);
}



#wrap {
	overflow-x: hidden;
}



/* ---------------------------------------------------------------------------------------------------- */
/* Home */

#kv {
	position: fixed;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	z-index: 10;
}
#kv .slide-item {
	position: relative;
	width: 100vw;
	height: 100vh;
}
#kv .slide-item a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
#kv .slide-item .thumb {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#kv .slide-item img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#kv .slide-item .title {
	box-sizing: border-box;
	position: absolute;
	display: inline-block;
	left: 16px;
	bottom: 72px;
	z-index: 10;
	padding: 0 0 16px;
	font-size: 14px;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,0.8);
}
#kv .slide-item .title a {
	position: relative;
	display: inline-block;
	padding-right: 30px;
	color: #fff;
}
#kv .slide-item .title a::after {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	right: 30px;
	top: calc(50% - 6px);
	background: url(../img/arrow_white_mini.svg) 0 0 no-repeat;
	transition: all 400ms ease-out;
}
#kv .slide-item .title a:active::after {
	transform: translateX(8px);
}

#kv .slide-item .copyright {
	position: absolute;
	display: inline-block;
	left: 16px;
	bottom: 40px;
	z-index: 10;
	font-size: 10px;
	color: #fff;
}


#kv .slick-dots {
	position: absolute;
	display: flex;
	z-index: 20;
	right: 16px;
	bottom: 10px;
}
#kv .slick-dots li {
	width: 30px;
}
#kv .slick-dots li + li {
	margin-left: 8px;
}
#kv .slick-dots button {
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
#kv .slick-dots button::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 10px;
	z-index: 10;
	background: rgba(255,255,255,1);
	transform-origin: left center;
	transform: scaleX(0);
}
#kv .slick-dots button::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 10px;
	z-index: 1;
	background: rgba(255,255,255,0.4);
}

#kv .slick-dots button.active::before {
	transform: scaleX(1);
	transition: all 5000ms linear;
}


body.home #wrap > div:not(#kv) {
	position: relative;
	z-index: 50;
	background: #fff;
}




.notfound-content {
	margin: 80px 0 0;
}
.notfound-content p {
	font-size: 16px;
	line-height: 2;
}
.notfound-content .link-button {
	margin: 40px 0 0;
}
.notfound-content .link-button a {
	width: 200px !important;
}








#opening {
	position: fixed !important;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10000 !important;
	background: none !important;
	transition: all 800ms ease-out;
}
#opening .bg {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	background: #fff;
}
#opening .typo {
	box-sizing: border-box;
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10;
	padding: 0 20px;
}
#opening .poetic {
	width: 100%;
	height: 15vw;
	max-height: 100px;
	
	aspect-ratio: 317 / 60;
	background: url(../img/typo_poetic.svg) 0 0 no-repeat;
	background-size: auto 100%;
	
	filter: blur(30px);
	opacity: 0;
	transition: all 800ms ease-out;
}
#opening .scape {
	width: 100%;
	height: 15vw;
	max-height: 100px;
	
	aspect-ratio: 264 / 60;
	background: url(../img/typo_scape.svg) 0 0 no-repeat;
	background-size: auto 100%;
	margin-top: 7.5vw;
	
	filter: blur(30px);
	opacity: 0;
	transition: all 800ms ease-out;
}


#opening.step1 .poetic {
	opacity: 1;
	filter: blur(0px);
}
#opening.step2 .scape {
	opacity: 1;
	filter: blur(0px);
}
#opening.step3 {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}


html:has(body.home) {
	scrollbar-gutter: stable;
}
body.opening {
	height: 100%;
	overflow: hidden;
}






/* ---------------------------------------------------------------------------------------------------- */
/* Common */


.content-header h1 {
	font-size: 54px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	line-height: 1;
}
.content-header h2 {
	font-size: 48px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	line-height: 1;
}
.content-header .caption {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.6;
}

.content-header.top-layout {
}
.content-header.top-layout .link-button {
}




.link-button a,
.woocommerce-MyAccount-content .woocommerce-Address a
{
	box-sizing: border-box;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 0 0 1px;
	font-weight: 400;
	border: 1px solid #333;
	border-radius: 20px;
	background: #fff;
	transition: all 300ms ease-out;
	cursor: pointer;
}
.link-button a::after,
.woocommerce-MyAccount-content .woocommerce-Address a::after
{
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	right: 16px;
	top: calc(50% - 6px);
	background: url(../img/arrow_black_mini.svg) 0 0 no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}
.link-button a:active,
.woocommerce-MyAccount-content .woocommerce-Address a:active
{
	color: #fff;
	background: #333;
}
.link-button a:active::after,
.woocommerce-MyAccount-content .woocommerce-Address a:active::after
{
	filter: invert(1);
}

.contact-form .submission a,
.woocommerce-cart-form tbody tr:last-child button,
.wc-proceed-to-checkout a,
.wc-block-components-button,
body.mypage .woocommerce-address-fields .button,
body.mypage .mypage-detail .woocommerce-button,
body.mypage .mypage-detail .woocommerce-Button
{
	box-sizing: border-box;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 40px;
	padding: 0 0 1px;
	font-weight: 400;
	color: #fff;
	border: 1px solid #333;
	border-radius: 20px;
	background: #333;
	transition: all 300ms ease-out;
	cursor: pointer;
}
.contact-form .submission a::after,
.wc-proceed-to-checkout a::after,
.wc-block-components-button::after,
body.mypage .woocommerce-address-fields .button::after,
body.mypage .mypage-detail .woocommerce-button::after,
body.mypage .mypage-detail .woocommerce-Button::after
{
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	right: 16px;
	top: calc(50% - 6px);
	background: url(../img/arrow_black_mini.svg) 0 0 no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
	filter: invert(1);
}
.contact-form .submission a:active,
.woocommerce-cart-form tbody tr:last-child button:active,
.wc-proceed-to-checkout a:active,
.wc-block-components-button:active,
body.mypage .woocommerce-address-fields .button:active,
body.mypage .mypage-detail .woocommerce-button:active,
body.mypage .mypage-detail .woocommerce-Button:active
{
	color: #333;
	background: #fff;
}
.contact-form .submission a:active::after,
.wc-proceed-to-checkout a:active::after,
.wc-block-components-button:active::after,
body.mypage .woocommerce-address-fields .button:active::after,
body.mypage .mypage-detail .woocommerce-button:active::after,
body.mypage .mypage-detail .woocommerce-Button:active::after
{
	filter: invert(0);
}


.wc-block-components-button {
	width: 300px !important;
	height: 40px !important;
	min-height: 40px !important;
	padding: 0 0 1px !important;
	font-size: 15px !important;
	transition: color 300ms ease-out, background 300ms ease-out !important;
}
.wc-block-components-button:focus {
	outline: 1px solid #333 !important;
	box-shadow: none !important;
}










.sns ul {
	display: flex;
}
.sns ul li + li {
	margin-left: 16px;
}
.sns ul li img {
	width: 26px;
	height: 26px;
}
.sns ul li a {
	display: block;
	transition: all 300ms ease-out;
}
.sns ul li a:active {
	opacity: 0.7;
}





.layout-container {
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
	padding: 0 16px;
}

.current-exhibition .inner {
}
.current-exhibition .content-header {
}
.current-exhibition .entry-list {
}

.current-exhibition .content-header h2 {
	line-height: 1.1;
}
.current-exhibition .content-header .link-button {
	display: flex;
	justify-content: flex-end;
	margin: -18px 0 0;
}
.current-exhibition .content-header .link-button a {
	width: 170px;
}

.current-exhibition .entry-list ul {
	margin: 40px 0 0;
}
.current-exhibition .entry-list .thumb {
	margin-right: -16px;
}
.current-exhibition .entry-list img {
	width: 100%;
	height: auto;
}

.current-exhibition .entry-list .copyright {
	display: block;
	margin: 8px 8px 0 0;
	font-size: 10px;
	text-align: right;
}
.current-exhibition .entry-list .title {
	margin: 24px 0 0;
	font-size: 24px;
}
.current-exhibition .entry-list .date {
	margin: 20px 0 0;
	font-size: 14px;
}
.current-exhibition .entry-list .link-button {
	margin: 30px 0 0;
}

.current-exhibition .not-available {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100px;
}





.exhibition-list {
	margin-top: 40px;
}
.exhibition-list ul {
}
.exhibition-list li {
}
.exhibition-list li + li {
	margin-top: 16px;
}

.exhibition-list a {
	display: block;
}
.exhibition-list .thumb {
	overflow: hidden;
}
.exhibition-list img {
	width: 100%;
	height: auto;
	aspect-ratio: 416 / 294;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.exhibition-list .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.exhibition-list .date {
	margin: 2px 0 0;
	font-size: 14px;
}

.exhibition-list a:active img {
	transform: scale(1.05);
}






.news-list > ul {
}
.news-list > ul >li {
}
.news-list > ul > li + li {
	margin-top: 16px;
}

.news-list a {
	display: block;
}
.news-list .thumb {
	overflow: hidden;
}
.news-list img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.news-list .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.news-list .date {
	margin: 4px 0 0;
	font-size: 12px;
}

.news-list a:active img {
	transform: scale(1.05);
}






.item-list ul {
	display: flex;
	flex-wrap: wrap;
}
.item-list li {
	width: calc((100% - 16px) / 2);
	margin-left: 16px;
}
.item-list li:nth-child(2n + 1) {
	margin-left: 0;
}
.item-list li:nth-child(n + 3) {
	margin-top: 16px;
}

.item-list a {
	display: block;
}
.item-list .thumb {
	overflow: hidden;
}
.item-list img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.item-list .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.item-list .price {
	margin: 4px 0 0;
	font-size: 18px;
}

.item-list a:active img {
	transform: scale(1.05);
}


.woocommerce-no-products-found {
	margin: 40px 0 0;
	min-height: 200px;
	text-align: center;
}






#top-news .news-list {
	position: relative;
	padding: 0 0 50px;
}
#top-news .news-list .slick-list {
	overflow: visible;
}
#top-news .news-list .slide-item {
}
#top-news .news-list .slide-item a {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: calc(100vw - 48px);
	padding-left: 16px;
}
#top-news .news-list .slide-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 416 / 294;
	object-fit: cover;
	transition: all 400ms ease-out;
}
#top-news .news-list .thumb {
	overflow: hidden;
}
#top-news .news-list .title {
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.7;
}
#top-news .news-list a:active img {
	transform: scale(1.05);
}
#top-news .slick-arrow {
	display: none !important;
}



#top-news .slick-dots {
	position: absolute;
	display: flex;
	align-items: center;
	height: 20px;
	left: 0;
	bottom: -50px;
}
#top-news .slick-dots li + li {
	margin-left: 8px;
}
#top-news .slick-dots button {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
#top-news .slick-dots button::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	z-index: 10;
	background: #000;
	opacity: 0.3;
}
#top-news .slick-dots .slick-active button::before {
	opacity: 1;
}




#top-news .top-layout .link-button {
	display: flex;
	justify-content: flex-end;
	margin: -18px 0 0;
}
#top-news .top-layout .link-button a {
	width: 170px;
}









#top-movie .movie-list {
	position: relative;
	padding: 0 0 50px;
}
#top-movie .movie-list .slick-list {
	overflow: visible;
}
#top-movie .movie-list .slide-item {
}
#top-movie .movie-list .slide-item a {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: calc(100vw - 48px);
	padding-left: 16px;
}
#top-movie .movie-list .slide-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 416 / 236;
	object-fit: cover;
	transition: all 400ms ease-out;
}
#top-movie .movie-list .thumb {
	overflow: hidden;
}
#top-movie .movie-list .title {
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.7;
}

#top-movie .movie-list .slide-item a::after {
	box-sizing: border-box;
	position: absolute;
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	left: calc(50% - 30px + 8px);
	top: calc((100vw - 64px) / 16 * 9 * 0.5 - 30px);
	z-index: 10;
	border: 1px solid #fff;
	border-radius: 30px;
	background: url(../img/icon_play.svg) 55% 50% no-repeat;
	background-size: 12px auto;
}

#top-movie .movie-list a:active img {
	transform: scale(1.05);
}
#top-movie .slick-arrow {
	display: none !important;
}





#top-movie .slick-dots {
	position: absolute;
	display: flex;
	align-items: center;
	height: 20px;
	left: 0;
	bottom: -50px;
}
#top-movie .slick-dots li + li {
	margin-left: 8px;
}
#top-movie .slick-dots button {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
#top-movie .slick-dots button::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	z-index: 10;
	background: #000;
	opacity: 0.3;
}
#top-movie .slick-dots .slick-active button::before {
	opacity: 1;
}






.footer-return {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #333;
}
.footer-return a {
	position: relative;
	display: inline-block;
	padding-left: 18px;
	font-size: 14px;
}
.footer-return a::before {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	left: 0;
	top: calc(50% - 5px);
	background: url(../img/arrow_return.svg) 0 0 no-repeat;
	background-size: 100% auto;
}
.footer-return a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #333;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
.footer-return a:active::after {
	transform: scaleX(1);
}




#top-exhibition {
	margin-top: 100vh;
	padding-top: 40px;
}
#top-artist {
	padding-top: 60px;
}
#top-news {
	padding-top: 60px;
}
#top-shop {
	padding-top: 60px;
}
#top-movie {
	padding-top: 60px;
}



#top-exhibition .not-available {
}




#top-artist .entry-list {
	margin: 40px 0 0;
}
#top-artist .entry-list ul {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
/*
#top-artist .entry-list li {
	width: calc((100% - 16px) / 2);
	margin-left: 16px;
}
#top-artist .entry-list li:nth-child(2n + 1) {
	margin-left: 0;
}
#top-artist .entry-list li:nth-child(n + 3) {
	margin-top: 16px;
}
*/

#top-artist .entry-list li {
	width: calc((100% - 16px) / 2);
	margin-left: 16px;
}

#top-artist .entry-list li:nth-child(1),
#top-artist .entry-list li:nth-child(6)
{
	width: 100%;
}
#top-artist .entry-list li:nth-child(1),
#top-artist .entry-list li:nth-child(2),
#top-artist .entry-list li:nth-child(4),
#top-artist .entry-list li:nth-child(6),
#top-artist .entry-list li:nth-child(7),
#top-artist .entry-list li:nth-child(9)
{
	margin-left: 0;
}
#top-artist .entry-list li:nth-child(n + 2) {
	margin-top: 16px;
}




#top-artist .entry-list a {
	display: block;
	height: 100%;
}
#top-artist .entry-list .thumb {
	overflow: hidden;
}
#top-artist .entry-list img {
	width: 100%;
	height: auto;
	aspect-ratio: 308 / 179;
	object-fit: cover;
	transition: all 400ms ease-out;
}
#top-artist .entry-list .title {
	box-sizing: border-box;
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

#top-artist .entry-list a:active img {
	transform: scale(1.05);
}



#top-artist .layout-container {
	padding-bottom: 80px;
}
#top-artist .top-layout .link-button {
	position: absolute;
	width: calc(100% - 32px);
	left: 16px;
	bottom: 0;
}








#top-news .entry-list {
	margin-top: 40px;
}



#top-shop .entry-list {
	margin-top: 40px;
}



#top-movie .entry-list {
	margin-top: 40px;
}


#top-movie .top-layout .link-button {
	display: flex;
	justify-content: flex-end;
	margin: -42px 0 0;
}
#top-movie .top-layout .link-button a {
	width: 170px;
}





#top-shop .layout-container {
	padding-bottom: 80px;
}
#top-shop .top-layout .link-button {
	position: absolute;
	width: calc(100% - 32px);
	left: 16px;
	bottom: 0;
}








#top-framing {
	padding-top: 60px;
}
#top-framing .content-header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 48vw;
	color: #fff;
	background: url(../img/bg_top_framing.jpg) 50% 50% no-repeat;
	background-size: 150vw auto;
}
#top-framing .content-header .caption {
	font-size: 14px;
}
#top-framing .content {
	margin: 24px 16px 0;
}
#top-framing .text p {
	font-size: 14px;
	line-height: 2;
}
#top-framing .link-button {
	margin: 35px 16px 0;
}








#top-about {
	padding-top: 60px;
	padding-bottom: 34px;
}
#top-about .inner {
}
#top-about .content-header {
	box-sizing: border-box;
}
#top-about .content {
}

#top-about .content-header .link-button {
	display: flex;
	justify-content: flex-end;
	margin: -18px 0 0;
}
#top-about .content-header .link-button a {
	width: 170px;
}

#top-about .content .image {
	margin: 40px 0 0 -16px;
}
#top-about .image img {
	width: 100%;
	height: auto;
}

#top-about .text {
	margin: 24px 0 0;
}
#top-about .text p {
	font-size: 14px;
	line-height: 2;
}

#top-about h3 {
	position: relative;
	margin: 0 0 24px;
}
#top-about h3::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	background: #333;
}
#top-about h3 span {
	position: relative;
	display: inline-block;
	min-width: 100px;
	z-index: 10;
	font-size: 32px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	background: #fff;
}

#top-about .access {
	margin: 40px 0 0;
}
#top-about .owner {
	margin: 40px 0 0;
}

#top-about .extra {
}
#top-about .extra > * {
}
#top-about .map img,
#top-about .photo img {
	width: 100%;
}
#top-about .extra dt {
	font-size: 24px;
}
#top-about .extra dd {
	font-size: 14px;
	line-height: 2;
}


#top-about .access .map {
	margin: 40px 0 0;
}
#top-about .access dt + dd {
	margin-top: 20px;
}
#top-about .access dt + dd + dd {
	margin-top: 20px;
}
#top-about .access .googlemap {
	margin-top: 15px;
}
#top-about .access .googlemap a {
	position: relative;
	display: inline-flex;
}
#top-about .access .googlemap a strong {
	font-size: 24px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	transition: all 300ms ease-out;
}
#top-about .access .googlemap a span {
	display: inline-block;
	width: 11px;
	height: 11px;
	margin: -1px 0 0 10px;
	vertical-align: middle;
}
#top-about .access .googlemap a span img {
	width: 100%;
	height: auto;
}
#top-about .access .googlemap a:active strong {
	opacity: 0.7;
}
#top-about .access .sns {
	margin-top: 15px;
}



#top-about .owner .photo {
	margin: 40px 0 0;
}
#top-about .owner dt + dd {
	margin-top: 2px;
	font-size: 14px;
}
#top-about .owner dt + dd + dd {
	margin-top: 15px;
	font-size: 14px;
	line-height: 2;
}
#top-about .owner .sns {
	margin-top: 20px;
}






#top-links {
	padding: 60px 0;
	background: transparent !important;
}
#top-links .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	background: rgba(255,255,255,0.3);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}
#top-links .inner {
	position: relative;
	z-index: 10;
	margin: 0 16px;
}
#top-links ul {
}
#top-links li + li {
	margin-top: 16px;
}
#top-links a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 120px;
	background: #fff;
	transition: all 300ms ease-out;
}
#top-links a .title {
	font-size: 32px;
	font-family: "Cormorant Garamond", serif;
}
#top-links a .caption {
	margin: 6px 0 0;
	font-size: 14px;
}
#top-links a::after {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	right: 16px;
	top: calc(50% - 6px);
	background: url(../img/arrow_black_mini.svg) 0 0 no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}
#top-links a:active {
	color: #fff;
	background: #333;
}
#top-links a:active::after {
	filter: invert(1);
}









/* ---------------------------------------------------------------------------------------------------- */
/* Detail */

.detail-content {
	min-height: 500px;
	margin: 35px 0 0;
}
.detail-content:has(.return) {
	margin-top: 16px;
}

.detail-content .return {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.detail-content .return a {
	position: relative;
	display: inline-block;
	padding-left: 18px;
	font-size: 14px;
}
.detail-content .return .label {
	font-size: 18px;
	font-family: "Cormorant Garamond", serif;
}

.detail-content .return a::before {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	left: 0;
	top: calc(50% - 5px);
	background: url(../img/arrow_return.svg) 0 0 no-repeat;
	background-size: 100% auto;
}
.detail-content .return a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #333;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
.detail-content .return a:active::after {
	transform: scaleX(1);
}




.detail-content h2 {
	position: relative;
}
.detail-content h2 span {
	position: relative;
	display: inline-block;
	z-index: 10;
	padding-right: 16px;
	font-size: 32px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	background: #fff;
}
.detail-content h2::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	z-index: 1;
	background: #333;
}




.detail-content .slide img {
	width: 100%;
	height: auto;
}
.detail-content .slide-item {
	position: relative;
}
.detail-content .copyright {
	box-sizing: border-box;
	position: absolute;
	display: block;
	height: 20px;
	right: 0;
	bottom: -20px;
	padding: 8px 0 0 0;
	font-size: 10px;
	text-align: right;
}

.detail-content .slick-list {
	overflow: visible;
}
.detail-content .slide-inner {
	position: relative;
	padding-bottom: 25px;
}
.detail-content .slick-dots {
	position: absolute;
	display: flex;
	height: 20px;
	z-index: 20;
	left: 0;
	bottom: 0;
}
.detail-content .slick-dots li {
	width: 30px;
}
.detail-content .slick-dots li + li {
	margin-left: 8px;
}
.detail-content .slick-dots button {
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
.detail-content .slick-dots button::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 10px;
	z-index: 10;
	background: rgba(0,0,0,1);
	transform-origin: left center;
	transform: scaleX(0);
}
.detail-content .slick-dots button::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 10px;
	z-index: 1;
	background: rgba(0,0,0,0.3);
}

.detail-content .slick-dots button.active::before {
	transform: scaleX(1);
	transition: all 5000ms linear;
}






.detail-content .related-item > ul {
	display: flex;
}
.detail-content .related-item > ul > li {
	width: calc((100% - 32px) / 3);
	margin-left: 16px;
}
.detail-content .related-item li:nth-child(3n + 1) {
	margin-left: 0;
}
.detail-content .related-item .thumb {
	overflow: hidden;
}
.detail-content .related-item li a {
	display: block;
}
.detail-content .related-item li img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.detail-content .related-item li a:active img {
	transform: scale(1.05);
}

.detail-content .related-item .title {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 1.7;
}
.detail-content .related-item .price {
	margin: 4px 0 0;
	font-size: 20px;
}





.detail-content .related-exhibition > ul {
	display: flex;
}
.detail-content .related-exhibition > ul > li {
	width: calc((100% - 32px) / 3);
	margin-left: 16px;
}
.detail-content .related-exhibition > ul > li:nth-child(3n + 1) {
	margin-left: 0;
}
.detail-content .related-exhibition .thumb {
	overflow: hidden;
}
.detail-content .related-exhibition li a {
	display: block;
}
.detail-content .related-exhibition li img {
	width: 100%;
	height: auto;
	aspect-ratio: 309 / 174;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.detail-content .related-exhibition li a:active img {
	transform: scale(1.05);
}

.detail-content .related-exhibition .title {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 1.7;
}
.detail-content .related-exhibition .date {
	margin: 4px 0 0;
	font-size: 14px;
}
	
	
	







.item-slide {
	margin: 24px 0 0;
}
.item-slide .slick-list {
	overflow: visible;
}
.item-slide .slide-item {
}
.item-slide .slide-item a {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: calc(100vw - 48px);
	padding-left: 16px;
}
.item-slide .slide-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.item-slide .slide-item .thumb {
	overflow: hidden;
}
.item-slide .slide-item .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.item-slide .slide-item .price {
	margin: 4px 0 0;
	font-size: 18px;
}
.item-slide .slide-item a:active img {
	transform: scale(1.05);
}


.item-slide .slick-dots {
	position: relative;
	display: flex;
	align-items: center;
	height: 20px;
	margin: 30px 0 0;
}
.item-slide .slick-dots li + li {
	margin-left: 8px;
}
.item-slide .slick-dots button {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
.item-slide .slick-dots button::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	z-index: 10;
	background: #000;
	opacity: 0.3;
	transition: none !important;
}
.item-slide .slick-dots .slick-active button::before {
	opacity: 1;
}



















/* ---------------------------------------------------------------------------------------------------- */
/* Exhibition */

body.exhibition .current-exhibition {
	margin-top: 40px;
}
body.exhibition .upcoming-exhibition {
	margin-top: 60px;
}


.exhibition-header {
	margin-top: 35px;
}

.exhibition-header .link-button {
	display: flex;
	justify-content: flex-end;
	margin: -18px 0 0;
}
.exhibition-header .link-button a {
	width: 170px;
}


.exhibition-header .shortcut {
	margin-top: 40px;
}
.exhibition-header .shortcut ul {
	display: flex;
}
.exhibition-header .shortcut li {
	position: relative;
}
.exhibition-header .shortcut li + li {
	margin-left: 32px;
}
.exhibition-header .shortcut li + li::before {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 20px;
	left: -16px;
	top: calc(50% - 10px);
	background: rgba(0,0,0,0.5);
}
.exhibition-header .shortcut a {
	position: relative;
	display: inline-block;
	font-size: 20px;
	font-family: "Cormorant Garamond", serif;
}
.exhibition-header .shortcut a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #333;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
.exhibition-header .shortcut a:active::after {
	transform: scaleX(1);
}







.upcoming-exhibition .inner {
}
.upcoming-exhibition .content-header {
}
.upcoming-exhibition .entry-list {
}

.upcoming-exhibition .content-header h2 {
	line-height: 1.2;
}
.upcoming-exhibition .entry-list ul {
	margin: 40px 0 0;
}
.upcoming-exhibition .entry-list .thumb {
	margin-right: -16px;
	margin-right: 0;
}
.upcoming-exhibition .entry-list img {
	width: 100%;
	height: auto;
}

.upcoming-exhibition .entry-list .copyright {
	display: block;
	margin: 8px 8px 0 0;
	font-size: 10px;
	text-align: right;
}
.upcoming-exhibition .entry-list .title {
	margin: 24px 0 0;
	font-size: 24px;
}
.upcoming-exhibition .entry-list .date {
	margin: 20px 0 0;
	font-size: 14px;
}
.upcoming-exhibition .entry-list .link-button {
	margin: 30px 0 0;
}

.upcoming-exhibition .not-available {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100px;
}










.archive-exhibition {
	margin-top: 60px;
}
.archive-exhibition .content-header .link-button {
	display: none;
}
.archive-exhibition > .inner > .link-button {
	margin: 40px 0 0;
}

.archive-exhibition.compact {
	margin-top: 35px;
}
.archive-exhibition .load-more a::after {
	transform: rotate(90deg) translateY(2px);
}









.exhibition-detail .inner > .title {
	margin: 30px 0 0;
}
.exhibition-detail .title h1 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6;
}

.exhibition-detail .date {
	margin: 16px 0 0;
	font-size: 14px;
}


.exhibition-detail .slide {
	width: calc(100vw - 16px);
	width: 100%;
	margin-top: 40px;
}
.exhibition-detail .slide .copyright {
	margin-right: 8px;
	margin-right: 0;
}







.exhibition-detail .data,
.exhibition-detail .reception,
.exhibition-detail .intro,
.exhibition-detail .event,
.exhibition-detail .profile,
.exhibition-detail .related-item,
.exhibition-detail .related-movie,
.exhibition-detail .gallery
{
}



.exhibition-detail .data {
	margin: 24px 0 0;
	font-size: 14px;
	line-height: 2;
}

.exhibition-detail .reception {
	margin: 24px 0 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
}

.exhibition-detail .intro,
.exhibition-detail .event,
.exhibition-detail .profile,
.exhibition-detail .related-item,
.exhibition-detail .related-movie,
.exhibition-detail .gallery
{
	margin: 40px 0 0;
}


.exhibition-detail .intro-text {
	margin: 30px 0 0;
	font-size: 14px;
	line-height: 2;
}


.exhibition-detail .event-title {
	margin: 20px 0 0;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6;
}

.exhibition-detail .event-text {
	margin: 20px 0 0;
	font-size: 14px;
	line-height: 2;
}
.exhibition-detail .event .link-button {
	margin-top: 20px;
}



.exhibition-detail .profile .inner {
	margin: 24px 0 0;
}
.exhibition-detail .profile-image {
	width: 220px;
	margin: 0 auto;
}
.exhibition-detail .profile-image img {
	width: 100%;
	height: auto;
}

.exhibition-detail .profile-image + .profile-body {
	margin: 24px 0 0;
}

.exhibition-detail .profile-body dl {
	margin-bottom: 24px;
}
.exhibition-detail .profile-body dt {
	font-size: 24px;
}
.exhibition-detail .profile-body dt + dd {
	margin: 4px 0 0;
	font-size: 14px;
}
html:lang(en) .exhibition-detail .profile-body dt + dd {
	display: none;
}

.exhibition-detail .profile-text {
	font-size: 14px;
	line-height: 2;
}


.exhibition-detail .profile .links {
	display: flex;
	margin: 20px 0 0;
}
.exhibition-detail .profile .url {
	position: relative;
}
.exhibition-detail .profile .url a {
	position: relative;
	display: inline-block;
	height: 25px;
	padding-right: 20px;
	font-size: 24px;
	font-family: "Cormorant Garamond", serif;
	transition: all 300ms ease-out;
}
.exhibition-detail .profile .url a span {
	position: absolute;
	display: inline-block;
	width: 11px;
	height: 11px;
	right: 0;
	top: calc(50% - 5px);
	font-size: 0;
}
.exhibition-detail .profile .url a span img {
	width: 100%;
	height: auto;
}
.exhibition-detail .profile .url a:active {
	opacity: 0.7;
}

.exhibition-detail .profile .sns + .url {
	margin-left: 40px;
}
.exhibition-detail .profile .sns + .url::before {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 24px;
	left: -20px;
	top: calc(50% - 12px);
	background: rgba(0,0,0,0.5);
}

.exhibition-detail .profile .sns ul li + li {
	margin-left: 12px;
}

.exhibition-detail .profile-body .link-button {
	margin: 40px 0 0;
}





.exhibition-detail .related-item > ul {
	margin: 40px 0 0;
}



.exhibition-detail .related-movie {
	position: relative;
}
.exhibition-detail .related-movie ul {
	margin: 24px 0 0;
}
.exhibition-detail .related-movie li {
}
.exhibition-detail .related-movie li a {
	position: relative;
	display: block;
}
.exhibition-detail .related-movie .thumb {
	overflow: hidden;
}
.exhibition-detail .related-movie img {
	width: 100%;
	height: auto;
	transition: all 400ms ease-out;
}
.exhibition-detail .related-movie li a:active img {
	transform: scale(1.05);
}

.exhibition-detail .related-movie li a::after {
	box-sizing: border-box;
	position: absolute;
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	left: calc(50% - 30px);
	top: calc((100vw - 32px) / 16 * 9 * 0.5 - 30px);
	z-index: 10;
	border: 1px solid #fff;
	border-radius: 30px;
	background: url(../img/icon_play.svg) 55% 50% no-repeat;
	background-size: 12px auto;
}

.exhibition-detail .related-movie .title {
	box-sizing: border-box;
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.exhibition-detail .related-movie .link-button {
	margin: 24px 0 0;
}
.exhibition-detail .related-movie .link-button a {
	font-size: 14px;
}




.exhibition-detail .gallery {
	position: relative;
}
.exhibition-detail .gallery ul {
	margin: 24px 0 0;
}
.exhibition-detail .gallery li + li {
	margin-top: 16px;
}
.exhibition-detail .gallery img {
	width: 100%;
	height: auto;
}



.exhibition-detail .footer-return {
}






/* ---------------------------------------------------------------------------------------------------- */
/* Artist */

.artist-index {
	margin-top: 35px;
}

.artist-list {
	margin: 40px 0 0;
}
.artist-list ul {
	display: flex;
	flex-wrap: wrap;
}
.artist-list li {
	width: calc((100% - 16px) / 2);
	margin-left: 16px;
}
.artist-list li:nth-child(2n + 1) {
	margin-left: 0;
}
.artist-list li:nth-child(n + 3) {
	margin-top: 16px;
}

.artist-list li .thumb {
	overflow: hidden;
}
.artist-list li a {
	display: block;
}
.artist-list li img {
	width: 100%;
	height: 100%;
	aspect-ratio: 308 / 179;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.artist-list li a:active img {
	transform: scale(1.05);
}

.artist-list li .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}


.artist-index .link-button {
	margin: 40px 0 0;
}
.artist-index .load-more a::after {
	transform: rotate(90deg) translateY(2px);
}





.artist-detail .inner > .title {
	margin: 30px 0 0;
}
.artist-detail .inner > .title h1 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6;
}

.artist-detail .subtitle {
	margin: 8px 0 0;
	font-size: 14px;
}




.artist-detail .profile,
.artist-detail .related-item,
.artist-detail .related-exhibition
{
}





.artist-detail .slide {
	margin: 35px 0 0;
}

.artist-detail .profile {
	margin: 40px 0 0;
}
.artist-detail .profile .inner {
	margin: 24px 0 0;
}
.artist-detail .profile .profile-image {
	width: 220px;
	margin: 0 auto;
}
.artist-detail .profile .profile-body {
}

.artist-detail .profile .profile-image img {
	width: 100%;
	height: auto;
}
.artist-detail .profile .profile-text {
	margin: 24px 0 0;
	font-size: 14px;
	line-height: 2;
}



.artist-detail .profile .links {
	display: flex;
	margin: 20px 0 0;
}
.artist-detail .profile .url {
	position: relative;
}
.artist-detail .profile .url a {
	position: relative;
	display: inline-block;
	height: 25px;
	padding-right: 20px;
	font-size: 24px;
	font-family: "Cormorant Garamond", serif;
	transition: all 300ms ease-out;
}
.artist-detail .profile .url a span {
	position: absolute;
	display: inline-block;
	width: 11px;
	height: 11px;
	right: 0;
	top: calc(50% - 5px);
	font-size: 0;
}
.artist-detail .profile .url a span img {
	width: 100%;
	height: auto;
}
.artist-detail .profile .url a:active {
	opacity: 0.7;
}

.artist-detail .profile .sns + .url {
	margin-left: 40px;
}
.artist-detail .profile .sns + .url::before {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 24px;
	left: -20px;
	top: calc(50% - 12px);
	background: rgba(0,0,0,0.5);
}
.artist-detail .profile .sns li + li {
	margin-left: 12px;
}



.artist-detail .related-item {
	margin-top: 40px;
}
.artist-detail .related-item ul {
}
.artist-detail .related-item .link-button {
	margin: 14px 0 0;
}


.artist-detail .related-exhibition {
	margin-top: 40px;
}
.artist-detail .related-exhibition ul {
}
.artist-detail .related-exhibition .link-button {
	margin: 20px 0 0;
}







.exhibition-slide {
	margin: 24px 0 0;
}
.exhibition-slide .slick-list {
	overflow: visible;
}
.exhibition-slide .slide-item a {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: calc(100vw - 48px);
	padding-left: 16px;
}
.exhibition-slide .slide-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 309 / 174;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.exhibition-slide .slide-item .thumb {
	overflow: hidden;
}
.exhibition-slide .slide-item .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.exhibition-slide .slide-item .price {
	margin: 4px 0 0;
	font-size: 18px;
}
.exhibition-slide .slide-item a:active img {
	transform: scale(1.05);
}


.exhibition-slide .slick-dots {
	position: relative;
	display: flex;
	align-items: center;
	height: 20px;
	margin: 30px 0 0;
}
.exhibition-slide .slick-dots li + li {
	margin-left: 8px;
}
.exhibition-slide .slick-dots button {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
.exhibition-slide .slick-dots button::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	z-index: 10;
	background: #000;
	opacity: 0.3;
	transition: none !important;
}
.exhibition-slide .slick-dots .slick-active button::before {
	opacity: 1;
}











/* ---------------------------------------------------------------------------------------------------- */
/* News */

.news-index {
	margin-top: 35px;
}
.news-index .news-list {
	margin-top: 40px;
}

.news-index .link-button {
	margin: 40px 0 0;
}
.news-index .load-more a::after {
	transform: rotate(90deg) translateY(2px);
}



.news-detail .inner > .title {
	margin: 30px 0 0;
}
.news-detail .inner > .title h1 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6;
}

.news-detail .date {
	margin: 12px 0 0;
	font-size: 14px;
}

.news-detail .main-image {
	margin: 35px 0 0;
}
.news-detail .main-image img {
	width: 100%;
	height: auto;
}

.news-detail .text,
.news-detail .image,
.news-detail .related-item
{
}


.news-detail .text {
	margin-top: 30px;
	font-size: 14px;
	line-height: 2;
}

.news-detail .image {
	margin-top: 30px;
}
.news-detail .image img {
	width: 100%;
	height: auto;
}

.news-detail .related-item {
	margin-top: 40px;
}
.news-detail .related-item ul {
}







/* ---------------------------------------------------------------------------------------------------- */
/* Movie */

.movie-index {
	margin-top: 35px;
}
.movie-index .movie-list {
	margin-top: 40px;
}

.movie-index .link-button {
	margin: 40px 0 0;
}
.movie-index .load-more a::after {
	transform: rotate(90deg) translateY(2px);
}

.movie-list ul {
}
.movie-list li + li {
	margin-top: 16px;
}

.movie-list li a {
	position: relative;
	display: block;
}
.movie-list li .thumb {
	overflow: hidden;
}
.movie-list li img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.movie-list li a:active img {
	transform: scale(1.05);
}

.movie-list .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}

.movie-list a::after {
	box-sizing: border-box;
	position: absolute;
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	left: calc(50% - 30px);
	top: calc((100vw - 32px) / 16 * 9 * 0.5 - 30px);
	z-index: 10;
	border: 1px solid #fff;
	border-radius: 30px;
	background: url(../img/icon_play.svg) 55% 50% no-repeat;
	background-size: 12px auto;
}







/* ---------------------------------------------------------------------------------------------------- */
/* Shop */

.shop-index {
	margin-top: 35px;
}

.shop-index .content-header {
}
.shop-index .content-header .extra {
}
.shop-index .content-header .slide {
	margin: 40px 0 0;
}


.shop-index .slide img {
	width: 100%;
	height: auto;
}
.shop-index .slide-item {
	position: relative;
}
.shop-index .copyright {
	box-sizing: border-box;
	position: absolute;
	display: block;
	height: 20px;
	right: 0;
	bottom: -20px;
	padding: 8px 0 0;
	font-size: 10px;
	text-align: right;
}

.shop-index .slick-list {
	overflow: visible;
}
.shop-index .slide-inner {
	position: relative;
	padding-bottom: 22px;
}
.shop-index .slick-dots {
	position: absolute;
	display: flex;
	height: 20px;
	z-index: 20;
	left: 0;
	bottom: 0;
}
.shop-index .slick-dots li {
	width: 30px;
}
.shop-index .slick-dots li + li {
	margin-left: 8px;
}
.shop-index .slick-dots button {
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	font-size: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
.shop-index .slick-dots button::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 10px;
	z-index: 10;
	background: rgba(0,0,0,1);
	transform-origin: left center;
	transform: scaleX(0);
}
.shop-index .slick-dots button::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 10px;
	z-index: 1;
	background: rgba(0,0,0,0.3);
}

.shop-index .slick-dots button.active::before {
	transform: scaleX(1);
	transition: all 5000ms linear;
}



.shop-nav {
	margin: 40px 0 0;
}

.shop-nav .inner {
	display: flex;
}
.shop-nav a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	height: 38px;
	padding: 0 12px;
	cursor: pointer;
}
.shop-nav dd {
	position: absolute;
}
.shop-nav .inner ul {
	display: flex;
}
.shop-nav .inner ul li {
	position: relative;
}
.shop-nav .inner ul li {
}
.shop-nav .inner ul li::before {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 18px;
	left: -1px;
	top: calc(50% - 8px);
	background: rgba(0,0,0,0.3);
}

.shop-nav .inner ul a {
	padding-right: 26px;
}
.shop-nav .inner ul a::after {
	position: absolute;
	content: "";
	width: 9px;
	height: 6px;
	right: 9px;
	top: calc(50% - 3px);
	background: url(../img/arrow_down.svg) 0 0 no-repeat;
	background-size: 100% auto;
}

.shop-nav a span {
	position: relative;
	font-size: 12px;
}
.shop-nav .current a {
	background: #f8f8f8;
}
.shop-nav a span::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #333;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
.shop-nav a:active span::after {
	transform: scaleX(1);
}
.shop-nav .current a span::after {
	transform: scaleX(1);
}




.shop-nav .sub {
	position: relative;
	background: #f8f8f8;
	overflow: hidden;
}
.shop-nav.on .sub {
	transition: all 500ms ease-out;
}

.shop-nav .subcategory {
	position: relative;
	width: 100%;
	left: 0;
	top: 0;
}
.shop-nav .subcategory ul {
	display: flex;
	flex-wrap: wrap;
}
.shop-nav .subcategory ul li {
	position: relative;
}
.shop-nav .subcategory ul li::before {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 18px;
	left: -1px;
	top: calc(50% - 8px);
	background: rgba(0,0,0,0.3);
}



.shop-nav .subcategory:nth-child(2) {
	display: none;
}



.shop-index .item-list {
	margin-top: 40px;
}
.shop-index .item-list h2 {
	position: relative;
}
.shop-index .item-list h2 span {
	position: relative;
	display: inline-block;
	top: -1px;
	z-index: 10;
	padding-right: 12px;
	font-size: 16px;
	font-weight: 400;
	background: #fff;
}
.shop-index .item-list h2::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	background: #333;
}
.shop-index .item-list ul {
	margin-top: 24px;
}

.shop-index .inner > .link-button {
	margin: 40px 0 0;
}
.shop-index .load-more a::after {
	transform: rotate(90deg) translateY(2px);
}










.item-detail > .inner > .product {
	margin: 30px 0 0;
}

.product .product-image {
	width: calc(100vw - 32px);
}
.product .entry-summary {
}




.product .entry-summary h1 {
	position: relative;
	margin: 30px 0 0;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6;
}
.product .entry-summary .product-subtitle {
	margin: 5px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.product .entry-summary .price {
	display: flex;
	align-items: flex-end;
	margin: 15px 0 0;
}
.product .entry-summary .price .amount {
	font-size: 24px;
	font-weight: 500;
}
.product .entry-summary .price .tax {
	position: relative;
	top: -5px;
	margin-left: 10px;
	font-size: 12px;
}
.product form.cart {
	margin: 20px 0 0;
}
.product form.cart .quantity {
	box-sizing: border-box;
	position: relative;
	display: flex;
	width: 230px;
	height: 50px;
	padding-right: 10px;
	border-bottom: 1px solid #333;
}

.product form.cart .quantity input[type="number"] {
	position: absolute;
	visibility: hidden;
	top: -30px;
}

.product form.cart .quantity input[type="text"] {
	display: block;
	width: 85px;
	height: 48px;
	margin: 0;
	padding: 0;
	font-size: 16px;
	text-align: center;
	border: none;
}
.product form.cart .quantity input[type="text"]:focus {
	outline: none;
}

.product form.cart .quantity .selector {
	display: flex;
	align-items: center;
}
.product form.cart .quantity .selector .label {
	box-sizing: border-box;
	width: 80px;
	padding-left: 10px;
	font-size: 14px;
}
.product form.cart .quantity .selector button {
	position: relative;
	width: 30px;
	height: 48px;
	margin: 0;
	padding: 0;
	font-size: 0;
	background: none;
	border: none;
	cursor: pointer;
}
.product form.cart .quantity .selector .plus::after,
.product form.cart .quantity .selector .minus::after {
	position: absolute;
	content: "";
	width: 11px;
	height: 1px;
	left: calc(50% - 5px);
	top: 50%;
	background: #333;
}
.product form.cart .quantity .selector .plus::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 11px;
	left: 50%;
	top: calc(50% - 5px);
	background: #333;
}



.product form.cart .quantity + button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	margin: 24px 0 0;
	font-size: 16px;
	color: #fff;
	background: #333;
	border: 1px solid #333;
	border-radius: 25px;
	cursor: pointer;
	transition: all 300ms ease-out;
}
.product form.cart .quantity + button::after {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	right: 24px;
	top: calc(50% - 9px);
	background: url(../img/icon_cart.svg) 0 0 no-repeat;
	background-size: 100% auto;
	filter: invert(1);
	transition: all 300ms ease-out;
}
.product form.cart .quantity + button:active {
	color: #333;
	background: #fff;
}
.product form.cart .quantity + button:active::after {
	filter: invert(0);
}


.product .product-category {
	display: none;
}


.product .detail {
	margin: 35px 0 0;
	font-size: 14px;
	line-height: 2;
}
.product .spec {
	margin: 35px 0 0;
	padding: 35px 0 0;
	font-size: 14px;
	line-height: 2;
	border-top: 1px solid #333;
}



.product .gallery-thumbnail {
	display: flex;
}



.related.related {
	width: 100%;
	margin: 40px 0 0;
}

.related.related .button {
	display: none;
}

.related.related ul {
	display: flex;
	flex-wrap: wrap;
	margin: 24px 0 0;
}
.related.related li {
	width: calc((100% - 16px) / 2);
	margin-left: 16px;
}
.related.related li:nth-child(2n + 1) {
	margin-left: 0;
}
.related.related li:nth-child(n + 3) {
	margin-top: 16px;
}

.related.related li a {
	display: block;
}
.related.related li .thumb {
	overflow: hidden;
}
.related.related li img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.related.related li a:active img {
	transform: scale(1.05);
}
.related.related li .title {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
}
.related.related li .price {
	margin: 4px 0 0;
	font-size: 18px;
}






.product .gallery-viewer {
	font-size: 0;
}
.product .gallery-viewer img {
	width: 100%;
	height: auto;
}
.product .gallery-viewer .slick-list {
	overflow: hidden;
}
.product .gallery-viewer .slick-arrow {
	display: none !important;
}



.product .gallery-thumbnail {
	margin: 8px 0 0;
	font-size: 0;
}
.product .gallery-thumbnail .slide-item {
	box-sizing: border-box;
	padding-right: 8px;
}
.product .gallery-thumbnail a {
	position: relative;
	display: block;
	width: 60px;
	overflow: hidden;
	cursor: pointer;
}
.product .gallery-thumbnail img {
	width: 100%;
	height: auto;
	transition: all 400ms ease-out;
}
.product .gallery-thumbnail a:active img {
	transform: scale(1.05);
}

.product .gallery-thumbnail a.active::after {
	box-sizing: border-box;
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	background: rgba(255,255,255,0.5);
	border: 1px solid #333;
	pointer-events: none;
}

.product .gallery-thumbnail .slick-list {
}
.product .gallery-thumbnail .slick-dots {
	position: relative;
	margin-top: 6px;
}
.product .gallery-thumbnail.no-pager .slick-dots {
}

.product .gallery-thumbnail .slick-dots li {
	display: none;
}
.product .gallery-thumbnail .slick-dots li:nth-child(5n + 1) {
	display: block;
}
.product .gallery-thumbnail .slick-dots .slick-active button::before {
	transform: scaleX(1);
}




/* All Thumbnail */

.product .gallery-thumbnail.clone {
	display: none;
}
.product .gallery-thumbnail {
	padding-bottom: 35px;
}
.product .gallery-thumbnail .slick-arrow {
	box-sizing: border-box;
	position: absolute;
	display: block;
	width: 24px;
	height: 24px;
	font-size: 0;
	bottom: -35px;
	border: 1px solid #333;
	background: transparent;
	border-radius: 16px;
	cursor: pointer;
	transition: all 300ms ease-out;
}
.product .gallery-thumbnail .slick-prev {
	left: 0;
}
.product .gallery-thumbnail .slick-next {
	left: 32px;
}

.product .gallery-thumbnail .slick-arrow::after {
	position: absolute;
	content: "";
	display: block;
	width: 6px;
	height: 9px;
	left: calc(50% - 3px);
	top: calc(50% - 4.5px);
	transition: all 300ms ease-out;
}
.product .gallery-thumbnail .slick-prev::after {
	margin-left: -1px;
	background: url(../img/arrow_slide_prev.svg) 0 0 no-repeat;
	background-size: 100% auto;
}
.product .gallery-thumbnail .slick-next::after {
	margin-left: 1px;
	background: url(../img/arrow_slide_next.svg) 0 0 no-repeat;
	background-size: 100% auto;
}

.product .gallery-thumbnail .slick-arrow:active {
	border-color: #333;
	background: #333;
}
.product .gallery-thumbnail .slick-arrow:active::after {
	filter: invert(1);
}










/* ---------------------------------------------------------------------------------------------------- */
/* Modal */

#video-overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10000;
	background: rgba(0,0,0,0.75);
}

#video-viewer {
	position: fixed;
	width: 100vw;
	left: 50%;
	top: 50%;
	z-index: 10020;
	transform: translate(-50%,-50%);
}
#video-viewer .container {
	position: relative;
	padding-top: 56.25%;
}
#video-viewer iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

#video-close-button {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	right: 16px;
	top: 16px;
	z-index: 10010;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	cursor: pointer;
}
#video-close-button::before,
#video-close-button::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	background: #fff;
}
#video-close-button::before {
	transform: rotate(45deg);
}
#video-close-button::after {
	transform: rotate(-45deg);
}


#video-overlay {
	opacity: 0;
	transition: opacity 300ms ease-out;
}
#video-viewer {
	opacity: 0;
	transition: opacity 300ms ease-out;
}
#video-close-button {
	opacity: 0;
	transition: opacity 300ms ease-out;
}

body.video-modal #video-overlay {
	opacity: 1;
}
body.video-modal #video-viewer,
body.video-modal #video-close-button {
	opacity: 1;
	transition: opacity 300ms ease-out 200ms;
}











/* ---------------------------------------------------------------------------------------------------- */
/* Cart */

/*
body.cart .content-header h1 {
	font-size: 72px;
}
body.cart .content-header .caption {
	margin-top: 10px;
}
*/

.woocommerce-cart-form {
	margin: 10px 0 0;
}

.woocommerce-notices-wrapper {
	margin: 40px 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
}
.woocommerce-message a {
	position: relative;
	display: inline-block;
	margin-left: 10px;
	cursor: pointer;
	transition: all 300ms ease-out;
}
.woocommerce-message a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	background: #333;
}
.woocommerce-message a:active {
	opacity: 0.7;
}


.woocommerce-cart-form table,
.woocommerce-cart-form thead,
.woocommerce-cart-form tbody {
	display: block;
	width: 100%;
}
.woocommerce-cart-form thead {
	display: none;
}
.woocommerce-cart-form table {
	padding-top: 20px;
	border-top: 1px solid #333;
}

.woocommerce-cart-form tr {
	display: block;
	width: 100%;
}
.woocommerce-cart-form tr::after {
	display: block;
	content: "";
	clear: both;
	height: 0;
	overflow: hidden;
}

.woocommerce-cart-form td {
	position: relative;
	display: block;
	padding: 0;
}

.woocommerce-cart-form tbody tr + tr {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #333;
}


.woocommerce-cart-form thead tr {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #333;
}
.woocommerce-cart-form thead th {
	font-size: 14px !important;
	font-weight: 400;
}



.woocommerce-cart-form .product-thumbnail {
	float: left;
	width: 100px;
	margin-right: 20px;
	font-size: 0;
}
.woocommerce-cart-form .product-name {
	box-sizing: border-box;
	float: left;
	width: calc(100% - 120px);
	font-size: 13px;
	line-height: 1.5;
}
.woocommerce-cart-form .product-price {
	box-sizing: border-box;
	float: left;
	width: calc(100% - 120px);
	margin: 3px 0 0;
	font-size: 14px;
}
.woocommerce-cart-form .product-quantity {
	position: relative;
	float: left;
	width: 72px;
	left: -4px;
	margin: 20px 0 0;
}
.woocommerce-cart-form .product-remove {
	float: left;
	width: 40px;
	margin: 20px 0 0 10px;
}
.woocommerce-cart-form .product-subtotal {
	float: left;
	width: calc(100vw - 32px - 120px - 72px - 50px);
	margin: 20px 0 0;
	font-size: 14px;
	text-align: right;
}

@media screen and (max-width:374px) {
	.woocommerce-cart-form .product-subtotal {
		clear: both;
		width: 100%;
		margin-top: 10px;
	}
}


.woocommerce-cart-form tbody .product-price,
.woocommerce-cart-form tbody .product-subtotal {
}

.woocommerce-cart-form .tax_label {
	font-size: 12px;
}






.woocommerce-cart-form .product-thumbnail img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}






.woocommerce-cart-form tbody tr:last-child {
	margin-top: 20px;
	padding-top: 30px;
	justify-content: flex-end;
	border-top: 1px solid #333;
}
.woocommerce-cart-form tbody tr:last-child td {
	display: flex;
	justify-content: flex-end;
	width: calc(100vw - 32px);
}

.woocommerce-cart-form tbody td.product-remove a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 25px;
	padding: 0;
	font-size: 13px;
	border: 1px solid #333;
	border-radius: 20px;
	background: #fff;
	transition: all 300ms ease-out;
	cursor: pointer;
}
.woocommerce-cart-form tbody td.product-remove a:active {
	color: #fff;
	background: #333;
	border-color: #333;
}
.woocommerce-cart-form tbody td.product-remove a {
	width: 40px;
	height: 25px;
	padding: 0 0 2px;
	font-size: 12px;
}

.woocommerce-cart-form tbody tr:last-child button,
.wc-proceed-to-checkout a,
.wc-block-components-button {
	width: 200px;
	font-size: 14px;
}



.woocommerce-cart-form .product-quantity .quantity{
	position: absolute;
	visibility: hidden;
	pointer-events: none;
}


.woocommerce-cart-form .product-quantity input[type="text"] {
	box-sizing: border-box;
	display: block;
	width: 26px;
	height: 26px;
	margin: 0 3px;
	padding: 0;
	font-size: 14px;
	text-align: center;
	border: 1px solid #333;
}
.woocommerce-cart-form .product-quantity input[type="text"]:focus {
	outline: none;
}

.woocommerce-cart-form .product-quantity .selector {
	display: flex;
	align-items: center;
	margin-left: 0;
}
.woocommerce-cart-form .product-quantity .selector button {
	position: relative;
	width: 20px;
	height: 26px;
	margin: 0;
	padding: 0;
	font-size: 0;
	background: none;
	border: none;
	cursor: pointer;
}
.woocommerce-cart-form .product-quantity .selector .plus::after,
.woocommerce-cart-form .product-quantity .selector .minus::after {
	position: absolute;
	content: "";
	width: 11px;
	height: 1px;
	left: calc(50% - 6px);
	top: 50%;
	background: #333;
}
.woocommerce-cart-form .product-quantity .selector .plus::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 11px;
	left: calc(50% - 1px);
	top: calc(50% - 5px);
	background: #333;
}






.cart-collaterals {
	margin: 40px 0 0;
	border-top: 1px solid #333;
}
.cart-collaterals h2 {
	display: none;
}

.cart-collaterals table {
	width: 200px;
	margin: 20px 0 0 calc(100vw - 32px - 200px);
}
.cart-collaterals .wc-proceed-to-checkout {
	width: 200px;
	margin: 30px 0 0 calc(100vw - 32px - 200px);
}

.cart-collaterals tr {
	display: flex;
	align-items: center;
}
.cart-collaterals td,
.cart-collaterals th {
	padding: 0;
}
.cart-collaterals th {
	width: 100px;
	font-size: 14px;
	font-weight: 400;
	text-align: left;
}
.cart-collaterals td {
	width: 100px;
	font-size: 18px;
	text-align: right;
	white-space: nowrap;
}
.cart-collaterals tr + tr {
	margin-top: 20px;
}

.cart-collaterals .woocommerce-Price-amount {
	font-weight: 400;
}
.cart-collaterals .tax_label {
	font-size: 12px;
}
.cart-collaterals .wc-checkout-comment {
	margin: 20px 0 0;
	font-size: 13px;
	text-align: right;
}










/* ---------------------------------------------------------------------------------------------------- */
/* Checkout */

/*
body.checkout .content-header h1 {
	font-size: 72px;
}
body.checkout .content-header .caption {
	margin-top: 10px;
}
*/

body.checkout .wp-block-woocommerce-checkout {
	padding-top: 25px;
}

.cart-detail {
	min-height: 400px;
}


body.checkout .wc-block-components-sidebar-layout {
	justify-content: space-between;
}
body.checkout .wc-block-components-main {
	width: calc(60% - 40px);
	padding: 0;
}
body.checkout .wc-block-components-sidebar {
	width: calc(40% - 40px);
	padding: 0;
}

body.fixed-orderview .wc-block-components-sidebar {
	position: fixed !important;
	width: 472px;
	left: calc(50% + 168px);
	top: 120px;
}

@media screen and (max-width:1360px) {
	body.fixed-orderview .wc-block-components-sidebar {
		position: fixed !important;
		width: calc(((100vw - 80px) * 0.4) - 40px);
		left: auto;
		right: 40px;
		top: 120px;
	}
}



.cart-detail .wc-block-components-form .wc-block-components-checkout-step {
	margin-bottom: 60px;
}

.cart-detail .wc-block-components-title {
	margin: 0 0 20px !important;
	font-size: 20px !important;
	font-weight: 400;
	line-height: 1;
}
.cart-detail .wc-block-components-title::after {
	display: none;
}

.cart-detail .wc-block-components-checkout-step__description {
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.7;
}


.cart-detail input[type="text"],
.cart-detail input[type="email"],
.cart-detail input[type="tel"],
.cart-detail textarea,
.cart-detail select
{
	border: 1px solid #333;
	border-radius: 0 !important;
}

.cart-detail input[type="text"]:focus,
.cart-detail input[type="email"]:focus,
.cart-detail input[type="tel"]:focus,
.cart-detail textarea:focus,
.cart-detail select:focus
{
	outline: 1px solid #333;
}

.cart-detail .wc-block-components-text-input + .wc-block-components-text-input {
	margin-top: 16px !important;
}

.cart-detail .wc-block-components-address-form__country {
	display: none;
}
.cart-detail .wc-block-components-address-form__last_name,
.cart-detail .wc-block-components-address-form__first_name {
	margin-top: 0 !important;
}

.cart-detail .wc-block-checkout__payment-method .wc-block-components-checkout-step__content,
.cart-detail .wc-block-checkout__shipping-option .wc-block-components-checkout-step__content {
	padding-top: 0;
}



.cart-detail #radio-control-wc-payment-method-options-cod__content {
	font-size: 15px;
	line-height: 1.8;
}
.cart-detail #radio-control-wc-payment-method-options-cod__content p {
	position: relative;
	margin: 10px 0 0;
	padding-left: 16px;
	font-size: 14px;
}
.cart-detail #radio-control-wc-payment-method-options-cod__content p::before {
	position: absolute;
	content: "※";
	left: 0;
}

.cart-detail .wc-block-checkout__terms a {
	text-decoration: underline;
}
.cart-detail .wc-block-checkout__terms a:active {
	text-decoration: none;
}


.cart-detail .wc-block-checkout__actions_row a {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	font-size: 16px;
}
.cart-detail .wc-block-checkout__actions_row a svg {
	display: none;
}
.cart-detail .wc-block-checkout__actions_row a::before {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	left: 0;
	top: calc(50% - 5px);
	background: url(../img/arrow_return.svg) 0 0 no-repeat;
	background-size: 100% auto;
}
.cart-detail .wc-block-checkout__actions_row a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: #333;
	transform-origin: left center;
	transition: all 300ms ease-out;
	transform: scaleX(0);
}
.cart-detail .wc-block-checkout__actions_row a:active::after {
	transform: scaleX(1);
}




.cart-detail .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.cart-detail .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: none;
	border-radius: 0;
	border: 1px solid #333;
	z-index: 10;
}
.cart-detail .wc-block-components-radio-control--highlight-checked,
.cart-detail .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option {
	z-index: 10;
}
.cart-detail .wc-block-components-radio-control--highlight-checked:after {
	margin-bottom: 0;
	border-radius: 0;
	border: 1px solid #ccc;
}

.cart-detail .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
	border-top: 1px solid #333;
}
.cart-detail .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row {
	align-items: center;
}




.cart-detail .wc-block-components-sidebar {
	margin-top: 0;
}
.cart-detail .wp-block-woocommerce-checkout-order-summary-block {
	border: 1px solid #333;
	border-radius: 0;
}
.cart-detail .wc-block-components-checkout-order-summary__title-text {
	display: none;
}
.cart-detail .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading::after {
	display: block;
	content: "注文内容";
	margin: 0 0 20px;
	font-size: 20px;
	line-height: 1;
}
.cart-detail .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading h2 {
	display: none !important;
}

.cart-detail .wc-block-components-totals-item__description {
	margin: 10px 0 0;
	font-weight: 500;
	text-align: right;
}
.cart-detail .wc-block-components-shipping-address {
	display: none !important;
}

body .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	min-width: 1px;
	min-height: 1px;
	padding: 0 0 1px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	background: #333;
	border: 1px solid #fff;
	box-shadow: none;
}



.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
	border: 1px solid #333 !important;
	border-radius: 0 !important;
}

.cart-detail .wp-block-woocommerce-checkout-order-summary-totals-block,
.cart-detail .wc-block-components-totals-wrapper {
	border-top: 1px solid #333;
}
.cart-detail .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__description::after {
	content: "税込";
	font-size: 12px;
}
.cart-detail .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__description {
	margin: 4px 0 0;
}
.cart-detail .wc-block-components-totals-wrapper .wc-block-components-totals-item__description,
.cart-detail .wc-block-components-totals-footer-item-tax {
	display: none;
}

.cart-detail .wc-block-components-checkbox__label {
	font-size: 14px;
	line-height: 2;
}








/* ---------------------------------------------------------------------------------------------------- */
/* Mypage */

/*
body.mypage .content-header h1 {
	font-size: 72px;
}
body.mypage .content-header .caption {
	margin-top: 10px;
}
*/

body.mypage .woocommerce {
	margin: 40px 0 0;
}

.woocommerce-MyAccount-navigation {
	position: relative;
}
.woocommerce-MyAccount-navigation ul {
	padding-top: 50px;
}
.woocommerce-MyAccount-navigation ul li::before {
	content: "・";
}
.woocommerce-MyAccount-navigation ul li + li {
	margin-top: 25px;
}
.woocommerce-MyAccount-navigation ul li:last-child {
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 0;
}
.woocommerce-MyAccount-navigation ul li:last-child::before {
	content: "";
}


.woocommerce-MyAccount-navigation ul a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	cursor: pointer;
}
.woocommerce-MyAccount-navigation ul a::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -1px;
	background: #333;
	transform: scaleX(0);
	transform-origin: left center;
	transition: all 300ms ease-out;
}
.woocommerce-MyAccount-navigation ul a:active::after {
	transform: scaleX(1);
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
	box-sizing: border-box;
	position: relative;
	display: flex !important;
	justify-content: center;
	align-items: center;
	width: 160px;
	height: 40px;
	padding: 0 0 1px;
	font-size: 16px !important;
	border: 1px solid #333;
	border-radius: 20px;
	background: #fff;
	transition: all 300ms ease-out;
	cursor: pointer;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:active {
	color: #fff;
	background: #333;
}
.woocommerce-MyAccount-navigation-link--customer-logout a::after {
	display: none !important;
}




.woocommerce-MyAccount-navigation-link--dashboard,
.woocommerce-MyAccount-navigation-link--downloads {
	display: none;
}


.woocommerce-MyAccount-content {
	margin-top: 80px;
}
.woocommerce-MyAccount-content p {
	line-height: 2;
}
.woocommerce-MyAccount-content p a {
	text-decoration: underline;
}
.woocommerce-MyAccount-content p a:active {
	text-decoration: none;
}


.woocommerce h2,
.woocommerce-MyAccount-content h2 {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 400;
}
.woocommerce h2::after,
.woocommerce-MyAccount-content h2::after {
	display: none;
}

.woocommerce-MyAccount-content .woocommerce-Addresses {
	margin: 30px 0 0;
}
.woocommerce-MyAccount-content address {
	margin: 20px 0 0;
	font-size: 15px;
	font-style: normal;
	line-height: 1.7;
}


.woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message {
	padding: 20px !important;
	border: none !important;
	background: #eee;
}
.woocommerce-error::before,
.woocommerce-MyAccount-content .woocommerce-error::before,
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-message::before {
	display: none !important;
}
.woocommerce-MyAccount-content .woocommerce-info .wc-forward.button {
	display: none;
}

.woocommerce-error:focus,
.woocommerce-info:focus,
.woocommerce-message:focus {
	outline: none;
}
.woocommerce-error li + li,
.woocommerce-info li + li,
.woocommerce-message li + li {
	margin-top: 10px;
}



.woocommerce-form-login {
	padding: 0 !important;
	border: none !important;
}

.woocommerce-form-login input[type="text"] {
	width: 100% !important;
	padding: 0.5em !important;
}
.woocommerce-form-login input[type="password"] {
	width: 100% !important;
	padding: 0.5em !important;
	letter-spacing: 2px !important;
}
.woocommerce-form-login .show-password-input {
	display: none;
}
.woocommerce-form-login .form-row:has(.woocommerce-form__label-for-checkbox) {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
}
.woocommerce-form-login .form-row:has(.woocommerce-form__label-for-checkbox) button {
	width: 200px;
}
.woocommerce-form-login .form-row:has(.woocommerce-form__label-for-checkbox) button:hover {
	color: #fff;
	background: #333;
}
.woocommerce-form-login .form-row:has(.woocommerce-form__label-for-checkbox) button:active {
	color: #333;
	background: #fff;
}

.woocommerce-form__label-for-checkbox {
	display: inline-block;
	width: 200px;
	margin: 20px 0 0 !important;
	font-size: 15px;
}
.woocommerce-form__label-for-checkbox input {
	inline-size: 18px;
	block-size: 18px;
	margin: 0 6px 0 0 !important;
	font-size: 18px !important;
	vertical-align: middle;
}

.woocommerce-LostPassword {
	margin: 30px 0 0;
	text-align: center;
}
.woocommerce-LostPassword a {
	font-size: 14px;
	text-decoration: underline;
}
.woocommerce-LostPassword a:active {
	text-decoration: none;
}




.woocommerce-form-login .woocommerce-button {
	margin-top: 20px !important;
}


.woocommerce-EditAccountForm,
.woocommerce-address-fields {
}
.woocommerce-form-row,
.woocommerce-MyAccount-content .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
}
.woocommerce-form-row label,
.woocommerce-MyAccount-content .form-row label {
	display: block;
	margin: 0 0 3px !important;
}

.select2-search {
	display: none !important;
}

.select2-selection,
.select2-container .select2-dropdown,
.select2-container .select2-selection {
	border-radius: 0 !important;
}
.select2-container .select2-dropdown:focus,
.select2-container .select2-selection:focus {
	outline: 1px solid #333 !important;
}
.select2-container.select2-container--open .select2-dropdown--below {
	border-top: 1px solid #333 !important;
}



.select2-search__field,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce textarea,
.woocommerce select {
	font-size: 16px;
	color: #333 !important;
	border: 1px solid #333 !important;
	border-radius: 0 !important;
	padding: 0.5em !important;
}
.select2-search__field:focus,
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	outline: 1px solid #333 !important;
}
.form-row .required,
.woocommerce-form-row .required {
	color: #333 !important;
}
.woocommerce-form-row em {
	font-style: normal;
}
.woocommerce-MyAccount-content #account_display_name_description {
	display: none !important;
	margin: 8px 0 0;
	font-size: 14px;
}

.woocommerce-EditAccountForm fieldset {
	margin: 40px 0 0 !important;
	padding: 20px;
	border: 1px solid #333;
}
.woocommerce-EditAccountForm legend {
	display: none;
}
.woocommerce-EditAccountForm .show-password-input {
	display: none !important;
}
.woocommerce-EditAccountForm fieldset label {
	font-size: 14px;
}


.woocommerce-EditAccountForm .woocommerce-Button {
	margin: 40px 0 0 !important;
}


.woocommerce-address-fields__field-wrapper {
	margin-bottom: 40px;
}
.woocommerce-address-fields #billing_country_field,
.woocommerce-address-fields #shipping_country_field {
	display: none !important;
}


.woocommerce-EditAccountForm button,
.woocommerce-address-fields button {
	width: 200px !important;
}

.woocommerce-EditAccountForm button:hover,
.woocommerce-address-fields button:hover {
	color: #fff !important;
	background: #333 !important;
}
.woocommerce-EditAccountForm button:active,
.woocommerce-address-fields button:active {
	color: #333 !important;
	background: #fff !important;
}








/* ---------------------------------------------------------------------------------------------------- */
/* About */

.about-detail {
}
.about-detail .content .slide {
	margin: 40px 0 0;
}
.about-detail .image img {
	width: 100%;
	height: auto;
}


.about-detail .text,
.about-detail .access,
.about-detail .owner {
}


.about-detail .text {
	margin: 40px 0 0;
}
.about-detail .text h2 {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 400;
}
.about-detail .text h2::after {
	display: none;
}
.about-detail .text p {
	font-size: 14px;
	line-height: 2;
}

.about-detail h3 {
	position: relative;
	margin: 0 0 40px;
}
.about-detail h3::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	background: #333;
}
.about-detail h3 span {
	position: relative;
	display: inline-block;
	z-index: 10;
	padding-right: 12px;
	font-size: 32px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	background: #fff;
}

.about-detail .access {
	margin: 40px 0 0;
}
.about-detail .owner {
	margin: 40px 0 0;
}

.about-detail .extra {
}
.about-detail .extra > * {
}
.about-detail .map img,
.about-detail .photo img {
	width: 100%;
}
.about-detail .extra dt {
	font-size: 24px;
}
.about-detail .extra dd {
	font-size: 14px;
	line-height: 2;
}


.about-detail .access .extra {
}
.about-detail .access dt + dd {
	margin-top: 20px;
}
.about-detail .access dt + dd + dd {
	margin-top: 20px;
}
.about-detail .access .googlemap {
	margin-top: 15px;
}
.about-detail .access .googlemap a {
	position: relative;
	display: inline-flex;
}
.about-detail .access .googlemap a strong {
	font-size: 24px;
	font-weight: 400;
	font-family: "Cormorant Garamond", serif;
	transition: all 300ms ease-out;
}
.about-detail .access .googlemap a span {
	display: inline-block;
	width: 11px;
	height: 11px;
	margin: -1px 0 0 10px;
	vertical-align: middle;
}
.about-detail .access .googlemap a span img {
	width: 100%;
	height: auto;
}
.about-detail .access .googlemap a:active strong {
	opacity: 0.7;
}
.about-detail .access .sns {
	margin-top: 15px;
}
.about-detail .access .map {
	margin: 40px 0 0;
}


.about-detail .owner dt + dd {
	margin-top: 2px;
	font-size: 14px;
}
.about-detail .owner dt + dd + dd {
	margin-top: 15px;
	font-size: 14px;
	line-height: 2;
}
.about-detail .owner .sns {
	margin-top: 20px;
}
.about-detail .owner .photo {
	margin-top: 40px;
}









/* ---------------------------------------------------------------------------------------------------- */
/* Framing */

.framing-detail {
}
.framing-detail .content .slide {
	margin: 40px 0 0;
}
.framing-detail .image img {
	width: 100%;
	height: auto;
}


.framing-detail .text,
.framing-detail .flow,
.framing-detail .case,
.framing-detail .faq {
}


.framing-detail .text {
	margin: 40px 0 0;
}
.framing-detail .text h2 {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 400;
}
.framing-detail .text h2::after {
	display: none;
}
.framing-detail .text p {
	font-size: 14px;
	line-height: 2;
}


.framing-detail .flow {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #333;
}
.framing-detail h3 {
	font-size: 24px;
	font-weight: 400;
}

.framing-detail .flow ol {
	position: relative;
	margin: 24px 0 0;
	padding: 0 0 0 38px;
	counter-reset: order;
}
.framing-detail .flow ol::before {
	position: absolute;
	content: "";
	width: 1px;
	height: calc(100% - 6px);
	left: 12px;
	top: 0;
	z-index: 1;
	background: url(../img/dot.png) 0 0 repeat;
}

.framing-detail .flow li {
	position: relative;
	counter-increment: order;
}
.framing-detail .flow li + li {
	margin-top: 32px;
}
.framing-detail .flow li::before {
	box-sizing: border-box;
	position: absolute;
	content: counter(order);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 26px;
	height: 26px;
	left: -38px;
	top: 0;
	z-index: 10;
	padding: 0 0 2px;
	border: 1px solid #333;
	border-radius: 13px;
	background: #fff;
}

.framing-detail .flow dl {
	position: relative;
	top: -2px;
}
.framing-detail .flow dt {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
}
.framing-detail .flow dd {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 2;
}


.framing-detail .case {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #333;
}
.framing-detail .case ul {
	margin: 24px 0 0;
}
.framing-detail .case li {
}
.framing-detail .case li + li {
	margin-top: 16px;
}
.framing-detail .case li img {
	width: 100%;
	height: auto;
}
.framing-detail .case li .copyright {
	position: relative;
	height: auto;
	right: auto;
	bottom: auto;
	padding: 8px 0 0;
}


.framing-detail .faq {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #333;
}
.framing-detail .faq ul {
	margin: 24px 0 0;
}
.framing-detail .faq li {
	position: relative;
	padding: 18px 0;
}
.framing-detail .faq li::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 0;
	background: url(../img/dot.png) 0 0 repeat;
}

.framing-detail .faq dt,
.framing-detail .faq dd {
	position: relative;
	padding-left: 36px;
	font-size: 14px;
	line-height: 2;
}
.framing-detail .faq dd {
	margin-top: 4px;
}
.framing-detail .faq dt::before {
	position: absolute;
	content: "Q.";
	display: inline-block;
	width: 24px;
	left: 0;
	top: 0;
	font-weight: 500;
	text-align: center;
}
.framing-detail .faq dd::before {
	position: absolute;
	content: "A.";
	display: inline-block;
	width: 24px;
	left: 0;
	top: 0;
	font-weight: 500;
	text-align: center;
}

.framing-detail .faq .comment {
	margin-top: 20px;
	padding-top: 40px;
	font-size: 14px;
	line-height: 2;
	border-top: 1px solid #333;
}
.framing-detail .faq .comment a {
	text-decoration: underline;
}
.framing-detail .faq .comment a:active {
	text-decoration: none;
}


.framing-detail .faq .contact {
	box-sizing: border-box;
	margin: 24px 0 0;
}
.framing-detail .faq .contact a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 120px;
	background: #fff;
	border: 1px solid #333;
	transition: all 300ms ease-out;
}
.framing-detail .faq .contact a .title {
	margin-top: -6px;
	font-size: 32px;
	font-family: "Cormorant Garamond", serif;
}
.framing-detail .faq .contact a .caption {
	margin: 6px 0 0;
	font-size: 14px;
}
.framing-detail .faq .contact a::after {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	right: 16px;
	top: calc(50% - 6px);
	background: url(../img/arrow_black_mini.svg) 0 0 no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}
.framing-detail .faq .contact a:active {
	color: #fff;
	background: #333;
}
.framing-detail .faq .contact a:active::after {
	filter: invert(1);
}









/* ---------------------------------------------------------------------------------------------------- */
/* Contact */

.contact-form .submission a {
	font-size: 14px;
}

.mw_wp_form {
	margin: 50px 0 0;
}

.mw_wp_form input[type="text"]:focus,
.mw_wp_form input[type="email"]:focus,
.mw_wp_form textarea:focus {
	outline: 1px solid #333;
}

.mw_wp_form dl + dl {
	margin-top: 50px;
}

.mw_wp_form dt {
	margin: 0 0 20px;
	font-size: 15px;
}
.mw_wp_form dt .required {
	display: inline-block;
	margin-left: 12px;
	padding: 4px 4px;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	background: #333;
}

.mw_wp_form dl.name,
.mw_wp_form dl.email {
	width: 100%;
}

.mw_wp_form dl.name dd {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.mw_wp_form dl.name dd > span {
	width: calc(50% - 5px);
}
.mw_wp_form dl.name dd input {
	box-sizing: border-box;
	width: 100%;
}
.mw_wp_form dl.email dd input {
	width: 100%;
}


.mw_wp_form_confirm dt {
	color: #666;
}
.mw_wp_form_confirm dt .required {
	display: none;
}
.mw_wp_form_confirm dl.name dd {
	justify-content: flex-start;
}
.mw_wp_form_confirm dl.name dd span {
	width: auto;
}
.mw_wp_form_confirm dl.name dd span + span {
	margin-left: 20px;
}

.mw_wp_form dl.name input,
.mw_wp_form dl.email input {
	box-sizing: border-box;
	padding: 8px;
	font-size: 16px;
	border: 1px solid #333;
	border-width: 0 0 1px;
}

.mw_wp_form textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	font-size: 16px;
	border: 1px solid #333;
}


.mw_wp_form_input .agree {
	margin: 80px 0 0;
}
.mw_wp_form_input .agree dt {
	margin: 0 0 30px;
	font-size: 18px;
}
.mw_wp_form_input .agree dt a {
	text-decoration: underline;
}
.mw_wp_form_input .agree dt a:active {
	text-decoration: none;
}
.mw_wp_form_input .agree input {
	position: absolute;
	visibility: hidden;
	pointer-events: none;
}
.mw_wp_form_input .agree input + span::before {
	box-sizing: border-box;
	position: absolute;
	content: "";
	display: block;
	width: 36px;
	height: 36px;
	left: 0;
	top: 0;
	border: 1px solid #333;
}
.mw_wp_form_input .agree input + span::after {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 8px;
	left: 7px;
	top: 8px;
	border: 0 solid #333;
	border-width: 0 0 5px 5px;
	transform: rotate(-45deg);
	visibility: hidden;
}
.mw_wp_form_input .agree input:checked + span::after {
	visibility: visible;
}
.mw_wp_form_input .agree label {
	position: relative;
	display: inline-block;
	padding-left: 54px;
	font-size: 16px;
	line-height: 36px;
	cursor: pointer;
}

.mw_wp_form_confirm .agree {
	display: none;
}



.mw_wp_form dd .error {
	display: block;
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: 500;
}
.mw_wp_form_input .agree dd .error {
	margin-top: 12px;
}



.mw_wp_form .submission {
	display: flex;
	justify-content: space-between;
	margin: 50px 0 0;
}
.mw_wp_form .submission a {
	display: none;
	width: 160px;
	height: 42px;
	font-size: 15px;
	border-radius: 25px;
}
.mw_wp_form .submission input {
	position: absolute;
	visibility: hidden;
	pointer-events: none;
}

.mw_wp_form_input .submission a.confirm,
.mw_wp_form_confirm .submission a.back,
.mw_wp_form_confirm .submission a.submit {
	display: flex;
}
.mw_wp_form_input .submission a + a {
	margin-left: 40px;
}
.mw_wp_form_confirm .submission a.back::after {
	right: auto;
	left: 16px;
	transform: rotate(180deg);
}




.thanks {
	font-size: 15px;
}

























