@charset "UTF-8";
:root {
  --paddingInline: 30px;
  --headerHeight: 80px;
  --keyColor: #d00010;
}
@media (max-width: 767px) {
  :root {
    --paddingInline: 30px;
    --headerHeight: 50px;
  }
}

html {
  height: -webkit-fill-available;
}

body {
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  min-width: auto;
  -webkit-font-smoothing: antialiased;
  color: #000000;
  font-family: "Noto Sans JP", serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.025em;
}

span:not([class]) {
  display: inline-block;
}

img {
  vertical-align: middle;
}

a {
  display: inline-block;
  transition: opacity 0.5s;
}
a:hover {
  opacity: 0.7;
}

.c-inner {
  max-width: 1200px;
  padding-inline: var(--paddingInline);
  box-sizing: content-box;
  margin-inline: auto;
}

.c-heading {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.025em;
  margin-bottom: 50px;
  position: relative;
  padding-left: 20px;
}
.c-heading:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 26px;
  background-color: var(--keyColor);
  left: 0;
  top: 7px;
}

@media (max-width: 767px) {
  .c-heading {
    font-size: 17px;
    margin-bottom: 25px;
    padding-left: 13px;
  }
  .c-heading:before {
    width: 2.5px;
    height: 18px;
    top: 6px;
  }
}
*[class^=c-icon-] {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
}

.c-icon-account {
  width: 14px;
  height: 22px;
}

.c-icon-cart {
  width: 22px;
  height: 22px;
}

.c-icon-search {
  width: 18px;
  height: 18px;
}

.c-icon-fukidashi {
  width: 31px;
  height: 27px;
}

.c-icon-letter {
  width: 31px;
  height: 20px;
}

.c-icon-instagram {
  width: 23px;
  height: 23px;
}

.c-icon-facebook {
  width: 23px;
  height: 22px;
}

.c-icon-x {
  width: 21px;
  height: 21px;
}

.c-icon-line {
  width: 24px;
  height: 23px;
}

.c-icon-tiktok {
  width: 21px;
  height: 21px;
}

.c-icon-heart {
  width: 17.5px;
  height: 14.5px;
}

.c-icon-guide {
  width: 22px;
  height: 17.5px;
}

.c-carret-right {
  width: 17.5px;
  height: 26.5px;
  stroke-width: 1px;
  stroke: #000000;
  stroke: currentColor;
  vertical-align: middle;
  display: inline-block;
}

.c-carret-left {
  width: 16.5px;
  height: 25.5px;
  stroke-width: 1px;
  stroke: #000000;
  vertical-align: middle;
  display: inline-block;
}

@media (max-width: 767px) {
  .c-icon-cart {
    width: 25px;
    height: 25px;
  }
}
.c-moreButton {
  font-weight: 700;
}
.c-moreButton .c-carret-right {
  width: 7.38px;
  height: 12.16px;
  stroke-width: 2px;
  margin-left: 16px;
}
@media (max-width: 767px) {
  .c-moreButton {
    text-align: right;
  }
}

.c-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .c-tabs {
    margin-bottom: 30px;
    gap: 12px;
  }
}

.c-tab {
  color: #8c8c8c;
  display: inline-block;
  padding-block: 7px;
  border-radius: calc((1.6em + 14px) / 2);
  background-color: #d9d9d9;
  min-width: 140px;
  text-align: center;
  padding-inline: 30px;
  cursor: pointer;
  transition: opacity 0.5s;
}
.c-tab._current {
  background-color: var(--keyColor);
  color: #ffffff;
}
.c-tab:hover {
  opacity: 0.7;
}

.c-tabContent {
  display: none;
}
.c-tabContent._current {
  display: block;
}

@media (max-width: 767px) {
  .c-tabs {
    font-size: 13px;
  }
}
.c-search {
  max-width: 900px;
  margin-inline: auto;
}
.c-search input {
  font-family: inherit;
}

.c-search-box {
  display: flex;
  background-color: #efefef;
  height: 70px;
  border-radius: 35px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .c-search-box {
    height: 60px;
  }
}

.c-search-suggest {
  font-size: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 20px;
}
.c-search-suggest span, .c-search-suggest a {
  background-color: #737373;
  color: #ffffff;
  display: inline-block;
  padding-block: 7px;
  padding-inline: 29px;
  border-radius: calc((1.6em + 14px) / 2);
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-search-suggest {
    font-size: 10px;
    gap: 9px;
  }
  .c-search-suggest span, .c-search-suggest a {
    padding-inline: 18px;
  }
}

.c-search-input {
  background-color: transparent;
  height: auto;
  padding: 16px;
  font-size: 16px;
}
@media (max-width: 767px) {
  .c-search-input {
    padding-block: 5px;
  }
}

.c-search-button {
  flex-basis: 60px;
  text-align: center;
  display: flex;
  align-items: center;
}

.c-breadcrumbs {
  font-size: 16px;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 30px;
  box-sizing: content-box;
}
@media (max-width: 767px) {
  .c-breadcrumbs {
    padding-inline: 20px;
    font-size: 12px;
  }
}

.c-breadcrumb-list li {
  margin-bottom: 0;
  display: inline-block;
}
.c-breadcrumb-list li:not(:last-child):after {
  content: "＞";
}

[data-accordion-body] {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s;
}

.c-page-heading {
  text-align: center;
  margin: 0;
  margin-bottom: 50px;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.c-page-heading:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .c-page-heading {
    margin-bottom: 40px;
    font-size: 18px;
    padding-bottom: 7px;
  }
  .c-page-heading:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

/* =================================
ヘッダー
================================= */
.header {
  border-bottom: 0;
  height: var(--headerHeight);
  box-shadow: 0 5px 10px 0 rgba(82, 82, 82, 0.14);
}

.header-logo {
  mix-blend-mode: darken;
  margin-block: 0;
  display: flex;
  align-items: center;
  height: 100%;
}
.header-logo a {
  display: flex;
  align-items: center;
}
.header-logo img {
  width: 161px;
}
@media (max-width: 767px) {
  .header-logo img {
    width: 101px;
  }
}

.header-inner {
  position: static;
  display: flex;
  justify-content: space-between;
  padding-top: 0;
  height: 100%;
}

.header-right {
  display: flex;
  gap: 37px;
  align-items: center;
}

.header-menuTop {
  display: flex;
  gap: 1.5em;
  font-size: 14px;
}
.header-menuTop li {
  margin-bottom: 0;
}
.header-menuTop > li:hover > span {
  position: relative;
}
.header-menuTop > li:hover > span:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  background-color: var(--keyColor);
  left: 0;
  bottom: 0;
}
.header-menuTop > li > a, .header-menuTop > li > span {
  height: var(--headerHeight);
  display: flex;
  align-items: center;
}

.header-icons {
  display: flex;
  height: var(--headerHeight);
  align-items: center;
}

.sb-icon-search {
  display: block !important;
}

.sb-icon-search:before {
  content: none;
}

.header-search {
  position: relative;
  height: var(--headerHeight);
  width: 60px;
}
.header-search .c-icon-search {
  fill: currentColor;
  box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .header-search .c-icon-search {
    padding: 25px 12px 25px;
  }
}

.sb-search {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 0;
  height: 79px;
  float: right;
  margin: 0 auto;
  font-size: 0.8em;
}

.search-inner {
  display: flex;
  width: 0;
  height: 100%;
  overflow: hidden;
}

.sb-search-open .search-inner {
  width: 88%;
}

.sb-search.sb-search-open {
  width: 500px;
  height: 100%;
  position: absolute;
  right: 0;
}

.header-account,
.header-cart {
  padding-inline: 12px;
}
.header-account svg,
.header-cart svg {
  display: block;
}

.header-cart {
  position: relative;
}
.header-cart svg {
  transform: translateY(-6%);
}
.header-cart .cart-count {
  position: absolute;
  right: -8px;
  top: -8px;
  background: #F23E0C;
  color: #fff;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  font-weight: normal;
}

[data-megamenu] {
  cursor: pointer;
}

.header-dropdown {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: var(--headerHeight, 80px);
  left: 0;
  width: 100%;
  background-color: #e5e5e5;
  padding-inline: var(--paddingInline);
  height: var(--dropdownHeight, 530px);
  overflow-y: scroll;
}
._open .header-dropdown {
  opacity: 1;
  visibility: visible;
}

.header-dropdownInner {
  width: 100%;
  max-width: 1200px;
  position: relative;
  margin-inline: auto;
}

.header-catergoryList {
  font-size: 16px;
  position: absolute;
  top: 0;
}
.header-catergoryList li a, .header-catergoryList li span {
  padding: 8.2px 20px;
  display: block;
  cursor: pointer;
  position: relative;
}
.header-catergoryList > li:hover > a, .header-catergoryList > li:hover > span {
  background-color: var(--keyColor);
  color: #ffffff;
}
.header-catergoryList > li:hover > .header-catergoryList {
  opacity: 1;
  visibility: visible;
}

.header-catergoryList._level1 {
  padding-top: 30px;
  width: 33.3333%;
  width: 25%;
  height: 100%;
  position: relative;
}

.header-catergoryList._level2,
.header-catergoryList._level3,
.header-catergoryList._level4 {
  width: 100%;
  height: 100%;
  left: 100%;
  opacity: 0;
  visibility: hidden;
  padding-top: 30px;
}

.header-catergoryList._level2,
.header-catergoryList._level4 {
  background-color: #dddddd;
}

.header-catergoryList._level3 > li a:hover:before, .header-catergoryList._level3 > li span:hover:before {
  content: none;
}

.header-catergoryList li._has-child > a:before, .header-catergoryList li._has-child > span:before {
  position: absolute;
  content: "";
  background: url("../images/caret-right.svg") no-repeat center center;
  width: 9px;
  height: 15px;
  background-size: contain;
  right: 30px;
  top: calc(50% - 7px);
}

.header-brand {
  width: 100%;
  height: 100%;
  display: flex;
}

.header-brandAlphabetList {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  font-size: 18px;
  gap: 9px;
  max-width: 430px;
  padding-top: 40px;
  padding-right: 40px;
  position: relative;
}
.header-brandAlphabetList > li {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000000;
  text-transform: uppercase;
}
.header-brandAlphabetList > li:hover {
  background-color: var(--keyColor);
  color: #ffffff;
  border: 1px solid var(--keyColor);
  cursor: pointer;
}
.header-brandAlphabetList > li._current {
  background-color: var(--keyColor);
  color: #ffffff;
  border: 1px solid var(--keyColor);
}
.header-brandAlphabetList > li._other {
  flex-grow: 1;
}
.header-brandAlphabetList > li._invalid {
  background-color: #cdcdcd;
  color: #adadad;
  border: 1px solid #cdcdcd;
}

.header-brandName {
  padding-top: 30px;
  background-color: #dddddd;
  width: calc(100% - 430px);
  position: relative;
  overflow-y: auto;
}

.header-brandNameList {
  display: none;
  font-size: 16px;
}
.header-brandNameList._current {
  display: block;
}
.header-brandNameList li a, .header-brandNameList li span {
  padding: 8.2px 20px;
  display: block;
  cursor: pointer;
  position: relative;
}
.header-brandNameList li a:hover, .header-brandNameList li span:hover {
  background-color: var(--keyColor);
  color: #ffffff;
}

.header-toggleButton {
  display: none;
  height: 27px;
}
.header-toggleButton span {
  width: 27px;
  height: 2px;
  background-color: #000000;
}

@media screen and (max-width: 1100px) {
  .header-menuTop {
    gap: 0.7em;
    font-size: 12px;
  }
}
@media screen and (max-width: 990.9px) {
  .header-menuTop {
    display: none;
  }
  .header-account {
    padding-inline: 10px;
  }
  .header-cart {
    padding-inline: 10px 0;
  }
  .header-toggleButton {
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    cursor: pointer;
  }
  .header-toggleButton._open span {
    position: absolute;
  }
  .header-toggleButton._open span:nth-child(1) {
    top: calc(50% - 1px);
    transform: rotate(45deg);
  }
  .header-toggleButton._open span:nth-child(2) {
    display: none;
  }
  .header-toggleButton._open span:nth-child(3) {
    top: calc(50% - 1px);
    transform: rotate(-45deg);
  }
  .header-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    justify-content: center;
    padding-inline: 20px;
    align-items: center;
  }
  .sb-search {
    height: 100%;
    width: auto;
    min-width: auto;
  }
  .sb-search-input {
    height: 100%;
    padding: 16px;
  }
  .sb-search.sb-search-open {
    width: 290px;
  }
  .search-url {
    min-width: 50px;
    padding: 0;
  }
  .search-url button {
    height: 100%;
  }
  .sb-icon-search {
    padding-inline: 10px;
  }
}
.drawer {
  position: fixed;
  z-index: 10;
  width: 100%;
  top: 50px;
  bottom: 0;
  background-color: #ffffff;
  padding-top: var(--headerHeight, 50px);
  left: -100%;
  transition: left 0.5s;
}
.drawer._open {
  left: 0;
}

