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

body{
/*background-color: #b3954c; */
margin: 0;
/*background-image: url("img/bg.jpg");
background-repeat: repeat; 
background-size: 200px; 
background-position: center;*/
/*font-family: 'M PLUS Rounded 1c', sans-serif;*/
font-family:  'M PLUS 1p', sans-serif;
background:var(--bg-color);
}


:root{

  /* Theme Color */
  --main-color:#8f6ac8;
  --sub-color:#f4df8b;
  --accent-color:#f7b4d9;

  /* Text */
  --text-color:#222;
  --text-light:#666;

  /* Background */
  --bg-color:#f7f7f5;
  --box-bg:#fff3df;

  /* Border */
  --border-color:#dbd1b3;

  /* Layout */
  --content-width:1200px;
  --radius:20px;

}

html {
  scroll-padding-top: 70px;
}


#wrapper{
	position: relative;
	z-index: 1;
	width:100%;
	height: 100%;
}
	
	
/* animate delay*/
.animate__delay-01s {animation-delay: calc(var(--animate-delay) * 0.1);}
.animate__delay-02s {animation-delay: calc(var(--animate-delay) * 0.2);}
.animate__delay-03s {animation-delay: calc(var(--animate-delay) * 0.3);}
.animate__delay-04s {animation-delay: calc(var(--animate-delay) * 0.4);}
.animate__delay-05s {animation-delay: calc(var(--animate-delay) * 0.5);}
.animate__delay-06s {animation-delay: calc(var(--animate-delay) * 0.6);}
.animate__delay-07s {animation-delay: calc(var(--animate-delay) * 0.7);}
.animate__delay-08s {animation-delay: calc(var(--animate-delay) * 0.8);}
.animate__delay-09s {animation-delay: calc(var(--animate-delay) * 0.9);}



/*header{background-color:#e6121d;}*/

.mplusr{font-family: 'M PLUS Rounded 1c', sans-serif;}
.smincho{font-family: 'Shippori Mincho', serif;}
.mplus{font-family:  'M PLUS 1p', sans-serif;}


.pc{ display:inline;}
.mp{ display:none;}
.mpsp{ display:none;}
.mw767{display:none;}
.mw600{ display:none;}
.sp{display:none;}
.goods_sp{display:none;}

.brhl{display:none;}

.b{ font-weight:bold;}
.n{ font-weight:normal;}

a img:hover{opacity: 0.72;}


.s-icon{ width:125px; height:125px; margin-right:40px;}

/* ==========================
   KV
========================== */

#kv{
  position:relative;
  overflow:hidden;
}

.kv-bg{
  width:100%;
  aspect-ratio:16 / 9;
  background:url("img/kv-bg.jpg") center center / cover no-repeat;
}

.kv-main{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  padding:20px;
}

.kv-main picture{
  display:block;
  width:min(100%,1000px);
}

.kv-main img{
  display:block;
  width:100%;
  height:auto;
}

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

  .kv-bg{
     display:none;
  }

  .kv-main{ position:static;
    padding:0;}

  .kv-main picture{
    width:100%;
  }

}

/*notice*/
#notice{background:url("img/kv-bg.jpg"); padding: 50px 0; background-size: 95%; border-top: 1px solid #491e02;border-bottom: 1px solid #491e02;}
.notice-inner{width: 90%; max-width: 1000px; margin: 0px auto; background-color: #fff; padding: 30px;}

#notice h2{color:#8d46c4; font-weight: bold; font-size: 33px; font-style: normal;}
#notice p{color: #491e02; font-weight: bold; font-size: 18px; margin-top: 50px; line-height: 1.7;}

#notice a{background-color: #8d46c4; padding: 10px 20px; border-radius: 20px; color: #fff; display: inline-block; font-size: 1.3em; margin: 25px auto;}

#notice a:hover{background-color: #c183f0;}
#notice p span.imp{color: rgba(255,0,4,1.00); font-size: 1.2em;}
#notice p span.hizuke{display: inline-block; margin-left: 18px;}

@media screen and (max-width:767px){
.notice-inner{padding: 30px 15px;}
#notice h2{font-size: 25px;text-align: center; }
#notice p{ font-size: 15px; line-height: 1.5;}
#notice p span.hizuke{ font-size: 12.5px; margin-left: 0px; margin-top: 5px;}

}



/*ツイッタータイムライン*/

.tw{ margin:80px auto ; width:500px; /*font-weight: bold; font-family: sans-serif; background-color: #fff; color: #000; border-radius: 20px; */}
.tw-sp{ display:none;}
.tw p{font-weight: bold; background-color: #fff; padding: 20px;}


/*footer*/
.site-info{background-image:url(img/footer.png); background-size:120px; background-repeat:no-repeat; background-position:2% 0;
padding: 20px 0 25px;}

.site-footer .widget-area .widget_categories{ width:340px; margin:0 auto ;}
.site-footer .widget-wrap{ padding-bottom:30px; background-color:rgba(171,114,115,1.00);}

.foot-img {text-align: center; margin: 40px auto 0;}
.foot-img img{width: 150px;}

/*フォームスタイルのリセット*/

 input,textarea {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    max-width: 100%;
  }

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 200px;
    margin: 0;
    border: 0;
    outline: none;
    padding: 0;
    background: transparent;
}


/* --------------------
 CAST
-------------------- */

#cast{
  padding:50px 20px 80px;
}

