@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

/* change colors to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colors to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border color to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/* common */
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-size: 1.6rem;
  background-color: transparent;
  background-size: cover;
  background-repeat: no-repeat;
  font-family: Arial, Helvetica, sans-serif;
  color: #0d0d0d;
}

img {
  max-width: 100%;
}

.header_container {
  width: 1248px;
  max-width: calc(100vw - 5rem);
  background-color: #e7e7e7;
  padding: 0 3.5rem;
  margin: 2.5rem auto 0;
  height: 12rem;
}

.main_container,
.footer_container {
  width: 1248px;
  max-width: calc(100vw - 5rem);
  background-color: #e7e7e7;
}

.grey_border_header {
  border-color: #cdcdcd #6f6f6f #6f6f6f #cdcdcd;
  border-style: solid;
  border-width: 7px;
  box-shadow: 1.5px 1.5px 11px #f77dea;
}

.grey_border {
  border-color: #cdcdcd #6f6f6f #6f6f6f #cdcdcd;
  border-style: solid;
  border-width: 7px;
  box-shadow: 1.5px 1.5px 11px #f77dea;
}

.sticky_header {
  display: flex;
  justify-content: space-between;
}

.header_nav {
  width: 100%;
  background-color: transparent;
  margin-left: 1.5rem;
}

.header_nav ul {
  display: flex;
  justify-content: center;
}

header .header_container h1 {
  width: 100%;
}

header .header_container h1 img {
  margin: 2.1rem auto;
}

header .header_container h1 a img:hover {
  filter: drop-shadow(0.5px 0.5px 1px #ed07ed);
}

.grey_btn {
  background: linear-gradient(to top, #e9e9e9 0%,
      #d3d5d8 15%,
      #c2c2c5 35%,
      #bbb 44%,
      #bdbdbe 53%,
      #cfcdcd 71%,
      #e7e5e5 87%,
      #fff 100%);
  border-color: #9292f9 #7878fd #7878fd #9292f9;
  width: 13.5rem;
  line-height: 5.5rem;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  box-shadow: 3px 3px 3px #7d7b7b;
  margin: 2.45rem 0.8rem;
  font-family: 'REM', sans-serif;
}

.grey_btn:hover {
  box-shadow: 1px 3px 8px #0789ed;
}

nav ul li.active a {
  box-shadow: 1px 3px 8px #ff0339;
}

.switch_nav {
  display: none;
}

.main_container,
.footer_container {
  margin: 2.5rem auto 0;
}

.social ul {
  display: flex;
  margin: 1.8rem auto;
  justify-content: center;
  width: 100%;
}

.social ul li {
  padding: 1.5rem;
}

.social ul li:hover {
  filter: drop-shadow(0 0 3px #69f87ecf);
}

.top_btn {
  margin: 1.8rem auto;
}

.footer_menu {
  display: flex;
  justify-content: flex-end;
  align-items: end;
  margin: 0 1rem 2.1rem 0;
}

.footer_menu small,
.footer_menu ul li a {
  font-size: 1.3rem;
}

.footer_menu small,
.footer_menu ul li {
  padding: 0.3px 2.1rem;
}

/* hover line 01 */
.footer_menu small a:hover,
.footer_menu ul li a:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

/* hover line 02 */
/* .footer_menu small a,
.footer_menu ul li a {
  position: relative;
}

.footer_menu small a::after,
.footer_menu ul li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #0a0a0a;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: all 100ms;
}

.footer_menu small a:hover::after,
.footer_menu ul li a:hover::after {
  transform: scale(1, 1);
} */
/* hover line 02 end */

.footer_container {
  margin-bottom: 21rem;
}
/* common end */

/* TOP PAGE */
#index {
  background-image: url(../images/index/index_bkimg.png);
}

/* hot */
.hot {
  text-align: center;
  width: 80%;
  margin: 0 auto 11.5rem;
}

.gif {
  text-align: center;
  margin: 10rem auto 3.5rem;
}

.hot h3 {
  margin: 3rem auto 1rem;
}

.hot div {
  margin: 6rem auto 0;
}

/* news */
#news {
  text-align: center;
  width: 50%;
  margin: 0 auto;
  line-height: 3rem;
}

#news h2 {
  font-size: 7.2rem;
  color: #f90f0f;
  padding: 1.5rem;
  margin-bottom: 3.5rem;
}

