@viewport {
  width: extend-to-zoom 100%;
  zoom: 1.0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  position: relative;
  font-size: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

body {
  margin: 0;
  color: #333333;
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "メイリオ", Meiryo, sans-serif;
}

@media (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

a {
  transition: all .3s ease-in-out;
}

.wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 50px 0 30px;
}

@media (max-width: 767px) {
  .wrap {
    padding: 0 20px;
  }
}

.pc-only {
  display: block;
}

@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}

@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.mt1rem {
  margin-top: 1rem !important;
}

/* Header
--------------------------------------------- */
.site-header {
  background-color: #FFFFFF;
}

@media (max-width: 767px) {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 76px;
    padding: 4px 0;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
  }
}

.site-header .site-header__inner {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;

}

.site-header .site-header-logo {
  display: -moz-grid;
  display: -ms-grid;
  display: grid;
  grid-template-columns: 132px 60px 121px;
  grid-template-rows: 1fr;
  align-items: center;
  gap: 0 16px;
}

@media (max-width: 767px) {
  .site-header .site-header-logo {
    grid-template-columns: 38.25% 18.25% 44.5%;
    gap: 0 8px;
  }
}

.site-header .site-header-logo__logo {
  width: 100%;
  margin: 0;
}

.site-header .site-header-logo__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}


@media (max-width: 767px) {
  .site-header .site-header-logo__logo img {
    max-height: 68px;
  }
}

.site-header .site-header-logo__anniv {
  width: 100%;
  margin: 0;
}

.site-header .site-header-logo__anniv img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 767px) {
  .site-header .site-header-logo__anniv img {
    max-height: 68px;
  }
}

.site-header .site-header-logo__txt p {
  font-size: 12px;
  font-family: 400;
  line-height: 20px;
}

@media (max-width: 767px) {
  .site-header .site-header-logo__txt p {
    font-size: 10px;
  }
}

.site-header .site-header-nav__list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 24px;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 767px) {
  .site-header .site-header-nav__list {
    gap: 0 16px;
  }
}

.site-header .site-header-nav__list li {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  list-style-type: none;
}

.site-header .site-header-nav__list li img {
  display: block;
  width: auto;
  height: 30px;
  margin: 0 auto 4px;
}

.site-header .site-header-nav__list li a {
  color: #041B46;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.site-header .site-header-nav__list li button {
  border: none;
  background-color: transparent;
}

.site-header .site-header-nav__list li a:hover {
  opacity: .6;
  filter: opacity(60%);
}

@media (max-width: 767px) {
  .site-header .site-header-nav__list li span.txt {
    display: none;
  }
}

.site-header .site-header-nav__list li.search #search {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  width: 300px;
}

.site-header .site-header-nav__list li.search input {
  width: calc(100% - 41px);
  height: 41px;
  padding: 6px 12px;
  border-top: 1px solid #041B46;
  border-right: none;
  border-bottom: 1px solid #041B46;
  border-left: 1px solid #041B46;
}

.site-header .site-header-nav__list li.search button {
  width: 41px;
  height: 41px;
  padding: 10px 12px;
  border-top: 1px solid #041B46;
  border-bottom: 1px solid #041B46;
  border-right: 1px solid #041B46;
  border-left: none;
  background-color: #FFFFFF;
}

.site-header .site-header-nav__list li.search img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.site-header .site-header-nav__list li.view_cart {
  position: relative;
}

.site-header .site-header-nav__list li.view_cart span.count {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background-color: #FF2E00;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
}

.site-header .site-header-nav__list li.menu button {
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

/* Header smartphone
--------------------------------------------- */
.sp-header-nav {
  display: none;
  position: fixed;
  top: 76px;
  left: 0;
  z-index: 99999;
  overflow-y: scroll !important;
  width: 100%;
  height: calc(100vh - 76px);
  padding: 0;
  background: #FFFFFF;
}

.sp-header-nav a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.sp-header-nav .sp-header-nav__search #search {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  padding: 1rem 20px 1.5rem 20px;
}