.sec-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;

  margin-bottom:60px;
}

.sec-title .line{
  flex:1;
  border-top:3px dotted var(--main-color);
  opacity:.5;
}

.title-wrap{
  display:flex;
  align-items:center;
  gap:15px;
}

.title-wrap img{
  width:110px;
  height:auto;
  display:block;
}

.title-text{
  font-family:'M PLUS 1p', sans-serif;
  color:#000;
  font-size:40px;
  font-weight:700;
  line-height:1;
}

.cast-grid{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px 30px;
}

.cast-card{
  text-align:center; transition:.3s ease;
}

/* 写真 */

.cast-thumb{
  width:200px;
  height:200px;
  margin:0 auto 10px;
  border-radius:50%;
  overflow:hidden;
  border:5px solid #b8c9ee;
}

.cast-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


.cast-schedule{
  margin:0px 0 5px;
  text-align:center;
  font-size:14px;
  font-weight:700;
  line-height:1.2;transition:.3s ease;
}


/* 名前プレート */

.cast-name{
  position:relative;width: fit-content;
  min-width:200px;
  margin:auto;
  height:50px;

  background:#fff;
  border-radius:999px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:20px; padding-left: 30px;
  font-weight:700;

  box-shadow:
    0 4px 10px rgba(0,0,0,.08);
}

.cast-card:nth-of-type(3) .cast-name{letter-spacing: -0.1em; padding: 0 15px 0 45px;}

.cast-icon{
  position:absolute;
  left:-30px;
  top:50%;
  transform:translateY(-50%); transition:.3s ease;
}

.cast-icon img{
  width:70px;
  height:auto;
  display:block;
}

.cast-thumb,
.cast-name{
  transition:.3s ease;
}

