.twitter-tweet p {
  all: unset;
}

.twitter-tweet a {
  all: unset;
}

.menu-content {
  display: none;
}

.menu-content.active {
  display: block;
}

.side-area {
  background-color: rgba(223, 223, 223, 0.315);
  margin: 0px 8px 0px 0px;
  padding: 10px 10px 10px 10px;
  width: 210px;
  border: 1px solid #9b9a9a;
}

.side-area-diary {
  border: 1px solid #a7a7a7;
}

.main-area {
  background-color: rgba(223, 223, 223, 0.315);
  width: 700px;
  padding: 10px;
  border: 1px solid #9b9a9a;
}

html {
  overflow-y: scroll;
}

h1 {
  color: rgba(255, 255, 255, 0.849);
  font-weight: 500;
  text-align: center;
  font-size: 33px;
  letter-spacing: 12px;
  margin: 0;
  padding: 50px;
}

h2 {
  color: rgb(88, 100, 99);
  font-weight: 500;
  text-align: center;
  font-size: 16px;
  margin: 0px;

  letter-spacing: 4px;
}

h3 {
  color: rgb(88, 100, 99);
  font-weight: 500;
  text-align: center;
  font-size: 15px;
  margin: 0px;

  letter-spacing: 4px;
}

p {
  color: rgb(88, 100, 99);
  font-weight: 500;
  text-align: center;
  font-size: 14px;
  margin: 0px;
  line-height: 1.5;
  letter-spacing: 4px;
  font-family: "Courier New", monospace;
}

a {
  font-size: 14px;
  font-family: "Courier New", monospace;
}

a.no-underline {
  text-decoration: none;
}

body {
  background-image: url("../img/snowfield1-1_HD.png");
  background-attachment: fixed;
  background-size: cover;
}

footer {
  background-color: rgba(255, 255, 255, 0.514);
  width: 958px;
  display: block;
  margin: auto;
  border: 1px solid #a7a7a7;
}

footer p {
  letter-spacing: 0px;
  text-align: right;
  padding: 5px;
}

.main {}

.pagetop {
  background-color: rgba(255, 255, 255, 0.25);
  width: 958px;
  display: block;
  margin: auto;
  border: 1px solid #9b9a9a;
  font-family: "Courier New", monospace;
}

.content-main {
  width: 960px;
  min-height: 700px;
  display: flex;
  margin: 8px auto 8px auto;
}

.content {
  background-color: rgba(223, 223, 223, 0.582);
  margin: 0px auto;
  padding: 10px;
  border: 1px solid #a7a7a7;
}

.contents {
  background-color: rgba(223, 223, 223, 0.315);
  padding: 10px 0px 10px 0px;
  border: 1px solid #a7a7a7;
}

.contents-news {
  background-color: rgba(223, 223, 223, 0.315);
  display: block;
  margin: 0px auto;
  padding: 10px 0px 10px 0px;
  border: 1px solid #a7a7a7;
}

.news-topic {
  padding: 10px 10px 10px 10px;
}

.news-date {
  text-align: left;
  font-size: 13px;
}

.news-title {
  text-align: left;
  font-size: 13px;
}

.news-link {
  padding: 5px 0px 0px 0px;
  display: flex;
  align-items: center;
  font-size: 12px;
}

.content-calendar {
  /* background-color: rgba(223, 223, 223, 0.315); */
  /* margin: 0px 10px 15px 0px;
  padding: 10px 10px 20px 10px; */
  width: 200px;
  height: auto;
  display: block;
}

.calendar-month {
  font-family: "Courier New", monospace;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 5px;
  color: rgb(88, 100, 99);
}

.calendar-month button {
  border: none;
  background: none;
  font-size: 18px;
  padding: 0px 10px;
  color: rgb(88, 100, 99);
  transition: transform 0.3s ease;
}

#monthText {
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 0.1px;
  transition: transform 0.3s ease;
}

#monthText:hover {
  transform: translateY(-2px);
}

#monthPrev:hover {
  transform: translateX(-4px);
}

#monthNext:hover {
  transform: translateX(4px);
}

