@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=GFS+Didot&family=Nanum+Myeongjo:wght@400;700;800&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

.font-roboto {
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
}
.font-noto {
  font-family: 'Noto Sans JP';
}
.font-noto-sf {
  font-family: 'Noto Serif JP';
}
.font-hannari {
  font-family: 'Bebas Neue', sans-serif;
}

.font-hannari {
  font-family: 'GFS Didot', serif;
}
html, body {
  height: 100%;
}
*, *::after, *::before {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
body {
  color: #020202;
  background:#FFFFFF; 
  font-family: "Roboto","Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;
  overflow-x: hidden;
  font-size: 1.4em;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
}

main {
  display: block;
}
li {
  list-style-type: none;
}
a {
  text-decoration: none;
  display: inline-block;
  color: #1d58b7;
  cursor: pointer;
}
.br-pc {
  display: block;
}
.br-sp {
  display: none;
}
sup, sub {
  font-size: 50%;
  letter-spacing: 0;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align:bottom;
}
.wrap {
  background-color: rgba(233,182,205, 1);
  background-blend-mode: lighten;
  z-index: 20;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.wrap img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  animation: wrapload 2.6s;
  animation-fill-mode: backwards;
  -webkit-animation: wrapload 2.6s;
  -webkit-animation-fill-mode: backwards;
  max-width: 350px;
  width: 50%;
  height: auto;
}

.wrap.active {
  -webkit-transition: all 3s ease;
  -moz-transition: all 3s ease;
  -o-transition: all 3s ease;
  transition: all 3s ease;
  background-color: rgba(255, 255, 255, 0);
}



.wrap.active img {
  display: none;
}


@media only screen and (max-width:480px) {
  .wrap img {
    width: 60%;
    margin: auto;
  }
}

.main{

}

@media only screen and (max-width:640px) {
  .main{

  }
}

.wrapmain {
  width:100%;
  margin:0 auto;
  background:#FFFFFF;
  color:#000000;
  overflow:hidden;
}



/*-------------------
animation
-------------------*/
@-webkit-keyframes wrapload {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    opacity: .2;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
  }
}
@keyframes wrapload {
   0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    opacity: .2;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
  }
}

@keyframes poyon {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
  30%  { transform: scale(1.3, 0.8) translate(0%, 10%); }
  50%  { transform: scale(0.8, 1.3) translate(0%, -10%); }
  70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

@-webkit-keyframes fadeSmall {
  from {
    opacity: 0;
    transform: scale(1.2, 1.2);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes fadeSmall {
  from {
    opacity: 0;
    transform: scale(1.2, 1.2);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}

@-webkit-keyframes fadeBig {
  from {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes fadeBig {
  from {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-webkit-keyframes fadeOutTop {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
}
@keyframes fadeOutTop {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
}
@-webkit-keyframes fadeInTop {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTop {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInBottom {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottom {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/*-------------------
common
-------------------*/
h2{
  font-family:'GFS Didot', serif;
  font-size: clamp(2rem, 5vw, 3rem);
  padding:0;
  line-height:1;
  color:#000000;
  font-weight:normal;
}



/*-------------------
mainnav
-------------------*/

#mainnav {
  width: 100%;
  position: relative;
  text-align:center;
  margin: 0 auto;
  z-index:1;
  background-color:#e9b6cd;
  font-family:'GFS Didot', serif;
  font-size: clamp(.9rem, 3vw, 1.8rem);
  padding:3vw 0;
}

#mainnav ul{
  display:flex;
  justify-content: center;
  flex-wrap: nowrap;
}

#mainnav ul li{
  padding:0 3vw;
}

#mainnav ul a{
  color:#FFFFFF;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

#mainnav ul a:hover{
  color:#989ea8;
}

#mainnav ul a.disabledBtn {
  pointer-events:none;
  cursor:default;
}

@media only screen and (min-width:1000px) {
  #mainnav {
    padding:1em 0;
  }

  #mainnav ul li{
    padding:0 1em;
  }

}


/*-------------------
header
-------------------*/

header {
  width: 100%;
  position: relative;
  text-align:center;
  margin: 0 auto;
  z-index:1;
  background:#eaeaea;

}


header h1{
  width:100%;
  margin:0 auto;
  animation: fadeInBottom 1s;
  animation-delay: 1.8s;
  animation-fill-mode: backwards;
  -webkit-animation: fadeInBottom 1s;
  -webkit-animation-delay: 1.8s;
  -webkit-animation-fill-mode: backwards;
  padding:0;
  z-index:3;
  position:relative;
}

header .mainsc{
  padding:0;
  width:100%;
  margin:0 auto;
  background:#d0d9ea;
}

header .mainsc img{
  width:90%;
  max-width:900px;
  margin:0 auto;
}

@media only screen and (min-width:1000px) {


}


@media only screen and (max-width:480px) {


}



/*-------------------
introduction
-------------------*/
#introduction {
  text-align: center;
  padding:5vw 0;
  position: relative;
  background:#f4e9ed;
}

#introduction h2{
  padding-bottom:4vw;
}

#introduction .ld{
  padding-bottom:5vw;
  color:#4e5357;
  font-size: clamp(.7rem, 3vw, 1.3rem);
}

#introduction p{
  padding:.5em 0;
  font-size: clamp(.7rem, 3vw, 1.3rem);
}

@media only screen and (min-width:1000px) {

  #introduction {
    padding:2em 0;
  }

  #introduction .ld{
    padding-bottom:2.5em;
  }
  #introduction h2{
    padding-bottom:1.5em;
  }

  #introduction p{
    padding:.5em 0;
  }
}