.cast-card:hover .cast-thumb{
  transform:translateY(-6px) scale(1.03);
  box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.cast-card:hover .cast-name{
  transform:translateY(-3px);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.cast-card:hover .cast-schedule{
  transform:translateY(-4px);
  letter-spacing:.05em;
}

.cast-card:hover .cast-icon{
  transform:translateY(-50%) rotate(-8deg);
}


.color-blue .cast-thumb{
  border-color:#b0c2e5;
}
.color-blue .cast-schedule{color:#b0c2e5;}

.color-blue .cast-name{
  border:3px solid #b0c2e5;
}

.color-pink .cast-thumb{
  border-color:#e9b6b8;
}

.color-pink .cast-schedule{color:#e9b6b8;}

.color-pink .cast-name{
  border:3px solid #e9b6b8;
}

.color-green .cast-thumb{
  border-color:#c1d7c6;
}

.color-green .cast-schedule{color:#c1d7c6;}

.color-green .cast-name{
  border:3px solid #c1d7c6;
}

.color-purple .cast-thumb{
  border-color:#c7bade;
}

.color-purple .cast-schedule{color:#c7bade;}

.color-purple .cast-name{
  border:3px solid #c7bade;
}

/* --------------------
 SCHEDULE
-------------------- */

#sche{
  padding:30px 20px 50px;
}

.schedule-grid{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.schedule-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  
  background-position: right 15px bottom 15px;
  background-repeat: no-repeat;background-size: 75px;
}

.sche01{
  border:2px solid #d8c9f3;
  background-image: url("img/icon_purple.png");
}

.sche02{
  border:2px solid #bfe5d8;
  background-image: url("img/icon_green.png");
}

.sche03{
  border:2px solid #f7c5d9;
  background-image: url("img/icon_pink.png");
}

.schedule-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;

  padding:28px 20px 24px;

  background:rgba(255,255,255,.5);
  border-radius:18px 18px 0 0;
}

.schedule-num{
  width:44px;
  height:44px;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff;
  font-size:2rem;
  font-weight:700;

  flex-shrink:0;
}

.sche01 .schedule-num{
  background:#9d7de2;
}

.sche02 .schedule-num{
  background:#70c9aa;
}

.sche03 .schedule-num{
  background:#ef77aa;
}

.schedule-date{
  display:flex;
  align-items:flex-end;
  gap:12px;
}

.schedule-date strong{
  font-size:2.5rem;
  line-height:1;
  font-weight:900;
}

.schedule-date span{
  font-size:1.5rem;
  font-weight:700;
  line-height:1.2; color: rgba(214,88,90,1.00);
}

.schedule-card:first-child .schedule-date span{ color: rgba(76,102,194,1.00);}

.schedule-time{
  color:#fff;
  text-align:center;
  padding:12px;
  font-weight:700; font-size: 18px;
}

.sche01 .schedule-time{
  background:#9d7de2;
}

.sche02 .schedule-time{
  background:#70c9aa;
}

.sche03 .schedule-time{
  background:#ef77aa;
}

.schedule-cast{
  padding:25px;
}

.schedule-cast h3{
  margin-bottom:15px;
  font-size:16px; font-style: normal; font-weight: bold;
}

.sche01 .schedule-cast h3{color: #9d7de2;}
.sche02 .schedule-cast h3{color:#70c9aa}
.sche03 .schedule-cast h3{color:#ef77aa}



.schedule-cast ul{
  padding-left:20px;
}

.schedule-cast li{
  margin-bottom:10px;
  font-size:18px; font-weight: 700;
}

.schedule-note{
  margin-top:30px;
  text-align:center;
}


/* --------------------
 TABLET
-------------------- */

@media (max-width:1200px){
  
  .sec-title::before,
.sec-title::after{
  width:25%;
}
}


@media (max-width:1100px){
.cast-card:nth-of-type(3) .cast-name{font-size: 18px;}

}

@media (max-width:1024px){

  .cast-grid{
    grid-template-columns:repeat(3,1fr);
  }

.cast-card:nth-of-type(3) .cast-name{font-size: 20px;}

  .schedule-grid{
    grid-template-columns:1fr;
    max-width:500px;
  }
}

@media (max-width:900px){
.cast-card:nth-of-type(3) .cast-name{width: 100%; padding-left: 35px;}
}


/* --------------------
 SP
-------------------- */

@media (max-width:767px){

  #cast{
    padding:0px 15px 50px;
  }

  #sche{
    padding:20px 15px 70px;
  }

  .sec-title{
    font-size:1.8rem;
    gap:10px;
  }

  .sec-title::before,
  .sec-title::after{
    width:50px;
  }

.title-wrap img{
  width:90px;
}

.title-text{ display: inline-block; margin-left: -10px;}

  .cast-grid{
    grid-template-columns:repeat(2,1fr);
    gap:30px 15px;
  }



  .cast-name{
    /*width:170px;*/
    height:44px;
    /*font-size:1.6rem;*/padding-left: 45px; padding-right: 15px;
  }

.cast-card:nth-of-type(3) .cast-name{width: fit-content; padding-left: 45px;}


  .cast-card p{
   /* font-size:1.4rem;*/
  }

  .schedule-head{
    padding:20px;
  }

.schedule-date strong{
   font-weight: 700;
  }

 /* .schedule-date span{
    font-size:1.6rem;
  }

  .schedule-cast li{
    font-size:1.6rem;
  }*/

}

@media (max-width:600px){

  .cast-thumb{
    width:170px;
    height:170px;
  }
  
  .cast-name {font-size: 15px; padding-left: 45px; min-width:150px; padding-right: 15px;height:41px;}
  
  .cast-card:nth-of-type(3) .cast-name  {font-size: 15px; padding-left: 40px;padding-right: 5px; width: 100%;letter-spacing: -0.15em;}
  
  
  .cast-icon{left:-15px;}
  .cast-icon img{
    width:55px; 
  }

}

/* --------------------
info
-------------------- */

#info{
  padding:30px 20px;
}

.info-wrap{
  max-width:1100px;
  margin:0 auto;

  display:grid;
  grid-template-columns:repeat(3,1fr);

  background:#fff;

  border:1px solid #f1e8c8;
  border-radius:25px;

  overflow:hidden;
}

.info-wrap{
  background:var(--box-bg);
  border:1px solid var(--border-color);
}

.info-box{
  padding:30px 24px;
}

.info-box:nth-of-type(2){background-color: rgba(250,226,226,0.6);}
.info-box:nth-of-type(3){background-position: right 10px bottom 10px;
  background-repeat: no-repeat;background-size: 280px;background-image: url("img/fukidashi.png");}

.info-box:not(:last-child){
  border-right:1px solid var(--border-color);
}

/*.info-box a{color: #000; font-size: 16px; font-weight: bold;}
.info-box a:hover{ color: rgba(71,71,71,0.7);}*/


/* ---------- title ---------- */

.info-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  margin-bottom:16px;

  color:var(--main-color);
font-family:  'M PLUS 1p', sans-serif;

  font-size:30px;
  font-weight:700;
}


.star{
  font-size:20px;
}

.left{
  color:#e8bfdc;
}

.right{
  color:#cfe5e5;
}

.beige{
  color:#d9cbb6;
}

.pink{
  color:#f3b1d1;
}

.mint{
  color:#c7e5dc;
}

.info-line{
  height:2px;

  margin-bottom:20px;

  background:
  repeating-linear-gradient(
    to right,
    #222 0,
    #222 4px,
    transparent 4px,
    transparent 8px
  );

  opacity:.25;
}



/* ---------- ticket ---------- */

.ticket-price-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;

  margin-bottom:16px;
}

.seat-type{
  font-size:18px;
  font-weight:700;
}

.ticket-price{
  color:#f46d97;
  font-size:32px;
  font-weight:700;
  line-height:1;
}

.ticket-price span{
  font-size:16px;
  color:#222;
  margin-left:4px;
}

.guide-label{
  display:inline-block;

  padding:4px 10px;

  background:var(--main-color);

  color:#fff; font-weight: 700;

  font-size:12px;

  border-radius:3px;

  margin-bottom:10px;
}

.guide-name{
  font-size:22px;
  font-weight:700;

  margin-bottom:18px;
}

.ticket-btn{
  display:flex;
  align-items:center;
  justify-content:center;

 width: fit-content; padding: 0 15px;
  height:46px;

  background:linear-gradient(
    90deg,
    #ff7ba4 0%,
    #f76495 100%
  );

  text-decoration:none;
  border-radius:12px;

  font-size:16px;
  font-weight:700;

  color:#fff!important;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    opacity .3s ease;
}

.ticket-btn:hover{
  transform:translateY(-3px);

  background:linear-gradient(
    90deg,
    #ff8bb0 0%,
    #ff74a0 100%
  );

  box-shadow:
    0 8px 20px rgba(247,100,149,.25);
}

.ticket-btn i{margin-right: 10px;}

/* ---------- access ---------- */

.hall-name{
  font-size:24px;
  font-weight:700;
  line-height:1.3; font-style: normal;

  margin-bottom:10px;
}

.hall-address{
  font-size:16px;
  line-height:1.8;

  margin-bottom:25px;
}

.map{display: none;}

.map-wrap{
  display:flex;
  justify-content:flex-end;

  margin-top:30px;
}

.map-link{
  display:inline-flex;
  align-items:center;
  gap:10px;

  color:var(--main-color);
  /*text-decoration:underline;*/

  font-size:18px;
  font-weight:700;
}
.map-link:hover{
  transform:translateY(-2px);
  opacity:.8;
}

.map-link i{}

.map-link .fa-location-dot{
  font-size:34px;
}

.map-link .fa-arrow-up-right-from-square{
  font-size:14px;
}

.map-link .fa-location-dot,
.map-link .fa-arrow-up-right-from-square{
  transition:transform .25s ease;
}

.map-link:hover .fa-location-dot{
  transform:translateY(-2px);
}

.map-link:hover .fa-arrow-up-right-from-square{
  transform:translate(2px,-2px);
}

/* ---------- information ---------- */

.info-list{
  display:grid;
  grid-template-columns:90px 1fr;

  gap:28px 16px;
}

.info-list dt{
  font-size:14px;
  font-weight:700;
background-color: var(--main-color);
color: #fff; text-align: center; 
  padding-bottom:10px 2px; border-radius: 10px;
}

.info-list dd{
  font-size:16px;
  font-weight:700;
}

.info-list dd a{ font-size: 14px; }


/* ---------- note ---------- */

.info-note{
  text-align:center;

  margin-top:15px;

  font-size:16px;
}

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

  .info-wrap{
    grid-template-columns:repeat(2,1fr);
  }

  .info-box:last-child{
    grid-column:1 / -1; border-top:1px solid var(--border-color);
  }

.info-box:nth-of-type(3) .info-title{ justify-content:flex-start;}
.info-box:nth-of-type(3) .info-line{margin-right: 300px;}

.mpsp{ display:inline-block;}
}

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

  #info{
    padding:70px 15px;
  }

  .info-wrap{
    grid-template-columns:1fr; max-width: 500px;
  }

  .info-box{
    padding:25px 20px;
  }
  
  

  .info-box:not(:last-child){
    border-right:none;
    border-bottom:1px solid var(--border-color);
	 border-top:none;
  }

