@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Murecho:wght@400;500;900&family=Noto+Sans+JP:wght@400;600;900&display=swap");
/*変数(ブレイクポイント)設定(必要に応じて数値を変更)*/
/* 全体設定 */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, table, th, td {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  list-style-type: none;
  -webkit-text-size-adjust: 100%; }

img, a img {
  border: none;
  vertical-align: text-bottom;
  -ms-interpolation-mode: bicubic; }

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/*画像リンク関連*/
a:active, a:focus {
  outline: none; }

a img {
  border: none; }

img {
  padding: 0px;
  margin: 0px;
  border: none; }

body {
  background: #000;
  font-family: 'Murecho', sans-serif;
  font-weight: 400; }

/*Header*/
header {
  width: 95vw;
  margin: 0px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }
  @media screen and (max-width: 1280px) {
    header {
      /*引数を省略*/ } }
  @media screen and (max-width: 650px) {
    header {
      /*引数を省略*/ } }

.pc {
  display: block; }
  @media screen and (max-width: 1024px) {
    .pc {
      /*引数を省略*/
      display: none; } }

/*内容*/
.bg {
  background: #000 url("../img/back_00.jpg") no-repeat center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  z-index: -1; }
  @media screen and (max-width: 1024px) {
    .bg {
      background: #000 url("../img/back_01.jpg?000") no-repeat center center;
      background-size: contain; } }

.main_top {
  position: relative;
  z-index: -1;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%; }

h1 img {
  position: fixed;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 3rem;
  height: calc(100vw / 3840 * 200);
  animation: fadein 2s ease-out forwards;
  animation-delay: .5s;
  opacity: 0; }
  @media screen and (max-width: 1024px) {
    h1 img {
      /*引数を省略*/
      height: auto;
      width: 72%;
      margin: auto; } }

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
img {
  max-width: 100%; }

.scrolldown {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 10px;
  /*全体の高さ*/
  height: 50px; }
  @media screen and (max-width: 1024px) {
    .scrolldown {
      bottom: 50px; } }

/*Scrollテキストの描写*/
.scrolldown span {
  /*描画位置*/
  position: absolute;
  left: -15px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  font-size: 0.9rem;
  letter-spacing: 0.05em; }

/* 線の描写 */
.scrolldown::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0; }

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 30px;
    opacity: 1; }
  100% {
    height: 0;
    top: 50px;
    opacity: 0; } }
/*LINEUP内容*/
.con {
  background: #FFF url("../img/lineup_back.jpg") no-repeat center center;
  background-size: cover;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 1024px) {
    .con {
      height: auto; } }

.lineup_t {
  margin-left: calc(321 / 1920 * 100vw);
  max-width: calc(605 / 1920 * 100vw); }
  @media screen and (max-width: 1024px) {
    .lineup_t {
      margin-left: calc(40 / 1024 * 100vw);
      width: calc(605 / 1024 * 100vw);
      max-width: 100%; } }

