:root {
	--primary-color: #485C11;
	--second-color: #ECD857;
	--bg-color: #f2efdd;
	--heading-color: #000000;
	--font-color: #6F6F6F;
	--border-color: #ddd;
	--fs-h1: 8rem;
	--fs-h2: 3rem;
	--fs-h3: 2.5rem;
	--fs-h4: 2.2rem;
	--fs-main: 1.6rem;
	--ff-noto: "Noto Sans JP", sans-serif;
	--ff-notoSerif: "Noto Serif JP", serif;
	--ff-crimson: "Crimson Text", serif;
	--ff-Roboto: "Roboto Mono", monospace;
	--ff-DM: "DM Sans", sans-serif;
}
@media (max-width: 991.98px) {
	:root {
		--fs-h1: 4rem;
		--fs-h2: 2rem;
	}
}
@media (max-width: 767.98px) {
	:root {
		/* --fs-h1: 3rem; */
		--fs-h2: 2rem;
	}
}
@media (max-width: 575px) {
	:root {
		--fs-h1: 2.5rem;
		--fs-h2: 2rem;
		--fs-h3: 1.9rem;
		--fs-h4: 1.6rem;
		--fs-main: 1.4rem;
	}
}
html{
	font-size: 62.5%; /* PC: 1rem = 10px */
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

body {
	font-family: var(--ff-noto);
	line-height: 1.6;
	font-size: var(--fs-main);
	position: relative;
}
body:before{
	position: absolute;
	width: 100%;
	height: 100%;
	content: '';
	background-position: center top;
	background-repeat: repeat;
	background-image: url("../img/bg-main.jpg");
	background-size: contain;
	top: 0;
	left: 0;
	opacity: .2;
	z-index: -1;
}
body:after{
	position: absolute;
	width: 100%;
	height: 100%;
	content: '';
	background-color: var(--bg-color);
	background-image: linear-gradient(0deg, transparent 25px, #EAE0D3 26px),linear-gradient(90deg,  transparent 25px, #EAE0D3 26px);
	background-size: 26px 26px;
	top: 0;
	left: 0;
	z-index: -2;
	background-repeat: repeat;
}
html[lang="en"] body {
	font-family: var(--ff-DM);
}
html[lang="en"] .shops-item__content-title{
	font-family: var(--ff-crimson);
	font-size: 3.1rem;
}
html[lang="en"] .p-topics-detail h1{
	font-family: var(--ff-DM);
	font-size: 6rem;
	line-height: 1.2;
}
html[lang="en"] .detail h2{
	font-family: var(--ff-DM);
	font-size: 4.5rem;
}
@media (max-width: 991.98px) {
	html[lang="en"] .p-topics-detail h1{
		font-size: 4rem;
	}
	html[lang="en"] .detail h2{
		font-size: 3.5rem;
	}
}
@media (max-width: 575.98px){
	html[lang="en"] .shops-item__content-title{
		font-size: 2.3rem;
		margin-bottom: 3px;
	}
	html[lang="en"] .p-topics-detail h1{
		font-size: 3rem;
	}
	html[lang="en"] .detail h2{
		font-size: 2.5rem;
	}
}
a {
	text-decoration: none;
	outline: none;
}

h1{
	font-size: var(--fs-h1);
}

h2{
	font-size: var(--fs-h2);
}

h3{
	font-size: var(--fs-h3);
}

h4{
	font-size: var(--fs-h4);
}

.d-inline-block{
	display: inline-block;
}
.d-none{
	display: none;
}
.mt-0{
	margin-top: 0!important;
}
@media (min-width: 768px) {
	.d-md-none{
		display: none;
	}
	.d-md-block{
		display: block;
	}
}
@media (min-width: 992px) {
	.d-lg-inline{
		display: inline;
	}
}


/*
 * wrapper
 * -------------------------------------------------------------------
 */
.wrapper {
	display: block;
	margin: 0px auto;
	padding: 0px;
	min-height: 60vh;
}
.content__container,
.footer__container,
.pagevisual__container,
.breadcrumbs__container{
	max-width: 1460px;
	margin: 0 auto;
	padding: 0 60px;
}
@media (max-width: 991.98px) {
	
}
@media (max-width: 767.98px) {
	.content__container, 
	.footer__container,
	.pagevisual__container,
	.breadcrumbs__container{
		padding: 0 20px;
	}
}

/*
 * Utility
 * -------------------------------------------------------------------
 */
.fadeInLoad {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .6s ease, transform .6s ease;
}
.fadeInLoad.is-animated {
	opacity: 1;
	transform: translateY(0);
}
.fadeInTop{
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .6s ease, transform .6s ease;
}
.fadeInTop.delay-1 { transition-delay: 0s; }
.fadeInTop.delay-2 { transition-delay: 0.1s; }
.fadeInTop.delay-3 { transition-delay: 0.2s; }
.fadeInTop.delay-4 { transition-delay: 0.3s; }
.fadeInTop.delay-5 { transition-delay: 0.4s; }
.fadeInTop.delay-6 { transition-delay: 0.5s; }
.fadeInTop.delay-7 { transition-delay: 0.6s; }

.fadeInTop.is-animated{
	opacity: 1;
	transform: translateY(0);
}
hr{
	margin: 60px 0;
	border-top: 1px solid var(--heading-color);
}


.u__button-more{
	text-align: right;
	width: 100%;
}
.u__button-more.mt15{
	margin-top: 15px;
}
.u__button-more.mt30{
	margin-top: 30px;
}
.u__button-more a{
	background: var(--primary-color);
	display: inline-block;
	position: relative;
	border-radius: 100px;
	color: #fff;
	padding: 15px 46px 15px 30px;
	transition: all .15s ease;
	font-size: .95em;
	font-family: var(--ff-DM);
	font-weight: 600;
}
.u__button-more a:after{
	position: absolute;
	display: inline-block;
	content: '';
	background-image: url(../img/icon-button_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 10px;
	height: 10px;
	margin-left: 5px;
	right: 28px;
	top: 22px;
	transition: all .3s ease;
	transform: rotate(45deg);
}
.u__button-more a:hover{
	opacity: .75;
}
.u__button-more a:hover:after{
	right: 25px;
}
.u__button-arrow{
	position: relative;
}
.u__button-arrow:before,
.u__button-arrow:after {
	content: "";
	position: absolute;
	transition: all .3s ease;
	background-color: var(--font-color);
	top: 50%;
	right: 10px;
	border-radius: 9999px;
	height: 1px;
}
.u__button-arrow:before {
	width: 60px;
}
.u__button-arrow:after {
	top: 50%;
	width: 11px;
	transform: rotate(24deg);
	transform-origin: calc(100% - 1px) 50%;
}
@media (max-width: 575.98px){
	.u__button-more a{
		padding: 10px 46px 10px 30px;
		font-size: .9em;
	}
	.u__button-more a:after{
		top: 16px;
	}
	.u__button-arrow:before{
		width: 30px;
	}
}

.iframe {
	margin-bottom: 30px;
	overflow: hidden;
}
.iframe iframe{
	width: 100%;
	height: 100%;
}
.detail .topics-detail__container{
	max-width: 690px;
	margin: 0 auto;
	padding: 0 20px;
}
.p-topics-detail .pagevisual__text-main{
	font-size: 6rem;
	font-family: var(--ff-noto);
}
.detail h2{
	/* font-family: var(--ff-notoSerif); */
	font-size: 3.5rem;
	margin-bottom: 15px;
	padding-top: 30px;
	margin-top: 30px;
	font-weight: 500;
}
.detail h3{
	margin: 40px 0 15px;
	font-weight: 500;
}
.detail h4{
	margin: 30px 0 5px;
    font-weight: 600;
}
.detail p + p{
	margin-top: 20px;
}
.detail table{
	width: 100%;
	margin-bottom: 30px;
	margin-top: 10px;
	border: none;
}
.detail table tr th{
	padding: 15px 20px;
	text-align: left;
	font-weight: 500;
}
.detail table tr th:before{
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 20px;
	height: 2px;
	background: #fff;
	display: inline-block;
}
.detail table tr td{
	padding: 15px 20px;
}
.detail a{
	color: var(--primary-color);
	text-decoration: underline;
}
	
.detail a:hover{
	text-decoration: none;
}
.detail ul{
	margin-bottom: 20px;
	margin-top: 5px;
}
.detail ul li{
	position: relative;
	padding-left: 20px;
}
.detail ul li:before{
	position: absolute;
	top: 10px;
	left: 7px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--primary-color);
	content: '';
}
.detail ol{
	counter-reset: number;
	list-style: none;
	margin-bottom: 20px;
}
.detail ol li{
	position: relative;
	padding-left: 35px;
	margin-bottom: 5px;
}
.detail ol li:before{
	position: absolute;
	top: 0px;
	left: 6px;
	color: var(--heading-color);
	display: inline-block;
	counter-increment: number;
	content: '(' counter(number) ')';
	font-family: var(--ff-noto);
	font-weight: 400;
}
.detail ul li:nth-of-type(n+2){
	margin-top: 3px;
}
.detail blockquote{
	padding: 15px;
	border-left: 1px solid var(--font-color);
	margin-left: 5px;
	background: #f5f1e2;
	margin-bottom: 30px;
}
@media (min-width: 576px) {
	.detail table tr th,
	.detail table tr td{
		border-bottom: 1px solid #79776e;
	}
	
}
@media (max-width: 991.98px) {
	.p-topics-detail .pagevisual__text-main{
		font-size: var(--fs-h1);
	}
}
@media (max-width: 767.98px) {
	.detail h2{
		font-size: 2.5rem;
	}
	.detail table tr th{
		
	}
}
@media (max-width: 575.98px){
	.detail table:not(.table-horizontal) tr td,
	.detail table:not(.table-horizontal) tr th{
		width: 100%!important;
		display: block;
		/*border: none;*/
	}
	.detail table:not(.table-horizontal) tr th{
		/*border: none;*/
	}
	.detail table:not(.table-horizontal) tr td{
	}
	.detail table tr th{
		border-top: 1px solid #79776e;
		padding: 15px 15px 5px;
	}
	.detail table tr:first-of-type th{
		border-top: none;
	}
	.detail table tr td{
		padding: 5px 15px 15px;
	}
	.iframe{
		height: 240px;
	}
	.iframe iframe{
		height: 100%;
	}
}
/*
 * nav-header__pc
 * -------------------------------------------------------------------
 */

.nav-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	transition: all .45s ease;
}
.nav-header:after{
	opacity: 0;
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	background: rgb(0 21 41 / 50%);
	content: "";
	z-index: 1000;
	transition: all .2s ease;
}
.p-index .nav-header__logo {
	display: none;
}
.p-contents .nav-header__logo {
	width: 160px;
	display: block;
	position: absolute;
	left: 40px;
	top: 20px;
	transition: all .5s ease;
}
.p-contents .scrolled .nav-header__logo {
	opacity: 0;
}
.navi__link{
	color: var(--heading-color);
	display: inline-block;
	line-height: 1;
	font-family: var(--ff-crimson);
	font-size: 1.8rem;
	font-weight: 300;
}
.navi__link:hover{
	opacity: .6;
}

.nav-header__lang-list{
	opacity: 0;
	display: none;
	transition: all .15s ease-in-out;
	position: relative;
	z-index: 1;
}
.nav-header__lang-list.is-active{
	opacity: 1;
	display: flex;
	pointer-events: auto;
}
.nav-header__lang .navi__link:before{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent var(--heading-color);
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%) rotate(90deg);
	transition: all .15s ease;
}
.nav-header__lang-item{
	width: 100%;
}
.nav-header__lang-item a{
	color: var(--heading-color);
	display: block;
	padding: 3px 5px 6px;
	line-height: 1;
}
.nav-header__lang-item a:hover{
	background: #fdf8f0;
}


