@import url("/js/slick/slick.css");
@import url("/js/slick/slick-theme.css");

html { scroll-behavior: smooth }
body {
  background-image: none;
  padding: 0;
  margin: 0;
  height: 100%;
  -webkit-text-size-adjust: none;
  min-width: initial
}
main {
  padding-bottom: 0;
  font-family: "kaisei-tokumin", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #7a472c;
  overflow: hidden;
  font-size:min(4.5vw,32px);
  line-height: 1.5;
  background: linear-gradient(to right, #abe3ff,#abe3ff 20%,#d5f4fb 35%,#fcfbdc 50%,#ffebe4 65%,#ffd3f0 80%,#ffd3f0);
}
#TOP { padding-top: 100px; margin-top: -100px }
i { font-style:normal }
p { margin-bottom:min(5vw,1.5em) }
table,td,th { border-spacing: 0; border: none; padding: 0; border-collapse: collapse }
dl,dt,dd { margin:0; padding:0 }
a[name] { display: block; margin-top:-100px; padding-top:100px }
.memo { background-color: rgba(255,255,255,0.5); padding: 1rem; }

/* header */
div.spHeader { min-width:1000px }
div.spHeader > h1 { background-image: url(./image/mainView.jpg) }

/* contents */
article section {
  padding: min(5.5vw,1em) 0;
  background: url(./image/bg.webp);
  background-position: center top;
  background-size: min(90vw,925px) auto;
  background-repeat: repeat-y;
}
.inner { width: 100%; max-width:760px; margin: min(5.5vw,2em) auto; padding:0 min(5vw,40px) 1em; box-sizing:border-box }


/* TITLE */
h2 {
  margin: 0;
  padding: 0;
  border-left: none;
  min-height: initial;
  font-size: min(9vw,40px);
  font-weight: normal;
  line-height: 1;
  color: #c7920f;
  background-color: transparent;
  font-family: "condor", sans-serif;
  font-weight: 500;
  font-style: italic;
  position: relative;
  padding: 3rem 0 0;
  border-bottom: 5px solid;
}
h2:before {
  position: absolute;
  bottom: -0.6rem;
  left: 0rem;
  right: 0rem;
  border-bottom: 1px solid;
  content: '';
}
h2 > span { display: block; width: 100%; max-width:760px; margin: 0 auto;padding:0 min(5vw,40px) }
h3 {
  margin: 0.5em 0 2rem;
  padding: 0;
  min-height: initial;
  font-size: min(7vw,48px);
  line-height: 1.2;
  position: relative;
  color: #7a472c;
  border-left: none;
  font-weight: 700;
  text-align: center;
  font-family: "kaisei-tokumin", sans-serif;
}

/*ボタン*/
a[class^="btn"] {
  border-radius: 50px;
  color: #FFF;
  text-decoration: none;
  display: block;
  text-align: center;
  padding:min(2vw,0.5em) 1em;
  font-size:min(4vw,20px);
  margin-left: auto;
  margin-right: auto;
  background-color: #c7920f;
}

/*スケジュール*/
/* article#scheduleWrap {} */

/* プレゼント */
article#presentWrap { background-color: #fffed4 }
article#presentWrap section { background-image: none }
.presentBg {
  background-image: url(./image/presentBg.webp);
  background-repeat: no-repeat;
  background-position: center top min(40px);
  padding-top: min(10vw,130px);
}
.presentBg h3 { padding-bottom: 5rem }

/* イベント */
article#eventWrap .inner {
  background-image: url(./image/contBgL.webp),url(./image/contBgR.webp);
  background-position: bottom left,top right;
  background-repeat: no-repeat;
  padding: min(5vw,2rem) min(6.5vw,3rem) min(7.2vw,3.5rem);
  background-size: min(50vw,313px) auto;
}
article#eventWrap .inner figure::before,
article#eventWrap .inner figure::after {
  content: "";
  background-image: url(./image/figureIcon.webp);
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  height: 2em;
}