/*-------------------
news
-------------------*/
#news {
  text-align: center;
  padding:5vw 0 8vw 0;
  position: relative;
  background:#f9f9ea;
}


#news ul{
  width:80%;
  margin:0 auto;
  max-width:700px;
  padding-top:2vw;
}

#news ul li{
  display:flex;
  line-height:1.4;
  padding:.3em 0;
}

#news ul li a{
  color: #1d58b7;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

#news ul li a:hover{
  color: #5a6370;
}

#news ul li .ndate{
  color: #1d58b7;
  font-size: clamp(.7rem, 3vw, 1.3rem);
}

#news ul li .nnews{
  padding-left:5vw;
  font-size: clamp(.7rem, 3vw, 1.3rem);
  text-align:left;

}

@media only screen and (min-width:1000px) {
  #news {
    padding:2em 0 3em 0;
  }

  #news ul{
    padding-top:1em;
  }


}

@media only screen and (max-width:640px) {

  #news ul li .nnews{
    padding-left:3vw;
  }
}



/*-------------------
lineup
-------------------*/
#lineup {
  text-align: center;
  position: relative;
  padding:5vw 0 0 0;
  background:#e0d3e0;
}

#lineup h2{
  padding:0 0 .5em 0;
  color:#000000;
}

#lineup .lnup{
  background:#e0d3e0;
}

#lineup .lnup-img{
  padding:0;
  width:100%;
  margin:0 auto;
}

#lineup p.atten{
  color:#FFFFFF;
  font-size:clamp(.5rem, 1vw, .8rem);
  padding-top:.5em;
  line-height:1.4;
}


@media only screen and (min-width:1000px) {

  #lineup {
    padding:2em 0 0 0;
  }
  #lineup h2{
    padding:0 0 .5em 0;
  }

  
}





/*-------------------
schedule
-------------------*/
#schedule {
  text-align: center;
  position: relative;
  padding:5vw 0 20vw 0;
  background:#eaeaea;
}

#schedule h2{
  padding:0 0 .5em 0;
}

#schedule .scwp{
  max-width:800px;
  width:90%;
  margin:5vw auto;
  font-size: clamp(.7rem, 3vw, 1.3rem);
}

#schedule .scwp .scl{
  background:#FFFFFF;
  padding:2em;
  text-align:left;
  color:#4e5357;
}

#schedule .scwp .scl h3{
  font-weight:800;
  line-height:1.4;
  padding-bottom:.5em;
}

#schedule .scwp .scl .howto{
  padding:2em 0;
  font-size:80%;
}

#schedule .scwp .scl .howto h4{
  padding-top:1em;
}

#schedule .scwp .scl .howto .under{
  text-decoration:underline;
}

#schedule .scwp .scl .howto .red{
  font-size:130%;
  color:rgb(255,0,0);
  font-weight:bold;
}

#schedule .scwp .scl .howto .org{
  color:#f0590e;
}



#schedule .howto p{
  padding:1em 0;
}

#schedule .news01 p{
  padding:1em 0;
  font-size:80%;
}

#schedule .scwp .scl .howto .atten{
  text-indent:-1em;
  padding:0 0 0 1em;
}

#schedule .news01 table{
  border-collapse:collapse;
  font-size: clamp(.6rem, 2vw, .8rem);
}

#schedule .news01 table th{
  background:#DCE6F1;
  border:1px solid #ccc;
  text-align:center;
  padding:.5em .3em;
}

#schedule .news01 table td{
  padding:.5em .3em;
  border:1px solid #ccc;
}

#schedule .news01 table td.ct

@media only screen and (min-width:1000px) {

  #schedule {
    padding:2em 0 10em 0;
  }

  #schedule h2{
    padding:0 0 .5em 0;
  }

  #schedule .scwp .scl{
    padding:2em;
  }

  #schedule .scwp .scl h3{
    padding-bottom:.5em;
  }

  #schedule .scwp{
    margin:3em auto;
  }

}

