@charset "UTF-8";
/* CSS Document */

*, *:before, *:after {
-webkit-box-sizing: border-box;
box-sizing: border-box
}
html {
  /* デフォルト（モバイルビュー）ではベースのfont-sizeは12px相当 */
  font-size: 75%;
  scroll-behavior: smooth;
}

@media screen and (min-width:768px) {
  html {
    /* タブレットビューではベースのfont-sizeは14px相当 */
    font-size: 87.5%;
  }
}

@media screen and (min-width:1200px) {
  html {
    /* デスクトップビューではベースのfont-sizeは16px相当 */
    font-size: 100%;
  }
}
body{
font-family: 'Noto Sans JP', sans-serif;
font-feature-settings: "palt" 1;
/*background: url("/img/back_2024.jpg") repeat top center;*/
letter-spacing: 0.1rem;
  background: #000000;
}

/*
font-family: 'Noto Sans JP', sans-serif;123456789
font-family: "Zen Old Mincho", serif;4567-9
*/


/*---TOPメイン--*/
#title{
  width: 100%;
  position: relative;
  padding: 0;
  text-align: center;
  overflow: hidden;
  background: #fff;
}
#title .logo{
  width: 2500px;
  padding-top: 100px;
  background: url("../img/25obi_top.webp") no-repeat top center / 100% auto;
  margin: 0 0 0 calc((100% - 2500px)/2);
  text-align: center;
  position: relative;
  z-index: 2;
}
#title .logo img{
  width: 100%;
  max-width: 800px;
}
#title .main{
  margin-top: -15%;
  position: relative;
  z-index: 0;
}
#title .main img{
  width: 100%;
}
@media (max-width: 1100px) {
#title .logo{
  width: 1500px;
  padding-top: 50px;
  margin: 0 0 0 calc((100% - 1500px)/2);
}
#title .logo img{
  max-width: 700px;
}
}
@media (max-width: 768px) {
#title .logo{
  width: 100%;
  padding-top: 30px;
  margin: 0;
  background: url("../img/25obi_top.webp") no-repeat top center / 180% auto;
}
#title .logo img{
  width: 90%;
  display: inline-block;
}
}

/*---TOPポスター--*/
#poster{
padding: 30px;
background: #fff url("../img/25back_01.webp") no-repeat bottom -1px center / 100% auto;
}
#poster h3{
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 15px;
}
.poster{
text-align: center;
}
.poster p{
max-width: 600px;
margin: auto;
}
.poster img{
width: 100%;
}

/*---TOP協賛募集--*/
#kyousan_top{
  padding: 30px;
  background: #18263C url("../img/25back_01.webp") no-repeat bottom -1px center / 100% auto;
  color: #fff;
}
#kyousan_top h3{
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 15px;
}
#kyousan_top .kyousan{
text-align: center;
}
#kyousan_top .kyousan p{
max-width: 600px;
margin: 30px auto;
border: 1px solid #fff;
}
#kyousan_top .kyousan p img{
width: 100%;
}
#kyousan_top .box{
max-width: 800px;
margin: 0 auto 30px;
  text-align: center;
}
#kyousan_top .box > a {
  position: relative;
  display: inline-block;
  color: #fff;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  font-weight: 800;
  overflow: hidden;
  z-index: 0;
  text-decoration: none;
}
/* 下にベースのグラデーション */
#kyousan_top .box > a::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #26449A, #000000 10% 90%, #26449A);
  z-index: -2;
}
/* 上に重ねて、ホバー時に透明度で消えるグラデーション */
#kyousan_top .box > a::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #e4007f, #000000 10% 90%, #e4007f);
  transition: opacity 0.5s ease;
  z-index: -1;
  opacity: 1;
}
#kyousan_top .box > a:hover::before {
  opacity: 0;
}
@media (max-width: 768px) {
#kyousan_top{
  padding: 30px;
}
#kyousan_top .box > a{
font-size: 1.3rem;
}
}