@media screen and (min-width: 991px) {
  .drawer {
    max-width: 375px;
  }
}
.drawer-inner {
  overflow-y: scroll;
  height: 100%;
}

.drawer-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 14px;
  margin-top: 30px;
}
.drawer-buttons li {
  margin-bottom: 0;
  border: 1px solid #bfbfbf;
  flex-basis: calc(50% - 5px);
}
.drawer-buttons li a {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 5px;
  padding: 9px;
}
.drawer-buttons li svg {
  justify-self: center;
}
.drawer-buttons li .c-icon-letter {
  width: 18px;
  height: 12px;
}

.drawer-menuArea {
  margin-top: 30px;
  font-size: 14px;
}
.drawer-menuArea li {
  margin-bottom: 0;
}
.drawer-menuArea li a, .drawer-menuArea li span {
  display: block;
  padding-block: 12px 16px;
  padding-inline: 30px;
}
.drawer-menuArea .js-accordion-button {
  position: relative;
}
.drawer-menuArea .js-accordion-button:after {
  position: absolute;
  content: "";
  width: 18px;
  height: 10px;
  background: url("../images/chevron-down.svg") no-repeat center center;
  background-size: contain;
  right: 10px;
  top: calc(50% - 5px);
}
.drawer-menuArea .js-accordion-button._open:after {
  rotate: -180deg;
}

.drawer-links {
  font-size: 13px;
  margin-top: 20px;
}

.drawer-sns {
  margin-top: 55px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.drawer-menuList2,
.drawer-menuList3,
.drawer-menuList4,
.drawer-menuList5 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s;
}

.drawer-menuList1 > li {
  border-bottom: 1px solid #bfbfbf;
}

.drawer-menuList2 {
  padding-left: 15px;
}

.drawer-menuList3 {
  padding-left: 15px;
}

.drawer-menuList4 {
  padding-left: 15px;
}

.drawer-menuList5 {
  padding-left: 15px;
}

.drawer-brand {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s;
}
.drawer-brand .header-brandAlphabetList {
  padding-top: 0;
  padding-right: 0;
  padding-inline: 30px;
}
.drawer-brand .header-brandAlphabetList > li._other {
  flex: 0 1 max-content;
}
.drawer-brand .header-brandName {
  width: 100%;
  margin-bottom: 20px;
  background-color: #ffffff;
}

.announce {
  background-color: var(--keyColor);
  padding-block: 6px;
  padding-inline: 30px;
  margin-bottom: 20px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
.announce .swiper {
  max-width: 1200px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .announce {
    padding-inline: 20px;
    font-size: 12px;
    margin-bottom: 18px;
  }
  .announce .swiper-slide {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

/* =================================
フッター
================================= */
.footer {
  background-color: var(--keyColor);
  padding: 70px 50px;
  color: #ffffff;
}
.footer a, .footer a:visited {
  color: inherit;
}
@media (max-width: 767px) {
  .footer {
    padding: 40px 32px;
  }
}

.footer-logo {
  text-align: center;
  margin-bottom: 43px;
}
.footer-logo img {
  width: 161px;
}
@media (max-width: 767px) {
  .footer-logo {
    margin-bottom: 34px;
  }
  .footer-logo img {
    width: 101px;
  }
}

.footer-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 43px;
}
.footer-sns li {
  margin-bottom: 0;
}
.footer-sns svg {
  display: block;
}
@media (max-width: 767px) {
  .footer-sns {
    margin-bottom: 33px;
  }
}

.footer-linkList {
  font-size: 14px;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 43px;
  row-gap: 10px;
}
.footer-linkList li {
  margin-bottom: 0;
  position: relative;
}
.footer-linkList li:not(:last-child):before {
  position: absolute;
  content: "｜";
  display: inline-block;
  top: 0;
  right: 0;
}
.footer-linkList a {
  padding-inline: 20px 34px;
}

@media (max-width: 767px) {
  .footer-linkList {
    display: none;
  }
}
.copyright {
  font-size: 12px;
  text-align: center;
  font-family: "EB Garamond", serif;
}
@media (max-width: 767px) {
  .copyright {
    font-size: 11px;
  }
}

/* =================================
ファーストビュー
================================= */
.firstview {
  overflow-x: hidden;
  --swiper-pagination-bullet-horizontal-gap: 9px;
  --swiper-pagination-color: var(--keyColor);
  --swiper-pagination-bullet-width: 11.85px;
  --swiper-pagination-bullet-height: 11.85px;
  --swiper-pagination-bullet-inactive-opacity:1;
  --swiper-pagination-bullet-inactive-color: #ffffff;
}
.firstview .swiper-slide {
  width: 460px;
}
.firstview .swiper-slide {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0px 2px 6px 0 rgba(0, 0, 0, 0.15);
}
.firstview .swiper-slide img {
  width: 100%;
}
.firstview .swiper-pagination {
  position: static;
  height: var(--swiper-pagination-bullet-height);
  font-size: 0;
  margin-top: 30px;
}
.firstview .swiper-pagination-bullet {
  border: 1px solid #404040;
}
.firstview .swiper-pagination-bullet-active {
  border: 1px solid var(--swiper-pagination-color);
}

@media (max-width: 767px) {
  .firstview {
    --swiper-pagination-bullet-width: 8px;
    --swiper-pagination-bullet-height: 8px;
    --swiper-pagination-bullet-horizontal-gap: 6px;
  }
  .firstview .swiper {
    overflow: visible;
    width: 100%;
    width: 290px;
  }
  .firstview .swiper-slide {
    width: 100%;
  }
  .firstview .swiper-pagination {
    margin-top: 20px;
  }
}
.topBanner {
  margin-top: 30px;
}

/* =================================
検索窓
================================= */
.topSearch {
  margin-top: 52px;
}

/* =================================
ピックアップブランド・カテゴリー
================================= */
.topPickups {
  margin-top: 80px;
  background-color: #fffcf4;
  background-color: #f4f4f4;
  padding-block: 60px;
}
.topPickups .c-moreButton {
  position: absolute;
  right: 0;
  top: 0;
}

.topPickups-cols {
  display: flex;
}

.topPickup-col {
  flex-basis: 50%;
}
.topPickup-col:first-child {
  position: relative;
}
.topPickup-col:first-child:after {
  position: absolute;
  content: "";
  height: 100%;
  width: 1px;
  background-color: #d9d9d9;
  top: 0;
  right: 0;
}

.topBrand-inner,
.topCategory-inner {
  width: 92%;
  position: relative;
}

.topCategory-inner {
  margin-left: auto;
}

.topBrand-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.topBrand-list li {
  margin-bottom: 0;
  border-radius: 10px;
  overflow: hidden;
}

.topCategory-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 10px;
}
.topCategory-list img {
  width: 100px;
  margin-bottom: 8px;
}
.topCategory-list li {
  text-align: center;
  flex-basis: calc((100% - 30px) / 4);
  font-size: 14px;
  margin-bottom: 0;
}
.topCategory-list li p {
  line-height: 1.3745454545;
}

@media screen and (max-width: 990.9px) {
  .topPickups .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .topPickups {
    margin-top: 50px;
  }
  .topPickups-cols {
    display: block;
  }
  .topPickup-col:first-child:after {
    height: 1px;
    width: 100%;
    top: auto;
    bottom: 0;
  }
  .topPickup .c-moreButton {
    position: static;
    margin-top: 30px;
  }
  .topBrand-list {
    gap: 15px;
  }
  .topBrand-list li {
    flex-basis: calc((100% - 15px) / 2);
    border-radius: 5px;
  }
  .topBrand-list li img {
    border-radius: 5px;
  }
  .topBrand-inner {
    width: 100%;
  }
  .topBrand {
    padding-bottom: 35px;
  }
  .topCategory-inner {
    width: 100%;
  }
  .topCategory {
    padding-top: 35px;
  }
  .topCategory-list {
    gap: 14px 30px;
  }
  .topCategory-list li {
    flex-basis: calc((100% - 60px) / 3);
  }
  .topCategory-list li p {
    font-size: 11px;
  }
  .topCategory-list li._palette p, .topCategory-list li._sketchbook p {
    margin-inline: -10px;
  }
  .topCategory .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
/* =================================
ピックアップ特集
================================= */
.topContents {
  padding-block: 60px;
  position: relative;
}
.topContents:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 280px;
  background-color: var(--keyColor);
  z-index: -1;
  top: 0;
  left: 0;
}
.topContents .c-moreButton {
  position: absolute;
  right: 0;
  top: 0;
}
.topContents .c-inner {
  position: relative;
}
.topContents .c-heading {
  color: #ffffff;
}
.topContents .c-heading:before {
  background-color: #ffffff;
}
.topContents .c-moreButton a, .topContents .c-moreButton a:visited {
  color: #ffffff;
}
@media (max-width: 767px) {
  .topContents:before {
    height: 210px;
  }
  .topContents .c-moreButton a, .topContents .c-moreButton a:visited {
    color: inherit;
  }
}

.topContents-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 40px 4%;
  justify-content: space-between;
}

.topContents-card {
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 10px 0 rgba(41, 36, 30, 0.1);
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  margin-bottom: 0;
}
.topContents-card > a {
  display: flex;
  flex-direction: column;
}