a h3 {
  margin: 1.5rem auto;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: #000; }
  @media screen and (max-width: 1024px) {
    a h3 {
      margin: 0.5rem auto calc(100vw / 1920 * 250);
      font-size: calc(16px + 8 * ((100vw - 320px) / 704)); } }
  @media screen and (max-width: 650px) {
    a h3 {
      width: 90%;
      font-size: calc(12px + 8 * ((100vw - 320px) / 704)); } }

.line_con {
  margin: calc(100vw / 1920 * 100) auto;
  text-align: center; }
  .line_con img {
    width: calc(946 / 1920 * 100vw);
    border-radius: 15px;
    transition: .3s; }
    .line_con img:hover {
      opacity: .8; }
  @media screen and (max-width: 1024px) {
    .line_con {
      margin: calc(100vw / 1024 * 100) auto 0;
      overflow: hidden; }
      .line_con img {
        width: 80%;
        display: block;
        margin: 0 auto;
        border-radius: 5px; } }

/*ブランド説明*/
.con2 {
  background: #000;
  background: linear-gradient(49deg, #27292a 0%, black 60%);
  background-size: cover;
  width: 100%;
  height: calc(100vw / 1920 * 870);
  position: relative; }
  @media screen and (max-width: 1024px) {
    .con2 {
      height: calc(100vw / 1024 * 870); } }

.bg_logo {
  position: absolute;
  margin: auto;
  bottom: 0;
  left: 0;
  right: 0;
  width: 90vw;
  z-index: 1; }

.bg_line {
  position: absolute;
  margin: auto;
  right: calc(76 / 1920 * 100vw);
  top: 0;
  width: calc(870 / 1920 * 100vw); }
  @media screen and (max-width: 1024px) {
    .bg_line {
      right: calc(76 / 1024 * 100vw);
      width: calc(600 / 1024 * 100vw); } }

.explanation {
  position: absolute;
  z-index: 2;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  color: #FFF;
  width: calc(900 / 1920 * 100vw);
  height: calc(100vw / 1920 * 140);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: calc(16px + 8 * ((100vw - 1024px) / 2816));
  line-height: 200%; }
  .explanation h2 {
    text-align: left;
    font-size: 2rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    margin-bottom: calc(100vw / 1920 * 25);
    font-size: calc(30px + 8 * ((100vw - 1024px) / 2816)); }
  @media screen and (max-width: 1024px) {
    .explanation {
      font-size: calc(12px + 8 * ((100vw - 320px) / 704));
      width: 80%;
      height: auto;
      margin: 35% auto 0; }
      .explanation h2 {
        font-size: calc(20px + 8 * ((100vw - 320px) / 704));
        margin-bottom: calc(100vw / 1024 * 35); } }
  @media screen and (max-width: 800px) {
    .explanation {
      margin: 25% auto 0; } }
  @media screen and (max-width: 350px) {
    .explanation {
      margin: 15% auto 0; }
      .explanation h2 {
        font-size: calc(20px + 8 * ((100vw - 320px) / 704)); } }

/*footer部分*/
footer {
  width: 100%;
  background: #000;
  overflow: hidden;
  display: flex;
  justify-content: space-around; }
  @media screen and (max-width: 1024px) {
    footer {
      /*引数を省略*/
      display: block; } }

.cp_link {
  width: 390px;
  text-align: left;
  margin-top: 3rem;
  margin-bottom: 5rem;
  color: #FFF; }
  .cp_link a {
    color: #FFF;
    transition: .3s; }
  .cp_link a:hover {
    opacity: .6; }
  .cp_link p {
    text-align: left;
    margin: 1rem auto; }
  @media screen and (max-width: 1024px) {
    .cp_link {
      width: 100%;
      margin-bottom: 1rem;
      margin-left: calc(64 /1024 * 100vw); }
      .cp_link p {
        font-size: calc(12px + 8 * ((100vw - 320px) / 704)); } }

.ft_logo {
  width: calc(270 / 1920 * 100vw);
  display: block; }
  @media screen and (max-width: 1024px) {
    .ft_logo {
      width: calc(400 / 1024 * 100vw); } }
  @media screen and (max-width: 650px) {
    .ft_logo {
      width: 55%; } }

.sns_btn {
  width: 180px;
  margin: 3rem auto 20px;
  display: flex;
  justify-content: space-around;
  align-items: center; }
  .sns_btn li img {
    height: calc(100vw / 1920 *40);
    transition: .5s; }
    .sns_btn li img:hover {
      opacity: .6; }
  @media screen and (max-width: 1024px) {
    .sns_btn {
      margin: 0rem 0 5rem calc(64 /1024 * 100vw);
      justify-content: flex-start; }
      .sns_btn li img {
        height: calc(100vw / 1024 *60);
        display: block;
        margin-right: 5rem; } }
  @media screen and (max-width: 800px) {
    .sns_btn {
      width: 310px;
      align-items: center; }
      .sns_btn li img {
        height: calc(100vw / 1024 *50);
        margin-right: 1rem; } }
  @media screen and (max-width: 650px) {
    .sns_btn li img {
      height: calc(100vw / 1024 *100);
      margin-right: 1rem; } }

.copy {
  text-align: left;
  color: #FFF;
  font-size: 12px;
  margin: 0 auto 2rem; }