/*---TOP応募系--*/
#oubo{
  padding: 30px 30px 50px;
  background: #fff;
}
#oubo .box{
max-width: 800px;
margin: 20px auto 0;
text-align: center;
}
#oubo h3{
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 20px;
}
#oubo .box p{
text-align: left;
}
#oubo .box > a {
  position: relative;
  display: inline-block;
  color: #fff;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  font-weight: 800;
  overflow: hidden;
  z-index: 0;
  text-decoration: none;
}
/* 下にベースのグラデーション */
#oubo .box > a::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #26449A, #000000 10% 90%, #26449A);
  z-index: -2;
}
/* 上に重ねて、ホバー時に透明度で消えるグラデーション */
#oubo .box > a::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #e4007f, #000000 10% 90%, #e4007f);
  transition: opacity 0.5s ease;
  z-index: -1;
  opacity: 1;
}
#oubo .box > a:hover::before {
  opacity: 0;
}
#oubo .box.shimin > a{
margin: 20px auto 0;
}
#oubo .box.shimin > a span{
display: block;
font-size: 75%;
}
#oubo .box.shimin p{
margin: 0 auto 1.5rem;
text-align: center;
}
#oubo .box.shimin p:nth-of-type(2){
text-align: left;
}
@media (max-width: 768px) {
#oubo{
  padding: 20px 30px 30px;
}
#oubo .box.shimin p{
margin: 0 auto 1.5rem;
  text-align: left;
}
}

/*---TOP協賛--*/
#kyousan{
  background: #18263C url("../img/25back_01.webp") no-repeat bottom -1px center / 100% auto;
  color: #fff;
  padding: 80px 0;
}
#kyousan h3{
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 20px;
}
#kyousan .row{
max-width: 1040px;
margin:  1.5rem auto 0;
}
#kyousan .row div{
margin: 1.5rem auto;
}
#kyousan img{
width: 100%;
}
#kyousan .row.d-type{
text-align: center;
}
#kyousan .row.d-type img{
width: 85%;
}
#kyousan span{
display: block;
margin: 3rem auto;
text-align: center;
}
#kyousan span a{
display: inline-block;
background: #fff;
border-radius: 4rem;
padding: 1.5rem 3rem;
font-size: 2rem;
color: #2c4d77;
letter-spacing: 0.2rem;
font-family: 'Nanum Myeongjo', serif;
transition: 1.0s ;
}
@media (max-width: 768px) {
#kyousan{
  padding: 50px 0;
}
#kyousan span a{padding: 1.5rem 2rem;font-size: 1.8rem;letter-spacing: 0.1rem;}
}

/*---フッター--*/
#info{
  background: #fff;
text-align: center;
padding: 30px;
}
footer{
background-image: linear-gradient(135deg, #e4007f, #000000 10% 90%, #e4007f);
}
footer a[href^="tel"] {
  color: #000000 !important;
}
footer .container img{
width: 100%;
border: none;
margin: 20px auto 20px;
}

/*--kyousanページ（TOPの#kyousanの追記）---*/
#title-kyo{
  width: 100%;
  position: relative;
  padding: 0;
  text-align: center;
  overflow: hidden;
  background: #fff;
}
#title-kyo .logo{
  width: 2500px;
  padding: 30px 0 10px;
  background: url("../img/25obi_top.webp") no-repeat top center / 100% auto;
  margin: 0 0 0 calc((100% - 2500px)/2);
  text-align: center;
  position: relative;
  z-index: 2;
}
#title-kyo .logo img{
  width: 100%;
  max-width: 500px;
}
@media (max-width: 1100px) {
#title-kyo .logo{
  width: 1500px;
  padding-top: 50px;
  margin: 0 0 0 calc((100% - 1500px)/2);
}
#title-kyo .logo img{
  max-width: 400px;
}
}
@media (max-width: 768px) {
#title-kyo .logo{
  width: 100%;
  padding-top: 10px;
  margin: 0;
  background: url("../img/25obi_top.webp") no-repeat top center / 180% auto;
}
#title-kyo .logo img{
  width: 60%;
  display: inline-block;
}
}
#kyousan.page{
  background: #18263C url("../img/25back_01.webp") no-repeat bottom -30px center / 100% auto;
  padding: 80px 0 100px;
  text-align: center;
}
#kyousan h1 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-family: 'Zen Antique', serif;
  letter-spacing: 0.2em;
}
#kyousan h1:before, #kyousan h1:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #fff;
}
#kyousan h1:before {
  left:0;
}
#kyousan h1:after {
  right: 0;
}
#kyousan .e-type{
margin: 1.5rem auto;
}
#kyousan .e-type > div{
max-width: 1040px;
margin: 0 auto;
text-align: center;
vertical-align: top;
}
#kyousan .e-type span{
width: 30%;
display: inline-block;
margin: 1.5rem 0.5rem 0;
font-size: 16px;
line-height: 120%;
vertical-align: top;
}
#kyousan .f-type{
margin: 4rem auto;
}
#kyousan .f-type > div{
max-width: 1040px;
margin: 0 auto;
text-align: center;
vertical-align: top;
}
#kyousan .f-type span{
width: 22%;
display: inline-block;
margin: 1.5rem 0.5rem 0;
font-size: 14px;
line-height: 120%;
vertical-align: top;
}
@media (max-width: 768px) {
#kyousan.page{padding: 50px 0 30px;}
#kyousan .e-type span{width: 46%;font-size: 14px;text-align: left;}
#kyousan .f-type span{width: 29%;font-size: 12px;text-align: left;}
}


