@charset "UTF-8";

/* ----------------------------------
 店舗一覧
---------------------------------- */
#freepage_store .block-freepage-frame { width: auto; max-width: calc(var(--layout1-max-width) + (var(--layout1-base-padding) * 2)); padding: 0 var(--layout1-base-padding); margin: 0 auto 50px;}
#freepage_store h1 { padding: 0; margin: 0 0 60px; border: none; font-family: var(--font-family-ship); font-size: 24px; font-weight: 500;}
#freepage_store #page_anchor { margin: 0 0 120px;}
#freepage_store #page_anchor .nav-list { display: flex; justify-content: center; flex-wrap: wrap; column-gap: 20px;}
#freepage_store #page_anchor .nav-list li { width: calc((100% - 20px * 2)/ 3); margin: 0 0 20px;}
#freepage_store #page_anchor .nav-list li a { 
	width: 100%;
	height: 50px;
	padding: 5px 20px;
	border: var(--border-solid1);
	font-family: var(--font-family-stix);
  font-size: 14px;
  font-weight: 500;
	font-style: italic;
	text-decoration: none;
	display: flex;
	align-items: center;
	transition: var(--transition);
	position: relative;
}
#freepage_store #page_anchor .nav-list li a::after {
	content: '';
	width: 10px;
	height: 10px;
	border-left: var(--border-solid1);
	border-top: var(--border-solid1);
	position: absolute;
	top: calc(50% - 7px);	
	right: 20px;
	transform: rotate(-135deg);
	transition: var(--transition);
}
#freepage_store section { margin: 0 0 120px;}
#freepage_store section h2.section-title {
  margin: 0 0 60px;
  padding: 0;
  border: none;
	font-family: var(--font-family-stix);
  font-size: 22px;
  font-weight: 500;
	font-style: italic;
  line-height: 1.0;
  letter-spacing: 0.04em;
  text-align: center;
}

/* POP UP */
#freepage_store #popup_slider { position: relative; overflow: visible;}
#freepage_store #popup_slider.swiper-horizontal { padding: 0 0 160px; position: relative;}
#freepage_store #popup_slider .swiper-button-prev { bottom: 60px;}
#freepage_store #popup_slider .swiper-button-next { bottom: 60px;}
#freepage_store .popup-list .popup-card { width: 540px; max-width: 540px;}
#freepage_store .popup-list .popup-card a { text-decoration: none; display: block; transition: var(--transition);}
#freepage_store .popup-list .popup-card a:hover { opacity: var(--opacity);}
#freepage_store .popup-list .popup-card .image { margin: 0 0 16px;}
#freepage_store .popup-list .popup-card .date { margin: 0 0 4px; font-family: var(--font-family-lato); font-size: 12px; font-weight: 500;}
#freepage_store .popup-list .popup-card .comment { margin: 0; font-size: 12px; font-weight: 500;}

/* ONLINE SHOP ・ SELECT SHOP */
#freepage_store .shop-list { display: flex; justify-content: center; flex-wrap: wrap; column-gap: 40px;}
#freepage_store .shop-list .shop-card { width: calc((100% - 40px * 3)/ 4); margin: 0 0 40px;}
#freepage_store .shop-list .shop-card a { text-decoration: none; display: block; transition: var(--transition);}
#freepage_store .shop-list .shop-card a:hover { opacity: var(--opacity);}
#freepage_store .shop-list .shop-card .logo-image { width: 100%; padding: 100% 0 0 0; margin: 0 0 13px; position: relative;}
#freepage_store .shop-list .shop-card .logo-image figure { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; background: #FFF; position: absolute; top: 0; left: 0; right: 0; bottom: 0;}
#freepage_store .shop-list .shop-card .logo-name { font-family: var(--font-family-ship); font-size: 12px; font-weight: 500; text-align: center; line-height: var(--line-height-middle);}

/* SELECT SHOP */
#freepage_store .section-sub-lead { 
	margin: 0 0 32px;
	font-family: var(--font-family-ship);
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	line-height: var(--line-height-middle);
	position: relative;
	top: -20px;
}
#freepage_store .notice-memo-list { margin: 60px 0 0; display: flex; justify-content: center; column-gap: 20px;}
#freepage_store .notice-memo-list li { font-family: var(--font-family-ship); font-size: 10px; font-weight: 500; text-align: center;}