/*-----------------
footer
-----------------*/
footer {
  text-align: center;
  position: relative;
  padding:0 0 5vw 0;
  background:#e9b6cd;
  margin:0 auto;
}

footer .lnup-bt{
  padding:5vw 0 0 0;
}

footer a img{
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  opacity:1;
}

footer a:hover img{
  opacity:.7;
}

footer .snslink{
  padding:2vw 0;
}

footer .contact{
  color:#FFFFFF;
  font-size: clamp(.9rem, 4vw, 1.3rem);
  line-height:1.6;
  padding:0 1em;
}

footer .contact dt{
}

footer .contact dd.nm{
  font-size:160%;
  font-weight:bold;
}

footer .contact dd.nm a{
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color:#FFFFFF;
}

footer .contact dd.nm a:hover{
  color:#000;
}

footer .contact dd.cm{
  font-size:75%;
}

footer .contact dd.atten{
  font-size:75%;
}

footer .contact dd.atten ul{
  text-align:left;
  max-width:530px;
  margin:0 auto;
}

footer .contact dd.atten ul li{
  text-indent:-1em;
  padding-left:1em;
}

footer .ftwp{
  display:flex;
  justify-content: space-around;
  max-width:900px;
  margin:0 auto;
  padding-top:3vw;
}

footer small {
  font-size: clamp(.7rem, 3vw, 1rem);
  font-weight:600;
  letter-spacing: 0;
  color:#FFFFFF;
}
@media only screen and (min-width:1000px) {
  footer {
    padding:0 0 2em 0;
  }

  footer .lnup-bt{
    padding:2em 0 0 0;
  }

  footer .snslink{
    padding:1em 0;
  }

  footer .ftwp{
    padding-top:2em;
  }

}
@media only screen and (max-width:640px) {
  footer {
    padding:0 0 5vw 0;

  }

  footer .lineup-bt{
    margin:5vw auto 0 auto;
    padding: .5em 0;
  }

  footer .snslink{
    padding:5vw 0;
    width:10%;
    margin:0 auto;
  }

  footer .contact dd.nm a{
    font-size:85%;
  }
  footer small {
    font-size: 2.5vw;
  }

  footer .btlogo{
    padding-top:calc(100vw / 2.3);
  }

  footer .ftlink{
    font-size:2.5vw;
  }
}
@media only screen and (max-width:360px) {
  footer .contact dd.nm a{
    font-size:75%;
  }

}




/* back to top */
#go-shop {
  position: fixed;
  bottom: 3vw;
  right: 0;
  left:0;
  z-index: 6;
  width: 100%;
  text-align: center;
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#go-top .totop {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left:0;
  padding: 0;
  margin:0 auto;
  display:inline-block;
}
#go-top .totop img {
  max-width: 100%;
  height: auto;
}
#go-top .totop a {
  display: block;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
#go-top .totop a:hover {
  opacity: 0.5;
}

@media only screen and (min-width:1000px) {
  #go-shop {
    bottom: 1em;
  }
}
@media only screen and (max-width:640px) {
  #go-top {
    bottom: 5%;
    right: 5%;
  }
  #go-top .totop {
    width: 30px;
  }
}
@media only screen and (max-width:480px) {

}
/*------------
animetion
------------*/
.fadein {
  opacity: 0;
}
.fadein.scrollin {
  animation: fadeInBottom 1s;
  animation-fill-mode: backwards;
  opacity: 1;
}
.fadeinp {
  opacity: 0;
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transition: all 1000ms;
}
.fadeinp.scrollin {
  opacity: 1;
  transform: scale(1);
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
}
.fadeinbottom {
  transition: all .8s ease-in-out;
  transform: translate(0, 30px);
  -webkit-transform: translate(0, 30px);
  -moz-transform: translate(0, 30px);
  opacity: 0;
}
.fadeinbottom.scrollin {
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  opacity: 1;
}
.fadeinup {
  transition: all .8s ease-in-out;
  transform: translate(0, -30px);
  -webkit-transform: translate(0, -30px);
  -moz-transform: translate(0, -30px);
  opacity: 0;
}
.fadeinup.scrollin {
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  opacity: 1;
}
.fadeinleft {
  transition: all .8s ease-in-out;
  transform: translate(-30px, 0);
  opacity: 0;
}
.fadeinleft.scrollin {
  opacity: 1.0;
  transform: translate(0, 0);
}
.fadeinright {
  transition: all .8s ease-in-out;
  transform: translate(30px, 0);
}
.fadeinright.scrollin {
  opacity: 1.0;
  transform: translate(0, 0);
}