.topContents-thumb {
  aspect-ratio: 1/1;
}
.topContents-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topContents-body {
  padding: 22px;
  background-color: #ffffff;
}
.topContents-body p {
  font-weight: 700;
  line-height: 1.5;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 767px) {
  .topContents-body {
    padding: 15px;
  }
  .topContents-body p {
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  .topContents-list {
    overflow-x: scroll;
    display: flex;
    margin-right: -30px;
  }
  .topContents-card {
    flex-basis: 182px;
    flex-shrink: 0;
  }
  .topContents .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
.topBg {
  padding-block: 60px 70px;
  background: url("../images/bg_pc.png") no-repeat center center;
  background-size: cover;
}

@media (max-width: 767px) {
  .topBg .c-inner {
    padding-left: 40px;
    padding-right: 0;
  }
}
/* =================================
ピックアップリール投稿
================================= */
.topMovie {
  position: relative;
  margin-top: 70px;
  padding-bottom: 90px;
}
.topMovie .c-inner {
  position: relative;
}
.topMovie .c-moreButton {
  position: absolute;
  top: 0;
  right: var(--paddingInline);
}
@media (max-width: 767px) {
  .topMovie {
    padding-bottom: 40px;
  }
}

.topMovie-slider {
  position: relative;
  padding-inline: 40px;
}
.topMovie-slider .swiper-slide {
  width: 208px;
}
.topMovie-slider .swiper {
  position: static;
  --swiper-navigation-sides-offset: 0;
}
.topMovie-slider .swiper-button-prev:after,
.topMovie-slider .swiper-button-next:after {
  content: none;
}

.topMovie-thumb {
  aspect-ratio: 208/280;
  margin-bottom: 20px;
}
.topMovie-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topMovie-title {
  line-height: 1.5;
  margin-bottom: 13px;
}

.topMovie-text {
  font-size: 14px;
}

@media (max-width: 767px) {
  .topMovie-slider {
    padding-inline: 0;
  }
  .topMovie-slider .swiper-button-prev,
  .topMovie-slider .swiper-button-next {
    display: none;
  }
  .topMovie .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
/* =================================
ピックアップフィード投稿
================================= */
.topReview {
  padding-bottom: 90px;
}
@media (max-width: 767px) {
  .topReview {
    padding-bottom: 40px;
  }
}

.review {
  position: relative;
  margin-top: 70px;
}
.review .c-moreButton {
  position: absolute;
  top: 0;
  right: 0;
}

.review-slider {
  position: relative;
  padding-inline: 40px;
}
.review-slider .swiper {
  position: static;
  --swiper-navigation-sides-offset: 0;
}
.review-slider .swiper-button-prev:after,
.review-slider .swiper-button-next:after {
  content: none;
}
.review-slider .swiper-slide {
  width: 208px;
}

.review-thumb {
  aspect-ratio: 1/1;
  margin-bottom: 20px;
}
.review-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-title {
  line-height: 1.5;
  margin-bottom: 13px;
}

.review-text {
  font-size: 14px;
}

@media (max-width: 767px) {
  .review-slider {
    padding-inline: 0;
  }
  .review-slider .swiper-button-prev,
  .review-slider .swiper-button-next {
    display: none;
  }
  .review .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
/* =================================
新着商品
================================= */
.newItem {
  padding-top: 95px;
  padding-bottom: 83px;
  background-color: #f4f4f4;
}
.newItem .c-inner {
  position: relative;
}
.newItem .c-moreButton {
  position: absolute;
  top: 0;
  right: var(--paddingInline);
}
.newItem .swiper {
  position: static;
  --swiper-navigation-sides-offset: 0;
}
.newItem .swiper-slide {
  width: 250px;
  background-color: #ffffff;
  border-radius: 10px;
  padding-inline: 20px;
  padding-block: 16px 32px;
  box-shadow: 0 0 10px 0 rgba(41, 36, 30, 0.1);
}
.newItem .swiper-button-prev:after,
.newItem .swiper-button-next:after {
  content: none;
}
@media (max-width: 767px) {
  .newItem .swiper-slide {
    width: 200px;
  }
}

.newItem-slider {
  position: relative;
  padding-inline: 40px;
}
.newItem-slider .swiper-scrollbar {
  display: none;
}

.newItem-thumb {
  margin-bottom: 25px;
}

.newItem-title {
  line-height: 1.5;
  margin-bottom: 13px;
  overflow: hidden;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.newItem-text {
  font-size: 14px;
}

@media (max-width: 767px) {
  .newItem {
    padding-top: 45px;
  }
  .newItem-slider {
    padding-inline: 0;
    margin-right: -30px;
  }
  .newItem-slider .swiper-button-prev,
  .newItem-slider .swiper-button-next {
    display: none;
  }
  .newItem-slider .swiper-scrollbar {
    display: block;
  }
  .newItem .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
/* =================================
ランキング
================================= */
.ranking {
  padding-top: 95px;
}
.ranking .swiper-slide {
  width: 218px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 10px 0 rgba(41, 36, 30, 0.1);
  padding: 20px;
}
.ranking .c-inner {
  position: relative;
}
.ranking .c-moreButton {
  position: absolute;
  top: 0;
  right: var(--paddingInline);
}
.ranking .swiper {
  position: static;
  --swiper-navigation-sides-offset: 0;
  padding: 10px;
  margin-left: -10px;
  margin-right: -10px;
}
.ranking .swiper-button-prev:after,
.ranking .swiper-button-next:after {
  content: none;
}
@media (max-width: 767px) {
  .ranking .swiper-slide {
    width: 176px;
  }
}

.ranking-slider {
  position: relative;
}
.ranking-slider .swiper-scrollbar {
  display: none;
}

.ranking-thumb {
  margin-bottom: 25px;
}

.ranking-rank {
  font-weight: 700;
}

.ranking-title {
  line-height: 1.5;
  margin-bottom: 13px;
  overflow: hidden;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.ranking-text {
  font-size: 14px;
}

@media (max-width: 767px) {
  .ranking {
    padding-top: 45px;
  }
  .ranking .swiper {
    margin-right: 0;
    padding-right: 0;
  }
  .ranking-slider {
    padding-inline: 0;
    margin-right: -30px;
  }
  .ranking-slider .swiper-button-prev,
  .ranking-slider .swiper-button-next {
    display: none;
  }
  .ranking-slider .swiper-scrollbar {
    display: block;
  }
  .ranking .c-moreButton {
    position: static;
    margin-top: 30px;
  }
}
/* =================================
静風堂について
================================= */
.topConcept {
  margin-top: 120px;
  background: url("../images/concept_pc.jpg") no-repeat center center;
  background-size: cover;
  text-align: center;
  color: #ffffff;
  padding-block: 110px;
}
@media (max-width: 767px) {
  .topConcept {
    background-image: url("../images/concept_sp.jpg");
  }
}

.topConcept-heading {
  margin-bottom: 50px;
}
.topConcept-heading span {
  display: block;
}
.topConcept-heading span:first-child {
  font-size: 26px;
  font-weight: bold;
}
.topConcept-heading span:last-child {
  font-size: 14px;
  font-family: "EB Garamond", serif;
}
@media (max-width: 767px) {
  .topConcept-heading span:first-child {
    font-size: 18px;
  }
  .topConcept-heading span:last-child {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  .topConcept-heading {
    margin-bottom: 23px;
  }
}

.topConcept-text {
  line-height: 1.5;
}

.topConcept-more {
  margin-top: 53px;
}
.topConcept-more a {
  display: inline-block;
  padding-block: 18px;
  font-size: 16px;
  border-radius: calc((1.6em + 37px) / 2);
  border: 1px solid #ffffff;
  color: currentColor;
  width: min(330px, 100%);
  transition: color 0.5s, background-color 0.5s;
}
.topConcept-more a:hover {
  opacity: 1;
  background-color: #ffffff;
  color: #000000;
}
@media (max-width: 767px) {
  .topConcept-more {
    margin-top: 32px;
  }
}

@media (max-width: 767px) {
  .topConcept {
    margin-top: 45px;
    padding-block: 50px 72px;
  }
  .topConcept-text {
    font-size: 13px;
    line-height: 1.73076;
  }
  .topConcept-more a {
    font-size: 12px;
    width: min(231px, 100%);
    padding-block: 11px;
  }
}
/* =================================
contact Us
================================= */
.contactUs {
  max-width: 1000px;
  margin-inline: auto;
  padding-block: 100px;
  display: flex;
  gap: 50px 40px;
  flex-wrap: wrap;
  justify-content: space-between;
}

a.instaBanner,
a.instaBanner:visited {
  color: #ffffff;
}

.instaBanner {
  display: block;
  flex-basis: 100%;
  text-align: center;
  color: #ffffff;
  background: url("../images/instabanner_pc.jpg") no-repeat center center;
  background-size: cover;
  position: relative;
  padding: 11px;
  padding-block: 78px 86px;
}
.instaBanner:after {
  position: absolute;
  content: "";
  pointer-events: none;
  inset: 10px;
  border: 1px solid currentColor;
}
.instaBanner .c-icon-instagram {
  fill: currentColor;
  margin-right: 13px;
}
.instaBanner > span {
  color: currentColor;
  margin-top: 22px;
  display: block;
  margin-inline: auto;
  border: 1px solid #ffffff;
  max-width: 330px;
  padding: 17px;
  border-radius: calc((1.6em + 34px) / 2);
  transition: color 0.5s, background-color 0.5s;
}
.instaBanner:hover > span {
  opacity: 1;
  background-color: #ffffff;
  color: #000000;
}
.instaBanner h2 {
  font-size: 26px;
  font-weight: 700;
}
.instaBanner > span {
  font-size: 16px;
}

a.faqBanner,
a.faqBanner:visited {
  color: inherit;
}

.faqBanner {
  display: block;
  padding-block: 44px 40px;
  flex-basis: calc(50% - 20px);
  color: inherit;
  text-align: center;
  border: 8px solid #d9d9d9;
}
.faqBanner p span:first-child {
  display: block;
  font-size: 22px;
  font-weight: 700;
}
.faqBanner p span:last-child {
  display: block;
  font-size: 16px;
  font-family: "EB Garamond", serif;
}
.faqBanner .c-icon-fukidashi {
  fill: var(--keyColor);
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  .faqBanner {
    border-width: 4px;
  }
  .faqBanner p span:first-child {
    font-size: 15px;
  }
}

a.contactBanner,
a.contactBanner:visited {
  color: inherit;
}

.contactBanner {
  display: block;
  padding-block: 44px 40px;
  flex-basis: calc(50% - 20px);
  color: inherit;
  text-align: center;
  border: 8px solid #d9d9d9;
}
.contactBanner p span:first-child {
  display: block;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 2px;
}
.contactBanner p span:last-child {
  display: block;
  font-size: 16px;
  font-family: "EB Garamond", serif;
}
.contactBanner .c-icon-letter {
  fill: var(--keyColor);
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  .contactBanner {
    border-width: 4px;
  }
  .contactBanner p span:first-child {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .contactUs {
    padding-block: 50px;
    display: block;
  }
  .faqBanner {
    margin-top: 50px;
    padding-block: 30px;
  }
  .faqBanner p span:last-child {
    font-size: 11px;
  }
  .instaBanner {
    padding-block: 47px 62px;
    background-image: url("../images/instabanner_sp.jpg");
  }
  .instaBanner h2 {
    font-size: 18px;
  }
  .instaBanner > span {
    font-size: 12px;
    max-width: 230px;
    padding: 11px;
  }
  .contactBanner {
    margin-top: 10px;
    padding-block: 30px;
  }
  .contactBanner p span:last-child {
    font-size: 11px;
  }
}
/* =================================
商品一覧
================================= */
.content-wrap._category,
.content-wrap._search {
  max-width: 1060px;
  margin-inline: auto;
}

.c-categoryAdditionalArea {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: 30px;
  box-sizing: content-box;
}
@media (max-width: 767px) {
  .c-categoryAdditionalArea {
    padding-inline: 20px;
  }
}

.col-content {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: 30px;
  box-sizing: content-box;
}
@media screen and (min-width: 1024px) {
  .col-content {
    margin-top: 50px;
  }
}
@media (max-width: 767px) {
  .col-content {
    padding-inline: 20px;
  }
}

.c-categoryInnerSearch {
  margin-top: 70px;
}
@media (max-width: 767px) {
  .c-categoryInnerSearch {
    margin-top: 30px;
  }
}

.c-categoryInnerSearch-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 19px;
}

.c-categoryInnerSearch-list {
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.c-categoryInnerSearch-list li {
  margin-bottom: 0;
}
.c-categoryInnerSearch-list a {
  display: block;
  border: 1px solid #888888;
  padding: 3px 13px 5px;
}
.c-categoryInnerSearch-list a span {
  vertical-align: middle;
}
.c-categoryInnerSearch-list .c-carret-right {
  width: 9px;
  height: 13px;
  stroke-width: 2px;
  margin-left: 10px;
}

.c-categoryHeader h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  padding-left: 20px;
}
.c-categoryHeader h1:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 26px;
  background-color: var(--keyColor);
  left: 0;
  top: 7px;
}
.c-categoryHeader p {
  margin-top: 27px;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .c-categoryHeader h1 {
    font-size: 16px;
    padding-left: 15px;
  }
  .c-categoryHeader h1:before {
    width: 3px;
    height: 19px;
    top: 3px;
  }
  .c-categoryHeader p {
    font-size: 13px;
    margin-top: 0;
  }
}

.c-categoryHeader-cols {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 80px;
}
@media (max-width: 767px) {
  .c-categoryHeader-cols {
    flex-direction: column-reverse;
    align-items: flex-start;
    margin-top: 40px;
  }
}

.c-categoryHeader-body {
  flex-basis: 49%;
}
@media (max-width: 767px) {
  .c-categoryHeader-body h1 {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-categoryHeader-body {
    flex-basis: auto;
  }
}

.c-categoryHeader-visual {
  flex-basis: 49%;
}
.c-categoryHeader-visual img {
  width: 100%;
}
@media screen and (min-width: 767.1px) {
  .c-categoryHeader-visual h1 {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-categoryHeader-visual {
    margin-bottom: 15px;
  }
  .c-categoryHeader-visual h1 {
    display: block;
  }
}
@media (max-width: 767px) {
  .c-categoryHeader-visual {
    flex-basis: auto;
    width: 100%;
  }
  .c-categoryHeader-visual img {
    margin-top: 27px;
  }
}

.c-categoryKeyword {
  margin-top: 40px;
}

.c-categoryKeyword-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .c-categoryKeyword-title {
    text-align: center;
    margin-bottom: 19px;
  }
}

.c-categoryKeyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}
.c-categoryKeyword-list li {
  margin-bottom: 0;
}
.c-categoryKeyword-list a {
  display: block;
  background-color: #d9d9d9;
  font-size: 16px;
  padding: 8px 29px;
  border-radius: calc((1.6em + 16px) / 2);
}
@media (max-width: 767px) {
  .c-categoryKeyword-list {
    justify-content: center;
    gap: 15px 11px;
  }
  .c-categoryKeyword-list a {
    font-size: 11px;
    padding-inline: 21px;
    padding-block: 5px;
  }
}

.product-area {
  background-color: transparent;
}
@media (max-width: 767px) {
  .product-area {
    width: 100%;
  }
}

.product-list {
  margin-top: 0;
}

@media (max-width: 767px) {
  .product-list-inner {
    column-gap: 20px;
  }
}

.product-item {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 0 10px 0 rgba(41, 36, 30, 0.1);
}
.product-item a {
  display: block;
}
@media (max-width: 767px) {
  .product-item {
    margin-inline: 0;
    width: calc(50% - 10px);
    padding: 10px 10px 15px;
    margin-bottom: 20px;
  }
}

.product-item-name {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 18px;
  margin-bottom: 12px;
  word-break: break-word;
}
@media (max-width: 767px) {
  .product-item-name {
    font-size: 13px;
    margin-top: 9px;
    margin-bottom: 3px;
  }
}

.product-item .original-price {
  font-size: 12px;
}
@media (max-width: 767px) {
  .product-item .original-price {
    font-size: 10px;
    margin-top: 3px;
  }
}

.product-item-price {
  font-size: 15px;
  font-weight: normal;
  text-align: left;
  margin-top: 0;
}
@media (max-width: 767px) {
  .product-item-price {
    font-size: 13px;
  }
}

.pagination li span.current {
  background-color: #d00010;
  padding: 3px 11px 5px;
}

.pagination li a:has(.prev) {
  width: 32px;
  height: 32px;
  display: block;
  position: relative;
}
.pagination li a:has(.prev):hover span.prev {
  border-color: #ffffff;
}

.pagination li span.prev {
  position: absolute;
  font-size: 0;
  border-left: 1px solid #404040;
  border-bottom: 1px solid #404040;
  display: block;
  width: 8px;
  height: 8px;
  rotate: 45deg;
  top: calc(50% - 4px);
  left: calc(50% - 3px);
  transition: border-color 0.5s ease;
}

.pagination li a:has(.next) {
  width: 32px;
  height: 32px;
  display: block;
  position: relative;
}
.pagination li a:has(.next):hover span.next {
  border-color: #ffffff;
}

.pagination li span.next {
  position: absolute;
  font-size: 0;
  border-right: 1px solid #404040;
  border-bottom: 1px solid #404040;
  display: block;
  width: 8px;
  height: 8px;
  rotate: -45deg;
  top: calc(50% - 4px);
  right: calc(50% - 3px);
  transition: border-color 0.5s ease;
}

.pagination li a:link, .pagination li a:visited {
  padding: 3px 11px 5px;
}

.pagination li:not(:first-child) {
  margin: 0 7px;
}

@media (max-width: 767px) {
  .page-functtion {
    display: block;
  }
  .page-functtion .total-count {
    padding-left: 0;
  }
}

/* -----------------------------------------------------------------
  side-nav (Completeからの流用＋変更)
----------------------------------------------------------------- */
.side {
  width: 210px;
  padding-right: 30px;
}

.search {
  background: #E6E6E6;
  padding: 16px;
}

.search-btn {
  font-size: 12px;
  border: 1px solid #333333;
  border-radius: 3px;
  background: #fff;
  display: block;
  padding: 10px;
  text-align: center;
}

.search-area li {
  margin-bottom: 20px;
}

.search-area label {
  display: block;
  margin-bottom: 10px;
}

.search-area input, .search-area select {
  width: 100%;
}

input.search-price {
  width: 36%;
  margin-right: 4px;
}

.side-section {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .side-section {
    display: none;
  }
}

.sp-side-section {
  display: none;
}

.category-list-title {
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
  font-size: 17px;
  font-weight: 700;
}

.side-category-item {
  position: relative;
  border-bottom: 1px solid #ccc;
  margin-bottom: 0;
}

.side-category-item p, .side-category-item a {
  width: 100%;
  padding: 15px 0;
  padding-right: 12px;
  display: inline-block;
}

.side-category-item p:before {
  display: block;
  content: "";
  position: absolute;
  top: 26px;
  right: 0;
  margin: auto;
  width: 12px;
  height: 1px;
  background-color: var(--keyColor);
  transition: 0.2s;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}

.side-category-item p:after {
  display: block;
  content: "";
  position: absolute;
  top: 26px;
  right: 0;
  margin: auto;
  width: 12px;
  height: 1px;
  background-color: var(--keyColor);
  transition: 0.3s;
}

.side-category-item p.on {
  background: #333333;
  color: #fff;
  padding-left: 6px;
  padding-right: 14px;
}

.side-category-item p.on:before {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  background: #fff;
  right: 10px;
}

.side-category-item p.on:after {
  background-color: transparent;
  background: #fff;
  right: 10px;
}

.child-item {
  padding: 8px !important;
  font-size: 12px;
}

.close {
  display: none;
}

.accordion {
  cursor: pointer;
}

.side-contact li {
  margin-bottom: 16px;
}

.calendar-wrap {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.calendar-title {
  padding: 8px;
  color: #fff;
  display: flex;
  align-items: baseline;
  margin-bottom: 4px;
}

.calendar-title dt {
  font-size: 12px;
  margin-right: 6px;
}

.makeshop-calendar1,
.makeshop-calendar2 {
  width: 100%;
  border-collapse: inherit;
  padding: 8px;
}

.makeshop-calendar1 tr,
.makeshop-calendar2 tr {
  text-align: center;
  font-size: 12px;
}

.makeshop-calendar1 thead tr th,
.makeshop-calendar2 thead tr th {
  padding-bottom: 8px;
}

.makeshop-calendar1 tbody tr td,
.makeshop-calendar2 tbody tr td {
  padding-bottom: 2px;
  height: auto !important;
}

.makeshop-calendar1 td.today {
  background: #F23E0C;
  color: #fff;
  height: auto;
}

.this-month {
  background: #808080;
}

.next-month {
  background: #808080;
}

.saturday {
  color: #006BED;
}

.sunday {
  color: #F23E0C;
}

.side-section .p-categorylist-item:not(:first-child) {
  margin-top: 0;
  border-bottom: 1px solid #cacaca;
}
.side-section .p-categorylist-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
.side-section .p-categorylist-list {
  padding-bottom: 16px;
}
.side-section .p-categorylist-list li:first-child {
  display: block;
}
.side-section .p-categorylist-label {
  font-size: 15px;
  font-weight: normal;
  background-color: transparent;
  padding-inline: 0;
  padding-block: 14px;
}
.side-section .p-categorylist-label:not(:only-child) button {
  display: block;
  width: 30px;
  height: 30px;
  top: calc(50% - 15px);
}
.side-section .p-categorylist-label:not(:only-child) button::before, .side-section .p-categorylist-label:not(:only-child) button::after {
  width: 10px;
  left: calc(50% - 5px);
}
.side-section .p-categorylist-label:only-child::after {
  content: none;
}
.side-section .category-list-title {
  cursor: pointer;
  position: relative;
}
.side-section .side-category-list {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
.side-section._brand .category-list-title:before, .side-section._brand .category-list-title:after {
  position: absolute;
  content: "";
  width: 10px;
  height: 1px;
  background-color: #d00010;
  top: 50%;
  right: 5px;
}
.side-section._brand .category-list-title:after {
  transform: rotate(90deg);
}

/* □□□□□□□□□□□□□□□□□□□□□□□
  下層ページ
□□□□□□□□□□□□□□□□□□□□□□□ */
.content {
  padding-top: 70px;
}
@media (max-width: 767px) {
  .content {
    padding-top: 35px;
  }
}

/* =================================
よくある質問
================================= */
.content-wrap:has(.p-faq) {
  max-width: none;
}

.p-faq {
  padding-inline: 30px;
}

.p-faq-header {
  text-align: center;
  margin-bottom: 50px;
}
.p-faq-header h1 {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-faq-header h1:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-faq-header {
    margin-bottom: 40px;
  }
  .p-faq-header h1 {
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-faq-header h1:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

.p-faq-localNav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-bottom: 78px;
}
.p-faq-localNav li {
  font-size: 16px;
  margin-bottom: 0;
}
.p-faq-localNav li a {
  display: flex;
  background-color: #f4f4f4;
  gap: 14px;
  padding-block: 7px;
  border-radius: 20px;
  padding-inline: 35px;
}
.p-faq-localNav .p-faq-icon-delivery {
  width: 24px;
}
.p-faq-localNav .p-faq-icon-payment {
  width: 23px;
}
.p-faq-localNav .p-faq-icon-order {
  width: 20px;
}
.p-faq-localNav .p-faq-icon-membership {
  width: 17px;
}
@media (max-width: 767px) {
  .p-faq-localNav {
    gap: 15px 9px;
    margin-bottom: 50px;
  }
  .p-faq-localNav li {
    font-size: 11px;
    flex-basis: calc((100% - 9px) / 2);
  }
  .p-faq-localNav li a {
    padding-inline: 10px;
    gap: 10px;
    justify-content: center;
  }
  .p-faq-localNav .p-faq-icon-delivery {
    width: 14px;
  }
  .p-faq-localNav .p-faq-icon-payment {
    width: 15px;
  }
  .p-faq-localNav .p-faq-icon-order {
    width: 14px;
  }
  .p-faq-localNav .p-faq-icon-membership {
    width: 11px;
  }
}

[class^=p-faq-icon] {
  display: inline-block;
  vertical-align: middle;
  width: 30px;
}

.p-faq-section {
  background-color: #f4f4f4;
  margin-left: -30px;
  margin-right: -30px;
  padding-block: 70px 80px;
}
.p-faq-section + .p-faq-section {
  margin-top: 84px;
}
@media (max-width: 767px) {
  .p-faq-section {
    padding-block: 50px;
  }
  .p-faq-section + .p-faq-section {
    margin-top: 50px;
  }
}

.p-faq-sectionInner {
  padding-inline: 30px;
  max-width: 800px;
  box-sizing: content-box;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .p-faq-sectionInner {
    padding-inline: 20px;
  }
}

.p-faq-sectionHeading {
  padding-bottom: 16px;
  border-bottom: 2px solid var(--keyColor);
  margin-bottom: 35px;
  text-align: center;
}
.p-faq-sectionHeading img {
  margin-right: 22px;
}
@media (max-width: 767px) {
  .p-faq-sectionHeading {
    font-size: 16px;
    margin-bottom: 25px;
  }
  .p-faq-sectionHeading .p-faq-icon-delivery {
    width: 22px;
    margin-right: 7px;
  }
  .p-faq-sectionHeading .p-faq-icon-payment {
    width: 15px;
    margin-right: 7px;
  }
  .p-faq-sectionHeading .p-faq-icon-order {
    width: 18px;
    margin-right: 7px;
  }
  .p-faq-sectionHeading .p-faq-icon-membership {
    width: 13px;
    margin-right: 7px;
  }
}

.p-faq-question {
  font-size: 18px;
  font-weight: 700;
  border-bottom: 1px solid #bebebe;
  padding-block: 18px;
  padding-inline: 26px;
  position: relative;
  cursor: pointer;
}
.p-faq-question:before, .p-faq-question:after {
  position: absolute;
  content: "";
  height: 1px;
  width: 18px;
  background-color: var(--keyColor);
  right: 18px;
  top: 33px;
}
.p-faq-question:after {
  rotate: -90deg;
}
.p-faq-question._open:after {
  content: none;
}
.p-faq-question p {
  padding-left: 50px;
  position: relative;
}
.p-faq-question p:before {
  position: absolute;
  content: "Q.";
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  width: 34px;
  height: 34px;
  background-color: var(--keyColor);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  top: -3px;
  left: 0;
  padding-left: 0.2em;
}
@media (max-width: 767px) {
  .p-faq-question {
    font-size: 14px;
    padding-inline: 0 50px;
  }
  .p-faq-question p:before {
    font-size: 14px;
    width: 30px;
    height: 30px;
    padding-top: 0.15em;
  }
}

.p-faq-answer {
  font-size: 14px;
}
.p-faq-answer p {
  padding-inline: 76px 26px;
  padding-block: 13px;
  position: relative;
}
.p-faq-answer p:before {
  position: absolute;
  content: "A.";
  font-size: 18px;
  font-weight: bold;
  top: 10px;
  left: 34px;
}
.p-faq-answer p a {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .p-faq-answer p {
    padding-inline: 36px 26px;
  }
  .p-faq-answer p:before {
    font-size: 14px;
    left: 10px;
  }
}

.p-faq-contactUs {
  text-align: center;
  font-size: 14px;
  line-height: 1.5714285714;
  padding-top: 87px;
}
.p-faq-contactUs a {
  margin-top: 37px;
  display: inline-block;
  background-color: #d00010;
  color: #ffffff;
  font-size: 18px;
  padding-block: 17px;
  max-width: 330px;
  width: 100%;
  border-radius: 31px;
}

/* =================================
お知らせ一覧
================================= */
@media (max-width: 767px) {
  .p-newsTop {
    padding-inline: 20px;
  }
}

.p-newsTop-heading {
  text-align: center;
  margin: 0;
  margin-bottom: 50px;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-newsTop-heading:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-newsTop-heading {
    margin-bottom: 40px;
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-newsTop-heading:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

.p-newsTop-list {
  max-width: 900px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media (max-width: 767px) {
  .p-newsTop-list {
    gap: 35px;
  }
}
.p-newsTop-list [data-view=detail] {
  display: none;
}

.news-detail-text [data-view=index] {
  display: none;
}
.news-detail-text [data-separator] {
  display: none;
}

.p-newsCard a {
  display: flex;
  align-items: center;
  gap: 50px;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-newsCard a {
    flex-direction: column;
    gap: 10px;
  }
}

.p-newsCard-visual {
  flex-basis: 38.8888888889%;
}

.p-newsCard-body {
  flex-basis: 55.5555555556%;
}

.p-newsCard-date {
  color: var(--keyColor);
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .p-newsCard-date {
    font-size: 12px;
    margin-bottom: 2px;
  }
}

.p-newsCard-title {
  margin-bottom: 13px;
  line-clamp: 5;
  -webkit-line-clamp: 5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-newsCard-title {
    font-size: 12px;
    margin-bottom: 10px;
  }
}

.p-newsCard-more {
  font-weight: 700;
}
.p-newsCard-more span {
  vertical-align: middle;
}
.p-newsCard-more .c-carret-right {
  width: 7.38px;
  height: 12.16px;
  stroke-width: 2px;
  margin-left: 12px;
}
@media (max-width: 767px) {
  .p-newsCard-more {
    font-size: 14px;
  }
}

.p-newsTop-list + .c-pager {
  margin-top: 77px;
}

.c-pager li a:hover,
.c-pager li a:active {
  background-color: var(--keyColor);
  color: #ffffff;
}
.c-pager li a:link,
.c-pager li a:visited {
  padding: 4px 11px;
}
.c-pager li a.active:link,
.c-pager li a.active:visited {
  background-color: var(--keyColor);
  color: #ffffff;
}
.c-pager a {
  border: none;
}

.pagination li a:link, .pagination li a:visited {
  color: inherit;
  border: none;
}

.pagination li a:hover, .pagination li a:active {
  background-color: var(--keyColor);
  color: #ffffff;
}

.wp-pagenavi {
  text-align: center;
  margin-top: 77px;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi a, .wp-pagenavi span {
  border: none;
  margin: 0 4px;
  padding: 4px 11px;
}
.wp-pagenavi a:hover, .wp-pagenavi a:active, .wp-pagenavi span:hover, .wp-pagenavi span:active {
  background-color: var(--keyColor);
  color: #ffffff;
}
.wp-pagenavi a.active, .wp-pagenavi span.current {
  background-color: var(--keyColor);
  color: #ffffff;
}

/* =================================
お知らせ詳細
================================= */
.p-newsSingle {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 30px;
  box-sizing: content-box;
}
@media (max-width: 767px) {
  .p-newsSingle {
    padding-inline: 15px;
  }
}

.p-newsSingle-header {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .p-newsSingle-header {
    margin-bottom: 23px;
  }
}

.p-newsSingle-date {
  margin-bottom: 8px;
}

.p-newsSingle-heading {
  font-size: 26px;
  margin-top: 0;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-newsSingle-heading {
    font-size: 23px;
    line-height: 1.5217391304;
  }
}

.p-newsSingle-content p {
  line-height: 1.75;
  margin: 23px 0;
}
.p-newsSingle-content figure:not(:first-child) {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .p-newsSingle-content p {
    margin: 21px 0;
  }
  .p-newsSingle-content figure:not(:first-child) {
    margin-top: 24px;
  }
}

.p-newsSingle-back {
  margin-top: 57px;
  text-align: center;
}
.p-newsSingle-back a {
  display: inline-block;
  background-color: #d00010;
  color: #ffffff;
  font-size: 18px;
  padding-block: 17px;
  max-width: 330px;
  width: 100%;
  border-radius: 31px;
}

/* =================================
カテゴリー一覧
================================= */
.p-categoryTop-heading {
  text-align: center;
  margin: 0;
  margin-bottom: 50px;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-categoryTop-heading:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-categoryTop-heading {
    margin-bottom: 40px;
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-categoryTop-heading:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

.p-categoryTop-bg {
  background-color: #fffcf4;
  padding-block: 52px;
}
.p-categoryTop-bg .c-inner {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  max-height: 790px;
}
@media (max-width: 767px) {
  .p-categoryTop-bg .c-inner {
    max-height: none;
  }
}

.p-categoryItem {
  width: 23.375%;
}
@media (min-width: 767.1px) {
  .p-categoryItem {
    max-width: 280px;
  }
  .p-categoryItem[data-category=wrapping] {
    min-height: 797px;
  }
}
@media (max-width: 767px) {
  .p-categoryItem {
    width: 100%;
  }
}

.p-categoryItem-label {
  display: flex;
  font-size: 24px;
  font-weight: 700;
  gap: 18px;
  align-items: center;
  border-bottom: 1px solid #000000;
  padding-block: 10px;
  line-height: 1.458333;
}
.p-categoryItem-label img {
  width: 67px;
}
.p-categoryItem-label p {
  min-height: 2.916666em;
  display: flex;
  align-items: center;
}
.p-categoryItem-label p span {
  display: inline-block;
}
@media (max-width: 767px) {
  .p-categoryItem-label {
    font-size: 16px;
  }
  .p-categoryItem-label:not(a) {
    position: relative;
  }
  .p-categoryItem-label:not(a):before, .p-categoryItem-label:not(a):after {
    position: absolute;
    content: "";
    width: 15px;
    height: 1px;
    background-color: var(--keyColor);
    right: 25px;
    top: calc(50% - 0.5px);
  }
  .p-categoryItem-label:not(a):after {
    rotate: 90deg;
  }
  .p-categoryItem-label:not(a)._open:after {
    display: none;
  }
}

a.p-categoryItem-label {
  position: relative;
}
a.p-categoryItem-label:after {
  position: absolute;
  content: "";
  background: url("../images/caret-right_black.svg") no-repeat center center;
  background-size: contain;
  width: 10px;
  height: 18px;
  top: calc(50% - 9px);
  right: 10px;
}
@media (max-width: 767px) {
  a.p-categoryItem-label:after {
    right: 25px;
  }
}

.p-categoryItem-body ul {
  padding-top: 30px;
}
.p-categoryItem-body li {
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .p-categoryItem-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s;
  }
}

/* =================================
お問い合わせ
================================= */
.content-wrap:has(.p-contact) {
  max-width: none;
}

.p-contact {
  padding-inline: var(--paddingInline);
}

.p-contact-heading {
  text-align: center;
  margin: 0;
  margin-bottom: 50px;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-contact-heading:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-contact-heading {
    margin-bottom: 40px;
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-contact-heading:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}
._complete .p-contact-heading::before {
  content: none;
  margin-bottom: 30px;
}

.p-contact-lead {
  font-size: 18px;
  text-align: center;
  line-height: 1.444444;
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-contact-lead {
    font-size: 13px;
  }
}
._complete .p-contact-lead {
  font-weight: normal;
}

.p-contact-attention {
  font-size: 14px;
  color: #f70000;
  display: inline-block;
  margin-top: 14px;
}
@media (max-width: 767px) {
  .p-contact-attention {
    color: var(--keyColor);
    font-size: 12px;
  }
}

.p-contact-form {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .p-contact-form {
    margin-top: 30px;
  }
}

.p-contact-table {
  table-layout: fixed;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  border: none;
}
.p-contact-table th, .p-contact-table td {
  border: none;
  text-align: left;
  padding-block: 15px;
}
.p-contact-table th {
  vertical-align: top;
  font-size: 18px;
}
.p-contact-table td {
  width: 77%;
}
.p-contact-table .wpcf7-form-control-wrap + p {
  font-size: 12px;
}
._confirm .p-contact-table tr {
  border-bottom: 1px solid #959595;
}
@media (min-width: 767.1px) {
  ._confirm .p-contact-table th, ._confirm .p-contact-table td {
    padding-left: 0;
    padding-block: 30px;
  }
  ._confirm .p-contact-table td {
    width: 75%;
  }
}
@media (max-width: 767px) {
  .p-contact-table th {
    padding-bottom: 0;
  }
  .p-contact-table th, .p-contact-table td {
    display: block;
    padding-inline: 0;
  }
  .p-contact-table td {
    width: 100%;
    padding-top: 4px;
  }
}

.p-contact-table input, .p-contact-table textarea, .p-contact-table select {
  padding-block: 14px;
  padding-inline: 18px;
}

.p-contact-table input:not([type=file]), .p-contact-table textarea, .p-contact-table select {
  border-radius: 0;
  border: 1px solid #959595;
}

.p-contact-table input, .p-contact-table textarea {
  width: 100%;
}

.p-contact-table select {
  width: 330px;
}

.p-contact-table input[type=file]::file-selector-button {
  background-color: #efefef;
}

.p-contact-table .wpcf7-form-control.wpcf7-file {
  border: none;
  padding: 0;
}

input[type=checkbox][name=acceptance] {
  width: 20px;
  height: 20px;
  border-radius: 0;
  vertical-align: middle;
}

[data-name=acceptance] {
  margin-top: 10px;
  display: inline-block;
}

.p-contact-required-mark {
  font-size: 10px;
  color: #f70000;
  vertical-align: top;
}
@media (max-width: 767px) {
  .p-contact-required-mark {
    color: var(--keyColor);
  }
}

.p-contact-accept {
  background-color: #f4f4f4;
  text-align: center;
  padding-block: 57px;
  margin-top: 82px;
  margin-left: calc(var(--paddingInline) * -1);
  margin-right: calc(var(--paddingInline) * -1);
}
.p-contact-accept .wpcf7-list-item-label {
  font-size: 18px;
  font-weight: 700;
  margin-left: 10px;
  vertical-align: middle;
}
[data-screen=confirm] .p-contact-accept, [data-screen=complete] .p-contact-accept {
  display: none;
}
@media (max-width: 767px) {
  .p-contact-accept {
    margin-top: 40px;
    padding-block: 30px;
  }
  .p-contact-accept .wpcf7-list-item-label {
    font-size: 14px;
  }
}

.p-contact-accept-text {
  font-size: 18px;
  text-align: center;
  line-height: 1.444444;
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-contact-accept-text {
    font-size: 13px;
    margin-bottom: 40px;
  }
}

.p-contact-submit {
  text-align: center;
  margin-top: 80px;
  display: flex;
  justify-content: center;
  gap: 30px;
}
.p-contact-submit input[type=submit] {
  font-size: 18px;
  text-align: center;
  background-color: var(--keyColor);
  color: #ffffff;
  border-radius: 31px;
  border-width: 0;
  padding-block: 20px 21px;
  width: 330px;
}
.p-contact-submit .wpcf7-spinner {
  display: none;
}
@media (max-width: 767px) {
  .p-contact-submit {
    margin-top: 40px;
    flex-direction: column;
    gap: 20px;
  }
}

.p-contact-back {
  display: inline-block;
  font-size: 18px;
  text-align: center;
  background-color: transparent;
  border-radius: 31px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--keyColor);
  padding-block: 19px 20px;
  width: 330px;
  line-height: 1.15;
}

a.p-contact-back {
  color: var(--keyColor);
}

.p-contact-gototop {
  text-align: center;
  margin-top: 36px;
}
.p-contact-gototop a {
  display: inline-block;
  font-size: 18px;
  background-color: var(--keyColor);
  color: #ffffff;
  border-radius: 31px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--keyColor);
  padding-block: 19px 20px;
  width: 330px;
  line-height: 1.15;
}

/* Snow Monkey Forms */
.p-contact .smf-form .smf-textarea-control__control {
  --_global--border-radius: 0px;
  --_form-control-border-color: #959595;
}
.p-contact .smf-form .smf-select-control__control {
  --_global--border-radius: 0px;
  --_form-control-border-color: #959595;
}

.p-contact-header {
  display: none;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .p-contact-header {
    margin-bottom: 20px;
  }
}

.p-contact:has([data-screen=input]) .p-contact-header._input {
  display: block;
}

.p-contact:has([data-screen=confirm]) .p-contact-header._confirm {
  display: block;
}

.p-contact:has([data-screen=complete]) .p-contact-header._complete {
  display: block;
}

.p-contact [type=file] {
  padding-inline: 0;
}
.p-contact .smf-action {
  margin-top: 60px;
  text-align: center;
}
.p-contact .smf-action .smf-button-control {
  display: inline-block;
}
.p-contact .smf-action .smf-button-control__control {
  display: inline-block;
  font-size: 18px;
  background: var(--keyColor);
  color: #ffffff;
  border-radius: 31px;
  border-width: 0;
  padding-block: 20px 21px;
  width: 330px;
  transition: opacity 0.5s;
  cursor: pointer;
}
.p-contact .smf-action .smf-button-control__control:hover {
  opacity: 0.7;
}
.p-contact .smf-action .smf-button-control__control[data-action=back] {
  border-width: 1px;
  padding-block: 19px 20px;
  background: transparent;
  color: var(--keyColor);
  border-color: var(--keyColor);
}
.p-contact .smf-form .smf-button-control {
  display: inline-block;
  max-width: 100%;
}
.p-contact .smf-form .smf-select-control {
  max-width: 100%;
}
.p-contact .smf-item:not(.p-contact-accept) {
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  display: flex;
  gap: 24px;
  padding-block: 15px;
}
.p-contact .smf-item:not(.p-contact-accept):has([data-validations*=required]) .smf-item__label::after {
  content: "※";
  color: #f70000;
  font-size: 0.5em;
  vertical-align: super;
}
@media (max-width: 990px) {
  .p-contact .smf-item:not(.p-contact-accept) {
    flex-direction: column;
    gap: 5px;
  }
}
.p-contact .smf-item__col--label {
  flex-basis: 25%;
  font-size: 18px;
  font-weight: bold;
}
.p-contact .smf-item__col--controls {
  flex-basis: 75%;
}
@media (max-width: 767px) {
  .p-contact .smf-action .smf-button-control {
    display: block;
  }
  .p-contact .smf-action .smf-button-control__control {
    width: 100%;
  }
  .p-contact .smf-action .smf-button-control + .smf-button-control {
    margin-left: 0;
    margin-top: 20px;
  }
  .p-contact .smf-item__col--label {
    font-size: 16px;
  }
}
/* =================================
静風堂とは
================================= */
.content-wrap:has(.p-about) {
  max-width: none;
}

.p-about {
  background: url("../images/about/bg.jpg") no-repeat top center;
  background-size: 100%;
  padding-top: 25px;
  padding-inline: var(--paddingInline);
}
@media (max-width: 767px) {
  .p-about {
    background-image: url("../images/about/bg-sp.jpg");
  }
}

@font-face {
  font-family: "Hiragino Kaku Gothic ProN W0";
  src: local(HiraginoSans-W0);
  font-weight: 100;
}
.p-about-text {
  text-align: center;
  font-size: 16px;
  line-height: 1.5625;
  margin-bottom: 56px;
  letter-spacing: 0.025em;
}
.p-about-text ._large {
  display: inline-block;
  font-size: 20px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-about-text {
    font-size: 14px;
    line-height: 1.7857142857;
    letter-spacing: -0.025em;
  }
}

.p-about-visual {
  text-align: center;
  display: block;
}
.p-about-visual img {
  max-width: 550px;
  width: 100%;
}

/* =================================
商品詳細ページ
================================= */
.item-detail {
  margin-top: 64px;
}

.item-detail-img {
  margin-bottom: 20px;
}

/* レイアウト */
.item-detail-inner {
  margin-bottom: 100px;
}

/* 商品画像 */
.item-image-large img {
  width: 100%;
}

.item-image-small {
  padding-inline: 30px;
}
.item-image-small img {
  box-shadow: 0 0 10px 0 rgba(41, 36, 30, 0.1);
}
.item-image-small .slick-arrow {
  position: absolute;
  padding: 0;
  font-size: 0;
  border: 0;
  background: transparent;
  width: 26px;
  height: 48px;
}
.item-image-small .slick-prev {
  top: calc(50% - 24px);
  left: 0;
}
.item-image-small .slick-prev::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  border-left: 1px solid #000000;
  border-bottom: 1px solid #000000;
  rotate: 45deg;
  top: 14px;
  left: 4px;
}
.item-image-small .slick-next {
  top: calc(50% - 24px);
  right: 0;
}
.item-image-small .slick-next::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  rotate: -45deg;
  top: 14px;
  right: 4px;
}

@media (max-width: 767px) {
  .item-image-small .slick-next,
  .item-image-small .slick-prev {
    top: 0;
  }
}

.item-image-small .item-image-list {
  flex-basis: calc(20% - 6px);
}

.item-image-small .item-image-list {
  margin-inline: 0;
  padding-inline: 5px;
}

.item-image-small .slick-track {
  margin-inline: -5px;
}

.item-image-small .item-image-list:nth-child(4n+1) {
  margin-left: 0;
}

.item-image-small .item-image-list:nth-child(4n) {
  margin-right: 0;
}

.item-detail-pp .sale-rate {
  display: inline-block;
}

/* '円（税込）'の部分 */
.hp-item-tanka {
  font-size: 16px;
  font-weight: 600;
}

/* カート回り */
.cart-btn {
  border-radius: 25px;
  padding-block: 12px;
}
.cart-btn .c-icon-cart {
  fill: #ffffff;
  vertical-align: middle;
  margin-left: 5px;
}
@media (max-width: 767px) {
  .cart-btn {
    padding-inline: 35px 25px;
  }
}

.sku-cart {
  width: auto;
}

.sku-cart .cart-btn {
  text-align: center;
  padding-block: 12px;
  padding-inline: 10px;
  font-size: 16px;
}
@media (max-width: 767px) {
  .sku-cart .cart-btn {
    padding-inline: 25px 25px;
    width: 100%;
  }
}

.sku-cart-wrap .add-btn, .sku-cart-wrap .sku-subscription, .sku-cart-wrap .sold-btn {
  width: 210px;
}

.add-btn .cart-btn:link, .add-btn .cart-btn:visited {
  background-color: var(--keyColor);
}

.item-detail-pp {
  text-align: left;
}

.item-detail-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  margin-top: 0;
}
@media (max-width: 767px) {
  .item-detail-title {
    font-size: 20px;
  }
}

.item-detail-quantity {
  margin-bottom: 38px;
}
.item-detail-quantity .order-setting {
  margin-bottom: 0;
}

.cart-area .variation-list {
  border-top: 1px solid #939393;
}
.cart-area .variation-list tbody {
  display: block;
}
.cart-area .variation-item {
  display: grid;
  align-items: center;
  border-bottom: 1px solid #939393;
  padding-block: 10px;
  grid-template-columns: 100px 1fr 1fr 270px;
  column-gap: 10px;
}
.cart-area .variation-thumbnail {
  flex-basis: 70px;
  display: block;
  padding-left: 0;
  width: 100%;
  max-width: 70px;
  padding: 0;
}
.cart-area .variation-thumbnail span {
  width: 70px;
  height: 70px;
  display: block;
  border-radius: 50%;
}
.cart-area .variation-name {
  font-size: 18px;
  text-align: left;
  padding: 0;
}
.cart-area .variation-cart {
  text-align: left;
  width: auto;
  padding: 0;
}
.cart-area .variation-price {
  font-size: 18px;
}
.cart-area .variation-stock {
  font-size: 18px;
}
.cart-area .variation-buttons {
  display: flex;
  align-items: center;
}
.cart-area .favorite {
  display: block;
}
@media (max-width: 767px) {
  .cart-area .variation-item {
    grid-template-areas: "thumb cart" "name cart";
    grid-template-columns: 70px 1fr;
  }
  .cart-area .variation-thumbnail {
    grid-area: thumb;
  }
  .cart-area .variation-name {
    grid-area: name;
    text-align: center;
  }
  .cart-area .variation-cart {
    grid-area: cart;
  }
  .cart-area .variation-buttons {
    justify-content: space-between;
  }
  .cart-area .favorite {
    display: none;
  }
  .cart-area .favorite-sp a {
    background-color: transparent;
  }
  .cart-area .order-setting {
    margin-bottom: 38px;
  }
  .cart-area .order-setting .add-btn {
    width: calc(100% - 60px);
    display: inline-block;
  }
  .cart-area .order-setting .favorite-sp {
    width: 50px;
    padding: 0;
    text-align: center;
    display: inline-block;
  }
}

/* SKUごとのカートエリア */
.sku .fa-heart:before {
  font-size: 34px;
}

.sku-img img {
  border-radius: 50%;
}

/* 読み物部分 */
.detailArticle {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: 30px;
  box-sizing: content-box;
}
@media (max-width: 767px) {
  .detailArticle {
    padding-inline: 15px;
  }
}

.detailArticle-localNav {
  font-size: 14px;
  display: flex;
  justify-content: center;
  gap: 19px;
  margin-bottom: 26px;
}
.detailArticle-localNav li {
  margin-bottom: 0;
}
.detailArticle-localNav a {
  min-width: 110px;
  text-align: center;
  display: inline-block;
  padding-block: 7px;
  padding-inline: 22px 18px;
  width: max-content;
  border: 1px solid #000000;
}
.detailArticle-localNav a span, .detailArticle-localNav a svg {
  vertical-align: middle;
}
.detailArticle-localNav a span {
  margin-right: 6px;
}
.detailArticle-localNav a .c-carret-right {
  height: 13px;
  width: 11px;
  rotate: 90deg;
  stroke-width: 2px;
}
@media (max-width: 767px) {
  .detailArticle-localNav {
    overflow-x: scroll;
    justify-content: flex-start;
    gap: 10px;
  }
}

.detailArticleHero {
  margin-bottom: 27px;
}
.detailArticleHero img {
  width: 100%;
}

.detailArticleHero-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  padding-left: 16px;
  position: relative;
}
.detailArticleHero-title:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 26px;
  background-color: var(--keyColor);
  left: 0;
  top: 3px;
}
@media (min-width: 1075px) {
  .detailArticleHero-title {
    max-width: 890px;
    margin-inline: auto;
  }
}

.detailArticleHero-text {
  font-size: 16px;
  line-height: 1.5;
}
@media (min-width: 1075px) {
  .detailArticleHero-text {
    max-width: 890px;
    margin-inline: auto;
  }
}

.detailArticleVariation {
  padding-top: 70px;
}
@media (min-width: 1075px) {
  .detailArticleVariation .detailArticle-itemList {
    margin-inline: -40px;
  }
}

.detailArticle-heading {
  margin-bottom: 36px;
}
.detailArticle-heading span:first-child {
  display: block;
  text-align: center;
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 6px;
}
.detailArticle-heading span:last-child {
  display: block;
  text-align: center;
  font-size: 14px;
  color: var(--keyColor);
  font-weight: 400;
  font-family: "EB Garamond", serif;
}

.detailArticle-itemList {
  margin-bottom: 100px;
  margin-inline: auto;
  padding-inline: 40px;
  position: relative;
  --swiper-navigation-sides-offset: 0px;
  --swiper-navigation-color: #000000;
  --swiper-navigation-size: 24px;
}
.detailArticle-itemList .swiper {
  position: static;
  width: 100%;
}
.detailArticle-itemList .swiper-slide {
  width: 164px;
}
.detailArticle-itemList .swiper-button-prev {
  width: calc(var(--swiper-navigation-size) / 24 * 14.38);
  height: var(--swiper-navigation-size);
}
.detailArticle-itemList .swiper-button-next {
  width: calc(var(--swiper-navigation-size) / 24 * 14.38);
  height: var(--swiper-navigation-size);
}
@media (max-width: 767px) {
  .detailArticle-itemList {
    padding-inline: 0;
  }
  .detailArticle-itemList .swiper-slide {
    width: 145px;
  }
}

.detailArticle-itemThumbnail {
  margin-bottom: 14px;
}
.detailArticle-itemThumbnail img {
  width: 100%;
}

.detailArticle-itemTitle {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 10px;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 767px) {
  .detailArticle-itemTitle {
    font-size: 13px;
  }
}

.detailArticle-itemPrice {
  font-size: 14px;
}
@media (max-width: 767px) {
  .detailArticle-itemPrice {
    font-size: 12px;
  }
}

.detailArticleUser {
  background-color: #f8f8f8;
  padding-block: 54px 60px;
  padding-inline: 30px;
}
@media (max-width: 767px) {
  .detailArticleUser {
    padding-block: 36px 40px;
    padding-inline: 20px;
  }
}

.detailArticleUser-heading {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 34px;
}
@media (max-width: 767px) {
  .detailArticleUser-heading {
    margin-bottom: 24px;
  }
}

.detailArticleUser-list {
  max-width: 790px;
  margin-inline: auto;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  row-gap: 24px;
  column-gap: 4%;
}
.detailArticleUser-list li {
  margin-bottom: 0;
  flex-basis: 48%;
  display: flex;
  gap: 12px;
}
.detailArticleUser-list img {
  width: 28px;
  height: 25px;
}
.detailArticleUser-list span {
  vertical-align: middle;
}
@media (max-width: 767px) {
  .detailArticleUser-list {
    font-size: 14px;
    flex-direction: column;
    row-gap: 6px;
  }
  .detailArticleUser-list li {
    flex-basis: 100%;
  }
}

.detailArticlePoint {
  padding-top: 70px;
}

.detailArticlePoint-cols {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .detailArticlePoint-cols {
    display: block;
  }
  .detailArticlePoint-cols + .detailArticlePoint-cols {
    margin-top: 40px;
  }
}

.detailArticlePoint-cols:nth-of-type(2n) {
  flex-direction: row-reverse;
}

.detailArticlePoint-visual {
  flex-basis: 50%;
}
@media (max-width: 767px) {
  .detailArticlePoint-visual {
    margin-bottom: 10px;
  }
}

.detailArticlePoint-body {
  flex-basis: calc(50% - 40px);
}

.detailArticlePoint-heading {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 19px;
  position: relative;
  padding-left: 16px;
}
.detailArticlePoint-heading:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 26px;
  background-color: var(--keyColor);
  left: 0;
  top: 7px;
}

.detailArticlePoint-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
}

.detailArticlePoint-text {
  font-size: 16px;
  line-height: 1.5;
}

.detailArticleGallery {
  padding-top: 70px;
}

.detailArticleGallery-heading {
  text-align: center;
  font-size: 26px;
  margin-bottom: 34px;
}
.detailArticleGallery-heading > div {
  display: inline-block;
  position: relative;
  padding-inline: 40px;
}
.detailArticleGallery-heading > div svg:first-child {
  position: absolute;
  content: "";
  width: 22px;
  height: auto;
  left: 0;
  top: 6px;
  stroke-width: 2px;
}
.detailArticleGallery-heading > div svg:last-child {
  position: absolute;
  content: "";
  width: 22px;
  height: auto;
  right: 0;
  top: 6px;
  stroke-width: 2px;
}
@media (max-width: 767px) {
  .detailArticleGallery-heading {
    font-size: 20px;
  }
  .detailArticleGallery-heading > div {
    padding-inline: 30px;
  }
  .detailArticleGallery-heading > div svg:first-child {
    height: 100%;
    width: auto;
    aspect-ratio: 56/105;
    stroke-width: 1px;
    left: 10px;
  }
  .detailArticleGallery-heading > div svg:last-child {
    height: 100%;
    width: auto;
    aspect-ratio: 56/105;
    stroke-width: 1px;
    right: 10px;
  }
}

.detailArticleGallery-grid {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .detailArticleGallery-grid {
    gap: 8px;
  }
}

.detailArticleGallery-cell:first-child() {
  flex-basis: 100%;
}
.detailArticleGallery-cell:nth-child(2), .detailArticleGallery-cell:nth-child(3) {
  flex-basis: calc((100% - 20px) / 2);
}
.detailArticleGallery-cell:nth-child(4), .detailArticleGallery-cell:nth-child(5), .detailArticleGallery-cell:nth-child(6) {
  flex-basis: calc((100% - 40px) / 3);
}
@media (max-width: 767px) {
  .detailArticleGallery-cell:nth-child(2), .detailArticleGallery-cell:nth-child(3) {
    flex-basis: calc((100% - 8px) / 2);
  }
  .detailArticleGallery-cell:nth-child(4), .detailArticleGallery-cell:nth-child(5), .detailArticleGallery-cell:nth-child(6) {
    flex-basis: calc((100% - 16px) / 3);
  }
}

.detailArticleSpec {
  padding-top: 70px;
}

.detailArticleSpec-item {
  display: flex;
  border-bottom: 2px solid #eaeaea;
  padding-block: 16px;
  gap: 20px;
}
@media (min-width: 1075px) {
  .detailArticleSpec-item {
    padding-inline: 5%;
  }
}
@media (max-width: 767px) {
  .detailArticleSpec-item {
    display: block;
  }
}

.detailArticleSpec-name {
  font-size: 18px;
  font-weight: 600;
  flex-basis: 180px;
}

.detailArticleSpec-value {
  font-size: 16px;
  flex-basis: 77.7777%;
  flex-basis: calc(100% - 200px);
}

.detailArticleMaker {
  padding-top: 70px;
}

.detailArticleMaker-cols {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .detailArticleMaker-cols {
    display: block;
  }
}

.detailArticleMaker-visual {
  flex-basis: 50%;
}
@media (max-width: 767px) {
  .detailArticleMaker-visual {
    margin-bottom: 10px;
  }
}

.detailArticleMaker-body {
  flex-basis: calc(50% - 40px);
}

.detailArticleMaker-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 19px;
  position: relative;
  padding-left: 16px;
}
.detailArticleMaker-title:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 26px;
  background-color: var(--keyColor);
  left: 0;
  top: 7px;
}

.detailArticleMaker-text {
  font-size: 16px;
  line-height: 1.5;
}

.detailArticleHistory {
  background-color: #f8f8f8;
  margin-top: 40px;
  padding-block: 50px 60px;
}
@media (max-width: 767px) {
  .detailArticleHistory {
    padding-inline: 30px;
  }
}

.detailArticleHistory-heading {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 27px;
}

.detailArticleHistory-text {
  max-width: 740px;
  margin-inline: auto;
}

.detailArticleContents {
  padding-top: 70px;
}

.detailArticleContents-movie {
  width: 100%;
  margin-bottom: 10px;
}
.detailArticleContents-movie video {
  aspect-ratio: 1000/500;
  background-color: #cccccc;
}

.detailArticleContents-list {
  max-width: 100%;
  padding-inline: 40px;
  margin-top: 100px;
  margin-inline: auto;
  --swiper-navigation-sides-offset: 0px;
  --swiper-navigation-color: #000000;
  --swiper-navigation-size: 24px;
  position: relative;
}
.detailArticleContents-list .swiper {
  position: static;
}
.detailArticleContents-list .swiper-slide {
  aspect-ratio: 190/256;
  width: 200px;
}
.detailArticleContents-list .swiper-button-prev {
  width: calc(var(--swiper-navigation-size) / 24 * 14.38);
  height: var(--swiper-navigation-size);
}
.detailArticleContents-list .swiper-button-next {
  width: calc(var(--swiper-navigation-size) / 24 * 14.38);
  height: var(--swiper-navigation-size);
}
@media (max-width: 767px) {
  .detailArticleContents-list {
    padding-inline: 10px;
  }
  .detailArticleContents-list .swiper-slide {
    width: 145px;
  }
}

.detailArticleLineup {
  padding-top: 74px;
}
@media (min-width: 1095px) {
  .detailArticleLineup {
    margin-inline: -40px;
  }
}

/* レビュー */
.detailReview {
  padding-top: 74px;
  padding-bottom: 60px;
}
.detailReview .btn-review-post-wrap {
  text-align: center;
}
@media (min-width: 768px) {
  .detailReview .btn-review-post-wrap {
    position: static;
  }
}

/* チェックしたアイテム */
.checkedItem {
  max-width: 1200px;
  box-sizing: content-box;
  padding-inline: 30px;
  margin-inline: auto;
  padding-top: 74px;
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .checkedItem {
    padding-inline: 15px;
  }
}

.checkedItem-heading {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 19px;
  position: relative;
  padding-left: 16px;
}
.checkedItem-heading:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 26px;
  background-color: var(--keyColor);
  left: 0;
  top: 7px;
}
@media (max-width: 767px) {
  .checkedItem-heading {
    font-size: 16px;
    padding-left: 15px;
  }
  .checkedItem-heading:before {
    top: 0px;
  }
}

.checkedItem-list {
  display: flex;
  gap: 28px;
  overflow-x: auto;
  max-width: 100%;
}
.checkedItem-list li {
  flex-basis: 215px;
}
@media (max-width: 767px) {
  .checkedItem-list {
    gap: 9px;
    margin-right: -15px;
  }
  .checkedItem-list li {
    flex-basis: 148px;
  }
}

.checkedItem-thumb {
  margin-bottom: 16px;
}

.checkedItem-title {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 10px;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.checkedItem-price {
  font-size: 14px;
}

/* OFF率の帯 */
@media (max-width: 767.9px) {
  .product-item.sale figcaption {
    position: absolute;
    top: 7%;
    left: -33%;
    padding: 13px 40px 12px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    font-size: 11px;
  }
}
/* バリエーション表示 */
@media (max-width: 767.9px) {
  .sku {
    font-size: 12px;
  }
  .sku-img {
    width: 25%;
  }
  .sku td:not([class]) {
    width: 50%;
  }
  .sku .sku-option-name {
    width: 35%;
  }
  .sku-cart {
    width: 25%;
  }
  .sku-cart-wrap {
    gap: 10px;
  }
  .sku-cart .cart-btn {
    font-size: 10px;
    padding-block: 7px;
    border-radius: 15px;
  }
  .sku .fa-heart:before {
    font-size: 20px;
  }
  .sku-cart-wrap .add-btn, .sku-cart-wrap .sku-subscription, .sku-cart-wrap .sold-btn {
    flex-basis: 80%;
    width: max-content;
  }
  .sku-cart-wrap .add-btn a, .sku-cart-wrap .sku-subscription a, .sku-cart-wrap .sold-btn a {
    width: max-content;
  }
  .sku-cart-wrap .favorite-sku {
    flex-basis: 15%;
  }
}
/* =================================
ブランド一覧
================================= */
.content-wrap:has(.p-brandlist) {
  padding-inline: var(--paddingInline);
  box-sizing: content-box;
}

.p-brandlist-header {
  text-align: center;
  margin-bottom: 65px;
}
.p-brandlist-header h1 {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-brandlist-header h1:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-brandlist-header {
    margin-bottom: 40px;
  }
  .p-brandlist-header h1 {
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-brandlist-header h1:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

.p-brandlist-nav {
  margin-bottom: 64px;
}
.p-brandlist-nav [data-label] {
  margin-bottom: 10px;
  color: #d00010;
}
.p-brandlist-nav [data-label] p {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}
.p-brandlist-nav [data-body] p {
  text-align: center;
  margin-bottom: 27px;
}
.p-brandlist-nav [data-body] p._sp {
  display: none;
}
.p-brandlist-nav ul {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  font-size: 18px;
  gap: 9px;
  max-width: 390px;
  margin-inline: auto;
}
.p-brandlist-nav ul li {
  margin-bottom: 0;
  flex-basis: 48px;
  height: 48px;
}
.p-brandlist-nav ul li:last-child {
  flex-grow: 1;
}
.p-brandlist-nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000000;
  text-transform: uppercase;
  transition-property: background-color, border-color, color;
}
.p-brandlist-nav ul li a:hover {
  opacity: 1;
  background-color: #d00010;
  border-color: #d00010;
  color: white;
}
.p-brandlist-nav ul li._invalid a {
  pointer-events: none;
  background-color: #bfbfbf;
  border-color: #bfbfbf;
  color: #8c8c8c;
}

@media (max-width: 767px) {
  .p-brandlist-nav {
    margin-bottom: 34px;
    border: 1px solid #d00010;
    border-radius: 25px;
    padding-inline: 10px;
    padding-block: 10px;
    margin-inline: -5px;
  }
  .p-brandlist-nav [data-label] {
    margin-bottom: 0;
    position: relative;
    cursor: pointer;
  }
  .p-brandlist-nav [data-label]::after {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    top: calc(50% - 7px);
    right: 12px;
    rotate: 45deg;
  }
  .p-brandlist-nav [data-label] p {
    font-size: 16px;
  }
  .p-brandlist-nav [data-label]._open::after {
    rotate: -135deg;
  }
  .p-brandlist-nav [data-body] {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
  }
  .p-brandlist-nav [data-body] p {
    text-align: center;
    margin-bottom: 25px;
    font-size: 14px;
  }
  .p-brandlist-nav [data-body] p._sp {
    display: block;
    padding-top: 10px;
  }
  .p-brandlist-nav [data-body] p._pc {
    display: none;
  }
  .p-brandlist-nav ul {
    gap: 6px;
    font-size: 14px;
    padding-bottom: 30px;
  }
  .p-brandlist-nav ul li {
    flex-basis: 38px;
    height: 38px;
  }
}
.p-brandlist-section h2 {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid #d00010;
  margin-bottom: 40px;
  padding-bottom: 4px;
}
.p-brandlist-section + .p-brandlist-section {
  margin-top: 75px;
}
@media (max-width: 767px) {
  .p-brandlist-section h2 {
    font-size: 20px;
    margin-bottom: 25px;
  }
  .p-brandlist-section + .p-brandlist-section {
    margin-top: 50px;
  }
}

.p-brandlist-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  column-gap: 3.375%;
  row-gap: 36px;
}
@media (max-width: 767px) {
  .p-brandlist-list {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    column-gap: 2.6666666667%;
    row-gap: 20px;
  }
}

.p-brandCard h3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 13px;
  font-weight: normal;
  margin-bottom: 8px;
}
.p-brandCard h3 ._en {
  font-size: 20px;
  font-weight: 500;
  font-weight: 700;
  letter-spacing: 0.025em;
  vertical-align: middle;
  word-break: break-all;
}
.p-brandCard h3 ._ja {
  font-size: 14px;
  letter-spacing: 0.025em;
  vertical-align: middle;
  word-break: break-all;
}
@media (max-width: 767px) {
  .p-brandCard h3 h3 {
    flex-direction: column;
    align-items: flex-start;
  }
  .p-brandCard h3 ._en {
    font-size: 16px;
  }
}
.p-brandCard .c-moreButton {
  text-align: right;
  margin-top: 18px;
}

.p-brandCard-thumb {
  border-radius: 10px;
  border: 1px solid #eaeaea;
  overflow: hidden;
  aspect-ratio: 373.22/207.12;
  margin-bottom: 16px;
}
.p-brandCard-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-brandCard-description {
  letter-spacing: 0.025em;
}
@media (max-width: 767px) {
  .p-brandCard-description {
    font-size: 14px;
  }
}

/* =================================
カテゴリー一覧
================================= */
@media (max-width: 767px) {
  .p-categorylist {
    padding-inline: 15px;
  }
}

.p-categorylist-header {
  text-align: center;
  margin-bottom: 50px;
}
.p-categorylist-header h1 {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-categorylist-header h1:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-categorylist-header {
    margin-bottom: 40px;
  }
  .p-categorylist-header h1 {
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-categorylist-header h1:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

.p-categorylist-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  column-gap: 13px;
}
.p-categorylist-wrapper + .topSearch {
  margin-top: 100px;
}
@media (max-width: 767px) {
  .p-categorylist-wrapper {
    row-gap: 45px;
  }
  .p-categorylist-wrapper + .topSearch {
    margin-top: 78.5px;
  }
}

@media (min-width: 767.1px) {
  .p-categorylist-col {
    padding-right: 13px;
    border-right: 1px solid #d9d9d9;
  }
}

.p-categorylist-item:not(:first-child) {
  margin-top: 34px;
}
.p-categorylist-item.open button::after {
  content: none;
}
@media (max-width: 767px) {
  .p-categorylist-item:not(:first-child) {
    margin-top: 45px;
  }
}

.p-categorylist-label {
  background-color: #efefef;
  padding-block: 8px;
  padding-inline: 10px;
  position: relative;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.2;
}
.p-categorylist-label a {
  display: flex;
  gap: 5px;
  align-items: center;
}
.p-categorylist-label:only-child::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  right: 15px;
  top: calc(50% - 4px);
  transform: rotate(-45deg);
}
.p-categorylist-label button {
  background-color: transparent;
  border: none;
  padding: 0;
  display: none;
  width: 50px;
  height: 50px;
  position: absolute;
  top: calc(50% - 25px);
  right: 0;
  cursor: pointer;
}
.p-categorylist-label button:before, .p-categorylist-label button:after {
  position: absolute;
  content: "";
  width: 15px;
  height: 1px;
  background-color: #d00010;
  top: 50%;
  left: calc(50% - 7.5px);
}
.p-categorylist-label button:after {
  transform: rotate(90deg);
}
@media (max-width: 767px) {
  .p-categorylist-label {
    font-size: 16px;
    padding-block: 13px 12px;
    padding-right: 50px;
  }
  .p-categorylist-label:not(:only-child) button {
    display: block;
  }
}

.p-categorylist-thumb {
  flex-basis: calc((100% - 10px) * 0.3);
  flex-basis: 50px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-categorylist-thumb img {
  max-height: 50px;
  max-width: 50px;
}

.p-categorylist-body {
  flex-basis: calc((100% - 10px) * 0.7);
}
@media (max-width: 767px) {
  .p-categorylist-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
  }
}

.p-categorylist-list {
  padding-top: 16px;
}
.p-categorylist-list li {
  margin-bottom: 9px;
}
.p-categorylist-list li a {
  display: block;
}
@media (min-width: 767.1px) {
  .p-categorylist-list li:first-child {
    display: none;
  }
}
@media (max-width: 767px) {
  .p-categorylist-list {
    padding-inline: 20px;
    font-size: 14px;
    font-weight: 700;
  }
  .p-categorylist-list li {
    margin-bottom: 17px;
  }
}

/* =================================
利用規約
================================= */
.p-terms h1 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 60px;
}
.p-terms h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
}
.p-terms section {
  margin-bottom: 50px;
}
.p-terms p {
  line-height: 2;
}
.p-terms li {
  margin-bottom: 10px;
}
.p-terms section > ol > li {
  margin-bottom: 20px;
}
.p-terms section > ol {
  list-style: none;
  counter-reset: item;
  padding-left: 20px;
  margin-top: 10px;
}
.p-terms section > ol li {
  position: relative;
  padding-left: 20px;
}
.p-terms section > ol li::before {
  position: absolute;
  content: counter(item) ".";
  counter-increment: item;
  left: 0;
  top: 0;
}
.p-terms li > ol {
  counter-reset: subitem;
  list-style: none;
  padding-left: 20px;
  margin-top: 10px;
}
.p-terms li > ol li {
  position: relative;
  padding-left: 20px;
}
.p-terms li > ol li::before {
  position: absolute;
  content: "(" counter(subitem) ")";
  counter-increment: subitem;
  left: 0;
  top: 0;
}

/* =================================
免責事項
================================= */
.p-disclaimer h1 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 60px;
}
.p-disclaimer > p {
  margin-bottom: 20px;
}
.p-disclaimer ol {
  list-style: none;
  counter-reset: counter;
}
.p-disclaimer ol li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px;
}
.p-disclaimer ol li::before {
  position: absolute;
  content: counter(counter) ".";
  counter-increment: counter;
  left: 0;
  top: 0;
}