.info-box:first-child{text-align: center;}

.info-box:nth-of-type(3) .info-title{ justify-content:center;}
.info-box:nth-of-type(3) .info-line{margin-right: 0;}
  .info-box:nth-of-type(3){background-size:350px ; padding-bottom: 185px; background-position: center bottom 10px;}
  
.ticket-price-wrap{
    flex-direction:column;
    align-items:center;
    gap:10px;
  }

  .ticket-price{
    font-size:28px;
  }
  
  .ticket-btn{ margin: 20px auto;}

  .guide-name{
    font-size:20px; text-align:center;
  }

  .hall-name{
    font-size:22px; text-align: center;
  }
  
.hall-address{text-align: center;}
.map{display: inline-block;width: 100%;}
.map iframe{width: 100%;}

.map-link{display: none;}



  .info-list{
    grid-template-columns:1fr; text-align: center;
    gap:8px;
  }

  .info-list dt{
    display:inline-block; width: 200px; padding: 5px 10px; margin: 0px auto;
    /*width:max-content;*/width: fit-content; 
  }
  
    .info-list dd{margin-bottom: 20px;}

  .info-note{
    font-size:14px;
    line-height:1.8;
  }

}

@media (max-width:600px){

.sec-title span{
  font-size:1.5rem;
}

  .sec-title::before,
  .sec-title::after{
    width:50px;
  }
  

}


