@charset "UTF-8";
/* ==========================================================
  フォント
========================================================== */
/* ==========================================================
  EXTEND
========================================================== */
/* ===================================================================
CSS information
 file name  :topics.css
 style info :トピックスのスタイル
=================================================================== */
#topics {
  position: relative;
}
@media screen and (max-width: 750px) {
  #topics:before {
    background: url(../img/shared/bg_main_sp.jpg) no-repeat center top/100%;
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100vh;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap {
    background: url(../img/top/bg_main.jpg) no-repeat center top/cover;
    background-attachment: fixed;
  }
}
#topics #wrap img {
  width: 100%;
}
#topics #wrap .btn {
  display: inline-block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100px;
  color: #6d2000;
  font-weight: 700;
  background: #f0debe url(../img/shared/bg_arrow_r.svg) no-repeat right 1em center/0.5em;
  border: solid 0.2em #c8b5a7;
}
#topics #wrap .btn.btnTop {
  position: absolute;
}
@media screen and (min-width: 751px) {
  #topics #wrap .btn.btnTop {
    font-size: 15px;
    bottom: 20px;
    right: 0;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .btn.btnTop {
    font-size: 2.6vw;
    bottom: 2vw;
    right: 2vw;
  }
}
#topics #wrap .btn.btnTop:lang(ja) {
  padding: 0.4em 2em 0.5em 1em;
}
#topics #wrap .btn.btnTop:lang(en) {
  padding: 0.4em 2em 0.6em 1em;
}
@media screen and (min-width: 751px) {
  #topics #wrap .btn.btnIn {
    font-size: 18px;
    width: 400px;
    padding: 1em 1em 1.2em;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .btn.btnIn {
    padding: 1em 3em;
    margin: 0 auto 2em;
  }
}
@media screen and (min-width: 751px) {
  :lang(en) #topics #wrap .btn.btnIn {
    width: 540px;
  }
}
#topics #wrap .subHeader {
  position: relative;
  margin-inline: auto;
}
@media screen and (min-width: 751px) {
  #topics #wrap .subHeader {
    width: 1080px;
    padding: 40px 0;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .subHeader {
    padding: 6vw 2vw;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .subHeader h1 {
    margin-inline: auto;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .subHeader h1:lang(ja) {
    width: 300px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .subHeader h1:lang(ja) {
    width: 50%;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .subHeader h1:lang(en) {
    width: 400px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .subHeader h1:lang(en) {
    width: 60%;
  }
}
#topics #wrap .subHeader .logoModel {
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  #topics #wrap .subHeader .logoModel {
    top: 20px;
    left: 0;
    width: 360px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .subHeader .logoModel {
    top: 3vw;
    right: 3vw;
    width: 38%;
  }
}
#topics #wrap .content {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content {
    width: 1080px;
    padding-bottom: 180px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content {
    padding-bottom: 32vw;
  }
}
#topics #wrap .content .inner {
  color: #000;
  background-color: rgba(255, 255, 255, 0.95);
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner {
    border-radius: 20px;
    padding: 100px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner {
    padding: 8vw 4vw;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec {
    margin-bottom: 80px;
  }
}
#topics #wrap .content .inner .sec:last-of-type {
  margin-bottom: 0;
}
#topics #wrap .content .inner .sec.main h2 {
  color: #8c0000;
  font-weight: 900;
  margin-bottom: 1em;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec.main h2 {
    font-size: 34px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec.main h2 {
    font-size: 5.2vw;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec.main h2 span {
    font-size: 20px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec.main h2 span {
    font-size: 3.4vw;
  }
}
#topics #wrap .content .inner .sec h3 {
  background: #6d2000;
  border: solid 2px #6d2000;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
  margin-bottom: 2em;
}
#topics #wrap .content .inner .sec h3 span {
  display: block;
  color: #fff;
  font-weight: 900;
  border: solid 2px #fff;
  border-radius: 8px;
  text-shadow: 2px 2px 3px #5a0202, -2px 2px 3px #5a0202, 2px -2px 3px #5a0202, -2px -2px 3px #5a0202, 2px 0px 3px #5a0202, 0px 2px 1px #5a0202, -2px 0px 3px #5a0202, 0px -2px 3px #5a0202;
  padding: 0.4em 1em 0.6em;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec h3 span {
    font-size: 30px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec h3 span {
    font-size: 4.8vw;
  }
}
#topics #wrap .content .inner .sec h3.heightS span {
  padding: 0.2em 1em 0.4em;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec h3.heightS span {
    font-size: 24px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec h3.heightS span {
    font-size: 4vw;
  }
}
#topics #wrap .content .inner .sec .change p {
  text-align: center;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec .change p {
    font-size: 20px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec .change p {
    font-size: 4.4vw;
  }
}
#topics #wrap .content .inner .sec .change p.before {
  margin-bottom: 1em;
}
#topics #wrap .content .inner .sec .change p.before:after {
  display: block;
  content: "";
  margin: 1em auto;
  background: url(../img/shared/img_arrow_down.svg) no-repeat center center/100%;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec .change p.before:after {
    width: 68px;
    height: 38px;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec .change p.before:after {
    width: 12vw;
    height: 7vw;
  }
}
#topics #wrap .content .inner .sec .change p.after {
  color: #e60012;
}
#topics #wrap .content .inner .sec figure {
  margin-bottom: 1em;
}
#topics #wrap .content .inner .sec p {
  font-weight: 700;
  text-align: left;
  margin-bottom: 2em;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec p {
    font-size: 18px;
  }
}
#topics #wrap .content .inner .sec .wrapBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec .wrapBox {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec .wrapBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec .wrapBox figure {
    width: 180px;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  #topics #wrap .content .inner .sec .wrapBox figure {
    padding: 0 30%;
  }
}
@media screen and (min-width: 751px) {
  #topics #wrap .content .inner .sec .wrapBox p {
    width: calc(96% - 180px);
    margin-bottom: 0;
  }
}
#topics #wrap .content .inner .sec .btnBox {
  text-align: center;
}
#topics #wrap .content .inner .sec .movie li {
  margin: 0 auto;
  width: 80%;
}
#topics #wrap .content .inner .sec .movie li a figure {
  position: relative;
}
#topics #wrap .content .inner .sec .movie li a figure img {
  width: 100%;
  border: solid 2px #7f6a44;
}
@media screen and (min-width: 1921px) {
  #topics #wrap .content .inner .sec .movie li a figure img {
    border: solid 0.2vw #7f6a44;
  }
}
#topics #wrap .content .inner .sec .movie li a figure:before {
  display: block;
  content: "";
  position: absolute;
  background: url(../img/shared/icn_play.png) no-repeat center center/100%;
  pointer-events: none;
  z-index: 2;
  width: 20%;
  top: 50%;
  left: 50%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 751px) {
  .guestBox .cast {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 750px) {
  .guestBox .cast {
    margin-bottom: 10vw;
  }
}
.guestBox .cast h4 {
  color: #8c0000;
  font-weight: 900;
  margin-bottom: 0.6em;
}
@media screen and (min-width: 751px) {
  .guestBox .cast h4 {
    font-size: 28px;
  }
}
@media screen and (max-width: 750px) {
  .guestBox .cast h4 {
    font-size: 4.8vw;
  }
}
.guestBox .cast .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .guestBox .cast .in {
    width: 60%;
  }
}
.guestBox .cast .in dl {
  text-align: center;
  width: 48%;
}
.guestBox .cast .in dl dt {
  border: solid 2px #7f6a44;
}
.guestBox .cast .in dl dd {
  font-weight: 900;
  margin-top: 0.5em;
}
@media screen and (min-width: 751px) {
  .guestBox .cast .in dl dd {
    font-size: 18px;
  }
}
.guestBox .cast.cast2 figure {
  border: solid 2px #7f6a44;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .guestBox .cast.cast2 figure {
    width: 80%;
  }
}