.sp-header-nav .sp-header-nav__search input {
  width: calc(100% - 41px);
  height: 41px;
  padding: 6px 12px;
  border-top: 1px solid #041B46;
  border-right: none;
  border-bottom: 1px solid #041B46;
  border-left: 1px solid #041B46;
}

.sp-header-nav .sp-header-nav__search button {
  width: 41px;
  height: 41px;
  padding: 10px 12px;
  border-top: 1px solid #041B46;
  border-bottom: 1px solid #041B46;
  border-right: 1px solid #041B46;
  border-left: none;
  background-color: #FFFFFF;
}

.sp-header-nav .sp-header-nav__search img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.sp-header-nav .sp-header-tab-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.sp-header-nav .sp-header-tab-list li {
  width: 50%;
  padding: 1rem 0;
  background-color: #FFFFFF;
  color: #040404;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  list-style-type: none;
}

.sp-header-nav .sp-header-tab-list li.is-active {
  background-color: #041B46;
  color: #FFFFFF;
}

.sp-header-nav .sp-header-tab-list li img {
  display: inline-block;
  margin-right: 4px;
  width: 18px;
  height: auto;
  object-fit: contain;
  vertical-align: -2px;
}

.sp-header-nav .sp-header-tab-content {
  display: none;
  width: 100%;
  padding: .5rem 20px;
}

.sp-header-nav .sp-header-tab-content.is-show {
  display: block;
}

.sp-header-nav .sp-header-tab-column {
  z-index: 1;
  padding: 1rem 0;
  background-color: #FFFFFF;
}

.sp-header-nav .sp-header-tab-column h4 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin: 0;
  color: #041B46;
  font-size: 1rem;
  font-weight: 700;
}

.sp-header-nav .sp-header-tab-column a {
  color: #041B46;
  font-weight: 700;
  text-decoration: none;
}

.sp-header-nav .sp-header-gift-list {
  margin: .75rem 0 0 0;
  padding: 0;
  background-color: #F6F5F1;
  list-style-type: none;
}

.sp-header-nav .sp-header-gift-list li {
  padding: 1rem 1rem 0 1rem;
  list-style-type: none;
}

.sp-header-nav .sp-header-gift-list li:last-child {
  padding: 1rem;
}

.sp-header-nav .sp-header-gift-list a {
  display: block;
  color: #041B46;
  text-decoration: none;
}

.sp-header-nav .sp-header-tab__title {
  padding: 1rem 0;
}

.sp-header-nav .sp-header-menu-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.sp-header-nav .sp-header-menu-list li {
  width: calc(50% - 8px);
  margin: 0;
  padding: 0;
  background-color: #F6F5F1;
  list-style-type: none;
}

.sp-header-nav .sp-header-menu-list img {
  width: 38px;
  height: auto;
  margin-right: 1rem;
  object-fit: contain;
}

.sp-header-nav .sp-header-menu-list a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  padding: .5rem 1rem;
  color: #041B46;
  font-weight: 700;
  text-decoration: none;
}

.sp-header-nav .sp-header-tab-banner {
  width: 100%;
  margin: 0;
  padding: 1rem 0 1.5rem;
}

.sp-header-nav .sp-header-tab-banner__item {
  width: 100%;
  margin: 0;
  padding: 0;
}

.sp-header-nav .sp-header-tab-banner__item a {
 display: block;
}

.sp-header-nav .sp-header-tab-banner__item img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sp-header-nav .sp-header-banner {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  width: 100%;
  margin: 0;
  padding: 0 20px 1.5rem;
}

.sp-header-nav .sp-header-banner .sp-header-banner__item {
  width: calc(50% - 8px);
  margin: 0;
  padding: 0;
}

.sp-header-nav .sp-header-banner .sp-header-banner__item img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sp-header-nav .sp-header-banner .sp-header-banner__item.one-column {
  width: 100%;
}