/*---TOPプログラム--*/
#program{
  background: 
    url("../img/25back_01.webp") no-repeat bottom -30px center / 100% auto,
    url("../img/25prog_back.webp") repeat-y top center / 100% auto;
  overflow: hidden;
  padding: 0 0 200px;
}
#program h2.prog_title{
  max-width: 2070px;
  margin: 0 auto;
}
#program > .row{
max-width: 1040px;
margin-right: auto;
margin-left: auto;
border: none;
}
#program h2.prog_title img{
width: 100%;
}
#program h3{
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 15px;
}
#program img{
width: 100%;
}
#program h3{
width: 100%;
text-align: center;
margin: 2rem 0 0;
background: #9D763B url("/img/25prog_t_back.webp") no-repeat top left / auto 100%;
}
#program h3 img{
width: 150px;
}
#program h4{
width: 100%;
text-align: center;
margin: 1rem 0 0;
}
#program h4 img{
width: 300px;
}
#program h5 {
width: 100%;
letter-spacing: 0.2em;
color: #403937;
margin: 15px 0 10px;
  font-weight: 700;
}
#program h6{
width: 100%;
padding: 0.3rem;
text-align: center;
background: #002962;
color: #fff;
}
#program .col-md-3{
padding: 0.5rem;
}
@media (max-width: 768px) {
#program{
  padding: 0 0 50px;
}
#program .col-md-3{text-align: center;}
#program .col-md-3 img{width: 50%;}
#program p{margin-top: 1rem;}
#program .col-md-3{background:rgba(255,255,255,0.8);
margin: 0 1rem 1rem;}
}

/*---TOP交通規制--*/
#kisei{
background-image: url("/img/kisei_line_top.png"), url("/img/kisei_line_bottom.png"),url("/img/kisei_back.jpg");
background-position: top left,bottom left,top left;
background-size: 100% auto, 100% auto ,cover;
background-repeat: no-repeat,no-repeat,no-repeat;
padding: 5rem 3rem 8rem;
}
#kisei .box{
max-width: 1040px;
margin: 0 auto;
}
#kisei img{
width: 100%;
}
#kisei h3{
background: #792b27;
width: 100%;
padding: .5rem .5rem .5rem;
font-size: 1.2rem;
text-align: center;
margin: 2rem 0 0.5rem;
color: #fff
}
#kisei h4{
width: 100%;
font-size: 3rem;
text-align: center;
margin: 4rem 0 2rem;
font-family: 'Zen Antique', serif;
font-weight: 400;
}
#kisei .map02{
margin-top: 50px;
}
#kisei .map02-sp{
display: none;
}
#kisei .parking{
margin-top: 15px;
}
#kisei .parking h5{
  background: #9E2224;
  padding: 2px 5px;
  color: #fff;
  text-align: center;
