@charset "utf-8";
/*
Theme Name: Yoshiki Fukuyama Official
Theme URI: http://www.fukuyama-yoshiki.net
Description: Yoshiki Fukuyama theme
Version:2.0

/* ==========================================================
   Reset
========================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

body {
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
}

article {
  font-size: 1.1rem;
}

#main {
  font-size: 1.1rem;
  line-height: 1.8;
}
#main li,
#main dd {
  line-height: 1.7;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ------------------------------------------
Base
------------------------------------------ */

body {
  font-family:
    Helvetica, Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,
    sans-serif;
  font-size: 100%;
  padding-top: 75px;
  background-color: #222;
  color: #fff;
}

body.mainPage,
body.subPage {
  background: #030303 url("images/bg-image.jpg") center 40px no-repeat fixed;
}

@media screen and (max-width: 1199.98px) {
  body.mainPage,
  body.subPage {
    background: #030303 !important;
  }
}

h1,
h2 {
  font-size: 1.8rem;
  text-shadow: 1px 1px 0 rgba(2, 2, 2, 0.5);
}

h3,
h4,
h5,
h6 {
  font-size: 1.5rem;
  font-weight: bold;
  text-shadow: 1px 1px 0 rgba(2, 2, 2, 0.5);
}

a {
  font-weight: normal;
  color: #fff;
  text-decoration: none;
}

a:hover {
  color: #f60;
  text-decoration: underline;
}

a:focus-visible {
  outline: 2px solid #f60;
  outline-offset: 2px;
}

.floatL {
  float: left;
}

.floatR {
  float: right;
}

blockquote {
  margin: 10px 3% 20px;
  padding: 10px 20px;
  border: 1px solid #555;
  background-color: #1b1b1b;
}

/* Text elements */

strong {
  font-weight: 700;
}

pre {
  border: 1px solid #ededed;
  color: #fff;
  font-family: Consolas, Monaco, "Lucida Console", monospace;
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 24px 20px;
  overflow: auto;
  padding: 24px;
}

code,
kbd,
samp,
var {
  font-family: Consolas, Monaco, "Lucida Console", monospace;
  font-size: 0.875rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}

address {
  margin-bottom: 1.5rem;
  line-height: 1.7;
}

input[type="text"],
textarea {
  border: 1px solid #ccc;
  border-radius: 3px;
  font: inherit;
  padding: 0.5rem;
}

textarea {
  width: 100%;
  min-height: 8rem;
}

hr {
  border: 0;
  height: 1px;
  width: 90%;
  margin: 20px auto;
  background: linear-gradient(to right, #333, #ccc, #333);
}

.bb {
  border-bottom: 1px solid #666;
}

.title {
  color: #e4daa0;
}

/* ------------------------------------------
Wireframe
------------------------------------------ */

#wrapper {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  background-color: rgba(20, 20, 20, 0.9);
  border-inline: 1px solid #333;
  display: flow-root;
}
#main,
#mainContent {
  width: 100%;
  max-width: none;
}

/* ------------------------------------------
Main
------------------------------------------ */

body.mainPage #wrapper {
  display: grid;
  grid-template-columns: 640px 300px;
  gap: 0px;
  width: 100%;
}

body.mainPage #topmain,
body.mainPage #topsub {
  width: auto;
  float: none;
}
@media (max-width: 991px) {
  body.mainPage #wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* 第二階層以下 */
.subPage #main {
  width: 100%;
}

.subPage #mainContent {
  width: 100%;
  padding: 0 20px 60px;
}

/* ------------------------------------------
Gallery
------------------------------------------ */

#gallery {
  width: 100%;
  max-width: 960px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background-color: #222;
}

/* ------------------------------------------
Breadcrumb
------------------------------------------ */

#bread-crumb {
  width: 100%;
  margin: 0;
  padding: 6px 10px 10px;
  font-size: 0.8rem;
  line-height: 1.6;
}

#bread-crumb ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

#bread-crumb li.sub {
  padding-left: 10px;
}

#bread-crumb li.sub::before {
  content: ">";
  margin-right: 10px;
}

#bread-crumb a {
  color: #ccc;
  text-decoration: none;
}

#bread-crumb a:hover {
  color: #eee;
}

/* ------------------------------------------------------------
Swiper
------------------------------------------------------------- */

.top-swiper .swiper-button-prev,
.top-swiper .swiper-button-next {
  color: #fff;
  width: 40px;
  height: 40px;

  opacity: 0;
  transition: opacity 0.3s ease;
}

.top-swiper:hover .swiper-button-prev,
.top-swiper:hover .swiper-button-next {
  opacity: 0.7;
}

.top-swiper .swiper-button-prev::after,
.top-swiper .swiper-button-next::after {
  font-size: 28px;
}

@media (max-width: 991px) {
  .top-swiper .swiper-button-prev,
  .top-swiper .swiper-button-next {
    opacity: 0.6;
  }
}

/*--------------------------------------------------------------
TITLE LAYOUT
---------------------------------------------------------------*/

#mainContent h1 {
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 1.2rem);
  line-height: 1.5;
  padding: 0.3em 0.6em;
  margin: 0.2em 0;
  font-weight: normal;
  background: linear-gradient(to right, #cf0e00 0%, #6e0902 30%, #6e0902 100%);
  border-radius: 3px;
  overflow-wrap: anywhere;
}
#mainContent h2 {
  color: #fff;
  margin: 0;
  font-weight: normal;
  border-bottom: 1px solid #666;
}
.more {
  margin: 2.3rem 0 2.3rem;
  text-align: right;
}
body.mainPage .more {
  padding-right: 10px;
}

