/* import
--------------------------------------------------*/
@import "init.css";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');


/* ■■■ 終了対応 ■■■ */
.endAnnounce {
	position: relative;
	width: 100%;
	background: #ffffff;
	padding: 20px 0;
}

.endAnnounce p {
	position: relative;
	width: 1000px;
	background: #ffffff;
	padding: 20px;
	line-height: 1;
	color: #e4002b;
	border: solid 4px #cccccc;
	text-align: center;
	margin: auto;
	font-size: 24px;
	box-sizing: border-box;
	display: block;
}

.endAnnounce a {
	color: #FF8B49;
}

.endAnnounce_text {
	color: #e4002b;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.endAnnounce p {
		width: 92%;
		padding: 4%;
		font-size: 5vw;
	}
}


/* html, body
--------------------------------------------------*/
:root {
	--basecolor: #16836b;
	--basecolor-tra24: rgba(22, 131, 107, 0.24);
}

.basecolor{color: var(--basecolor);}

html,
body {
	position: relative;
	width: 100%;
	min-width: 1040px;
	text-align: left;
	-webkit-text-size-adjust: none;
	background: #fff;
}

@media screen and (max-width: 768px) {

	html,
	body {
		min-width: 320px;
		overflow-x: hidden;
		-webkit-text-size-adjust: 100%;
		min-width: 100%;
	}
}


/* siteCommonStyle
--------------------------------------------------*/
/* font-size */
body,
td,
th {
	font-size: 16px;
	line-height: 1.5;
	color: #1e2523;
}

/* a */
a {
	color: #666666;
	text-decoration: none;
}


/* layout
--------------------------------------------------*/

main {
	position: relative;
	width: 100%;
	margin: 0 auto 0;
	font-family: YakuHanJP, "Zen Maru Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, sans-serif;
	display: block;
}

/* ■■■ メインビジュアル ■■■ */
.main-v h1 img {
	width: 100%;
	max-width: 1280px;
	display: block;
	margin: auto;
}


.announce {
	background-color: #EEEEEE;
	text-align: center;
	padding: 20px 10px;
	margin-top: 40px;
}

.announcetxt_1 {
	font-size: 34px;
	color: #c34029;
	padding-bottom: 10px;
	font-weight: 500;
}

.announcetxt_2 {
	font-size: 22px;
	text-align: center;
}

.announcetxt_3 {
	font-size: 26px;
	text-align: center;
	font-weight: 500;
}


@media screen and (max-width: 768px) {
	.announce {
		padding: 5vw 0;
		margin-top: 2vw;
	}

	.announcetxt_1 {
		font-size: 5.4vw;
		padding-bottom: 1vw;
		line-height: 1.4;
	}

	.announcetxt_2 {
		font-size: 4.25vw;
	}

	.announcetxt_3 {
		font-size: 5vw;
	}

}



/* ■■■ 共通 ■■■ */
.section {
	width: 1040px;
	margin: 0 auto;
	position: relative;
}

.section .inr {
	width: 860px;
	margin: 0 auto;
}

.ttl_l {
	background: #74b46a;
	box-shadow: 0px 0px 0px 5px #74b46a;
	border: dashed 2px #d9fad0;
	padding: 12px;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	color: #fff;
	margin-bottom: 40px;
	margin-top: 60px;
}


.ttl_s {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 28px;
	color: #74b46a;
	letter-spacing: .15em;
	font-weight: 500;
	width: 860px;
	margin: 20px auto 0;
}

.ttl_s::before,
.ttl_s::after {
	content: "";
	height: 2px;
	flex-grow: 1;
	background-color: #74b46a;
}

.ttl_s::before {
	margin-right: 28px;
}

.ttl_s::after {
	margin-left: 28px;
}

.txt_s {
	font-size: 30px;
}
sup{
	font-size: 66%;
	margin-right: 4px;
}
@media screen and (max-width: 768px) {
	.section {
		width: 100%;
	}

	.section .inr {
		width: 96%;
		margin: auto;
	}

	.ttl_l {
		padding: 2vw;
		font-size: 6vw;
		margin-bottom: 4vw;
		margin-right:5px;
		margin-left:5px;
		margin-top: 10vw;
	}

	.ttl_s {
		font-size: 6vw;
		width: 100%;
	}

	.txt_s {
		font-size: 6vw;
	}
}
.indent{
	padding-left: 1em;
  text-indent: -1em; 
}


/* ■■■ イベント概要 ■■■ */
.summary {
	text-align: center;
}

.map {
	position: relative;
	margin: 30px auto;
	width: 860px;
}

.map iframe {
	width: 100%;
	height: 500px;
}

.summary .txt {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: .05em;
}

.summary .txt span {
	font-size: 22px;
	font-weight: 500;
}