/*****.scrolled *****/
.p-contents .scrolled .nav-header__logo {
	/*width: 120px;
	left: 15px;
	top: 11px;*/
	/*display: none;*/
}

@media (min-width: 1200px) {
	.nav-header .navi__menu{
		gap: 8px;
	}
	.navi__link{
		font-size: 2.0rem;
	}
	.nav-header__lang{
		top: 167px;
	}
	.scrolled.nav-header .nav-header__lang{
		top: 151px;
	}
	.nav-header__lang .navi__link{
		font-size: 1.8rem;
		height: 31px;
	}
	.nav-header__lang-list{
		margin: -31px 0 0 0;
		padding: 38px 9px 10px;
	}
}


@media (min-width: 1200px) {
	.nav-header__container {
	}

	.nav-header .navi__menu {
		display: flex;
		flex-direction: column;
		gap: 5px;
		position: absolute;
		right: 30px;
		top: 30px;
		width: 140px;
		transition: all .3s ease;
	}
	.nav-header .navi__menu-item {
	}
	.nav-header__lang{
		position: absolute;
		top: 155px;
		right: 48px;
		transition: all .3s ease;
	}
	.nav-header__lang-list{
		border: 1px solid var(--heading-color);
		font-size: 0.95em;
		font-family: var(--ff-noto);
		background: var(--bg-color);
		pointer-events: none;
		width: 130px;
		margin: -27px 0 0 0;
		padding: 32px 9px 10px;
		flex-direction: column;
	}
	.nav-header__lang .navi__link{
		position: relative;
		border: 1px solid var(--heading-color);
		padding: 5px 20px 4px 9px;
		border-top: 1px solid var(--heading-color);
		width: 130px;
		/* margin-left: -9px; */
		background: var(--bg-color);
		height: 27px;
		display: block;
		z-index: 2;
		font-size: 1.6rem;
	}
	.nav-header__lang .navi__link span.d-sp{
		display: none;
	}
	.nav-header__toggle{
		display: none;
	}
	/*****.scrolled *****/
	.nav-header.scrolled{
	}
	.scrolled.nav-header .navi__menu{
		top: 15px;
		right: 15px;
	}
	.scrolled.nav-header .nav-header__lang{
		top: 140px;
		right: 30px;
	}

}
/*
 * l-header__sp
 * -------------------------------------------------------------------
 */

