@charset "UTF-8";

/*---------------------------------
	共通
---------------------------------*/
@media (min-width: 1025px) {
	:root {
	--next-base-w:1060px;
	}
}
.next-heading-main{
	padding: 40px 15px 30px;
	margin: 0 auto;
	color: var(--color-heading);
}
.next-heading-text{
	margin-bottom:.5rem;
	display:block;
	line-height: 1;
	font-size: 5rem;
	font-family: var(--font-eng);
}
.next-heading-sub{
	display: flex;
	align-items: center;
	gap: 0 20px;
	letter-spacing: .06em;
	font-size: 1.4rem;
}
.next-heading-sub::before{
	content: "";
	width: 20px;
	height: 5px;
	display: block;
	background: var(--color-yellow);
}
@media (min-width: 1025px) {
	.next-heading-main{
		width:100%;
		padding:80px 170px 70px;
	}
	.next-heading-text{
		font-size:6.6rem;
		line-height: 1;
	}
	.next-.heading-sub{
		font-size: 1.6rem;
	}
}

/*---------------------------------
	パンくずリスト
---------------------------------*/
.breadcrumb{
	var(
	--base-w);
	padding:10px 15px;
	background: var(--color-yellow-lt);
}
.breadcrumb__item{
	display:inline-block;
}
.breadcrumb__link{ color:var(--color-text); text-decoration: underline; }
@media (any-hover: hover) {
	.breadcrumb__link:hover{ text-decoration: none; }
}
.breadcrumb__item + .breadcrumb__item:before{
	content: "";
	width: 6px;
	height: 11px;
	vertical-align: middle;
	margin: 0 10px;
	display: inline-block;
	background: url(../img/arrow-icon1.svg) no-repeat center right / 6px;
}
@media (min-width: 1025px) {
	.breadcrumb{
		padding:10px 170px 10px;
	}
	.heading-text{
		font-size: 6.6rem;
	}
	.heading-sub{
		font-size: 1.6rem;
	}
}

/* ページ切り替えナビゲーション */

.toggle-nav{
	display: flex;
	align-items: center;
	justify-content: center;
}
.toggle-nav__item{
	width: 50%;
}
.toggle-nav__current,
.toggle-nav__link{
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}
.toggle-nav__current{
	background: var(--color-yellow);
	position: relative;
}
.toggle-nav__current::before{
	content: "";
	width: 24px;
	height: 11px;
	background: var(--color-yellow);
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	bottom: -11px;
}
.toggle-nav__link{
	border: 1px solid var(--color-border);
	background: #fff;
}
@media (min-width: 1025px) {
	.toggle-nav{
		width: 620px;
		margin-inline: auto;
	}
	.toggle-nav__current,
	.toggle-nav__link{
		font-size: 2.2rem;
	}
}
@media (any-hover: hover) {
	.toggle-nav__link{
		transition: opacity .4s;
	}
	.toggle-nav__link:hover{
		opacity: .5;
	}
}
/*---------------------------------
	下層の大枠
---------------------------------*/
.page-content{
    width: var(--base-w);
    padding: 40px 0 80px;
    margin:0 auto;
}
@media (min-width: 1025px) {
    .page-content{
        width: 100%;
        padding: 80px 170px 160px;
    }
  }
/* ボタン横並び */

.button-flex{
	margin-top: 55px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px 45px;
}
.button-flex .button{
	width: 100%;
}
@media (min-width: 1025px) {
	.button-flex{
		flex-direction: row;
	}
}


/*---------------------------------
	検索結果
---------------------------------*/

.mt-site-search-result__message{
	margin-bottom: 20px;
}
.mt-site-search-result-item{
	padding: 25px 45px 25px 0;
	border-bottom: 1px solid var(--color-border);
	background: url(../img/arrow-icon1.svg) no-repeat center right 20px / 6px;
}
.mt-site-search-result-item__url{
	display: none;
}
.mt-site-search-result-item__link{
	display: inline-block;
	color: var(--color-text);
	text-decoration: underline;
}
.mt-site-search-result-item__excerpt{
	margin-top: 15px;
}
@media (any-hover: hover) {
	.mt-site-search-result-item__link{
		transition: all .4s;
	}
	.mt-site-search-result-item__link:hover{
		text-decoration: none;
	}
}


/*---------------------------------
	トピックス
---------------------------------*/