.summary .txt.s {
	font-size: 20px;
}
.summary .txt.ss {
	font-size: 16px;
}
@media screen and (max-width: 768px) {
	.summary .txt {
		font-size: 5vw;
		line-height: 1.4;
	}

	.summary .txt span {
		font-size: 4vw;
	}

	.summary .txt.s {
		font-size: 3.8vw;
	}
	.summary .txt.ss{
		font-size: 3.2vw;
	}
	.map {
		position: relative;
		width: 100%;
		margin: 5vw auto;
	}

	.map iframe {
		width: 100%;
		height: 75vw;
	}
}


/* ■■■ イベント内容 ■■■ */

.event_index_list {
	display: flex;
	padding: 20px;
	justify-content: center;
	gap: 0 40px;
	font-size: 18px;
}

.event_index__ttl {
	color: #fff;
	text-align: center;
	padding: 2px 8px;
	border-radius: 8px;
	margin-bottom: 4px;
	font-weight: 500;
}

.bloomgate {
	background: #e95098;
}

.nigiwaistage {
	background: #7fb651;
}

.notfound {
	background: #ee794c;
}

.event_index_list a {
	font-weight: 500;
	color: var(--basecolor);
	display: block;
	padding-left:8px;
}

.event_index_list a:hover {
	text-decoration: underline !important;
	opacity: 1;
}

.event_index_list p {
padding-left: 1em;
  text-indent: -1em; 
}

.event_index_list p+p {
	margin-top: 10px;
}

.event_index_list li {
	flex: 1;
}


.contents_box_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px;
	margin-top: 50px;
}

.contents_box {
	border: 3px solid var(--basecolor);
	border-radius: 20px;
	padding: 35px;
	position: relative;
}

.contents_box {
	width: calc(50% - 20px);
	display: flex;
	flex-direction: column;
}

.contents_box.w100 {
	width: 100%;
}
.contents_box.w50 .event_info{
	margin-bottom: 30px;
}
.contents_box.w50 .event_detail {
margin-top: auto;
}
.logo_with_green {
	width: 260px;
	padding-top: 10px;
}


.cnt_ttl {
	color:var(--basecolor);
	font-size: 30px;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 20px;
	font-weight: 600;
}

.cnt_txt {
	margin-bottom: 20px;
	font-size: 18px;
}

.cnt_slogan {
	color: var(--basecolor);
	font-size: 19px;
	text-align: center;
	margin-bottom: 6px;
	font-weight: 500;
}


.event_ttl {
	width: 100%;
}

.event_info {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
}

.event_info__ph {
	width: 55%;
}

.event_info__ph.-s {
	width: 35%;
}