/* SELECT SHOP テキストリスト（HTML直書き分の整形） */
/* POP UPコメントアウト時の閉じタグずれで枠外に出たsectionを枠と同じ幅に揃える */
#freepage_store > section { width: auto; max-width: calc(var(--layout1-max-width) + (var(--layout1-base-padding) * 2)); padding: 0 var(--layout1-base-padding); margin: 0 auto 120px;}
#freepage_store #sec_select .section-sub-lead + br,
#freepage_store #sec_select center > p + br { display: none;}
#freepage_store #sec_select center {
	display: block;
	max-width: 800px;
	margin: 0 auto;
	font-family: var(--font-family-ship);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: left;
}
#freepage_store #sec_select center > p { margin: 0 0 36px;}
/* 店名：ブロック化して上に区切り線（WH DAFTのようにpで囲まれていない店名にも効くようaに付与） */
#freepage_store #sec_select center > p > a,
#freepage_store #sec_select center > a {
	display: block;
	padding: 36px 40px 0 0;
	margin: 0 0 -12px; /* 店名直後の<br>で生じる空行を詰める */
	border-top: var(--border-solid2);
	color: var(--color-base);
	font-size: 18px;
	text-decoration: none;
	transition: var(--transition);
	position: relative;
}
#freepage_store #sec_select center > p:first-child > a { padding-top: 0; border-top: none;}
#freepage_store #sec_select center > p > a::first-letter,
#freepage_store #sec_select center > a::first-letter { font-size: 0;} /* 先頭の「■」を非表示 */
#freepage_store #sec_select center a:hover { opacity: var(--opacity);}
#freepage_store #sec_select center b { font-weight: 500;}
#freepage_store #sec_select center u { text-decoration: none;}
/* リンクとわかるよう店名の右端に矢印、ホバーで下線＋矢印が右へ */
#freepage_store #sec_select center > p > a::after,
#freepage_store #sec_select center > a::after,
#freepage_store #sec_online .shop-list .shop-card a::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: var(--border-solid1);
	border-right: var(--border-solid1);
	position: absolute;
	right: 10px;
	bottom: 12px;
	transform: rotate(45deg);
	transition: var(--transition);
}
#freepage_store #sec_select center a:hover::after,
#freepage_store #sec_online .shop-list .shop-card a:hover::after { right: 4px;}
#freepage_store #sec_select center a:hover u,
#freepage_store #sec_online .shop-list .shop-card a:hover .logo-name { text-decoration: underline; text-underline-offset: 4px;}
#freepage_store #sec_select center .notice-memo-list { margin: 60px 0 0;}

/* ONLINE SHOP テキストリスト（ロゴ画像なし） */
#freepage_store #sec_online .shop-list { display: block; max-width: 800px; margin: 0 auto;}
#freepage_store #sec_online .shop-list .shop-card { width: 100%; margin: 0; border-bottom: var(--border-solid2);}
#freepage_store #sec_online .shop-list .shop-card + .shop-card { margin-top: 36px;}
#freepage_store #sec_online .shop-list .shop-card a { padding: 0 40px 36px 0; position: relative;}
#freepage_store #sec_online .shop-list .shop-card a::after { bottom: calc(36px + 12px);}
#freepage_store #sec_online .shop-list .shop-card .logo-image { display: none;}
#freepage_store #sec_online .shop-list .shop-card .logo-name { font-size: 18px; text-align: left; letter-spacing: 0.04em;}

@media screen and (max-width: 1000px) {
	#freepage_store .pane-topic-path.top { margin-bottom: 10px;}
	#freepage_store .block-freepage-frame { padding: 0 var(--layout-base-padding); margin: 0 auto 50px;}
	#freepage_store h1 { margin-bottom: 30px;}
	#freepage_store #page_anchor { margin: 0 0 80px;}
	#freepage_store #page_anchor .nav-list { display: block;}
	#freepage_store #page_anchor .nav-list li { width: 100%; margin: 0 0 10px;}
	#freepage_store section { padding: 0 0 30px; margin: 0 0 60px;}
	#freepage_store section h2.section-title { margin: 0 0 30px;}
	
	/* POP UP */
	#freepage_store #popup_slider.swiper-horizontal { padding: 0 0 70px;}
	#freepage_store #popup_slider .swiper-button-prev { bottom: 30px;}
	#freepage_store #popup_slider .swiper-button-next { bottom: 30px;}
	#freepage_store .popup-list .popup-card { width: calc(100vw - 80px);}

	/* ONLINE SHOP ・ SELECT SHOP */
	#freepage_store .shop-list { column-gap: 20px;}
	#freepage_store .shop-list .shop-card { width: calc(50% - 10px); margin: 0 0 30px;}
	
	/* SELECT SHOP */
	#freepage_store .section-sub-lead { top: -10px;}
	#freepage_store .notice-memo-list { margin: 40px 0 0; flex-direction: column;}
	#freepage_store .notice-memo-list li + li { margin-top: 5px;}

	/* SELECT SHOP テキストリスト */
	#freepage_store > section { padding: 0 var(--layout-base-padding) 30px; margin: 0 auto 60px;}
	#freepage_store #sec_select center { font-size: 13px;}
	#freepage_store #sec_select center > p { margin-bottom: 24px;}
	#freepage_store #sec_select center > p > a,
	#freepage_store #sec_select center > a { padding-top: 24px; font-size: 16px;}
	#freepage_store #sec_select center > p:first-child > a { padding-top: 0;}
	#freepage_store #sec_select center .notice-memo-list { margin-top: 40px;}
	#freepage_store #sec_online .shop-list .shop-card { width: 100%; margin: 0;}
	#freepage_store #sec_online .shop-list .shop-card + .shop-card { margin-top: 24px;}
	#freepage_store #sec_online .shop-list .shop-card a { padding-bottom: 24px;}
	#freepage_store #sec_online .shop-list .shop-card a::after { bottom: calc(24px + 10px);}
	#freepage_store #sec_online .shop-list .shop-card .logo-name { font-size: 16px;}
}