.more a {
  display: inline-block;
  color: #ccc;
  font-size: 0.9rem;
  text-decoration: none;
}

.more a:hover {
  color: #fff;
  text-decoration: underline;
}
.history-back {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 3rem 0 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid #666;
}

.history-back a {
  color: #ccc;
  font-size: 0.9rem;
  text-decoration: none;
}

.history-back a:hover {
  color: #fff;
  text-decoration: underline;
}
#topmain h2 {
  color: #fff;
  padding: 0.2em 0 0 0em;
  margin: 1.2em 0px 0 0px;
  font-weight: normal;
  border-bottom: 1px solid #666;
}

#topsub h2 {
  color: #ddd;
  padding-top: 0.2em;
  margin-top: 1.2em;
  font-weight: normal;
  border-bottom: 1px solid #666;
}

.sub-nav {
  display: flex;
  gap: 8px;
  margin: 20px 0 35px;
}

.sub-nav a {
  display: inline-block;
  padding: 10px 18px;
  border: 1px solid #555;
  background: #222;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.sub-nav a.current {
  background: #444;
  border-color: #666;
  cursor: default;
}

@media (max-width: 600px) {
  .sub-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .sub-nav a {
    text-align: center;
    padding: 10px 8px;
  }
}

/* ------------------------------------------------------------
List
------------------------------------------------------------- */

.eListBody {
  max-width: 900px;
  min-height: 700px;
  margin: 30px auto;
}

.eListTop {
  max-width: 900px;
  margin: 30px auto;
}

#mainContent.disc-content h2,
#mainContent.live-content h2,
#mainContent.media-content h2,
#mainContent.link-content h2,
#mainContent.profile-content h2 {
  padding: 10px 0 10px 12px;
  margin: 0 0 1.5rem;
  border-left: 4px solid #a00;
  border-bottom: 1px solid #444;
  background: #222;
  font-size: 1.6rem;
  font-weight: normal;
}
#mainContent h2.live-history-title {
  margin-top: 60px;
}
#mainContent h2.section-title {
  padding: 10px 0 10px 12px;
  margin: 3.5rem 0 1.5rem;
  border-left: 4px solid #a00;
  border-bottom: 1px solid #444;
  background: #222;
  font-size: 1.6rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  #mainContent.disc-content h2,
  #mainContent.live-content h2,
  #mainContent.media-content h2,
  #mainContent.link-content h2,
  #mainContent h2.section-title,
  #mainContent.profile-content h2 {
    font-size: 1.3rem;
  }

  #mainContent .eBody h3,
  #mainContent .eNews h3 {
    font-size: 1.3rem;
  }

  #mainContent .eBody h4,
  #mainContent .eNews h4 {
    font-size: 1.15rem;
  }
}

.setlist-box p {
  margin: 0 0 1rem;
}
.setlist-box {
  position: relative;
  margin: 0 0 2.5rem;
  padding: 22px 24px 24px 38px;

  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.08) 0,
      rgba(255, 255, 255, 0.08) 1px,
      transparent 1px,
      transparent 28px
    ),
    #111;

  border: 1px solid #444;
  border-radius: 3px;
}

.setlist-box::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 24px;
  width: 1px;
  background: rgba(160, 0, 0, 0.8);
}

@media screen and (max-width: 767px) {
  .setlist-box {
    padding: 18px 12px;
  }

  .setlist-box::before {
    display: none;
  }
}

.eListTop h3 {
  color: #fff;
  padding: 10px 0;
  margin: 0;
  font-weight: normal;
  border-bottom: 1px solid #666;
}
.gList .disc-title {
  width: 100%;
  margin: 8px 0 0;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.35;
  text-align: left;
}

.gList .disc-title a {
  color: inherit;
  text-decoration: none;
}

.gList .disc-title a:hover {
  text-decoration: underline;
}

/* ------------------------------------------------------------
Profile
------------------------------------------------------------- */

.profile-sign {
  margin: 40px 0 50px;
}

.profile-sign img {
  display: block;
  width: 180px;
  max-width: 45%;
  height: auto;
  margin-left: auto;
  margin-right: 0;
}

/* ------------------------------------------------------------
List post
------------------------------------------------------------- */

.listpost {
  padding: 10px 0 5%;
}

dl.listpost {
  display: grid;
  grid-template-columns: 90px 1fr;
  line-height: 1.5;
}

dl.listpost dt {
  margin-bottom: 5px;
  padding-bottom: 5px;
  font-weight: bold;
}

/* ------------------------------------------------------------
Top / Post list
------------------------------------------------------------- */

.live-section,
.news-section,
.info-section,
.diary-section,
.topics-section {
  padding: 0 25px;
}
@media screen and (max-width: 767px) {
  .subPage .live-section {
    padding: 0 0px;
  }
}

.toppost,
.livepost,
.newspost,
.diarypost,
.topicspost {
  margin-bottom: 0;
  padding: 20px 0 0;
  color: #fff;
}

/* 1件ごと */
.information-item,
.live-item,
.news-item,
.diary-item,
.topics-item {
  margin-bottom: 14px;
  padding: 12px 0 10px;
  border-bottom: 1px solid #444;
}

/* メタ情報 */
.information-meta,
.live-meta,
.news-meta,
.diary-meta,
.topics-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 0.8rem;
  line-height: 1.4;
}

/* 日付 */
.information-meta time,
.live-meta time,
.news-meta time,
.diary-meta time,
.topics-meta time {
  color: #aaa;
  font-size: 0.8rem;
  font-weight: 600;
}

