@import url("/js/slick/slick.css");
@import url("/js/slick/slick-theme.css");
/* @import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP:wght@100;400;750;800&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

:root {
  --Col-Rblue:#29abff;
  --Col-red:#ff003b;
  --Col-yellow:#ffffb5;
  --Col-green:#29403e;
  --Col-pink:#ff8cb8;
}
html { scroll-behavior: smooth }
body { background-image: url(./image/naviBg.jpg); background-repeat: no-repeat; background-size: cover; background-attachment: fixed }
aside { background: none; padding: 0 }
aside.pcLeft a.draLogo { width: min(10vw,100px); left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%) }
aside.pcLeft .logoWrap { background: url(./image/logoBg.webp); background-position: center center; width: 100%; height: min(100%,816px); display: flex; align-items: center; justify-content: center }
aside.pcNavi { background: none }
main {
  overflow: hidden;
  background-color: #FFF;
  font-size: min(4.3vw,18px);
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  position: relative;
}
section { position: relative; box-sizing: border-box }
section:after { content: ""; background: url(./image/line.webp) repeat-x center; width: 100%; height: min(26px); display: block }
a[name] { margin-top: -33px; padding-top: 33px }
.full-image > img { display: block; margin-left: auto; margin-right: auto }
.textRe,.textBoRe { color: var(--Col-red) }

/*ボタン*/
a.btn { display: inline-block; font-size: min(4.8vw,24px); padding: 0.3rem 0; border-radius: 50px; text-decoration: none; width: min(80%,380px); font-weight: 700 }
/* TITLE */
h2 { text-align: center; margin-bottom: 2rem }
h3 { font-family: "dnp-shuei-mgothic-std", sans-serif }
/* CONTENTS */
.inner { width:min(100%,750px); margin: 0 auto; padding: 2rem min(5vw,60px); box-sizing: border-box }
img[src*="Title.webp"] { width:auto; max-width: 100% }

/* スケジュール */
#scheduleWrap { font-family: "dnp-shuei-mgothic-std", sans-serif; background: url(./image/scheduleBg.webp) no-repeat center bottom; background-size: cover }
#scheduleWrap .inner { padding: 1.5rem }
#scheduleWrap a.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  width: min(75%,320px);
  height: min(40px);
  position: relative;
  margin: auto;
}
#scheduleWrap a.btn:after {
  content: "";
  background-color: transparent;
  border-radius: 5px;
  display: flex;
  width: min(100%,320px);
  height: min(49px);
  position: absolute;
  top: 3px;
  left: 3px;
}
#scheduleWrap a.btn.btnY { background-color: var(--Col-yellow); color: var(--Col-green) }
#scheduleWrap a.btn.btnY:after { border: var(--Col-yellow) 1px solid }
#scheduleWrap a.btn.btnB { background-color: #bbebff; color: var(--Col-green) }
#scheduleWrap a.btn.btnB:after { border: #bbebff 1px solid }

/* コンテスト */
#contestWrap { background: url(./image/contestBg.png) repeat; color: #FFF }
#contestWrap h2 { font-family: "dnp-shuei-mgothic-std", sans-serif; font-size: min(7.5vw,36px); color: #FFF; background: url(./image/contestT.webp) no-repeat center top; padding-top: 50px; margin-bottom: 2rem }

/* プレゼント */
#presentWrap { background-color:#80bdff; color: #FFF }
#presentWrap .inner { padding: 2rem min(3vw,20px) }
#presentWrap h2 { margin-bottom: 3rem }
#presentWrap h3 { font-size: min(6.5vw,30px) }

/* ゲスト */
#guestWrap { background-color:#4854a4 }
#guestWrap .inDoc {
  position: relative;
  background-image: url(./image/guestBg1.webp);
  background-repeat: repeat-y;
  background-position: right bottom;
  background-size: 100% auto;
  padding:min(5vw,3rem) 0;
}
#guestWrap h3 { color: #29abff; font-size: min(6.5vw,30px); text-align: center; margin-bottom: 1rem }

/* チケット */
#ticketWrap { background-color:#f7adcb }
#ticketWrap .inDoc { border: #FFF 3px solid; border-radius: 14px; padding:min(5vw,2rem); position: relative }
#ticketWrap h3 { font-size: min(6vw,26px); background: url(./image/ticketLine.webp) no-repeat center bottom; padding-bottom: 1rem; color: var(--Col-yellow); margin-bottom: 1rem }
#ticketWrap a.btn { background-color: #FFF; color: var(--Col-pink); }

/* イベント */
#eventWrap { background: url(./image/eventBg.png) repeat }
#eventWrap .inner { padding: 2rem min(3.5vw,60px) }
#eventWrap h3 {
  font-size: min(5.2vw,26px);
  background: url(./image/eveLine.webp) no-repeat center bottom;
  padding-bottom: 1rem;
  color:#000;
  margin-bottom: 1.5rem;
  text-align: center
}
#eventWrap .inDoc {
  border: var(--Col-Rblue) 3px solid;
  border-radius: 14px;
  background-color: #FFF;
  padding:min(5vw,2rem) min(4vw,2.5rem);
  position: relative;
  z-index: 2
}
#eventWrap a.btn { background-color: #d0e3ff; color: var(--Col-Rblue) }
#eventWrap .relative { position: relative; padding-top:min(10vw,40px); margin-bottom: min(10vw, 70px) }
#eventWrap .relative:last-of-type { margin-bottom: 0 }
#eventWrap .relative > img:first-of-type { position: absolute; top: -45px; left: -9px; z-index: 1; height:min(21vw,125px) }

/* グルメ */
#gourmetWrap { background-color:#80bdff }
/* グッズ */
#goodsWrap { background-color:#f7adcb }

/* 新着情報 */
#newsWrap { background-color:#4854a4 }
#newsWrap:after { background: none; height: 0 }
#newsWrap ul { padding: 1rem 0 3rem }
#newsWrap ul li { border-bottom: #B4B4B5 2px solid; padding: 1rem 0 }
#newsWrap ul li a { display: flex; color: #FFF; text-decoration: none }
#newsWrap ul li a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  padding-right: 0.8rem;
  color: #FFF;
}

/*==================================================
FONT
==================================================*/
  *[class^="font"] { font-style: normal }/*fontで始まる*/
/*
DNP ShueiMGoStd B
font-family: "dnp-shuei-mgothic-std", sans-serif;
font-weight: 600;
font-style: normal;

noto-sans-jp
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
*/

/*==================================================
～960
==================================================*/
@media screen and ( max-width:960px) {
  a[name] { margin-top: -20.5vw; padding-top: 20.5vw }
  img[src*="Title.webp"] { max-width: 80% }
  #eventWrap .relative > img:first-of-type { top: -6%; left: -1.5% }
}
@media screen and ( max-width:500px) {
  #eventWrap .relative > img:first-of-type { top: -4%; left: -1.5% }
}