@charset "euc-jp";
/* CSS変数 ========================================================= */
:root {
  /* サイズ */
  --4px: 0.25rem;
  --8px: 0.5rem;
  --12px: 0.75rem;
  --14px: 0.875rem;
  --16px: 1rem;
  --18px: 1.125rem;
  --20px: 1.25rem;
  --24px: 1.5rem;
  --28px: 1.75rem;
  --32px: 2rem;
  --40px: 2.5rem;
  --48px: 3rem;
  --56px: 3.5rem;
  --64px: 4rem;
  --80px: 5rem;
  --100px: 6.25rem;
  --160px: 10rem;
  --180px: 11.25rem;
  --200px: 12.5rem;
  --270px: 16.785rem;
  --360px: 22.5rem;
  --480px: 30rem;
  --page-width: 96rem;
  --header-height: 105px;
  --header-bottom-position-desktop: 143px;

  /* 配色 */
  --white: #ffffff;
  --gray: #e6e6e6;
  --black: #000000;
  --black-alpha: #00000026;
  --gold: #cab270;
  --sky-blue: #4CB7DA;
}

/* ベース ========================================================= */
html {
  font-size: 16px;
}
body {
  box-sizing: content-box;
  margin: 0;
  padding: 0;
  background-color: var(--white);
  overflow-x: hidden;
  font-size: 0.94vw;
}
@media (max-width: 1279px) {
  body {
    font-size: var(--18px);
  }
}

header {
  margin: 0 auto 1.46vw;
  padding: 0 2.09vw;
  background: var(--white);
  border-bottom: 3px solid var(--gray);
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 999;
}
@media (max-width: 1279px) {
  header {
    margin: 0 auto var(--28px);
    padding: var(--12px) var(--40px);
  }
}
.announcement-bar {
  flex: 1 0 100%;
  margin: 0 calc(50% - 50vw);
  padding: 0.209vw 2.09vw;
  width: 100vw;
  background: #ff5757;
  color: #fff;
  display: none;
  text-align: center;
  font-size: 0.835vw;
}
@media (max-width: 1279px) {
  .announcement-bar {
    padding: var(--4px) var(--40px);
    font-size: var(--16px);
  }
}
.logo--header {
  margin: 0.42vw 0;
  max-width: 10.45vw;
}
@media (max-width: 1279px) {
  .logo--header {
    margin: var(--8px) auto;
    max-width: var(--360px);
  }
  header:has(.icon_only--wrap) .logo--header {
    margin: var(--8px) 0;
  }
}

.logo--header a,
.logo-header img {
  width: 100%;
  display: block;
}

.icon_only--list {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.835vw;
  list-style: none;
}
.icon_only--item form {
  margin: 0;
}

main {
  margin: 0 auto 4.17vw;
}
@media (max-width: 1279px) {
  main {
    margin: 0 auto var(--80px);
  }
}

footer {
  margin: 0 auto;
  border-top: 1px solid var(--gray);
  display: flex;
  flex-flow: column wrap;
}
.footer--container {
  margin: 0 auto;
  padding: 1.46vw 2.09vw;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3.335vw;
}
@media (max-width: 1279px) {
  .footer--container {
    padding: var(--28px) var(--40px);
    gap: var(--64px);
  }
}
.logo--footer {
  flex: 1 0 30%;
  margin: 0;
  max-width: 10.45vw;
}
@media (max-width: 1279px) {
  .logo--footer {
    max-width: var(--200px);
  }
}
.footer_navigation {
  flex: 1 0 60%;
  display: flex;
  align-items: flex-start;
  gap: 2.09vw;
}
@media (max-width: 1279px) {
  .footer_navigation {
    gap: var(--20px);
  }
}
.footer_navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer_navigation--title {
  font-size: 1.12vw;
  font-weight: bold;
}
@media (max-width: 1279px) {
  .footer_navigation--title {
    font-size: var(--20px);
  }
}
.footer_navigation--container:nth-of-type(3) {
  padding-left: 2.5vw;
}
@media (max-width: 1279px) {
  .footer_navigation--container:nth-of-type(3) {
    padding-left: var(--48px);
  }
}
.footer_navigation .footer_navigation--list {
  padding-left: 0.94vw;
}
@media (max-width: 1279px) {
  .footer_navigation .footer_navigation--list {
    padding-left: var(--18px);
  }
}
.footer_navigation--item {
  padding: 0.94vw 0 0;
  font-size: 0.73vw;
}
@media (max-width: 1279px) {
  .footer_navigation--item {
    padding: var(--18px) 0 0;
    font-size: var(--14px);
  }
}
.footer_navigation--item li {
  padding-left: 0.73vw;
}
@media (max-width: 1279px) {
  .footer_navigation--item li {
    padding-left: var(--14px);
  }
}
.copyright {
  border-top: 1px solid var(--gray);
}
.copyright p {
  margin: 0;
  padding: 1.46vw 0;
  text-align: center;
}
@media (max-width: 1279px) {
  .copyright p {
    padding: var(--28px) 0;
  }
}
@media (max-width: 1279px) {
  .footer_navigation--list {
    grid-template-columns: repeat(3, 1fr);
  }
}