@media (max-width: 1199.98px) {
	
	.nav-header__toggle {
		position: fixed;
		top: 15px;
		right: 15px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		width: 50px;
		height: 50px;
		background: var(--primary-color);
		cursor: pointer;
		transition: all 0.2s;
		z-index: 11;
		border: 1px solid var(--primary-color);
		box-sizing: border-box;
	}
	.nav-header__toggle:hover {
		opacity: .75;
	}

	.nav-header__toggle-line {
		display: inline-block;
		width: 20px;
		height: 2px;
		background: #fff;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: .5s;
	}

	.nav-header__toggle-line:nth-of-type(1){
		top: 16px;
	}
	.nav-header__toggle-line:nth-of-type(2){
		top: 24px;
	}
	.nav-header__toggle-line:nth-of-type(3){
		top: 32px;
	}
	
	.nav-header {
		width: 100%;
		height: 75px;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1002;
	}
	.nav-header__container{
		height: 100%;
		margin: 0;
		z-index: 101;
		position: relative;
	}

	.nav-header .navi__menu {
		position: fixed;
		width: 50%;
		min-width: 450px;
		height: 100vh;
		background: #fff;
		padding: 100px 60px;
		transition: all .3s ease;
		overflow-y: scroll;
		top: 0;
		right: -100%;
		color: #fff;
		z-index: 10;
		margin: 0;
		display: block;
	}
	.nav-header .navi__menu-item{
		height: auto;
		display: block;
	}
	.nav-header .navi__menu-item:nth-of-type(n+2){
		border-top: 1px solid #ddd;
	}
	.nav-header .navi__link{
		padding: 35px;
		position: relative;
		display: block;
		font-weight: 500;
		font-size: 2.5rem;
		color: #333;
	}
	.navi__link:hover{
		opacity: 1;
		background: #eee;
	}
	.nav-header__lang{
		position: absolute;
		top: 15px;
		right: 70px;
		transition: all .3s ease;
		z-index: 11;
	}
	.nav-header__lang-list{
		width: 120px;
		position: absolute;
		top: 53px;
		right: 0;
		background: var(--bg-color);
		border: 1px solid var(--heading-color);
		padding: 10px;
		display: flex;
		flex-wrap: wrap;
		gap: 5px;
		pointer-events: none;
	}
	.nav-header__lang .navi__link{
		padding: 0;
		width: 50px;
		height: 50px;
		background: var(--bg-color);
		position: absolute;
		right: 0;
		top: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.25rem;
		font-weight: 400;
		color: var(--heading-color);
		border: 1px solid var(--heading-color);
		box-sizing: border-box;
	}
	.nav-header__lang .navi__link:before{
		right: 6px;
	}
	.nav-header__lang .navi__link span.d-sp{
		margin-right: 7px;
	}
	.nav-header__lang .navi__link span.d-pc{
		display: none;
	}
	.nav-header__lang-item a{
		font-size: 1.5rem;
		padding: 3px;
	}
	/*****.menu-open *****/
	.menu-open{
		overflow: hidden;
		width: 100%;
		height: 100%;
	}
	.menu-open .navi__menu {
		opacity: 1;
		right: 0;
	}
	.menu-open .navi__menu:after {
		opacity: 1;
		display: block;
	}
	.menu-open .nav-header__toggle-line{
		top: 50%;
	}
	.menu-open .nav-header__toggle-line:nth-of-type(1){
		transform: translateX(-50%) translateY(-50%) rotate(40deg);
	}
	.menu-open .nav-header__toggle-line:nth-of-type(2){
		display: none;
	}
	.menu-open .nav-header__toggle-line:nth-of-type(3){
		transform: translateX(-50%) translateY(-50%) rotate(-40deg);
	}
	.menu-open.p-contents .nav-header__logo{
		display: block;
		position: absolute;
		top: 10px;
		z-index: 11;
		width: 70px;
	}
}
@media (max-width: 991.98px) {
	
}
@media (max-width: 767.98px) {
	.nav-header .navi__menu{
		width: 100%;
		min-width: 100%;
		padding: 120px 60px 60px;
	}
}
@media (max-width: 575.98px){
	.p-contents .nav-header__logo {
		width: 80px;
		left: 15px;
		top: 15px;
	}
	.p-contents .scrolled .nav-header__logo {
		/*width: 70px;
		left: 15px;
		top: 11px;*/
	}
	.nav-header .navi__menu{
		padding: 120px 30px 30px;
	}
	.nav-header .navi__menu .navi__link{
		font-size: 1.7rem;
		padding: 30px 15px;
	}
}