.calendar-date {
  background-color: rgba(223, 223, 223, 0.315);
  margin: 5px;
}

/* カレンダー全体のスタイル */
#calendarDate {
  margin: 0 auto;
  padding: 10px 5px 5px 5px;
  border: 1px solid #ccc;
  font-family: "Courier New", monospace;
  background-color: rgba(223, 223, 223, 0.315);
  color: rgb(88, 100, 99);
}

/* ヘッダーの曜日のスタイル */
#calendarDate .header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  font-size: 12px;
  margin-bottom: 10px;
}

/* 日付のマスのスタイル */
#calendarDate .days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  font-size: 13px;
  text-align: center;
}

/* 各日付のマス */
#calendarDate .day {
  width: 24px;
  height: 24px;
  line-height: 25px;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  border-radius: 10%;
}

.day:hover {
  background-color: #9272b28c;
  color: rgb(255, 255, 255);
}

.selected {
  background-color: #8e71aa;
  color: white;

  text-align: center;
  transition: background-color 0.3s, transform 0.3s;
}

.selected:hover {
  background-color: #8e71aa;
  color: white;
}

.prev-month {
  color: rgb(144, 144, 144);
}

.prev-month:hover {
  background-color: #f0f0f0;
  color: rgb(144, 144, 144);
}

.next-month {
  color: rgb(144, 144, 144);
}

.next-month:hover {
  background-color: #f0f0f0;
  color: rgb(144, 144, 144);
}

.content_diary {
  margin: 0px auto;
}

.has-diary {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 0.1px;
}

.diary_entry {
  background-color: rgba(223, 223, 223, 0.315);
  display: block;
  margin: 0px auto 5px auto;
  padding: 20px 0px 20px 0px;
  border: 1px solid #a7a7a7;
  width: 674px;
}

.article_text {
  padding: 10px 15px 0px 15px;
}

.article_text p {
  text-align: left;
  font-size: 14px;
}

.tweet-wrap {
  display: flex;
  justify-content: center;
}

.article_text_caption p {
  text-align: center;
  font-size: 12px;
}

.article_image img {
  display: block;
  margin: auto;
  width: 350px;
}

.genre p {
  font-size: 17px;
  text-align: left;

  font-family: "Courier New", monospace;
}

.content_menu {
  background-color: rgba(223, 223, 223, 0.582);
  width: 210px;
  box-sizing: content-box;
  height: 650px;
  margin: 0px auto 0px auto;
  display: flex;
  justify-content: center;
  border: 1px solid #a7a7a7;
}

.menubar {
  margin: 5px auto 5px auto;
}

.menubar a.link {
  display: block;

  text-decoration: none;
  color: rgb(88, 100, 99);
  font-size: 16px;
  letter-spacing: 4px;

  font-family: "Courier New", monospace;
  text-align: center;
  padding: 5px 10px;
  margin: 5px auto 5px auto;
  background-color: #e0e0e0e0;
  box-shadow: inset -2px -2px #7f7f7f, inset 2px 2px #ffffff;
  cursor: pointer;

  width: 145px;
  transition: all 0.2s ease;
}

.menubar a.link:hover {
  color: rgb(118, 95, 199);

  background-color: #d3cfcfe0;
  box-shadow: inset -2px -2px #e4e4e4, inset 2px 2px #7f7f7f;
}

.content-profile {
  margin: 15px auto auto auto;
  text-align: center;
  font-size: 17px;
}

.profile_img {
  display: block;
  margin: 5px auto 3px auto;
  width: 70px;
  height: 70px;
}

.news {}

.news h2 {
  text-decoration: none;
  color: rgb(88, 100, 99);
}

.news h2 a:hover {
  color: rgb(98, 70, 201);
}

.passwordarea {
  text-align: center;
}

.youtube {
  text-align: center;
}

.release-type {
  margin: 0px 0px 25px 0px;
}

.disc-type {
  text-align: left;
  margin: 7px 17px 3px 17px;
  color: rgb(88, 100, 99);
  font-size: 15px;
}

.disc-shelf {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0px 17px;
  justify-content: flex-start;
}