/* チケット */
article#ticketWrap { background-color: #fffed4 }
article#ticketWrap section { background-image: none }
article#ticketWrap .inner {
  background-image: url(./image/ticketBgB.webp),url(./image/ticketBgT.webp);
  background-position: bottom,top;
  background-repeat: no-repeat;
  background-size: min(100vw,705px);
  padding:min(10vw,120px) min(5vw,5rem) min(10vw,100px);
}

/* NEWS */
article#newsWrap { background-color: #129fff }
article#newsWrap h2 { color: #FFF }
article#newsWrap section { background-image: none }
article#newsWrap .inner { padding-bottom: 0 }
article#newsWrap li { border-bottom:#88fffc 2px solid; padding:0 }
article#newsWrap li a { padding:min(4vw,1em) 0; display:flex; align-items: flex-start; justify-content: flex-start; color:#FFF }
article#newsWrap li a > span { width:98% }
article#newsWrap li a:before { font-family:"Font Awesome 6 Free"; content:"\f0da"; font-weight:900; color:#0033c4; width:2%; margin-right:1% }
article#newsWrap li a:hover { text-decoration:none }


/*FONT*/
.lh102 { line-height:1.2 }
.f13 { font-size:min(2.7vw,13px) }
.f30 { font-size:min(4.2vw,30px) }
.f40 { font-size:min(5vw,40px) }
.f42 { font-size:min(5.2vw,42px) }
.f44 { font-size:min(5.6vw,44px) }
.f50 { font-size:min(6vw,50px) }


/*==================================================
～1040
==================================================*/
@media screen and ( max-width:1040px) {
  main > article { padding:0 }
  a[name] { display: block; margin-top:-80px; padding-top:80px }
  /* header */
  div.spHeader { min-width:initial }
  div.spHeader > h1 { margin-top: 80px }
/*～1040 END*/
}
/*==================================================
～670
==================================================*/
@media screen and ( max-width:670px ){
  a[name] { display: block; margin-top:-50px; padding-top:50px }
  /* header */
  div.spHeader { min-width:initial; margin-top: 0 }
  div.spHeader > h1 { background-image:url(./image/mainView_sp.jpg); height: 100vw; margin-top: 50px }
/*～670 END*/
}

/*==================================================
FONT
==================================================*/
  *[class^="font"] { font-style: normal }
  /*
  -------日本語
Kaisei Tokumin Regular
font-family: "kaisei-tokumin", sans-serif;
font-weight: 400;
font-style: normal;

Kaisei Tokumin Medium
font-family: "kaisei-tokumin", sans-serif;
font-weight: 500;
font-style: normal;

Kaisei Tokumin Bold
font-family: "kaisei-tokumin", sans-serif;
font-weight: 700;
font-style: normal;
  -------英語
Condor Medium Italic
font-family: "condor", sans-serif;
font-weight: 500;
font-style: italic;
  */

/*==================================================
余白
==================================================*/
.mg1e   { margin:        min(4vw,1em)!important }
.mgT05e { margin-top:    min(3.5vw,0.5em)!important }
.mgT1e  { margin-top:    min(4vw,1em)!important }
.mgT2e  { margin-top:    min(5.5vw,2em)!important }
.mgT3e  { margin-top:    min(6vw,3em)!important }
.mgB05e { margin-bottom: min(3.5vw,0.5em)!important }
.mgB1e  { margin-bottom: min(4vw,1em)!important }
.mgB15e { margin-bottom: min(5vw,1.5em)!important }
.mgB2e  { margin-bottom: min(5.5vw,2em)!important }
.mgB25e { margin-bottom: min(5.8vw,2.5em)!important }
.mgB3e  { margin-bottom: min(6vw,3em)!important }
.mgB4e  { margin-bottom: min(7vw,4em)!important }
.mgB5e  { margin-bottom: min(8vw,5em)!important }
.pd1e   { padding:       min(4vw,1em)!important }
.pd025e { padding:       min(1vw,0.25em)!important }
.pd05e  { padding:       min(3.5vw,0.5em)!important }
.pdT05e { padding-top:   min(3.5vw,0.5em)!important }
.pdT2e  { padding-top:   min(5.5vw,2em)!important }
.pdB05e { padding-bottom:min(3.5vw,0.5em)!important }
.pdB3e  { padding-bottom:min(6vw,3em)!important }