/*
 * page-heading
 * -------------------------------------------------------------------
 */


/*
 * footer
 * -------------------------------------------------------------------
 */
.footer{
	margin-top: 190px;
}
.footer__container{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	border-top: 1px solid var(--heading-color);
	padding-top: 60px;
	padding-bottom: 60px;
}
.footer__logo{
	/* width: 160px; */
}
.footer__logo-link{
	display: block;
	font-size: 2.5rem;
	color: var(--heading-color);
	width: 300px;
	font-weight: 500;
	font-family: var(--ff-crimson);
	margin-bottom: 10px;
}
.footer__logo-ig{
	width: 20px;
	height: 20px;
}
.footer__logo-image{
	
}
.footer__logo-text{
	
}
.footer__menu{
	
}
.footer__menu .navi__menu{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 15px;
}
.footer__pagetop{
	position: absolute;
	top: -45px;
	right: 10px;
}
.footer__pagetop-link{
	color: var(--font-color);
	font-family: var(--ff-DM);
	font-size: 1.45rem;
	padding: 3px 5px;
}
.footer__pagetop-link:hover{
	opacity: .75;
}
.footer__pagetop-link:before{
	content: "(";
    margin-right: 2px;
}
.footer__pagetop-link:after{
	content: ")";
    margin-left: 2px;
}
.footer__copy{
	width: 100%;
	text-align: right;
	font-size: 1.4rem;
	color: var(--font-color);
}
@media (max-width: 991.98px) {
	.footer__logo{
		margin-bottom: 20px;
	}
	.footer__menu{
		margin: 0 0 0 auto;
	}
}
@media (max-width: 575.98px){
	.footer{
		margin-top: 120px;
	}
	.footer__container{
		flex-direction: column;
		padding-bottom: 30px;
		padding-top: 45px;
	}
	.footer__menu{
		margin: 0;
	}
	.footer__menu .navi__menu{
		gap: 5px;
		width: 100%;
		margin-bottom: 30px;
	}
	.footer__menu .navi__menu-item{
		width: 100%;
	}
	.footer__menu .navi__link{
		font-size: 1.6rem;
	}
	.footer__copy{
		font-size: 1.2rem;
		text-align: left;
	}
}

/*
 * Contents Page
 * -------------------------------------------------------------------
 */
.p-contents .wrapper{
	padding-top: 270px;
}
/**** pagevisual ****/
.pagevisual{
	margin-bottom: 30px;
}
.pagevisual__text-main{
	font-family: var(--ff-crimson);
	font-weight: 500;
	line-height: 1;
}
@media (max-width: 575.98px){
	.pagevisual{
		margin-bottom: 15px;
	}
	.pagevisual__text-main{
		font-size: 3.5rem;
	}
	.p-contents .wrapper {
		padding-top: 140px;
	}
}