.sp-header-nav .sp-header-nav-link-list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.sp-header-nav .sp-header-nav-link-list li {
  border-top: 1px solid #333333;
  list-style-type: none;
}

.sp-header-nav .sp-header-nav-link-list li:last-child {
  border-bottom: 1px solid #333333;
}

.sp-header-nav .sp-header-nav-link-list a {
  display: block;
  position: relative;
  padding: 1rem 20px;
  color: #041B46;
  text-decoration: none;
}

.sp-header-nav .sp-header-nav-link-list a::after {
  content: '\f105';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 16px;
  font-size: 14px;
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  transform: translateY(-50%);
}

.sp-header-nav .sp-header-nav-sns {
  padding: 40px 0;
}

.sp-header-nav .sp-header-nav-sns ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 0;
  list-style-type: none;
}

.sp-header-nav .sp-header-nav-sns ul li {
  list-style-type: none;
}

.sp-header-nav .sp-header-nav-sns ul li.title {
  display: block;
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

.sp-header-nav .sp-header-nav-sns a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  color: #333333;
  font-size: 14px;
  text-decoration: none;
}

.sp-header-nav .sp-header-nav-sns a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.sp-header-nav .sp-header-nav-sns img {
  margin-right: 0;
}

.sp-header-nav .sp-header-nav-sns .copyright {
  font-size: 12px;
  text-align: center;
}

/* Footer
--------------------------------------------- */
.site-footer {
  position: relative;
  width: 100%;
  background-color: #F6F5F1;
}

.site-footer .site-footer__inner {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 0 64px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 0 32px;
}

@media (max-width: 767px) {
  .site-footer .site-footer__inner {
    flex-wrap: wrap;
    gap: 16px 0;
    width: 100%;
    padding: 40px 0 0;
  }
}

.site-footer .site-footer-logo {
  width: 159px;
}

.site-footer .site-footer-logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 767px) {
  .site-footer .site-footer-list {
    width: 100%;
    margin: 0 1rem;
    border-bottom: 1px solid #333333;
  }
}

.site-footer .site-footer-list h3 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin: 0;
  padding: 0 0 1rem 0;
  color: #041B46;
  font-size: 1rem;
  font-weight: 700;
}

.site-footer .site-footer-list span {
  display: none;
}

@media (max-width: 768px) {
  .site-footer .site-footer-list span {
    display: inline-block;
  }
}

.site-footer .site-footer-list.open span::after {
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .site-footer .site-footer-list .accordion-content {
    display: block !important;
  }
}

.site-footer .site-footer-list ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.site-footer .site-footer-list ul li {
  margin: 0;
  padding: 0 0 .75rem 0;
  white-space: nowrap;
  list-style-type: none;
}

.site-footer .site-footer-list ul li:last-child {
  padding: 0 0 1rem 0;
}

.site-footer .site-footer-list p {
  white-space: nowrap;
}

.site-footer .site-footer-list a {
  color: #333333;
  font-size: 14px;
  text-decoration: none;
}

.site-footer .site-footer-list a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.site-footer .site-footer-list .phone {
  margin-top: 0;
  font-size: 12px;
}

.site-footer .site-footer-list .phone img {
  margin-right: 4px;
}

.site-footer .site-footer-list .phone a {
  font-size: 20px;
  font-weight: 700;
}

.site-footer .site-footer-list .copyright {
  margin-top: 128px;
  font-size: 12px;
}

.site-footer .site-footer-sns {
  padding: 32px 0 64px;
  border-top: 1px solid #333333;
}

@media (max-width: 1024px) {
  .site-footer .site-footer-sns {
    padding: 40px 0 80px;
    border-top: none;
  }
}

.site-footer .site-footer-sns ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 32px;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 1024px) {
  .site-footer .site-footer-sns ul {
    flex-wrap: wrap;
    gap: 8px 24px;
  }
}

.site-footer .site-footer-sns ul li {
  list-style-type: none;
}