/* タイトル */
.information-title,
.live-title,
.news-title,
.diary-title,
.topics-title {
  display: block;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.6;
  text-decoration: none;
}

/* リンク */
.toppost a,
.livepost a,
.newspost a,
.diarypost a,
.topicspost a {
  color: #fff;
}

/* カテゴリ */
.information-meta .cat,
.live-meta .cat,
.news-meta .cat {
  margin: 0;
  padding: 0 0.6em;
  color: #fff;
  font-size: 0.75rem;
  white-space: nowrap;
  border-radius: 4px;
}

/* NEW */
.new {
  color: #ed0505;
  font-size: 0.75rem;
}

/* ------------------------------------------------------------
Live list
------------------------------------------------------------- */

.live-list__item {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid #555;
}

.live-list__date {
  font-weight: 600;
}

.live-list__content {
  min-width: 0;
}

/* ------------------------------------------------------------
Responsive
------------------------------------------------------------- */

@media (max-width: 600px) {
  #main h2 {
    font-size: 1.3rem;
  }

  .live-list {
    margin: 0;
  }

  .live-list__item {
    display: block;
    padding: 18px 0;
  }

  .live-list__date {
    margin-bottom: 8px;
    font-size: 1rem;
    font-weight: 700;
  }

  .live-list__content {
    width: 100%;
    line-height: 1.7;
  }

  .live-list__content .cat {
    margin-right: 6px;
  }
}
.new {
  color: #ed0505;
}

/* -----------cat------------------------*/

.cat {
  background-color: #555;
}
.newspost .attention {
  background-color: #a4152d;
}
.newspost .caution {
  background-color: #a78f0c;
}
.newspost .notice {
  background-color: #0d7a84;
}
.newspost .sorry {
  background-color: #e02e11;
}
.newspost .urgent {
  background-color: #590ec0;
}
.newspost .important {
  background-color: #db1678;
}

.livepost .cat01 {
  background-color: #0f3a91;
}
.livepost .cat02 {
  background-color: #067d0c;
}
.livepost .cat03 {
  background-color: #a4152d;
}
.livepost .cat04 {
  background-color: #a78f0c;
}
.livepost .cat05 {
  background-color: #590ec0;
}
.livepost .w-fukuyama {
  background-color: #8a167c;
}

.toppost .cat01 {
  background-color: #a4152d;
}
.toppost .cat02 {
  background-color: #067d0c;
}
.toppost .cat03 {
  background-color: #0d7a84;
}
.toppost .cat04 {
  background-color: #1665db;
}
.toppost .cat05 {
  background-color: #e02e11;
}
.toppost .cat06 {
  background-color: #a78f0c;
}
.toppost .cat07 {
  background-color: #590ec0;
}
.toppost .cat08 {
  background-color: #db1678;
}

/* ------------------------------------------------------------
Discography layout
------------------------------------------------------------- */

.discpost {
  margin-left: 5%;
  padding: 10px 0 5%;
}

dl.discpost {
  display: grid;
  grid-template-columns: 180px 1fr;
  line-height: 1.5;
}

dl.discpost dt {
  margin-bottom: 5px;
  padding-bottom: 5px;
  font-weight: bold;
}

dl.discpost dd {
  margin: 0 0 5px;
  padding-bottom: 5px;
}

.discpost span.day {
  padding: 0 0.5em;
  margin-left: 0.5em;
}

.discpost span.con {
  font-size: 0.75em;
}

/* Disc posts */

ul.discposts {
  display: grid;
  grid-template-columns: 8% 26% 1fr;
  margin-left: 20px;
}

ul.discposts li {
  line-height: 1.5;
  border-top: 1px solid #555;
  margin-top: -1px;
  padding: 10px 5px;
}

ul.discposts li.hd {
  font-weight: bold;
}

/* ------------------------------------------------------------
Scrollable top box
------------------------------------------------------------- */

.topbox {
  width: 100%;
  max-width: 610px;
  max-height: 340px;
  overflow: auto;
}

/* ------------------------------------------------------------
Right column
------------------------------------------------------------- */

.banner-section,
.youtube-section,
.pickup-section,
.release-section,
.sns-section {
  padding: 0 20px;
}

.pubimg {
  margin: 10px 0 5px;
  padding: 0px;
}

.pub {
  margin: 10px 0 5px;
  padding: 10px;
  border: 1px solid #333;
  background-color: #111;
}

.pubdata {
  display: flow-root;
  margin-bottom: 20px;
}

.pubdata h3 {
  margin: 0;
  line-height: 1.2;
  color: #960;
  font-size: 0.9em;
  text-shadow: 1px 1px 0 rgba(2, 2, 2, 0.5);
}

.pubdata p {
  margin: 0;
  line-height: 1.5;
  color: #ccc;
  font-size: 0.75em;
}

.pubdata img {
  width: 100px;
  height: auto;
  margin-right: 10px;
  float: left;
}

.pubdata span {
  line-height: 1.5;
}

.pubdata span a {
  color: #960;
}

.banner {
  margin-top: 10px;
}

.banner img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------
YouTube
------------------------------------------*/
.tube {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 5px;
  overflow: hidden;
}

.tube iframe,
.tube object,
.tube embed {
  width: 100%;
  height: 100%;
  border: 0;
}

.tube-thumb {
  position: relative;
  display: block;
}