/**** breadcrumbs ****/
.breadcrumbs{
	margin-bottom: 90px;
}
.breadcrumbs__list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	font-size: 1.6rem;
	/* font-family: var(--ff-crimson); */
}
.breadcrumbs__link{
	color: var(--font-color);
}
.breadcrumbs__list-item{
	font-weight: 400;
}
.breadcrumbs__list-item:nth-of-type(n+2){
	position: relative;
}

.breadcrumbs__list-item:nth-of-type(n+2):before{
	position: absolute;
	bottom: 7px;
	left: -10px;
	width: 1px;
	height: 12px;
	background: var(--font-color);
	display: inline-block;
	content: '';
	transform: rotate(34deg);
}
@media (max-width: 767.98px) {
	.breadcrumbs{
		margin-bottom: 60px;
	}
	.breadcrumbs__list{
		font-size: 1.3rem;
		gap: 5px 15px;
	}
	.breadcrumbs__list-item:nth-of-type(n+2):before{
		bottom: 5px;
		left: -8px;
	}
}
@media (max-width: 575.98px){
	.breadcrumbs {
		margin-bottom: 45px;
	}
	.breadcrumbs__list{
		font-size: 1.15rem;
		margin-top: 20px;
	}
	.breadcrumbs__list-item:nth-of-type(n+2):before{
		bottom: 2px;
	}
}

/*
 * shopsList
 * -------------------------------------------------------------------
 */
