@charset "UTF-8";

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.1rem;
}

@media only screen and (max-width: 979px) {
	.sb-site {
		-webkit-transform: none !important;
		-moz-transform: none !important;
		-o-transform: none !important;
		transform: none !important;
	}

	html,
	body {
		overflow-x: inherit;
	}
}

@media only screen and (max-width: 640px) {
	body {
		font-size: 0.9rem;
	}
}


.ff_cn {
	font-family: 'Microsoft YaHei', 'Microsoft JhengHei UI', 'SimSun', 'SimHei';
}

.ff_ko {
	font-family: "Noto Sans KR", sans-serif;
}

.ff_ko * {
	font-weight: 600;
}

.ff_jp * {
	font-weight: 500;
}


/*--------------------------------------
	タイトルエリア
---------------------------------------*/

.hdrArea {
	align-items: flex-end;
	background-image: url(../../common/img/bg_hdrarea.gif);
	display: flex;
	height: auto;
}

.hdrArea__ttl {
	float: none;
	padding: 26px 0 10px 25px;
	width: calc(100% - 200px);
}

.hdrArea__donpen {
	float: none;
	margin-right: 0;
}

@media only screen and (max-width: 767px) {
	.hdrArea {
		height: auto;
	}

	.hdrArea__ttl {
		padding: 13px 0 10px 12px;
		width: calc(100% - 100px);
	}
}


/*--------------------------------------
	アイコンつき見出し
---------------------------------------*/

.hdr__icon {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	width: 48px;
	height: 42px;
	margin: -12px 0.5em -10px 0;
	background: url(../img/icon_coupon.png) no-repeat 0 0;
	vertical-align: middle;
}

.hdr__icon--product {
	background-position: 0 0;
}

.hdr__icon--shop {
	background-position: 0 -42px;
}

@media only screen and (max-width: 767px) {

	.hdr__icon {
		background-image: url(../img/icon_coupon_sp.png);
		background-size: 48px auto;
	}

}



/*     */

@media only screen and (max-width: 979px) {
	.l_mainArea {
		padding: 0 0 0 0;
	}
}

header.l_header,
header.sb-slide,
div.l_sideArea {
	display: none;
}

div.l_contentsArea {
	background: none;
}



.top_line {
	background-image: url(../../common/img/title_bg.png);
	padding: 10px 0 5px;
	text-align: center;

}


footer {
	background-color: #eeeeee;
	box-sizing: border-box;
	font-size: 12px;
	padding: 10px 20px;
	text-align: center;
}

footer span {
	display: inline-block;
}






/*     */

.dcc_frame {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1280px;
	padding: 0px 20px;
	width: 100%;
	position: relative;
}

@media only screen and (max-width: 768px) {
	.dcc_frame {
		padding: 0px 10px;
	}
}

.dcc_frame * {
	box-sizing: border-box;
}

.dcc_frame img {
	width: 100%;
}

.dcc_frame .img_w300 {
	max-width: 300px;
}

.dcc_frame .img_w400 {
	max-width: 400px;
}

.dcc_frame .img_w450 {
	max-width: 450px;
}

.dcc_frame .img_w600 {
	max-width: 600px;
}

.dcc_frame .img_w800 {
	max-width: 800px;
}


.tac {
	text-align: center;
}

.fw_bold {
	font-weight: bold;
}

.fs_110 {
	font-size: 110%;
}

.fs_120 {
	font-size: 120%;
}

.fs_130 {
	font-size: 130%;
}

.fs_140 {
	font-size: 140%;
}

.fs_150 {
	font-size: 150%;
}

.pl_13r {
	padding-left: 1.6rem;
}

span.underline {
	font-weight: bold;
	text-decoration: underline;
}


/*タブ実装*/
.tab_box .btn_area {
	border-bottom: solid 1px #aaaaaa;
	display: -webkit-box;
	display: flex;

	justify-content: space-between;
	margin: 20px 0px;
	width: 100%;
}

.tab_box .tab_btn {
	align-items: center;
	background: #dddddd;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	color: #333;
	cursor: pointer;
	display: flex;
	font-size: 110%;
	font-weight: bold;
	justify-content: center;
	padding: 15px 10px;
	width: 16%;
}