.tube-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.tube-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  display: flex;
  align-items: center;
  justify-content: center;

  width: 56px;
  height: 40px;

  color: #fff;
  background: rgba(255, 0, 0, 0.9);
  border-radius: 10px;

  font-size: 20px;
  line-height: 1;

  pointer-events: none;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.tube-thumb:hover .tube-play {
  background: #f00;
  transform: translate(-50%, -50%) scale(1.08);
}

.tbList {
  margin-top: 30px;
}

.tbList ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tbList li {
  min-width: 0;
}

.tube {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.tube iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.media-title {
  margin-top: 10px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .tbList ul {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.sns-links {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
}

.sns-links a {
  display: block;
  width: 42px;
}

.sns-links img {
  display: block;
  width: 100%;
  height: auto;
}

.sns-links a:hover {
  opacity: 0.7;
}

@media (max-width: 800px) {
  .sns-links {
    margin-bottom: 30px;
  }
}

/* ------------------------------------------------------------
Base Content
------------------------------------------------------------- */

/* ------------------------------------------------------------
eBody / eNews 共通
------------------------------------------------------------- */

.eBody,
.eNews {
  width: 100%;
  box-sizing: border-box;
  margin: 20px 0;
  padding: 0 20px;
}
@media (max-width: 991px) {
  .eBody,
  .eNews {
    padding: 0 10px;
  }
}

/* 本文 */
.eBody p,
.eNews p {
  margin: 0 0 1.4rem;
  line-height: 1.8;
}

/* ------------------------------------------------------------
見出し
------------------------------------------------------------- */

.eBody h3,
.eBody h4,
.eBody h5,
.eBody h6,
.eNews h3,
.eNews h4,
.eNews h5,
.eNews h6 {
  margin: 1.5em 0 1em;
  padding: 0 0 0.4em;
  border-bottom: 1px solid #666;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.5;
}

/* h3：本文中の中見出し */
.eBody h3,
.eNews h3 {
  margin: 2rem 0 1.2rem;
  padding: 0 0 0.5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #666;
}

/* h4 */
.eBody h4,
.eNews h4 {
  color: #e4bb65;
  text-align: center;
}

/* h5 */
.eBody h5,
.eNews h5 {
  color: #78cd61;
  text-align: left;
}

/* h6 */
.eBody h6,
.eNews h6 {
  color: #cab347;
  text-align: left;
}

/* 先頭の見出し */
.eBody h3:first-child,
.eBody h4:first-child,
.eBody h5:first-child,
.eBody h6:first-child,
.eNews h3:first-child,
.eNews h4:first-child,
.eNews h5:first-child,
.eNews h6:first-child {
  margin-top: 0;
}

/* ------------------------------------------------------------
画像
------------------------------------------------------------- */

.eBody img,
.eNews img {
  max-width: 100%;
  height: auto;
}

.eBody p img,
.eNews p img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #333;
}

.eBody p img.caps,
.eNews p img.caps {
  margin-left: auto;
  margin-right: auto;
}

/* ------------------------------------------------------------
リスト
------------------------------------------------------------- */

.eBody ol,
.eNews ol {
  list-style: decimal;
}

.eBody ul,
.eNews ul {
  list-style: square;
}

.eBody ol,
.eBody ul,
.eNews ol,
.eNews ul {
  margin: 1rem 0 1.5rem;
  padding-left: 2rem;
}

.eBody li,
.eNews li {
  padding: 0.25rem 0;
  line-height: 1.7;
}

/* ------------------------------------------------------------
強調
------------------------------------------------------------- */

.eBody strong,
.eNews strong {
  font-weight: bold;
  color: #fff;
}

.eBody span,
.eNews span {
  color: inherit;
  text-decoration: none;
}

/* ------------------------------------------------------------
引用
------------------------------------------------------------- */

.eBody blockquote,
.eNews blockquote {
  margin: 1.5rem 0;
  padding: 15px 20px;
  border: 1px solid #555;
  background-color: #111;
}

.eBody blockquote span,
.eNews blockquote span {
  color: inherit;
}

.eBody blockquote ul li,
.eBody blockquote ol li,
.eNews blockquote ul li,
.eNews blockquote ol li {
  margin-left: 0;
  margin-right: 0;
}

/* ------------------------------------------------------------
リンク
------------------------------------------------------------- */

.eBody a,
.eNews a {
  color: #fff;
}

.eBody a:hover,
.eNews a:hover {
  color: #b09c40;
  text-decoration: none;
}

/* 本文内リンク */
.disc-map a,
.eBody p a,
.eNews p a {
  color: #e4bb65;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

/* ------------------------------------------------------------
Media Detail
------------------------------------------------------------- */

.media-detail {
  margin-top: 40px;
}

/* ------------------------------------------------------------
Live / Discography custom pages
------------------------------------------------------------- */

dl.tour,
dl.disc,
dl.disc-map {
  display: grid;
  grid-template-columns: 80px 1fr;
  column-gap: 20px;
  line-height: 1.8;
  border-bottom: 1px solid #666;
  padding: 16px 0;
}
dl.disc {
  border-top: 1px solid #666;
}

dl.disc,
dl.disc-map {
  grid-template-columns: max-content 1fr;
}

dl.tour dt,
dl.disc dt,
dl.disc-map dt,
dl.disc-b dt {
  font-weight: 500;
  color: #e4daa0;
}

dl.tour dd,
dl.disc dd,
dl.disc-map dd {
  padding-bottom: 5px;
}
.disc-map dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

dl.disc-b {
  display: grid;
  grid-template-columns: 170px 1fr;
  column-gap: 10px;
  padding-top: 20px;
  line-height: 1.5;
}

dl.disc-b dt {
  margin-bottom: 5px;
  padding-bottom: 5px;
}

dl.disc-b dd {
  margin: 0 0 5px;
  padding-bottom: 5px;
}

.disc-detail img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #333;
}

#mainContent .disc-detail > h1 {
  margin-bottom: 30px;
}

.ttl {
  color: #e4daa0;
}

/* ------------------------------------------
Discography Navigation
------------------------------------------ */

.disc-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 40px;
  padding: 15px 0;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
}

