@charset "UTF-8";
@media screen and (min-width: 401px) {
  [no-pc] {
    display: none !important; }
  [only-sp] {
    display: none !important; } }

@media screen and (max-width: 400px) {
  [no-sp] {
    display: none !important; }
  [only-pc] {
    display: none !important; } }

.Flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media screen and (max-width: 400px) {
    .Flex {
      display: block; } }

.Flex-box {
  text-align: center; }
  .Flex-box p {
    text-align: left;
    padding: 2px; }
  @media screen and (max-width: 400px) {
    .Flex-box {
      display: block; } }

#app {
  margin-bottom: 40px; }

@media screen and (min-width: 401px) {
  .Gnavi-pc {
    display: block; } }

@media screen and (max-width: 400px) {
  .Gnavi-pc {
    display: none; } }

@media screen and (min-width: 401px) {
  .Gnavi-sp {
    display: none; } }

@media screen and (max-width: 400px) {
  .Gnavi-sp {
    display: block; } }

h3 {
  font-family: "M PLUS 1p", "Montserrat", "Helvetica Neue", "メイリオ", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
  font-weight: 800; }
  @media screen and (min-width: 401px) {
    h3 {
      margin: 20px auto;
      padding: 12px 0 0 0;
      height: 54px;
      color: #fff;
      font-size: 140%;
      font-weight: bold;
      text-align: center;
      background-image: url(../img/content_title_bg.png);
      background-repeat: no-repeat;
      background-position: center top; } }
  @media screen and (max-width: 400px) {
    h3 {
      font-size: 130%;
      width: 96%;
      min-height: 44px;
      margin: 10px 2%;
      padding: 4px;
      background: linear-gradient(-225deg, transparent 10px, #0dd0d7 10px), linear-gradient(#0dd0d7 0%, #0dd0d7 100%), linear-gradient(-45deg, transparent 10px, #0dd0d7 10px), linear-gradient(#0dd0d7 0%, #0dd0d7 100%);
      background-position: top left, bottom left, bottom right, top right;
      background-size: 50.1% 50.1%;
      background-repeat: no-repeat; } }

@media screen and (max-width: 400px) {
  h3 span {
    display: block;
    margin: 0 auto;
    padding: 4px 4px 4px 8px;
    width: 330px;
    min-height: 34px;
    color: #fff;
    background-color: #0c7478; } }

.etc-nav ul {
  display: flex;
  justify-content: center; }
  @media screen and (min-width: 401px) {
    .etc-nav ul {
      width: 750px;
      margin: 0 auto; } }
  @media screen and (max-width: 400px) {
    .etc-nav ul {
      flex-wrap: wrap;
      width: 100%;
      padding: 8px 0 2px 0; } }

.etc-nav ul li {
  color: transparent;
  user-select: none;
  font-size: 0;
  background-image: url("../img/etc/etc_index.png");
  background-size: 300% 200%; }
  @media screen and (min-width: 401px) {
    .etc-nav ul li {
      width: 178px;
      height: 60px;
      margin: 0; } }
  @media screen and (max-width: 400px) {
    .etc-nav ul li {
      width: 130px;
      height: 44px;
      margin: 0 0 12px 0; } }
  .etc-nav ul li:nth-child(1) {
    background-position: 0 0; }
  .etc-nav ul li:nth-child(1):hover {
    background-position: 0 -100%; }
  .etc-nav ul li:nth-child(1).active {
    background-position: 0 -100%; }
  .etc-nav ul li:nth-child(2) {
    background-position: -100% 0; }
  .etc-nav ul li:nth-child(2):hover {
    background-position: -100% -100%; }
  .etc-nav ul li:nth-child(2).active {
    background-position: -100% -100%; }
  .etc-nav ul li:nth-child(3) {
    background-position: -200% 0; }
  .etc-nav ul li:nth-child(3):hover {
    background-position: -200% -100%; }
  .etc-nav ul li:nth-child(3).active {
    background-position: -200% -100%; }

h4 {
  margin-bottom: 8px;
  color: #017475;
  font-size: 120%;
  font-weight: bold; }

@media screen and (min-width: 401px) {
  .Song-content {
    margin: 0 auto;
    width: 1020px;
    padding: 5px;
    margin-bottom: 60px;
    background: linear-gradient(-225deg, transparent 14px, rgba(255, 255, 255, 0.9) 14px), linear-gradient(rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 100%), linear-gradient(-45deg, transparent 14px, rgba(255, 255, 255, 0.9) 14px), linear-gradient(rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 100%);
    background-position: top left, bottom left, bottom right, top right;
    background-size: 50.1% 50.1%;
    background-repeat: no-repeat; } }

@media screen and (max-width: 400px) {
  .Song-content {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8); } }

@media screen and (min-width: 401px) {
  .Song-content-inner {
    width: 900px;
    margin: 0 auto;
    padding: 20px 0 0 0; } }

@media screen and (max-width: 400px) {
  .Song-content-inner {
    width: 100%;
    padding: 20px 20px 0px 20px; } }