.p-pageTop {
  position: fixed;
  z-index: 10;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid var(--keyColor);
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 30px;
  right: 30px;
  background-color: #ffffff;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.5s ease;
}
.p-pageTop._shown {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 767px) {
  .p-pageTop {
    bottom: 15px;
    right: 15px;
  }
}

/* =================================
スタッフレビュー
================================= */
.p-staffreview-header {
  text-align: center;
  margin-bottom: 50px;
}
.p-staffreview-header h1 {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding-bottom: 13px;
}
.p-staffreview-header h1:before {
  position: absolute;
  content: "";
  background-color: var(--keyColor);
  width: 50px;
  height: 4px;
  left: calc(50% - 25px);
  bottom: 0;
}
@media (max-width: 767px) {
  .p-staffreview-header {
    margin-bottom: 40px;
  }
  .p-staffreview-header h1 {
    font-size: 18px;
    padding-bottom: 7px;
  }
  .p-staffreview-header h1:before {
    width: 25px;
    height: 2px;
    left: calc(50% - 13px);
  }
}

.p-staffreview-lead {
  text-align: center;
  margin-bottom: 70px;
  font-size: 18px;
}
@media (max-width: 767px) {
  .p-staffreview-lead {
    font-size: 16px;
    margin-bottom: 50px;
  }
}