section+section {
  margin: 2.09vw 0 0 0;
}
@media (max-width: 1279px) {
  section+section {
    margin: var(--40px) 0 0 0;
  }
}

summary {
  display: flex;
  align-items: center;
}
summary::-webkit-details-marker {
  display: none;
}
summary:hover {
  cursor: pointer;
}

.h1--wrap {
  margin: 0;
  min-height: 9.38vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1279px) {
  .h1--wrap {
    min-height: var(--180px);
  }
}

.h1--wrap h1 {
  margin: 0;
}

.h2--wrap {
  margin: 0 0 1.46vw;
  padding: 1.46vw;
  min-height: 9.38vw;
  background: var(--black);
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1279px) {
  .h2--wrap {
    margin: 0 0 var(--28px);
    padding: var(--28px);
    min-height: var(--180px);
  }
}
.h2--wrap:has(img) {
  background: var(--white);
}
hgroup:has(h2) {
  margin: 1.2vw auto;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1279px) {
  hgroup:has(h2) {
    margin: var(--24px) auto;
  }
}
hgroup h2 {
  margin: 0 auto;
  font-size: 1.2vw;
}
@media (max-width: 1279px) {
  hgroup h2 {
    font-size: var(--24px);
  }
}
hgroup h2 + p {
  margin: 0 auto;
  font-size: 0.73vw;
}
@media (max-width: 1279px) {
  hgroup h2 + p {
    font-size: var(--14px);
  }
}

