/* 2023 0926 noadance.jp/css/2022_style_festival.css をコピー・修正 */
@charset "UTF-8";

/* 
festival 
------------------------------------------- */
.festival-breadcrumbs.breadcrumbs {
  margin-bottom: 0;
}
.g-festival-head {
  height: 265px;
  background-image: url(../img/festival/festival-head-bg-sp.jpg);
  background-position: 50% 50%;
  background-size: cover;
}
.festival-sub-sec {
  padding-top: 1.5em;
}
.festival-sub-sec2 {
  padding-top: 1.5em;
  /* margin-bottom: -2em; */
}
.festival-sub-sec3 {
  padding-top:0em;
  /* margin-bottom: -2em; */
}
.festival-lede-desc {
  margin-bottom: 2rem;
}
.festival-news-desc {
  margin-bottom: 2rem;
}
.festival-news-desc p.ttl-text{
  font-size:1.8rem;
  line-height:1.5;
  font-weight:bold;
  color:#fc5087;
  margin-bottom: 1rem;
  text-align:center;
}
.festival-news-desc p.ttl-text span{
  display:block;
}
.festival-past-ttl {
  padding: .2em 0;
  text-align: center;
  color: #fff;
  font-size: 1.7rem;
  font-weight:bold;
  background-color: #555555;
}
.festival-past-ttl .ja {
  padding-left: 0.5em;
  font-size: 1.1rem;
  font-weight:normal;
}
.festival-past-sec {
  background-color: #eeeeee;
}
.festival-past-list {
  padding: 1.5em 0 1em;
}
.festival-past-box {
  float: left;
  margin-right: 4%;
  width: 48%;
  margin-bottom: 2.5rem;
  position: relative;
  font-size: .8rem;
}
.festival-past-box:nth-child(2n) {
  margin-right: 0;
}
.festival-past-box::after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent;
  border-right-color: #fc5087;
  transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
.festival-past-clip {
  margin-bottom: 0.9rem;
}
.festival-past-box .year {
  font-size: 1.8rem;
  margin-bottom: .2rem;
}
.festival-past-box .name {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: .5rem;
}
.festival-past-box .date {
  color: #fc5087;
  font-size: 1.2rem;
  margin-bottom: .5rem;
}
.festival-past-box .place {
  font-size: 1.1rem;
  line-height:1.4;
}

.f-rule-box {
  border: 1px solid #ccc;
  padding: 1.5em;
  line-height: 1.5;
  margin: 0 0.5em;
}
.sec-ttl .play{
	margin: 1em;
}
.f-rule-box span{
  font-weight:bold;
}
.reha-wrap {
  padding:3em 0 3em;
}
.f-reha {
  font-size:1.2rem;
}
.reha-photo {
  width: 32%;
  padding:1em;
  text-align: center;
}
.reha-day {
  width: 68%;
  text-align:left;
}
.reha-start {
  width:20% !important;
  color:var(--color-blue);
  font-weight: bold;
}
.reha-dancer_name {
  font-size: 1.35rem;
  font-weight:bold;
  margin-top:.5em;
}
.f-reha-box {
    background-color: rgb(218, 94, 127,0.8);
    padding: 1.8em 2em;
    text-align: center;
    font-weight: bold;
    color: var(--color-blue);
    margin-bottom: 2em;
    width: 80%;
    margin: 2rem auto 6rem;
    border-radius: 7px;
}
.rehabtn{
  background-color: var(--color-blue);
  padding: 1.2em 0em;
  text-align: center;
  font-weight: bold;
  display: block;
  font-size: 1.4rem;
  width: 80%;
  margin: 2.5rem auto;
  border-radius: 0.1em;
  color: #fff;
}
.f-reha-box a{
  font-size:1.5rem;
  color:#fff;
  display:block;
}
.festival-messege-top {
  width: 0;
  height: 0;
border-style: solid;
border-width: 0 5px 8.7px 5px;
border-color: transparent transparent #ffffff;
  margin:.5em 0 0 2em;
}
.festival-messege {
  background: #fff;
  color: #444;
  font-size: 1.05rem;
  line-height: 1.3;
  padding: 1em;
  border-radius: 4px;
  font-weight: 500;
}