aside {
  padding-inline: 0;
}

/* =================================
  営業日カレンダー
================================= */
.p-calendar {
  padding-block: 70px 90px;
}
.p-calendar .sunday {
  color: #d00010;
}
.p-calendar .saturday {
  color: #0068b7;
}
.p-calendar:not(.side-section) .p-calendar-wrap {
  padding-inline: var(--paddingInline);
}

.p-calendar-heading {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.025em;
  margin-bottom: 45px;
}

.p-calendar-wrap {
  display: flex;
  gap: 40px;
  max-width: 660px;
  width: 100%;
  margin-inline: auto;
}
.side-section .p-calendar-wrap {
  flex-direction: column;
  gap: 20px;
}
@media (max-width: 767px) {
  .p-calendar-wrap {
    flex-direction: column;
    max-width: 400px;
  }
}

.p-calendar-title {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.025em;
  margin-bottom: 25px;
}

.makeshop-calendar1,
.makeshop-calendar2 {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border: none;
  color: #404040;
  font-size: 20px;
  margin-bottom: 10px;
}
.makeshop-calendar1 tr,
.makeshop-calendar2 tr {
  border-bottom: 1px solid #cacaca;
  font-size: 20px;
}
.makeshop-calendar1 th,
.makeshop-calendar2 th {
  font-weight: normal;
}
.makeshop-calendar1 th, .makeshop-calendar1 td,
.makeshop-calendar2 th,
.makeshop-calendar2 td {
  border: none;
}
.makeshop-calendar1 td.today,
.makeshop-calendar2 td.today {
  background-color: #ffffff;
  color: inherit;
}
.makeshop-calendar1 thead,
.makeshop-calendar2 thead {
  border: none;
}
.makeshop-calendar1 tbody tr th,
.makeshop-calendar2 tbody tr th {
  padding-inline: 0;
}
.makeshop-calendar1 tbody tr td,
.makeshop-calendar2 tbody tr td {
  padding-block: 10px;
  padding-inline: 0;
}
@media (max-width: 767px) {
  .makeshop-calendar1,
  .makeshop-calendar2 {
    font-size: 13px;
  }
  .makeshop-calendar1 tr,
  .makeshop-calendar2 tr {
    font-size: 13px;
  }
  .makeshop-calendar1 tbody tr td,
  .makeshop-calendar2 tbody tr td {
    padding-block: 6px;
  }
}

.side-section .p-calendar {
  padding-block: 50px 90px;
}
.side-section .makeshop-calendar1,
.side-section .makeshop-calendar2 {
  font-size: 13px;
}
.side-section .makeshop-calendar1 tr,
.side-section .makeshop-calendar2 tr {
  font-size: 13px;
}