@-webkit-keyframes scroll {
  0% {
    height: 0;
    bottom: 5.625em; }
  70% {
    height: 4.5em; }
  80% {
    bottom: 0; }
  100% {
    height: 0;
    bottom: 0; } }

@keyframes scroll {
  0% {
    height: 0;
    bottom: 5.625em; }
  70% {
    height: 4.5em; }
  80% {
    bottom: 0; }
  100% {
    height: 0;
    bottom: 0; } }

@-webkit-keyframes width {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }

@keyframes width {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }

@-webkit-keyframes identifier {
  to {
    transform: rotate(360deg); } }

@keyframes identifier {
  to {
    transform: rotate(360deg); } }

@-webkit-keyframes move {
  0% {
    margin-top: 7%;
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes move {
  0% {
    margin-top: 7%;
    opacity: 0; }
  100% {
    opacity: 1; } }

body {
  padding: 0;
  margin: 0;
  border: 0; }

#collection {
  width: 100%;
  height: auto;
  font-family: "Noto Sans", sans-serif;
  position: relative;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  transition: .3s ease-in-out;
  background: #fefefe;
  line-height: 1.5; }
  #collection section {
    width: 100%;
    height: auto;
    position: relative;
    box-sizing: border-box; }
  #collection ::-moz-selection {
    background: #333;
    color: #f5f5f5; }
  #collection ::selection {
    background: #333;
    color: #f5f5f5; }
  #collection *:hover {
    transition: .3s ease-in-out; }
  #collection p {
    padding: 15px;
    font-family: "Noto Sans", sans-serif;
    margin: 0; }
  #collection h1, #collection h2, #collection h3, #collection h4, #collection h5 {
    padding: 0;
    margin: 0;
    font-family: "Oswald", sans-serif; }
  #collection h2 {
    font-size: 2em;
    text-transform: uppercase; }
  #collection h3 {
    font-size: 5em; }
  #collection a {
    text-decoration: none;
    transition: .3s ease-in-out; }
  #collection img {
    width: 100%;
    height: 100%;
    max-width: 100%; }
  #collection ul, #collection li {
    list-style: none;
    margin: auto;
    padding: 0;
    box-sizing: border-box; }
  #collection nav {
    width: 100%;
    height: 50px;
    z-index: 99;
    text-align: center;
    position: fixed;
    top: 0;
    mix-blend-mode: exclusion; }
    #collection nav ul {
      width: 100%;
      height: auto;
      max-width: 90%;
      text-align: right;
      padding: 4em 0; }
      #collection nav ul li {
        padding: 0 2em;
        display: inline-flex;
        font-weight: 200; }
        #collection nav ul li a {
          width: 100%;
          height: auto;
          display: block;
          text-decoration: none;
          color: #f5f5f5; }
          #collection nav ul li a:hover {
            mix-blend-mode: exclusion; }
      #collection nav ul .msi_logo img {
        width: 100px;
        height: auto;
        margin: auto; }
  #collection .detail {
    width: 80%;
    height: auto;
    margin: auto;
    padding: 5% 0; }
  #collection #slogan {
    width: 100%;
    height: 100vh;
    position: relative; }
    #collection #slogan #messenger {
      width: 100%;
      height: auto;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-family: "Oswald", sans-serif;
      font-size: 10em;
      white-space: normal;
      color: #333; }
    #collection #slogan .scroll_btn {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0);
      text-align: center;
      font-size: 1em;
      padding: 0;
      margin: 0;
      font-family: "Oswald", sans-serif; }
      #collection #slogan .scroll_btn:hover .scroll {
        padding-bottom: 0; }
      #collection #slogan .scroll_btn a {
        position: relative;
        white-space: nowrap;
        width: 6em;
        display: block;
        overflow: hidden;
        margin: auto;
        padding-bottom: 5.625em;
        color: #333; }
        #collection #slogan .scroll_btn a::before, #collection #slogan .scroll_btn a::after {
          content: "";
          display: block;
          width: 2px;
          position: absolute;
          left: 50%; }
        #collection #slogan .scroll_btn a::before {
          height: 5.625em;
          background: #333;
          bottom: 0; }
        #collection #slogan .scroll_btn a::after {
          -webkit-animation: scroll 1.6s ease-in-out 0s infinite normal;
                  animation: scroll 1.6s ease-in-out 0s infinite normal;
          height: 0.625em;
          background: #f5f5f5;
          bottom: 5em; }
        #collection #slogan .scroll_btn a .scroll {
          transition: all 0.4s ease-in-out 0s;
          display: block;
          padding-bottom: 1em; }
  #collection #kv {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: url(../images/msi-collection_main_kv.jpg) no-repeat center;
    background-size: cover; }
  #collection #gallery {
    width: 100%;
    height: auto;
    position: relative;
    background: url(../images/bk.png) repeat; }
    #collection #gallery .detail .gallery_desc {
      width: 80%;
      height: auto;
      text-align: center;
      margin: auto;
      position: relative;
      z-index: 1;
      padding: 15px 30px; }
      #collection #gallery .detail .gallery_desc:hover::after {
        left: 0;
        top: 0; }
      #collection #gallery .detail .gallery_desc::before, #collection #gallery .detail .gallery_desc::after {
        width: 100%;
        height: 100%;
        content: "";
        position: absolute;
        transform-origin: bottom;
        transform: skewX(-20deg);
        transition: .3s ease-in-out;
        background-position: center; }
      #collection #gallery .detail .gallery_desc::before {
        background-color: #fafafa;
        top: 0;
        left: 0;
        z-index: -1; }
      #collection #gallery .detail .gallery_desc::after {
        background-color: #f5f5f5;
        left: 15px;
        top: 15px;
        z-index: -2; }
    #collection #gallery .detail .gallery_box {
      margin: 5em auto;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      grid-gap: 10px;
      grid-auto-rows: minmax(100px, auto);
      position: relative; }
      #collection #gallery .detail .gallery_box [class^=gallery_] {
        position: relative;
        z-index: 2; }
        #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_img {
          width: 100%;
          height: auto;
          overflow: hidden; }
          #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_img img {
            transform: scale(1.1);
            transition: .3s ease-in-out; }
        #collection #gallery .detail .gallery_box [class^=gallery_]:hover .gallery_img img {
          transform: scale(1.2);
          transition: .3s ease-in-out; }
        #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text {
          position: absolute;
          left: -10%;
          bottom: -15px;
          transform: rotate(0); }
          #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text p {
            position: relative;
            text-align: left;
            padding: 7.5px 15px; }
            #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text p::before, #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text p::after {
              width: 100%;
              height: 100%;
              content: "";
              position: absolute; }
            #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text p::before {
              background-color: #fafafa;
              left: 0;
              top: 0;
              z-index: -1; }
            #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text p::after {
              background-color: #f5f5f5;
              bottom: -7.5px;
              left: 7.5px;
              z-index: -2; }
        #collection #gallery .detail .gallery_box [class^=gallery_]:nth-of-type(odd) .gallery_text {
          top: -15px;
          right: .5em;
          left: auto;
          bottom: auto;
          transform: rotate(-90deg);
          transform-origin: right top; }
          #collection #gallery .detail .gallery_box [class^=gallery_]:nth-of-type(odd) .gallery_text p::after {
            left: -7.5px; }
      #collection #gallery .detail .gallery_box .gallery_1 {
        grid-column: 1 / 3;
        grid-row: 1 / 3; }
        #collection #gallery .detail .gallery_box .gallery_1 .symbol {
          width: 4em;
          height: 4em;
          position: absolute;
          right: -2em;
          bottom: -2em;
          z-index: 2; }
          #collection #gallery .detail .gallery_box .gallery_1 .symbol::before, #collection #gallery .detail .gallery_box .gallery_1 .symbol::after {
            position: absolute;
            width: 100%;
            height: 100%;
            content: ""; }
          #collection #gallery .detail .gallery_box .gallery_1 .symbol::before {
            border-bottom: 1px solid darkgray;
            right: 0;
            bottom: 50%; }
          #collection #gallery .detail .gallery_box .gallery_1 .symbol::after {
            border-right: 1px solid darkgray;
            right: 50%;
            bottom: 0; }
      #collection #gallery .detail .gallery_box .gallery_2 {
        grid-column: 3 / 6;
        grid-row: 3 / 5; }
      #collection #gallery .detail .gallery_box .gallery_3 {
        grid-column: 1 / 4;
        grid-row: 8 / 10; }
        #collection #gallery .detail .gallery_box .gallery_3 .symbol {
          width: 2em;
          height: 2em;
          position: absolute;
          left: -5%;
          bottom: -5%; }
          #collection #gallery .detail .gallery_box .gallery_3 .symbol::before, #collection #gallery .detail .gallery_box .gallery_3 .symbol::after {
            position: absolute;
            width: 100%;
            height: 100%;
            content: ""; }
          #collection #gallery .detail .gallery_box .gallery_3 .symbol::before {
            border-bottom: 1px solid darkgray;
            right: 0;
            bottom: 0; }
          #collection #gallery .detail .gallery_box .gallery_3 .symbol::after {
            border-left: 1px solid darkgray;
            left: 0;
            bottom: 0; }
      #collection #gallery .detail .gallery_box [class*=_title] {
        font-size: 12em;
        color: #f5f5f5;
        white-space: nowrap;
        position: absolute;
        z-index: 1;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none; }
      #collection #gallery .detail .gallery_box .gallery_title_1 {
        top: 10%;
        right: -60%; }
      #collection #gallery .detail .gallery_box .gallery_title_2 {
        bottom: 25%;
        left: -70%; }
  #collection #products {
    display: inline-block;
    position: relative; }
    #collection #products .circle {
      width: 20%;
      height: auto;
      position: absolute;
      left: -2%;
      bottom: -2%;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      #collection #products .circle svg text {
        font-family: "Oswald", sans-serif;
        text-transform: uppercase;
        fill: #333; }
    #collection #products .detail {
      padding-bottom: 0; }
    #collection #products .products_title {
      margin: auto;
      text-align: center; }
    #collection #products .product_nav {
      display: inline-flex;
      margin-top: 15px;
      margin-left: 20%; }
      #collection #products .product_nav li::after {
        content: "\007c";
        padding: 0 15px; }
      #collection #products .product_nav li:last-child::after {
        content: "";
        padding: 0 15px; }
      #collection #products .product_nav li a {
        color: gainsboro;
        font-family: "Oswald", sans-serif;
        position: relative; }
        #collection #products .product_nav li a::after {
          width: 0%;
          height: 1px;
          content: "";
          position: absolute;
          border-bottom: 1px solid #333;
          left: 0;
          bottom: 0; }
        #collection #products .product_nav li a:hover {
          color: #333; }
          #collection #products .product_nav li a:hover::after {
            -webkit-animation: width .3s forwards;
                    animation: width .3s forwards;
            content: "";
            position: absolute;
            border-bottom: 1px solid #333;
            left: 0;
            bottom: 0; }
      #collection #products .product_nav .active a {
        color: #333; }
        #collection #products .product_nav .active a::after {
          width: 100%;
          height: 1px;
          content: "";
          position: absolute;
          border-bottom: 1px solid #333;
          left: 0;
          bottom: 0; }
    #collection #products .product_list {
      width: 80%;
      height: auto;
      margin: 2% auto;
      float: right;
      display: inline-flex;
      justify-content: flex-end;
      background: #f5f5f5;
      position: relative; }
      #collection #products .product_list::before {
        content: "-PRODUCTS-";
        position: absolute;
        bottom: 100%;
        left: 0;
        transform: rotate(-90deg) translateX(-100%);
        transform-origin: left bottom;
        font-size: 5em;
        color: transparent;
        -webkit-text-stroke: 1px gainsboro; }
      #collection #products .product_list .product_group {
        width: 80%;
        height: auto;
        margin: 5% auto;
        display: none; }
        #collection #products .product_list .product_group ul, #collection #products .product_list .product_group li {
          display: inline-flex;
          flex-wrap: wrap;
          justify-content: flex-start; }
        #collection #products .product_list .product_group li {
          width: calc(100% / 3);
          height: auto;
          padding: 15px;
          margin: 0; }
          #collection #products .product_list .product_group li a {
            color: #333; }
            #collection #products .product_list .product_group li a .product_img {
              width: 100%;
              height: auto;
              position: relative;
              background: #fefefe; }
              #collection #products .product_list .product_group li a .product_img img {
                width: 100%;
                height: auto;
                transition: opacity .3s; }
                #collection #products .product_list .product_group li a .product_img img:first-child {
                  position: absolute;
                  left: 0;
                  opacity: 0; }
            #collection #products .product_list .product_group li a .product_detail {
              width: 100%;
              height: auto; }
              #collection #products .product_list .product_group li a .product_detail h4 {
                font-size: 1.4em;
                text-align: center;
                padding-top: 15px; }
              #collection #products .product_list .product_group li a .product_detail .more {
                margin: 15px auto;
                display: inline-flex;
                transition: .3s ease-in-out; }
                #collection #products .product_list .product_group li a .product_detail .more p {
                  font-size: .8em;
                  padding: 0;
                  padding-top: 5px;
                  margin: 15px auto;
                  display: inline-block;
                  transition: .3s ease-in-out; }
                #collection #products .product_list .product_group li a .product_detail .more svg {
                  width: 59px;
                  height: 59px;
                  display: inline-block;
                  margin: auto;
                  fill: none;
                  stroke-dashoffset: 184px;
                  stroke-dasharray: 92px;
                  transition: 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
            #collection #products .product_list .product_group li a:hover {
              transition: .3s ease-in-out; }
              #collection #products .product_list .product_group li a:hover .product_img img {
                opacity: 0; }
                #collection #products .product_list .product_group li a:hover .product_img img:first-child {
                  opacity: 1; }
              #collection #products .product_list .product_group li a:hover .product_detail {
                transition: .3s ease-in-out; }
                #collection #products .product_list .product_group li a:hover .product_detail .more p {
                  padding-left: 5px; }
                #collection #products .product_list .product_group li a:hover .product_detail .more svg {
                  fill: none;
                  stroke-dashoffset: 92px;
                  stroke-dasharray: 92px;
                  transition: 0.5s cubic-bezier(0.08, 0.92, 0.35, 1); }
      #collection #products .product_list .active {
        display: block;
        -webkit-animation: move 1s;
                animation: move 1s; }