/* Festival Categoy
------------------------------------------- */
.festival-c-main {
  padding: 3rem 0;
}
/* .festival-c-main .wrap {
  padding: 0;
} */
.festival-c-cover {
  width: 100%;
  margin: 0 0 2em;
}
.festival-c-block {
  padding: 1rem 0;
}
.festival-c-lede-ttl{
  font-size: 2.8rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: .6em;
}

.festival-c-lede dl {
  margin-bottom: 1em;
  font-size: 1.4rem;
}
.festival-c-lede dt {
  color: var(--color-blue);
  font-weight:normal;
  margin-bottom:.1em;
}
.festival-c-lede dd {
  font-size: 1.1em;
  line-height:1.5;
}
.festival-c-lede .name dd {
  font-size: 1.8em;
  font-weight: bold;
}

.festival-number-block{
  padding: 1rem 0 3rem;
}
.festival-number-ttl {
  padding: .2em 0;
  text-align: center;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 500;
  background-color: var(--color-blue);
}
h3.festival-number-ttl .jp {
  font-size: .7em;
  margin-left: 0.4em;
  vertical-align: middle;
}
.festival-number-sec {
  background-color: #f2f2f2;
  padding-bottom: 1rem;
}
.festival-number-sec2 {
  background-color: #f2f2f2;
  padding: 1em 0;
}
.festival-number-list {
  padding: 2em 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.festival-number-box {
  width: 47.5%;
  margin-bottom: 2.5rem;
  position: relative;
  font-size: .8rem;
}
.festival-number-box:nth-child(2n) {
  margin-right: 0;
}

.festival-number-clip {
  margin-bottom: 0.7rem;
}
.festival-number-box .act {
  font-size: 1.2rem;
  color:var(--color-blue);
  margin-bottom: .2rem;
  display: none;
}
.festival-number-box .name {
  font-family: 'Playfair Display', serif;
  font-size: 1.55rem;
  font-weight: bold;
  margin-bottom: .3em;
  line-height: 1.3;
}
.festival-number-box .name-num {
  font-size:1.2rem;
  /* padding-left:.5em; */
  color:#999;
  display: block;
  font-weight: 400;
  line-height: 1;
}
.festival-number-box .genre {
  font-size: 1.2rem;
  font-weight: 600;
  line-height:1.1;
  color: var(--color-blue);
  margin-bottom: 0.2rem;
}
.recital_genre{
  color: var(--color-blue);
}
.festival-number-box .genre.jr_class,
.recital_genre.jr_class  {
  color: var(--color-pink);
}
.fes-number{
  font-size: .8em;
}
.festival_top_photo_box{
  margin: 1rem 0;
}

/* Festival post
------------------------------------------- */
.festival-p-main {
  margin-bottom: 4rem;
}
.festival-p-main .wrap {
  padding: 0;
}
.festival-p-main .branch-photo.sec{
  padding-top: 1rem;
  padding-bottom: 3rem;
}
.festival-p-lede {
  text-align: center;
}
.dancer_category_ttl {
  font-size: 1.6em;
  font-weight: 600;
  padding: .5em 0 0;
}
.festival-p-lede dl {
  margin: 1.5em 0;
}
.festival-p-lede dt {
  color: var(--color-blue);
  font-weight:normal;
  font-size: 1.3rem;
  /* margin-bottom:.3rem; */
}
.festival-p-lede dd {
  font-size: 1.6rem;
  line-height:1.5;
}
.festival-p-lede .name dd {
  font-size: 2.4rem;
  font-weight: bold;
}
.festival-p-lede dd.genre{
  font-weight: 600;
  color: var(--color-blue);
}
.festival-p-lede dd.genre.jr_class{
  color: var(--color-pink);
}
.festival-p-lede .name dd h2{
  font-weight: bold;
}
.festival_body {
  font-size: 1.2rem;
  text-align: left;
  padding: 1em 0;
}

.festival-p-lede .name-num {
  display: block;
  font-size: .5em;
  line-height: 1.1;
}
.festival-p-lede .title dd {
  font-size: 1.8rem;
  font-weight: bold;
}
.festival-p-lede .title dd h3{
  font-weight: bold;
}
.choreo-photo {
  margin-top:1em;
}
.choreo-photo img {
  width: 28rem;
}

/* REHEARSAL
------------------------------------------- */
.price-table {
  margin-bottom: 2rem;
}
.price-table table {
  width: 100%;
  font-size: 1.2rem;
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
  font-size: 1.1rem;
}
.price-table .dark-grad {
  color: #fff;
}
.price-table table th,
.price-table table td {
  padding: 1em .7rem;
  border-right: 1px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
}
.price-table th {
  background-color: #f2f2f2;
  font-weight: bold;
}
.price-table table .up {
  color: #dd0000;
}
.price-table table .condition {
  font-size: 1rem;
}
.tb-xxs { font-size: .8rem;}
.tb-xs { font-size: .9rem;}
.tb-s { font-size: 1rem;}
.tb-m { font-size: 1.1rem;}

.price-atc-list {
  margin-bottom: 2rem;
}
.price-atc-list li {
  position: relative;
  padding-left: 1em;
  font-size: 1rem;
}
.price-atc-list li::before {
  position: absolute;
  content: "※";
  color: #dd0000;
  left: 0;
}
.sec-ttl .play{
  font-size: 2.4rem;
}
.bosyu .ja{
  font-size: 1.4rem;
  font-weight: 400;
  display: block;
  padding-top: 0.5rem;
}
.rehearsal_schedule{
  padding: 2rem 0;
}
.rehearsal_schedule table{
  width: 100%;
  padding: 2rem 0;
  margin-bottom: 5em;
}
.rehearsal_schedule th{
  background-color: var(--color-blue);
  font-weight: bold;
  vertical-align: text-top;
  width: 25%;
  padding: 1em .5em;
  border: 1px solid #CCCCCC;
  vertical-align: middle;
  text-align: left;
	color: #fff;
}
.rehearsal_schedule td{
  padding: 1em;
  border: 1px solid #CCCCCC;
  vertical-align: middle;
  text-align: left;
}
.rehearsal_schedule p{
	font-size: 1.2rem;
    line-height: 1.8;
}
.start{
	padding: 1em;
    border: 1px solid #CCCCCC;
    vertical-align: middle;
    text-align: left;
	font-size: 1.2rem;
}
.reha-1{
	padding-top: 0.5rem;
    display: block;
    font-size: 1rem;
}
.reha-2{
  font-weight: bold;
  display: block;
  font-size: 1.5rem;
  color: var(--color-blue);
}
.reha-2 font {
  display: block;
  font-size: .8em;
}
.back-btn23{
	text-align: center;
    display: block;
    font-weight: bold;
    color: var(--color-blue);
    margin: 7rem auto 4rem;
    padding-bottom: 0.8rem;
    font-size: 1.3rem;
    position: relative;
}
.back-btn23:hover{
	opacity:0.5;
}
.back-btn23::after{
	content: "";
    width: 8rem;
    height: 2px;
    display: inline-block;
    background-color: var(--color-blue);
    position: absolute;
    top: 96%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.reha_table_start {
  display: inline-block;
  font-size: .95em;
  font-weight: 600;
  margin: 0 0 0.6em;
  color: var(--color-red);
}
.reha_table_start .txt {
  display: block;
  font-size: 1.15em;
}
.reha_event_ttl_block{
  padding: 2em 0 1em;
}
.reha_event_ttl_block h2 {
  font-size: 1.6rem;
}
.event_day_place {
  font-size: 1.1rem;
}

@media (min-width: 769px){
  /* festival
  ------------------------------------------- */
  .g-festival-head {
    background-image: url(../img/festival/festival-head-bg-pc.jpg);
    height: 450px;
  }
  .festival-sub-sec {
    padding-top: 3em;
  }
  .festival-sub-sec2 {
    padding-top: 4em;
    margin-bottom: -3em;
  }
  .festival-sub-sec3 {
    padding-top: 0em;
    padding-bottom:2em;
  }
  .festival-lede-desc {
    font-size: 1.5rem;
  }
  .festival-news-desc {
    font-size: 1.5rem;
    text-align:center;
  }
  .festival-news-desc p.ttl-text{
    font-size:2.2rem;
  }
  .festival-news-desc p.ttl-text span{
    display:inline;
  }
  .festival-past-ttl {
    font-size: 2.4rem;
  }
  .festival-past-ttl .ja {
    font-size: 1.6rem;
  }
  .festival-past-sec {
    background-color: #eeeeee;
  }
  .festival-past-box {
    margin-right: 4%;
    width: 22%;
    position: relative;
    font-size: 1.4rem;
    margin-bottom: 4.5rem;
  }
  .festival-past-box:nth-child(2n) {
    margin-right: 4%;
  }
  .festival-past-box:nth-child(4n) {
    margin-right: 0;
  }
  .festival-past-list {
    padding: 3em 0 1em;
  }
  .festival-past-box .year {
    font-size: 2.0rem;
    margin-bottom: .5rem;
    font-weight:bold;
  }
  .festival-past-box .name {
    font-size: 2.0rem;
    margin-bottom: .5rem;
    font-weight:bold;
  }
  .festival-past-box .date {
    margin-bottom: .5rem;
  }
  .festival-past-box .place {
    font-size: 1.3rem;
    line-height:1.5;
  }
  .festival-messege {
    background:#fff;
    color:#444;
    font-size:1.2rem;
    line-height:1.4;
    padding:1em;
    border-radius: 4px;
  }

  /* festival Category
  ------------------------------------------- */
  .festival-number-block {
    padding: 4rem 0;
  }
  .festival-c-block{
    display: flex;
    justify-content: center;
    align-items: center;
    /* flex-direction: row-reverse; */
  }
  .festival-c-main {
    font-size: 1.6rem;
    padding: 4rem 0 ;
  }
  .festival-c-main .wrap {
    padding: 0 2%;
  }
  .festival-c-cover {
    max-width: 600px;
    margin:0 auto ;
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, .25);
      -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, .25);
        -ms-box-shadow: 0px 0px 8px rgba(0, 0, 0, .25);
            box-shadow: 0px 0px 8px rgba(0, 0, 0, .25);
    border:6px solid #fff;
  }
  .festival-c-cover img {
    display:block;
    margin:0 auto 0;
  }
  .festival-c-lede dl {
    text-align:left;
    padding-left:0;
    margin-bottom: .6em;
    font-size: 1.2rem;
  }
  .festival-c-lede dl:last-child{
    margin-bottom: 0;
  }
  .festival-c-lede dt{
    margin-right: 1em;
  }
  .festival-c-col-a {
    width: 40%;
    margin: 0 1em;
  }
  .festival-c-col-b {
    width: 40%;
    margin: 0 0 0 1em;
  }
  .festival-c-lede {
    margin-bottom: .5em;
  }
  .festival-c-lede-ttl {
    font-size: 4.4rem;
  }
  .festival-number-ttl {
    font-size: 2rem;
  }
  .festival-number-box {
    /* margin-right: 4%; */
    width: 22.5%;
    position: relative;
    font-size: 1.4rem;
    margin: 1em 0;
  }
  .festival-number-list {
    padding: 2em 0;
  }
  .festival-number-list::after {
    content: "";
    width: 22.5%;
  }
  .festival-number-list::before {
    content: "";
    width: 22.5%;
    order: 1;
  }
  .festival-number-box .name {
    font-size: 1.8rem;
  }
  .festival-number-box .act {
    margin-bottom: .5rem;
  }
  .festival-number-box .genre {
    font-size: 1.1rem;
    line-height:1.5;
  }

  /* Festival post
  ------------------------------------------- */
  .festival-p-main {
    margin-bottom: 3rem;
  }
  .festival-p-lede {
    text-align: center;
  }
  .festival-p-lede dl {
    margin-bottom: 3.0rem;
    font-size: 18px;
  }
  .festival-p-lede dt {
    color: var(--color-blue);
    font-weight:normal;
    /* font-size: 1em; */
    margin-bottom:.2em;
  }

  .festival-p-lede .title dd {
    font-size: 1.4em;
    font-weight: bold;
  }
  .festival-p-lede .title dd h3{
    font-weight: bold;
  }
  .choreo-photo {
    margin-top:1em;
  }
  .choreo-photo img {
    width: 400px;
  }  

  .festival-p-main .branch-photo.sec {
    margin: 1rem auto 4rem;
    max-width: 56rem;
  }

  /* REHEARSAL
  ------------------------------------------- */
  .price-table table {
    font-size: clamp(13px,1.3rem,15px);
  }
  td.reha-photo img {
    max-width: 160px;
    margin-top: 0.5em;
  }
  .f-rule-box{
    margin: 0 5em;
  }
  .sec-ttl .play{
	margin-left: 2em;
  }
  .f-reha-box{
	width: 30%;
  }
  .festival_body,
  .rehearsal_schedule{
  	width: 70%;
    padding: 1.5em 0;
    margin: 0 auto;
  }
  /* .rehearsal_schedule{
	padding: 0 0 10% 0;	
  } */
  .back-btn23{
    margin: 7rem auto 4rem;
    padding-bottom: 0.4rem;
    font-size: 1rem;
  }
  .back-btn23::after{
	width: 6rem;
  }
	.rehabtn{
    font-size: 1.2rem;
    max-width: 24rem;
	}
  .reha-dancer_name {
    font-size: 1.8rem;
  }
  .price-table table td {
    padding: 1.22em 1.5em;
  }
}/* end */


