@charset 'utf-8';

/* lower
--------------------------------------- */
.lower .main{margin-bottom:70px;}
.lower .main .book{}
.lower .main .book a{
  display:block;
  width:180px;
  margin:auto;
  padding:10px 0;
  font-size:21px;
  line-height:1.0;
  /*font-weight:900;*/
  font-weight:600;
  color:#000;
  text-align:center;
  background-color:#fa88ca;
  border-radius:3px;
  transition:color 300ms;
}
.lower .main .book a:hover{
  color:#fff;
}
.lower .main .h2sgp{
  margin-bottom:40px;
  font-size:24px;
  font-weight:700;
  text-align:center;
}
@media screen and (max-width:1000px){
  .lower .main .wrap{width:98%;}
}
@media screen and (max-width:768px){
  .lower .main .book a{
    width:38vw;
    max-width:240px;
    padding:2.0vw 0;
    font-size:3.8vw;
    transition:none;
  }
  .lower .main .book a:hover{
    color:#000;
  }
  .lower .main .h2sgp{
    margin-bottom:4vw;
    font-size:4.2vw;
  }
}

/* the show
--------------------------------------- */

/* CAST & TEAM
--------------------------------------- */
.cast{}
.cast .wrap{padding:40px 0 0;}
.lower .cast .book{
  margin:20px auto 40px;
}
.lower .cast .book a{
  margin:auto;
}

.cast .inner{
  width:1000px;
  margin:auto;
}
.cast .caution{
  margin-bottom:10px;
  font-size:14px;
  padding-left:1.0em;
  text-indent:-1.0em;
}
.cast .act{
  margin-bottom:5px;
  font-size:21px;
  font-weight:700;
}
.cast .act.guest span{
  padding:0 1.0em;
  color:#fff;
  background-color:#fbb8df;
  border-radius:3px;
}
.cast .box{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:flex-start;
  align-content:stretch;
}
.cast .box a{
  display:block;
  width:19%;
  margin-right:1%;
  margin-bottom:30px;
  text-align:center;
}
.cast .box a:nth-of-type(5n){margin-right:0;}
.cast .box .pho{
  position:relative;
  width:100%;
  height:auto;
  margin-bottom:5px;
  overflow:hidden;
}
.cast .box .pho .cap{
  position:absolute;
  bottom:0px;
  right:2px;
  font-size:11px;
  color:#fff;
}
.cast .box .name{line-height:1.2;}
.cast .box .name span{font-size:0.87em;}
.cast .box .date{line-height:1.2;font-size:0.87em;}
.cast .box a:hover{text-decoration:none;}
.cast .box a img{transition:transform 200ms ease-in-out;}
.cast .box a:hover img{transform:scale(1.12);}
@media screen and (max-width:1200px){
}
@media screen and (max-width:1000px){
  .cast .inner{
    width:92vw;
    margin:auto;
  }
  .cast .box .name span{display:block;}
  .cast .box .spacer{width:calc(100% / 3.1);}
}
@media screen and (max-width:768px){
  .cast .wrap{padding:4vw 0 0;}
  .cast .box a{width:32%;margin-right:2%;}
  .cast .box a:nth-of-type(3n){margin-right:0;}
  .cast .caution{
    margin-bottom:2.0vw;
    font-size:2.8vw !important;
  }
  .cast .act{
    margin-bottom:1.0vw;
    font-size:4.2vw;
  }
  .cast .box a{
    width:32%;
    margin-bottom:4.0vw;
  }
  .cast .box a img{transition:none;}
  .cast .box a:hover img{transform:scale(1.0);}
}
@media screen and (max-width:640px){
  .cast .box a{width:48%;}
  .cast .box{justify-content:space-between;}
  .cast .box a:nth-of-type(2n){margin-right:0;}
  .cast .box::after{width:40%;}
}
.cast .staff{
  text-align:center;
  font-size:1.12em;
}
.cast .staff p{margin-bottom:0.5em;}

/*  */
.cast .box2{margin-bottom:40px;}
.cast .box2 dl{}
.cast .box2 dl dt,
.cast .box2 dl dd{display:inline;}
.cast .box2 dl dt{font-weight:700;margin-right:0.5em;}
.cast .box2 .act a{text-decoration:underline;}
.cast .box2 dl dd a{text-decoration:underline;}