@media all and (min-width: 1980px) {
  #collection #gallery .detail .gallery_desc {
    width: 80%;
    height: auto; }
    #collection #gallery .detail .gallery_desc::before, #collection #gallery .detail .gallery_desc::after {
      transform: skewX(0); }
  #collection #gallery .detail .gallery_box .gallery_2 {
    grid-row: 2 / 3; }
  #collection #gallery .detail .gallery_box .gallery_3 {
    grid-row: 7 / 9; } }

@media all and (max-width: 1200px) {
  #collection #slogan #messenger {
    font-size: 8em; }
  #collection .detail {
    width: 90%;
    height: auto; }
  #collection #products .product_list::before {
    font-size: 4em; } }

@media all and (max-width: 820px) {
  #collection #slogan #messenger {
    font-size: 6em; }
  #collection #kv {
    width: 100%;
    height: 50vh; }
  #collection #gallery .detail .gallery_desc {
    width: 80%;
    height: auto; }
    #collection #gallery .detail .gallery_desc::before, #collection #gallery .detail .gallery_desc::after {
      transform: skewX(-5deg); }
  #collection #gallery .detail .gallery_box {
    grid-template-columns: repeat(5, 1fr); }
    #collection #gallery .detail .gallery_box .gallery_1 {
      grid-column: 1 / 4;
      grid-row: 1 / 4; }
      #collection #gallery .detail .gallery_box .gallery_1 .symbol {
        bottom: -2em; }
    #collection #gallery .detail .gallery_box .gallery_2 {
      grid-column: 2 / 6;
      grid-row: 6 / 7; }
    #collection #gallery .detail .gallery_box .gallery_3 {
      grid-column: 1 / 5;
      grid-row: 9 / 10; }
    #collection #gallery .detail .gallery_box [class*=_title] {
      font-size: 8em; }
    #collection #gallery .detail .gallery_box .gallery_title_1 {
      top: 32%; }
    #collection #gallery .detail .gallery_box .gallery_title_2 {
      bottom: 22%; }
  #collection #products .product_list {
    width: 90%;
    height: auto; }
    #collection #products .product_list .product_group li {
      width: calc(100% / 2);
      height: auto; }
  #collection #products .circle {
    width: 40%;
    height: auto;
    right: 0;
    left: auto; } }