/* 追加 
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.no_mv.fes_page .page-container{
  padding-top: 4rem;
}

.fes-common-ttl {
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-weight: bold;
  padding: 0.5em 0;
  text-align: center;
  position: relative;
  z-index: 10;
}
.fes-common-sub {
  font-size: 1.35rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-bottom: 1.5em;
  color: #606068;
  position: relative;
  font-weight: 500;
  z-index: 10;
}
.fes-common-sub .paragraph{
  display: block;
  padding: .3em 0;
}
.fes-common-p {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-bottom: 1.5em;
  color: #606068;
  position: relative;
  z-index: 10;
} 
.sch-common-p.red {
  color: #d82e66;
}


.sec_past_event{
  padding-top: 6rem;
}
.fes_past_box{
  margin: 1em 0;
}

.fes_detail{
  font-size: 1.2rem;
  padding: .5em 0;
}
.fes_year{
  font-size: 1.8em;
  font-weight: 500;
  line-height: 1;
  float: left;
  margin-right: 0.2em;
}
.fes_date{
  color: #d85e7f;
  padding: .4em 0 .1em;
}
.fes_place{
  color: #606068;
  padding: .2em 0;
  font-size: 0.8em;
}

.fes_past_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.fes_past_box{
  width: 48%;
}

@media (min-width: 769px){
  .sec_note{
    padding: 5.5rem 0 5.5rem;
  }
  .sec_note .sch-common-ttl{
    margin-bottom: 1em;
  }
  .fes_past_block::after {
    content: "";
    width: 22.5%;
  }
  .fes_past_block::before {
    content: "";
    width: 22.5%;
    order: 1;
  }
  .fes_past_box{
    width: 22%;
  }
  .fes_detail{
    font-size: clamp(13px,1.3rem,16px);
  }
  .sec_past_event{
    padding-top: 8rem;
  }
}/* mq860 end */