/*
.tab_box .tab_btn + .tab_btn {
	margin-left: 4px;
}
*/

.tab_box .tab_btn:hover {
	background: linear-gradient(#fff45c, #ffa200);
}

.tab_box .tab_btn.active {
	background: linear-gradient(#2dc474, #008b42);
	color: #fff;
}

.tab_box .panel_area {}

.tab_box .tab_panel {
	display: none;
}

.tab_box .tab_panel.active {
	display: block;
}


@media only screen and (max-width: 640px) {
	.tab_box .tab_btn {
		font-size: 13px;
		padding: 10px 2px;
	}
}

@media only screen and (max-width: 540px) {
	.tab_box .tab_btn {
		font-size: 12px;
		padding: 10px 2px;
	}
}

@media only screen and (max-width: 480px) {
	.tab_box .tab_btn {
		font-size: 10px;
		padding: 10px 2px;
	}
}



/*    */

.dcc_frame h3 {
	margin-bottom: 20px;
}

.dcc_frame h3 img {
	width: 100%;
}

.dcc_frame .chirashi_wrap .contents {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 2rem;
	grid-row-gap: 0px;
}

.dcc_frame h2 {
	display: inline-block;
	font-size: 180%;
	font-weight: bold;
	border-top: 5px solid #C8021C;
	border-bottom: 5px solid #C8021C;
	line-height: 1.4;
	margin-block: 2rem 1rem;
	padding-block: 1rem;
}

.dcc_frame .menu_frame {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
	justify-content: space-between;
}

.dcc_frame .menu_frame>* {
	margin-bottom: 15px;
	width: 32%;
}

.dcc_frame .menu_frame a {
	background-color: #2e75b6;
	border-radius: 5px;
	color: #ffffff;
	display: block;
	font-size: 130%;
	font-weight: bold;
	line-height: 100%;
	overflow: hidden;
	padding: 25px 20px;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s;
}

.dcc_frame .menu_frame a:after {
	content: "<";
	display: inline-block;
	font-family: monospace;
	font-weight: bold;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%) rotateZ(-90deg);
	transition: all 0.2s;
}

.dcc_frame .menu_frame a:hover {
	background-color: #003f98;
	color: #fff100;
}

.dcc_frame .menu_frame a:hover:after {
	color: #fff100;
	margin-top: 4px;
}

.dcc_frame .menu_frame a.link_ext:after {
	content: ">";
	display: inline-block;
	font-family: monospace;
	font-weight: bold;
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.2s;
}

.dcc_frame .menu_frame a.link_ext:hover:after {
	color: #fff100;
	margin-top: 0;
	right: 14px;
}


.dcc_frame .button_ext {
	margin: 0 auto;
	max-width: 400px;
	width: 80%;
}

.dcc_frame .button_ext a {
	background-color: #2e75b6;
	border-radius: 5px;
	color: #ffffff;
	display: block;
	font-size: 130%;
	font-weight: bold;
	line-height: 100%;
	overflow: hidden;
	padding: 25px 20px;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s;
}

.dcc_frame .button_ext a:after {
	content: ">";
	display: inline-block;
	font-family: monospace;
	font-weight: bold;
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.2s;
}

.dcc_frame .button_ext a:hover {
	background-color: #003f98;
	color: #fff100;
}

.dcc_frame .button_ext a:hover:after {
	color: #fff100;
	margin-top: 0;
	right: 14px;
}


@media only screen and (max-width: 880px) {
	.dcc_frame .menu_frame>* {
		max-width: inherit;
		width: 49%;
	}
}

@media only screen and (max-width: 768px) {
	.dcc_frame .chirashi_wrap .contents {
		grid-template-columns: 1fr;
		grid-row-gap: 1rem;
	}
}

@media only screen and (max-width: 640px) {
	.dcc_frame .menu_frame {
		margin-bottom: 10px;
	}

	.dcc_frame .menu_frame>* {
		width: 100%;
	}

	.dcc_frame .menu_frame a {
		font-size: 100%;
		padding: 10px 25px;
	}

	.dcc_frame .button_ext a {
		padding: 15px 25px;
	}
}


/*    */

.dcc_frame .desc_frame {
	margin-block: 2rem;
}

.dcc_frame .desc_frame h4 {
	background-color: #C8021C;
	border-radius: 5px;
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	padding: 10px 10px 10px 15px;
}

.dcc_frame .desc_frame .desc_box {
	padding: 20px 0 30px 2rem;
}

.dcc_frame .desc_frame .desc_box>*:nth-last-child(1) {
	padding-bottom: 0 !important;
}

.dcc_frame .desc_frame .desc_sub {
	display: block;
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 5px;
	margin-left: 1.7rem;
	text-indent: -1.7rem;
}

.dcc_frame .desc_frame .desc_box>p {
	padding-bottom: 20px;
}

.dcc_frame .desc_frame+p {
	background: #FFF9B0;
	padding: 1rem 0 0 2rem;
	font-size: 120%;
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	.dcc_frame .desc_frame .desc_box {
		padding: 20px 0 30px 1rem;
	}

	.dcc_frame .desc_frame h4 {
		font-size: 110%;
	}

	.dcc_frame .desc_frame .desc_sub {
		font-size: 105%;
	}

	.dcc_frame .desc_frame+p {
		padding-left: 1rem;
	}

}

@media only screen and (max-width: 640px) {
	.dcc_frame .desc_frame {
		margin-bottom: 10px;
	}
}


@media only screen and (max-width: 480px) {
	.dcc_frame .desc_frame .desc_box {
		padding: 20px 0 30px 0.5rem;
	}
}

/*    */

.flex_box {
	display: flex;
	justify-content: space-between;
}

.flex_box>div {
	width: 32%;
}

@media only screen and (max-width: 1024px) {
	.flex_box {
		flex-wrap: wrap;
	}

	.flex_box>div {
		padding-top: 12px;
		width: 100%;
	}

	.flex_box>div:nth-last-of-type(1) {
		padding-top: 0;
	}
}



.mymap_list {
	padding-bottom: 20px;
}


/*    */

.dcc_frame li {
	list-style-type: none;
	padding-top: 15px;
}

.dcc_frame li div {
	display: flex;
	padding-bottom: 5px;
}

.dcc_frame li div:nth-of-type(1) {
	font-weight: bold;
}

.dcc_frame li div:nth-of-type(1) span {
	border-radius: 10px;
	color: #ffffff;
	display: inline-block;
	font-weight: bold;
	margin-right: 8px;
	padding: 5px 5px;
	text-align: center;
	width: 2.6rem;
}

.dcc_frame li>div:nth-of-type(1) div>span {
	background-color: #ffc000;
	color: #473500;
}

.dcc_frame li>div:nth-of-type(2) div>span {
	background-color: #cccccc;
	color: #4b4b4b;
}

.dcc_frame li>div:nth-of-type(1) p {
	font-size: 115%;
	font-weight: bold;
	padding-top: 4px;
}

.dcc_frame li>div:nth-of-type(2) p {
	padding-top: 5px;
}

#btn_totop {
	background-color: #999999;
	border-radius: 25px;
	bottom: -50px;
	display: block;
	height: 50px;
	overflow: hidden;
	position: fixed;
	right: 30px;
	text-decoration: none;
	transition: all 0.1s;
	width: 50px;
}