#news p {
  display: inline-block;
}

#news p:hover {
  color: #f90f0f;
}

/* live */
#live {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 50%;
  margin: 10rem auto 12.5rem;
  line-height: 3rem;
}

#live h2 {
  font-size: 7.2rem;
  color: #f90f0f;
  padding: 1.5rem;
  margin-bottom: 3.5rem;
}

#live p {
  display: inline-block;
  text-align: center;
}

#live p:hover {
  color: #f90f0f;
}

/* contact */
#contact {
  width: 45%;
  margin: 6rem auto 13.5rem;
}

#contact h2 {
  font-size: 3.5rem;
  color: #f90f0f;
  padding: 1.5rem;
  margin-bottom: 3.5rem;
}

#contact form .form_area dt {
  color: #390168;
  padding: 1.5rem;
}

#contact form .form_area dd #name,
#contact form .form_area dd #email {
  background-color: #ff0000e1;
  color: #fffffff6;
  max-width: calc(100% - 29rem);
  height: 6rem;
  padding: 0.3rem 1.5rem;
  margin: 0 0 2.5rem 1.5rem;
  border-width: 0;
  width: 100%;
  min-width: 21rem;
}

#contact form .form_area #message {
  background-color: #ff0000e1;
  color: #fffffff6;
  height: 11.5rem;
  padding: 0.3rem 1.5rem;
  margin: 0 1.5rem;
  border-width: 0;
  line-height: 1.5;
  width: 95%;
  min-width: 28.5rem;
  resize: none;
}

.submit_btn {
  text-align: center;
}

.submit_btn button {
  background-color: #ff0000e1;
  font-size: 1.6rem;
  width: 50%;
  height: 5.6rem;
  padding: 0.3rem 1.5rem;
  margin: 5rem 1.5rem 0;
  border-width: 0;
  color: #390168;
}

#contact form .form_area dd #name:hover,
#contact form .form_area dd #email:hover,
#contact form .form_area #message:hover {
  background-color: #d300d3ce;
}

.submit_btn button:hover {
  background-color: #f1eded;
  color: #0a0a0a;
  border-color: #c7c6c6 #3a3939 #3a3939 #bdbbbb;
  border-style: solid;
  border-width: 7px;
  /* box-shadow: 1.5px 1.5px 11px #f77dea; */
}

/* MUSIC */
#music {
  background-image: url(../images/music/music_bkimg.png);
  background-position: center;
}

#music header .header_container nav ul li:nth-child(1) .grey_btn {
  box-shadow: 1px 3px 8px #ff0339;
}

.music_inner {
  text-align: center;
  width: 80%;
  margin: 5.5rem auto 15rem;
}

.music_inner h2 {
  margin-bottom: 5.5rem;
}

.music_inner ul li div a h3 {
  font-size: 6rem;
  font-weight: 300;
  padding: 3.5rem;
}

.music_inner ul li div {
  margin: 0 auto 10rem;
}

.filter img:hover {
  opacity: 0.8;
}

/* PROFILE */
#profile {
  background-image: url(../images/profile/profile_bkimg.png);
}

#profile header .header_container nav ul li:nth-child(4) .grey_btn {
  box-shadow: 1px 3px 8px #ff0339;
}

.profile_inner {
  width: 80%;
  margin: 10rem auto 11.5rem;
}

.profile_inner h2 {
  margin-bottom: 6.5rem;
  background-image: url(../images/profile/profile.png);
  background-repeat: no-repeat;
  background-size: 76%;
  background-position: top 60% center;
}

.profile_container {
  display: flex;
  position: relative;
}