.site-footer .site-footer-sns ul li.title {
  font-size: 16px;
  font-weight: 700;
}

@media (max-width: 1024px) {
  .site-footer .site-footer-sns ul li.title {
    display: block;
    width: 100%;
    text-align: center;
  }
}

.site-footer .site-footer-sns a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  color: #333333;
  font-size: 14px;
  text-decoration: none;
}

.site-footer .site-footer-sns a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.site-footer .site-footer-sns img {
  margin-right: 8px;
}

@media (max-width: 1024px) {
  .site-footer .site-footer-sns img {
    margin-right: 0;
  }
}

@media (max-width: 1024px) {
  .site-footer .site-footer-sns span {
    display: none;
  }
}

.site-footer .site-footer-sns .copyright {
  font-size: 12px;
  text-align: center;
}

/* Sidebar
--------------------------------------------- */
.sidebar {
  order: 1;
  width: 208px;
}

.sidebar a {
  color: #041B46;
  text-decoration: none;
}

.sidebar a:hover {
  opacity: .6;
  filter: opacity(60%);
}

@media (max-width: 1024px) {
  .sidebar {
    display: none;
  }
}

.sidebar .widget-title {
  width: 100%;
  margin: 0 0 1rem 0;
  color: #333333;
  font-size: 20px;
  font-weight: 700;
}

.sidebar .widget-title img {
  margin-right: 8px;
  width: 20px;
  height: auto;
  object-fit: contain;
}

.sidebar .sidebar-list {
  padding: 1rem 0;
  border-top: 1px solid #041B46;
}

.sidebar .sidebar-list ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.sidebar .sidebar-list ul li {
  padding: .75rem 0 0 1rem;
  list-style-type: none;
}

.sidebar .sidebar-list.last-list {
  border-bottom: 1px solid #041B46;
}

.sidebar .sidebar-list h4 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin: 0;
  color: #041B46;
  font-size: 1rem;
  font-weight: 700;
}

.sidebar .menu-list ul li a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  color: #041B46;
  font-weight: 700;
}

.sidebar .menu-list ul li img {
  width: 38px;
  height: auto;
  margin-right: 1rem;
  object-fit: contain;
}

.sidebar .sidebar-banner {
  margin: 40px 0;
}

.sidebar .sidebar-banner dd {
  margin: 0 0 1rem 0;
}

.sidebar .sidebar-banner dd:last-child {
  margin: 0;
}

/* site Content
--------------------------------------------- */
.site-container {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 0 24px;
  margin: 40px 0 120px 0;
}

@media (max-width: 768px) {
  .site-container {
    flex-wrap: wrap;
    margin: 76px auto 80px auto;
  }
}

.main-content {
  order: 2;
  width: calc(100% - 242px);
  max-width: 1080px;
}

@media (max-width: 1080px) {
  .main-content {
    width: 100%;
  }
}

.main-content .page-title {
  width: 100%;
  margin-top: 40px;
}

.main-content .page-title h1 {
  font-size: 40px;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .main-content .page-title h1 {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
  }
}

.main-content .page-thumb {
  width: 100%;
}

.main-content .page-thumb h1 {
  margin: 0;
}

.main-content .page-thumb img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Accordion
--------------------------------------------- */

.accordion-btn span {
  position: relative;
  width: 16px;
  height: 16px;
}

.accordion-btn span::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 1px;
  background-color: #041B46;
  transform: translateY(-50%);
}

.accordion-btn span::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 1px;
  background-color: #041B46;
  transform: translateY(-50%) rotate(90deg);
}

.accordion-btn.open span::after {
  transform: translateY(-50%);
}

.accordion-content {
  display: none;
}

