/* VIDEOTEASER */
#videoTeaser { padding: 100px 100px 140px; border-bottom: 1px solid #3d416c; }

#videoTeaser .frameWrapper { padding: 0 60px; }

#videoTeaser .frameWrapper iframe { width: 100%; height: 505px; }

.area { padding: 130px 0; border-bottom: 1px solid #3d416c; }

/* AREASCHEDULE */
.areaSchedule .scheduleItem { text-align: center; }

.areaSchedule .scheduleItem .scheduleTitle { background-image: linear-gradient(180deg, transparent 1%, #520e39 0); font-size: 32px; line-height: 1; font-weight: normal; margin-bottom: 50px; letter-spacing: 10px; }

.areaSchedule .scheduleItem .scheduleText { font-size: 20px; line-height: 2.2; background: url("../../images/2019/index/border.png") no-repeat center bottom; padding-bottom: 88px; margin-bottom: 35px; }

.areaSchedule .wrap2 { overflow: hidden; margin-top: 100px; }

.areaSchedule .wrap2 .scheduleItem { width: calc(50% - 20px); float: left; margin-right: 40px; }

.areaSchedule .wrap2 .scheduleItem:last-child { margin-right: 0; }

/* AREASYNOPSIS */
.areaSynopsis .synopsisText { font-size: 16px; text-align: center; line-height: 2.2; }

/* AREASTAFF */
.areaStaff { padding: 140px 0; border-bottom: 1px solid #3d416c; }

.areaStaff .staffTable table { width: 100%; font-size: 16px; }

.areaStaff .staffTable table tr th, .areaStaff .staffTable table tr td { padding-bottom: 45px; vertical-align: top; }

.areaStaff .staffTable table tr th p, .areaStaff .staffTable table tr td p { line-height: 1; }

.areaStaff .staffTable table tr th { font-weight: normal; text-align: right; }

.areaStaff .staffTable table tr th p { padding-right: 25px; border-right: 1px solid #36385d; }

.areaStaff .staffTable table tr td { padding-left: 30px; }

/* AREACAST */
.areaCast { padding-top: 160px; }

.areaCast .cast .castInfo { margin-top: 25px; }

.areaCast .cast .castInfo .castName { font-weight: normal; font-size: 20px; margin-bottom: 15px; }

.areaCast .cast .castInfo .castText { color: #ccc; font-size: 15px; line-height: 1.8; text-align: justify; letter-spacing: 0; }

.areaCast .cast1 .castInfo .castName { position: relative; }

.areaCast .cast1 .castInfo .castName:before { content: ""; width: 25px; height: 4px; background: #960b2c; display: inline-block; vertical-align: middle; margin-right: 13px; }

.areaCast .cast2 .castInfo .castName { position: relative; }

.areaCast .cast2 .castInfo .castName:after { content: ""; width: 25px; height: 4px; background: #960b2c; display: inline-block; vertical-align: middle; margin-left: 13px; }

.areaCast .group { position: relative; }

.areaCast .group .areaTitle { position: absolute; left: 50%; transform: translateX(-50%); top: -10%; }

.areaCast .group .cast { width: calc(50% - 45px); }

.areaCast .group .cast1 { float: left; }

.areaCast .group .cast2 { float: right; }

.areaCast .group .cast2 .castPhoto { text-align: right; }

.areaCast .group .cast2 .castInfo .castName { text-align: right; }

.areaCast .groupCenter { padding: 0 280px; }

.areaCast .groupCenter .cast { margin-bottom: 75px; }

.areaCast .groupCenter .cast .castInfo { margin-top: 0; }

.areaCast .groupCenter .cast1 { width: 100%; }

.areaCast .groupCenter .cast1 .castPhoto { position: absolute; top: 0; left: 0; }

.areaCast .groupCenter .cast2 { width: 100%; }

.areaCast .groupCenter .cast2 .castPhoto { position: absolute; top: 0; right: 0; }

.areaCast .group1 { margin-bottom: 170px; }

.areaCast .group2 .cast .castPhoto { top: -10%; }

.areaCast .group3 .cast .castPhoto { top: -17%; }

.areaCast .group4 .cast .castPhoto { top: -16%; }

.areaCast .group4 .cast2 .castPhoto { top: auto; bottom: 14%; }

.areaCast .group5 .cast .castPhoto { top: -4%; }

.areaCast .group6 { margin-bottom: 40px; }

.areaCast .group6 .cast .castPhoto { top: -8%; }

.areaCast .box { text-align: center; padding: 130px 0 0; background: url("../../images/2019/index/border.png") no-repeat center top; }

.areaCast .box .outfitTitle { font-size: 26px; width: 240px; text-align: center; border: 1px solid #fff; padding: 12px; display: inline-block; vertical-align: middle; margin-right: 105px; }

.areaCast .box .outfitList { width: 402px; overflow: hidden; display: inline-block; vertical-align: middle; }

.areaCast .box .outfitList li { font-size: 18px; float: left; margin-right: 35px; padding: 16px 0; }

.areaCast .box .outfitList li:nth-child(4n) { margin-right: 0; }

/* AREAGOODS */
.areaGoods { padding: 130px 0 0; border-bottom: none; }

@media (max-width: 768px) { .area { padding: 30px 0; }
  #videoTeaser { padding: 20px 0 0 0; border-bottom: none; }
  #videoTeaser .frameWrapper { padding: 0; }
  #videoTeaser .frameWrapper iframe { height: 200px; }
  .areaSchedule { padding-bottom: 15px; }
  .areaSchedule .scheduleItem .scheduleTitle { font-size: 25px; background-image: linear-gradient(180deg, transparent 30%, #520e39 0); margin-bottom: 20px; }
  .areaSchedule .scheduleItem .scheduleText { font-size: 19px; line-height: 1.5; background: url("../../images/2019/index/border_sp.png") no-repeat center bottom/100%; padding-bottom: 100px; }
  .areaSchedule .wrap2 { margin-top: 30px; }
  .areaSchedule .wrap2 .scheduleItem { width: 100%; margin: 0 0 30px 0; }
  .areaSchedule .wrap2 .scheduleItem .scheduleTable img { width: 30%; }
  .areaSchedule .wrap2 .scheduleItem:last-child .scheduleTable img { width: 60%; }
  .areaSynopsis .synopsisText { font-size: 14px; line-height: 1.5; }
  .areaStaff .staffTable table { font-size: 14px; }
  .areaStaff .staffTable table tr th, .areaStaff .staffTable table tr td { padding-bottom: 10px; letter-spacing: 0; }
  .areaStaff .staffTable table tr th p, .areaStaff .staffTable table tr td p { line-height: 1.5; }
  .areaStaff .staffTable table tr th { width: 35.5%; }
  .areaStaff .staffTable table tr th p { padding-right: 10px; }
  .areaStaff .staffTable table tr td { padding-left: 10px; }
  .areaCast .group .cast { width: 100%; margin-bottom: 35px; }
  .areaCast .group .cast .castPhoto { width: 40%; }
  .areaCast .group .cast .castInfo { margin-top: 0; }
  .areaCast .group .cast .castInfo .castText { font-size: 14px; }
  .areaCast .group .areaTitle { position: static; transform: none; margin-bottom: 30px; }
  .areaCast .group .cast1 .castPhoto { float: left; margin: 0 10px 20px 0; }
  .areaCast .group .cast2 .castPhoto { float: right; margin: 0 0 20px 20px; }
  .areaCast .group1 { margin-bottom: 0; }
  .areaCast .groupCenter { padding: 0; }
  .areaCast .groupCenter .cast1 .castPhoto, .areaCast .groupCenter .cast2 .castPhoto { position: static; width: 29%; }
  .areaCast .group6 { margin-bottom: 0; }
  .areaCast .box { background: url("../../images/2019/index/border_sp.png") no-repeat center top/100%; padding: 80px 0 0; }
  .areaCast .box .outfitTitle { font-size: 20px; margin: 0 auto 15px; width: 48%; padding: 6px; }
  .areaCast .box .outfitList { width: 100%; text-align: center; }
  .areaCast .box .outfitList li { float: none; display: inline-block; padding: 4px 0; font-size: 14px; margin: 0 20px; }
  .areaCast .box .outfitList li:nth-child(4n) { margin-right: 20px; }
  .areaCast .box .outfitList li.breakline { display: block; line-height: 0; padding: 0; }
  .areaGoods { padding: 30px 0 0; } }

@media (max-width: 414px) { .areaSchedule .scheduleItem .scheduleText { padding-bottom: 50px; } }
