@charset "UTF-8";
/*---------------------------------
  Basic
---------------------------------*/
body {
	color: #000;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.1em;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
  position: relative;
}

h1,h2,h3,h4,h5 {
  font-weight: 900;
  letter-spacing: 0.1em;
	margin: 0;
	padding: 0;
}

img {
	width: 100%;
	border: 0;
	vertical-align: bottom;
  display: block;
}

p,ul,li,dl,dt,dd,th,td {
	margin: 0;
	padding: 0;
}

ol,ul,li {
	list-style: none;
}

i {
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

::selection {
	background: #ffccc7;
}

::-moz-selection {
	background: #ffccc7;
}

@media screen and (max-width: 896px) {	
	body {
		font-size: 14px;
		min-width: 300px;
	}
}

/*---------------------------------
  Link
---------------------------------*/
a:link, a:visited, a:hover, a:active {
	color: #000;
	text-decoration: none;
}

/*---------------------------------
  Common
---------------------------------*/
.contents_wrap {
  margin-top: 7em;
}

.wrapper {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 1em;
}

.noto_sans {
  font-family: "Noto Sans JP", sans-serif;
}

.text_box p:nth-child(n+2) {
  margin-top: 1em;
}

iframe {
  width: 100%;
}

.logo_list {
	display: flex;
	flex-wrap: wrap;
  margin: 2em 0;
}

.logo_list li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
	height: 80px;
  font-size: 14px;
  line-height: 1.5em;
  border: solid 1px #ccc;
  background: #fff;
	margin: 0.5em;
  padding: 1em;
}

.logo_list li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.logo_list li a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.logo_list li img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
}

.logo_list_four li {
  width: calc(100% / 4 - 1em);
}

@media print, screen and (max-width: 896px) {
  .contents_wrap {
    margin-top: 3em;
  }
  
  .background_wrap {
    padding: 3em 0;
  }
  
  .wrapper {
    padding: 0 4%;
  }
  
  .logo_list_four li {
    width: calc(100% / 2 - 1em);
  }
}

/*---------------------------------
  Header
---------------------------------*/
header video {
  width: 100%;
  height: 90%;
}

/*---------------------------------
  開催日時
---------------------------------*/
.eventdate_wrap {
  color: #fff;
  font-weight: 800;
  background: #b3272d;
  margin-top: -10px;
  padding: 1em 0;
}

.eventdate_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.eventdate_content li {
  padding: 0.3em 0.5em;
}

.eventdate_text {
  font-size: clamp(16px, 3vw, 18px);
}

.eventdate_text span,
.eventdate_venue {
  font-size: clamp(18px, 3vw, 28px);
}

/*---------------------------------
  大人たちから子どもたちへ夢と想い出を
---------------------------------*/
.catch_content {
  font-family: "Noto Serif JP", serif;
  display: flex;
  flex-wrap: wrap;
}

.catch_left_box,
.catch_right_box {
  width: 30%;
}

.catch_left_box img ,
.catch_right_box img {
  height: 100%;
  max-height: 400px;
  object-fit: cover;
}

.catch_box {
  width: 40%;
  padding: 3em;
}

.catch_box p {
  font-size: clamp(16px, 3vw, 21px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 2em;
  writing-mode: vertical-rl;
  margin: 0 auto;
}

.catch_box p span {
  display: block;
  padding-top: 1em;
}

/*---------------------------------
  GIFUもとす夢花火
---------------------------------*/
.request_content {
  text-align: center;
}

.request_content h2 {
  color: #b3272d;
  font-size: clamp(21px, 3vw, 32px);
  font-weight: 900;
  text-align: center;
  margin-bottom: 1em;
}

.request_btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #fff !important;
  font-size: 28px;
  font-size: clamp(18px, 3vw, 28px);
  background: #b3272d;
  box-shadow: 8px 8px 0 #000;
  display: inline-block;
  margin: 1.5em auto 0 auto;
  padding: 0.5em 1em;
}

/*
.request_btn:after {
  content: '';
  height: 20px;
  --b:25px;
  aspect-ratio: cos(30deg);
  clip-path: polygon(100% 50%,0 100%,0 0,100% 50%,calc(100% - var(--b)) 50%,calc(var(--b)/2) calc(var(--b)*cos(30deg)), calc(var(--b)/2) calc(100% - var(--b)*cos(30deg)),calc(100% - var(--b)) 50%);
  background: #fff;
}
*/

.request_btn:hover {
  opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .request_btn:after {
    vertical-align: sub;
  }
}

@media print, screen and (max-width: 480px) {
  .request_content div p {
    text-align: left;
  }
}

/*---------------------------------
  募金箱の設置場所はこちら
---------------------------------*/
.donationbox_content {
  text-align: center;
}

.donationbox_content h2 {
  font-size: clamp(18px, 3vw, 24px);
  margin-bottom: 1em;
}

.donationbox_content h2:before {
  content: '＼';
}

.donationbox_content h2:after {
  content: '／';
}

.donationbox_content iframe {
  margin-top: 2em;
}

@media print, screen and (max-width: 480px) {
  .donationbox_content p {
    text-align: left;
  }
}