a {
  color: var(--black);
  text-decoration: none;
  transition: all 0.3s ease;
}
a:hover,
a:focus {
  color: var(--sky-blue);
  text-decoration: none;
  transition: all 0.3s ease;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a:hover img,
a:focus img{
  opacity: 0.8;
  transition: all 0.3s ease;
}

.pcbr {
  display: block;
}
@media (max-width: 1279px) {
  .pcbr {
    display: none;
  }
}
.spbr {
  display: none;
}
@media (max-width: 1279px) {
  .spbr {
    display: block;
  }
}

form.search--form {
  margin: 0;
}

.field {
  display: flex;
  align-items: center;
  gap: 0.42vw;
}
@media (max-width: 1279px) {
  .field {
    gap: var(--8px);
  }
}
.field input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.field .text {
  padding: 0.42vw;
  max-width: 100%;
  height: 0.94vw;
  border: 1px solid var(--black);
  border-radius: 0.42vw;
  color: var(--black);
  line-height: 1.2;
}
@media (max-width: 1279px) {
  .field .text {
    padding: var(--8px);
    height: var(--18px);
    border-radius: var(--8px);
  }
}

.search--field {
  justify-content: center;
}
.search--field .text {
  padding: 0.42vw;
  min-width: 25vw;
}
@media (max-width: 1279px) {
  .search--field .text {
    padding: var(--8px);
    min-width: var(--480px);
    height: var(--32px);
  }
}
.search--field button {
  padding: 0.42vw;
  min-width: 5.23vw;
}
@media (max-width: 1279px) {
  .search--field button {
    padding: var(--16px);
    min-width: var(--100px);
    font-size: var(--24px);
  }
}

select {
  padding: 0.209vw 0.42vw;
  height: auto;
  font-size: 0.94vw;
  line-height: normal;
}
@media (max-width: 1279px) {
  select {
    padding: 4px 8px;
    font-size: var(--18px);
  }
}

/* アイコン ========================================================= */
.icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.icon::after {
  margin-left: 0.209vw;
  width: 0.94vw;
  aspect-ratio: 1 / 1;
  background-color: currentColor;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (max-width: 1279px) {
  .icon::after {
    margin-left: var(--4px);
    width: var(--18px);
  }
}
.icon--only {
  margin-left: 0;
  font-size: 0;
}

/* 外部リンク */
.icon--external_link::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M10 6V8H5V19H16V14H18V20C18 20.5523 17.5523 21 17 21H4C3.44772 21 3 20.5523 3 20V7C3 6.44772 3.44772 6 4 6H10ZM21 3V11H19L18.9999 6.413L11.2071 14.2071L9.79289 12.7929L17.5849 5H13V3H21Z'%3E%3C/path%3E%3C/svg%3E");
}

/* Instagram */
.icon--instagram {
  padding: 1px;
  width: 2.09vw;
  aspect-ratio: 1 / 1;
  background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.icon--instagram::after {
  margin: 0;
  width: 1.46vw;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12.001 9C10.3436 9 9.00098 10.3431 9.00098 12C9.00098 13.6573 10.3441 15 12.001 15C13.6583 15 15.001 13.6569 15.001 12C15.001 10.3427 13.6579 9 12.001 9ZM12.001 7C14.7614 7 17.001 9.2371 17.001 12C17.001 14.7605 14.7639 17 12.001 17C9.24051 17 7.00098 14.7629 7.00098 12C7.00098 9.23953 9.23808 7 12.001 7ZM18.501 6.74915C18.501 7.43926 17.9402 7.99917 17.251 7.99917C16.5609 7.99917 16.001 7.4384 16.001 6.74915C16.001 6.0599 16.5617 5.5 17.251 5.5C17.9393 5.49913 18.501 6.0599 18.501 6.74915ZM12.001 4C9.5265 4 9.12318 4.00655 7.97227 4.0578C7.18815 4.09461 6.66253 4.20007 6.17416 4.38967C5.74016 4.55799 5.42709 4.75898 5.09352 5.09255C4.75867 5.4274 4.55804 5.73963 4.3904 6.17383C4.20036 6.66332 4.09493 7.18811 4.05878 7.97115C4.00703 9.0752 4.00098 9.46105 4.00098 12C4.00098 14.4745 4.00753 14.8778 4.05877 16.0286C4.0956 16.8124 4.2012 17.3388 4.39034 17.826C4.5591 18.2606 4.7605 18.5744 5.09246 18.9064C5.42863 19.2421 5.74179 19.4434 6.17187 19.6094C6.66619 19.8005 7.19148 19.9061 7.97212 19.9422C9.07618 19.9939 9.46203 20 12.001 20C14.4755 20 14.8788 19.9934 16.0296 19.9422C16.8117 19.9055 17.3385 19.7996 17.827 19.6106C18.2604 19.4423 18.5752 19.2402 18.9074 18.9085C19.2436 18.5718 19.4445 18.2594 19.6107 17.8283C19.8013 17.3358 19.9071 16.8098 19.9432 16.0289C19.9949 14.9248 20.001 14.5389 20.001 12C20.001 9.52552 19.9944 9.12221 19.9432 7.97137C19.9064 7.18906 19.8005 6.66149 19.6113 6.17318C19.4434 5.74038 19.2417 5.42635 18.9084 5.09255C18.573 4.75715 18.2616 4.55693 17.8271 4.38942C17.338 4.19954 16.8124 4.09396 16.0298 4.05781C14.9258 4.00605 14.5399 4 12.001 4ZM12.001 2C14.7176 2 15.0568 2.01 16.1235 2.06C17.1876 2.10917 17.9135 2.2775 18.551 2.525C19.2101 2.77917 19.7668 3.1225 20.3226 3.67833C20.8776 4.23417 21.221 4.7925 21.476 5.45C21.7226 6.08667 21.891 6.81333 21.941 7.8775C21.9885 8.94417 22.001 9.28333 22.001 12C22.001 14.7167 21.991 15.0558 21.941 16.1225C21.8918 17.1867 21.7226 17.9125 21.476 18.55C21.2218 19.2092 20.8776 19.7658 20.3226 20.3217C19.7668 20.8767 19.2076 21.22 18.551 21.475C17.9135 21.7217 17.1876 21.89 16.1235 21.94C15.0568 21.9875 14.7176 22 12.001 22C9.28431 22 8.94514 21.99 7.87848 21.94C6.81431 21.8908 6.08931 21.7217 5.45098 21.475C4.79264 21.2208 4.23514 20.8767 3.67931 20.3217C3.12348 19.7658 2.78098 19.2067 2.52598 18.55C2.27848 17.9125 2.11098 17.1867 2.06098 16.1225C2.01348 15.0558 2.00098 14.7167 2.00098 12C2.00098 9.28333 2.01098 8.94417 2.06098 7.8775C2.11014 6.8125 2.27848 6.0875 2.52598 5.45C2.78014 4.79167 3.12348 4.23417 3.67931 3.67833C4.23514 3.1225 4.79348 2.78 5.45098 2.525C6.08848 2.2775 6.81348 2.11 7.87848 2.06C8.94514 2.0125 9.28431 2 12.001 2Z'%3E%3C/path%3E%3C/svg%3E");
  background-color: #fff;
}
@media (max-width: 1279px) {
  .icon--instagram {
    width: var(--80px);
  }
  .icon--instagram::after {
    width: var(--56px);
  }
}

/* TikTok */
.icon--tiktok::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M16 8.24537V15.5C16 19.0899 13.0899 22 9.5 22C5.91015 22 3 19.0899 3 15.5C3 11.9101 5.91015 9 9.5 9C10.0163 9 10.5185 9.06019 11 9.17393V12.3368C10.5454 12.1208 10.0368 12 9.5 12C7.567 12 6 13.567 6 15.5C6 17.433 7.567 19 9.5 19C11.433 19 13 17.433 13 15.5V2H16C16 4.76142 18.2386 7 21 7V10C19.1081 10 17.3696 9.34328 16 8.24537Z'%3E%3C/path%3E%3C/svg%3E");
}

/* YouTube */
.icon--youtube::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19.6069 6.99482C19.5307 6.69695 19.3152 6.47221 19.0684 6.40288C18.6299 6.28062 16.501 6 12.001 6C7.50098 6 5.37252 6.28073 4.93225 6.40323C4.68776 6.47123 4.4723 6.69593 4.3951 6.99482C4.2863 7.41923 4.00098 9.19595 4.00098 12C4.00098 14.804 4.2863 16.5808 4.3954 17.0064C4.47126 17.3031 4.68676 17.5278 4.93251 17.5968C5.37252 17.7193 7.50098 18 12.001 18C16.501 18 18.6299 17.7194 19.0697 17.5968C19.3142 17.5288 19.5297 17.3041 19.6069 17.0052C19.7157 16.5808 20.001 14.8 20.001 12C20.001 9.2 19.7157 7.41923 19.6069 6.99482ZM21.5442 6.49818C22.001 8.28 22.001 12 22.001 12C22.001 12 22.001 15.72 21.5442 17.5018C21.2897 18.4873 20.547 19.2618 19.6056 19.5236C17.8971 20 12.001 20 12.001 20C12.001 20 6.10837 20 4.39637 19.5236C3.45146 19.2582 2.70879 18.4836 2.45774 17.5018C2.00098 15.72 2.00098 12 2.00098 12C2.00098 12 2.00098 8.28 2.45774 6.49818C2.71227 5.51273 3.45495 4.73818 4.39637 4.47636C6.10837 4 12.001 4 12.001 4C12.001 4 17.8971 4 19.6056 4.47636C20.5505 4.74182 21.2932 5.51636 21.5442 6.49818ZM10.001 15.5V8.5L16.001 12L10.001 15.5Z'%3E%3C/path%3E%3C/svg%3E");
}