.disc-nav a {
  display: block;
  padding: 7px 12px;
  color: #ccc;
  font-size: 0.9rem;
  line-height: 1.4;
  text-decoration: none;
  border: 1px solid #555;
  border-radius: 4px;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.disc-nav a:hover {
  color: #fff;
  background-color: #333;
  border-color: #888;
}

@media (max-width: 600px) {
  .disc-nav {
    gap: 6px;
    margin-bottom: 30px;
    padding: 12px 0;
  }

  .disc-nav a {
    padding: 6px 10px;
    font-size: 0.85rem;
  }
}

/* ------------------------------------------
Discography Listing
------------------------------------------ */

.gList {
  width: 100%;
  max-width: none;
  margin: 20px 0 40px;
}

.gList ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 28px 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gList li {
  width: 100%;
  max-width: 120px;
}

.gList li > a {
  display: block;
  width: 100%;
}

.gList li img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.gList h4 {
  width: 100%;
  margin: 8px 0 0;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.35;
  text-align: left;
}

.gList h3 {
  width: auto;
  margin: 12px 0 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: normal;
  line-height: 1.5;
  text-align: left;
}

.gList h3 a {
  color: inherit;
  text-decoration: none;
}

.gList h3 a:hover {
  text-decoration: underline;
}

.gList span {
  display: block;
  width: auto;
  margin: 8px 0 0;
  font-size: 0.85rem;
  line-height: 1.5;
}

@media (max-width: 600px) {
  .gList ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
    justify-items: center;
  }
}

/* --------------------------- */

.list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 175px);
  gap: 30px;
  margin: 15px 0 0 25px;
}

.listdata {
  line-height: 0.8;
}

.listdata h3 p {
  margin-top: 10px;
  line-height: 1.3;
  font-size: 0.75em;
}

.listdata p {
  margin: 0;
}

.listdata img {
  display: block;
  max-width: 175px;
  max-height: 116px;
  margin: 0 auto;
}

.listdata span {
  font-size: 0.75em;
}

.listdata span a {
  color: #960;
}

/* --------------------------- */

.box {
  margin: 5px 0;
  padding: 5px;
  font-size: 0.8em;
  background-color: #ccc;
  line-height: 2;
}

/* ------------------------------------------
PagiNavi
------------------------------------------ 

.navbar-brand img {
  width: 95px;
  height: auto;
}

.wp-pagenavi {
  margin-left: 20px;
  padding: 10px 0 25px;
}

.wp-pagenavi a,
.wp-pagenavi .pages,
.wp-pagenavi .current {
  margin-right: 4px;
  padding: 1px 10px;
  border: 1px solid #555;
  background: #fff;
  color: #111;
  text-decoration: none;
  text-align: center;
}

.wp-pagenavi a:hover,
.wp-pagenavi .current {
  color: #fff;
  background: #000;
}
  */

/* ------------------------------------------------------------
NEWS Pagination
------------------------------------------------------------- */

.news-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 40px 0 20px;
}

.news-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #555;
  color: #ccc;
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}

/* 現在ページ */
.news-pagination .page-numbers.current {
  border-color: #a00;
  background-color: #a00;
  color: #fff;
  font-weight: 600;
}

/* hover */
.news-pagination a.page-numbers:hover {
  border-color: #999;
  background-color: #333;
  color: #fff;
}

/* 前へ・次へ */
.news-pagination .prev,
.news-pagination .next {
  padding: 0 14px;
}

/* … */
.news-pagination .dots {
  min-width: auto;
  padding: 0 4px;
  border: 0;
  color: #777;
}

/* ------------------------------------------------------------
Pagination
------------------------------------------------------------- */

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 40px 0 20px;
}

.no-pagination {
  height: 60px;
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #555;
  color: #ccc;
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}

/* 現在ページ */
.pagination .page-numbers.current {
  border-color: #a00;
  background-color: #a00;
  color: #fff;
  font-weight: 600;
}

/* hover */
.pagination a.page-numbers:hover {
  border-color: #999;
  background-color: #333;
  color: #fff;
}

/* 前へ・次へ */
.pagination .prev,
.pagination .next {
  padding: 0 14px;
}

/* … */
.pagination .dots {
  min-width: auto;
  padding: 0 4px;
  border: 0;
  color: #777;
}

/* ------------------------------------------------------------
Responsive
------------------------------------------------------------- */

@media (max-width: 600px) {
  .news-pagination {
    gap: 4px;
    margin-top: 30px;
  }

  .news-pagination .page-numbers {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    font-size: 0.85rem;
  }

  .news-pagination .prev,
  .news-pagination .next {
    padding: 0 10px;
  }
}

/* ------------------------------------------
Legacy float utilities
------------------------------------------ */

.left {
  float: left;
}

.right {
  float: right;
}

/* ------------------------------------------
Back to top
------------------------------------------ */

.go-top {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
}

.go-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
}

.go-top a:hover {
  background: #a00;
  color: #fff;
}
/* ------------------------------------------
Style Name: header.css
------------------------------------------*/