.profile_description {
  position: absolute;
  width: 56%;
  top: .5rem;
  left: 45rem;
  color: #a1051f;
}

.profile_description h3 {
  font-size: 5.5rem;
  font-family: 'Emblema One', cursive;
  margin: 3.5rem auto;
}

.profile_description p {
  margin: 1.5rem auto 3.5rem;
  line-height: 1.7;
  /* text-indent: 1em; */
}

/* GOODS */
#goods {
  background-image: url(../images/goods/goods_bkimg.png);
}

#goods header .header_container nav ul li:nth-child(5) .grey_btn {
  box-shadow: 1px 3px 8px #ff0339;
}

.goods_inner {
  width: 80%;
  margin: 10rem auto 19.5rem;
}

.goods_inner h2 {
  text-align: center;
}

.goods_inner ul li a {
  text-align: center;
}

.goods_inner ul li .zoom_box {
  margin: 10rem auto 0;
}

.goods_inner ul li:nth-child(1) .zoom_box {
  margin-top: 5.5rem;
}

.goods_inner ul li a p {
  margin: 3.5rem auto 4.5rem;
}

.goods_inner ul li:nth-child(2) a p {
  margin-bottom: 1.8rem;
}

.goods_inner ul li:nth-child(2) a+p {
  text-align: center;
  width: 11%;
  background-color: #f90d0d;
  border-radius: .5rem;
  color: #ffffff;
  padding: .3rem 1rem;
  margin: 0 auto;
}

.zoom_box {
  width: 100%;
  overflow: hidden;
}

.zoom_box img {
  transition: all 500ms ease-in-out;
}

.zoom_box img:hover {
  transform: scale(1.05);
  transition: all 400ms ease-in-out;
}

/* responsive */
@media screen and (max-width:1279px) {
  .header_container {
    position: relative;
  }

  .header_nav {
    position: absolute;
    top: 100%;
    margin: auto;
    background-color: #fd8bff85;
  }

  .header_nav ul {
    display: none;
  }

  .grey_btn{
    margin:2.45rem auto;
  }

  /* switch_nav button */
  .switch_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6.1rem;
    height: 5rem;
    background-color: #ff0000c7;
    border: none;
    border-radius: 2.5rem;
    outline: none;
    margin-top: 1.8rem;
  }

  .switch_nav span,
  .switch_nav span::before,
  .switch_nav span::after {
    display: block;
    justify-content: center;
    align-items: center;
    width: 2.1rem;
    height: 0.3rem;
    background-color: #0a0a0a;
    position: relative;
    transition: all 300ms 300ms, transform 300ms 0ms;
  }

  .switch_nav span::before,
  .switch_nav span::after {
    content: "";
    position: absolute;
    top: -0.8rem;
  }

  .switch_nav span::after {
    top: .8rem;
  }

  .switch_nav.is-show span {
    background-color: transparent;
  }

  .switch_nav.is-show span::before {
    top: 0;
    transform: rotate(45deg);
    transition: all 300ms, transform 300ms 300ms
  }

  .switch_nav.is-show span::after {
    top: 0;
    transform: rotate(-45deg);
    transition: all 300ms, transform 300ms 300ms;
  }

  /* .switch_navにbackground-imageを使ってbutton実装ver */
  /* .switch_nav {
    display: block;
    width: 4.5rem;
    height: auto;
    background-image: url(../images/common/uchu.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
    border: none;
    outline: none;
  } */

  /* responsiveの時class名.is-showを使って.header_nav ul要素を展開ver */
  /* .header_nav ul.is-show {
    display: block;
    background-color: rgba(255, 99, 71, 0.61);
    position: absolute;
    top: 100%;
    left: 0;
    transition: all 1000ms;
  } */

  /* sticky_header */
  .sticky_header {
    position: fixed;
    width: 83%;
    top: 33px;
    transition: all 500ms ease;
    z-index: 999;
  }

  .sticky_header.pi {
    top: 0;
  }

  /* profile */
  .profile_inner {
    margin: 10rem auto 15.5rem;
  }
  .profile_description {
    top: -1.5rem;
    left: 37rem;
  }

  .profile_img {
    width: 60%;
  }

  /* goods */
  .goods_inner ul li:nth-child(2) a+p {
    width: 11rem;
  }
}

