.u-bold {
  font-weight: bold;
}

.l-inner {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .l-inner {
	width: 1400px;
	margin: 0 auto;
	padding: 0;
  }
}

.c-flexBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* .c-flexBox__spc */
.c-flexBox__spc {
  width: 100%;
}
.c-flexBox__spc:nth-child(2) {
  margin-top: 20px;
}

/* .c-flexBox__spc--img */
.c-flexBox__spc--img {
  text-align: center;
}

/* reverse variants */
.c-flexBox--rev {
  flex-direction: column-reverse;
}
.c-flexBox--rev > .c-flexBox__spc:nth-child(1) {
  margin-top: 20px;
}
.c-flexBox--rev > .c-flexBox__spc:nth-child(2) {
  margin-top: 0;
}

.c-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/* ========== PC (min-width:769px) ========== */
@media screen and (min-width: 769px) {
  .c-flexBox__spc:nth-child(2) {
    margin-top: 0;
  }

  .c-flexBox__spc--img img {
    width: 100%;
  }

  .c-flexBox--ratio1-9 > .c-flexBox__spc:nth-child(1) {
    width: 10%;
  }
  .c-flexBox--ratio1-9 > .c-flexBox__spc:nth-child(2) {
    width: 88%;
  }

  .c-flexBox--ratio2-8 > .c-flexBox__spc:nth-child(1) {
    width: 18%;
  }
  .c-flexBox--ratio2-8 > .c-flexBox__spc:nth-child(2) {
    width: 78%;
  }

  .c-flexBox--ratio3-7 > .c-flexBox__spc:nth-child(1) {
    width: 28%;
  }
  .c-flexBox--ratio3-7 > .c-flexBox__spc:nth-child(2) {
    width: 68%;
  }

  .c-flexBox--ratio4-6 > .c-flexBox__spc:nth-child(1) {
    width: 38%;
  }
  .c-flexBox--ratio4-6 > .c-flexBox__spc:nth-child(2) {
    width: 58%;
  }

  .c-flexBox--ratio5-5 > .c-flexBox__spc:nth-child(1),
  .c-flexBox--ratio5-5 > .c-flexBox__spc:nth-child(2) {
    width: 48%;
  }

  .c-flexBox--rev {
    flex-direction: row-reverse;
  }

  .c-flexBox--rev--pc {
    flex-direction: row-reverse;
  }

  .c-col--item2 {
    gap: 24px 4%;
  }
  .c-col--item2 > .c-col__item {
    width: 48%;
  }
  .c-col--item3 {
    gap: 24px 5%;
  }
  .c-col--item3 > .c-col__item {
    width: 30%;
  }
  .c-col--item4 {
    gap: 24px 2%;
  }
  .c-col--item4 > .c-col__item {
    width: 23.5%;
  }
  .c-col--item5 {
    gap: 24px 2%;
  }
  .c-col--item5 > .c-col__item {
    width: 18.4%;
  }
  .c-col--item6 {
    gap: 24px 2%;
  }
  .c-col--item6 > .c-col__item {
    width: 15%;
  }
}

/* ========== SP (max-width:768px) ========== */
@media screen and (max-width: 768px) {
  .c-flexBox--rev--sp {
    flex-direction: column-reverse;
  }
  .c-flexBox--rev--sp > .c-flexBox__spc:nth-child(1) {
    margin-top: 20px;
  }
  .c-flexBox--rev--sp > .c-flexBox__spc:nth-child(2) {
    margin-top: 0;
  }

  .c-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-col > .c-col__item + .c-col__item {
    margin-top: 1.2rem;
  }
  .c-col--sp--item2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px 4%;
  }
  .c-col--sp--item2 > .c-col__item {
    width: 48%;
  }
  .c-col--sp--item2 > .c-col__item + .c-col__item {
    margin-top: 0;
  }
  .c-col--sp--item3 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 24px 5%;
  }
  .c-col--sp--item3 > .c-col__item {
    width: 30%;
  }
}

@media screen and (min-width: 769px) {
  .u-pc {
    display: block;
  }
  .u-sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}

/* ========== 上書き ========== */
.l_page_header {
  position: relative;
}

.l_breadcrumbs {
  margin: 40px 0 0 auto;
}

.c-ttl__cont {
  position: relative;
  margin-bottom: 10px;
}
.c-ttl__cont::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  height: 5px;
}

.l_page_container:before {
  content: none;
}

.c_ttl_lead__sub {
  margin-top: 10px;
  font-size: .8em;
}