/* 検索 */
.icon--search::after {
  width: 1.26vw;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z'%3E%3C/path%3E%3C/svg%3E");
}
@media (max-width: 1279px) {
  .icon--search::after {
    width: var(--56px);
  }
}

/* アカウント */
.icon--user::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M4 22C4 17.5817 7.58172 14 12 14C16.4183 14 20 17.5817 20 22H18C18 18.6863 15.3137 16 12 16C8.68629 16 6 18.6863 6 22H4ZM12 13C8.685 13 6 10.315 6 7C6 3.685 8.685 1 12 1C15.315 1 18 3.685 18 7C18 10.315 15.315 13 12 13ZM12 11C14.21 11 16 9.21 16 7C16 4.79 14.21 3 12 3C9.79 3 8 4.79 8 7C8 9.21 9.79 11 12 11Z'%3E%3C/path%3E%3C/svg%3E");
}

/* ショッピングカート */
.global_navigation .global_navigation--item:has(.icon--cart) a {
  align-items: flex-start;
}
.icon--cart {
	display: flex;
}
.icon--cart::after {
  width: 1.26vw;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M4.00436 6.41686L0.761719 3.17422L2.17593 1.76001L5.41857 5.00265H20.6603C21.2126 5.00265 21.6603 5.45037 21.6603 6.00265C21.6603 6.09997 21.6461 6.19678 21.6182 6.29L19.2182 14.29C19.0913 14.713 18.7019 15.0027 18.2603 15.0027H6.00436V17.0027H17.0044V19.0027H5.00436C4.45207 19.0027 4.00436 18.5549 4.00436 18.0027V6.41686ZM6.00436 7.00265V13.0027H17.5163L19.3163 7.00265H6.00436ZM5.50436 23.0027C4.67593 23.0027 4.00436 22.3311 4.00436 21.5027C4.00436 20.6742 4.67593 20.0027 5.50436 20.0027C6.33279 20.0027 7.00436 20.6742 7.00436 21.5027C7.00436 22.3311 6.33279 23.0027 5.50436 23.0027ZM17.5044 23.0027C16.6759 23.0027 16.0044 22.3311 16.0044 21.5027C16.0044 20.6742 16.6759 20.0027 17.5044 20.0027C18.3328 20.0027 19.0044 20.6742 19.0044 21.5027C19.0044 22.3311 18.3328 23.0027 17.5044 23.0027Z'%3E%3C/path%3E%3C/svg%3E");
}
@media (max-width: 1279px) {
  .icon--cart::after {
    width: var(--56px);
  }
}
.icon--cart:has(.cart_count)::after {
  order: -1;
}
.cart_count {
  width: 0.8vw;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #ff5757;
  color: var(--white);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 0.52vw;
}
@media (max-width: 1279px) {
  .cart_count {
    width: var(--32px);
    font-size: var(--24px);
  }
}

