@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
* {
  box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "MS PGothic", sans-serif;
  color: #222222;
  background-color: #fcf5df;
  font-size: 16px; }
  @media screen and (max-width: 1280px) {
    body {
      font-size: calc(16 / 1280 * 100vw); } }
  @media screen and (max-width: 750px) {
    body {
      font-size: calc(24 / 750 * 100vw); } }

a {
  color: #b5541c;
  text-decoration: none; }
  a:hover {
    color: #da761d; }

.wrap {
  max-width: 73.75em;
  margin: 0 auto;
  padding: 2.25em 1.5em 3em; }

.page-header {
  margin-bottom: 1.5em;
  padding-bottom: 1em;
  border-bottom: 1px solid #f9ecc3; }
  .page-header h1 {
    margin: 0 0 0.5em;
    font-size: 2em;
    color: #222222;
    letter-spacing: 0.04em; }
  .page-header p {
    margin: 0;
    color: #6b5b00;
    line-height: 1.6; }

.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25em; }
  @media (max-width: 750px) {
    .grid {
      grid-template-columns: repeat(2, 1fr); } }

.card {
  min-width: 0;
  transition: opacity 0.2s ease; }
  .card:hover {
    opacity: 0.7; }
  .card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    margin-bottom: 0.625em;
    background: #f9ecc3; }
  .card .artist {
    display: block;
    font-weight: 700;
    margin-bottom: 0.25em;
    color: #222222; }
  .card .title {
    display: block;
    margin-bottom: 0.5em;
    color: #b5541c;
    font-weight: 700; }
  .card .card-mp3 {
    display: block;
    margin-top: 0.75em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #974900;
    font-size: 0.85em; }

.muted {
  color: #6b5b00;
  font-size: 0.92em;
  line-height: 1.5; }

.tile-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875em;
  margin-bottom: 2em; }

.tile {
  border-radius: 0.5em;
  display: block;
  padding: .25em 1em;
  text-align: center;
  background: #ffffff;
  color: #ff6600;
  font-weight: 700;
  white-space: nowrap;
  transition: opacity 0.15s ease; }
  .tile:hover {
    color: #ff6600;
    opacity: 0.7; }

.site-footer {
  background: #ffffff;
  border-top: 1px solid #f9ecc3;
  margin-top: 3em;
  padding: 2.25em 0; }

.footer-grid {
  max-width: 73.75em;
  margin: 0 auto;
  padding: 0 1.5em;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12.5em, 1fr));
  gap: 2em; }

.footer-col h3 {
  margin: 0 0 0.75em;
  font-size: 0.85em;
  letter-spacing: 0.08em;
  color: #ff6600; }
.footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .25em .5em;
  grid-template-columns: repeat(auto-fill, minmax(6em, 1fr));
  gap: 0.375em 0.75em; }