#btn_totop:hover {
	background-color: #cccccc;
}

#btn_totop.active {
	bottom: 30px;
}

#btn_totop:after {
	color: #eeeeee;
	content: "▲";
	font-size: 200%;
	left: 50%;
	margin-top: -1px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

@media only screen and (max-width: 640px) {
	#btn_totop {
		bottom: -50px;
		right: 20px;
	}

	#btn_totop.active {
		bottom: 20px;
	}
}


/*  */

#c_location_btn {
	background-color: #ffd200;
	border: solid 1px #ffd200;
	border-radius: 2px;
	color: #260e00;
	cursor: pointer;
	margin: 0 auto;
	max-width: 300px;
	padding: 5px 0;
	text-align: center;
	width: 100%;
}

#c_location_btn:hover {
	background-color: #d2d2d2;
	border: solid 1px #d2d2d2;
}


/*  */

.pref_select {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 84px;
	gap: 2px;

	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
}

.pref_select a {
	background-color: #cccccc;
	border: solid 1px #666666;
	height: 20px;
	width: 120px;
}



/* shoplist */
.frame_shoplist {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
}

.frame_shoplist a {
	background-color: #ffffff;
	border: solid 1px #cccccc;
	border-radius: 10px;
	color: #666666;
	padding: 5px 15px;
	text-decoration: none;
	transition: 0.2s all;
}