/* お問い合わせ（メール） */
.icon--mail::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM20 7.23792L12.0718 14.338L4 7.21594V19H20V7.23792ZM4.51146 5L12.0619 11.662L19.501 5H4.51146Z'%3E%3C/path%3E%3C/svg%3E");
}

/* 矢印（右） */
.icon--arrow_right::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z'%3E%3C/path%3E%3C/svg%3E");
}

/* トップ */
.icon--home::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20 20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20Z'%3E%3C/path%3E%3C/svg%3E");
}
/* ================================================================= */

/* ボタン ========================================================== */
.button {
  margin: 1.2vw auto 2.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
}
@media (max-width: 1279px) {
  .button {
    margin: var(--24px) auto var(--48px);
  }
}
.button a,
button {
  margin: 0;
  padding: 0.63vw;
  min-width: 9.38vw;
  background: var(--sky-blue);
  border: solid 1px var(--sky-blue);
  border-radius: 0.42vw;
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
}
@media (max-width: 1279px) {
  .button a,
  button {
    padding: var(--12px);
    min-width: var(--180px);
    border-radius: var(--8px);
    gap: 0;
  }
}
.button a:hover,
.button a:focus,
button:hover,
button:focus {
  opacity: 0.8;
}
/* ================================================================= */

/* ナビゲーション ================================================== */
.global_navigation {
  display: flex;
  flex-flow: column wrap;
  font-size: 1vw;
}
header:has(.icon_only--wrap) .global_navigation {
  width: 100%;
}
@media (max-width: 1279px) {
  .global_navigation {
    width: 100%;
    font-size: 2.4rem;
  }
}
.global_navigation ul {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  list-style: none;
}
.global_navigation a {
  color: var(--black);
}
.global_navigation a:hover,
.global_navigation a:focus {
  color: var(--sky-blue);
  text-decoration: none;
  transition: all 0.3s ease;
}

/* 外部リンクリスト */
.global_navigation .external_link--list {
  justify-content: flex-end;
  gap: 0.835vw;
}
@media (max-width: 1279px) {
  .global_navigation .external_link--list {
    justify-content: flex-end;
    gap: var(--16px);
  }
}
.global_navigation .external_link--item {
  display: inline-flex;
  align-items: center;
}

/* グローバルナビゲーション */
.global_navigation .global_navigation--list {
  align-items: center;
  gap: 0.835vw;
}
header:has(.icon_only--wrap) .global_navigation .global_navigation--list {
  justify-content: flex-end;
}
@media (max-width: 1279px) {
  .global_navigation .global_navigation--list {
    justify-content: flex-end;
    gap: var(--16px);
  }
}
.global_navigation .global_navigation--item {
  display: inline-flex;
  align-items: center;
}

/* メガメニュー */
.mega_menu {
  position: static;
}
.mega_menu .title--only::before,
.mega_menu .title--only::after {
  display: none;
}
.mega_menu--title:hover,
.mega_menu--title:focus {
  color: var(--sky-blue);
  text-decoration: none;
  transition: all 0.3s ease;
}
.mega_menu--title::after {
  width: 0.835vw;
  aspect-ratio: 1 / 1;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z'%3E%3C/path%3E%3C/svg%3E");
  background-color: var(--black);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (max-width: 1279px) {
  .mega_menu--title::after {
    width: var(--32px);
  }
}
.mega_menu[open] .mega_menu--title::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11.9999 10.8284L7.0502 15.7782L5.63599 14.364L11.9999 8L18.3639 14.364L16.9497 15.7782L11.9999 10.8284Z'%3E%3C/path%3E%3C/svg%3E");
}
.mega_menu--title:hover::after,
.mega_menu--title:focus::after {
  background-color: var(--sky-blue);
  text-decoration: none;
  transition: all 0.3s ease;
}
.mega_menu--content {
  width: 100%;
  max-height: calc(100vh - var(--header-bottom-position-desktop, 20rem) - 4rem);
  background-color: var(--white);
  opacity: 0;
  position: absolute;
  right: 0;
  top: 100%;
  left: 0;
  transform: translateY(-0.835vw);
  font-size: 0.9vw;
}
@media (max-width: 1279px) {
  .mega_menu--content {
    transform: translateY(-16px);
    font-size: var(--32px);
  }
}
.mega_menu[open] .mega_menu--content {
  padding: 1.12vw 0;
  border-top: 3px solid var(--gray);
  border-bottom: 3px solid var(--gray);
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 1279px) {
  .mega_menu[open] .mega_menu--content {
    padding: var(--20px) 0;
  }
}
.mega_menu--content .mega_menu--list {
  margin: 0 auto;
  max-width: var(--page-width);
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.63vw 2.09vw;
}
@media (max-width: 1279px) {
  .mega_menu--content .mega_menu--list {
    padding: var(--4px);
    gap: var(--12px) var(--40px);
    text-align: center;
  }
}