.event_info__txt {
	flex: 1;
	font-size: 24px;
}
.event_info__txt.only{
text-align: center;
}
.event-txt-s{
font-size: 20px;
line-height: 1.6;
}
.event_detail {
	margin-top: 30px;
	font-family: "Noto Sans JP", sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.event_detail__txt {
	font-size: 24px;
	display: inline-block;
}

.event_detail__txt.area {
	color: #fff;
	text-align: center;
	padding: 2px;
	border-radius: 10vh;
	width: 330px;
	margin-right: auto;
	margin-left: auto;
}

.event_detail__txt.time span.l {
	font-size: 28px;
}
.event_detail__txt.time span.no-blm {
color: #e95098;
}
.event_detail__txt.time span.no-nfd {
color: #ee794c;
}


.contents_box.w50 .cnt_slogan {
	letter-spacing: -0.03em;
  white-space: nowrap;
}

.contents_box.w50 .cnt_ttl {
	font-size: 28px;
}

.contents_box.w50 .event_detail__txt {
	font-size: 18px;
}

.contents_box.w50 .event_detail__txt.area {
	width: 100%;
}

.contents_box.w50 .event_detail div {
	flex-direction: column;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.event_map {
		width: 96%;
		padding: 7vw 0 0;
	}

	.event_info {
		flex-direction: column;
		gap: 5vw 0;
	}
.event_info__ph,
.event_info__ph.-s {
	width: 100%;
}

.event_info__txt {
	font-size: 4.6vw;
}

.event_info__txt.only {
	text-align: left;
}

.event-txt-s {
	font-size: 3.888vw;
}

.event_index_list {
	flex-wrap: wrap;
	gap: 3vw 0;
	padding: 6vw 2vw;
}


.event_index_list li {
	width: 100%;
	flex: inherit;
}

.event_index_list p+p {
	margin-top: 1.6vw;
}
	.event_detail{
margin-top: 4vw;
gap: 1vw;
	}
	.event_detail__txt {
		font-size: 4vw !important;
	}

	/* .event_detail__txt.w-fix {
		width: 100%;
		text-align: center;
	} */

	.event_detail__txt.time span.l {
		font-size: 4.6vw;
	}

	.event_detail__txt.area {
		width: 100%;
	}

	.contents_box_wrap {
		padding: 3vw;
		gap: 6vw;
		margin-top: 0;
	}

	.contents_box {
		width: 100% !important;
		padding: 5vw;
	}

	.contents_box+.contents_box {
		margin-top: 4vw;
	}

	.cnt_ttl {
		font-size: 6.02vw !important;
		margin-bottom: 3vw;
	}

	.logo_with_green {
		width: 54vw;
	}

	.cnt_txt {
		margin-bottom: 5vw;
		font-size: 4.6vw;
		line-height: 1.4;
	}

	.cnt_slogan {
		font-size: 4.8vw !important;
		letter-spacing: -0.05em;
	}


}



/* ■■■ deco ■■■ */
.deco {
	position: absolute;
	z-index: 100;
}

.deco04 {
	top: -30px;
	right: -30px;
}

.deco03 {
	top: -30px;
	right: -40px;
}

.deco01 {
	top: -80px;
	left: -30px;
}

.deco05 {
	top: -40px;
	right: -10px;
}

.deco02 {
	top: -30px;
	left: 0;
}

.deco08 {
	top: -30px;
	right: 10px;
}

.deco07 {
	top: -60px;
	left: -30px;
}
.deco07 img{
	width: 92px;
}
.deco09 {
	bottom: -10px;
	right: -30px;
	transform: rotate(12deg);
}

@media screen and (max-width: 768px) {
	.deco04 {
		top: -14vw;
		left: -6vw;
	}

	.deco04 img {
		width: 28vw;
	}

	.deco03 {
		top: -7vw;
		right: -6vw;
	}

	.deco03 img {
		width: 24vw;
	}

	.deco01 {
		top: -19vw;
		left: -7vw;
	}

	.deco01 img {
		width: 24vw;
	}

	.deco05 {
		top: -12vw;
		right: -6vw;
	}

	.deco05 img {
		width: 26vw;
	}

	.deco02 {
		top: -9vw;
		left: -7vw;
	}

	.deco02 img {
		width: 26vw;
	}

	.deco08 {
		top: -12vw;
		right: -1vw;
	}

	.deco08 img {
		width: 26vw;
	}

	.deco07 {
		top: -15vw;
		left: -6vw;
	}

	.deco07 img {
		width: 26vw;
	}

	.special_area	.deco07 {
		top: -15vw;
		left: 0;
	}
	.special_area	.deco07 img {
		width: 22vw;
	}


	.deco09 {
		top: -17vw;
		bottom: initial;
		right: -8vw;
		transform: rotate(0);
	}

	.deco09 img {
		width: 24vw;
	}

}

#pagetop a:before {
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border-style: solid;
	border-width: 1px;
	border-color: #e4002b;
	background-color: #fff;
}

#pagetop a:after {
	top: 5px;
	right: 15px;
	width: 8px;
	height: 8px;
	transform: rotate(-45deg);
	border-top-style: solid;
	border-right-style: solid;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-color: #e4002b;
	border-right-color: #e4002b;
}


/* ■■■ PC/モバイル表示切り替え ■■■ */
.pc-inline{display: inline;}
.sp_visible {
	display: none;
}

.sp_del {
	display: block;
}

@media screen and (max-width: 768px) {
	.pc-inline{display: none;}
	.sp_visible {
		display: block;
	}

	.sp_del {
		display: none;
	}
}


/* 2025追記 */
.special_area {
	padding: 30px 0;
}

.bg-green {
	background: rgba(233, 255, 227, 0.712);
}

