@charset "UTF-8";
/* common.css */


/* ========== 共通設定 ========== */
/* 幅・セクション余白 */
.sec_pad {
	padding-left:  80px;
	padding-right: 80px;
}
.wrap {
	max-width: 1100px;
	margin-left:  auto;
	margin-right: auto;
}

/* 表示・非表示 */
.pc_blk { display:block !important; }
.sp_blk { display:none !important;  }
.pc_inline { display:inline !important; }
.sp_inline { display:none !important;   }


/* 書体 */
.ff_notos  { font-family:noto-sans-cjk-jp, "Noto Sans JP", sans-serif; }
.ff_mincho { font-family:"hiragino-mincho-pron", "Noto Serif JP", sans-serif; }

/* 文字色 */
.color_pink { color:#e4007f; }


/* ============ 余白 ============ */
.marXXL_T { margin-top:100px !important; }
.marXL_T  { margin-top: 80px !important; }
.marL_T   { margin-top: 72px !important; }
.marM_T   { margin-top: 60px !important; }
.marS_T   { margin-top: 40px !important; }
.marXS_T  { margin-top: 32px !important; }
.marXXS_T { margin-top: 16px !important; }

.marXXL_B { margin-bottom:100px !important; }
.marXL_B  { margin-bottom: 80px !important; }
.marL_B   { margin-bottom: 72px !important; }
.marM_B   { margin-bottom: 60px !important; }
.marS_B   { margin-bottom: 40px !important; }
.marXS_B  { margin-bottom: 32px !important; }
.marXXS_B { margin-bottom: 16px !important; }

.padXXL_T { padding-top:100px !important; }
.padXL_T  { padding-top: 80px !important; }
.padL_T   { padding-top: 72px !important; }
.padM_T   { padding-top: 60px !important; }
.padS_T   { padding-top: 40px !important; }
.padXS_T  { padding-top: 32px !important; }
.padXXS_T { padding-top: 16px !important; }

.padXXL_B { padding-bottom:100px !important; }
.padXL_B  { padding-bottom: 80px !important; }
.padL_B   { padding-bottom: 72px !important; }
.padM_B   { padding-bottom: 60px !important; }
.padS_B   { padding-bottom: 40px !important; }
.padXS_B  { padding-bottom: 32px !important; }
.padXXS_B { padding-bottom: 16px !important; }



/* ========== フレーム ========== */
.frame_wrap {
	width: 100%;
	position: relative;
}
/* --- フレーム装飾 上下 --- */
.frame_deco,
.frame_deco span,
.frame_deco:before,
.frame_deco:after {
	height: 100px;
}
.frame_deco {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.frame_deco span {
	width: 100%;
	display: block;
	background-repeat: repeat-x;
	background-size: contain;
}
.frame_deco:before,
.frame_deco:after   {
	content: "";
	width:     100px;
	min-width: 100px;
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
}
/* 上 装飾 */
.fdeco_top {
	align-items: flex-start;
}
.fdeco_top span {
	background-image: url(../images/frame_bort.png);
	background-position: left -1px top;
}
.fdeco_top:before {
	background-image: url(../images/frame_tl.png);
	background-position: left top;
}
.fdeco_top:after {
	background-image: url(../images/frame_tr.png);
	background-position: left top;
}
/* 下 装飾 */
.fdeco_bottom {
	align-items: flex-end;
}
.fdeco_bottom span {
	background-image: url(../images/frame_borb.png);
	background-position: left -1px bottom;
}
.fdeco_bottom:before {
	background-image: url(../images/frame_bl.png);
	background-position: left bottom;
}
.fdeco_bottom:after {
	background-image: url(../images/frame_br.png);
	background-position: left bottom;
}

/* --- フレーム装飾 左右 --- */
.frame_wrap:before,
.frame_wrap:after {
	content: "";
	width:  100px;
	height: calc(100% - 200px);
	position: absolute;
	top: 100px;
	background-repeat: repeat-y;
	background-size: contain;
}


/* 左 装飾 */
.frame_wrap:before {
	left: 0;
	background-image: url(../images/frame_borl.png);
	background-position: left top -1px;
}
/* 右 装飾 */
.frame_wrap:after {
	right: 0;
	background-image: url(../images/frame_borr.png);
	background-position: right top -1px;
}

/* --- フレーム内 コンテンツ --- */
.frame_inner {
	width: calc(100% - 200px);
	position: relative;
	margin-left:  auto;
	margin-right: auto;
	z-index: 1;
}
.frame_inner:after {
	content: "";
	width:  100%;
	height: 100%;
	display: block;
	position: absolute;
	top:  0;
	left: 0;
	background-color: #fff;
	z-index: -1;
	transform: scale(1.01);
	transform-origin: center;
}

/* --- 装飾のサイズ調整 --- */
.frame_deco,
.frame_deco span,
.frame_deco:before,
.frame_deco:after {
	height: clamp(70px,7vw,100px);
}
.frame_deco:before,
.frame_deco:after   {
	width:     clamp(70px,7vw,100px);
	min-width: clamp(70px,7vw,100px);
}
.frame_wrap:before,
.frame_wrap:after {
	width:  clamp(70px,7vw,100px);
	height: calc(100% - clamp(70px,7vw,100px)*2 + 1px);
	top:    calc(clamp(70px,7vw,100px) - 1px);
}
.frame_inner {
	width: calc(100% - clamp(60px,6vw,100px)*2);
}



/* ========== 開催概要 ========== */
.sec_kaisai {
	background-image: url(../images/ptn_yellow.png);
	background-repeat: repeat;
	background-size: 148px;
	background-position: left bottom 4px;
}
/* 画像見出し */
.h2_img {
	width: 100%;
	height: 12vw;
	max-height: 130px;
	min-height:  70px;
	position: relative;
	margin-top:    0;
	margin-bottom: -80px;
	margin-bottom: calc(clamp(40px,8vw,100px)*-1);
	z-index: 2;
}
.h2_img img {
	width:  100%;
	height: 100%;
	object-fit: contain;
	object-position: center top;
}
/* ピンク見出し */
.h3_ttl_pink {
	width: 100%;
	max-width: 830px;
	min-width: fit-content;
	font-size: 65px;
	font-size: min(5vw,65px);
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	padding: .75em 0;
	color: #e4007f;
}
.h3_ttl_pink:before,
.h3_ttl_pink:after  {
	content: "";
	width: 100%;
	height: 4px;
	display: block;
	background-image: url(../images/dot_pink.svg);
	background-repeat: repeat-x;
	background-position: center;
	background-size: contain;
}
.h3_ttl_pink:before {
	margin-bottom: .15em;
}
.h3_ttl_pink:after {
	margin-top: .15em;
}
.h3_ttl_pink span {
	width:  98%;
	height: 100%;
	max-width: 800px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top:  0;
}
.h3_ttl_pink span:before,
.h3_ttl_pink span:after  {
	content: "";
	width:  35%;
	height: 30vw;
	max-height: 370px;
	min-height: 240px;
	display: block;
	position: absolute;
	top: -7%;
	background-repeat: no-repeat;
	background-size: contain;
}
.h3_ttl_pink span:before {
	left: -15%;
	background-image: url(../images/title_bgleft_pc.png);
	background-position: left center;
}
.h3_ttl_pink span:after  {
	right: -15%;
	background-image: url(../images/title_bgright_pc.png);
	background-position: right center;
}
.h3_ttl_pink img {
	width:  100%;
	height: 22vw;
	max-height: 260px;
	min-height: 140px;
	display: block;
	object-fit: contain;
	object-position: center;
}
/* 太字テキスト */
.bold_cont {
	font-size: 32px;
	font-size: clamp(24px,2.4vw,32px);
	font-family: noto-sans-cjk-jp, "Noto Sans JP", sans-serif;
	font-weight: 900;
	text-align: center;
	color: #000;
	margin: 0;
}
.bold_cont + .bold_cont {
	margin-top: .5em;
}
.bold_cont strong {
	font-size: 1.3em;
	color: #e4007f;
}
.sec_shop .bold_cont strong {
	color: #000;
}

/* 開催情報 */
.dl_info {
	max-width: 660px;
	margin: 0 auto;
}
.dl_info div {
	width: 100%;
	font-size: 21px;
	font-size: clamp(18px,1.8vw,21px);
	font-family: noto-sans-cjk-jp, "Noto Sans JP", sans-serif;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.dl_info div + div {
	margin-top: 1.5em;
}
.dl_info dt {
	min-width: fit-content;	
	font-size: 1em;
	font-weight: 900;
	padding: .15em .5em .25em;
	color: #fff;
	background-color: #000;
}
.dl_info dd {
	font-size: 25px;
	font-size: clamp(22px,2.2vw,25px);
	font-weight: 900;
	margin-left: 1em;
	color: #000;
}



/* ====== イラスト付き見出し ====== */
.head_illust {
	width: 97%;
	max-width: 920px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-left:  auto;
	margin-right: auto;
}
.head_illust img {
	display: block;
}
.head_illust:before,
.head_illust:after   {
	content: "";
	width:  19vw;
	height: 26vw;
	max-width:  230px;
	max-height: 290px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transform: translateY(-10%);
}
.head_illust:before {
	left: 0;
}
.head_illust:after  {
	right: 0;
}
/* ノベルティ紹介 イラスト */
.sec_novelty .head_illust:before {
	background-image: url(../images/illust_aqua.png);
}
.sec_novelty .head_illust:after  {
	background-image: url(../images/illust_ruby.png);
}
/* 対象店舗一覧 */
.sec_shop .head_illust:before {
	background-image: url(../images/illust_kana.png);
}
.sec_shop .head_illust:after  {
	background-image: url(../images/illust_mem-cho.png);
}




/* ======= ノベルティ紹介 ======= */
.sec_novelty {
	position: relative;
	z-index: 1;
}
.sec_novelty:before {
	content: "";
	width: 100%;
	height: 85px;
	display: block;
	margin-top: -30px;
	background-image: url(../images/ptn_white.png);
	background-repeat: repeat-x;
	background-size: 148px;
	background-position: left top;
}
.sec_novelty:after {
	content: "";
	width: 100%;
	height: calc(100% - 25px);
	display: block;
	position: absolute;
	top: 25px;
	left: 0px;
	background-image: url(../images/bg_line.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	z-index: -1;
}
/* 見出し */
.sec_novelty .h2_img {
	margin-bottom: calc(clamp(40px,6vw,80px)*-1);
}
.radius_box > h3:first-of-type {
	padding-top: 120px;
	padding-top: clamp(20px,3vw,40px);
}
.radius_box h3 {
	margin-bottom: 1em;
}
/* border box */
.radius_box {
	position: relative;
	padding: clamp(30px,4vw,50px);
	border: 3px solid #e4007f;
	border-radius: 25px;
	overflow: hidden;
	z-index: 1;
	background-color: rgba(255,255,255,.8);
}
.radius_box:before {
	content: "";
	width:  100%;
	height: 100%;
	display: block;
	position: absolute;
	top:  0;
	left: 0;
	background-image: url(../images/ptn_square.svg);
	background-repeat: repeat;
	background-size: 20px;
	opacity: .3;
	z-index: -1;
}
/* ご注意 */
.dl_attention {
	width: fit-content;
	font-family: noto-sans-cjk-jp, "Noto Sans JP", sans-serif;
	color: #000;
	margin: 0 auto;
}
.dl_attention dt {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: .75em;
}
.dl_attention dd {
	font-size: 14px;
	text-align: justify;
	line-height: 1.7;
	margin-left: 0;
}

/* --- ノベルティスライダー --- */
.swp-wrapper {
	align-items: stretch;
	padding-bottom: 0;
}
.swp_card {
	width: 90%;
	max-width: 800px;
	font-family: noto-sans-cjk-jp, "Noto Sans JP", sans-serif;
	position: relative;
	margin-left:  auto;
	margin-right: auto;
	padding: 0 !important;
}
.swp-slide {
	height: auto;
	border: 4px solid #e4007f;
	border-radius: 30px;
	background-color: #e4007f;
	overflow: hidden;
}
/* スライド自体に余白 */
.swp .slick-slide {
  margin: 0 10px;
}
/* はみ出た分を隠す */
.swp .slick-list {
  margin: 0 -10px;
}
/* 
.swp-slide + .swp-slide {
	margin-top: 40px;
} */


/* スライダー タイトル（●円〜●円のご飲食でプレゼント！） */
.swp-title,
.swp-cont {
	padding: 20px;
}
.swp-title {
	width: 100%;
	min-height: 5em;
	font-size: 20px;
	font-size: clamp(18px,2vw,20px);
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: center;
	padding-top:    15px;
	padding-bottom: 15px;
	background-color: #fff;
}
.swp-title h4 {
	font-size: 1em;
	font-feature-settings: "palt";
	font-weight: 900;
	text-align: center;
	margin: auto;
}
.swp-title h4 .color_pink {
	font-size: 24px;
	font-size: clamp(18px,2vw,24px);
}
.swp-title h4 strong {
	font-size: 1.5em;
	line-height: 1;
}
.swp-title h4 small {
	font-size: .58em;
}

/* スライダー サブタイトル（先着●●個） */
.piece_box {
	width: fit-content;
	min-width: fit-content;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	margin-left: 10px;
	padding: 5px 15px 10px;
	padding-left:  clamp(10px,1vw,15px);
	padding-right: clamp(10px,1vw,15px);
	border-radius: 10px;
	background-color: #e4007f;
}
.piece_box dt {
	font-size: 16px;
	font-size: clamp(12px,1.2vw,16px);
	font-weight: 900;
	line-height: 1;
	margin-right: .5em;
	padding: .25em .75em .35em;
	color: #e4007f;
	border-radius: 50px;
	background-color: #fff563;
	transform: translateY(.15em);
}
.piece_box dd {
	font-size: 24px;
	font-size: clamp(14px,1.4vw,24px);
	font-weight: 900;
	margin-left: 0;
	color: #fff563;;
}
.piece_box dd strong {
	font-size: 1.6em;
	line-height: 1;
}
/* prev・next */
.prevnext_wrap {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: absolute;
	top:  0;
	left: 0;
	pointer-events: none;
	padding: 0 !important;
}
.swp-button {
	width:  60px;
	height: 60px;
	display: block;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: 4px 4px 0px -1px rgba(228,0,127,0.3);
	border-radius: 60px;
	z-index: 2;
	pointer-events: all;
}
.swp-button svg {
	display: none;
}
.swp-button-prev {
	transform: translate(-40px,20px);
	background-image: url(../images/slide_prev.svg);
}
.swp-button-next {
	transform: translate(40px,20px);
	background-image: url(../images/slide_next.svg);
}


/* --- サムネイルギャラリー --- */
.swp-cont {
	padding-top: 20px;
}
/* ノベルティ見出し */
.novelty_head {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 20px;
}
.novelty_icon {
	width:     7vw;
	max-width: 70px;
	min-width: 50px;
	margin-right: 20px;
}
.novelty_head dd {
	font-size: 42px;
	font-size: clamp(30px,3.5vw,42px);
	font-family: "hiragino-mincho-pron", "Noto Serif JP", sans-serif;
	font-weight: bold;
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	color: #fff;
}
.novelty_head dd small {
	font-size: .57em;
}
/* wrap */
.gallery-wrap {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	padding: 0;
}
/* 大 表示画像 */
.gallery {
	width: 40%;
	margin:  0;
	padding: 0;
	margin-right: 20px;
}
.gallery_note {
	font-size: 14px;
	text-align: right;
	margin-bottom: 0;
	color: #fff;
}
.gallery .slick-slide {
	height: auto;
	overflow: hidden;
	border-radius: 10px;
}
/* 小 サムネイル */
.choice-btn,
.choice-btn ul,
.choice-btn li {
	line-height: 1;
}
.choice-btn {
	width: 60%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin:  0;
	padding: 0;
}
.choice-btn li {
	width: calc(100%/4 - 8px);
	height: auto;
	aspect-ratio: 1/1;
	list-style-type: none !important;
	margin: 0 4px 8px;
	border-radius: 5px;
	overflow: hidden;
}
.choice-btn li.is-active {
	opacity: .37;
}
.choice-btn li img {
	width:  100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}
/* 大 prev・next */
@media screen and (min-width:877px) {
	.gallery .slick-arrow {
		display: none !important;
	}
}


/* ======= 対象店舗一覧 ======== */
.sec_shop {
	font-family: noto-sans-cjk-jp, "Noto Sans JP", sans-serif;
	background-image: url(../images/ptn_check.jpg);
	background-size:  100px;
	background-repeat: repeat;
	background-position: top center;
}
.sec_shop h3 {
	margin-top: 0;
}
.sec_shop h3 + p {
	font-size: 18px;
	line-height: 1.7;
	text-align: center;
	margin: .25em 0 0;
}
.sec_shop p + h3:before {
	content: "";
	width: 80%;
	max-width: 650px;
	height: 4px;
	display: block;
	margin: .75em auto;
	background-image: url(../images/dot_black.svg);
	background-repeat: repeat-x;
	background-position: center;
	background-size: contain;
}

/* ---------- タブの機能 ---------- */
/* 装飾のために非表示 */
.sec_shop .switch {
	display: none;
}
/* ボタン */
.tabBtn {
	display: flex;
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}
.tabBtn li {
	width: calc(100%/2 + 1px);
	margin-left: -1px;
}
.tabBtn a {
	display: block;
	cursor: pointer;
	padding: 15px 0 10px;
	text-decoration: none;
	border: 1px solid #000;
	border-top-color:   transparent;
	border-left-color:  transparent;
	border-right-color: transparent;
	border-radius: 20px 20px 0 0;
}

/* 動作のためのCSS */
.tabContents section {
	display: none;
}
.tabContents section {
	/* transition: opacity .3s; */
}
.tabBtn a[href="#tab-1"],
#tab-1:target ~ .tabBtn a[href="#tab-1"],
#tab-2:target ~ .tabBtn a[href="#tab-2"],
#tab-3:target ~ .tabBtn a[href="#tab-3"],
#tab-4:target ~ .tabBtn a[href="#tab-4"] {
	background: #fff;
	border-color: #000;
	border-bottom-color: transparent;
}
.switch:target ~ .tabBtn a[href="#tab-1"] {
	background: none;
	border-color: transparent;
	border-bottom-color: #000;
}
.tabContents #section-1,
#tab-1:target ~ .tabContents #tabcnt-1,
#tab-2:target ~ .tabContents #tabcnt-2,
#tab-3:target ~ .tabContents #tabcnt-3,
#tab-4:target ~ .tabContents #tabcnt-4 {
	background: white;
	display: block;
}
.switch:target ~ .tabContents #section-1 {
	background: none;
	display: none;
}

/* ------- タブデザイン調整 -------- */
/* ボタン */
.tabBtn li {
	font-weight: 900;
	position: relative;
}
/* 文字 */
.tabBtn li span {
	font-size: 22px;
	font-size: clamp(18px,2.2vw,22px);
	letter-spacing: .05em;
}
.tabBtn li small {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .05em;
	display: block;
}

/* -------- 背景装飾 ----------- */
/* 左右 */
.sec_shop .bg_wrap {
	width: 100%;
	position: relative;
}
.sec_shop .bg_wrap:before,
.sec_shop .bg_wrap:after {
	content: "";
	width:  17vw;
	height: 100%;
	max-width: 230px;
	display: block;
	position: absolute;
	top: 0;
	background-image: url(../images/shop_deco_lr.svg);
	background-repeat: repeat-y;
	background-size: contain;
	background-position: top center;
	z-index: 0;
}
.sec_shop .bg_wrap:before {
	left:  -80px;
}
.sec_shop .bg_wrap:after  {
	right: -80px;
}

/* 上下 */
.sec_shop .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
.sec_shop .wrap:before,
.sec_shop .wrap:after   {
	content: "";
	width:  100%;
	height: 150px;
	display: block;
	position: absolute;
	background-repeat: repeat-x;
	background-size: contain;
	z-index: 0;
}
.sec_shop .wrap:before {
	top: 0;
	background-image: url(../images/shop_deco_top.svg);
	background-position: center top;
}
.sec_shop .wrap:after  {
	bottom: 0;
	background-image: url(../images/shop_deco_bottom.svg);
	background-position: center bottom;
}


/* -------- お店の一覧 --------- */
.shop_flex {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	align-items: stretch;
	justify-content: flex-start;
	overflow: hidden;
}
.shop_card {
	width: calc(100%/3  - 25px/1.5);
	position: relative;
	margin-right:   25px;
	padding-top: 30px;
	padding-bottom: 40px;
}
.shop_card:nth-of-type(-n+3) {
	padding-top: 0;
}
.shop_card:nth-of-type(3n) {
	margin-right: 0;
}
.shop_card:nth-of-type(3n+1):after {
	content: "";
	min-width: 100vw;
	height: 2px;
	display: block;
	position: absolute;
	top:   0;
	bottom: 0;
	background-color: #e6e6e6;
}
.shop_card:first-of-type:after{
	content: none;
}
/* 店名 */
.shop_card h4 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 .75em;
}
.shop_card h4 span {
	display: inline-block;
}
.shop_card h4 .num {
	width:  45px;
	height: 45px;
	min-width:  45px;
	min-height: 45px;
	font-size: 10px;
	font-weight: normal;
	display:flex;
	flex-direction: column;
	align-self: flex-start;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
	color: #fff;
	background-color: #999999;
	border-radius: 100px;
}
/* 写真 */
.shop_card .img_wrap {
	line-height: 1;
	display: block;
	margin-bottom: 15px;
	overflow: hidden;
	border-radius: 10px;
}
.shop_card .img_wrap img {
	width:  100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* 店舗情報 メニュー・グッズ */
.shop_card dl {
	margin: 0;
}
.shop_card dt {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom: .5em;
}
.shop_menu dt span,
.shop_goods dt {
	width: fit-content;
	font-size: 10px;
	font-weight: bold;
	display: block;
	padding: .25em 1em .35em;
	color: #fff;
	border-radius: 2.5px;
	background-color: #4fa200;
}
.shop_menu dt span {
	margin-right: .75em;
}
.shop_menu dt small {
	font-size: 10px;
	font-weight: 500;
	margin-top: .35em;
	color: #4fa200;
}
.shop_menu .menu_lunch span {
	background-color: #f15a24;
}
.shop_menu .menu_lunch small {
	color: #f15a24;
}
.shop_menu .menu_dinner span {
	background-color: #0071bc;
}
.shop_menu .menu_dinner small {
	color: #0071bc;
}
.shop_card dd {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	margin-left: 0;
}
.shop_card .img_wrap.border {
	border: .5px solid #000;
}
.shop_card dd.price {
	font-size: 12px;
	margin-top: .25em;
}
.shop_card dd.price + .menu {
	margin-top: .25em;
}
.shop_card dd.menu small {
	font-size: 10px;
    font-feature-settings: "palt";
    letter-spacing: .05em;
	display: block;
}
/* メニュー */
.shop_menu + .shop_menu {
	padding-top: 10px;
}
dl.shop_goods {
	margin-top:  10px;
	padding-top: 10px;
	border-top: 1px dotted #000;
}
/* グッズ */
.shop_goods dt {
	background-color: #e44ba0;
}
.shop_goods dd {
	color: #e44ba0;
}


/* ========== 所在地情報 ========== */
.sec_info {
	color: #fff;
	background-color: #595757;
}
.info_flex {
	width: 100%;
	max-width: 750px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
}
.info_flex .cont_wrap {
	width: 50%;
	margin-right: 30px;
}
.info_flex .cont_wrap img {
	width: 100%;
	height: 60px;
	object-fit: contain;
	object-position: left center;
}
.info_flex .cont_wrap p {
	line-height: 1.7;
}
.info_flex .img_wrap  {
	width: 50%;
}










/* ========== バナーエリア ========== */
/* バナー */
.bnr_flex {
	width: 100%;
	max-width: 750px;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
	margin: 0 auto;
}
.bnr_flex a {
	width: 47%;
	display: block;
	transition: opacity .3s;
}
.bnr_flex a:first-of-type {
	width: 53%;
	margin-right: 30px;
}
.bnr_flex a:hover {
	opacity: .78;
}
/* コピーライト */
.copyright_cont {
	width: 100%;
	font-size: 14px;
	text-align: center;
	margin: 0;
}























/* メジャーブレイクポイント */
@media screen and (max-width:876px) {
	/* ========== 共通設定 ========== */
	/* 幅・セクション余白 */
	.sec_pad {
		padding-left:  16px;
		padding-right: 16px;
	}
	.wrap {
		max-width: 450px;
	}



	/* 表示・非表示 */
	.pc_blk { display:none !important;  }
	.sp_blk { display:block !important; }
	.pc_inline { display:none !important;   }
	.sp_inline { display:inline !important; }



	/* ============ 余白 ============ */
	.marXXL_T-SP { margin-top:100px !important; }
	.marXL_T-SP  { margin-top: 80px !important; }
	.marL_T-SP   { margin-top: 72px !important; }
	.marM_T-SP   { margin-top: 60px !important; }
	.marS_T-SP   { margin-top: 40px !important; }
	.marXS_T-SP  { margin-top: 32px !important; }
	.marXXS_T-SP { margin-top: 16px !important; }
	.mar0_T-SP   { margin-top:  0px !important; }

	.marXXL_B-SP { margin-bottom:100px !important; }
	.marXL_B-SP  { margin-bottom: 80px !important; }
	.marL_B-SP   { margin-bottom: 72px !important; }
	.marM_B-SP   { margin-bottom: 60px !important; }
	.marS_B-SP   { margin-bottom: 40px !important; }
	.marXS_B-SP  { margin-bottom: 32px !important; }
	.marXXS_B-SP { margin-bottom: 16px !important; }
	.mar0_B-SP   { margin-bottom:  0px !important; }

	.padXXL_T-SP { padding-top:100px !important; }
	.padXL_T-SP  { padding-top: 80px !important; }
	.padL_T-SP   { padding-top: 72px !important; }
	.padM_T-SP   { padding-top: 60px !important; }
	.padS_T-SP   { padding-top: 40px !important; }
	.padXS_T-SP  { padding-top: 32px !important; }
	.padXXS_T-SP { padding-top: 16px !important; }
	.pad0_T-SP   { padding-top:  0px !important; }

	.padXXL_B-SP { padding-bottom:100px !important; }
	.padXL_B-SP  { padding-bottom: 80px !important; }
	.padL_B-SP   { padding-bottom: 72px !important; }
	.padM_B-SP   { padding-bottom: 60px !important; }
	.padS_B-SP   { padding-bottom: 40px !important; }
	.padXS_B-SP  { padding-bottom: 32px !important; }
	.padXXS_B-SP { padding-bottom: 16px !important; }
	.pad0_B-SP   { padding-bottom:  0px !important; }



	/* ========== フレーム ========== */
	/* --- フレーム装飾 上下 --- */
	/* 上 装飾 */
	.fdeco_top span   { background-image:url(../images/frame_bort_sp.png); }
	.fdeco_top:before { background-image:url(../images/frame_tl_sp.png);   }
	.fdeco_top:after  { background-image:url(../images/frame_tr_sp.png);   }

	/* 下 装飾 */
	.fdeco_bottom span   { background-image:url(../images/frame_borb_sp.png); }
	.fdeco_bottom:before { background-image:url(../images/frame_bl_sp.png);   }
	.fdeco_bottom:after  { background-image:url(../images/frame_br_sp.png);   }

	/* --- フレーム装飾 左右 --- */
	/* 左 装飾 */
	.frame_wrap:before { background-image:url(../images/frame_borl_sp.png); }

	/* 右 装飾 */
	.frame_wrap:after  { background-image:url(../images/frame_borr_sp.png); }


	/* --- 装飾のサイズ調整 --- */
	.frame_deco,
	.frame_deco span,
	.frame_deco:before,
	.frame_deco:after {
		height: 50px;
	}
	.frame_deco:before,
	.frame_deco:after   {
		width:     50px;
		min-width: 50px;
	}
	.frame_wrap:before,
	.frame_wrap:after {
		width:  50px;
		height: calc(100% - 50px*2 + 1px);
		top:    calc(50px - 1px);
	}
	.frame_inner {
		width: calc(100% - 30px*2);
	}
	.frame_inner:after {
		transform: scale(1);
	}



	/* ====== イラスト付き見出し ====== */
	.head_illust:before,
	.head_illust:after   {
		content: none !important;
	}


	/* ========== 開催概要 ========== */
	.sec_kaisai,
	.sec_novelty:before {
		background-size: 80px;
	}
	.sec_kaisai {
		background-position: left bottom;
	}
	.sec_novelty:before {
		margin-top: -15px;
	}

	/* 画像見出し */
	.h2_img {
		height: 80px;
		max-height: inherit;
		min-height: inherit;
	}
	.sec_kaisai .h2_img,
	.sec_shop .h2_img {
		margin-bottom: -50px;
	}
	/* ピンク見出し */
	.h3_ttl_pink {
		font-size: 28px;
		padding-top: .5em;
	}
	.h3_ttl_pink:before,
	.h3_ttl_pink:after {
		height: 3px;
	}
	.h3_ttl_pink span:before,
	.h3_ttl_pink span:after  {
		content: none;
	}
	.h3_ttl_pink img {
		width: 100%;
		height: 130px;
		max-height: inherit;
		min-height: inherit;
	}
	/* 太字テキスト */
	.bold_cont {
		font-size: 15px;
	}
	.bold_cont strong {
		display: inline-block;
		line-height: 1.3;
		margin-top: .25em;
	}
	.bold_cont.marM_B {
		margin-bottom: 20px !important;
	}
	/* 開催情報 */
	.dl_info {
		width: fit-content;
	}
	.dl_info div {
		font-size: 12px;
	}
	.dl_info dd {
		font-size: 14px;
		margin-left: .75em;
	}
	/* ----- SPのみ掲載 背景画像 --- */
	.sec_kaisai .wrap {
		width: 100%;
		position: relative;
	}
	.sec_kaisai .wrap:after {
		content: "";
		width:  100%;
		height: 140px;
		display:  block;
		position: absolute;
		bottom: 30px;
		background-image: url(../images/title_bg_sp.png);
		background-repeat: no-repeat;
		background-position: top center;
		background-size: contain;
		z-index: 5;
	}



	/* ======= ノベルティ紹介 ======= */
	.sec_novelty:after {
		background-image: url(../images/bg_line_sp.jpg);
	}
	/* 角丸ボックス */
	.radius_box {
		padding: 15px;
		padding: clamp(15px,4vw,30px);
		border-radius: 10px;
		border-width: 2px;
	}
	/* 注意 */
	.dl_attention dt {
		font-size: 14px;
		margin-bottom: .25em;
	}
	.dl_attention dd {
		font-size: 12px;
	}


	/* --- ノベルティスライダー --- */
	.swp-wrapper {
		display: inline;
	}
	.swp_card {
		width: 100%;
	}
	.swp .swp-slide {
		border-width: 2px;
		border-radius: 10px;
		margin-left:  0;
		margin-right: 0;
	}
	.swp-slide + .swp-slide {
		margin-top: 15px;
	}
	/* スライダー タイトル */
	.swp-title,
	.swp-cont {
		padding: 15px;
	}
	.swp-title {
		min-height: inherit;
		font-size: 16px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		align-items: center;
	}
	.swp-title h4 {
		font-size: 1em;
		text-align: center;
		margin: 0 0 .5em;
	}
	.swp-title h4 .color_pink {
		font-size: 16px;
	}
	.swp-title h4 strong {
		font-size: 24px;
		line-height: 1.2;
	}
	.swp-title h4 small {
		font-size: 10px;
	}

	/* スライダー サブタイトル */
	.piece_box {
		margin-left: 0;
		border-radius: 0 0 10px 10px;
	}
	.piece_box dt {
		font-size: 14px;
	}
	.piece_box dd {
		font-size: 18px;
	}
	/* prev・next */
	.swp-button {
		display: none !important;
	}

	/* --- サムネイルギャラリー --- */
	/* ノベルティ見出し */
	.novelty_icon {
		width:     50px;
		min-width: 50px;
	}
	.novelty_head dd {
		font-size: 28px;
		min-width: 4em;
		line-height: 1.4;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	/* wrap */
	.gallery-wrap {
		flex-wrap: wrap;
		flex-direction: column;
	}
	.gallery,
	.choice-btn {
		width: 100%;
	}
	/* 大 表示画像 */
	.gallery {
		padding-left:  clamp(20px,4vw,30px);
		padding-right: clamp(20px,4vw,30px);
	}
	.gallery_note {
		font-size: 12px;
	}
	.gallery .slick-slide {
		background-color: #fff;
	}
	.slick-slider img {
		width: 100%;
		aspect-ratio: 3/2;
		object-fit: contain;
		object-position: center;
	}


	/* 小 サムネイル */
	.choice-btn {
		margin-top: 15px;
	}
	.choice-btn li {
		width: calc(100%/5 - 5px);
		margin: 0 2.5px 5px;
	}
	/* 大 prev・next */
	.slick-arrow {
		width:  20px;
		height: 20px;
		min-width:  20px;
		min-height: 20px;
		font-size: 0;
		display: block !important;
		position: absolute;
		top: 45%;
		background: transparent;
		border-radius: 50%;
		background-repeat: no-repeat;
		background-size: contain;
		border: 0 !important;
		border-radius: 0 !important;
		z-index: 5;
		
	}
	.slick-prev::before,
	.slick-next::before {
		content: none;
		font-size: 0;
	}
	.slick-prev {
		left: 0;
		background-position: left center;
		background-image: url(../images/gallery_prev.svg);
	}
	.slick-next {
		right: 0;
		background-position: right center;
		background-image: url(../images/gallery_next.svg);
	}



	/* ======= 対象店舗一覧 ======== */
	.sec_shop h3 {
		font-size: 17px;
	}
	.sec_shop h3 + p {
		font-size: 12px;
	}
	.sec_shop p + h3:before {
		width: 100%;
		height: 2px;
	}

	/* ----- タブの機能 ----- */
	.tabBtn {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.tabBtn li:nth-of-type(n+3) {
		margin-top: 10px;
	}

	/* ----- タブデザイン調整 ----- */
	.tabBtn li span {
		font-size: 14px;
		display: block;
	}
	.tabBtn li small {
		font-size: 10px;
		min-height: 3em;
		display: block;
	}
	.tabBtn a {
		padding: 10px 0 7px;
		border-radius: 10px 10px 0 0;
	}

	/* ----- お店の一覧 ----- */
	.shop_flex {
		justify-content: space-between;
	}
	.shop_flex .shop_card {
		width: calc(100%/2 - 15px/2);
		margin-right: 0 !important;
		padding-top: 20px !important;
		padding-bottom: 20px;
	}
	.shop_card:after {
		content: none !important;
	}
	.shop_card:nth-of-type(-n+2) {
		padding-top: 0 !important;
	}
	.shop_card:nth-of-type(2n+1):after {
		content: "" !important;
		min-width: 100vw;
		height: 1px;
		display: block;
		position: absolute;
		top:   0;
		bottom: 0;
		background-color: #e6e6e6;
	}
	.shop_card:first-of-type:after {
		content: none !important;
	}

	.shop_card .card_flex {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.card_flex .img_wrap {
		width: 40%;
	}
	.card_flex .cont_wrap {
		width: 55%;
	}
	/* 店名 */
	.shop_card h4 {
		font-size: 14px;
		font-feature-settings: "palt";
		letter-spacing: 0;
		margin-top: 0;
	}
	.shop_card h4 span {
		min-height: 2.8em;
	}
	.shop_card h4 .num {
		width:  30px;
		height: 30px;
		min-width:  30px;
		min-height: 30px;
	}

	/* 店舗情報 メニュー・グッズ */
	/* メニュー */
	dl.shop_menu {
		margin-bottom:  0;
		padding-bottom: 0;
		border-bottom: none;
	}
	.shop_menu dt span,
	.shop_goods dt {
		padding-left:  .5em;
		padding-right: .5em;
	}
	.shop_card dd.menu small {
		display: inline-block;
	}

	/* --- イラスト追加 --- */
	.sec_shop .frame_inner:before {
		content: "";
		width:  100%;
		height: 110px;
		display: block;
		background-image:  url(../images/illust_ruby-aqua.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		margin-bottom: 20px;

	}
	/* --- 背景装飾の削除 --- */
	.sec_shop .bg_wrap:before,
	.sec_shop .bg_wrap:after,
	.sec_shop .wrap:before,
	.sec_shop .wrap:after {
		content: none !important;
	}


	/* ========== 所在地情報 ========== */
	.info_flex {
		width: 80%;
		max-width: inherit;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.info_flex .cont_wrap,
	.info_flex .img_wrap {
		width: 100%;
		margin-right: 0;
	}
	.info_flex .cont_wrap img {
		object-position: center;
	}
	.copyright_cont {
		width: 80%;
		text-align: center;
		margin-left:  auto;
		margin-right: auto;
	}


	/* ========== バナーエリア ========== */
	/* バナー */
	.bnr_flex {
		width: 80%;
		max-width: inherit;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.bnr_flex a {
		width: 100% !important;
		line-height: 1;
		margin-right: 0 !important;
	}
	.bnr_flex a img {
		width: 100%;
	}
	/* コピーライト */
	.copyright_cont {
		font-size: 10px;
	}

}