@charset "UTF-8";
/*======SP=======*/
.mainTopWrap .mainTop {
  width: 100vw;
  min-height: 100vh;
  min-height: 100svh;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #FFF;
  position: relative;
  z-index: 800; }
  .mainTopWrap .mainTop img {
    width: 69.3333333333vw;
    max-width: 520px; }
  .mainTopWrap .mainTop div.scrolldown {
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 19.3333333333vw; }
    .mainTopWrap .mainTop div.scrolldown span {
      position: absolute;
      left: -5.3333333333vw;
      color: #000;
      font-size: 2.4vw;
      letter-spacing: 0.1em; }
    .mainTopWrap .mainTop div.scrolldown::after {
      content: "";
      position: absolute;
      bottom: 0;
      width: 1px;
      height: 13.3333333333vw;
      background: #000;
      animation: scrollDown4 2s ease-in-out infinite; }

@keyframes scrollDown4 {
  0% {
    transform-origin: top;
    transform: scaleY(0); }
  45% {
    transform-origin: top;
    transform: scaleY(1); }
  55% {
    transform-origin: bottom;
    transform: scaleY(1); }
  100% {
    transform-origin: bottom;
    transform: scaleY(0); } }
.kvTop {
  position: relative;
  padding-top: 16vw;
  /* アンカー位置調節 */
  margin-top: -16vw;
  /* アンカー位置調節 */ }
  .kvTop div h2.h2Base {
    position: absolute;
    left: 8vw;
    top: 101.3333333333vw;
    font-size: 10.4vw;
    color: #ffffff; }
  .kvTop div ul li {
    position: absolute;
    left: 8vw;
    z-index: 5; }
    .kvTop div ul li.womenTop {
      top: 117.3333333333vw; }
    .kvTop div ul li.menTop {
      top: 134.6666666667vw; }
    .kvTop div ul li.actorTop {
      top: 152vw; }
    .kvTop div ul li a {
      color: #fff;
      display: block;
      border: 1px solid #fff;
      width: 50.6666666667vw;
      padding: 4.6666666667vw 0;
      text-align: center;
      text-decoration: none;
      letter-spacing: 0.1em;
      line-height: 1;
      font-size: 4.2666666667vw;
      overflow: hidden;
      position: relative; }
      .kvTop div ul li a:after {
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
        z-index: -1; }
      .kvTop div ul li a:hover {
        color: #000; }
        .kvTop div ul li a:hover::after {
          transform: scale(1, 1); }
  .kvTop div div.kvBg {
    width: 100%;
    height: auto;
    z-index: 1; }
    .kvTop div div.kvBg img {
      width: 100%;
      height: auto; }

main#contentsTop {
  padding: 0; }
  main#contentsTop div.newsArea {
    padding: 24vw 0;
    width: 84vw;
    margin: 0 auto; }
    main#contentsTop div.newsArea h2.h2Base {
      font-size: 10.4vw;
      text-align: left;
      margin-bottom: 10.6666666667vw; }
    main#contentsTop div.newsArea div.newsWrap p.newsDate {
      line-height: 1;
      font-size: 2.6666666667vw;
      letter-spacing: 0.1em; }
      main#contentsTop div.newsArea div.newsWrap p.newsDate:after {
        content: "";
        display: block;
        width: 4vw;
        height: 1px;
        margin: 4vw 0;
        background-color: #000; }
    main#contentsTop div.newsArea div.newsWrap dl.newsList {
      line-height: 1;
      letter-spacing: 0.1em;
      margin-bottom: 10.6666666667vw; }
      main#contentsTop div.newsArea div.newsWrap dl.newsList dt {
        font-size: 3.7333333333vw;
        margin-bottom: 2.6666666667vw;
        font-weight: 700;
        line-height: 1.4; }
      main#contentsTop div.newsArea div.newsWrap dl.newsList dd p {
        font-size: 3.2vw;
        line-height: 1.4; }
    main#contentsTop div.newsArea p.viewAll a {
      font-size: 3.7333333333vw;
      position: relative;
      text-decoration: none;
      color: #000; }
      main#contentsTop div.newsArea p.viewAll a i.fa-arrow-right {
        position: absolute;
        display: block;
        top: 0.6666666667vw;
        right: -5.3333333333vw;
        width: 3.6vw;
        height: 3.2vw;
        transition: .3s all; }
      main#contentsTop div.newsArea p.viewAll a:hover i.fa-arrow-right {
        right: -6.6666666667vw; }
      main#contentsTop div.newsArea p.viewAll a span {
        position: relative;
        font-weight: 700;
        letter-spacing: 0.05em;
        font-size: 3.7333333333vw; }
        main#contentsTop div.newsArea p.viewAll a span::after {
          position: absolute;
          bottom: -1.6vw;
          left: 0;
          content: '';
          width: 100%;
          height: 2px;
          background-color: #000;
          transition: .3s;
          transform: scale(1, 1);
          transform-origin: right top; }
      main#contentsTop div.newsArea p.viewAll a:hover span::after {
        transform: scale(0, 1); }