.specialevent {
	font-size: 16px;
	background: repeating-linear-gradient(-45deg, #fff 0 5px, #555 5px 10px);
	padding: 1rem;
	position: relative;
	background: repeating-linear-gradient(-45deg, #fff 0 5px,var(--basecolor) 5px 10px);
}

.specialevent_inr {
	/* min-height: 100px; */
	padding: 3rem;
	background-color: #fdffff;
}


.specialevent_flame {
	font-family: "Zen Maru Gothic", sans-serif;
	margin: 0 0 1rem;
	text-align: center;
	padding: 0.5rem;
	letter-spacing: 0.25rem;
}

.specialevent_ttl {
	position: relative;
	display: inline-block;

}

.specialevent_ttl .cnt_ttl {
    font-size: 30px;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 20px;
		font-weight: 600;
}

.specialevent_ttl::before,
.specialevent_ttl::after{
	content: "";
	position: absolute;
	width: 80px;
	height: 3px;
	bottom: 18px;
	border-radius: 3px;
background-color: var(--basecolor);
}
.specialevent_ttl::before {
	left: 0;
	transform: translateX(-150%) rotate(50deg);
	transform-origin: right bottom;
}

.specialevent_ttl::after {
	right: 0;
	transform: translateX(150%) rotate(-50deg);
	transform-origin: left bottom;
}


.specialevent .cnt_ttl,
.specialevent .cnt_slogan{color:var(--basecolor);}

.specialevent .contents_box{
	width: 860px;
	margin-right:  auto;
	margin-left:  auto;	
	background: #fff;
	border: none;
	padding-top: 20px;
	box-shadow: 0 2px 8px #39393929;
}

.specialevent .txt{
font-size: 24px;
text-align: center;
}

.specialevent-info{
width: 860px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content:space-around;
gap: 10px 24px;
}
.specialevent-info .txt{
	width: 55%;
	text-align: left;
}
.specialevent-info .ph{
width: 40%;
}
.specialevent-info .w100{
	width: 100%;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.column-2 {
	gap: 24px;
}

.column-3{
	gap: 12px;
}

@media screen and (min-width: 769px) {
	.w860px-pc {
		width: 860px;
	}

	.column-2 .item-1 {
		width: calc(50% - 12px);

	}

	.column-3 .item-1 {
		width: calc((100% - 24px) / 3);
	}

}
@media screen and (max-width: 768px) {
.specialevent_inr {
    padding: 3vw;
}
.specialevent_ttl::before,
.specialevent_ttl::after {
	content: none;
}

.specialevent .txt {
	font-size: 4.6vw;
	text-align: left;
}
.specialevent-info{
flex-direction: column;
gap: 1.4vw 4vw;
width:100%;
}
.specialevent-info .txt{
	width: 100%;
	font-size: 4.6vw;
}
.specialevent-info .ph{
	width: 100%;
}
.specialevent-info .txt2{
font-size: 3.33vw;
line-height: 1.4;
}
.dir-column-sp{
	flex-direction: column;
}
.special_area .column-2 {
	padding: 3vw;
}
.column-2 {
	gap: 3.5vw;
}

.specialevent_flame {
	margin-bottom: 0;
}

}

/* コラム */
.event-column_box{
	margin-top: 44px;
	padding: 24px;
	/* border: 2px solid #16836b24; */
	border: 2px solid var(--basecolor-tra24);
	color: #535353;
	background: #f0fffc;
	font-size: 18px;
	line-height: 1.6;
	position: relative;
	display: flex;
	gap: 24px;
}

.event-column_btn{
	font-size: 16px;
	letter-spacing: -0.05em;
	display: block;
	width: 200px;
	background-color:var(--basecolor) ;
    color: #fff;
    text-align: center;
    padding: 2px 24px;
    border-radius: 10vh;
    margin: 10px 0 0 0;
}

.event-column-ill{
	width: 200px;
}
.event-column-txt{
	width: calc(100% - 200px);
}

.ribbon{position: absolute;
top: -22px;
left: -11px;}

.ribbon span {
  background:var(--basecolor);
  color: #fff;
  display: inline-block;
  font-weight: bold;
  padding: 4px 12px;
  position: relative;
}
.ribbon span::before {
  border-bottom: 8px solid transparent;
  border-right: 10px solid #10332c;
  content: '';
  left: 0;
  position: absolute;
  top: 100%;
}

@media screen and (max-width: 768px) {
.event-column_box{
	flex-direction: column;
	gap: 4vw;
	margin-top:8vw;
	padding: 4vw 3.2vw;
	font-size: 4.102vw;
}
.event-column-ill,.event-column-txt{width: 100%;}
.ribbon{position: absolute;
top: -22px;
left: -11px;}

.ribbon span {
  padding: 0.5vw 4vw 1.25vw;
  position: relative;
}
.event-column_btn {
	font-size: 3.846vw;

	width: 80%;
	margin: 4vw auto 0;
}

}

.flex-row {
  display: flex;
	flex-wrap: wrap;
}

.flex-row dt {
  white-space: nowrap; 
  margin-right: 8px;  
}

.flex-row dd {
  flex: 1; 
  margin: 0; 
}


.flex-row.wrap dt{
width: 100%;
}

@media screen and (max-width: 768px) {
	.flex-row.sp-wrap dt{
width: 100%;
}
}


.reservation_box {
	width: 860px;
	background: #ffffff;
	border: 1px solid var(--basecolor);
	margin: 24px auto;
	color: #535353;
}

.reservation {
	padding: 16px 24px 24px;
}

.reservation_ttl {
	background-color:var(--basecolor);
	padding: 8px 0 8px 24px;
	color: #fff;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.reservation_box {
		width: 100%;
		margin: 6.153vw auto;
	}

	.reservation {
		padding: 3.076vw 4.102vw 4.102vw;
	}
.reservation_ttl {
	padding: 1vw 0 1vw 4.102vw;
}
}

.inrlink{
	text-decoration: underline;
	color: inherit;
}