@media screen and (min-width: 769px) {
  .l_page_container {
    margin-top: 10px;
  }

  .l_page_sec:first-child {
    margin-top: 0;
  }

  .l_page_main {
    padding-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .l_page_header {
      padding-top: 30px;
  }

  .l_page_header .c_ttl-m .p-p_art__ttl.c_ttl_main {
    font-size: 2.8rem;
	max-width: 100%;
  }

  .l_page_header .c_ttl-m .p-p_art__ttl.c_ttl_main:before {
    top: 20px;
  }
}

@media screen and (min-width: 769px) {
  .p-coursePosition {
    position: absolute;
	top: 32%;
	width: 610px;
  }
}

.slick-next,
.slick-prev {
  z-index: 1;
}

.slick-prev {
  left: 10px;
}

.slick-next {
  right: 10px;
}

.p_course_p_art .slick-next:before,
.p_course_p_art .slick-prev:before {
  opacity: 1;
}

.slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 8px;
  border-radius: 6px;
  overflow: hidden;
  background: #DBDBDB;
}

.slick-dots li.slick-active button:before,
.slick-dots li button:before{
  color: unset;
}

.slick-dots {
  bottom: -35px;
}

/* パフォーミングアーツ */
.p_course_p_art .l_page_kv {
  box-shadow: 15px 15px 0 #ffa7cb;
}
.p_course_p_art .c-ttl__cont::before {
  background: linear-gradient(to left, #ffa7cb 0%, #de3691 100%);
}
@media screen and (max-width: 768px) {
  .p_course_p_art .l_page_kv {
    box-shadow: 10px 10px 0 #ffa7cb;
  }
}

/* ミュージシャン */
.p_course_music .l_page_kv {
  box-shadow: 15px 15px 0 #f73939;
}
.p_course_music .c-ttl__cont::before {
  background: linear-gradient(to left, #f73939 0%, #ce0030 100%);
}
@media screen and (max-width: 768px) {
  .p_course_music .l_page_kv {
    box-shadow: 10px 10px 0 #f73939;
  }
}

/* 音響 */
.p_course_pa .l_page_kv {
  box-shadow: 15px 15px 0 #F77F00;
}
.p_course_pa .c-ttl__cont::before {
  background: linear-gradient(to left, #EA893A 0%, #eeb94c 100%);
}
@media screen and (max-width: 768px) {
  .p_course_pa .l_page_kv {
    box-shadow: 10px 10px 0 #F77F00;
  }
}

/* 映像 */
.p_course_movie .l_page_kv {
  box-shadow: 15px 15px 0 #2874b4;
}
.p_course_movie .c-ttl__cont::before {
  background:linear-gradient(to left, #2874b4 0%, #6ebedd 100%);
}
@media screen and (max-width: 768px) {
  .p_course_movie .l_page_kv {
    box-shadow: 10px 10px 0 #2874b4;
  }
}

/* 写真 */
.p_course_photo .l_page_kv {
  box-shadow: 15px 15px 0 #75C757;
}
.p_course_photo .c-ttl__cont::before {
  background:linear-gradient(to left, #75C757 0%, #aad44c 100%);
}
@media screen and (max-width: 768px) {
  .p_course_photo .l_page_kv {
    box-shadow: 10px 10px 0 #75C757;
  }
}

.c-btn__item {
  margin: 30px 0;
}

.c-btn__item a {
  display: inline-block;
  font-weight: 700;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  padding: 2rem;
  border-radius: 10px;
  width: 100%;
  transition: all 0.3s;
  position: relative;
}
.c-btn__item--orange a {
  background: #eb6100;
  box-shadow: 0 5px 0 #d25600;
}
.c-btn__item--blue a {
  background: #6dbfdd;
  box-shadow: 0 5px 0 #1ba1ba;
  padding-top: 2.5rem;
}

.c-btn__item a svg {
  content: "";
  display: inline-block;
  margin: 0 10px 0 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  fill: #fff;
  transition: 0.4s ease;
}

.c-btn__item a span {
  font-size: 1.5rem;
  position: absolute;
  top: -1.25rem;
  left: calc(50% - 150px);
  display: block;
  min-width: 300px;
  padding: .5rem 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}
.c-btn__item--blue a span {
  color: #1ba1ba;
  border: 2px solid #6dbfdd;
}
.c-btn__item a span::before,
.c-btn__item a span::after {
  content: "";
  position: absolute;
  left: calc(50% - 10px);
}
.c-btn__item a span::before {
  bottom: -10px;
  border-width: 10px 10px 0 10px;
  border-style: solid;
}
.c-btn__item--blue a span::before {
  border-color: #6dbfdd transparent transparent transparent;
}
.c-btn__item a span::after {
  bottom: -7px;
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.c-btn__item a:hover {
  transform: translate(0, 3px);
}
.c-btn__item--orange a:hover {
  box-shadow: 0 2px 0 #d25600;
}
.c-btn__item--blue a:hover {
  box-shadow: 0 2px 0 #1ba1ba;
}

@media screen and (max-width: 768px) {
  .c-btn__list {
    margin-top: 30px;
  }
  .c-btn__item a {
    font-size: 1.5rem;
    padding: 1.5rem;
  }
  .c-btn__item--blue a {
    padding-top: 2rem;
  }
  .c-btn__item a span {
    font-size: 1.2rem;
  }
}