font-size: 1.2rem;
letter-spacing: .2em;
}
#kisei .parking h4{
font-size: 1.6rem;
font-weight: 600;
margin: 0;
font-family: 'Noto Sans JP', sans-serif;
}
#kisei .parking h4 span{
font-size: 1rem;
}
#kisei .parking .p01,
#kisei .parking .p02,
#kisei .parking .p03{
color: #fff;
padding: 10px 30px;
border-radius: 50px;
text-align: center;
margin-top: 10px;
font-size: 1.7rem;
font-weight: 600;
}
#kisei .parking .p01{
background: #008C04;
}
#kisei .parking .p02{
background:#B97728;
}
#kisei .parking .p03{
background:#AD1315;
}
#kisei .parking .gray{
background: #aaa;
}
@media (max-width: 950px) {
#kisei .map02{
display: none;
}
#kisei .map02-sp{
margin-top: 30px;
display: block;
}
}
@media (max-width: 768px) {
#kisei{padding: 3rem 1.5rem;}
#kisei h3{font-size: 16px;text-align: left;}
#kisei .parking .p01,
#kisei .parking .p02,
#kisei .parking .p03{
padding: 5px 20px;
font-size: 1.5rem;
}
}

/*---TOP fm/ライブ配信--*/
#live .back{
background: #DD6B7B;
}
#live img{
width: 100%;
}
#live .fm{}
#live .fm-sp{
  display: none;
}
#live ul{
  list-style: none;
  text-align: center;
  padding-bottom: 5px;
  margin: 0;
}
#live li{
  display: inline-block;
  margin: 10px;
}
#live li a{
  display: block;
  padding: 5px 30px;
  background: #fff;
  border-radius: 20px;
  color: #000;
  font-size: 1.2rem;
}
#live .live{}
#live .live-sp{
  display: none;
}
@media (max-width: 768px) {
#live .fm{display: none;}
#live .fm-sp{display: block;}
#live .live{display: none;}
#live .live-sp{display: block;}
}

/*---TOPキッチンカー--*/
#kitcar img{
width: 100%;
}
#kitcar .kit{}
#kitcar .kit-sp{
  display: none;
}
@media (max-width: 768px) {
#kitcar .kit{display: none;}
#kitcar .kit-sp{display: block;}
}

/*---TOP駐車場へのページ内リンク--*/
#links{
background: #fff url("/img/25link_back.svg") repeat center / 100%;
padding: 20px;
text-align: center;
}
#links .box{
  margin: 0 auto;
}
#links .box > a {
  position: relative;
  display: inline-block;
  color: #fff;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  font-weight: 800;
  overflow: hidden;
  z-index: 0;
  text-decoration: none;
}
/* 下にベースのグラデーション */
#links .box > a::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #26449A, #000000 10% 90%, #26449A);
  z-index: -2;
}
/* 上に重ねて、ホバー時に透明度で消えるグラデーション */
#links .box > a::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #e4007f, #000000 10% 90%, #e4007f);
  transition: opacity 0.5s ease;
  z-index: -1;
  opacity: 1;
}
#links .box > a:hover::before {
  opacity: 0;
}
@media (max-width: 768px) {
#links{
padding: 15px;
}
#links .box > a {
  font-size: 1.4rem;
}
}


/*---TOP開催の連絡--*/
#kaisai{
background: #D31A78;
font-family: "Zen Old Mincho", serif;
font-weight: 700;
text-align: center;
color: #fff;
padding: 1rem 2rem;
font-size: 1.6rem;
letter-spacing: 0.2rem;
}

/*---TOP開催のお礼--*/
#orei{
background: #fff;/*#A22524*/
font-family: "Zen Old Mincho", serif;
font-weight: 700;
text-align: center;
color: #000;
padding: 3rem 2rem;
font-size: 1.3rem;
line-height: 200%;
letter-spacing: 0.1rem;
}
@media (max-width: 768px) {
#orei{
text-align: left;
padding: 2rem 1.5rem;
font-size: 1.2rem;
line-height: 200%;
letter-spacing: 0.1rem;
}
}

/*---TOPフード募集--*/
#food {
  background: #fff;
  padding: 20px;
}
#food a{
  display: block;
  max-width: 500px;
  margin: 0 auto;
}
#food img{
  width: 100%;
}




.sp-dn{display: block;}
.pc-dn{display: none;}

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