/*---------------------------------
  Event Common
---------------------------------*/
.event_wrap .title_content {
  background: url("images/bg_event_title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.title_content h2 {
  font-size: clamp(21px, 3vw, 36px);
  text-shadow: 0 0 8px #fff;
  padding: 4em 0;
}

.event_content {
  padding: 5em 0;
}

.event_content h3 {
  width: 80%;
  max-width: 400px;
  font-size: clamp(18px, 3vw, 24px);
  text-align: center;
  background: #fff;
  border-radius: 5em;
  position: relative;
  margin: 0 auto 2em auto;
  padding: 0.5em;
}

.event_content h3:after {
  content: '';
  position: absolute;
  top: -1em;
  right: -50px;
}

@media print, screen and (max-width: 896px) {
  .event_content h3:after {
    transform: scale(0.6);
  }
}

/*---------------------------------
  キッチンカー
---------------------------------*/
.kitchencar_content,
.craft_content {
  background: #b3272d;
}

.kitchencar_content h3:after {
  content: url("images/thumb_kitchencar_title.png");
}

/*
.event_content p {
  color: #fff;
  font-size: clamp(18px, 3vw, 28px);
  text-align: center;
  padding: 5em;
}
*/

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

.kitchencar_inner {
  width: calc(100% / 4 - 2em);
  color: #fff;
  text-align: center;
  margin: 1em;
}

.kitchencar_inner p {
  font-size: clamp(12px, 1.5vw, 14px);
  word-wrap: break-word;
  line-height: 1.8em;
  margin-top: 0.5em;
}

@media print, screen and (max-width: 896px) {
  .kitchencar_inner {
    width: calc(100% / 3 - 2em);
  }
}

@media print, screen and (max-width: 480px) {
  .kitchencar_inner {
    width: calc(100% / 2 - 2em);
  }
}

/*---------------------------------
  ステージ
---------------------------------*/
.stage_content h3 {
  color: #fff;
  background: #b3272d;
}

.stage_content h3:after {
  content: url("images/thumb_stage_title.png");
}

.stage_content p {
  color: #000;
}

.stage_box table {
  width: 100%;
}

.stage_box table tr th,
.stage_box table tr td {
  font-size: clamp(14px, 2vw, 21px);
  font-weight: 600;
  word-wrap: break-word;
  border: solid 1px #ccc;
  padding: 1em;
}

.stage_box table tr th {
  color: #fff;
  background: #b3272d;
}

/*---------------------------------
  クラフト
---------------------------------*/
.craft_content h3:after {
  content: url("images/thumb_craft_title.png");
}

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

.craft_inner {
  width: calc(100% / 3 - 2em);
  color: #fff;
  margin: 1em;
}

.craft_inner p {
  word-wrap: break-word;
  line-height: 1.8em;
}

@media print, screen and (max-width: 896px) {
  .craft_inner {
    width: calc(100% / 2 - 2em);
  }
}

@media print, screen and (max-width: 480px) {
  .craft_inner {
    width: 100%;
  }
}

/*---------------------------------
  会場案内
---------------------------------*/
.guide_wrap .title_content {
  background: url("images/bg_guide_title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.guide_wrap h3 {
  font-size: clamp(18px, 3vw, 28px);
  text-align: center;
  margin: 1em 0;
}

.guide_content {
  font-weight: 800;
  text-align: center;
  margin-top: 3em;
}

.guide_content p {
  font-size: 18px;
}

.guide_content iframe {
	height: 500px;
}

.parking_content {
  margin-top: 5em;
}

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

.parking_content ul li {
  width: calc(100% / 2);
  padding: 0.5em;
}

@media print, screen and (max-width: 896px) {
  .parking_content ul li {
    width: 100%;
  }
}

/*---------------------------------
  駐車場
---------------------------------*/
.parking_info_content {
  border: solid 5px #b3272d;
  margin-top: 3em;
  padding: 1em 2em 2em 2em;
}

.parking_info_content h3 {
  color: #b3272d;
}

.parking_info_box ul li {
  font-size: clamp(14px, 2vw, 21px);
  text-align: center;
  padding: 0.5em 0;
}

.parking_map {
  margin-top: 3em;
}

/*---------------------------------
  協賛金のお願い
---------------------------------*/
.sponsor_wrap .title_content {
  background: url("images/bg_sponsor_title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.sponsor_wrap  .request_content {
  margin-top: 3em;
}

.sponsor_content h3 {
  font-size: clamp(16px, 3vw, 28px);
}

.sponcor_list_box {
	display: flex;
	flex-wrap: wrap;
  margin: 2em 0;
}

.sponcor_list_box li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
	height: 80px;
  font-size: 14px;
  line-height: 1.5em;
  border: solid 1px #ccc;
  background: #fff;
	margin: 0.5em;
  padding: 5px;
}

.sponcor_list_box li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.sponcor_list_box li a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.sponcor_list_box li img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
}

.sponcor_list_box_3 li {
	width: calc(100% / 3 - 1em);
}

.sponcor_list_box_4 li {
	width: calc(100% / 4 - 1em);
}

.sponcor_list_box_6 li {
	width: calc(100% / 6 - 1em);
}

.sponsor_content hr {
  border-top: solid 1px #fff;
  border-bottom: solid 1px #ccc;
}

@media print, screen and (max-width: 896px) {
	.sponcor_list_box li {
		width: calc(100% / 2 - 1em);
	}
}

/*---------------------------------
  Footer
---------------------------------*/
.footer_content h2 {
  font-size: clamp(18px, 3vw, 28px);
}

.footer_content h3 {
  font-size: clamp(16px, 2.5vw, 24px);
  margin: 1em 0 0.5em 0;
}

.member_box dl,
.member_box dl dd ul,
.contact_info_box dl,
.contact_info_box dl dd ul {
  display: flex;
  flex-wrap: wrap;
}

.member_box dl dt:after,
.contact_info_box dl dt:after {
  content: '：';
}

.member_box dl dd li:nth-of-type(n+2):before {
  content: '／'
}

.contact_info_box {
  margin-top: 1em;
}

.contact_info_box dl dd ul li {
  margin-right: 1em;
}

.contact_info_box dl+p a {
  color: #b3272d;
  text-decoration: underline;
}

address {
  font-family: "Noto Sans JP", sans-serif;
	font-size: 0.7em;
	font-style: normal;
	padding: 2em 0;
}