.footer-col a {
  color: #222222;
  font-size: 0.88em; }
  .footer-col a:hover {
    color: #da761d; }

.footer-copy {
  max-width: 73.75em;
  margin: 1.5em auto 0;
  padding: 1.25em 1.5em 0;
  border-top: 1px solid #f9ecc3;
  text-align: center;
  color: #6b5b00;
  font-size: 0.85em; }

.btn {
  display: inline-block;
  padding: 0.5em 0.625em;
  border: none;
  border-radius: 0.5em;
  background: #ff6600;
  color: #ffffff;
  cursor: pointer;
  font: inherit; }
  .btn:hover {
    color: #ffffff; }

.btn-outline {
  display: inline-block;
  padding: 0.5em 0.625em;
  border: 1px solid #b5541c;
  border-radius: 0.5em;
  background: #ffffff;
  color: #b5541c; }

.card-action {
  margin-top: 0.625em; }

.sold-out {
  display: none; }

.warning-text {
  color: #c0392b; }

.tag-pill {
  margin-right: 0.5em;
  color: #974900; }

.mp3-link {
  display: block;
  color: #974900; }

.section-gap {
  margin-top: 1em; }

.pagination {
  margin-top: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap; }
  .pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25em;
    height: 2.25em;
    padding: 0 0.75em;
    border-radius: 0.5em;
    background: #ffffff;
    border: 1px solid #f9ecc3;
    color: #222222;
    font-weight: 600;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
    .pagination a:hover {
      border-color: #ff6600;
      color: #ff6600; }
  .pagination .is-current {
    background: #ff6600;
    border-color: #ff6600;
    color: #ffffff; }
    .pagination .is-current:hover {
      color: #ffffff; }

.site-nav {
  background: #ffffff;
  border-bottom: 1px solid #f9ecc3; }
  .site-nav .wrap {
    padding: 0.75em 1.5em;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em;
    align-items: center;
    justify-content: space-between; }
  .site-nav .brand {
    font-weight: 700;
    color: #222222; }
  .site-nav .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875em;
    align-items: center; }
    .site-nav .nav-links a {
      color: #222222; }
    .site-nav .nav-links .cart-link {
      display: none; }

.search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625em;
  align-items: center;
  margin-bottom: 1.25em; }
  .search-form input[type="text"],
  .search-form select {
    padding: 0.625em;
    border: 1px solid #f9ecc3;
    border-radius: 0.5em;
    font: inherit; }
  .search-form input[type="text"] {
    min-width: 16.25em; }

.item-detail {
  display: grid;
  grid-template-columns: 1fr 18em;
  gap: 2em;
  align-items: start; }
  @media (max-width: 700px) {
    .item-detail {
      grid-template-columns: 1fr; } }

.item-detail-main .main-image {
  max-width: 22.5em;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; }
.item-detail-main .itemthumb-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em;
  margin-top: 0.75em; }
  .item-detail-main .itemthumb-list img {
    width: 3.75em;
    height: 3.75em;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    cursor: pointer; }
.item-detail-main .muted {
  margin-top: 2em; }
.item-detail-main p {
  line-height: 1.75; }

.cart-form {
  margin-top: 0.75em;
  display: flex;
  gap: 0.625em;
  flex-wrap: wrap;
  align-items: center; }
  .cart-form select {
    font: inherit; }

.cart-line {
  padding: 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  flex-wrap: wrap; }
  .cart-line h2 {
    margin: 0 0 0.375em;
    font-size: 1.125em; }

.cart-total {
  margin-top: 1em;
  font-size: 1.125em;
  font-weight: 700;
  text-align: right; }

.olayer-w {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 100%;
  opacity: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: auto; }

.olayer-close {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 100%;
  left: 0;
  z-index: 2; }

.olayer {
  position: relative;
  max-width: 60em;
  margin: 2em auto;
  min-height: 6.25em;
  padding: 2em;
  background-color: #ffffff;
  z-index: 3; }
  @media (max-width: 700px) {
    .olayer {
      margin: 0;
      padding: 1.25em;
      min-height: 100%; } }
  .olayer .item-detail {
    grid-template-columns: 1fr; }

.sidebar-latest-cwp {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #f9ecc3; }
  .sidebar-latest-cwp h3 {
    margin: 0 0 0.75em;
    font-size: 1em;
    color: #6b5b00; }

.latest-cwp-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75em; }
  .latest-cwp-list a {
    display: flex;
    align-items: center;
    gap: 0.625em;
    color: #222222; }
    .latest-cwp-list a:hover {
      color: #da761d; }
  .latest-cwp-list img {
    width: 3.75em;
    height: 3.75em;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    background: #f9ecc3; }
  .latest-cwp-list span {
    font-size: 0.875em;
    line-height: 1.4; }

.page-ad {
  margin: 3em auto 0; }

.sidebar-ad {
  margin: 1.5em auto 0; }
  .sidebar-ad:first-child {
    margin-top: 0; }

.sidebar-latest-cwp {
  margin-top: 1.5em; }

/*# sourceMappingURL=styles.css.map */
