@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
body.modal-open {
  overflow-y: hidden; }

.main .header {
  width: 100%;
  height: 4.6666666667vw;
  background: #fff;
  position: fixed;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10; }
  .main .header h1 {
    width: 16.6666666667vw;
    margin-left: 1.8333333333vw; }
  .main .header .menu {
    position: absolute;
    right: 0vw;
    top: 0vw;
    background: #000000;
    width: 4.6666666667vw;
    height: 4.6666666667vw;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
    z-index: 13; }
    .main .header .menu span {
      position: absolute;
      background-color: #fff;
      width: 1.6666666667vw;
      height: 0.1666666667vw;
      left: 50%;
      margin-left: -0.8333333333vw;
      transition: all .4s ease-in-out; }
      .main .header .menu span:nth-of-type(1) {
        top: 1.6666666667vw; }
      .main .header .menu span:nth-of-type(2) {
        top: 50%;
        margin-top: -0.0833333333vw; }
      .main .header .menu span:nth-of-type(3) {
        bottom: 1.6666666667vw; }
    .main .header .menu.active {
      background: #000; }
      .main .header .menu.active span {
        background-color: #fff;
        z-index: 51; }
        .main .header .menu.active span:nth-of-type(1) {
          transform: rotate(45deg);
          top: 49%;
          margin-top: -0.1666666667vw; }
        .main .header .menu.active span:nth-of-type(2) {
          opacity: 0; }
        .main .header .menu.active span:nth-of-type(3) {
          transform: rotate(-45deg);
          bottom: 50%; }
  .main .header nav {
    position: absolute;
    right: 0vw;
    top: 4.6666666667vw;
    width: 100%;
    display: none;
    background: black;
    z-index: 10;
    padding: 4.1666666667vw 0; }
    .main .header nav .top {
      font-family: "Montserrat", sans-serif;
      font-style: italic;
      text-align: center;
      font-size: 1.1666666667vw;
      font-weight: 600;
      line-height: 1;
      color: #fff; }
      .main .header nav .top a {
        font-size: 2vw;
        display: block;
        color: #fff; }
    .main .header nav .navinner {
      display: flex;
      justify-content: center;
      margin-top: 2.5vw;
      margin-bottom: 2.5vw; }
      .main .header nav .navinner p {
        padding: 0 2.5vw;
        text-align: center;
        font-size: 1.1666666667vw;
        line-height: 1.6666666667vw;
        font-weight: 700;
        border-right: 0.0833333333vw solid #8e8e8e; }
        .main .header nav .navinner p:last-child {
          border-right: none; }
        .main .header nav .navinner p span {
          display: block;
          font-family: "Montserrat", sans-serif;
          font-style: italic;
          text-align: center;
          font-size: 1.6666666667vw;
          font-weight: 600;
          line-height: 1;
          padding-bottom: 0.8333333333vw; }
        .main .header nav .navinner p a {
          color: #fff; }
    .main .header nav ul {
      margin: 1.6666666667vw 0;
      display: flex;
      justify-content: center; }
      .main .header nav ul li {
        width: 3.0833333333vw;
        margin: 0 0.4166666667vw; }
  .main .header .fixbtn {
    position: fixed;
    width: 4.8333333333vw;
    right: 0;
    top: 50%;
    z-index: 8; }
.main .contents {
  margin-top: 4.6666666667vw; }
  .main .contents .kv {
    padding-bottom: 6.6666666667vw; }
  .main .contents .top {
    background: linear-gradient(to right, #fbfaff 0%, #eaecef 100%);
    padding-bottom: 7.0833333333vw; }
    .main .contents .top .ttl {
      text-align: center;
      font-size: 1.6666666667vw;
      font-weight: 700;
      position: relative;
      top: -0.8333333333vw;
      padding-bottom: 1.6666666667vw;
      margin-bottom: 3.75vw; }
      .main .contents .top .ttl:after {
        position: absolute;
        content: "";
        width: 1.6666666667vw;
        height: 0.1666666667vw;
        background: #000;
        left: 50%;
        margin-left: -0.8333333333vw;
        bottom: 0; }
    .main .contents .top .contentsbox {
      display: flex;
      justify-content: center; }
      .main .contents .top .contentsbox .box {
        width: 27.0833333333vw;
        height: 11.4166666667vw;
        margin: 0 1.125vw; }
        .main .contents .top .contentsbox .box.back_01 {
          background: url("../images/box_1.svg") no-repeat center center/cover; }
        .main .contents .top .contentsbox .box.back_02 {
          background: url("../images/box_2.svg") no-repeat center center/cover; }
        .main .contents .top .contentsbox .box.back_03 {
          background: url("../images/box_3.svg") no-repeat center center/cover; }
        .main .contents .top .contentsbox .box h4 {
          font-size: 1.1666666667vw;
          font-weight: 700;
          text-align: center;
          padding-top: 4.5833333333vw; }
  .main .contents .about {
    position: relative;
    padding: 10.8333333333vw 0; }
    .main .contents .about h3 {
      font-family: "Montserrat", sans-serif;
      font-style: italic;
      text-align: center;
      font-size: 6.5vw;
      font-weight: 600;
      line-height: 1; }
    .main .contents .about h4 {
      text-align: center;
      font-size: 2.5vw;
      line-height: 4.1666666667vw;
      font-weight: 700;
      padding: 2.5vw 0; }
    .main .contents .about h5 {
      text-align: center;
      font-size: 1.5833333333vw;
      line-height: 3.1666666667vw;
      font-weight: 700; }
    .main .contents .about figure {
      position: absolute;
      width: 100%;
      z-index: -1;
      top: 13.3333333333vw; }
    .main .contents .about .movie {
      width: 65vw;
      margin: 3.75vw auto 0;
      position: relative; }
      .main .contents .about .movie video {
        width: 100%; }
      .main .contents .about .movie .poster {
        width: 100%;
        height: 100%;
        cursor: pointer;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1; }
  .main .contents .structure {
    background: #04080f;
    padding: 7.5vw 0;
    position: relative; }
    .main .contents .structure:after {
      position: absolute;
      content: "";
      width: 65.9166666667vw;
      height: 65.3333333333vw;
      right: -4.1666666667vw;
      top: 25.8333333333vw;
      background: url("../images/strac_back_1.svg") no-repeat center center/cover;
      z-index: 0; }
    .main .contents .structure:before {
      position: absolute;
      content: "";
      width: 73.5vw;
      height: 73.3333333333vw;
      left: -4.1666666667vw;
      bottom: 12.5vw;
      background: url("../images/strac_back_2.svg") no-repeat center center/cover;
      transform: rotate(-20deg);
      z-index: 0; }
    .main .contents .structure .lead {
      position: absolute;
      width: 4.75vw;
      right: 11.5vw; }
    .main .contents .structure .flexarea {
      display: flex;
      position: relative;
      z-index: 1; }
      .main .contents .structure .flexarea.wid_1 {
        justify-content: flex-start;
        width: 85.3333333333vw;
        margin: 0 auto; }
      .main .contents .structure .flexarea.wid_2 {
        width: 100%;
        justify-content: space-between; }
      .main .contents .structure .flexarea.wid_3 {
        width: 100%;
        justify-content: space-between;
        flex-direction: row-reverse; }
      .main .contents .structure .flexarea.wid_4 {
        justify-content: space-between;
        align-items: center;
        width: 85.3333333333vw;
        margin: 5vw auto 0;
        color: #fff; }
      .main .contents .structure .flexarea .txtbox .num {
        width: 11.5vw; }
      .main .contents .structure .flexarea .txtbox .leadtop {
        color: #fff;
        font-size: 2.0833333333vw;
        line-height: 4.0833333333vw;
        padding: 0.8333333333vw 0 2.0833333333vw; }
        .main .contents .structure .flexarea .txtbox .leadtop span {
          color: #ffff00; }
      .main .contents .structure .flexarea .txtbox .txt {
        color: #fff;
        font-size: 1.1666666667vw;
        line-height: 2.1666666667vw; }
      .main .contents .structure .flexarea .txtbox .leadtxt {
        color: #fff;
        font-size: 2.0833333333vw;
        line-height: 4.0833333333vw;
        font-weight: 700;
        margin-left: 18.3333333333vw;
        margin-top: -6.6666666667vw; }
        .main .contents .structure .flexarea .txtbox .leadtxt span {
          display: block;
          position: relative; }
          .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_1 {
            width: 16.5vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_2 {
            width: 24.9166666667vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_3 {
            width: 36.0833333333vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_4 {
            width: 20.25vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_5 {
            width: 22.6666666667vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_6 {
            width: 24.5vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span:after {
            position: absolute;
            content: "";
            background: url("../images/txtunder.svg") repeat-x left top/cover;
            width: 100%;
            height: 1.25vw;
            bottom: -0.8333333333vw;
            left: 0vw; }
      .main .contents .structure .flexarea .txtbox.wid_1 {
        width: 39.1666666667vw; }
      .main .contents .structure .flexarea .txtbox.wid_2 {
        width: 70.8333333333vw;
        margin-top: 3.3333333333vw; }
      .main .contents .structure .flexarea .txtbox.wid_3 {
        width: 70.8333333333vw; }
      .main .contents .structure .flexarea .txtbox.wid_4 {
        width: 40.4166666667vw; }
      .main .contents .structure .flexarea figure.wid_1 {
        width: 36.6666666667vw; }
      .main .contents .structure .flexarea figure.wid_2 {
        width: 37.5vw;
        margin-left: 5.5833333333vw;
        margin-right: -5.5833333333vw;
        position: relative;
        z-index: 2; }
      .main .contents .structure .flexarea figure.wid_3 {
        width: 48.9166666667vw;
        margin-left: -20vw;
        margin-right: 8.75vw;
        position: relative;
        z-index: 2; }
      .main .contents .structure .flexarea figure.wid_4 {
        width: 39.1666666667vw; }
  .main .contents .structureunder {
    padding: 9.5833333333vw 0 12.0833333333vw; }
    .main .contents .structureunder .leadtxts {
      text-align: center;
      text-align: center;
      font-size: 1.6666666667vw;
      font-weight: 700;
      position: relative;
      top: -0.8333333333vw;
      padding-bottom: 1.6666666667vw;
      margin-bottom: 3.75vw; }
      .main .contents .structureunder .leadtxts:after {
        position: absolute;
        content: "";
        width: 1.6666666667vw;
        height: 0.1666666667vw;
        background: #000;
        left: 50%;
        margin-left: -0.8333333333vw;
        bottom: 0; }
      .main .contents .structureunder .leadtxts span {
        display: block;
        width: 4.8333333333vw;
        margin: 0 auto;
        padding-bottom: 1.6666666667vw; }
    .main .contents .structureunder--flex {
      width: 85.3333333333vw;
      margin: 3.3333333333vw auto 0;
      display: flex;
      justify-content: space-between; }
      .main .contents .structureunder--flex .box {
        width: 39.1666666667vw; }
        .main .contents .structureunder--flex .box h4 {
          text-align: center;
          font-size: 1.5vw;
          font-weight: 700;
          background: linear-gradient(to right, #eaecef 0%, #fbfaff 100%);
          padding: 1.25vw 0; }
        .main .contents .structureunder--flex .box h5 {
          font-size: 1.1666666667vw;
          line-height: 2.1666666667vw;
          text-align: justify;
          padding: 2.5vw 0; }
  .main .contents .point {
    position: relative;
    color: #fff; }
    .main .contents .point .back {
      position: absolute;
      width: 100%;
      z-index: -1; }
    .main .contents .point h3 {
      font-family: "Montserrat", sans-serif;
      font-style: italic;
      text-align: center;
      font-size: 6.5vw;
      font-weight: 600;
      line-height: 1;
      padding-top: 10vw; }
    .main .contents .point h4 {
      text-align: center;
      font-size: 1.6666666667vw;
      line-height: 3.3333333333vw;
      font-weight: 700;
      padding: 1.25vw 0; }
    .main .contents .point h5 {
      text-align: center;
      font-size: 1.1666666667vw;
      line-height: 2.1666666667vw; }
    .main .contents .point--inner {
      display: flex;
      justify-content: center; }
      .main .contents .point--inner .box {
        width: 19.1666666667vw;
        height: 19.1666666667vw;
        margin: 3.3333333333vw 1.4583333333vw;
        background: url("../images/pointobj.svg") no-repeat top center/cover; }
        .main .contents .point--inner .box figure {
          width: 10vw;
          margin: -1.6666666667vw auto 0.8333333333vw; }
        .main .contents .point--inner .box .txt {
          text-align: center; }
  .main .contents .lineup {
    padding: 5.8333333333vw 0; }
    .main .contents .lineup h3 {
      font-family: "Montserrat", sans-serif;
      font-style: italic;
      text-align: center;
      font-size: 6.5vw;
      font-weight: 600;
      line-height: 1;
      margin-top: 11.25vw; }
    .main .contents .lineup--inner {
      width: 85.3333333333vw;
      margin: 0 auto; }
      .main .contents .lineup--inner--box {
        background: #eaecef;
        margin-top: 5.8333333333vw;
        padding-bottom: 5.8333333333vw;
        position: relative; }
        .main .contents .lineup--inner--box--top {
          background: #000;
          display: flex;
          justify-content: space-between; }
          .main .contents .lineup--inner--box--top figure {
            width: 47.8333333333vw; }
          .main .contents .lineup--inner--box--top dl {
            width: 37.5vw;
            display: flex;
            justify-content: center;
            align-items: center;
            align-content: center;
            flex-wrap: wrap;
            color: #fff; }
            .main .contents .lineup--inner--box--top dl dt {
              width: 100%;
              text-align: center;
              font-size: 1.25vw;
              line-height: 2.3333333333vw;
              font-weight: 700;
              padding-bottom: 0.8333333333vw; }
            .main .contents .lineup--inner--box--top dl dd {
              width: 100%;
              font-family: "Montserrat", sans-serif;
              text-align: center;
              font-size: 3.5833333333vw;
              font-weight: 600;
              line-height: 1; }
        .main .contents .lineup--inner--box h4 {
          text-align: center;
          font-size: 1.5vw;
          line-height: 2.5833333333vw;
          padding-bottom: 1.6666666667vw;
          margin: 2.0833333333vw 0;
          font-weight: 700;
          position: relative; }
          .main .contents .lineup--inner--box h4:after {
            position: absolute;
            content: "";
            width: 1.6666666667vw;
            height: 0.0833333333vw;
            background: #000;
            left: 50%;
            margin-left: -0.8333333333vw;
            bottom: 0; }
        .main .contents .lineup--inner--box .itemname {
          text-align: center;
          font-size: 1.5vw;
          line-height: 2.5833333333vw;
          padding-bottom: 1.6666666667vw;
          margin: 0 0 0.4166666667vw 0;
          font-weight: 700; }
        .main .contents .lineup--inner--box--flex {
          display: flex;
          justify-content: center; }
          .main .contents .lineup--inner--box--flex.pt {
            padding-top: 4.1666666667vw; }
          .main .contents .lineup--inner--box--flex figure {
            width: 22.5vw;
            margin: 0 2.0833333333vw; }
        .main .contents .lineup--inner--box .caption {
          text-align: center;
          font-size: 1vw;
          line-height: 1.75vw;
          padding-top: 2.0833333333vw; }
        .main .contents .lineup--inner--box .moviearea {
          display: flex;
          justify-content: center;
          margin-top: 4.1666666667vw; }
          .main .contents .lineup--inner--box .moviearea .moviebox {
            width: 35.6666666667vw;
            margin: 0 2.2916666667vw;
            position: relative; }
            .main .contents .lineup--inner--box .moviearea .moviebox video {
              width: 100%; }
            .main .contents .lineup--inner--box .moviearea .moviebox .poster {
              width: 100%;
              height: 84.25%;
              cursor: pointer;
              position: absolute;
              top: 0;
              left: 0;
              z-index: 1; }
            .main .contents .lineup--inner--box .moviearea .moviebox .ttls {
              width: 15vw;
              margin: 0.8333333333vw auto 0;
              border-bottom: 0.4166666667vw solid #000;
              font-family: "Montserrat", sans-serif;
              font-size: 1.5vw;
              font-weight: 600;
              text-align: center; }
        .main .contents .lineup--inner--box .btn {
          width: 26.6666666667vw;
          margin: 4.1666666667vw auto 0;
          font-size: 1.3333333333vw;
          line-height: 2.6666666667vw;
          font-weight: 700;
          background: #000;
          text-align: center; }
          .main .contents .lineup--inner--box .btn a {
            display: block;
            padding: 1.25vw 0;
            color: #fff; }
        .main .contents .lineup--inner--box .modaltrigger {
          position: absolute;
          width: 7.5vw;
          height: 7.5vw;
          right: 5vw;
          margin-top: 2.5vw;
          z-index: 8; }
  .main .contents .playersusing {
    background: #000;
    margin-top: 6.25vw;
    padding-bottom: 8.3333333333vw; }
    .main .contents .playersusing h3 {
      font-family: "Montserrat", sans-serif;
      font-style: italic;
      text-align: right;
      font-size: 10.5833333333vw;
      color: #333333;
      font-weight: 600;
      line-height: 0.75;
      padding-right: 3.3333333333vw; }
    .main .contents .playersusing h4 {
      font-size: 2.0833333333vw;
      line-height: 4.1666666667vw;
      font-weight: 700;
      color: #fff;
      text-align: right;
      padding-right: 3.3333333333vw;
      padding-top: 0.8333333333vw;
      position: relative; }
      .main .contents .playersusing h4:after {
        position: absolute;
        content: "";
        width: 19.5833333333vw;
        height: 0.0833333333vw;
        background: #fff;
        right: 33.3333333333vw;
        top: 60%; }
    .main .contents .playersusing--inner {
      width: 85.3333333333vw;
      margin: 0 auto 0;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      color: #fff; }
      .main .contents .playersusing--inner--box {
        width: 39.3333333333vw;
        margin-top: 5.8333333333vw; }
        .main .contents .playersusing--inner--box--top {
          display: flex;
          justify-content: space-between; }
          .main .contents .playersusing--inner--box--top figure {
            width: 20vw; }
          .main .contents .playersusing--inner--box--top .naamebox {
            width: 19.3333333333vw;
            background: #333333 url("../images/player_obj.svg") no-repeat center center/cover;
            display: flex;
            justify-content: center;
            align-items: center; }
            .main .contents .playersusing--inner--box--top .naamebox p {
              font-size: 1.4166666667vw;
              line-height: 2.1666666667vw;
              font-weight: 700;
              text-align: center; }
              .main .contents .playersusing--inner--box--top .naamebox p span {
                display: block;
                color: #8e8e8e;
                font-family: "Montserrat", sans-serif;
                font-style: italic;
                text-align: center;
                font-size: 1.9166666667vw;
                line-height: 1; }
        .main .contents .playersusing--inner--box .profile {
          margin-top: 1.6666666667vw;
          text-align: justify;
          font-size: 1.1666666667vw;
          line-height: 2.1666666667vw; }
  .main .contents .underimg {
    padding: 10.8333333333vw 0 9.1666666667vw;
    display: flex;
    justify-content: space-between;
    width: 100%; }
.main footer .pagetop {
  width: 6.5vw;
  margin: 0 auto; }
.main footer .fonnterinner {
  background: #000;
  color: #fff;
  width: 100%;
  margin: 5vw auto 0;
  padding: 2.9166666667vw 0 1.6666666667vw; }
  .main footer .fonnterinner .txt {
    font-family: "Montserrat", sans-serif;
    font-style: italic;
    text-align: center;
    font-size: 1.1666666667vw;
    font-weight: 600;
    line-height: 1; }
  .main footer .fonnterinner ul {
    margin: 1.6666666667vw 0;
    display: flex;
    justify-content: center; }
    .main footer .fonnterinner ul li {
      width: 3.0833333333vw;
      margin: 0 0.4166666667vw; }
  .main footer .fonnterinner .address {
    text-align: center;
    font-size: 0.9166666667vw;
    line-height: 1.9166666667vw; }
.main footer .fonnterunder {
  width: 100%;
  background: #00a0ea;
  padding: 2.5vw 9.1666666667vw;
  font-size: 0.9166666667vw;
  line-height: 1.5833333333vw;
  color: #fff; }

.remodal {
  width: 76.6666666667vw;
  max-width: 76.6666666667vw; }

.modal {
  display: none;
  background: #000;
  color: #fff; }
  .modal .modal--inner {
    padding: 3.3333333333vw 0 5vw; }
  .modal .closebtn {
    position: absolute;
    right: 1.6666666667vw;
    top: 1.6666666667vw;
    width: 5.8333333333vw;
    height: 5.8333333333vw;
    z-index: 420; }
  .modal--inner .toptxt {
    text-align: center;
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 700;
    padding-bottom: 0.8333333333vw; }
  .modal--inner h3 {
    font-family: "Montserrat", sans-serif;
    text-align: center;
    font-size: 4.9166666667vw;
    font-weight: 600;
    line-height: 1;
    padding-bottom: 1.6666666667vw; }
  .modal--inner .leadtxtmodal {
    text-align: center;
    font-size: 1.6666666667vw;
    line-height: 2.9166666667vw;
    font-weight: 700;
    padding: 3.3333333333vw 0 0; }
  .modal--inner .ttlmodal {
    font-family: "Montserrat", sans-serif;
    text-align: center;
    font-size: 2.75vw;
    font-weight: 600;
    line-height: 1;
    padding: 1.25vw 0 2.5vw; }
  .modal--inner--flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 3.3333333333vw; }
    .modal--inner--flex .box {
      width: 33.3333%;
      padding: 0 2.0833333333vw 2.0833333333vw; }
      .modal--inner--flex .box:nth-child(2) {
        border-left: 0.0833333333vw solid #fff;
        border-right: 0.0833333333vw solid #fff; }
      .modal--inner--flex .box dl {
        text-align: center;
        padding-bottom: 1.6666666667vw; }
        .modal--inner--flex .box dl dt {
          font-family: "Montserrat", sans-serif;
          font-style: italic;
          text-align: center;
          font-size: 3.1666666667vw;
          font-weight: 600;
          padding-bottom: 1.25vw;
          margin-bottom: 0.8333333333vw;
          position: relative; }
          .modal--inner--flex .box dl dt:after {
            position: absolute;
            content: "";
            width: 1.6666666667vw;
            height: 0.1666666667vw;
            background: #fff;
            left: 50%;
            margin-left: -0.8333333333vw;
            bottom: 0; }
        .modal--inner--flex .box dl dd {
          text-align: center;
          font-size: 1.1666666667vw;
          line-height: 2.1666666667vw;
          font-weight: 700; }
    .modal--inner--flex.flexnone .box {
      width: 60vw;
      margin: 0 auto;
      padding: 3.3333333333vw 0; }
      .modal--inner--flex.flexnone .box:nth-child(2) {
        border-left: none;
        border-right: none; }
      .modal--inner--flex.flexnone .box figure {
        padding-bottom: 1.6666666667vw; }
  .modal--inner .btn {
    width: 26.6666666667vw;
    margin: 4.1666666667vw auto 0;
    font-size: 1.3333333333vw;
    line-height: 2.6666666667vw;
    font-weight: 700;
    background: #fff;
    text-align: center; }
    .modal--inner .btn a {
      display: block;
      padding: 1.25vw 0;
      color: #000; }

@media screen and (max-width: 767px) {
  .main .header {
    background: #fff;
    height: 14.9333333333vw; }
    .main .header h1 {
      width: 37.8666666667vw;
      margin-left: 2.6666666667vw; }
    .main .header .menu {
      width: 14.9333333333vw;
      height: 14.9333333333vw; }
      .main .header .menu span {
        width: 5.3333333333vw;
        height: 0.5333333333vw;
        margin-left: -2.6666666667vw; }
        .main .header .menu span:nth-of-type(1) {
          top: 5.3333333333vw; }
        .main .header .menu span:nth-of-type(2) {
          margin-top: -0.2666666667vw; }
        .main .header .menu span:nth-of-type(3) {
          bottom: 5.3333333333vw; }
      .main .header .menu.active span:nth-of-type(1) {
        margin-top: -0.5333333333vw; }
      .main .header .menu.active span:nth-of-type(2) {
        opacity: 0; }
    .main .header nav {
      position: absolute;
      right: 0vw;
      top: 14.9333333333vw;
      width: 100%;
      z-index: 10; }
      .main .header nav .top {
        font-family: "Montserrat", sans-serif;
        font-style: italic;
        text-align: center;
        font-size: 3.7333333333vw;
        font-weight: 600;
        line-height: 1;
        color: #fff; }
        .main .header nav .top a {
          text-align: left;
          font-size: 3.4666666667vw;
          display: block;
          color: #fff;
          padding-left: 4vw;
          padding-top: 2.6666666667vw; }
      .main .header nav .navinner {
        display: block;
        justify-content: center;
        margin-top: 4vw;
        margin-bottom: 4vw;
        padding: 0 4vw; }
        .main .header nav .navinner p {
          width: 100%;
          padding: 0;
          text-align: left;
          font-size: 3.2vw;
          line-height: 4.2666666667vw;
          font-weight: 700;
          border-right: none;
          border-top: 0.2666666667vw solid #8e8e8e; }
          .main .header nav .navinner p br {
            display: none; }
          .main .header nav .navinner p:last-child {
            border-right: none;
            border-bottom: 0.2666666667vw solid #8e8e8e; }
          .main .header nav .navinner p span {
            width: 32.5333333333vw;
            display: inline-block;
            font-family: "Montserrat", sans-serif;
            font-style: italic;
            text-align: left;
            font-size: 3.4666666667vw;
            font-weight: 600;
            line-height: 1;
            padding-bottom: 0.8333333333vw; }
          .main .header nav .navinner p a {
            color: #fff;
            padding: 4vw 0; }
      .main .header nav ul {
        margin: 2.6666666667vw 0;
        display: flex;
        justify-content: center; }
        .main .header nav ul li {
          width: 9.8666666667vw;
          margin: 0 1.3333333333vw; }
    .main .header .fixbtn {
      position: fixed;
      width: 38.9333333333vw;
      right: 14.9333333333vw;
      top: 0;
      z-index: 8; }
  .main .contents {
    margin-top: 2.6666666667vw; }
    .main .contents .kv {
      padding-bottom: 10.6666666667vw; }
    .main .contents .top {
      padding-bottom: 11.3333333333vw; }
      .main .contents .top .ttl {
        text-align: center;
        font-size: 4.2666666667vw;
        top: -1.3333333333vw;
        padding-bottom: 5.3333333333vw;
        margin-bottom: 0vw; }
        .main .contents .top .ttl:after {
          width: 5.3333333333vw;
          height: 0.5333333333vw;
          margin-left: -2.6666666667vw; }
      .main .contents .top .contentsbox {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
        .main .contents .top .contentsbox .box {
          width: 72.2222222222vw;
          height: 30.4444444444vw;
          margin: 0 auto;
          margin-top: 4vw; }
          .main .contents .top .contentsbox .box h4 {
            font-size: 3.7333333333vw;
            line-height: 1.6;
            font-weight: 700;
            text-align: center;
            padding-top: 12vw; }
    .main .contents .about {
      position: relative;
      padding: 17.3333333333vw 0; }
      .main .contents .about h3 {
        font-size: 10.4vw; }
      .main .contents .about h4 {
        font-size: 3.7333333333vw;
        line-height: 6.6666666667vw;
        padding: 4vw 0; }
      .main .contents .about h5 {
        font-size: 3.2vw;
        line-height: 5.3333333333vw;
        padding: 0 5.3333333333vw; }
      .main .contents .about figure {
        position: inherit;
        width: 100%;
        z-index: -1;
        top: 0vw;
        margin-top: 6.6666666667vw; }
      .main .contents .about .movie {
        width: 90.6666666667vw;
        margin: 6vw auto 0; }
        .main .contents .about .movie video {
          width: 100%; }
    .main .contents .structure {
      padding: 12vw 0; }
      .main .contents .structure:after {
        position: absolute;
        content: "";
        width: 87.8888888889vw;
        height: 87.1111111111vw;
        right: -5.5555555556vw;
        top: 34.4444444444vw;
        background: url("../images/strac_back_1.svg") no-repeat center center/cover;
        z-index: 0; }
      .main .contents .structure:before {
        position: absolute;
        content: "";
        width: 98vw;
        height: 97.7777777778vw;
        left: -5.5555555556vw;
        bottom: 16.6666666667vw;
        background: url("../images/strac_back_2.svg") no-repeat center center/cover;
        transform: rotate(-20deg);
        z-index: 0; }
      .main .contents .structure .lead {
        position: absolute;
        width: 7.4666666667vw;
        right: 4.5333333333vw; }
      .main .contents .structure .flexarea {
        display: flex; }
        .main .contents .structure .flexarea.wid_1 {
          justify-content: flex-start;
          flex-wrap: wrap;
          width: 90.6666666667vw;
          margin: 0 auto; }
        .main .contents .structure .flexarea.wid_2 {
          width: 100%;
          justify-content: space-between; }
        .main .contents .structure .flexarea.wid_3 {
          width: 100%;
          justify-content: space-between;
          flex-direction: row-reverse; }
        .main .contents .structure .flexarea.wid_4 {
          justify-content: space-between;
          flex-wrap: wrap;
          align-items: center;
          width: 90.6666666667vw;
          margin: 8vw auto 0;
          color: #fff; }
        .main .contents .structure .flexarea .txtbox .num {
          width: 18.6666666667vw; }
        .main .contents .structure .flexarea .txtbox .leadtop {
          font-size: 3.7333333333vw;
          line-height: 6.9333333333vw;
          padding: 1.3333333333vw 0 3.3333333333vw; }
        .main .contents .structure .flexarea .txtbox .txt {
          color: #fff;
          font-size: 3.2vw;
          line-height: 5.3333333333vw; }
        .main .contents .structure .flexarea .txtbox .leadtxt {
          color: #fff;
          font-size: 3.4666666667vw;
          line-height: 7.4666666667vw;
          font-weight: 700;
          margin-left: 16vw;
          margin-top: -10.6666666667vw; }
          .main .contents .structure .flexarea .txtbox .leadtxt span {
            display: block;
            position: relative; }
            .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_1 {
              width: 26.4vw; }
            .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_2 {
              width: 39.8666666667vw; }
            .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_3 {
              width: 57.7333333333vw; }
            .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_4 {
              width: 32.4vw; }
            .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_5 {
              width: 36.2666666667vw; }
            .main .contents .structure .flexarea .txtbox .leadtxt span.wid_t_6 {
              width: 39.2vw; }
            .main .contents .structure .flexarea .txtbox .leadtxt span:after {
              position: absolute;
              content: "";
              background: url("../images/txtunder.svg") repeat-x left top/cover;
              width: 100%;
              height: 2vw;
              bottom: -1.3333333333vw;
              left: 0vw; }
        .main .contents .structure .flexarea .txtbox.wid_1 {
          width: 76vw; }
        .main .contents .structure .flexarea .txtbox.wid_2 {
          width: 80vw;
          margin-top: 10.6666666667vw; }
        .main .contents .structure .flexarea .txtbox.wid_3 {
          width: 80vw; }
        .main .contents .structure .flexarea .txtbox.wid_4 {
          width: 129.3333333333vw; }
        .main .contents .structure .flexarea figure.wid_1 {
          width: 80%;
          margin: 4vw auto 0; }
        .main .contents .structure .flexarea figure.wid_2 {
          width: 53.3333333333vw;
          margin-left: 0vw;
          margin-right: -20.5333333333vw;
          margin-top: 16vw;
          position: relative;
          z-index: 2; }
        .main .contents .structure .flexarea figure.wid_3 {
          width: 53.3333333333vw;
          margin-left: -26.6666666667vw;
          margin-right: 4vw;
          position: relative;
          z-index: 2; }
        .main .contents .structure .flexarea figure.wid_4 {
          width: 100%;
          margin: 4vw auto 0; }
    .main .contents .structureunder {
      padding: 15.3333333333vw 0 19.3333333333vw; }
      .main .contents .structureunder .leadtxts {
        font-size: 4.2666666667vw;
        top: -2.6666666667vw;
        padding-bottom: 5.3333333333vw;
        margin-bottom: 0vw; }
        .main .contents .structureunder .leadtxts:after {
          width: 5.3333333333vw;
          height: 1.0666666667vw;
          margin-left: -2.6666666667vw; }
        .main .contents .structureunder .leadtxts span {
          width: 10.6666666667vw;
          padding-bottom: 5.3333333333vw; }
      .main .contents .structureunder--flex {
        width: 90.6666666667vw;
        margin: 5.3333333333vw auto 0;
        flex-wrap: wrap; }
        .main .contents .structureunder--flex .box {
          width: 100%;
          margin-top: 0vw; }
          .main .contents .structureunder--flex .box h4 {
            font-size: 3.7333333333vw;
            padding: 4vw 0; }
          .main .contents .structureunder--flex .box h5 {
            font-size: 3.2vw;
            line-height: 5.3333333333vw;
            text-align: justify;
            padding: 4vw 0; }
    .main .contents .point {
      position: relative;
      color: #fff; }
      .main .contents .point .back {
        position: absolute;
        width: 360%;
        left: -130%;
        z-index: -1; }
      .main .contents .point h3 {
        font-size: 10.4vw;
        padding-top: 16vw; }
      .main .contents .point h4 {
        font-size: 4vw;
        padding: 4vw 0; }
      .main .contents .point h5 {
        font-size: 3.2vw;
        line-height: 5.3333333333vw; }
      .main .contents .point--inner {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 6.6666666667vw; }
        .main .contents .point--inner .box {
          width: 40.8888888889vw;
          height: 40.8888888889vw;
          margin: 5.3333333333vw 2.3333333333vw;
          background: url("../images/pointobj.svg") no-repeat top center/cover; }
          .main .contents .point--inner .box figure {
            width: 21.3333333333vw;
            margin: -3.5555555556vw auto 1.7777777778vw; }
          .main .contents .point--inner .box .txt {
            font-size: 3.2vw;
            line-height: 1.6;
            text-align: center; }
    .main .contents .lineup {
      padding: 18.6666666667vw 0; }
      .main .contents .lineup h3 {
        font-size: 10.4vw;
        margin-top: 40vw; }
      .main .contents .lineup--inner {
        width: 90.6666666667vw; }
        .main .contents .lineup--inner--box {
          margin-top: 9.3333333333vw;
          padding-bottom: 9.3333333333vw; }
          .main .contents .lineup--inner--box--top {
            display: block; }
            .main .contents .lineup--inner--box--top figure {
              width: 100%; }
            .main .contents .lineup--inner--box--top dl {
              width: 100%;
              padding: 4vw 0; }
              .main .contents .lineup--inner--box--top dl dt {
                width: 100%;
                text-align: center;
                font-size: 3.7333333333vw;
                line-height: 6.9333333333vw;
                padding-bottom: 2.6666666667vw; }
              .main .contents .lineup--inner--box--top dl dd {
                width: 100%;
                font-family: "Montserrat", sans-serif;
                text-align: center;
                font-size: 7.4666666667vw;
                font-weight: 600;
                line-height: 1; }
          .main .contents .lineup--inner--box h4 {
            font-size: 3.7333333333vw;
            line-height: 6.9333333333vw;
            padding-bottom: 5.3333333333vw;
            margin: 6.6666666667vw 0; }
            .main .contents .lineup--inner--box h4:after {
              width: 5.3333333333vw;
              height: 0.2666666667vw;
              margin-left: -2.6666666667vw; }
          .main .contents .lineup--inner--box .itemname {
            font-size: 3.7333333333vw;
            line-height: 6.6666666667vw;
            padding-bottom: 5.3333333333vw;
            margin: 0 0 1.3333333333vw 0; }
          .main .contents .lineup--inner--box--flex {
            display: flex;
            justify-content: center;
            flex-wrap: wrap; }
            .main .contents .lineup--inner--box--flex.pt {
              padding-top: 6.6666666667vw; }
            .main .contents .lineup--inner--box--flex figure {
              width: 34%;
              margin: 0 4% 4vw; }
          .main .contents .lineup--inner--box .caption {
            text-align: center;
            font-size: 2.9333333333vw;
            line-height: 5.6vw;
            padding-top: 6.6666666667vw; }
          .main .contents .lineup--inner--box .moviearea {
            display: block;
            justify-content: center;
            margin-top: 13.3333333333vw; }
            .main .contents .lineup--inner--box .moviearea .moviebox {
              width: 85.3333333333vw;
              margin: 0 3.6666666667vw; }
              .main .contents .lineup--inner--box .moviearea .moviebox video {
                width: 100%; }
              .main .contents .lineup--inner--box .moviearea .moviebox .ttls {
                width: 48vw;
                margin: 4vw auto 6.6666666667vw;
                border-bottom: 1.0666666667vw solid #000;
                font-family: "Montserrat", sans-serif;
                font-size: 4.2666666667vw;
                line-height: 1.6;
                font-weight: 600;
                text-align: center; }
          .main .contents .lineup--inner--box .btn {
            width: 80vw;
            margin: 26.6666666667vw auto 0;
            font-size: 4vw;
            line-height: 6.6666666667vw;
            font-weight: 700;
            background: #000;
            text-align: center; }
            .main .contents .lineup--inner--box .btn a {
              display: block;
              padding: 4vw 0;
              color: #fff; }
          .main .contents .lineup--inner--box .modaltrigger {
            position: absolute;
            width: 18.6666666667vw;
            height: 18.6666666667vw;
            right: auto;
            left: 50%;
            margin-left: -9.3333333333vw;
            margin-top: auto;
            bottom: 26.6666666667vw;
            z-index: 8; }
    .main .contents .playersusing {
      margin-top: 10.6666666667vw;
      padding-bottom: 10.6666666667vw; }
      .main .contents .playersusing h3 {
        font-size: 10.6666666667vw;
        color: #333333;
        font-weight: 600;
        line-height: 0.75;
        padding-right: 2.6666666667vw; }
      .main .contents .playersusing h4 {
        font-size: 4.2666666667vw;
        line-height: 13.3333333333vw;
        font-weight: 700;
        color: #fff;
        text-align: right;
        padding-right: 2.6666666667vw;
        padding-top: 0vw;
        position: relative; }
        .main .contents .playersusing h4:after {
          position: absolute;
          content: "";
          width: 32vw;
          height: 0.2666666667vw;
          background: #fff;
          right: 64vw;
          top: 55%; }
      .main .contents .playersusing--inner {
        width: 90.6666666667vw;
        margin: 0 auto 0;
        flex-wrap: wrap; }
        .main .contents .playersusing--inner--box {
          width: 90.6666666667vw;
          margin-top: 9.3333333333vw; }
          .main .contents .playersusing--inner--box--top {
            display: flex;
            justify-content: space-between; }
            .main .contents .playersusing--inner--box--top figure {
              width: 50%; }
            .main .contents .playersusing--inner--box--top .naamebox {
              width: 50%;
              background: #333333 url("../images/player_obj.svg") no-repeat center center/cover;
              display: flex;
              justify-content: center;
              align-items: center; }
              .main .contents .playersusing--inner--box--top .naamebox p {
                font-size: 4vw;
                line-height: 6.4vw; }
                .main .contents .playersusing--inner--box--top .naamebox p span {
                  font-size: 5.3333333333vw;
                  line-height: 1; }
          .main .contents .playersusing--inner--box .profile {
            margin-top: 8vw;
            text-align: justify;
            font-size: 3.2vw;
            line-height: 5.3333333333vw; }
    .main .contents .underimg {
      padding: 17.3333333333vw 0 14.6666666667vw;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      width: 100%; }
      .main .contents .underimg figure {
        width: 50%; }
  .main footer .pagetop {
    width: 13.3333333333vw;
    margin: 0 auto; }
  .main footer .fonnterinner {
    background: #000;
    color: #fff;
    width: 100%;
    margin: 16vw auto 0;
    padding: 9.3333333333vw 0 5.3333333333vw; }
    .main footer .fonnterinner .txt {
      font-family: "Montserrat", sans-serif;
      font-style: italic;
      text-align: center;
      font-size: 3.7333333333vw;
      font-weight: 600;
      line-height: 1; }
    .main footer .fonnterinner ul {
      margin: 5.3333333333vw 0;
      display: flex;
      justify-content: center; }
      .main footer .fonnterinner ul li {
        width: 9.8666666667vw;
        margin: 0 1.3333333333vw; }
    .main footer .fonnterinner .address {
      text-align: center;
      font-size: 2.9333333333vw;
      line-height: 6.1333333333vw; }
  .main footer .fonnterunder {
    width: 100%;
    background: #00a0ea;
    padding: 8vw 29.3333333333vw;
    font-size: 2.9333333333vw;
    line-height: 5.0666666667vw;
    color: #fff; }

  .fancybox-slide--html {
    padding: 4vw; }

  .modal {
    display: none;
    background: #000;
    color: #fff;
    height: 90vh;
    overflow-y: scroll;
    overflow-x: hidden; }
    .modal .modal--inner {
      width: 100%;
      padding: 10.6666666667vw 0 8vw; }
    .modal .closebtn {
      position: absolute;
      right: 1.3333333333vw;
      top: 1.3333333333vw;
      width: 13.3333333333vw;
      height: 13.3333333333vw;
      z-index: 420; }
    .modal--inner .toptxt {
      text-align: center;
      font-size: 3.2vw;
      line-height: 6.4vw;
      font-weight: 700;
      padding: 0 4vw;
      padding-bottom: 2.6666666667vw;
      padding-top: 10.6666666667vw; }
    .modal--inner h3 {
      font-family: "Montserrat", sans-serif;
      text-align: center;
      font-size: 8vw;
      font-weight: 600;
      line-height: 1;
      padding-bottom: 5.3333333333vw; }
    .modal--inner .leadtxtmodal {
      text-align: center;
      font-size: 3.7333333333vw;
      line-height: 6.9333333333vw;
      font-weight: 700;
      padding: 5.3333333333vw 0 0; }
    .modal--inner .ttlmodal {
      font-family: "Montserrat", sans-serif;
      text-align: center;
      font-size: 5.3333333333vw;
      font-weight: 600;
      line-height: 1;
      padding: 4vw 0 8vw; }
    .modal--inner--flex {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-top: 10.6666666667vw; }
      .modal--inner--flex .box {
        width: 100%;
        padding: 6.6666666667vw 6.6666666667vw; }
        .modal--inner--flex .box:nth-child(2) {
          border-left: none;
          border-right: none; }
        .modal--inner--flex .box dl {
          text-align: center;
          padding-bottom: 5.3333333333vw; }
          .modal--inner--flex .box dl dt {
            font-size: 8vw;
            padding-bottom: 5.3333333333vw;
            margin-bottom: 5.3333333333vw; }
            .modal--inner--flex .box dl dt:after {
              width: 5.3333333333vw;
              height: 0.5333333333vw;
              left: 50%;
              margin-left: -2.6666666667vw;
              bottom: 0; }
          .modal--inner--flex .box dl dd {
            text-align: center;
            font-size: 3.4666666667vw;
            line-height: 5.8666666667vw;
            font-weight: 700; }
        .modal--inner--flex .box .txt {
          font-size: 3.2vw;
          line-height: 5.3333333333vw; }
      .modal--inner--flex.flexnone .box {
        width: 100%;
        margin: 0 auto;
        padding: 10.6666666667vw 0; }
        .modal--inner--flex.flexnone .box:nth-child(2) {
          border-left: none;
          border-right: none; }
        .modal--inner--flex.flexnone .box figure {
          padding-bottom: 5.3333333333vw; }
        .modal--inner--flex.flexnone .box .txt {
          font-size: 3.2vw;
          line-height: 5.3333333333vw;
          padding: 0 6.6666666667vw; }
    .modal--inner .btn {
      width: 80vw;
      margin: 13.3333333333vw auto 0;
      font-size: 4vw;
      line-height: 8.5333333333vw;
      font-weight: 700;
      background: #fff;
      text-align: center; }
      .modal--inner .btn a {
        display: block;
        padding: 4vw 0;
        color: #000; } }
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }
    ul li img {
      line-height: 0;
      font-size: 0;
      vertical-align: top; }

img {
  border: none;
  vertical-align: bottom; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%;
  overflow: auto; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all;
  /*CJK (中国語、台湾語、日本語、韓国語) 以外のテキストにおいて、単語中などでの文字の改行に関する禁則処理を解除し、どの文字の間でも改行するようにします。*/ }

body {
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
  font-size: 1.1666666667vw;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  line-height: 2.0833333333vw;
  color: #333;
  letter-spacing: 0.06em; }

a {
  width: 100%;
  height: auto;
  display: block;
  text-decoration: none;
  color: #333;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

.soon {
  pointer-events: none;
  opacity: .5; }

.hide, .hidden {
  visibility: hidden; }

p {
  line-break: strict; }

img {
  width: 100%;
  height: auto; }

main {
  display: none; }

.pc {
  display: block; }

.sp {
  display: none; }

html.active {
  position: fixed;
  width: 100%;
  height: 100%; }

body {
  -webkit-text-size-adjust: 100%;
  background: #fff;
  min-width: 100%; }
  body.active {
    position: fixed;
    width: 100%;
    height: 100%; }

@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
.font-noto {
  font-family: 'Noto Sans JP', sans-serif; }

.montserrat-font {
  font-family: "Montserrat", sans-serif;
  font-style: normal; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

/* =========================================================
 * fade Animation　　   /*フェード アニメーション
========================================================= */
.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening {
  position: relative;
  opacity: 0;
  transition: opacity 0.875s ease-in-out , transform 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

/* =========================================================
 * scrollbar　　   /*フスクロールバー
========================================================= */
::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none; }
