@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;
  font-size: 16px;
}
main {
  padding-bottom: 0;
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
  overflow: hidden;
  font-size:min(4vw,24px);
  line-height: 1.6;
  background-color: #e6f4f4
}
main > article { padding: 0 }
article > section { padding:min(3.5vw,2em) min(3.5vw,1em) min(4.5vw,3em) }
#TOP { padding-top: 100px; margin-top: -100px }
i { font-style:normal }
p { margin-bottom:min(5vw,1.5em) }
ul,li { list-style:none; margin:0; padding:0 }
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 }

/* header */
div.spHeader { min-width:1000px }
div.spHeader > h1 { background-image: url(../image/mainView.jpg) }

/* contents */
.inner { margin:auto; width:100%; max-width:750px }
.soon { font-family: "rafaella", sans-serif; font-weight:700; color:rgba(0,0,0,0.1); font-size:min(13vw,80px); text-align:center; margin-bottom:0!important }


/*TITLE*/
h2 {
  width:100%;
  max-width:750px;
  margin:0 auto 1em;
  border-left: none;
  padding: 0;
  min-height: inherit;
  height: initial;
  font-style: font-family: "sweet-gothic-serif", serif;
  font-weight: 700;
  font-size: min(5vw,30px);
  line-height: 1.2;
  color: #3b3351;
  background-color:transparent;
  text-shadow: 0.3em 0.35em 0 rgba(0,0,0,0.1);
}
h3 {
  margin: 0;
  padding: 0;
  min-height: inherit;
  font-size: min(6.2vw,40px);
  line-height: 1.2;
  position: relative;
  color: initial;
  border-left: none;
  display: block;
  text-align: center;
  font-family: "ab-lineboard-bold", sans-serif; font-weight: 400;
  background: linear-gradient(90deg, #ed8cb8, #716eea);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*ボタン*/
a.btn {
  box-sizing: border-box;
  border-radius:30px;
  background-color:#960064;
  color:#FFF;
  text-decoration:none;
  display:inline-block;
  margin:auto;
  text-align:center;
  padding:min(3vw,0.5em) 4em
}

/*スケジュール*/
article#scheduleWrap { background: linear-gradient(#a091b0,#96adb0) }
article#scheduleWrap section {
  background-image: url(../image/scheduleTx.png),url(../image/scheduleBg2.png);
  background-repeat: repeat-x,no-repeat;
  background-size: 100% auto,cover;
  background-position: bottom -3vw left,calc(50% - 1%);
  padding-bottom: 30px;
}
article#scheduleWrap .inner { padding-left: 12vw }
article#scheduleWrap h2 { color:#FFF }

/*イベント*/
article#eventWrap {
  background-image: url(../image/eventBg.png),url(../image/eventBg.png);
  background-repeat: no-repeat;
  background-position: left -60vw top,right -60vw top;
  background-size: cover;
  color: #3b3351;
}
article#eventWrap h2 { text-align:right }
article#eventWrap section { background:url(../image/eventTx.png) no-repeat calc(35% - 100px) 7% }
.eventDoc {
  border:#b7def1 2px solid;
  width: 100%;
  max-width: 650px;
  margin: auto;
  padding: 1em;
  box-sizing: border-box
}

/*プレゼント*/
article#presentWrap { background: linear-gradient(#96adb0,#a091b0 40%,#a091b0) }
article#presentWrap section {
  background-image: url(../image/presentTx.png),url(../image/presentTx.png);
  background-repeat: no-repeat;
  background-position: left -45vw bottom -3%,right -45vw top -3%;
  background-size: 100% auto;
}
.presentDoc { max-width: 870px; width:100%; margin:auto }
.presentDoc img { object-fit:cover; width:100% }
article#presentWrap .inner { color:#FFF; max-width:590px }
article#presentWrap h2 { color:#FFF }

/* グルメ  */
article#gourmetWrap { background:#dae0ef }
article#gourmetWrap h2 { text-align:right }


/* NEWS */
article#newsWrap { background:#8937af }
article#newsWrap > section { background:none }
article#newsWrap h2 {
  color: #FFF;
  font-family: "sweet-gothic-serif", serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  text-shadow: none;
  margin-bottom: 0.5em;
}
article#newsWrap h2 > span {
  font-family: "ab-j-choki", sans-serif;
  font-weight: 400;
  font-style: normal;
  display:block;
  text-align:center;
  font-size: min(3vw,20px)
}
article#newsWrap li { border-bottom:#a091b0 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:#ffefae; width:2%; margin-right:2% }
article#newsWrap li a:hover { text-decoration:none }

/*FONT*/
.lh102 { line-height:1.2 }
.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) }
.textY,.textBoY { color:#FFDC00 }

/*==================================================
～1040
==================================================*/
@media screen and ( max-width:1040px) {
  a[name] { display: block; margin-top:-80px; padding-top:80px }
  /* header */
  div.spHeader { min-width:initial }
  div.spHeader > h1 { margin-top: 80px }
  /*スケジュール*/
  article#scheduleWrap section { background-position:  bottom left,calc(50% + 10%) }
  article#scheduleWrap .inner { padding-top:2vw }
  /*イベント*/
  article#eventWrap { background-position: left 10vw top,right 10vw top }
  article#eventWrap section { background:url(../image/eventTx.png) no-repeat calc(35% - 200px) 7% }
  /*プレゼント*/
  article#presentWrap section {
    background-position: left -45vw bottom -1%,right -45vw top -1%;
    background-size: 100% auto;
  }
/*～1040 END*/
}
/*==================================================
～670
==================================================*/
@media screen and ( max-width:670px ){
  a[name] { display: block; margin-top:-50px; padding-top:50px }
  .inner { box-sizing:border-box }
  /* header */
  div.spHeader { min-width:initial; margin-top: 0 }
  div.spHeader > h1 { margin-top: 50px;background-image:url(../image/mainView_sp.jpg); height: 100vw }
  /*スケジュール*/
  article#scheduleWrap section { background-position: bottom left,calc(50% - 4%) }
  article#scheduleWrap .inner { padding-top:6vw }
  /*イベント*/
  article#eventWrap section { background:url(../image/eventTx.png) no-repeat calc(35% - 160px) 7% }
  /*プレゼント*/
  .presentDoc > div { margin:0 -10vw }
/*～670 END*/
}

/*==================================================
FONT
==================================================*/
*[class^="font-"] { font-style: normal }
/*CCSignLanguage Bold Italic*/
.font-CCSign { font-family: "ccsignlanguage", sans-serif; font-weight: 700; font-style: italic }
/*Look Script Bold*/
.font-Look { font-family: "look-script", serif; font-weight: 700 }
/*Aptly Bold*/
.font-Aptly { font-family: "aptly", sans-serif; font-weight: 700 }
/*VDL Ｖ７丸ゴシック*/
.font-VDL { font-family: "vdl-v7marugothic", sans-serif }
.font-VDL.sM { font-weight: 500 }
.font-VDL.sB { font-weight: 700 }
.font-VDL.sEB { font-weight: 800 }

/*==================================================
余白
==================================================*/
.mg05e  { margin:        min(3.5vw,0.5em)!important }
.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(4.5vw,2.5em)!important }
.mgB3e  { margin-bottom: min(6vw,3em)!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 }