#wpadminbar {
  min-height: 32px;
}

.collapse {
  display: none;
}

.collapse.in {
  display: block;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  transition: height 0.35s ease;
}

.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav a {
  font-size: 16px;
  font-weight: 500;
  line-height: 80px;
  text-transform: uppercase;
}

.nav:before,
.nav:after {
  display: table;
  content: " ";
}

.nav:after {
  clear: both;
}

.nav > li {
  position: relative;
  display: block;
}

.nav > li > a {
  position: relative;
  display: block;
  padding: 5px 15px;
}

.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}

.nav > li.disabled > a {
  color: #999999;
}

.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #999999;
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
}

.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.navbar {
  position: relative;
  min-height: 50px;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 20px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}

.navbar:before,
.navbar:after {
  display: table;
  content: " ";
}

.navbar:after {
  clear: both;
}

.navbar:before,
.navbar:after {
  display: table;
  content: " ";
}

.navbar:after {
  clear: both;
}

.navbar .container {
  max-width: 960px;
  margin: 0 auto;
}

.navbar-nav {
  margin-top: 10px;
  margin-bottom: 15px;
}

.navbar-nav > li > a {
  padding-top: 15px;
  padding-bottom: 15px;
  line-height: 35px;
  border-radius: 4px;
}

.navbar-fixed-top,
.navbar-fixed-home,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
  border-radius: 0;
}

.navbar-fixed-home,
.navbar-fixed-top {
  top: 0;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
}

.navbar-brand {
  display: block;
  padding: 5px 15px;
  margin-left: 0;
}

.navbar-brand img {
  display: block;
  width: 95px;
  height: auto;
}

.navbar-brand:hover,
.navbar-brand:focus {
  color: #5e5e5e;
  text-decoration: none;
  background-color: transparent;
}

.navbar-toggle {
  position: relative;
  float: right;
  width: 48px;
  height: 34px;
  padding: 6px 12px;
  margin-top: 12px;
  margin-bottom: 8px;
  background-color: transparent;
  border: 1px solid #2e2e2e;
  border-radius: 4px;
}

.navbar-toggle:hover,
.navbar-toggle:focus {
  background-color: #2e2e2e;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  background-color: #cccccc;
  border-radius: 1px;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}

.navbar-inverse {
  background-color: #1b1b1b; /* ----nav color-----*/
}

.navbar-inverse {
  color: #666;
}

.navbar-inverse .navbar-nav > li > a {
  color: #999;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: #99152d; /* -------nav hover color---------*/
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}

.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444444;
  background-color: transparent;
}

.navbar-inverse .navbar-toggle {
  border-color: #2e2e2e;
}

.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #99152d; /* -------nav hover color---------*/
}

@media screen and (min-width: 992px) {
  .navbar-brand {
    float: left;
    max-width: none;
  }
  .navbar-nav {
    float: right;
    margin-top: 0;
    margin-bottom: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    border-radius: 0;
  }
  .navbar-nav.pull-right {
    width: auto;
  }
  .navbar-toggle {
    position: relative;
    top: auto;
    left: auto;
    display: none;
  }
  .nav-collapse.collapse {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }
}

@media screen and (max-width: 991px) {
  /* -------nav hover color---------*/

  .navbar-inverse .navbar-nav > li > a:hover,
  .navbar-inverse .navbar-nav > li > a:focus {
    color: #fff;
    background-color: #99152d;
  }
  .navbar-nav > li > a {
    padding-top: 3px;
    padding-bottom: 3px;
    line-height: 35px;
  }
}

.navbar-inverse {
  color: #999999;
}

.navbar-inverse:hover {
  color: #ffffff;
}

#secondary {
  width: 270px;
  padding-top: 30px;
  float: right;
}

#secondary h2 {
  margin: 0 10px 5px;
  padding-left: 12px;
  font-size: 1rem;
  font-weight: normal;
  line-height: 2;
  color: #e4daa0;
}

#secondary ul {
  margin: 20px 0;
  padding: 0 10px;
}

#secondary li {
  margin: 7px 10px;
  font-size: 0.9rem;
}

#secondary li a {
  display: block;
  padding-left: 15px;
  line-height: 1.5;
  color: #ccc;
  border-bottom: 1px solid #666;
  text-decoration: none;
}

#secondary li.sub a {
  margin-left: 20px;
}

#secondary li a:hover {
  color: #c6e4e5;
  background: #6d7c7c;
}

#secondary li.sub a:hover {
  color: #e5d4cf;
  background: #8c7167;
}

#secondary .textwidget {
  margin: 0 10px 10px;
  padding: 10px 10px 0;
  border: 1px solid #b1b1b1;
  background: #f3ede9;
  font-size: 0.9rem;
}

#secondary select {
  margin: 10px 0 20px 20px;
}

/* ----------------------------------------------------------------
footer
----------------------------------------------------------------*/

.mtu15 {
  margin-top: -15px;
}

#LayerFoot {
  border-top: 1px solid #666;
  background-color: #202020;
  color: #666;
  clear: both;
  font-size: 0.75rem;
}

#LayerFoot a {
  color: #666;
}

#LayerFoot a:hover {
  color: #ccc;
}

/* ------------------------------------------
.inner
------------------------------------------*/
.footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  max-width: 970px;
  min-height: 120px;
  margin: 0 auto;
}

.fnav {
  min-width: 0;
}

@media (max-width: 768px) {
  .footer {
    grid-template-columns: 1fr;
  }

  .fnav {
    width: auto;
    margin-left: 10px;
  }
}