.frame_shoplist a:hover {
	background-color: #ffd200;
	border: solid 1px #ffd200;
	color: #260e00;
}

.frame_shoplist li {
	padding: 1.7rem 1rem 0 2rem;
	position: relative;
	width: 50%;
}

.frame_shoplist li:nth-of-type(2n+1) {
	border-right: dashed 1px #999999;
}


@media only screen and (max-width: 1080px) {
	.frame_shoplist {
		max-width: 700px;
	}

	.frame_shoplist li {
		width: 100%;
		padding-inline: 0;
	}

	.frame_shoplist li:nth-of-type(2n+1) {
		border-right: none;
	}
}

@media only screen and (max-width: 460px) {
	.frame_shoplist li div:nth-of-type(1) {
		width: 100%;
	}

	.frame_shoplist li div:nth-of-type(2) {
		padding-left: 0;
		width: 100%;
	}
}


.tabs-nav {
	border-bottom: none;
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 0.4rem;
	grid-row-gap: 2rem;
	background: #FFF9B0;
	border-bottom: 0 !important;
	padding: 1rem 1rem 2rem 1rem !important;
}

.tabs-nav li {
	background-color: #FFE800 !important;
	border-radius: 2rem;
	font-size: 90%;
}

.tabs-nav li:hover {
	opacity: 0.8 !important;
}

.tabs-nav li.selected {
	border: 0 !important;
	background: #d2d2d2 !important;
}

@media only screen and (max-width: 1080px) {
	.tabs-nav {
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(4, 1fr);
		grid-row-gap: 1rem;
	}
}

@media only screen and (max-width: 768px) {
	.tabs-nav {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(8, 1fr);
	}
}


/*    */

#pagination_frame {
	text-align: center;
}

.list .jplist-opacity {
	display: block;
	opacity: 0.3;
}

.list .jplist-empty {
	display: none !important;
}

.list .jplist-no-results {
	text-align: center;
}


.list {
	margin: 0 0 50px 0;
}

.list .jplist-panel.panel-top {
	padding-top: 20px;
}

.list .jplist-panel button {
	margin: 0 10px 0 0;
}


.list .filter_frame {
	background-color: #edf4ff;
	border-radius: 20px;
	margin-bottom: 15px;
	padding: 20px 20px 10px;
}

.list .jplist-panel .text-filter-box {
	display: inline-block;
	margin: 0;
	max-width: 605px;
	width: 100%;
}

.list .jplist-panel .text-filter-box>img {
	height: 30px;
	margin-right: 5px;
}

.list .jplist-panel .text-filter-box input[type=text] {
	width: 100%;
}


.list .jplist-panel .jplist-group {
	border: none;
	margin: 0;
	padding: 20px 0 0;
}

.list .jplist-panel .flex_sub_cate {
	align-items: center;
	display: flex;
	font-size: 23px;
	font-weight: bold;
	padding: 0 0 8px 5px;
}

.list .jplist-panel .flex_sub_cate img {
	height: 30px;
	margin-right: 8px;
}


.list .jplist-panel .jplist-pagination {
	cursor: inherit;
	float: none;
	padding: 10px 0;
	text-align: center;
}

.list .jplist-panel .jplist-pagination .jplist-pagingprev,
.list .jplist-panel .jplist-pagination .jplist-pagingmid,
.list .jplist-panel .jplist-pagination .jplist-pagingnext {
	display: inline-block;
	float: none;
}

.list .jplist-label {
	display: inline-block;
	margin: 0;
	text-align: center;
	width: 130px;
}


.list input[type="checkbox"] {
	display: none;
}


.list label {
	border-radius: 100px;
	height: auto;
	line-height: 100%;
	margin: 0 10px 10px 0;
	padding: 8px 8px 8px 12px;
	text-align: center;
	text-shadow: none;
}

.list label:nth-last-of-type(1) {
	margin-right: 0;
}



.list #box_category1 {}