/* パンくずリスト */
.breadcrumb--wrap {
  margin: 0 auto 0.94vw;
  width: 100vw;
  display: grid;
  grid-template-columns: 2fr 3fr 9fr 2fr;
  gap: 2.09vw;
}
@media (max-width: 1279px) {
  .breadcrumb--wrap {
    margin: 0 auto var(--18px);
    width: 90vw;
    grid-template-columns: 1fr;
    gap: var(--40px);
  }
}
.breadcrumb {
  grid-column: 2 / 4;
}
.breadcrumb--wrap:has(.h1--wrap) .breadcrumb,
.breadcrumb--wrap:has(.archive_kv) .breadcrumb {
  grid-column: 2 / 3;
}
@media (max-width: 1279px) {
  .breadcrumb {
    grid-column: 1 / 2;
  }
  .breadcrumb--wrap:has(.h1--wrap) .breadcrumb,
  .breadcrumb--wrap:has(.archive_kv) .breadcrumb {
    grid-column: 1 / 2;
  }
}
.breadcrumb ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: wrap;
  align-items: center;
  gap: 0.42vw;
  list-style: none;
}
@media (max-width: 1279px) {
  .breadcrumb ul {
    gap: var(--8px);
  }
}
.breadcrumb li {
    display: inline-flex;
    align-items: center;
}
.breadcrumb li:last-of-type {
  pointer-events: none;
}
.breadcrumb li:not(:last-of-type)::after {
  margin-left: 0.209vw;
  width: 0.94vw;
  aspect-ratio: 1 / 1;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z'%3E%3C/path%3E%3C/svg%3E");
  background-color: currentColor;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (max-width: 1279px) {
  .breadcrumb li:not(:last-of-type)::after {
    margin-left: var(--4px);
    width: var(--18px);
  }
}

/* ページネーション */
.pagination .pagination--list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.63vw;
}
@media (max-width: 1279px) {
  .pagination .pagination--list {
    gap: var(--12px);
  }
}
.pagination .pagination--list a,
.pagination .pagination--list span {
  padding: 0;
  float: none;
}
.pagination .pagination--list a {
  transition: all 0.3s ease;
}
.pagination--number {
  width: 2.09vw;
  aspect-ratio: 1 / 1;
  background: var(--white);
  border: 1px solid var(--sky-blue);
  border-radius: 50%;
  color: var(--sky-blue);
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1279px) {
  .pagination--number {
    width: var(--40px);
  }
}
/* ================================================================= */

/* 商品一覧 ======================================================== */
.product--list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.09vw 1.2vw;
}
@media (max-width: 1279px) {
  .product--list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--40px) var(--24px);
  }
}
.product--item {
  border: 1px solid var(--black);
  border-radius: 1.2vw;
  overflow: hidden;
}
@media (max-width: 1279px) {
  .product--item {
    border-radius: var(--24px);
  }
}
.product--item a {
  height: 100%;
  display: block;
  position: relative;
}
.product--item .icon--new,
.product--item .icon--yoyaku {
  margin: 0;
  padding: 0.42vw;
  width: 8vw;
  height: 1vw;
  background-color: var(--sky-blue);
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 1vw;
  left: -2.5vw;
  transform: rotate(-45deg);
  z-index: 2;
  text-align: center;
}
@media (max-width: 1279px) {
  .product--item .icon--new,
  .product--item .icon--yoyaku {
    padding: var(--8px);
  }
}
.product--item .icon--yoyaku {
  background-color: #3ea745;
}
@media (max-width: 1279px) {
  .product--item .icon--new,
  .product--item .icon--yoyaku {
    width: 160px;
    height: 30px;
    top: 20px;
    left: -40px;
  }
}
.product--image {
  aspect-ratio: 3 / 2;
  background: var(--gray);
}
.product--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product--content {
  padding: 0.835vw;
  display: grid;
  grid-template-rows: 4.3vw 1fr;
  gap: 0.42vw;
  overflow: hidden;
}
@media (max-width: 1279px) {
  .product--content {
    padding: var(--16px);
    grid-template-rows: 3fr 1fr;
    gap: var(--8px);
  }
}
.product--title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}
.product--title p {
  margin: 0;
}
.product--price {
  display: flex;
  justify-content: right;
}
.product--price p {
  margin: 0;
}
/* ================================================================= */