/**** shops__tab ****/
.shops__tab{
	margin-bottom: 60px;
}
.shops__tab-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
	border-bottom: 1px solid var(--heading-color);
	overflow: hidden;
	padding-top: 15px;
}
.shops__tab-item{
	font-family: var(--ff-crimson);
	font-size: 3.3rem;
	cursor: pointer;
	display: inline-block;
	line-height: 1;
	border-radius: 10px 10px 0 0;
	padding: 17px 35px 17px;
	transition: all .15s ease;
	transform: translateY(8px);
	border: 1px solid transparent;
	border-bottom: none;
}
.shops__tab-item:hover,
.shops__tab-item.shops__tab-active{
	transform: translateY(0);
	border: 1px solid var(--heading-color);
	border-bottom: none;
}
/**** shops__body ****/
.shops__body{
	
}
.shops__list{
	opacity: 0;
	display: none;
}
.shops__list.shops__body-active{
	opacity: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.shops__list-title{
	font-size: 4rem;
	/* font-weight: 500; */
	/* font-family: var(--ff-crimson); */
	width: 100%;
}
.shops__list-info{
	font-size: 1.8rem;
	display: inline-block;
	position: relative;
	color: var(--heading-color);
	font-weight: 600;
}
.p-shops-index .shops__list-info{
	margin-bottom: 15px;
}
.shops__list-info:not(.no-symbol):before{
	content: "(";
	margin-right: 2px;
	color: var(--heading-color);
}
.shops__list-info:not(.no-symbol):after{
	content: ")";
	margin-left: 2px;
	color: var(--heading-color);
}
.shops__list-info__num{
	color: #C51D1D;
	font-size: 1.4em;
}
.shops__list-item{
	width: calc(33.333% - 20px);
	justify-content: space-between;
	display: flex;
}
.section-wrapper{
	margin-bottom: 60px;
}
.section-thumbnail{
	margin-bottom: 90px;
	width: 100%;
	text-align: center;
	/*background: #fff;*/
}
.section-thumbnail-image{
	width: 100%;
}
.section-thumbnail-figcaption{
	text-align: left;
	margin-top: 10px;
}
.section-footer{
	margin-top: 30px;
}
.shops-item__thumbnail{
	overflow: hidden;
	margin-bottom: 18px;
	height: 250px;
}
.shops-item__thumbnail-image{
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.shops-item__content{
	
}
.shops-item__content-title{
	font-weight: 400;
	font-size: 2.8rem;
	margin-bottom: 10px;
	padding-right: 75px;
	line-height: 1.2;
}
.shops-item__content-title.u__button-arrow:before,
.shops-item__content-title.u__button-arrow:after{
	top: auto;
	bottom: 19px;
}
.shops-item__content-text{
	position: relative;
	padding-left: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
	font-family: var(--ff-noto);
	color: var(--font-color);
	font-size: 1.4rem;
}
.shops-item__content-text:before{
	position: absolute;
	display: inline-block;
	content: '';
	background-image: url(../img/icon-pin.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 13px;
	height: 16px;
	opacity: .8;
	top: 4px;
	left: 3px;
}
.shops-item__link{
	color: var(--heading-color);
	background: #FFFBF6;
	padding: 20px;
	display: block;
	transition: all .2s ease;
	width: 100%;
}
.shops-item__link:hover{
	transform: rotate(2deg);
}
.shops-item__link:hover .u__button-arrow:before,
.shops-item__link:hover .u__button-arrow:after{
	right: 0;
}
.shop-stamp{
    /*position: relative;*/
    text-align: center;
    margin-bottom: 30px;
}
.shop-stamp:before{
    /*position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fffdf2;
    opacity: .5;
    content: '';
    z-index: -1;*/
}
.shop-stamp__image{
    display: block;
    margin: 0 auto;
}
@media (max-width: 1199.98px) {
	.shops__list.shops__body-active{
		gap: 30px;
	}
}
@media (max-width: 767.98px) {
	.shops-item__thumbnail{
		height: 200px;
	}
}
@media (max-width: 575.98px){
	.shops__list.shops__body-active{
		gap: 20px;
	}
	.shops-item__content-text{
		font-size: 1.2rem;
	}
	.shops-item__thumbnail{
		height: 140px;
	}
	.section-thumbnail{
		margin-bottom: 60px;
	}
	.section-thumbnail-figcaption{
		font-size: 1.3rem;
	}
}
/**** shops__map ****/
.shops__map{
	height: 520px;
	margin-bottom: 30px;
}
.shops__map iframe{
	width: 100%;
	height: 100%;
}
@media (max-width: 575.98px){
	.shops__map{
		height: 270px;
		margin-bottom: 45px;
	}
}
/**** motif-item ****/
.motif-item{
	
}
.motif-item__thumbnail{
	
}
.motif-item__info{
	
}

/**** shops-info ****/
@media (max-width: 1199.98px) {
	.shops__list-title{
		/* font-size: 5rem; */
	}
}
@media (max-width: 991.98px) {
	.shops__tab-item{
		font-size: 2.5rem;
	}
	.shops__list-title{
	}
	.shops__list-item{
		width: calc(100% - 250px);
		margin: 0 0 0 auto;
		flex-direction: column;
	}
	.shops__list-title{
		position: sticky;
		top: 155px;
		left: 0;
		z-index: 10;
		width: 130px;
		line-height: 1;
		margin-bottom: -90px;
	}
	.p-shops-list .shops__list-title{
		position: relative;
		margin-bottom: 0;
		width: 100%;
		height: 100%;
		top: auto;
		left: auto;
	}
}
@media (max-width: 767.98px) {
	.shops__tab-list{
		flex-wrap: nowrap;
		overflow-x: scroll;
		justify-content: flex-start;
		padding: 0 30px;
		cursor: grab;
	}
	.shops__tab-list.active{
		cursor: grabbing;
	}
	.shops__tab-list::-webkit-scrollbar {
		display: none;
	}
	.shops__tab-item{
		border: 1px solid var(--heading-color);
		border-bottom: none;
		flex: 0 0 auto;
		position: relative;
	}
	.shops__tab-item:before{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
		background: var(--bg-color);
		opacity: .5;
		z-index: -1;
	}

	.shops__list{
		
	}
	.shops__list-item{
		width: calc(100% - 180px);
	}
	.p-shops-index .shops__list-item,
	.p-shops-list .shops__list-item{
		width: 100%;
	}
	.shops__list-info{
		width: 100%;
	}
	.shops__list-title{
		font-size: 3rem;
	}
}
@media (max-width: 575.98px){
	.shops__tab{
		margin-bottom: 30px;
	}
	.shops__tab-list{
		padding: 0 15px;
	}
	.shops__tab-item{
		font-size: 1.9rem;
		padding: 9px 18px 14px;
	}
	.shops__tab-item:hover, .shops__tab-item.shops__tab-active{
		padding: 11px 18px 12px;
	}
	.shops__list-title{
		width: 90px;
		font-size: 2.2rem;
		margin-bottom: -95px;
		height: 95px;
		top: 15px;
	}
	.shops__list-item{
		width: calc(100% - 110px);
	}
	.shops-item__link{
		padding: 15px;
	}
	.shops-item__content-title{
		font-size: 2.0rem;
	}
	.shops__list-info{
		font-size: 1.2rem;
	}
	.shops__list-info__num{
		margin-right: 0;
		font-size: 1.2em;
	}
	
	
}
/*
 * topicsList
 * -------------------------------------------------------------------
 */
.topics__list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.-topics .topics__list-item{
	width: calc(33.333% - 15px);
}
.-collection .topics__list-item{
	width: calc(25% - 15px);
}
.p-topics-index .-collection.topics__list{
	gap: 30px;
}
.p-topics-index .-collection .topics__list-item{
	width: calc(33.333% - 20px);
}
.topics-item{
	color: var(--heading-color);
}
.topics-item__thumbnail{
	margin-bottom: 5px;
	overflow: hidden;
}
.-topics .topics-item__thumbnail{
	height: 270px;
}
.-collection .topics-item__thumbnail{
	height: 230px;
}
.topics-item__thumbnail-image{
	display: block;
	transition: all .4s ease;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topics-item:hover .topics-item__thumbnail-image{
	transform: scale(1.1);
}
.topics-item__content{
	
}
.topics-item__content-category{
	display: inline-block;
	position: relative;
	font-size: 1.3rem;
}
.topics-item__content-category:before{
	content: "(";
	margin-right: 2px;
}
.topics-item__content-category:after{
	content: ")";
	margin-left: 2px;
}
.topics-item__content-title{
	font-size: 1.9rem;
	margin-bottom: 6px;
	margin-top: 2px;
	font-weight: 500;
	line-height: 1.4;
}
.topics-item__content-date{
	color: var(--font-color);
	display: inline-block;
	font-size: 1.4rem;
}

@media (max-width: 1199.98px) {
	
}
@media (max-width: 991.98px) {
	.-topics .topics__list-item{
		width: 100%;
	}
	.-topics .topics__list-item .topics-item{
		display: flex;
		flex-wrap: wrap;
	}
	.-topics .topics-item__thumbnail{
		width: 40%;
		padding-right: 15px;
		margin-bottom: 0;
		height: 180px;
	}
	.-collection .topics-item__thumbnail{
		height: 160px;
	}
	.-topics .topics__list-item .topics-item__content{
		width: 60%;
	}
	.-collection .topics__list-item{
		width: calc(33.333% - 15px);
	}
	.topics-item__content-title{
		font-size: 1.6rem;
	}
}
@media (max-width: 575.98px){
	.topics__list{
	}
	.topics-item__content-title{
		font-size: 1.5rem;
	}
	.-collection .topics__list-item{
		width: calc(50% - 15px)!important;
	}
	.-topics .topics-item__thumbnail{
		height: 80px;
	}
	.-collection .topics-item__thumbnail{
		height: 110px;
	}
}
/*
 * collectionList
 * -------------------------------------------------------------------
 */
.collection__list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.collection__list-item{
	width: calc(33.333% - 15px);
}
.collection-item{
	color: var(--heading-color);
}
.collection-item:hover{
	opacity: .75;
}
.collection-item__thumbnail{
	overflow: hidden;
	margin-bottom: 10px;
}

.collection-item__thumbnail-image{
	display: block;
	transition: all .3s ease;
}
.collection-item:hover .collection-item__thumbnail-image{
	transform: scale(1.1);
}
.collection--item__content{
	
}
.collection-item__content-title{
	font-size: 1.6rem;
}
@media (max-width: 991.98px) {
	.collection__list-item{
		width: calc(50% - 10px);
	}
}
@media (max-width: 575.98px){
	.collection-item__thumbnail{
		margin-bottom: 5px;
	}
	.collection-item__content-title{
		font-size: 1.4rem;
	}
}

/*
 * detail
 * -------------------------------------------------------------------
 */
.motif-image img{
	width: 100%;
	
}
.shops-detail.detail h2{
	text-align: center;
	margin-bottom: 60px;
	position: relative;
	font-size: 5rem;
	margin-top: 120px;
}
.shops-detail.detail h2:before{
	content: "";
	display: block;
	width: 45px;
	height: 4px;
	position: absolute;
	left: 50%;
	top: -20px;
	background: repeating-linear-gradient(to right, #414141 0px, #414141 4px, transparent 4px, transparent 8px);
	transform: translateX(-50%);
}
.shops-detail__title{
	margin-bottom: 15px;
	padding-top: 30px;
	font-weight: 600;
}

.product-box{
	margin: 150px 0 90px;
	position: relative;
}
h2.product-box__title{
	text-align: center;
	margin-bottom: 60px;
	position: relative;
	font-size: 4rem;
}
.products-list{
	display: flex;
	flex-wrap: wrap;
	gap: 45px;
	padding: 90px 120px;
	position: relative;
	z-index: 10;
}
.products-list:before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fffdf2;
	opacity: .5;
	content: '';
	z-index: -1;
}
.products-item{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 45px;
	padding: 15px 0;
	/* padding-top: 60px; */
}
.products-item:nth-of-type(n+2){
	border-top: 1px solid #d1cfca;
	padding-top: 60px;
}
.product-gallery{
	display: grid;
	gap: 16px;
	width: calc(50% - 30px);
}

.product-gallery__main {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #FFFBF6;
  border-radius: 8px;
  overflow: hidden;
}

.product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.product-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.product-thumb {
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  background: #FFFBF6;
}

.product-thumb img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.product-thumb:hover img,
.product-thumb:focus-visible img {
  transform: scale(1.03);
}

.product-thumb:hover img,
.product-thumb.is-active {
	outline: 2px solid #a09b8c;
	outline-offset: -2px;
}
.mt-figure-center{
	margin-bottom: 30px;
	margin-top: 30px;
}
.mt-figure-center figcaption{
	text-align: center;
	font-size: 0.9em;
	margin-top: 5px;
}
.products-item__info{
	/* padding: 0 15px; */
	width: calc(50% - 15px);
}
.products-item__info h3{
	font-weight: 600;
	margin: 0 0 30px;
	line-height: 1.4;
	font-size: 2.2rem;
}
.products-item__info .product-id{
	
font-size: .8em;
	
margin-bottom: 30px;
	
color: #737373;
}
.products-item__info h4{
	font-size: 1.9rem;
	position: relative;
	padding-left: 24px;
	font-weight: 700;
}
.products-item__info h4:before{
	position: absolute;
	top: 15px;
	left: 0;
	width: 15px;
	height: 1px;
	background: var(--font-color);
	content: '';
}
.products-item__info p + p{
	margin-top: 5px;
}
.shops-detail__toc-list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 10px;
}
.shops-detail__toc-item{
	
}
.shops-detail__toc-item a{
	position: relative;
	/* color: var(--heading-color); */
	/* font-weight: 500; */
	padding-left: 20px;
	font-size: 1.7rem;
	text-decoration: underline;
	color: var(--primary-color);
}
.shops-detail__toc-item a:hover{
	text-decoration: none;
}
.shops-detail__toc-item a:before{
	position: absolute;
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px var(--heading-color);
	border-right: solid 1px var(--heading-color);
	top: 8px;
	left: 4px;
	transform: rotate(135deg);
}
.pagevisual .topics-item__content-category{
	margin-bottom: 10px;
}
.pagevisual .topics-item__content-date{
	margin-top: 10px;
}
.detail #shop .iframe{
	height: 320px;
}
 .detail #shop table tr th{
	width: 200px;
}
 .detail #shop table tr td{
	 width: calc(100% - 200px);
}
.detail #shop table tr td ul{
	margin-bottom: 0;
}
.topics-detail__container .products-list{
	padding: 30px;
	margin-bottom: 60px;
}
.topics-detail__container .products-item__thumbnail{
	width: 100%;
}
.topics-detail__container .products-item__info{
	width: 100%;
}
@media (min-width: 992px) {
	.product-gallery{
		position: sticky;
		top: 30px;
	}
}
@media (max-width: 1199.98px) {
	.products-list{
		padding: 60px 90px;
	}
}
@media (max-width: 991.98px) {
	.product-box{
	}
	.products-item{
		width: 100%;
		padding: 0;
	}
	.products-item__thumbnail{
		width: 100%;

	}
	.products-item__info{
		width: 100%;
	}
	.product-gallery{
		width: 100%;
	}
}
@media (max-width: 767.98px) {
	.product-box{
		margin: 60px 0 90px;
	}
	.products-item{
		width: 100%;
	}
	.products-list{
		padding: 45px 60px;
	}
	
	.shops-detail__toc-list {
		line-height: 1;
		gap: 5px 15px;
	}
	.shops-detail.detail h2{
		font-size: 3.5rem;
		margin-bottom: 45px;
	}
	
	.product-gallery__thumbs {
		grid-template-columns: repeat(5, 60px);
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	  }

}
@media (max-width: 575.98px){
	.shops-detail__toc-item a{
		font-size: 1.3rem;
		padding-left: 15px;
	}
	.shops-detail__toc-item a:before{
		top: 5px;
	}
	.shops-detail.detail h2{
		font-size: 2.5rem;
		margin-top: 60px;
		margin-bottom: 30px;
	}
	.shops-detail.detail h2:before{
		width: 20px;
	}
	.products-item__info h3{
		font-size: 1.8rem;
	}
	.products-item__info h4{
		font-size: 1.65rem;
		margin-top: 15px;
	}
	.products-item__info h4:before{
		top: 14px;
	}
	.products-list{
		padding: 20px;
	}
	.shops-detail__title{
		margin-bottom: 10px;
	}
}
.about-lead{
	font-size: 7rem;
	font-weight: 500;
	margin-bottom: 45px;
	padding-left: 1px;
	text-align: center;
	font-family: var(--ff-DM);
}
.about-wrap{
	margin: 0 auto 30px;
	counter-reset: number 0;
}
.about-wrap p{
	line-height: 1.7;
}
.about-box{
	position: relative;
	border-top: 1px solid var(--heading-color);
	padding: 45px 120px 45px 35px;
	display: flex;
	flex-wrap: wrap;
	gap: 10%;
}
h2.about-box__title{
	font-size: 5rem;
	font-weight: 400;
	font-family: var(--ff-DM);
	line-height: 1.2!important;
	padding-top: 0;
	margin: 0;
}
.about-box__title-sub{
	margin: 0 0 30px!important;
	font-weight: 500;
}
.about-box__heading{
	width: 420px;
}
.about-box__body{
	width: 45%;
	margin-top: 10px;
}
.about-box:last-of-type{
	border-bottom: 1px solid var(--heading-color);
}
.about-box__lead{
	font-size: 3.0rem;
	font-weight: 500;
	font-family: var(--ff-DM);
	margin-bottom: 5px;
}
.about-box__lead:nth-of-type(n+2){
	margin-top: 45px;
}
.about-box__lead-sub{
	font-weight: 500;
	margin-top: 0!important;
	margin-bottom: 25px;
}
@media (max-width: 1399.98px) {
	.about-box{
		gap: 15%;
	}
	.about-lead{
		font-size: 6.5rem;
	}
	.about-box__body{
		width: 35%;
	}
}
@media (max-width: 1199.98px) {
	.about-lead{
		font-size: 5.5rem;
	}
	.about-box{
		padding: 45px 30px 45px 35px;
		gap: 5%;
	}
	.about-box__body{
		width: calc(100% - 420px - 5%);
	}
	h2.about-box__title{
		font-size: 4rem;
	}
}
@media (max-width: 991.98px) {
	.about-lead{
		font-size: 4.0rem;
	}
	.about-box{
		gap: 10px;
		padding: 45px;
	}
	.about-box__heading {
		width: 100%;
	}
	.about-box__body{
		width: 100%;
		margin-top: 0;
	}
	h2.about-box__title{
		font-size: 3rem;
	}
}
@media (max-width: 767.98px) {
	.about-lead{
		font-size: 3.0rem;
	}
}
@media (max-width: 575.98px){
	.about-lead{
		font-size: 1.8rem;
	}
	.about-box{
		padding: 35px 5px 30px 5px;
		gap: 0;
	}
	.about-box:before{
		position: absolute;
		top: 9px;
		left: 6px;
		font-weight: 600;
		font-family: var(--ff-DM);
		font-size: 1.3rem;
	}
	h2.about-box__title{
		margin-bottom: 5px;
	}
	.about-box__title-sub{
		margin: 0 0 20px!important;
	}
	.detail .about-box p + p{
		margin-top: 15px;
	}
}