.cast .box2 .act a,
.cast .box2 dl dd a{
  text-decoration:underline;
  transition:color 300ms;
}
.cast .box2 .act a:hover,
.cast .box2 dl dd a:hover{
  color:#fa88ca;
}
@media screen and (max-width:768px){
  .cast .box2{margin-bottom:4.0vw;}
  .cast .box2 .act a,
  .cast .box2 dl dd a{
    transition:none;
  }
  .cast .box2 .act a:hover,
  .cast .box2 dl dd a:hover{
    color:#6b696a;
  }
}

/* cast /modal
--------------------------------------- */
body.modal{
  padding-bottom:20px;
  background-color:#fff;
}
.window{
  position:relative;
  width:100%;
  height:620px;
}
.window .hd{
  background-color:#f6f6f6;
}
.window .hd .mi{
  padding:8px 0;
  font-size:24px;
  font-weight:700;
  color:#887f7f;
  text-align:center;
}
.window .prof{
  padding:20px 40px 20px;
}
.window .prof .name{
  margin-bottom:10px;
  font-size:24px;
  border-bottom:1px solid #887f7f;
}
.window .prof .name span{
  margin-left:0.5em;
  font-size:18px;
}
.window .prof .dtl{
  height:440px;
  line-height:1.3;
}
.window .prof .dtl p{text-align:left;}
.window .prof .dtl a{
  text-decoration:underline;
}

.window .ft{
  position:absolute;
  bottom:10px;
  left:0;
  right:0;
  width:160px;
  margin:auto;
}
.window .ft a{
  display:block;
  width:100%;
  margin:auto;
  padding:4px 0;
  font-size:21px;
  color:#887f7f;
  text-align:center;
  background-color:#f6f6f6;
  border-radius:5px;
  transition:color 300ms,background-color 300ms;
}
.window .ft a:hover{
  color:#f6f6f6;
  background-color:#887f7f;
}
@media screen and (max-width:768px){
  .window .hd .mi{font-size:3.8vw;}
  .window .prof .name{font-size:3.4vw;}
  .window .prof .name span{font-size:3.2vw;}
  .window .ft a{font-size:3.4vw;}

  .window .prof{min-height:auto;}
  .window .prof .dtl,
  .window .ft{
    margin-top:30px;
    position:static;
  }
  .window .prof .dtl{
    height:initial;
    overflow:visible;
  }
  .window .ft .close-btn a{
    padding:8px 0;
    transition:none;
  }
  .window .ft a:hover{
    color:#887f7f;
    background-color:#f6f6f6;
  }
}

/* news
--------------------------------------- */
.news{}
.news .wrap{
  padding:40px 0 0;
}
.news .title{
  margin-bottom:40px;
}
.lower .news .black-news .h2sgp{
  float:left;
  margin-right:40px;
  margin-bottom:0;
  text-align:left;
}
.lower .news .book{
  float:left;
}
.box-news{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-start;
  align-content:flex-start;
  margin-bottom:40px;
}
.box-news a.topics{
  display:block;
  width:48%;
  margin-bottom:40px;
}
.box-news a.topics .img{
  position:relative;
  border-radius:3px;
  overflow:hidden;
}
.box-news a.topics .img .cp{
  position:absolute;
  bottom:0;
  right:0;
  font-size:12px;
  color:#fff;
}
.box-news a.topics .img ._cp{display:none;}
.box-news a.topics img{
  transition:transform 200ms ease-in-out;
}
.box-news a.topics:hover img{
  transform:scale(1.07);
}
.box-news .topics .dtl{
  margin-top:10px;
}
.box-news .topics .cat{font-size:0.97em;}
.box-news .topics .dat{font-weight:700;}
.box-news .topics .txt{
  line-height:1.2;
  text-decoration:underline;
}