#LayerFoot ul {
  margin: 25px 0 25px 10px;
}

#LayerFoot ul li {
  margin: 0 0 10px 10px;
  padding-right: 10px;
  font-size: 1.1em;
  border-bottom: 1px dotted #555;
}

#LayerFoot ul li.sub {
  margin-left: 40px;
}

/* ------------------------------------------
#copyright
------------------------------------------*/
#copyright {
  padding: 22px 0 19px;
  background-color: #f2f2f2;
  font-size: 0.75rem;
}

.copyright-inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

#copyright p {
  margin: 0 0 10px;
  color: #666;
  line-height: 2;
}

#copyright a {
  color: #333;
}

/* ------------------------------------------
custom field map
------------------------------------------*/
.acf-map {
  width: 100%;
  height: 400px;
  margin: 20px 0;
  border: 1px solid #ccc;
}

/* ------------------------------------------
FB
------------------------------------------*/
.fb-like-box,
.fb-like-box span,
.fb-like-box iframe {
  width: 100% !important;
}
/** 影を隠す **/
.face_book_plgin_shadow_hidden2 {
  background: none repeat scroll 0 0 #1b1b1b; /** 背景色に合わせる 合わない場合はheight: 0でもおk **/
  height: 1px;
}
/** FBページを出さないようにしてデザイン **/
.face_book_plgin_proposal_2 {
  border-color: #333;
  border-radius: 5px 5px 5px 5px;
  border-style: solid;
  border-width: 1px;
  float: left;
  margin: 0 0 41.6px;
  overflow: hidden !important;
  position: relative;
  width: 100% !important;
  word-wrap: break-word;
  word-break: break-all;
}
/** バックの画像設定 **/
.face_book_plgin_logo_proposal_2 {
  height: auto;
  opacity: 1;
  position: absolute;
  right: 0;
  top: 30px;
  width: 350px;
  z-index: -1;
}
/** borderを隠す(トップ) **/
.face_book_plgin_border_top {
  background: none repeat scroll 0 0 #1b1b1b; /** 合わせる **/
  height: 12px;
  left: 0;
  position: absolute;
  top: 0;
  width: 1032px;
}
/** borderを隠す(ライト) **/
.face_book_plgin_border_right {
  background: none repeat scroll 0 0 #1b1b1b; /** 合わせる **/
  bottom: 0;
  height: 300px;
  position: absolute;
  right: 0;
  width: 6px;
}
/** borderを隠す(ボトム) **/
.face_book_plgin_border_bottom {
  background: none repeat scroll 0 0 #1b1b1b; /** 合わせる **/
  bottom: 0;
  height: 6px;
  left: 0;
  position: absolute;
  width: 1032px;
}
/** borderを隠す(レフト) **/
.face_book_plgin_border_left {
  background: none repeat scroll 0 0 #1b1b1b; /** 合わせる **/
  bottom: 0;
  height: 300px;
  left: 0;
  position: absolute;
  width: 6px;
}

/* ------------------------------------------
Link List
------------------------------------------ */

.linkList {
  width: 100%;
  max-width: 900px;
  margin: 30px auto 50px;
}

.linkList ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.linkList li {
  margin: 0 0 30px;
}

.link-title {
  margin: 0 0 14px;
  padding: 0;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.5;
}

.link-title a {
  color: #fff;
  text-decoration: none;
}

.link-title a:hover {
  color: #ccc;
  text-decoration: underline;
}

.link-content {
  margin: 0;
  padding: 0;
}

.link-content > a {
  display: inline-block;
  max-width: 100%;
}

.link-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
  border: 0;
}

.link-content a:hover img {
  opacity: 0.8;
}

/* 補足テキスト等が入る場合 */
.linkList span {
  display: block;
  margin-top: 10px;
  color: #ccc;
  font-size: 0.9rem;
  line-height: 1.5;
}
@media (max-width: 600px) {
  .linkList {
    margin: 20px 0 40px;
  }

  .linkList li {
    margin-bottom: 28px;
    padding-bottom: 0px;
  }

  .link-title {
    font-size: 0.95rem;
  }
}

/* ------------------------------------------------------------------------------------
error-404
------------------------------------------------------------------------------------ */

/* ------------------------------------------------------------
404
------------------------------------------------------------- */

.error404 #mainContent {
  min-height: 60vh;
}

.error-404 {
  padding: 30px 20px 60px;
  text-align: center;
}

.error-404 .error404-title {
  margin: 0;
  font-size: clamp(80px, 12vw, 120px);
  font-weight: 700;
  line-height: 1;
  color: #eee;
}

.error-404 .error404-sub {
  margin: 30px 0 45px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  color: #e00000;
}

.error-404 .error404-text {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.9;
}

.error-404 .error-home {
  margin: 45px 0 0;
  text-align: center;
}

.error-404 .error-home a {
  display: inline-block;
  min-width: 240px;
  padding: 12px 30px;
  border: 0;
  border-radius: 30px;
  background: #bd0c0c;
  color: #fff;
  text-decoration: none;
  transition: 0.2s;
}

.error-404 .error-home a:hover {
  background: #e00000;
}

@media screen and (max-width: 640px) {
  .error404 #mainContent {
    min-height: 50vh;
  }

  .error-404 {
    padding: 20px 10px 50px;
  }

  .error-404 .error404-title {
    font-size: 80px;
  }

  .error-404 .error404-sub {
    margin: 20px 0 35px;
    font-size: 1.5rem;
  }

  .error-404 .error404-text {
    text-align: left;
  }

  .error-404 .error-home {
    margin-top: 35px;
  }

  .error-404 .error-home a {
    min-width: 220px;
  }
}
/* ==================================================
   Responsive
================================================== */