@media screen and (max-width:1023px){
  /* profile */
  .profile_inner {
    margin: 8.5rem auto 8.5rem;
  }

  .profile_inner h2 {
    margin-bottom: 4.5rem;
  }

  .profile_container {
    flex-direction: column-reverse;
    align-items: center;
  }

  .profile_description {
    position: static;
    width: 90%;
  }

  .profile_description h3 {
    font-size: 3.5rem;
    margin: 3.5rem auto 2.5rem;
  }

  .profile_img {
    width: 80%;
  }
}

@media screen and (max-width:767px) {
  /* common */
  body {
    font-size: 1.3rem;
  }
  .header_container {
    padding: 0 1.5rem;
    height: 8.5rem;
  }

  header .header_container h1 img {
    width: 18rem;
    height: auto;
    margin: 1.1rem auto;
  }

  .switch_nav {
    min-width: 6rem;
    margin: 1.1rem 3.5rem auto 0;
  }

  .social ul {
    width: 80%;
  }

  .social ul li {
    padding: 1.5rem;
  }

  .social ul li {
    padding: .5rem;
  }

  footer .footer_container .grey_btn {
    width: 11rem;
    line-height: 4.6rem;
  }

  .top_btn {
    margin: 2.1rem auto;
  }

  .footer_menu {
    justify-content: center;
    margin: 1rem 1rem 2.1rem 0;
  }

  /* hot */
  .gif {
    text-align: center;
    margin: 5.5rem auto 2.5rem;
  }

  .hot {
    text-align: center;
    width: 85%;
    margin: 0 auto 6.5rem;
  }

  .hot h3 {
    margin: 1.5rem auto 1rem;
  }

  .hot div {
    margin: 3.5rem auto 0;
  }

  /* news */
  #news {
    width: 80%;
  }

  #news h2 {
    font-size: 3.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }

  /* live */
  #live {
    width: 80%;
    margin: 6rem auto 8.5rem;
    line-height: 3rem;
  }

  #live h2 {
    font-size: 3.8rem;
    color: #f90f0f;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }

  #live p {
    word-break: break-all
  }

  /* contact */
  #contact {
    width: 75%;
    margin: 6rem auto 8.5rem;
  }

  #contact h2 {
    font-size: 2.3rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }

  #contact form .form_area dd #name,
  #contact form .form_area dd #email {
    height: 5.5rem;
    min-width: 89%;
  }

  #contact form .form_area #message {
    min-width: 89%;
  }

  .submit_btn button {
    font-size: 1.3rem;
  }

  /* music */
  .music_inner {
    width: 100%;
    margin: 0 auto 6.5rem;
  }

  .music_inner h2 {
    margin-bottom: 1.5rem;
  }

  .music_inner ul li div a h3 {
    font-size: 2.1rem;
    font-weight: 300;
    padding: 1.5rem;
  }

  .music_inner ul li .filter {
    width: 80%;
    margin: 0 auto 6.5rem;
  }

  /* profile */
  .profile_inner {
    margin: 6.5rem auto 6.5rem;
  }

  .profile_inner h2 {
    margin-bottom: 3.5rem;
  }

  .profile_description h3 {
    font-size: 2.3rem;
    margin: 3.5rem auto 1.5rem;
  }

  .profile_description p {
    line-height: 1.5;
  }

  /* goods */
  .goods_inner {
    margin: 6.5rem auto 8.5rem;
  }

  .goods_inner ul li .zoom_box {
    margin: 6rem auto 0;
  }

  .goods_inner ul li:nth-child(1) .zoom_box {
    margin-top: 2.5rem;
  }

  .goods_inner ul li a p {
    margin: 2.5rem auto 3.5rem;
    padding: 0 1rem;
  }

  .zoom_box img {
    width: 80%;
  }
}