/* Product
--------------------------------------------- */
.product-list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.product-list .product-list__item {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.product-list .product-list__item .product-list__item-thumb {
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.product-list .product-list__item .product-list__item-thumb img {
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 4 / 3;
}

.product-list .product-list__item .product-list__item-txt h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 48px;
  margin: 1rem 0 .5rem 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 700;
}

@media (max-width: 768px) {
  .product-list .product-list__item .product-list__item-txt h3 {
    -webkit-line-clamp: 3;
    height: 72px;
  }
}

.product-list .product-list__item .product-list__item-txt p {
  margin: 0;
  font-size: 15px;
}

.product-list .product-list__item a {
  display: block;
  color: #333333;
  text-decoration: none;
}

.product-list .product-list__item a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.product-list .product-list__item .cartjs_product_form {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  gap: .5rem;
}

.product-list .product-list__item .cartjs_box .cartjs_product_table table {
  margin: 0 !important;
  padding: 0 !important;
}

.product-list .product-list__item .cartjs_box .cartjs_product_table th {
  display: none;
}

.product-list .product-list__item .cartjs_box .cartjs_product_table td {
  margin: 0 !important;
  padding: 0 !important;
}

.product-list .product-list__item .cartjs_box .cartjs_product_table input {
  width: 32px !important;
  height: 32px;
  margin: 0 !important;
  border: 1px solid #A9A9A9;
}

.product-list .product-list__item .cartjs_box .cartjs_cart_in {
  position: relative;
  max-width: 132px;
  margin: 0 !important;
  transition: all .3s ease-in-out;
}

.product-list .product-list__item .cartjs_box .cartjs_cart_in:hover {
  opacity: .6;
  filter: opacity(60%);
}

.product-list .product-list__item .cartjs_box .cartjs_cart_in::before {
  content: '\f07a';
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 5px;
  width: 12px;
  height: 12px;
  color: #FFFFFF;
  font-size: 14px;
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
}

.product-list .product-list__item .cartjs_box .cartjs_cart_in input {
  width: 100% !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 3px 10px 3px 28px !important;
  border-radius: 5px !important;
  background-color: #D0BA78 !important;
  color: #FFFFFF;
  font-size: 14px !important;
  font-weight: 700;
}

.product-list .product-list__item .cartjs_box .cartjs_option {
  display: none;
}

/* sub group
--------------------------------------------- */
.c-product-group {
  position: relative;
  width: 100%;
  margin: 80px 0 0 0;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 768px) {
  .c-product-group {
    margin: 40px 0 0 0;
  }
}

.c-product-group-list {
  display: -moz-grid;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 32px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 480px) {
  .c-product-group-list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 1rem;
  }
}

.c-product-group-list li {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.c-product-group-list li a {
  display: block;
  width: 100%;
  padding: 1rem 0;
  border: 1px solid #041B46;
  border-radius: 5px;
  background-color: #FFFFFF;
  color: #041B46;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
}

.c-product-group-list li a:hover {
  background-color: #041B46;
  color: #FFFFFF;
}

.c-product-group-list li.is-active a {
  background-color: #041B46;
  color: #FFFFFF;
}

.c-product-group-list li.is-active a {
  background-color: #041B46;
  color: #FFFFFF;
}

/* product sort
--------------------------------------------- */
.c-product-sort {
  position: relative;
  width: 100%;
  margin: 80px 0 0 0;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 768px) {
  .c-product-sort {
    margin: 40px 0 0 0;
  }
}

.c-product-sort-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.c-product-sort-list li a {
  color: #333333;
  font-size: 1rem;
  text-decoration: none;
}

.c-product-sort-list li a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.c-product-sort-list li span {
  opacity: .6;
  filter: opacity(60%);
}

.c-product-sort-list li .c-product-sort-list__item-title {
  opacity: 1;
  filter: opacity(100%);
}

/* product content
--------------------------------------------- */
.c-product-content {
  position: relative;
  width: 100%;
  margin: 40px 0 0 0;
  padding: 0;
}

.c-product-content .c-product-list {
  display: -moz-grid;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  gap: 80px 1rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 768px) {
  .c-product-content .c-product-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 1rem;
  }
}