/* よくある質問 ==================================================== */
.faq--list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.faq--item {
  margin: 0.63vw 0;
  padding: 0.63vw 0;
}
@media (max-width: 1279px) {
  .faq--item {
    margin: var(--12px) 0;
    padding: var(--12px) 0;
  }
}
.faq--item .accordion_menu--title {
  border-bottom: 1px solid var(--black);
  display: grid;
  grid-template-columns: min-content 1fr min-content;
}
.faq--item .accordion_menu--title::before {
  content: "Q.";
}
.faq--item .accordion_menu--title::after {
  width: 0.835vw;
  height: 0.835vw;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z'%3E%3C/path%3E%3C/svg%3E");
  background-color: var(--black);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (max-width: 1279px) {
  .faq--item .accordion_menu--title::after {
    width: var(--16px);
    height: var(--16px);
  }
}
.faq--item .accordion_menu[open] .accordion_menu--title::after {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11.9999 10.8284L7.0502 15.7782L5.63599 14.364L11.9999 8L18.3639 14.364L16.9497 15.7782L11.9999 10.8284Z'%3E%3C/path%3E%3C/svg%3E");
}
.faq--item .accordion_menu--content {
  padding: 0.63vw 0 0;
  display: grid;
  grid-template-columns: min-content 1fr;
}
@media (max-width: 1279px) {
  .faq--item .accordion_menu--content {
    padding: var(--12px) 0 0;
  }
}
.faq--item .accordion_menu--content::before {
  content: "A.";
}
/* ================================================================= */

/* お知らせ一覧 ==================================================== */
.news--list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news--item {
  margin: 0.63vw 0;
  padding: 0.63vw 0;
}
@media (max-width: 1279px) {
  .news--item {
    margin: var(--12px) 0;
    padding: var(--12px) 0;
  }
}
.news--item a {
  border-bottom: 1px solid var(--black);
  display: flex;
  align-items: center;
}
.news--item time {
  padding: 0 0.42vw 0 0;
}
@media (max-width: 1279px) {
  .news--item time {
    padding: 0 var(--8px) 0 0;
  }
}
.news--item p {
  margin: 0;
}
/* ================================================================= */

/* container ======================================================= */
.container:has(.sidebar) {
  display: grid;
  grid-template-columns: 2fr 3fr 9fr 2fr;
  gap: 2.09vw;
}
@media (max-width: 1279px) {
  .container:has(.sidebar) {
    gap: var(--40px);
  }
}
.container {
  margin: 0 auto;
  width: 100vw;
}

@media (max-width: 1279px) {
  .container:has(.sidebar) {
    grid-template-columns: 1fr;
  }
  .container {
    width: 90vw;
  }
}
/* ================================================================= */

/* sidebar ========================================================= */
.sidebar {
  grid-column: 2 / 3;
}
@media (max-width: 1279px) {
  .sidebar {
    grid-column: 1 / 2;
    display: flex;
    flex-flow: wrap;
  }
  .sidebar section+section {
    margin: var(--40px) auto 0;
    width: 45%;
  }
}

/* 「○○から探す」リスト */
.sidebar .search--list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar .search--item {
  padding: 0.63vw 0;
  border-bottom: 1px solid var(--black);
}
@media (max-width: 1279px) {
  .sidebar .search--item {
    padding: var(--12px) 0;
  }
}

.sidebar .search--item:nth-of-type(1) {
  margin: 0.63vw 0 0;
  border-top: 2px solid var(--black);
}
@media (max-width: 1279px) {
  .sidebar .search--item:nth-of-type(1) {
    margin: var(--12px) 0 0;
  }
}

.sidebar .search--item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--black);
}

.sidebar .search--item a:hover,
.sidebar .search--item a:focus {
  color: var(--sky-blue);
  text-decoration: none;
  transition: all 0.3s ease;
}

/* バナーエリア ===================================================== */
@media (max-width: 1279px) {
  .banner--area {
    width: 100%;
    display: flex;
    gap: var(--40px);
    overflow: auto hidden;
  }
}

.banner {
  margin: 0 auto 1.2vw;
  width: 100%;
  height: 100%;
  aspect-ratio: 2 / 1;
}
@media (max-width: 1279px) {
  .banner {
    flex-shrink: 1;
    margin: 0 auto var(--24px);
    width: 45%;
    min-width: 45%;
    aspect-ratio: 7 / 3;
  }
}