/*.box-news a.topics .cat,
.box-news a.topics .dat,*/
.box-news a.topics .txt{transition:color 300ms;}
/*.box-news a.topics:hover .cat,
.box-news a.topics:hover .dat,*/
.box-news a.topics:hover .txt{color:#fa88ca;}

@media screen and (max-width:768px){
  .news .wrap{
    padding:7vw 4vw 0;
  }
  .news .title{
    margin-bottom:6vw;
  }
  .lower .news .black-news .h2sgp{
    margin-right:7vw;
  }
  .box-news{
    margin-bottom:7vw;
  }
  .box-news a.topics{
    margin-bottom:7vw;
  }
  .box-news a.topics .img .cp{
    font-size:2vw;
  }
  .box-news a.topics img{
    transition:none;
  }
  .box-news a.topics:hover img{
    transform:scale(1);
  }
  .box-news .topics .dtl{
    margin-top:1vw;
  }
  .box-news a.topics .cat,
  .box-news a.topics .dat,
  .box-news a.topics .txt{transition:none;}
  .box-news a.topics:hover .cat,
  .box-news a.topics:hover .dat,
  .box-news a.topics:hover .txt{color:#6b696a;}
}

/*  */
.block-faq{
  background-color:#ffe8f5;
}
.block-faq .wrap{
  padding:40px 0;
}
.lower .news .block-faq .h2sgp{
  margin-bottom:20px;
  text-align:left;
}
.block-faq .box-qa{
  width:100%;
  margin-bottom:30px;
  padding:0 20px;
  background-color:#fff;
  border-radius:5px;
}
.block-faq .box-qa:last-of-type{margin-bottom:0;}
.block-faq .box-qa .ques{
  position:relative;
  padding:20px 0;
  font-size:1.16em;
  font-weight:700;
  cursor:pointer;
}
.block-faq .box-qa .ques::before{
  content:'';
  position:absolute;
  right:0;
  top:34px;
  width:10px;
  height:10px;
  border-top:solid 2px #6b696a;
  border-right:solid 2px #6b696a;
  transform:rotate(45deg);
  transition:transform 300ms;
}
.block-faq .box-qa .ques.act::before{
  transform:rotate(135deg);
}
.block-faq .box-qa .answ{
  display:none;
  padding:0px 0 20px;
  word-wrap:break-word;
  white-space:normal;
}
.block-faq .box-qa .answ a{
  text-decoration:underline;
  transition:color 300ms;
}
.block-faq .box-qa .answ a:hover{
  color:#fa88ca;
}
@media screen and (max-width:768px){
  .block-faq .wrap{
    padding:4vw 4vw 7vw;
  }
  .lower .news .block-faq .h2sgp{
    margin-bottom:4vw;
  }
  .block-faq .box-qa{
    margin-bottom:4vw;
    padding:0 3vw;
  }
  .block-faq .box-qa:last-of-type{margin-bottom:0;}
  .block-faq .box-qa .ques{
    padding:2vw 0;
  }
  .block-faq .box-qa .ques::before{
    top:4.3vw;
    width:10px;
    height:10px;
  }
  .block-faq .box-qa .answ{
    display:none;
    padding:0 0 2vw;
  }
  .block-faq .box-qa .answ a{
    transition:none;
  }
  .block-faq .box-qa .answ a:hover{
    color:#6b696a;
  }
}

/* contact
--------------------------------------- */
.contact{}
.contact .wrap{
  padding:70px 0 0;
}
.contact .img{
  float:left;
  width:48%;
  max-width:480px;
}
.contact .dtl{
  float:right;
  width:48%;
}
.contact .dtl .h2sgp{
  text-align:left;
}
.contact .dtl dl{
  margin-bottom:20px;
  white-space:nowrap;
}
.contact .dtl dl dt,
.contact .dtl dl dd{
  display:inline;
  /*font-size:1.16em;*/
}
.contact .dtl dl dt{
  margin-right:0.5em;
  font-weight:700;
}
.contact .dtl dl dd{
  /*font-size:1.16em;*/
}
.contact .dtl dl dd a{
  text-decoration:underline;
  transition:color 300ms;
}
.contact .dtl dl dd a:hover{
  color:#fa88ca;
}
.lower .contact .book{margin-top:40px;}
.lower .contact .book a{margin-left:0;}
@media screen and (max-width:920px){
  .lower .contact .wrap{
    width:92%;
    margin:auto;
  }
  .contact .dtl dl dt,
  .contact .dtl dl dd{display:block;}
}
@media screen and (max-width:768px){
  .contact .wrap{padding:7vw 0 0;}
  .contact .img{
    float:none;
    width:100%;
    max-width:500px;
    margin:0 auto 7vw;
  }
  .contact .dtl{
    float:none;
    width:100%;
    max-width:500px;
    margin:auto;
  }
  .contact .dtl dl dt,
  .contact .dtl dl dd{
    /*font-size:1.08em;*/
  }
  .contact .dtl dl{
    margin-bottom:3vw;
  }
  .contact .dtl dl dd a{
    text-decoration:none;
    transition:none;
  }
  .contact .dtl dl dd a:hover{
    color:#6b696a;
  }
  .lower .contact .book{margin-top:7vw;}
}