/* 詳細 */
.news__article .news-date{
	margin-top: 30px;
	gap: 20px;
	justify-content: flex-start;
}
.news-date{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.news-date time{
	color: var(--color-link);
	font-size: 1.5rem;
	font-weight: 400;
	font-family: var(--font-num);
}
.news-date .new-label{
	height: 25px;
	padding: 0 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-yellow);
	font-size: 1.3rem;
	font-weight: 500;
	font-family: var(--font-num);
	background: var(--color-yellow);
}
.news__title{
	margin-top: 20px;
}
.news__body{
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-border);
	line-height: 1.8;
}
.news-foot{
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid var(--color-border);
}
.news-foot .button-octagon{
	margin-inline: auto;
}

@media (min-width: 1024px) {
	.news-date time,
	.news-date .new-label{
		font-size: 1.6rem;
	}
	.news__title{
		font-size: 2.6rem;
	}
	.news-foot{
		margin-top: 80px;
		padding-top: 70px;
	}
}

.article-list{ margin-top:80px; }
.article-list__item{
	padding: 25px 45px 25px 0;
	border-bottom: 1px solid var(--color-border);
	background: url(../img/arrow-icon1.svg) no-repeat center right 20px / 6px;
}
.article-list__date{
	display: flex;
	gap: 10px;
	font-weight: 400;
}
.article-list__date time{
	color: var(--color-link);
	font-family: var(--font-num);
}
.article-list__label,
.article-list .new-label{
	height: 25px;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-yellow);
	font-size: 1.3rem;
	font-weight: 500;
	background: #fff;
}
.article-list .new-label{
	font-family: var(--font-num);
	background: var(--color-yellow);
}
.article-list__title{
	margin-top: 5px;
}
.page-nav{ margin-top:80px;}
.page-nav ul{
	width:100%;
	margin-top:40px;
	display:flex;
	justify-content:center;
	gap:60px;
}
.page-nav .prev img{
	transform: scaleX(-1);
}

/*---------------------------------
	記事詳細
---------------------------------*/
#entry ul{ margin-top:30px; list-style:disc; }
#entry ul li { list-style:disc; margin-left:1.5em; }
.shopdetail__info a,
#entry a{ transition:opacity .4s;}
#entry a{ text-decoration:underline; }

.shopdetail__info a:hover,
#entry a:hover{
  opacity: .5;
  transition: opacity .4s;
}
.blog-sub-heding{
  font-size: 1.8rem;
  border-bottom: 1px solid #e2e2e2;
  margin-bottom:20px;
  color: #725b07;
}
* + .blog-sub-heding{
  margin-top:30px;
}

/*---------------------------------
	ショップ関連共通パーツ
---------------------------------*/

.map-number{
	min-width: 70px;
	padding: 2px 15px;
	font-size: 1.3rem;
	background: var(--color-yellow);
}