.banner a,
.banner img {
  width: 100%;
  height: 100%;
  aspect-ratio: 2 / 1;
  display: block;
  object-fit: cover;
}
/* ================================================================= */

/* スライダー ======================================================= */
.kv--container {
  width: 100vw;
  display: grid;
  grid-template-columns: 2fr 3fr 9fr 2fr;
  gap: 2.09vw;
}
@media (max-width: 1279px) {
  .kv--container {
    margin: 0 auto;
    width: 90vw;
    display: block;
    gap: var(--40px);
  }
}
.kv--container .slick-slider {
  grid-column: 2 / 4;
  margin: 0 auto 30px;
  width: 100%;
}
@media (max-width: 1279px) {
  .kv--container .slick-slider {
    grid-column: 1 / 2;
  }
}
.kv .slick-slide {
  margin: 0 1.12vw!important;
  aspect-ratio: 11 / 5;
}
@media (max-width: 1279px) {
  .kv .slick-slide {
    margin: 0 20px!important;
  }
}
.kv .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kv .slick-dots li button:before {
  font-size: 0.73vw;
}
@media (max-width: 1279px) {
  .kv .slick-dots li button:before {
    font-size: var(--14px);
  }
}
/* ================================================================= */

/* メインコンテンツ ================================================ */
#mainContents {
  grid-column: 2 / 4!important;
}
.sidebar+#mainContents {
  grid-column: 3 / 4!important;
}
@media (max-width: 1279px) {
  #mainContents {
    grid-column: 1 / 2!important;
    order: -1;
  }
  .sidebar+#mainContents {
    grid-column: 1 / 2!important;
  }
}
/* ================================================================= */

.heading {
  margin: 0 0 0.835vw 0;
  padding-bottom: 0.42vw;
  border-bottom: 1px solid #333;
  font-size: 1.2vw;
}
@media (max-width: 1279px) {
  .heading {
    margin: 0 0 var(--16px) 0;
    padding-bottom: var(--8px);
    font-size: var(--24px);
  }
}
.skpr_box:not(:first-of-type) .heading {
  margin: 1.46vw 0 0.835vw 0;
}
@media (max-width: 1279px) {
  .skpr_box:not(:first-of-type) .heading {
    margin: var(--28px) 0 var(--16px) 0;
  }
}
.skpr_detail_list_dt:first-child {
  padding: 0 0 5px;
}
.skpr_detail_lists {
  line-height: 1.2vw;
}
@media (max-width: 1279px) {
  .skpr_detail_lists {
    line-height: var(--24px);
  }
}
.skpr_detail_list_dt {
  padding: 1.12vw 0 0.209vw;
}
@media (max-width: 1279px) {
  .skpr_detail_list_dt {
    padding: 20px 0 4px;
  }
}
.skpr_detail_list_dd {
  margin: 0;
}

/* 下層ページ ====================================================== */
.sub_page_main #mainContents {
  display: block;
}

@media (max-width: 1279px) {
  .sub_page_main .container {
    width: 90vw;
  }
}

.sub_page--heading {
  margin: 0 0 3.335vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1279px) {
  .sub_page--heading {
    margin: 0 0 var(--64px);
  }
}
.sub_page--heading::after {
  width: 10rem;
  aspect-ratio: 2 / 1;
  background-image: url("https://img21.shop-pro.jp/PA01511/881/etc_base64/bG9nb1-lpKXppbmlyKTOpN8.png?cmsp_timestamp=20250326085737");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  content: "";
}
.sub_page--heading h1 {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.42vw;
  letter-spacing: 0.209vw;
}
@media (max-width: 1279px) {
  .sub_page--heading h1 {
    gap: var(--8px);
    letter-spacing: 4px;
  }
}
.sub_page--heading h1 span {
  width: 3.335vw;
  aspect-ratio: 1 / 1;
  position: relative;
  font-size: 3.335vw;
  line-height: 1;
}
@media (max-width: 1279px) {
  .sub_page--heading h1 span {
    width: var(--64px);
    font-size: var(--64px);
  }
}
.sub_page--heading h1 span::before {
  width: 110%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  content: "";
}
.sub_page--heading h1 span:nth-of-type(4n-3)::before {
  background-color: #e0915e66;
}
.sub_page--heading h1 span:nth-of-type(4n-2)::before {
  background-color: #42a84866;
}
.sub_page--heading h1 span:nth-of-type(4n-1)::before {
  background-color: #ffbd5966;
}
.sub_page--heading h1 span:nth-of-type(4n)::before {
  background-color: #5ce1e666;
}
.sub_page--heading h1 span:nth-of-type(2n-1)::before {
  transform: translate(-50%, -35%);
}
.sub_page--heading h1 span:nth-of-type(2n)::before {
  transform: translate(-50%, -65%);
}
/* ================================================================= */