@media (max-width: 480px) {
  .c-product-content .c-product-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* product pager
--------------------------------------------- */
.c-product-pager {
  position: relative;
  width: 100%;
  margin: 40px 0 0 0;
  padding: 0;
}

.c-product-pager .c-product-pager-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 2rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.c-product-pager .c-product-pager-list li span {
  color: #333333;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: underline;
}

.c-product-pager .c-product-pager-list li a {
  color: #333333;
  font-size: 1rem;
  text-decoration: none;
}


/* Button
--------------------------------------------- */
.link-btn {
  display: inline-block;
  position: relative;
  min-width: 258px;
  padding: 1rem 0;
  border-radius: 50px;
  background-color: #333333;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.link-btn:hover {
  opacity: .6;
  filter: opacity(60%);
}

.link-btn i {
  margin-left: .5rem;
}

.link-btn.icon-arrow::after {
  content: '\f105';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 40px;
  width: 16px;
  height: 16px;
  color: #FFFFFF;
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  transform: translateY(-50%);
}

.btn.btn-soldout {
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 1rem;
  padding: 10px 0;
  border: none;
  border-radius: 5px;
  background-color: rgba(51, 51, 51, .3);
  color: #333333;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

/* MV
--------------------------------------------- */
.f-mv {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .f-mv {
    margin-top: 76px;
  }
}

.f-mv-slide {
  line-height: 0;
}

.f-mv-slide img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.f-mv-slide .bx-wrapper .bx-viewport {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  left: 0 !important;
}

.f-mv-special {
  position: relative;
  width: 100%;
  padding: 16px 0 24px;
  background-color: #F3AF00;
  text-align: left;
}

@media (max-width: 767px) {
  .f-mv-special {
    padding: 16px 1rem;
    text-align: center;
  }
}

.f-mv-special__inner {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.f-mv-special p.special-copy {
  color: #FFFFFF;
  font-size: 24px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .f-mv-special p.special-copy {
    font-size: 12px;
  }
}

.f-mv-special p.special-copy b {
  font-size: 40px;
}

@media (max-width: 767px) {
  .f-mv-special p.special-copy b {
    font-size: 24px;
  }
}

.f-mv-special p {
  margin: 0;
  padding: 0;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .025em;
}

@media (max-width: 767px) {
  .f-mv-special p {
    font-size: 12px;
    line-height: 1.4;
  }
}

/* message
--------------------------------------------- */
.f-message {
  position: relative;
}

.f-message .f-message__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
  position: relative;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 80px 0;
}

@media (max-width: 1024px) {
  .f-message .f-message__inner {
    padding: 80px 20px;
  }
}

@media (max-width: 767px) {
  .f-message .f-message__inner {
    flex-wrap: wrap;
    padding: 80px 20px;
  }
}

.f-message .f-message__txt {
  width: 50%;
  max-width: 412px;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .f-message .f-message__txt {
    width: 100%;
    max-width: none;
  }
}

.f-message .f-message__txt h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .f-message .f-message__txt h2 {
    font-size: 21px;
    line-height: 1.6;
  }
}

.f-message .f-message__txt p {
  margin: 1.5rem 0 0 0;
  font-size: 1rem;
  line-height: 2.1;
}

.f-message .f-message__link {
  width: 50%;
  max-width: 412px;
  text-align: right;
}

@media (max-width: 767px) {
  .f-message .f-message__link {
    width: 100%;
    max-width: none;
    margin-top: 1.5rem;
  }
}

.f-message .f-message__link a {
  color: #FFFFFF;
  font-size: 1rem;
  text-decoration: none;
}

.f-message .f-message__link a:hover {
  opacity: .6;
  filter: opacity(60%);
}

.f-message .f-message__link i {
  margin-left: .5rem;
}

.f-message .f-message-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.f-message .f-message-slider::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
}

.f-message .f-message-slider .slick-list,
.f-message .f-message-slider .slick-track {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.f-message .f-message-slider .slick-list div,
.f-message .f-message-slider .slick-list div img {
  width: auto;
  height: 100%;
  line-height: 0;
}