@media all and (max-width: 500px) {
  #collection #gallery .detail .gallery_desc {
    width: 80%;
    height: auto; }
    #collection #gallery .detail .gallery_desc::before, #collection #gallery .detail .gallery_desc::after {
      transform: skewX(0); }
  #collection #gallery .detail .gallery_box [class^=gallery_] .gallery_text p {
    white-space: nowrap; }
  #collection #gallery .detail .gallery_box .gallery_1 {
    grid-column: 1 / 5; }
  #collection #gallery .detail .gallery_box .gallery_2 {
    grid-column: 2 / 6;
    grid-row: 5 / 7; }
    #collection #gallery .detail .gallery_box .gallery_2 .gallery_text p {
      right: 0;
      left: auto;
      white-space: normal; }
  #collection #gallery .detail .gallery_box .gallery_3 {
    grid-column: 1 / 5;
    grid-row: 8 / 11; }
  #collection #gallery .detail .gallery_box [class*=_title] {
    font-size: 6em; }
  #collection #gallery .detail .gallery_box .gallery_title_1 {
    top: 30%; }
  #collection #gallery .detail .gallery_box .gallery_title_2 {
    bottom: 25%; }
  #collection #products .product_nav {
    width: 100%;
    height: auto;
    margin: 2% auto;
    text-align: center; }
    #collection #products .product_nav li::after, #collection #products .product_nav li:last-child::after {
      content: "";
      padding: 0; }
  #collection #products .product_list .product_group li {
    width: 100%;
    height: auto; }
    #collection #products .product_list .product_group li a .product_detail .more svg {
      width: 40px;
      height: 40px; }
  #collection #products .product_list::before {
    left: 5%;
    font-size: 3em; }
  #collection #products .circle {
    width: 100%;
    height: auto;
    position: relative; } }
