@charset "utf-8";
/* CSS Document */

/*reset*/
/*** The new CSS reset - version 1.5.1 (last updated 1.3.2022) ***/

/*box-sizingを全ブラウザに対応*/
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0;

}

a,
button {
	cursor: revert
}

a {
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}

a:link,
a:visited,
a:active,
a:hover {
	text-decoration: underline;
	color: #06C;
}

.stamp_rally_start a:link,
.stamp_rally_start a:visited,
.stamp_rally_start a:active,
.stamp_rally_start a:hover {
	text-decoration: none;

}

.stamp_rally_get a:link,
.stamp_rally_get a:visited,
.stamp_rally_get a:active,
.stamp_rally_get a:hover {
	text-decoration: none;

}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

ol,
ul,
menu {
	list-style: none
}

img {
	width: 100%;
	vertical-align: bottom !important;
	font-size: 0;
	line-height: 0;
	image-rendering: -webkit-optimize-contrast;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfix:before {
	content: "";
	display: block;
	clear: both;
}

.clearfix {
	display: block;
}

/*レスポンシブ改行*/
.pc_area {
	display: none !important;
}

.sp_area {
	display: block !important;
}

@media (min-width: 769px) {
	.pc_area {
		display: block !important;
	}

	.sp_area {
		display: none !important;
	}
}

.spbr_none_box br {
	display: none;
}

@media (min-width: 769px) {
	.spbr_none_box br {
		display: block;
	}
}

html {
	font-size: 62.5%;
	height: -webkit-fill-available;

}

body {
	font-family: 'Noto Sans JP', sans-serif, serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
	line-height: 1.4;
	font-size: 1.3rem;
	color: #303030;
	font-weight: 500;
	letter-spacing: 0.1rem;
	padding-bottom: 28.19px;
}

@media (min-width: 769px) {
	body {

		font-size: 1.5rem;
		padding-bottom: 0;
	}
}

/*header*/

header.nisshin_header {
	border-top: 3px solid #F60;
	padding: 1.0rem;
}

.header_wrap {
	display: flex;
	flex-wrap: wrap;
}

.logo {
	width: 60px;
}

.logo_right {
	width: calc(100% - 60%);
}


.all_wrap {
	width: 100%;
	height: auto;
}

.responvie_wrap {
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}


@media (min-width: 769px) {
	.responvie_wrap {
		width: 700px;
	}

}

@media (min-width: 1024px) {
	.responvie_wrap {
		width: 800px;
		margin: 0 auto;
		padding: 0;
	}

}

.top_visual_bg {
	background: #f7df2d;

}

.top_visual_bg img {
	height: auto;
	width: 100%;
}

/*main_visual*/
.main_visual {
	margin: 0 auto;
}


/*キャッチコピー*/
.catchcopy {
	background-color: #aa6242;
	background-image: linear-gradient(62deg, #36AFC5 0%, #888EE3 100%);

	color: #fff;
	text-align: center;
	padding: 2.0rem 1.0rem;
	font-size: 1.6rem;
	font-weight: 800;

}


@media (min-width: 769px) {
	.catchcopy {
		font-size: 3.0rem;
		padding: 3.0rem 0;
		text-align: center;

	}
}



.catchcopy_text p {
	font-size: 1.4rem;
	font-weight: 900;
	text-align: justify;
	padding: 20px;
}

@media (min-width: 769px) {
	.catchcopy_text p {
		font-size: 1.8rem;
		margin: 0 auto;
		padding: 20px 0;
	}
}


.max_stamp {
	color: #399;
	font-weight: bold;
}


/*アプリへの誘導*/
.bg_gray {
	background: #CCC;
	padding: 3.0rem 0
}

/*スタンプラリー開始ボタン*/
.stamp_rally_start {
	width: 90%;
	background-image: linear-gradient(90deg, rgba(69, 194, 90, 1), rgba(82, 157, 91, 1));
	/*background:gray;*/
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 10px;
	max-width: 350px;
	margin: 0 auto 2.0rem auto;
	border: 3px solid #FFF;
}

.stamp_rally_start:hover {

	/*background: #363*/
	background:gray;
}

.stamp_rally_start a {
	font-size: 1.8rem;
	padding: 2.5rem 0;
	display: block;
	color: #FFF;
	font-weight: bold;
	border-radius: 12px;
	line-height: 1;
	text-align: center;
}





.furimo_dl_text {
	width: 95%;
	font-size: 1.5rem;
	text-align: center;
	margin: 0 auto 2rem;
	padding: 0 1rem;
}


.button_flex {
	display: flex;
	justify-content: center;
	gap: 0 2rem;
	margin: 0 auto;
}

.button_flex img {
	width: auto;
	height: 50px;
	display: block;
}

@media (min-width: 769px) {
	.button_flex img {
		width: auto;
		height: 60px;
	}

}



.furimo_dl_text2 {
	width: 95%;
	font-size: 0.8rem;
	text-align: center;
	margin: 0.5rem auto;
	padding: 0 1rem;
}




.store_copy {
	text-align: center;
	font-size: 1.6rem;
	padding: 2.0rem 0;
	background-color: #666;
	color: #fff;
	font-weight: 800;
}

@media (min-width: 769px) {
	.store_copy {
		font-size: 3.0rem;
		padding: 3.0rem 0;

	}
}



.present_copy {
	text-align: center;
	font-size: 1.6rem;
	padding: 2.0rem 0;
	background-color: #f7df2d;
	font-weight: 800;
}

@media (min-width: 769px) {
	.present_copy {
		font-size: 3.0rem;
		padding: 3.0rem 0;

	}
}



/*プレゼント*/
.insta {
	text-align: center;
	font-size: 1.6rem;
	margin-top: 5.0rem;
	margin-bottom: 2.5rem;
	background: repeating-linear-gradient(135deg, rgba(0, 0, 0, 0.05) 0px, rgba(0, 0, 0, 0.05) 2px, transparent 2px, transparent 4px), linear-gradient(90deg, rgb(153, 25, 250), rgb(237, 96, 18));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 800;
}

@media (min-width: 769px) {
	.insta {
		font-size: 3.0rem;
	}
}

.insta_flex {
	display: flex;
	gap: 3rem;
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 5.0rem;
	margin-left: auto;
	margin-right: auto;
}

.insta_child {
	width: 100%;
	border: 3px solid #999;
	border-radius: 5px;
	padding: 1.0rem;
}





.insta_child {
	width: calc((100% - 6rem) / 3);

}


.step {
	color: #FFF;
	display: inline-block;
	padding: 0.3rem;
	border-radius: 3px;
	background: repeating-linear-gradient(135deg, rgba(0, 0, 0, 0.05) 0px, rgba(0, 0, 0, 0.05) 2px, transparent 2px, transparent 4px), linear-gradient(90deg, rgb(153, 25, 250), rgb(237, 96, 18));
}

/*景品リスト*/
.present_flex {
	display: block;
	margin:20px auto 30px auto;
	width:90%;
}
@media (min-width: 769px) {
.present_flex {
	width:400px;
}
}


.present_img {
	padding-bottom: 0;
}

@media (min-width: 600px) {
	.present_img {
		padding-bottom: 1.0rem;
	}
}

@media (min-width: 769px) {
	.present_img {
		padding-bottom: 0;
	}
}

.present_img img {
	object-fit: cover;
	width: 100%;
	border-radius: 10px;
}

@media (min-width: 600px) {
	.present_img img {
		object-fit: cover;
		width: 200px;
		margin: 0 auto;
		display: block;
	}
}


@media (min-width: 769px) {
	.present_img img {
		width: 100%;
		/*height:170px;*/
	}
}

.present_stamp_count {
	background-color: #FF9A8B;
	background-image: linear-gradient(90deg, #FF9A8B 0%, #FF6A88 55%, #FF99AC 100%);
	color: #FFF;
	padding: 0.5rem;
	display: block;
	text-align: center;
	font-weight: 600;
}

.present_stamp_count span {
	font-size: 2.0rem;
}

.present_text {
	padding: 10px;
	text-align: center;
	font-size: 2.0rem;
	font-weight: 900;
	color: #D45245;
}

.present_hosoku {
	display: block;
	font-size: 2.5rem;
	padding: 10px 0;
	color:#06C;
	font-weight:900;
}

.present_hosoku span {
	font-size: 2.0rem;
}
.present_bikou {
	display: block;
	color:initial;
	font-size:1.4rem;
	text-align:left;
	font-weight:500;
}
@media (min-width: 769px) {
.present_bikou {
	display: block;
	color:initial;
	font-size:1.5rem;
}
}
.number_win {
	display: block;
	margin: 0 auto;
	padding: 5px 10px;
	color: #D45245;
	text-align: center;
	font-weight: 900;
	background: rgba(255, 255, 28, 0.836)
}

.number_win span {
	font-size: 2.0rem;
}


/*お店一覧*/

.store_img {
	margin-bottom: 10px;
}

.spot_list {
	text-align: center;
	color: white;
	background: #00973c;
	font-size: 2.0rem;
	padding: 2.0rem 0;
}

@media (min-width: 769px) {
	.spot_list {
		font-size: 3.0rem;
		padding: 3.0rem 0;
	}
}

.store_flex {
	display: block;
	width: 100%;
	height: auto;
}

.kakigoori_shop {
	width: 100%;
}

@media (min-width: 769px) {
	.kakigoori_shop {
		width: calc(100% - 20px - 300px);
	}
}

.store_flex li {
	display: block;
	border-bottom: 1px dashed gray;
	padding: 30px 0;
}

@media (min-width: 769px) {
	.store_flex li {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
		padding: 30px 0;
		align-items: start;
	}
}

.store_flex li:last-child {
	display: block;
	border-bottom: initial;
	padding: 30px 0;
}

@media (min-width: 769px) {
	.store_flex li:last-child {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
		padding: 30px 0;
	}
}

.store_flex li img {
	width: 100%;
	border-radius: 1.0rem;
	display: block;
}

@media (min-width: 769px) {
	.store_flex li img {
		width: 300px;
		display: block;
	}
}




/*お店ジャンル*/

.spot_data {
	text-align: center;
	padding: 2px 5px;
	display: inline-block;
	font-size: 1.2rem;
	border: 1px solid #666;
	margin-bottom: 10px;
	font-weight: 900;
}

.store_name {
	font-size: 1.7rem;
	font-weight: 900;
	margin-bottom: 10px;
	margin-top: 10px;
	display: flex;
	align-items: center;
}

@media (min-width: 769px) {
	.store_name {
		font-size: 2.0rem;
	}
}

/*.store_name::before {
	content: "";
	background-image: url("../img/d.svg");
	width: 30px;
	height: 30px;
	display: block;
	margin-right: 5px;
}
	*/

.k_catch {
	font-weight: 900;
	font-size: 1.6rem;
	color: #00973c;
	margin-bottom: 5px;
}

.k-text {
	font-weight: 100;
	text-align: justify;
	/* 両端揃え */
	text-justify: inter-ideograph;
	/* 両端揃えの種類 */
}

.spot_info {
	margin-top: 10px;
	font-size: 1.3.5rem;
}

.exit {
	background: #00973c;
	color: white;
	display: inline-block;
	padding: 3px 5px !important;
	font-size: 1.3rem;
	border-radius: 3px;
}

.gicon {
	display: flex;
	align-items: start;
}

.gicon span {
	margin-right: 5px;
}

.material-symbols-outlined {
	font-size: 2.0rem !important;
}

.align-item-top {
	align-items: start;
}

.get_stamp {
	margin-top:3px;
}
.get_stamp_inner {
	padding:3px 6px;
	text-align:center;
	background:#f7df2d;
	display:inline-block;
	margin-right:5px;
}

.address:before {
	content: '\f3c5';
	display: inline-block;
	font-family: 'Font Awesome 6 Free';
	font-size: inherit;
	font-weight: 900;
	color: #8C8C8C;
	margin-right: 0.3rem;
}

.kikan_wrap {
	text-align: center;
}

.kikan {
	text-align: center;
	font-size: 1.7rem;
	padding: 5px 0 0 0;
	font-weight: 600;
	color: rgb(22, 71, 117);
	display: inline-block;
}


@media (min-width: 769px) {
	.kikan {
		font-size: 2.5rem;
	}
}

.pagenation {
	margin: 3em auto 2em;
	text-align: center;
}

.pagenation ul {
	list-style: none;
	font-size: 1em;
	display: inline-block;
}

.pagenation ul li {
	display: inline-block;
}

.pagenation ul li::before {
	content: "　|　";
}

.pagenation ul li:last-child::after {
	content: "　|　";
}

.pagenation .current {
	text-decoration: underline;
}

.page-numbers li {
	font-size: 1.5rem;
}

@media screen and (max-width:769px) {
	.pagenation {
		font-size: 0.8rem;
	}
}


.genre_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 2.0rem;
	padding: 1.0rem;
}

@media screen and (min-width:769px) {
	.genre_list {
		padding: 0;
	}
}

.genre_list li {
	display: inline-block;
}

.genre_list li a {
	background-color: #333;
	border-radius: 5px;
	display: block;
	color: white;
	text-align: center;
	text-decoration: none;
	padding: 0.5rem;
	font-size: 1.0rem;
}

@media screen and (min-width:769px) {
	.genre_list li a {
		font-size: 1.3rem;
	}
}

.genre_list li a:hover {
	background-color: #036;

}



.category_box01 {
	background-color: #52c3f1;
	color: #ffffff;
	border-radius: 5rem;
	font-size: 1rem;
	text-align: center;
	margin-bottom: 0.1rem;
	padding: 0.1rem 1rem;
	display: inline-block;
}

.category_box02 {
	background-color: #1564af;
	color: #ffffff;
	border-radius: 5rem;
	font-size: 1rem;
	text-align: center;
	margin-bottom: 0.1rem;
	padding: 0.1rem 1rem;
	display: inline-block;
}

.category_box03 {
	background-color: #64af15;
	color: #ffffff;
	border-radius: 5rem;
	font-size: 1rem;
	text-align: center;
	margin-bottom: 0.1rem;
	padding: 0.1rem 1rem;
	display: inline-block;
}


.sp {
	display: block !important;
}

.pc {
	display: none !important;
}

@media (min-width: 769px) {
	.pc {
		display: block !important;
	}

	.sp {
		display: none !important;
	}
}




.stamp_img {
	width: 400px;
	display: block;
	margin-bottom: 3.0rem;
	margin-left: auto;
	margin-right: auto;
}





.copyright {
	padding: 0.3rem 0;
	text-align: center;
	color: #fff;
	background: #666;
}


.g_map {
	width: 100%;
	height: 400px;
	margin: 3.0rem 0
}

@media (min-width: 769px) {
	.g_map {
		height: 600px;
	}
}

.stamp_slick_wrap {
	width: 100%;
	margin: 3.0rem auto 1.0rem auto;
}


@media (min-width: 768px) {
	.stamp_slick_wrap {
		width: 500px;
	}
}

.stamp_slick li p {
	font-size: 1.5rem;
	font-weight: 600;
	margin-top: 1.0rem;
	text-align: center;
}

.stamp_slick .slick-prev:before,
.stamp_slick .slick-next:before {
	color: #F33;

}

.slick-prev {
	left: 25px;
	z-index: 999;
}

.slick-next {
	right: 25px;
	z-index: 999;
}

@media (min-width: 769px) {
	.slick-prev {
		left: -25px;
	}

	.slick-next {
		right: -25px;
	}

}

.stamp_get {
	/*border-radius:5rem;
	background:#F33;
	color:white;*/
	text-align: center;
	padding: 1.0rem 0;
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 2.0rem;

}

@media (min-width: 769px) {
	.stamp_get {

		font-size: 2.0rem;

	}

}


/*参加方法詳細*/
.rule_syousai {
	padding: 0 1.5rem 2.5rem 1.5rem;
}

.notes p {
	text-indent: -1em;
	padding-left: 1em;

}



.rule {
	list-style: inside;
	list-style-position: outside;
	padding-left: 1.5em;
	margin-bottom: 1.0rem;

}


.rule_child {
	margin-bottom: 1.0rem;
}

.rule_child span {
	font-weight: 800;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
	display: inline-block;
	font-weight: 500 !important;
}

.shortcut_button_flex {
	display: flex;
	flex-wrap: wrap;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100
}

.shortcut_button_flex div {
	width: calc(100% / 4);
	text-align: center;
	color: white;

}

.shortcut_store {
	background-color: #3c63a0;
}

.shortcut_rule {
	background-color: #f0c93d;


}

.shortcut_present {
	background-color: #FF9A8B;
}

.shortcut_app {
	background-color: #3f7d4e;
}

.shortcut_button_flex div a {
	color: white;
	text-decoration: none;
	display: block;
	padding: 0.5rem;
	font-size:1.2rem;
}

@media (min-width: 769px) {
	.shortcut_button_flex {
		display: none;
	}

}


.mt30 {
	margin-top: 3.0rem;
}

.mt20 {
	margin-top: 2.0rem;
}

.mt10 {
	margin-bottom: 1.0rem;
}

.mt5 {
	margin-bottom: 0.5rem;
}

.mb30 {
	margin-bottom: 3.0rem;
}

.mb20 {
	margin-bottom: 2.0rem;
}

.mb10 {
	margin-bottom: 1.0rem;
}

.mb5 {
	margin-bottom: 0.5rem;
}

.pt30 {
	padding-top: 3.0rem;
}

.pt20 {
	padding-top: 2.0rem;
}

.pt10 {
	padding-top: 1.0rem;
}

.pt5 {
	padding-top: 0.5rem;
}

.pb30 {
	padding-bottom: 3.0rem;
}

.pb20 {
	padding-bottom: 2.0rem;
}

.pb10 {
	padding-bottom: 1.0rem;
}

.pb5 {
	padding-bottom: 0.5rem;
}


/*北ジャズ概要*/
.events-topiks {
	text-align:center;
	font-weight:900;
	color:#f7df2d;
	font-size:4.0rem;
	-webkit-text-stroke: 2px black;
	margin:30px auto 20px auto;
}

@media (min-width: 769px) {
.events-topiks {
	font-size:7.0rem;
}
}

.catchcopy_text .events-topiks-desc {
	margin-bottom:30px;
}

.events_flex {
	display:block;
}
@media (min-width: 769px) {
.events_flex {
	display:flex;
	align-items:start;
}
}
.events_num {
	font-size:5.0rem;
	color:#f7df2d;
	-webkit-text-stroke: 2px black;
	font-weight:900;
}
@media (min-width: 769px) {
.events_num {
	font-size:5.0rem;
	width:90px;
}
}
.events_inner {
	font-weight:600;
	/*font-size:1.6rem;*/
}
@media (min-width: 769px) {
.events_inner {
	width:calc(100% - 90px);
	font-size:1.7rem;
}
}
.event_name {
	font-size:2.0rem;
	font-weight:900;
	margin-bottom:15px;
}
@media (min-width: 769px) {
.event_name {
	font-size:2.5rem;
}
}
.event_day,
.event_time,
.event_loca,
.event_conta,
.event_desc {
	margin-bottom:10px;
}
.event_conta {
	display:flex;
	align-items:start;
}
.event_conta_left {

}
.event_conta_right {

}
.event_day span,
.event_time span,
.event_loca span,
.event_conta span {
	display:inline-block;
	padding:2px 8px;
	color:#333;
	background:#f7df2d;
	border-radius: 5px;
	margin-right:15px;
}

.kz-stamprally {
	display:block;
	margin:0 auto 30px auto;
	width:360px;
}
@media (min-width: 769px) {
.kz-stamprally {
	width:700px;
}
}

.catchcopy_text .present-desc {
	text-align:center;
}