.disc-shelf p {
  margin: 3px 0px 0px 0px;
}

.disc {
  width: 206px;
}

.discographyjacket {
  display: block;
  width: 206px;
  transition: filter 0.3s ease;
}

.discographyjacket:hover {
  display: block;
  width: 206px;
  filter: brightness(70%);
}

.release-date {
  text-align: left;
  font-size: 11px;
}

.release-title {
  font-size: 12px;
}

.discography a {
  text-decoration: none;
}

.disc-contents {
  padding: 10px 0px 0px 0px;
}

.disc-date {
  text-align: left;
  font-size: 13px;
}

.disc-title {
  text-align: left;
  font-size: 15px;
}

.speclist {
  text-align: center;
}

.speclist-inner {
  display: inline-block;
  text-align: left;
}

.speclist-inner p {
  display: block;
  width: fit-content;
  text-align: left;
}


.tracklist {
  text-align: center;
}

.tracklist-inner {
  display: inline-block;
  text-align: left;
}

.tracklist-inner p {
  display: block;
  width: fit-content;
  text-align: left;
}

.discdetailjacket-wrap {
  display: flex;
  justify-content: center;
}

.discdetailjacket {
  width: 206px;
}

.downloadbutton {
  font-size: 12px;
  width: 160px;
  text-align: center;
  align-items: center; 
  display: block;
  margin: 6px auto 6px auto;
  background-color: rgb(236, 236, 238);
  color: rgb(88, 100, 99);
  border: none;
  padding: 5px;
  border-radius: 5px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.downloadbutton:hover {
  background-color: rgb(207, 207, 207);
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.15);
}

.bandcamp_box {
  text-align: center;
}

.bandcamp_box iframe {
  margin: 0 auto;
}

.eventmenu {
  display: block;
  margin: auto;
  width: 50%;
  height: 50%;
}

summary {
  cursor: pointer;

  color: rgb(88, 100, 99);
  font-weight: 500;
  text-align: center;
  font-size: 15px;
  margin: 0px;

  letter-spacing: 4px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.lyrics {
  padding: 10px;


  border-radius: 5px;
  justify-content: center;
  display: flex;
}

.lyrics p {
  text-align: left;
  background-color: rgba(223, 223, 223, 0.171);
  border: 1px solid rgb(88, 100, 99);
  padding: 8px 60px;
}

.banner img {
  display: block;
  margin: 7px auto 10px auto;
}

.campaign-contents {
  padding: 10px 0px 10px 0px;
}

.campaign-date {
  text-align: left;
  font-size: 13px;
}

.campaign-title {
  text-align: left;
  padding: 0px 0px 10px 0px;
  font-size: 13px;
}

.campaignjacket {
  padding: 10px 0px;
  display: block;
  width: 206px;
  margin: auto;
}

.content_link {
  background-color: rgba(223, 223, 223, 0.582);
  width: 700px;
  display: block;
  margin: 0px auto 15px auto;
}

.sociallinks {
  justify-content: center;
  display: flex;
  gap: 15px;
}

.sociallinks a {
  text-decoration: none;
  color: rgb(88, 100, 99);
  font-size: 18px;
  transition: all 0.2s ease;
}

.sociallinks a:hover {
  color: rgb(118, 95, 199);
}

#back_to_top {
  position: fixed;
  bottom: 20px;
  right: 21%;
  display: block;
  padding: 10px 15px;
  font-family: "Courier New", monospace;
  font-size: 20px;
  color: rgb(88, 100, 99);
  background-color: #e0e0e0e0;
  border: none;
  box-shadow: inset -2px -2px #7f7f7f, inset 2px 2px #ffffff;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

#back_to_top:hover {
  background-color: #d3cfcfe0;
  box-shadow: inset -2px -2px #ffffff, inset 2px 2px #7f7f7f;
  color: #333;
}

/* スマートフォン向けのスタイル */
@media (max-width: 768px) {
  #back_to_top {
    flex-shrink: 0;
    bottom: 10px;
    right: 10px;
    padding: 8px 12px;
    font-size: 16px;
  }
}