.list #box_category1 label {
	background-color: #adccff;
	color: #1b1b1b;
}

.list #box_category1 label:hover {
	background-color: #d2d2d2;
}

.list #box_category1 input[type="checkbox"]:checked+label {
	background-color: #ffd200;
}

.list #box_category1 label span {
	background-color: #ffffff;
	border-radius: 10px;
	color: #666666;
	display: inline-block;
	font-size: 80%;
	line-height: 100%;
	margin-left: 8px;
	padding: 3px 5px 1px;
}

.ff_ko .list #box_category1 label span {
	padding: 2px 5px 3px;
}

.ff_cn .list #box_category1 label span {
	padding: 3px 5px 2px;
}



.list #box_category2 {
	position: relative;
}

.list #box_category2 label {
	background: linear-gradient(#ffc02e, #f79f15);
	border-bottom: solid 2px #d27d00;
	border-radius: 100px;
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
	font-size: 17px;
	padding: 12px 20px 10px;
	position: relative;
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.19);
}

.list #box_category2 label:hover {
	background: linear-gradient(#ffcc57, #ffc02e);
}

.list #box_category2 input[type="checkbox"]:checked+label {
	background: linear-gradient(#f79f15, #ff6c00);
	border-bottom: none;
	top: 2px;
}


.list #box_category2 .box_areatext {
	align-items: flex-start;
	background-color: #ffffff;
	border: solid 1px #cccccc;
	border-radius: 5px;
	display: none;
	margin: 10px auto 0;
	max-width: 800px;
	padding: 15px;
	text-align: center;
	width: 100%;
}

.list #box_category2 .box_areatext>div {
	width: 160px;
}

.list #box_category2 .box_areatext>div img {
	max-width: 180px;
	width: 100%;
}

.list #box_category2 .box_areatext>p {
	margin: 0;
	padding: 0 0 0 10px;
	text-align: left;
}

.list #box_category2 input#sapporo:checked~#frame_sapporo,
.list #box_category2 input#wakayama:checked~#frame_wakayama,
.list #box_category2 input#ehime:checked~#frame_ehime,
.list #box_category2 input#kagawa:checked~#frame_kagawa,
.list #box_category2 input#kumamoto:checked~#frame_kumamoto,
.list #box_category2 input#kagoshima:checked~#frame_kagoshima,
.list #box_category2 input#okinawa:checked~#frame_okinawa {
	display: flex;
}

.list .box_pagination {
	text-align: right;
}

.list .jplist-panel .jplist-pagination button {
	cursor: pointer;
}

@media (max-width: 640px) {
	.list #box_category2 .box_areatext {
		flex-wrap: wrap;
	}

	.list #box_category2 .box_areatext>div {
		width: 100%;
	}

	.list #box_category2 .box_areatext>p {
		padding: 5px 0 0;
		width: 100%;
	}
}

/* modal */

.modal {
	display: none;
}

.modal[aria-hidden="false"] {
	display: block;
}

.modal__overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 999;
}

.modal__container {
	background: #fff;
	padding: 2rem 0;
	max-width: 1000px;
	overflow-y: auto;
	text-align: center;
}

.modal-header {
	position: relative;
}

.modal-close {
	position: absolute;
	top: 0;
	right: 1rem;
	background: transparent;
	border: 0;
}

.modal-header .modal-close::before {
	content: "\2715";
	font-size: 150%;
}

.modal__title {
	font-size: 2.8rem;
	color: #fff;
	font-weight: 500;
}

.modal__content {
	margin-block: 2rem;
	padding-inline: 2rem;
}

.modal__content img {
	width: 100%;
	max-width: 1000px;
	height: auto;
	display: block;
	margin: 0 auto;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes mmfadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes mmslideIn {
	from {
		transform: translateY(15%);
	}

	to {
		transform: translateY(0);
	}
}

@keyframes mmslideOut {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-10%);
	}
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
	animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
	animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
	animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
	animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
	will-change: transform;
}

@media only screen and (max-width: 1080px) {}

@media only screen and (max-width: 768px) {

	.modal__container {
		padding: 1rem 0;
		max-width: 100%;
	}

	.modal__content {
		padding-inline: 1rem;
	}
}