/* 営業時間・ショップ案内詳細・ショップニュース詳細上部 */
.shopguide__content .shopcard,
.shopcard__link{
	width: fit-content;
	display: flex;
	gap: 0 30px;
}
.shopcard__logo{
	width: 100px;
	height: 100px;
	border: 1px solid var(--color-border);
	aspect-ratio: 1 / 1;
}
.shopcard__meta{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.shop__category{
	padding: 2px 15px;
	font-size: 1.3rem;
}
.shop__category--food_sweets{
	background: var(--color-orange);
}
.shop__category--dining{
	background: var(--color-pink);
}
.shop__category--service{
	background: var(--color-green);
}
.shop__category--shopping{
	background: var(--color-blue);
}
.shop__industry{
	font-size: 1.4rem;
	font-weight: 400;
}
.shopcard__title{
	margin-top: 10px;
	letter-spacing: .05em;
	font-weight: 700;
	font-size: 1.8rem;
}
.shop-detail__head{
	padding-bottom: 25px;
	border-bottom: 1px solid var(--color-border);
}
.shop-foot{
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid var(--color-border);
}
.shop-foot .button-octagon{
	margin-inline: auto;
}

@media (min-width: 1025px) {
	.map-number{
		font-size: 1.4rem;
	}
	.shop__category{
		font-size: 1.4rem;
	}
	.shop__industry{
		font-size: 1.5rem;
	}
	.shopcard__title{
		font-size: 2.2rem;
	}
	.shopdetail__head .shopcard{
		width: fit-content;
	}
	.shop-foot{
		margin-top: 80px;
		padding-top: 70px;
	}
}

@media (any-hover: hover) {
	.shopcard__link,
	.shopinfo__link{
		transition: opacity .4s;
	}
	.shopcard__link:hover,
	.shopinfo__link:hover{
		opacity: .5;
	}
}



/*---------------------------------
	営業時間
---------------------------------*/

.hourslist__item{
	padding: 30px 0;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.hourslist-right{
	min-height: 80px;
	padding: 30px 15px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	background: var(--color-gray);
}
.hourslist-right p{
	width: 100%;
}
@media (min-width: 1025px) {
	.hourslist__item {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
	}
	.hours__content .shopcard{
		width: fit-content;
		flex: 1;
	}
	.hourslist-right{
		width: 450px;
		min-height: 100px;
		padding: 30px 25px;
	}
}


/*---------------------------------
	ショップ案内
---------------------------------*/

/* 一覧 */

.shoplist .mt-site-search-container{
	margin-top: 60px;
}
.shoplist .mt-site-search-form{
	justify-content: center;
}
.shoplist__list{
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px 25px;
}
.shoplist__item{
	width: calc(50% - 12.5px);
}
.shoplist__image-area{
	border: 1px solid var(--color-border);
	position: relative;
}
.shoplist__map-number{
	position: absolute;
	top: 0;
	left: 0;
}
.shoplist__logo{
	width: 73px;
	height: 73px;
	border: 1px solid var(--color-border);
	position: absolute;
	bottom: -36px;
	left: 50%;
	transform: translateX(-50%);
}
.shoplist__body{
	margin-top: 60px;
}
.shoplist__category{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 10px;
}
.shoplist__title{
	margin-top: 10px;
	font-weight: 700;
}
@media (min-width: 1025px) {
	.shoplist .mt-site-search-container{
		margin-top: 80px;
	}
	.shoplist .mt-site-search-form__query{
		width: 450px;
		padding: 0 25px;
		font-size: 1.6rem;
	}
	.shoplist .mt-site-search-form__button {
		width: 45px;
		height: 45px;
	}
	.shoplist__list{
		margin-top: 80px;
		gap: 60px 25px;
	}
	.shoplist__item{
		width: calc(25% - 19px);
	}
	.shoplist__title{
		font-size: 1.8rem;
	}
}
@media (any-hover: hover) {
	.shoplist__link{
		transition: opacity .4s;
	}
	.shoplist__link:hover{
		opacity: .5;
	}
}

/* 詳細 */

.shopdetail__body{
	margin-top: 60px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.shopdetail__image{
	text-align: center;
}
.shopdetail__description{
	padding: 15px;
	line-height: 1.8;
	background: var(--color-yellow-lt);
}
.shopdetail__detail{
	padding: 20px 0;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.shopdetail__detail:first-of-type{
	margin-top: 20px;
}
.shopdetail__detail-term{
	font-weight: 700;
}
.shopdetail__note{
	margin-top: 5px;
	display: block;
	font-weight: 400;
	font-size: 1.4rem;
}
.link-btn:nth-child(n + 2){
	margin-top: 10px;
}
.link-btn a{
	width: 100%;
	max-width: 350px;
	height: 54px;
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text);
	background: #fff url(../img/outlink-icon.svg) no-repeat center right 15px / 12px;
	position: relative;
}
.link-btn a::before{
	content: "";
	width: 25px;
	height: 25px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 15px;
}
.link-btn.site a::before{
	background: url(../img/globe.svg) no-repeat center center / 25px;
}
.link-btn.Instagram a::before{
	background: url(../img/instagram.png) no-repeat center center / 25px;
}
.link-btn.tiktok a::before{
	background: url(../img/tiktok-icon.png) no-repeat center center / 25px;
}
.link-btn.x a::before{
	background: url(../img/x-icon.png) no-repeat center center / 25px;
}
.link-btn.youtube a::before{
	background: url(../img/youtube-icon.png) no-repeat center center / 25px;
}
.shopdetail__sublink{
	width: fit-content;
	margin: 20px 0 0 auto;
	padding-right: 20px;
	display: flex;
	font-weight: 700;
	background: url(../img/arrow-icon1.svg) no-repeat center right / 6px;
}
@media (min-width: 1025px) {
	.shopdetail__description{
		padding: 20px;
	}
	.shopdetail__detail{
		flex-direction: row;
	}
	.shopdetail__detail-term{
		width: 40%;
	}
	.shopdetail__detail-desc{
		width: 60%;
	}
}
@media (min-width: 1400px) {
	.shopdetail__body{
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}
	.shopdetail__image{
		width: 490px;
	}
	.shopdetail__info{
		width: 530px;
	}
	.shopdetail__detail-term{
		width: 180px;
	}
	.shopdetail__detail-desc{
		flex: 1;
	}
}
@media (any-hover: hover) {
	.link-btn a{
		transition: opacity .4s;
	}
	.link-btn a:hover{
		opacity: .5;
	}
	.shopdetail__sublink:hover{
		text-decoration: underline;
	}
}

/*---------------------------------
	ショップニュース
---------------------------------*/

.shopnews-date{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.shopnews-date time{
	color: var(--color-link);
	font-size: 1.5rem;
	font-weight: 400;
	font-family: var(--font-num);
}
.shopnews-date .new-label{
	height: 25px;
	padding: 0 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-yellow);
	font-size: 1.3rem;
	font-weight: 500;
	font-family: var(--font-num);
	background: var(--color-yellow);
}
/* 一覧 */
.shopnews-container{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 25px;
}
.shopnews-link{
	width: calc(50% - 13px);
}
.shopnews-img{
	border: 1px solid var(--color-border);
	text-align: center;
	aspect-ratio: 1 / 1;
	background: #fff;
}
.shopnews-img img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.shopnews-list{
	margin-top: 15px;
}
.shopnews-list__title{
	margin-top: 10px;
	text-decoration: underline;
}
.shopnews-list__category{
	margin-top: 10px;
	font-size: 1.4rem;
	font-weight: 400;
	display: flex;
	justify-content: right;
}
@media (min-width: 768px) {
	.shopnews-link{
		width: calc(25% - 19px);
	}
}
@media (min-width: 1024px) {
	.shopnews-container{
		gap: 60px 25px;
	}
	.shopnews-date time,
	.shopnews-date .new-label{
		font-size: 1.6rem;
	}
}
@media (any-hover: hover) {
	.shopnews-link{
		transition: opacity .4s;
	}
	.shopnews-list__title{
		transition: all .4s;
	}
	.shopnews-link:hover{
		opacity: .5;
	}
	.shopnews-link:hover .shopnews-list__title{
		text-decoration: none;
	}
}


/* 詳細 */
.shopnews__article .shopnews-date{
	margin-top: 30px;
	gap: 20px;
	justify-content: flex-start;
}
.shopnews__title{
	margin-top: 20px;
}
.shopnews__body{
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-border);
	line-height: 1.8;
}
.shopnews__body img{
	margin-top: 40px;
	margin-inline: auto;
}

@media (min-width: 1024px) {
	.shopnews__title{
		font-size: 2.6rem;
	}
}

/*---------------------------------
	フロアマップ
---------------------------------*/

.floormap-main{
	margin-top: 50px;
	border: 1px solid var(--color-border);
}
.floormap-top{
	position: relative;
}
.floormap-wrapper{
	height: 460px;
}
.floormap-wrapper .zoomer{
	background: #fff;
}
.floormap-wrapper .zoomer-holder{
	box-shadow: unset;
}
.floormap-wrapper .zoomer-image{
	backface-visibility: hidden;
}
.floormap-control{
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: absolute;
	bottom: 30px;
	right: 30px;
}
.floormap-control__button{
	width: 45px;
	height: 45px;
	border-radius: 100vmax;
	color: #fff;
	font-size: 2.8rem;
	background: var(--color-link);
}
.floormap-bottom{
	padding: 30px 15px;
	background: var(--color-gray);
}
.floormap-list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.floormap-list__item{
	width: calc(50% - 10px);
	display: flex;
	align-items: center;
	gap: 10px;
}
.floormap-list__icon{
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.floormap-list__food{
	background: var(--color-orange);
}
.floormap-list__meal{
	background: var(--color-pink);
}
.floormap-list__service{
	background: var(--color-green);
}
.floormap-list__shopping{
	background: var(--color-blue);
}

@media (min-width: 1025px) {
	.floormap-wrapper{
		height: 580px;
	}
	.floormap-bottom{
		padding: 30px;
	}
	.floormap-list{
		gap: 40px;
		justify-content: center;
	}
	.floormap-list__item{
		width: auto;
		font-size: 1.8rem;
	}
	.floormap__content .button-flex .button-default{
		max-width: 360px;
	}
}

@media (any-hover: hover) {
	.floormap-control__button{
		transition: opacity .4s;
	}
	.floormap-control__button:hover{
		opacity: .5;
	}
}

/*---------------------------------
	アクセス
---------------------------------*/

.access__content .button-default__down{
	height: 60px;
	font-weight: 700;
}
.access-flex{
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.access-map{
	margin-top: 60px;
}
.access-map iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 0.425;
}
.access-flex__left img{
	margin-inline: auto;
	display: block;
}
.access-info{
	display: flex;
	flex-direction: column;
	gap: 5px 30px;
}
.access-info:nth-child(n + 2){
	margin-top: 30px;
}
.access-info__title{
	font-weight: 700;
}
.access-info__desc small{
	margin-top: 5px;
	display: block;
	font-weight: 400;
}
.access-train{
	margin-top: 80px;
}
.access-train .access-flex__left img{
	border: 1px solid var(--color-border);
}
.access-car{
	margin-top: 80px;
}
.access-car p{
	margin-top: 40px;
	line-height: 2;
}
@media (min-width: 1025px) {
	.access__content .button-default__down{
		width: 420px;
		font-size: 2.2rem;
	}
	.access-flex{
		flex-direction: row;
	}
	.access-info__title{
		min-width: 90px;
		height: fit-content;
	}
	.access-map .access-flex{
		gap: 90px;
	}
	.access-map .access-flex__left{
		width: 460px;
	}
	.access-map .access-info{
		flex-direction: row;
	}
	.access-train{
		margin-top: 130px;
	}
	.access-train .access-flex{
		align-items: center;
		gap: 30px 50px;
	}
	.access-train .access-flex__left{
		width: 500px;
	}
	.access-car{
		margin-top: 130px;
	}
}


/*---------------------------------
	お問い合わせ
---------------------------------*/

.contact__content section:nth-child(n + 2){
	margin-top: 80px;
}
.contact-inner{
	margin-top: 40px;
}
.contact-inner .button-default{
	width: 100%;
	margin-top: 30px;
}
.contact-flex{
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-border);
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.contact-info{
	display: flex;
	flex-direction: column;
	gap: 5px 30px;
}
.contact-info .button-default{
	margin-top: 20px;
}
.contact-info__title{
	font-weight: 700;
}
.contact-info__desc small{
	margin-top: 5px;
	display: block;
	font-weight: 400;
}
@media (min-width: 1025px) {
	.contact__content section:nth-child(n + 2){
		margin-top: 130px;
	}
	.contact-inner p{
		text-align: center;
		line-height: 2;
	}
	.contact-inner .button-default{
		width: 360px;
		margin-inline:auto;
	}
	.contact-flex{
		width: 1000px;
		margin-inline: auto;
		margin-top: 40px;
		padding-top: 40px;
		flex-direction: row;
		justify-content: center;
	}
}

/*---------------------------------
	サイトマップ
---------------------------------*/

.sitemap-list{
	display: flex;
	flex-direction: column;
	gap: 10px 30px;
}
.sitemap-list__link,
.sitemap-list__text{
	width: 100%;
	padding: 15px 0;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	gap: 0 30px;
}
.sitemap-list__link{
	background: url(../img/arrow-icon1.svg) no-repeat center right / 6px;
}
.sitemap-list__link .octagon,
.sitemap-list__text .octagon{
	width: 45px;
	height: 45px;
}
.sitemap-sub{
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px 25px;
}
.sitemap-sub__link{
	padding-right: 25px;
	background: url(../img/arrow-icon1.svg) no-repeat center right / 6px;
}
@media (min-width: 1025px) {
	.sitemap-list{
		flex-direction: row;
		gap: 60px 40px;
		flex-wrap: wrap;
	}
	.sitemap-list__item{
		width: calc(100% / 3 - 27px);
	}
	.sitemap-sub{
		flex-direction: row;
		flex-wrap: wrap;
	}
}
@media (any-hover: hover) {
	.sitemap-sub__link:hover{
		text-decoration: underline;
	}
}