/*-----------注意事項--------------*/

#notes{
  max-width:1100px;
  margin:50px auto 0;
  padding:0 20px;
}

.notes-box{
  background:var(--box-bg);
  border:1px solid var(--border-color);
  border-radius:24px;
  padding:40px;
  margin-top:30px;
  
    background-position: left 15px top 15px;
  background-repeat: no-repeat;background-size: 75px;
  background-image: url("img/icon_pink.png");
}

.notes-box h3{
  margin:0 0 25px 50px;

  color:var(--main-color);
  font-size:28px;
  font-weight:700;
}

.notes-box p{
  margin:0 0 18px;
  line-height:1.5;
}

.notes-box ul{
  margin:0;
  padding:0;
  list-style:none;
}

.notes-box li{
  position:relative;list-style:none;

  padding-left:1.5em;
  margin-bottom:13px;

  line-height:1.3;
}

.notes-box li::before{
  content:"●";

  position:absolute;
  left:0;
  top:0;

  color:#f07aac;
}

@media (max-width:767px){

  #notes{
    margin-top:80px;
    padding:0 15px;
  }

  .notes-box{
    padding:25px 20px;
    border-radius:18px;
background-size: 50px;
}

  .notes-box h3{
    font-size:20px;
    line-height:1.5;  margin:0 0 25px 40px;
  }

  .notes-box p,
  .notes-box li{
    font-size:14px;
    /*line-height:1.9;*/
  }

}