/*======TB/PC=======*/
@media (min-width: 768px) {
  .mainTopWrap .mainTop img {
    width: 62vw;
    max-width: 682px; }
  .mainTopWrap .mainTop div.scrolldown {
    height: 7.2727272727vw; }
    .mainTopWrap .mainTop div.scrolldown span {
      left: -2.4090909091vw;
      font-size: 1vw; }
    .mainTopWrap .mainTop div.scrolldown::after {
      height: 4.5454545455vw; }

  .kvTop {
    width: 100%;
    background: #000;
    padding-top: 9.0909090909vw;
    /* アンカー位置調節 */
    margin-top: -9.0909090909vw;
    /* アンカー位置調節 */ }
    .kvTop div {
      width: 1100px;
      margin: 0 auto;
      position: relative; }
      .kvTop div h2.h2Base {
        left: 4.5454545455vw;
        top: 52.7272727273vw;
        font-size: 5.4545454545vw;
        z-index: 5; }
      .kvTop div ul {
        position: absolute;
        bottom: 12.7272727273vw;
        left: 4.5454545455vw;
        display: flex;
        justify-content: space-between; }
        .kvTop div ul li {
          position: static;
          left: 0; }
          .kvTop div ul li a {
            width: 21.8181818182vw;
            padding: 2.4545454545vw 0;
            text-align: center;
            font-size: 2.1818181818vw;
            margin-right: 2.7272727273vw; }
      .kvTop div div.kvBg {
        position: relative;
        top: 0;
        left: 50%;
        width: 145.4545454545vw;
        max-height: 81.8181818182vw;
        margin-left: -72.7272727273vw;
        z-index: 3; }

  main#contentsTop {
    padding: 0; }
    main#contentsTop div.newsArea {
      padding: 13.6363636364vw 4.5454545455vw;
      margin: 0 auto;
      width: 100%; }
      main#contentsTop div.newsArea h2.h2Base {
        font-size: 5.4545454545vw;
        margin-bottom: 7.2727272727vw; }
      main#contentsTop div.newsArea div.newsWrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 4.5454545455vw; }
        main#contentsTop div.newsArea div.newsWrap p.newsDate {
          line-height: 1;
          font-size: 1.0909090909vw;
          position: relative;
          width: 10.4545454545vw; }
          main#contentsTop div.newsArea div.newsWrap p.newsDate:after {
            width: 1px;
            height: 1.3333333333vw;
            position: absolute;
            top: 0;
            right: 0;
            margin: 0; }
        main#contentsTop div.newsArea div.newsWrap dl.newsList {
          width: 89.0909090909vw;
          padding-left: 3.6363636364vw;
          margin-bottom: 0;
          margin-top: 0.5090909091vw; }
          main#contentsTop div.newsArea div.newsWrap dl.newsList dt {
            font-size: 1.4545454545vw;
            margin-bottom: 1.3636363636vw; }
          main#contentsTop div.newsArea div.newsWrap dl.newsList dd p {
            font-size: 1.2727272727vw; }
      main#contentsTop div.newsArea p.viewAll {
        text-align: right; }
        main#contentsTop div.newsArea p.viewAll a {
          font-size: 1.4545454545vw; }
          main#contentsTop div.newsArea p.viewAll a i.fa-arrow-right {
            top: 0.4545454545vw;
            right: -2.7272727273vw;
            width: 1.4545454545vw;
            height: 1.2727272727vw; }
          main#contentsTop div.newsArea p.viewAll a:hover i.fa-arrow-right {
            right: -3.1818181818vw; }
          main#contentsTop div.newsArea p.viewAll a span {
            font-size: 1.4545454545vw; }
            main#contentsTop div.newsArea p.viewAll a span::after {
              bottom: -0.9090909091vw;
              left: 0;
              width: 100%;
              height: 2px; } }
/*======PC=======*/
@media (min-width: 1100px) {
  .mainTopWrap .mainTop img {
    width: 682px; }
  .mainTopWrap .mainTop div.scrolldown {
    height: 80px; }
    .mainTopWrap .mainTop div.scrolldown span {
      left: -26.5px;
      font-size: 11px; }
    .mainTopWrap .mainTop div.scrolldown::after {
      height: 50px; }

  .kvTop {
    background: #050505;
    background: linear-gradient(90deg, #050505 0%, #050505 50%, #080808 100%);
    padding-top: 100px;
    /* アンカー位置調節 */
    margin-top: -100px;
    /* アンカー位置調節 */ }
    .kvTop div {
      width: 1100px; }
      .kvTop div h2.h2Base {
        left: 0;
        top: 580px;
        font-size: 60px; }
      .kvTop div ul {
        bottom: 140px;
        left: 0; }
        .kvTop div ul li a {
          width: 240px;
          padding: 27px 0;
          font-size: 24px;
          margin-right: 30px; }
      .kvTop div div.kvBg {
        width: 1600px;
        height: 900px;
        margin-left: -800px; }

  main#contentsTop div.newsArea {
    padding: 150px 50px; }
    main#contentsTop div.newsArea h2.h2Base {
      font-size: 60px;
      margin-bottom: 80px; }
    main#contentsTop div.newsArea div.newsWrap {
      margin-bottom: 50px; }
      main#contentsTop div.newsArea div.newsWrap p.newsDate {
        font-size: 12px;
        width: 115px; }
        main#contentsTop div.newsArea div.newsWrap p.newsDate:after {
          height: 10px;
          position: absolute;
          top: 0;
          right: 0;
          margin: 0; }
      main#contentsTop div.newsArea div.newsWrap dl.newsList {
        width: 985px;
        padding-left: 40px;
        margin-top: 5.6px; }
        main#contentsTop div.newsArea div.newsWrap dl.newsList dt {
          font-size: 16px;
          margin-bottom: 15px; }
        main#contentsTop div.newsArea div.newsWrap dl.newsList dd p {
          font-size: 14px; }
    main#contentsTop div.newsArea p.viewAll a {
      font-size: 16px; }
      main#contentsTop div.newsArea p.viewAll a i.fa-arrow-right {
        top: 5px;
        right: -30px;
        width: 16px;
        height: 14px; }
      main#contentsTop div.newsArea p.viewAll a:hover i.fa-arrow-right {
        right: -35px; }
      main#contentsTop div.newsArea p.viewAll a span {
        font-size: 16px; }
        main#contentsTop div.newsArea p.viewAll a span::after {
          bottom: -10px; } }
