/*font-style*/
.txt--xxxl {
  font-family: A1 Mincho;
  font-size: 38px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

h1,
.txt--xxl {
  font-family: A1 Mincho;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

h2,
.txt--xl {
  font-family: A1 Mincho;
  font-size: 26px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

h3,
.txt--l {
  font-family: A1 Mincho;
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

h4,
.txt--m {
  font-family: A1 Mincho;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

p,
.txt--s {
  font-family: A1 Mincho;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.txt--s_bold {
  font-family: A1 Mincho;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.txt--s_bold-gothic {
  font-family: Hiragino Kaku Gothic W6 JIS2004;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
}

.txt--s_gothic {
  font-family: Hiragino Kaku Gothic W3 JIS2004;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}

.txt--xs {
  font-family: A1 Mincho;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.txt--xxs {
  font-family: A1 Mincho;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.txt--xxxs {
  font-family: A1 Mincho;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

@media only screen and (max-width: 767px) {
  h1 {
    font-size: 26px;
  }
  h2 {
    font-size: 22px;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 14px;
  }
  p {
    font-size: 14px;
  }
  .txt--xxxl {
    font-size: 32px;
  }
  .txt--xxl {
    font-size: 26px;
  }
  .txt--xl {
    font-size: 22px;
  }
  .txt--l {
    font-size: 18px;
  }
  .txt--m {
    font-size: 14px;
  }
  .txt--s {
    font-size: 14px;
  }
}

.linkTxt:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/*color*/
:root {
  --black: #000;
  --gray-900: #111;
  --gray-800: #333;
  --gray-700: #666;
  --gray-600: #777;
  --gray-500: #999;
  --gray-400: #ccc;
  --gray-300: #ddd;
  --gray-200: #eee;
  --gray-100: #f5f5f5;
  --white: #fff;
  --LESANGES-brown: #2a1f15;
  --LESANGES-light-blown: #a18300;
  --beige: #faf8f1;
  --alert: #cc0000;
}

/*font-style*/
.alert {
  color: var(--alert, #c00);
}

.link {
  color: var(--gray-800, #333);
  font-family: A-OTF Ryumin Pro;
  font-size: 16px;
  font-style: normal;
  font-weight: 550;
  line-height: 160%;
  text-decoration: underline;
}
.link:hover {
  color: var(--black, #000);
}

/*grid*/
/*コンテンツ幅*/
.container {
  width: 1224px;
  margin: 0 auto;
}

/*1column-1224px*/
.grid-container-12 {
  display: grid;
  width: 1224px;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

/*1column-1016px*/
.grid-container-10 {
  display: grid;
  width: 1016px;
  grid-template-columns: repeat(10, 1fr);
  gap: 24px;
}

/*1column-808px*/
.grid-container-8 {
  display: grid;
  width: 808px;
  grid-template-columns: repeat(8, 1fr);
  gap: 24px;
}

.grid--item-12 {
  grid-column: span 12;
}
.grid--item-11 {
  grid-column: span 11;
}

/*3column-1016px*/
.grid--item-10 {
  grid-column: span 10;
}
.grid--item-9 {
  grid-column: span 9;
}

/*2column-808px*/
/*3column-808px*/
.grid--item-8 {
  grid-column: span 8;
}

/*2column-704px*/
.grid--item-7 {
  grid-column: span 7;
}

/*2column-600px*/
/*3column-600px*/
.grid--item-6 {
  grid-column: span 6;
}

/*2column-496px*/
.grid--item-5 {
  grid-column: span 5;
}

/*2column-392px*/
/*3column-392px*/
/*4column-392px*/
.grid--item-4 {
  grid-column: span 4;
}

/*3column-288px*/
/*4column-288px*/
.grid--item-3 {
  grid-column: span 3;
}

/*3column-184px*/
/*4column-184px*/
/*6column-184px*/
.grid--item-2 {
  grid-column: span 2;
}

/*3column-80px*/
.grid--item-1 {
  grid-column: span 1;
}

@media only screen and (max-width: 1224px) {
  .container {
    width: 100%;
    padding: 0 40px;
  }

  .grid-container-12 {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .container {
    padding: 0 15px;
  }
}

/*header*/
header {
  position: relative;
  display: flex;
  padding: 30px 64px 20px 64px;
  justify-content: space-between;
  align-items: center;
  height: auto;
}

.menu-header {
  display: none;
  cursor: pointer;
  width: 25px;
}

.close-header {
  cursor: pointer;
  width: 25px;
}

.navigation-header-container {
  display: flex;
  gap: 60px;
  color: var(--LESANGES-brown);
}

.navigation-header {
  display: flex;
  flex-direction: row;
  gap: 24px;
}

.--arrow-down {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.navigation-header-icon {
  display: flex;
  align-items: center;
  gap: 24px;
}

.dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 1;
  padding-top: 40px;
  padding-bottom: 80px;
}

.items-menu-container {
  display: grid;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 128px;
  row-gap: 24px;
}

.items-menu {
  display: flex;
  align-items: center;
  gap: 24px;
}

.navigation {
  overflow-y: scroll;
  position: fixed;
  z-index: 100;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  transition: 0.3s all cubic-bezier(0.4, 0, 0.2, 1);
}

.navigation.-show {
  display: block;
  left: 0;
}

.navigation-list li a {
  display: block;
  /* padding: 15px 0; */
  padding: 15px 0;
}

.navigation-list li span {
  display: flex;
  gap: 4px;
  padding: 15px 0;
}

.navigation-list-border {
  height: 1px;
  background-color: #eee;
}

.sp-toggle-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.sp-toggle-list-item {
  width: calc((100% - 15px) / 2);
}

.sp-toggle-list .sp-toggle-list-item a {
  padding: 0;
  letter-spacing: -0.1em;
}

.sp-toggle-list-item img {
  width: 96px;
}

.sp-toggle.on svg {
  transform: rotate(180deg);
}

@media only screen and (max-width: 1224px) {
  .items-menu-container {
    column-gap: 0;
  }
}

@media only screen and (max-width: 767px) {
  header {
    padding: 22px 18px 14px;
  }

  .menu-header {
    display: block;
  }

  .logo-header {
    width: 150px;
  }

  .navigation-header {
    display: none;
    gap: 12px;
  }

  .navigation-header-icon li {
    display: none;
  }

  .navigation-header-icon li:last-child {
    display: block;
  }

  .navigation-header-container {
    gap: 30px;
  }
}

/*footer*/
footer {
  color: var(--white);
  background: var(--LESANGES-brown);
}

.logo-footer-container {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 80px;
  padding-top: 26px;
}

.logo-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.navigation-footer {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.navigation-footer-container {
  margin-top: 40px;
}

.navigation-footer-logo {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}

.navigation-s-footer {
  padding-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .logo-footer-container {
    gap: 10px;
    justify-content: space-around;
  }
}

/*price*/
.item--price-figure {
  color: var(--gray-800, #333);
  font-family: A1 Mincho;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  margin-right: 4px;
}

.item--price-yen {
  color: var(--gray-800, #333);
  font-family: A1 Mincho;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

/*xl+xxs*/
.item--price-size1 .item--price-figure {
  font-size: 26px;
}
.item--price-size1 .item--price-yen {
  font-size: 12px;
}

/*l+xxs*/
.item--price-size2 .item--price-figure {
  font-size: 22px;
}
.item--price-size2 .item--price-yen {
  font-size: 12px;
}

/*m+xxs*/
.item--price-size3 .item--price-figure {
  font-size: 18px;
}
.item--price-size3 .item--price-yen {
  font-size: 12px;
}

/*xs+xxs*/
.item--price-size4 .item--price-figure {
  font-size: 14px;
  margin-right: 2px;
}
.item--price-size4 .item--price-yen {
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .item--price-figure {
    margin: 0;
  }
  /*l+xxs*/
  .item--price-size2 .item--price-figure {
    font-size: 12px;
  }
}

/*button*/
.button {
  color: var(--LESANGES-brown);
  border: 1px solid var(--LESANGES-brown, #2a1f15);
  padding: 8px 16px;
  gap: 4px;
}

/*relational*/
.relational-container {
  display: flex;
  flex-direction: column;
}

.item--relational {
  display: flex;
  gap: 24px;
  padding-bottom: 24px;
  flex-wrap: wrap;
}

.item--relational-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 288px;
  gap: 12px;
}

.item--relational-box a {
  display: grid;
  gap: 12px;
  /* aspect-ratio: 1; */
}

.item--relational-box a img {
  object-fit: cover;
  height: 100%;
}

.item--relational-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.item--relational-btn {
  background: var(--LESANGES-brown, #2a1f15);
  color: var(--white, #fff);
  text-align: center;
  font-family: Hiragino Kaku Gothic W6 JIS2004;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
  display: flex;
  padding: 8px;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .item--relational {
    justify-content: space-between;
  }

  .item--relational-box {
    width: 45%;
  }

  .item--relational-btn {
    font-size: 12px;
  }
}

/*sort*/
.sort-container {
  display: flex;
  justify-content: space-between;
}

.sort-container-list {
  display: flex;
  gap: 16px;
}

.sort-container-list-sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .sort-container-list {
    display: none;
  }

  .sort-container-list-sp {
    display: block;
  }
}

/*info*/
.info-container {
  margin: 40px auto;
}

.info-list {
  display: flex;
  gap: 24px;
  color: var(--LESANGES-brown);
  align-items: center;
}

.info-list-txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

@media only screen and (max-width: 767px) {
  .info-list-container {
    display: flex;
    flex-direction: column;
  }
}

/*微修正*/
.thumbnail_info_ad {
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.w184 {
  width: 184px;
  height: auto;
  object-fit: contain;
}