/* ------------------------------------------------------------------------------------
smaller than 991px
------------------------------------------------------------------------------------ */
@media screen and (max-width: 991px) {
  #content-wrap {
    overflow: hidden;
  }

  #wrapper {
    width: 100%;
  }

  #main,
  #topmain {
    width: 100%;
    margin: 0;
    padding: 2px 0 0;
    float: none;
  }

  #mainContent {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .navbar {
    padding: 0;
  }

  .navbar-fixed-home {
    position: absolute;
  }

  .navbar-brand img {
    width: 85px;
    height: auto;
  }

  #info {
    display: none;
  }

  #bread-crumb {
    width: 100%;
    height: auto;
  }

  #topwrapper {
    max-width: 100%;
    height: auto !important;
  }

  #gallery {
    width: 100%;
  }

  #gallery img {
    width: 100%;
    height: auto;
  }

  .list {
    margin: 15px 4%;
  }

  .listdata {
    margin-right: 15px;
  }

  .listdata h3 p {
    font-size: 100% !important;
  }

  h2 span,
  h3 span {
    display: none;
  }

  .eNews h3,
  .eNews h4,
  .eNews h5,
  .eNews h6 {
    margin: 0 0.5em 1em;
  }

  ol li {
    font-size: 100%;
  }

  textarea {
    width: 80%;
  }

  .box {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* footer */
  .footer {
    width: 100%;
    padding-top: 15px;
    min-height: auto;
  }

  .footer p {
    margin-right: 10px;
    margin-bottom: 10px;
  }

  #LayerFoot {
    font-size: 85%;
  }

  #LayerFoot ul {
    margin: 0 0 0 10px;
  }

  #copyright {
    width: 100%;
  }

  .ttl {
    margin: 0 20px;
    padding: 2px;
  }

  body.mainPage #wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
}

/* ------------------------------------------------------------------------------------
smaller than 640px
------------------------------------------------------------------------------------ */
@media screen and (max-width: 640px) {
  h1,
  h2 {
    font-size: 1.4rem;
  }
  #mainContent h1 {
    font-size: 1.2rem;
  }

  .information-title,
  .live-title,
  .news-title,
  .diary-title {
    font-size: 1rem;
    line-height: 1.5;
  }

  .information-item,
  .live-item,
  .news-item,
  .diary-item {
    margin-bottom: 5px;
    padding: 8px 0;
  }

  .navbar-brand img {
    width: 75px;
    height: auto;
  }

  /* Discography posts */
  ul.discposts li.hd {
    width: 100%;
    margin: 0;
    padding: 0.3em 0 0.1em;
  }

  ul.discposts li.day {
    width: 100%;
    margin: 0;
    padding: 0.3em 0 0.1em 20px;
    border: none;
  }

  ul.discposts li.content {
    width: 90%;
    margin: 0;
    padding: 0.3em 5px 0.1em 20px;
    border: none;
  }

  /* Top / Live / News list */
  dl.toppost,
  dl.livepost,
  dl.newspost {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  dl.toppost dt,
  dl.livepost dt,
  dl.newspost dt {
    margin: 0 0 0.25rem;
  }

  dl.toppost dd,
  dl.livepost dd,
  dl.newspost dd {
    margin: 0 0 1.5rem;
    padding: 0;
  }

  /* Discography detail */
  dl.disc-b {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  dl.disc-b dt {
    margin: 0 0 4px;
    padding: 0;
  }

  dl.disc-b dd {
    margin: 0 0 22px;
    padding: 0;
    overflow-wrap: anywhere;
  }
}

/* ------------------------------------------------------------------------------------
smaller than 480px
------------------------------------------------------------------------------------ */
@media screen and (max-width: 480px) {
  .topbox {
    width: 100%;
  }

  .eBody,
  .eNews {
    padding: 0;
  }

  .subPage .livepost,
  .subPage .diarypost {
    padding: 20px 0 0;
  }

  .toppost .cat,
  .livepost .cat,
  .newspost .cat {
    margin: 0;
    font-size: 0.8em;
  }

  .live-list__date {
    margin-bottom: 0;
  }

  /* List */
  #list {
    position: relative;
    overflow: hidden;
  }

  #list ul {
    position: relative;
    left: 50%;
    float: left;
    margin: 15px auto;
  }

  #list li {
    position: relative;
    left: -50%;
    float: left;
    width: 100%;
  }

  .list {
    margin: 15px 25%;
  }

  .listdata {
    width: 100%;
    height: 180px !important;
  }

  .listdata img {
    margin: 0 auto !important;
  }

  /* Tour / Discography */
  dl.tour,
  dl.disc,
  dl.disc-map,
  dl.disc-b {
    margin: 0;
  }

  dl.tour,
  dl.disc {
    grid-template-columns: 1fr;
    row-gap: 0.2rem;
  }

  dl.tour dt,
  dl.disc dt {
    margin-top: 0.8rem;
  }

  dl.tour dd,
  dl.disc dd {
    margin: 0 0 0.5rem;
  }

  dl.disc-map {
    grid-template-columns: 1fr;
  }
}

.error-404 {
  max-width: 760px;
  margin: 40px auto 0;
}
.error404-title {
  font-size: clamp(80px, 12vw, 120px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.error404-sub {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 640px) {
  .error404-title {
    font-size: 80px;
  }
}
